Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
BBaseOpcodeHandler Class Reference

The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical pieces of HOOPS Stream File information. More...

#include <BOpcodeHandler.h>

List of all members.

Public Member Functions

 BBaseOpcodeHandler (int op)
virtual TK_Status Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
virtual TK_Status Execute (BStreamFileToolkit &tk)
unsigned char General_Flags () const
char const * GetLoggingString () const
char * GetLoggingString ()
virtual TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, int variant=0)
virtual TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, char const *special)
void LogDebug (BStreamFileToolkit &tk, char const *string=0)
virtual bool Match_Instance (BStreamFileToolkit const &tk, Recorded_Instance *instance)
virtual bool NeedsContext (BStreamFileToolkit &tk) const
bool NeedsTag () const
unsigned char Opcode () const
int Pass (BStreamFileToolkit &tk) const
virtual TK_Status Read (BStreamFileToolkit &tk)=0
virtual void Reset ()
void Set_General_Flags (int f)
void SetLoggingString (char const *segment)
void SetLoggingString (int length)
void SetNeedsTag (bool n)
TK_Status Tag (BStreamFileToolkit &tk, int variant=-1) const
bool Tagging (BStreamFileToolkit &tk) const
virtual TK_Status Write (BStreamFileToolkit &tk)=0

Protected Member Functions

void add_segment (BStreamFileToolkit &tk, ID_Key key)
 for internal use only
void adjust_written (BStreamFileToolkit &tk, int count)
 for internal use only
void bytes_to_floats (unsigned char const *in, float *out, int count) const
 for internal use only
void decrease_nesting (BStreamFileToolkit &tk, int amount=1)
 for internal use only
bool Find_Instance (BStreamFileToolkit &tk, int val1, int val2, int val3)
bool Find_Item (BStreamFileToolkit &tk, ID_Key key) const
void fix (int *i, int n)
 for internal use only
void fix (short *s, int n)
 for internal use only
void fix_in (float *f, int n)
 for internal use only
void fix_in (double *d, int n)
 for internal use only
void fix_out (float *f, int n)
 for internal use only
void fix_out (double *d, int n)
 for internal use only
short flip (short s)
 for internal use only
int flip (int i)
 for internal use only
void floats_to_bytes (float const *in, unsigned char *out, int count) const
 for internal use only
TK_Status GetAsciiData (BStreamFileToolkit &tk, int *rInts, unsigned int n)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned char &value)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, char &value)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned short &value)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, short &value)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, int &value)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, float &value)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, float *rFloats, unsigned int n)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, char *m_string, unsigned int n)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned char *m_string, unsigned int n)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, int *rInts, unsigned int n)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, short *rShorts, unsigned int n)
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned short *rShorts, unsigned int n)
TK_Status GetAsciiHex (BStreamFileToolkit &tk, const char *tag, unsigned char &value)
TK_Status GetAsciiHex (BStreamFileToolkit &tk, const char *tag, int &value)
TK_Status GetAsciiHex (BStreamFileToolkit &tk, const char *tag, char &value)
TK_Status GetAsciiHex (BStreamFileToolkit &tk, const char *tag, unsigned short &value)
TK_Status GetAsciiImageData (BStreamFileToolkit &tk, const char *tag, unsigned char *rValues, unsigned int n)
TK_Status GetData (BStreamFileToolkit &tk, char *b, int n)
TK_Status GetData (BStreamFileToolkit &tk, short *s, int n)
TK_Status GetData (BStreamFileToolkit &tk, int *i, int n)
TK_Status GetData (BStreamFileToolkit &tk, float *f, int n)
TK_Status GetData (BStreamFileToolkit &tk, double *d, int n)
TK_Status GetData (BStreamFileToolkit &tk, unsigned char *b, int n)
TK_Status GetData (BStreamFileToolkit &tk, unsigned short *s, int n)
TK_Status GetData (BStreamFileToolkit &tk, unsigned int *i, int n)
TK_Status GetData (BStreamFileToolkit &tk, char &c)
TK_Status GetData (BStreamFileToolkit &tk, short &s)
TK_Status GetData (BStreamFileToolkit &tk, int &i)
TK_Status GetData (BStreamFileToolkit &tk, unsigned char &b)
TK_Status GetData (BStreamFileToolkit &tk, unsigned short &s)
TK_Status GetData (BStreamFileToolkit &tk, unsigned int &i)
TK_Status GetData (BStreamFileToolkit &tk, float &f)
TK_Status GetData (BStreamFileToolkit &tk, double &d)
TK_Status GetGeneral (BStreamFileToolkit &tk)
void increase_nesting (BStreamFileToolkit &tk, int amount=1)
 for internal use only
