# TK_User_Index

## Functions

| `TK_User_Index`
| `~TK_User_Index`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
`TK_Status` | `ReadAscii`
`TK_Status` | `WriteAscii`
void | `Reset`
void | `SetIndices`
void | `SetIndices`
int | `GetCount`
int const * | `GetIndices`
int * | `GetIndices`
long const * | `GetValues`
long * | `GetValues`

## Detailed Description

class TK_User_Index : public BBaseOpcodeHandler

  Handles the TKE_User_Index opcode.

  TK_User_Index provides support for writing/reading the TKE_User_Index opcode object to/from an HSF file.

  The HOOPS/3dGS scene-graph supports storing non-graphical data per segment. A user-index is an index into a list of user options.

  Subclassed by HTK_User_Index

  Public Functions

  inline TK_User_Index()

    constructor

  ~TK_User_Index()
  virtual TK_Status Read(BStreamFileToolkit &tk)

    Reads data from the toolkit buffer, decodes/decompresses it, and maps it to the opcode handlers data members. User-defined classes which need to write out custom data should utilize one of the available GetData() methods.

    Parameters

      tk – A reference to the BStreamFileToolkit object.

    Returns

      The result of the function call.

  virtual TK_Status Write(BStreamFileToolkit &tk)

    Encodes/compresses data and writes data to the toolkit buffer. User-defined classes which need to write out custom data should utilize one of the available PutData() methods, and first write out the opcode associated with the group of binary data followed by the data itself.

    Parameters

      tk – A reference to the BStreamFileToolkit object.

    Returns

      The result of the function call.

  virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const

    Copies the opcode handler

    Parameters

      - tk – A reference to the BStreamFileToolkit object.

      - handler – A pointer to the opcode handler object. Passed by reference.

    Returns

      The result of the function call.

  TK_Status ReadAscii(BStreamFileToolkit &tk)

    Deprecated.

  TK_Status WriteAscii(BStreamFileToolkit &tk)

    Deprecated.

  virtual void Reset()

    Resets the current opcode handler. This is called by the toolkit when it is done processing an opcode. This method reinitializes any opcode handler variables and frees up temporary data.

  inline void SetIndices(int count, int const indices[], long const values[])

    Sets the index-value pairs. Allocates buffers and copies the indices and values

  inline void SetIndices(int count)

    Sets the index-value pair buffers. Allocates buffers which can hold ‘count’ index-value pairs

  inline int GetCount() const

    Returns the current size of the buffers as the number of index-value pairs they can contain

  inline int const *GetIndices() const

    Returns the index array

  inline int *GetIndices()

    Returns the index array buffer, which may be modified directly

  inline long const *GetValues() const

    Returns the value array

  inline long *GetValues()

    Returns the value array buffer, which may be modified directly