Provides HOOPS/3dGS-specific handling of the TKE_Named_Style_Defs. More...
#include <HOpcodeHandler.h>
Public Member Functions | |
TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
TK_Status | Execute (BStreamFileToolkit &tk) |
HC_KEY | GetRoot () const |
HTK_Named_Style_Def () | |
TK_Status | Interpret (BStreamFileToolkit &tk, ID_Key key, int variant=0) |
TK_Status | Interpret (BStreamFileToolkit &tk, ID_Key key, char const *special) |
void | Reset () |
void | SetRoot (HC_KEY root) |
TK_Status | Write (BStreamFileToolkit &tk) |
Protected Attributes | |
HC_KEY | m_key |
segment key | |
HC_KEY | m_root |
int | mh_stage |
Provides HOOPS/3dGS-specific handling of the TKE_Named_Style_Defs.
This class complements the read/write functionality implemented in the base class by overloading the Interpret and Execute methods to provide HOOPS/3dGS-specific opcode handling.
Writing: The HOOPS/3dGS database is queried in the Interpret method, and this data is then written to the HSF file by the Write method Reading: The data is read from the HSF file by the Read method, and is mapped to the HOOPS/3dGS scene-graph within the Execute method.
Export/import of additional user-data (which is associated with this HSF object) would typically be done by overloading the Write and Read methods.
HTK_Named_Style_Def::HTK_Named_Style_Def | ( | ) | [inline] |
constructor
TK_Status HTK_Named_Style_Def::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 TK_Named_Style_Def.
TK_Status HTK_Named_Style_Def::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.
tk | A reference to the BStreamFileToolkit object. |
Reimplemented from BBaseOpcodeHandler.
TK_Status HTK_Named_Style_Def::Interpret | ( | BStreamFileToolkit & | tk, |
ID_Key | key, | ||
int | variant = 0 |
||
) | [inline, virtual] |
Extracts graphics data (typically from the application's scene-graph) and maps it to the opcode handler's data members in preparation for writing out an object to the file.
tk | A reference to the BStreamFileToolkit object. |
key | An identifier to the object (for example, the HOOPS key of a geometry item) |
variant | optional specification of an alternate form, such as a Level-of-Detail representation |
Reimplemented from BBaseOpcodeHandler.
References BBaseOpcodeHandler::Interpret().
TK_Status HTK_Named_Style_Def::Interpret | ( | BStreamFileToolkit & | tk, |
ID_Key | key, | ||
char const * | special | ||
) | [virtual] |
Extracts graphics data (typically from the application's scene-graph) and maps it to the opcode handler's data members in preparation for writing out an object to the file.
tk | A reference to the BStreamFileToolkit object. |
key | An identifier to the object (for example, the HOOPS key of a geometry item) |
special | A string value of particular data |
Reimplemented from BBaseOpcodeHandler.
void HTK_Named_Style_Def::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 TK_Named_Style_Def.
TK_Status HTK_Named_Style_Def::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. |
Reimplemented from TK_Named_Style_Def.
HC_KEY HTK_Named_Style_Def::m_root [protected] |
root of current tree, to see if referenced can be relative
int HTK_Named_Style_Def::mh_stage [protected] |
create a class-specific 'stage' var to avoid confusion with base class 'stage' variable