ID_Key last_key (BStreamFileToolkit &tk) const
 obsolete
void log_opcode (BStreamFileToolkit &tk, unsigned int sequence, unsigned char opcode)
 for internal use only
TK_Status LookatData (BStreamFileToolkit &tk, unsigned char &b)
BBaseOpcodeHandlerOpcode_Handler (BStreamFileToolkit &tk, unsigned char op) const
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const *b, int n)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const *s, int n)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const *i, int n)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const *f, int n)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const *b, int n)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const *s, int n)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const *i, int n)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const &c)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const &s)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const &i)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const &b)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const &s)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const &i)
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const &f)
TK_Status PutAsciiFlag (BStreamFileToolkit &tk, char const *tag, int const &i)
TK_Status PutAsciiHex (BStreamFileToolkit &tk, char const *tag, int const &i)
TK_Status PutAsciiMask (BStreamFileToolkit &tk, char const *tag, int const &i)
TK_Status PutAsciiOpcode (BStreamFileToolkit &tk, int adjust=1, bool is_end=false, bool want_newline=true)
TK_Status PutData (BStreamFileToolkit &tk, char const *b, int n)
TK_Status PutData (BStreamFileToolkit &tk, short const *s, int n)
TK_Status PutData (BStreamFileToolkit &tk, int const *i, int n)
TK_Status PutData (BStreamFileToolkit &tk, float const *f, int n)
TK_Status PutData (BStreamFileToolkit &tk, double const *d, int n)
TK_Status PutData (BStreamFileToolkit &tk, unsigned char const *b, int n)
TK_Status PutData (BStreamFileToolkit &tk, unsigned short const *s, int n)
TK_Status PutData (BStreamFileToolkit &tk, unsigned int const *i, int n)
TK_Status PutData (BStreamFileToolkit &tk, char const &c)
TK_Status PutData (BStreamFileToolkit &tk, short const &s)
TK_Status PutData (BStreamFileToolkit &tk, int const &i)
TK_Status PutData (BStreamFileToolkit &tk, unsigned char const &b)
TK_Status PutData (BStreamFileToolkit &tk, unsigned short const &s)
TK_Status PutData (BStreamFileToolkit &tk, unsigned int const &i)
TK_Status PutData (BStreamFileToolkit &tk, float const &f)
TK_Status PutData (BStreamFileToolkit &tk, double const &d)
TK_Status PutEndXMLTag (BStreamFileToolkit &tk, char const *tag)
TK_Status PutGeneral (BStreamFileToolkit &tk)
TK_Status PutOpcode (BStreamFileToolkit &tk, int adjust=1)
TK_Status PutStartXMLTag (BStreamFileToolkit &tk, char const *tag)
TK_Status Read_Referenced_Segment (BStreamFileToolkit &tk, int &i_progress)
TK_Status ReadAsciiLine (BStreamFileToolkit &tk, unsigned int *readSize=0)
TK_Status ReadAsciiWord (BStreamFileToolkit &tk, unsigned int *readSize=0)
TK_Status ReadEndOpcode (BStreamFileToolkit &tk)
void Record_Instance (BStreamFileToolkit &tk, ID_Key key, int variant, int val1, int val2, int val3) const
void Remember_Item (BStreamFileToolkit &tk, ID_Key key) const
ID_Key remove_segment (BStreamFileToolkit &tk)
 for internal use only
