TK_User_Data Class Reference

#include <BOpcodeHandler.h>

Inheritance diagram for TK_User_Data:

Inheritance graph
[legend]
Collaboration diagram for TK_User_Data:

Collaboration graph
[legend]
List of all members.

Detailed Description

Handles the TKE_Start_User_Data opcode.

The HOOPS Stream File can contain user-data, which is denoted by TKE_Start_User_Data. TK_User_Data will handle the TKE_Start_User_Data opcode by simply reading the data, and not doing anything with it. Therefore, this class must be overloaded in order to both import (and handle), as well as export user-data.

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_Start_User_Data opcode 2. the number of bytes of user data that will follow 3. the user data itself 4. the TKE_Stop_User_Data_Opcode

See the HOOPS/Stream Programming Guide for more detailed information about how to handle user data and create custom files.

Definition at line 7636 of file BOpcodeHandler.h.

Public Member Functions

 TK_User_Data ()
TK_Status Read (BStreamFileToolkit &tk) alter
TK_Status Write (BStreamFileToolkit &tk) alter
TK_Status Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Execute (BStreamFileToolkit &tk) alter
void Reset (void) alter
void SetUserData (int size, char const *bytes=0) alter
char const * GetUserData (void) const
char alter * GetUserData (void) alter
int GetSize (void) const
void Resize (int size) alter
void SetSize (int size) alter

Protected Member Functions

void set_data (int size, char const *bytes=0) alter
 internal use for internal use only

Protected Attributes

int m_size
char * m_data
int m_buffer_size


Constructor & Destructor Documentation

TK_User_Data::TK_User_Data  )  [inline]
 

constructor

Definition at line 7651 of file BOpcodeHandler.h.


Member Function Documentation

TK_Status TK_User_Data::Clone BStreamFileToolkit tk,
BBaseOpcodeHandler **  handler
const [virtual]
 

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.

Reimplemented from BBaseOpcodeHandler.

TK_Status TK_User_Data::Execute BStreamFileToolkit tk  )  [virtual]
 

Processes the binary data that has been read for the current object, which involves passing the data to application-specific data structures.

Parameters:
tk A reference to the BStreamFileToolkit object.
Returns:
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

int TK_User_Data::GetSize void   )  const [inline]
 

Returns the size of the data buffer

Definition at line 7675 of file BOpcodeHandler.h.

char alter* TK_User_Data::GetUserData void   )  [inline]
 

Returns the address of the data buffer, which may be modified directly

Definition at line 7673 of file BOpcodeHandler.h.

char const* TK_User_Data::GetUserData void   )  const [inline]
 

Returns the address of the data buffer

Definition at line 7671 of file BOpcodeHandler.h.

TK_Status TK_User_Data::Read BStreamFileToolkit tk  )  [virtual]
 

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.

Implements BBaseOpcodeHandler.

void TK_User_Data::Reset void   )  [virtual]
 

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.

Reimplemented from BBaseOpcodeHandler.

void TK_User_Data::Resize int  size  ) 
 

Change the size of the data buffer

void TK_User_Data::SetSize int  size  ) 
 

Sets the size of the data buffer.

void TK_User_Data::SetUserData int  size,
char const *  bytes = 0
[inline]
 

Sets the data buffer. Allocates a buffer which can hold 'size' bytes and, if specified, copies 'bytes' into the buffer

Definition at line 7669 of file BOpcodeHandler.h.

TK_Status TK_User_Data::Write BStreamFileToolkit tk  )  [virtual]
 

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.

Implements BBaseOpcodeHandler.


Member Data Documentation

int TK_User_Data::m_buffer_size [protected]
 

internal use; Real m_data size

Definition at line 7644 of file BOpcodeHandler.h.

char* TK_User_Data::m_data [protected]
 

internal use; User data

Definition at line 7643 of file BOpcodeHandler.h.

int TK_User_Data::m_size [protected]
 

internal use; Number of bytes of user data

Definition at line 7642 of file BOpcodeHandler.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 6 22:41:48 2009 for Autodesk DWF 3D Toolkit by  doxygen 1.4.5