Handles the TKE_Open_Segment opcode. More...
#include <BOpcodeHandler.h>
Public Member Functions | |
TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
char const * | GetSegment () const |
char * | GetSegment () |
TK_Status | Read (BStreamFileToolkit &tk) |
TK_Status | ReadAscii (BStreamFileToolkit &tk) |
Deprecated. | |
void | Reset () |
void | SetSegment (char const *segment) |
void | SetSegment (int length) |
TK_Open_Segment () | |
TK_Status | Write (BStreamFileToolkit &tk) |
TK_Status | WriteAscii (BStreamFileToolkit &tk) |
Deprecated. | |
Protected Member Functions | |
void | set_segment (char const *segment) |
internal use | |
void | set_segment (int length) |
internal use | |
Protected Attributes | |
int | m_allocated |
int | m_length |
char * | m_string |
Handles the TKE_Open_Segment opcode.
TK_Open_Segment provides support for writing/reading the TKE_Open_Segment opcode object to/from an HSF file.
The nodes in the HOOPS/3dGS scene-graph are called 'segments' which store, geometry, attributes, and subsegments. After a HOOPS segment is open, geometry which should reside in that segment should be exported. Similarly, any attributes which need to affect the geometry in that segment should be exported.
This should be matched with a TKE_Close_Segment opcode object.
TK_Open_Segment::TK_Open_Segment | ( | ) | [inline] |
constructor
TK_Status TK_Open_Segment::Clone | ( | BStreamFileToolkit & | tk, |
BBaseOpcodeHandler ** | handler | ||
) | const [virtual] |
Copies the opcode handler
tk | A reference to the BStreamFileToolkit object. |
handler | A pointer to the opcode handler object. Passed by reference. |
Reimplemented from BBaseOpcodeHandler.
char const* TK_Open_Segment::GetSegment | ( | ) | const [inline] |
Get the segment name. Returns a pointer to the current segment name
char* TK_Open_Segment::GetSegment | ( | ) | [inline] |
Get the segment name buffer. Returns a pointer to the current segment name buffer which may then be modified directly
TK_Status TK_Open_Segment::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.
tk | A reference to the BStreamFileToolkit object. |
Implements BBaseOpcodeHandler.
void TK_Open_Segment::Reset | ( | ) | [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_Open_Segment::SetSegment | ( | char const * | segment | ) | [inline] |
Set the segment name. Makes sure the buffer is big enough to hold the segment name, and copies it in
void TK_Open_Segment::SetSegment | ( | int | length | ) | [inline] |
Set the segment name. Makes sure the buffer is big enough to hold a string of 'length' characters
TK_Status TK_Open_Segment::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.
tk | A reference to the BStreamFileToolkit object. |
Implements BBaseOpcodeHandler.
int TK_Open_Segment::m_allocated [protected] |
Size of currently available string buffer
int TK_Open_Segment::m_length [protected] |
Length of segment string name
char* TK_Open_Segment::m_string [protected] |
Segment name