bool RemoveAngularBrackets (char *string)
bool RemoveQuotes (char *string)
void Revisit (BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
void set_last_key (BStreamFileToolkit &tk, ID_Key key)
 sets the given key as "most recent" on the toolkit for the purposes of associating keys with indices
TK_Status SkipNewlineAndTabs (BStreamFileToolkit &tk, unsigned int *readSize=0)
bool validate_count (int count, int limit=1<< 24) const

Static Protected Member Functions

static float read_float (char const *cp, char const **newcpp=0)
static float read_float (char const *cp, char **newcpp)
 for internal use only
static char * write_float (char *buffer, double f)
 for internal use only

Protected Attributes

char * m_ascii_buffer
int m_ascii_length
int m_ascii_progress
 Tracks the amount of data that has been read/written so far by GetAscii functions.
int m_ascii_size
int m_ascii_stage
unsigned char m_byte
 temporary
char m_char
 temporary
int m_debug_allocated
int m_debug_length
char * m_debug_string
unsigned char m_general_flags
 Basic flags common to many handlers.
int m_int
 temporary
bool m_needs_tag
 Indicate if this object explicitly needs tagging.
unsigned char m_opcode
 The opcode being handled by this particular object.
int m_progress
 Tracks the amount of data that has been read/written so far.
int m_stage
 The writing stage.
unsigned short m_unsigned_short
 temporary

Detailed Description

The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical pieces of HOOPS Stream File information.

BBaseOpcodeHandler provides virtual functions which are implemented by derived classes to handle reading, writing, execution and interpretation of HOOPS Stream File information. Execution refers to the process of populating application-specific data structures with the information that has been read. Interpretation refers to the process of extracting application-specific data to prepare it for subsequent writing.

Each opcode handler manages opcodes which represent the various HOOPS/3dGS scene-graph objects which include segments, attributes, and geometric primitives.

The HSF file reading process involves reading the opcode at the start of each piece of binary information, and calling the Read method of the associated opcode handler. After the opcode handler reports that reading is complete, the Execute method should be called. (When using HoopsStream or BaseStream, the ParseBuffer method of the BStreamFileToolkit object encapsulates this process.)

The HSF file writing process involves determining the proper opcode for each piece of binary information, and calling the Interpret method of the associated opcode handler. After interpretation is complete, the Write method of the opcode handler should be called until writing is complete. (When using HoopsStream, the GenerateBuffer method of the HStreamFileToolkit encapsulates this process. However, if BaseStream is used, the Interpret/Write process must be performed manually.)


Constructor & Destructor Documentation

BBaseOpcodeHandler::BBaseOpcodeHandler ( int  op) [inline]

Default constructor for an BBaseOpcodeHandler object

Parameters:
opvalue denoting the opcode that the object supports. This is necessary for opcode handlers that support more than one opcode, such as TK_Polypoint, which supports both TKE_Polygon and TKE_Polyline opcodes.

Member Function Documentation

virtual TK_Status BBaseOpcodeHandler::Clone ( BStreamFileToolkit tk,
BBaseOpcodeHandler **  handler 
) const [inline, virtual]
virtual TK_Status BBaseOpcodeHandler::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 in TK_External_Reference_Unicode, TK_External_Reference, TK_XML, TK_User_Data, TK_Thumbnail, TK_Dictionary_Locater, TK_Dictionary, TK_Tag, TK_Geometry_Attributes, TK_Compression, TK_Terminator, TK_Comment, TK_File_Info, and TK_PolyPolypoint.

bool BBaseOpcodeHandler::Find_Instance ( BStreamFileToolkit tk,
int  val1,
int  val2,
int  val3 
) [inline, protected]

Searches for objects which are a [transformed] copy of previous objects

bool BBaseOpcodeHandler::Find_Item ( BStreamFileToolkit tk,
ID_Key  key 
) const [inline, protected]

Determines if a segment has already been processed (avoid multiple writes of inclusions)

unsigned char BBaseOpcodeHandler::General_Flags ( ) const [inline]

Returns the current general flags

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
int *  rInts,
unsigned int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
unsigned char &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
char &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
unsigned short &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
short &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
int &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
float &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
float *  rFloats,
unsigned int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
char *  m_string,
unsigned int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
unsigned char *  m_string,
unsigned int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
int *  rInts,
unsigned int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
short *  rShorts,
unsigned int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiData ( BStreamFileToolkit tk,
const char *  tag,
unsigned short *  rShorts,
unsigned int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiHex ( BStreamFileToolkit tk,
const char *  tag,
unsigned char &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiHex ( BStreamFileToolkit tk,
const char *  tag,
int &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiHex ( BStreamFileToolkit tk,
const char *  tag,
char &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiHex ( BStreamFileToolkit tk,
const char *  tag,
unsigned short &  value 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetAsciiImageData ( BStreamFileToolkit tk,
const char *  tag,
unsigned char *  rValues,
unsigned int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
char *  b,
int  n 
) [inline, protected]

Gets n characters from the toolkit buffer and writes them into buffer b; returns result of function call.

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
short *  s,
int  n 
) [inline, protected]

Gets n short integers from the toolkit buffer and writes them into buffer s; returns result of function call.

References TK_Normal.

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
int *  i,
int  n 
) [inline, protected]

Gets n integers from the toolkit buffer and writes them into buffer i; returns result of function call.

References TK_Normal.

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
float *  f,
int  n 
) [inline, protected]

Gets n floats from the toolkit buffer and writes them into buffer f; returns result of function call.

References TK_Normal.

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
double *  d,
int  n 
) [inline, protected]

Gets n doubles from the toolkit buffer and writes them into buffer d; returns result of function call.

References TK_Normal.

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
unsigned char *  b,
int  n 
) [inline, protected]

Gets n unsigned characters from the toolkit buffer and writes them into buffer b; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
unsigned short *  s,
int  n 
) [inline, protected]

