TK_Material

Functions

TK_Material

~TK_Material

TK_Status

Read

TK_Status

Write

TK_Status

Clone

void

Reset

TK_Status

PushUserData

TK_Status

GetBlock

Detailed Description

class TK_Material : public BBaseOpcodeHandler

Handles the TKE_Material opcode.

To ensure that user data will be gracefully handled (skipped-over) by non-custom handlers (meaning, an application that is using the default toolkit and doesn’t understand the custom user data), custom user data must be written out by exporting the following elements in order:

1.  the TKE_Material opcode
2.  the number of bytes of data that will follow
3.  the contents of the material
The default implementation simply skips over these opcodes without any further processing.

Public Functions

inline TK_Material()

constructor

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

TK_Status PushUserData(char const *buffer, int buffer_size, bool tally_total_size = true)
TK_Status GetBlock(char const **ptr, int *buffer_size)