Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

HTK_PolyPolypoint Class Reference

Provides HOOPS/3dGS-specific handling of the TKE_Polyline and TKE_Line opcodes. More...

#include <HPolyPoly.h>

List of all members.

Public Member Functions

TK_Status Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
TK_Status Execute (BStreamFileToolkit &tk) alter
 HTK_PolyPolypoint (unsigned char op)
TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, int variant=-1) alter
TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, char const *special) alter
void Reset () alter

Protected Attributes

HC_KEYm_keys
 list of entities keys

Detailed Description

Provides HOOPS/3dGS-specific handling of the TKE_Polyline and TKE_Line 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.

The Interpret phase of this opcode is a little unusual. Since we are dealing with multiple primitives, instead of just one, Interpret operates on all of the geometry in the currently open segment, rather than what is specified as part of its "key" parameter. The "key" that is currently passed into interpret refers to the first line or polyline that was encountered by the segment tree traversal, but we need to get all of the lines and polylines in the segment.

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_PolyPolypoint::HTK_PolyPolypoint ( unsigned char  op) [inline]

constructor


Member Function Documentation

TK_Status HTK_PolyPolypoint::Clone ( BStreamFileToolkit tk,
BBaseOpcodeHandler **  handler 
) const [virtual]

Copies the opcode handler

Parameters:
tkA reference to the BStreamFileToolkit object.
handlerA pointer to the opcode handler object. Passed by reference.
Returns:
The result of the function call.

Reimplemented from TK_PolyPolypoint.

TK_Status HTK_PolyPolypoint::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:
tkA reference to the BStreamFileToolkit object.
Returns:
The result of the function call.

Reimplemented from TK_PolyPolypoint.

TK_Status HTK_PolyPolypoint::Interpret ( BStreamFileToolkit tk,
ID_Key  key,
int  variant = -1 
) [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:
tkA reference to the BStreamFileToolkit object.
keyAn identifier to the object (for example, the HOOPS key of a geometry item)
variantoptional specification of an alternate form, such as a Level-of-Detail representation
Returns:
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

TK_Status HTK_PolyPolypoint::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:
tkA reference to the BStreamFileToolkit object.
keyAn identifier to the object (for example, the HOOPS key of a geometry item)
specialA string value of particular data
Returns:
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

References BBaseOpcodeHandler::Interpret().

void HTK_PolyPolypoint::Reset ( ) [inline, 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_PolyPolypoint.

References TK_PolyPolypoint::Reset().


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