Gets n unsigned shorts from the toolkit buffer and writes them into buffer s; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
unsigned int *  i,
int  n 
) [inline, protected]

Gets n unsigned integers from the toolkit buffer and writes them into buffer i; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
char &  c 
) [inline, protected]

Gets a single characters from the toolkit buffer; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
short &  s 
) [inline, protected]

Gets a single short integer from the toolkit buffer; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
int &  i 
) [inline, protected]

Gets a single integer from the toolkit buffer; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
unsigned char &  b 
) [inline, protected]

Gets a single unsigned character from the toolkit buffer; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
unsigned short &  s 
) [inline, protected]

Gets a single unsigned short integer from the toolkit buffer; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
unsigned int &  i 
) [inline, protected]

Gets a single unsigned integer from the toolkit buffer; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
float &  f 
) [inline, protected]

Gets a single float from the toolkit buffer; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetData ( BStreamFileToolkit tk,
double &  d 
) [inline, protected]

Gets a single double from the toolkit buffer; returns result of function call.

References GetData().

Referenced by GetData().

TK_Status BBaseOpcodeHandler::GetGeneral ( BStreamFileToolkit tk) [inline, protected]

Puts a the object's general flags into the toolkit buffer if appropriate; returns result of function call.

References BStreamFileToolkit::GetVersion(), and TK_Normal.

char const* BBaseOpcodeHandler::GetLoggingString ( ) const [inline]

Get the debug string. Returns a pointer to the current debug string

char* BBaseOpcodeHandler::GetLoggingString ( ) [inline]

Get the debug string buffer. Returns a pointer to the current debug string buffer which may then be modified directly

virtual TK_Status BBaseOpcodeHandler::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:
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 in TK_Thumbnail, TK_Dictionary_Locater, TK_Dictionary, TK_Tag, TK_Compression, TK_Comment, and TK_File_Info.

Referenced by TK_File_Info::Interpret(), TK_Comment::Interpret(), TK_Compression::Interpret(), TK_Tag::Interpret(), TK_Dictionary::Interpret(), TK_Dictionary_Locater::Interpret(), and TK_Thumbnail::Interpret().

virtual TK_Status BBaseOpcodeHandler::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.

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 in TK_Thumbnail, TK_Dictionary_Locater, TK_Dictionary, TK_Tag, TK_Compression, TK_Comment, and TK_File_Info.

void BBaseOpcodeHandler::LogDebug ( BStreamFileToolkit tk,
char const *  string = 0 
)

