Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

HTK_Referenced_Segment Class Reference

Provides HOOPS/3dGS-specific handling of the TKE_Reopen_Segment opcodes. More...

#include <HOpcodeHandler.h>

Inheritance diagram for HTK_Referenced_Segment:

TK_Referenced_Segment BBaseOpcodeHandler BControlledMemoryObject

List of all members.

Public Member Functions

TK_Status Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Execute (BStreamFileToolkit &tk) alter
HC_KEY GetRoot () const
 HTK_Referenced_Segment (char opcode)
TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, char const *special) alter
TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
void Reset () alter
void SetRoot (HC_KEY root) alter
TK_Status Write (BStreamFileToolkit &tk) alter

Protected Attributes

HC_KEY m_root
int mh_stage


Detailed Description

Provides HOOPS/3dGS-specific handling of the TKE_Reopen_Segment opcodes.

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.


Constructor & Destructor Documentation

HTK_Referenced_Segment::HTK_Referenced_Segment ( char  opcode  )  [inline]

constructor


Member Function Documentation

TK_Status HTK_Referenced_Segment::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 TK_Referenced_Segment.

TK_Status HTK_Referenced_Segment::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.

HC_KEY HTK_Referenced_Segment::GetRoot (  )  const [inline]

Returns:
the key of the root segment (see SetRoot)

References HC_KEY.

TK_Status HTK_Referenced_Segment::Interpret ( BStreamFileToolkit tk,
ID_Key  key,
char const *  special 
) [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.

Parameters:
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
Returns:
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

References BBaseOpcodeHandler::Interpret().

TK_Status HTK_Referenced_Segment::Interpret ( BStreamFileToolkit tk,
ID_Key  key,
int  variant = 0 
) [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.

Parameters:
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
Returns:
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

void HTK_Referenced_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 TK_Referenced_Segment.

void HTK_Referenced_Segment::SetRoot ( HC_KEY  root  )  [inline]

Records the top of a segment tree in order to determine whether referenced segment can be a relative reference

Parameters:
root Key of segment at top of tree

TK_Status HTK_Referenced_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.

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

Reimplemented from TK_Referenced_Segment.


Member Data Documentation

HC_KEY HTK_Referenced_Segment::m_root [protected]

root of current tree, to see if referenced can be relative

create a class-specific 'stage' var to avoid confusion with base class 'stage' variable


The documentation for this class was generated from the following file: