# TK_User_Index_Data

## Functions

| `TK_User_Index_Data`
| `~TK_User_Index_Data`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
void | `Reset`
void | `SetIndices`
void | `SetIndices`
int | `GetCount`
int const * | `GetIndices`
int * | `GetIndices`
void ** | `GetValues`
void ** | `GetValues`
int const * | `GetSizes`
int * | `GetSizes`

## Detailed Description

class `TK_User_Index_Data` : 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_Data

  Public Functions

  inline `TK_User_Index_Data`()

    constructor

  `~TK_User_Index_Data`()
  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.

  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[], void const *values[], int const sizes[])

    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 void **`GetValues`() const

    Returns the value array

  inline void **`GetValues`()

    Returns the value array buffer, which may be modified directly

  inline int const *`GetSizes`() const

    Returns the sizes array

  inline int *`GetSizes`()

    Returns the sizes array buffer, which may be modified directly

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize 3DF in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize 3DF?
What are the latest release notes for HOOPS Visualize 3DF?
How do I start evaluating HOOPS Visualize 3DF?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...