write out any logging string (provided or previously recorded) and reset

TK_Status BBaseOpcodeHandler::LookatData ( BStreamFileToolkit tk,
unsigned char &  b 
) [inline, protected]

Examines a single unsigned character from the toolkit buffer (does not Get); returns result of function call.

virtual bool BBaseOpcodeHandler::Match_Instance ( BStreamFileToolkit const &  tk,
Recorded_Instance *  instance 
) [virtual]

Determines whether a stored instance of an object is compatible with the current object, and if it is, prepares the object to write the instance instead.

virtual bool BBaseOpcodeHandler::NeedsContext ( BStreamFileToolkit tk) const [inline, virtual]

Allows the handler to specify if it needs the containing context to be reopened (currently only used for revisits on geometry references)

Returns:
The amswer.
bool BBaseOpcodeHandler::NeedsTag ( ) const [inline]

Determine if the object is set to request tagging

unsigned char BBaseOpcodeHandler::Opcode ( ) const [inline]

Returns the current opcode

BBaseOpcodeHandler* BBaseOpcodeHandler::Opcode_Handler ( BStreamFileToolkit tk,
unsigned char  op 
) const [inline, protected]

Allows an object to access handlers defined for other objects

int BBaseOpcodeHandler::Pass ( BStreamFileToolkit tk) const [inline]

The toolkit makes multiple passes of objects which have LOD representations in the HOOPS database. This function returns the number of the pass which the toolkit is currently on.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
char const *  b,
int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
short const *  s,
int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
int const *  i,
int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
float const *  f,
int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
unsigned char const *  b,
int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
unsigned short const *  s,
int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
unsigned int const *  i,
int  n 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
char const &  c 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
short const &  s 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
int const &  i 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
unsigned char const &  b 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
unsigned short const &  s 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
unsigned int const &  i 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiData ( BStreamFileToolkit tk,
char const *  tag,
float const &  f 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiFlag ( BStreamFileToolkit tk,
char const *  tag,
int const &  i 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiHex ( BStreamFileToolkit tk,
char const *  tag,
int const &  i 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiMask ( BStreamFileToolkit tk,
char const *  tag,
int const &  i 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutAsciiOpcode ( BStreamFileToolkit tk,
int  adjust = 1,
bool  is_end = false,
bool  want_newline = true 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
char const *  b,
int  n 
) [inline, protected]

Puts n characters from buffer b into the toolkit buffer; returns result of function call.

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
short const *  s,
int  n 
) [inline, protected]

Puts n short integers from buffer s into the toolkit buffer; returns result of function call.

References TK_Normal.

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
int const *  i,
int  n 
) [inline, protected]

Puts n integers from buffer i into the toolkit buffer; returns result of function call.

References TK_Normal.

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
float const *  f,
int  n 
) [inline, protected]

Puts n floats from buffer f into the toolkit buffer; returns result of function call.

References TK_Normal.

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
double const *  d,
int  n 
) [inline, protected]

Puts n doubles from buffer d into the toolkit buffer; returns result of function call.

References TK_Normal.

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
unsigned char const *  b,
int  n 
) [inline, protected]

Puts n unsigned characters from buffer b into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
unsigned short const *  s,
int  n 
) [inline, protected]

Puts n unsigned short integers from buffer s into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
unsigned int const *  i,
int  n 
) [inline, protected]

Puts n unsigned integers from buffer i into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
char const &  c 
) [inline, protected]

Puts a single character c into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
short const &  s 
) [inline, protected]

Puts a single short integer s into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
int const &  i 
) [inline, protected]

Puts a single integer i into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
unsigned char const &  b 
) [inline, protected]

Puts a single unsigned character b into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
unsigned short const &  s 
) [inline, protected]

Puts a single unsigned short s into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
unsigned int const &  i 
) [inline, protected]

Puts a single unsigned integer i into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
float const &  f 
) [inline, protected]

Puts a single float f into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutData ( BStreamFileToolkit tk,
double const &  d 
) [inline, protected]

Puts a single double d into the toolkit buffer; returns result of function call.

References PutData().

Referenced by PutData().

TK_Status BBaseOpcodeHandler::PutEndXMLTag ( BStreamFileToolkit tk,
char const *  tag 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::PutGeneral ( BStreamFileToolkit tk) [inline, protected]

Puts a the object's general flags into the toolkit buffer if appropriate; returns result of function call.

References BStreamFileToolkit::GetTargetVersion(), and TK_Normal.

TK_Status BBaseOpcodeHandler::PutOpcode ( BStreamFileToolkit tk,
int  adjust = 1 
) [inline, protected]

Puts a the object's opcode into the toolkit buffer; returns result of function call.

References BStreamFileToolkit::GetLogging(), BStreamFileToolkit::NextOpcodeSequence(), and TK_Normal.

TK_Status BBaseOpcodeHandler::PutStartXMLTag ( BStreamFileToolkit tk,
char const *  tag 
) [protected]

This is a deprecated method.

virtual TK_Status BBaseOpcodeHandler::Read ( BStreamFileToolkit tk) [pure 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:
tkA reference to the BStreamFileToolkit object.
Returns:
The result of the function call.

Implemented in TK_External_Reference_Unicode, TK_External_Reference, TK_URL, TK_XML, TK_Material, TK_User_Data, TK_Clip_Region, TK_Clip_Rectangle, TK_Line_Style, TK_Named_Style_Def, TK_Glyph_Definition, TK_Thumbnail, TK_Texture, TK_Image, TK_Font, TK_Text, TK_Grid, TK_PolyCylinder, TK_Cylinder, TK_Sphere, TK_Ellipse, TK_Circle, TK_Cutting_Plane, TK_Spot_Light, TK_Area_Light, TK_NURBS_Surface, HT_NURBS_Trim, TK_NURBS_Curve, TK_Polypoint, TK_Line, TK_Point, TK_Bounding, TK_Text_Font, TK_Window, TK_Camera, TK_User_Value, TK_User_Index_Data, TK_User_Index, TK_Unicode_Options, TK_User_Options, TK_Conditional_Action, TK_Conditions, TK_Streaming, TK_Named, TK_Linear_Pattern, TK_Size, TK_Enumerated, TK_Matrix, TK_Selectability, TK_Visibility, TK_Geometry_Options, TK_Heuristics, TK_Rendering_Options, TK_Callback, TK_Color_Map, TK_Color_By_FIndex, TK_Color_By_Index, TK_Color_By_Value, TK_Color_RGB, TK_Color, TK_Dictionary_Locater, TK_Dictionary, TK_Tag, TK_Renumber, TK_Geometry_Attributes, TK_LOD, TK_Delete_Object, TK_Instance, TK_Reference, TK_Referenced_Segment, TK_Reopen_Segment, TK_Close_Segment, TK_Open_Segment, Lock_Masks, TK_Compression, TK_Terminator, TK_Mesh, TK_Comment, TK_File_Info, TK_Header, TK_Unavailable, TK_Default, TK_Shell, and TK_PolyPolypoint.

static float BBaseOpcodeHandler::read_float ( char const *  cp,
char const **  newcpp = 0 
) [static, protected]

Internal use: utility functions for conversion between float & string without dealing with locale issues

TK_Status BBaseOpcodeHandler::Read_Referenced_Segment ( BStreamFileToolkit tk,
int &  i_progress 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::ReadAsciiLine ( BStreamFileToolkit tk,
unsigned int *  readSize = 0 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::ReadAsciiWord ( BStreamFileToolkit tk,
unsigned int *  readSize = 0 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::ReadEndOpcode ( BStreamFileToolkit tk) [protected]

This is a deprecated method.

void BBaseOpcodeHandler::Record_Instance ( BStreamFileToolkit tk,
ID_Key  key,
int  variant,
int  val1,
int  val2,
int  val3 
) const [inline, protected]

Allows us to later find objects which are a [transformed] copy of previous objects

void BBaseOpcodeHandler::Remember_Item ( BStreamFileToolkit tk,
ID_Key  key 
) const [inline, protected]

Allows us to remember which segments have been processed (avoid multiple writes of inclusions)

bool BBaseOpcodeHandler::RemoveAngularBrackets ( char *  string) [protected]

This is a deprecated method.

bool BBaseOpcodeHandler::RemoveQuotes ( char *  string) [protected]

This is a deprecated method.

virtual void BBaseOpcodeHandler::Reset ( ) [virtual]
void BBaseOpcodeHandler::Revisit ( BStreamFileToolkit tk,
float  priority = 0.0f,
int  variant = 0 
) const [inline, protected]

Indicates that an object requires further processing during a subsequent pass

void BBaseOpcodeHandler::Set_General_Flags ( int  f) [inline]

Sets the current general flags

Referenced by TK_Bounding::TK_Bounding().

void BBaseOpcodeHandler::SetLoggingString ( char const *  segment)

Set the debug string. Makes sure the buffer is big enough to hold the debug string, and copies it in

void BBaseOpcodeHandler::SetLoggingString ( int  length)

Set the debug string. Makes sure the buffer is big enough to hold a string of 'length' characters

void BBaseOpcodeHandler::SetNeedsTag ( bool  n) [inline]

Sets whether the object requests tagging

TK_Status BBaseOpcodeHandler::SkipNewlineAndTabs ( BStreamFileToolkit tk,
unsigned int *  readSize = 0 
) [protected]

This is a deprecated method.

TK_Status BBaseOpcodeHandler::Tag ( BStreamFileToolkit tk,
int  variant = -1 
) const [inline]

Adds a Tag to the file for the current object, and also adds an entry to the toolkit's tag table which stores an association between the tag (also called an 'index') and the current object's HOOPS key

bool BBaseOpcodeHandler::Tagging ( BStreamFileToolkit tk) const [inline]

Provides a simple interface to check if this object requires tagging or the toolkit is set for Force_Tags.

References BStreamFileToolkit::GetWriteFlags(), and TK_Force_Tags.

bool BBaseOpcodeHandler::validate_count ( int  count) const [inline, protected]

sanity checking. for internal use only

virtual TK_Status BBaseOpcodeHandler::Write ( BStreamFileToolkit tk) [pure 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:
tkA reference to the BStreamFileToolkit object.
Returns:
The result of the function call.

Implemented in TK_External_Reference_Unicode, TK_External_Reference, TK_URL, TK_XML, TK_Material, TK_User_Data, TK_Clip_Region, TK_Clip_Rectangle, TK_Line_Style, TK_Named_Style_Def, TK_Glyph_Definition, TK_Thumbnail, TK_Texture, TK_Image, TK_Font, TK_Text, TK_Grid, TK_PolyCylinder, TK_Cylinder, TK_Sphere, TK_Ellipse, TK_Circle, TK_Cutting_Plane, TK_Spot_Light, TK_Area_Light, TK_NURBS_Surface, HT_NURBS_Trim, TK_NURBS_Curve, TK_Polypoint, TK_Line, TK_Point, TK_Bounding, TK_Text_Font, TK_Window, TK_Camera, TK_User_Value, TK_User_Index_Data, TK_User_Index, TK_Unicode_Options, TK_User_Options, TK_Conditional_Action, TK_Conditions, TK_Streaming, TK_Named, TK_Linear_Pattern, TK_Size, TK_Enumerated, TK_Matrix, TK_Selectability, TK_Visibility, TK_Geometry_Options, TK_Heuristics, TK_Rendering_Options, TK_Callback, TK_Color_Map, TK_Color_By_FIndex, TK_Color_By_Index, TK_Color_By_Value, TK_Color_RGB, TK_Color, TK_Dictionary_Locater, TK_Dictionary, TK_Tag, TK_Renumber, TK_Geometry_Attributes, TK_LOD, TK_Delete_Object, TK_Instance, TK_Reference, TK_Referenced_Segment, TK_Reopen_Segment, TK_Close_Segment, TK_Open_Segment, Lock_Masks, TK_Compression, TK_Terminator, TK_Mesh, TK_Comment, TK_File_Info, TK_Header, TK_Unavailable, TK_Default, TK_Shell, and TK_PolyPolypoint.


Member Data Documentation

Size of currently available debug string buffer

Length of debug string name

Debug String


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