BBaseOpcodeHandler Class Reference

#include <BOpcodeHandler.h>

Inheritance diagram for BBaseOpcodeHandler:

Inheritance graph
[legend]
Collaboration diagram for BBaseOpcodeHandler:

Collaboration graph
[legend]
List of all members.

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.)

Definition at line 93 of file BOpcodeHandler.h.

Public Member Functions

 BBaseOpcodeHandler (int op)
virtual void serialize (const void *pTag=NULL) throw ( DWFException )
virtual TK_Status Read (BStreamFileToolkit &tk) alter=0
virtual TK_Status Write (BStreamFileToolkit &tk) alter=0
virtual TK_Status Execute (BStreamFileToolkit &tk) alter
virtual TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
virtual TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, char const *special) alter
virtual void Reset (void) alter
virtual bool Match_Instance (BStreamFileToolkit const &tk, Recorded_Instance alter *instance) alter
unsigned char Opcode (void) const
int Pass (BStreamFileToolkit &tk) const
TK_Status Tag (BStreamFileToolkit &tk, int variant=-1) const
bool Tagging (BStreamFileToolkit &tk) const
virtual TK_Status Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
void SetDebug (char const *segment) alter
void SetDebug (int length) alter
char const * GetDebugString (void) const
char alter * GetDebugString (void) alter
void LogDebug (BStreamFileToolkit &tk, char const *string=0) alter

Protected Member Functions

TK_Status GetData (BStreamFileToolkit &tk, char *b, int n) alter
TK_Status GetData (BStreamFileToolkit &tk, short *s, int n) alter
TK_Status GetData (BStreamFileToolkit &tk, int *i, int n) alter
TK_Status GetData (BStreamFileToolkit &tk, float *f, int n) alter
TK_Status GetData (BStreamFileToolkit &tk, unsigned char *b, int n) alter
TK_Status GetData (BStreamFileToolkit &tk, unsigned short *s, int n) alter
TK_Status GetData (BStreamFileToolkit &tk, unsigned int *i, int n) alter
TK_Status GetData (BStreamFileToolkit &tk, char &c) alter
TK_Status GetData (BStreamFileToolkit &tk, short &s) alter
TK_Status GetData (BStreamFileToolkit &tk, int &i) alter
TK_Status GetData (BStreamFileToolkit &tk, unsigned char &b) alter
TK_Status GetData (BStreamFileToolkit &tk, unsigned short &s) alter
TK_Status GetData (BStreamFileToolkit &tk, unsigned int &i) alter
TK_Status GetData (BStreamFileToolkit &tk, float &f) alter
TK_Status LookatData (BStreamFileToolkit &tk, unsigned char &b) alter
TK_Status PutData (BStreamFileToolkit &tk, char const *b, int n) alter
TK_Status PutData (BStreamFileToolkit &tk, short const *s, int n) alter
TK_Status PutData (BStreamFileToolkit &tk, int const *i, int n) alter
TK_Status PutData (BStreamFileToolkit &tk, float const *f, int n) alter
TK_Status PutData (BStreamFileToolkit &tk, unsigned char const *b, int n) alter
TK_Status PutData (BStreamFileToolkit &tk, unsigned short const *s, int n) alter
TK_Status PutData (BStreamFileToolkit &tk, unsigned int const *i, int n) alter
TK_Status PutData (BStreamFileToolkit &tk, char const &c) alter
TK_Status PutData (BStreamFileToolkit &tk, short const &s) alter
TK_Status PutData (BStreamFileToolkit &tk, int const &i) alter
TK_Status PutData (BStreamFileToolkit &tk, unsigned char const &b) alter
TK_Status PutData (BStreamFileToolkit &tk, unsigned short const &s) alter
TK_Status PutData (BStreamFileToolkit &tk, unsigned int const &i) alter
TK_Status PutData (BStreamFileToolkit &tk, float const &f) alter
TK_Status PutOpcode (BStreamFileToolkit &tk, int adjust=1) alter
TK_Status PutAsciiOpcode (BStreamFileToolkit &tk, int adjust=1, bool is_end=false, bool want_newline=true) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const *b, int n) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const *s, int n) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const *i, int n) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const *f, int n) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const *b, int n) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const *s, int n) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const *i, int n) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const &c) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const &s) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const &i) alter
TK_Status PutAsciiFlag (BStreamFileToolkit &tk, char const *tag, int const &i) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const &b) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const &s) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const &i) alter
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const &f) alter
short flip (short s)
 for internal use only
int flip (int i)
 for internal use only
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_out (float *f, int n)
 for internal use only
void log_opcode (BStreamFileToolkit &tk, unsigned int sequence, unsigned char opcode) alter
 for internal use only
void floats_to_bytes (float const *in, unsigned char alter *out, int count) const
 for internal use only
void bytes_to_floats (unsigned char const *in, float alter *out, int count) const
 for internal use only
void add_segment (BStreamFileToolkit &tk, ID_Key key) alter
 for internal use only
ID_Key remove_segment (BStreamFileToolkit &tk) alter
 for internal use only
void set_last_key (BStreamFileToolkit &tk, ID_Key key) alter
 sets the given key as "most recent" on the toolkit for the purposes of associating keys with indices
ID_Key last_key (BStreamFileToolkit &tk) const
 obsolete
void adjust_written (BStreamFileToolkit &tk, int count) alter
 for internal use only
void increase_nesting (BStreamFileToolkit &tk, int amount=1) alter
 for internal use only
void decrease_nesting (BStreamFileToolkit &tk, int amount=1) alter
 for internal use only
void Revisit (BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
BBaseOpcodeHandler alter * Opcode_Handler (BStreamFileToolkit &tk, unsigned char op) const
void Record_Instance (BStreamFileToolkit &tk, ID_Key key, int variant, int val1, int val2, int val3) const
bool Find_Instance (BStreamFileToolkit &tk, int val1, int val2, int val3) alter
void Remember_Item (BStreamFileToolkit &tk, ID_Key key) const
bool Find_Item (BStreamFileToolkit &tk, ID_Key key) const
bool validate_count (int count, int limit=1<< 24) const

Static Protected Member Functions

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

Protected Attributes

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


Constructor & Destructor Documentation

BBaseOpcodeHandler::BBaseOpcodeHandler int  op  )  [inline]
 

Default constructor for an BBaseOpcodeHandler object

Parameters:
op value 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.

Definition at line 122 of file BOpcodeHandler.h.


Member Function Documentation

virtual TK_Status BBaseOpcodeHandler::Clone BStreamFileToolkit tk,
BBaseOpcodeHandler **  handler
const [inline, 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 in TK_Open_Segment, TK_Close_Segment, TK_Reopen_Segment, TK_Referenced_Segment, TK_Reference, TK_Instance, TK_Delete_Object, TK_LOD, TK_Renumber, TK_Color, TK_Color_RGB, TK_Color_By_Value, TK_Color_By_Index, TK_Color_By_FIndex, TK_Color_Map, TK_Callback, TK_Rendering_Options, TK_Heuristics, TK_Visibility, TK_Selectability, TK_Matrix, TK_Enumerated, TK_Size, TK_Linear_Pattern, TK_Named, TK_Streaming, TK_Conditions, TK_User_Options, TK_Unicode_Options, TK_User_Index, TK_User_Value, TK_Camera, TK_Window, TK_Text_Font, TK_Bounding, TK_Point, TK_Line, TK_Infinite_Line, TK_Polypoint, TK_NURBS_Curve, TK_NURBS_Surface, TK_Area_Light, TK_Spot_Light, TK_Cutting_Plane, TK_Circle, TK_Ellipse, TK_Sphere, TK_Cylinder, TK_PolyCylinder, TK_Grid, TK_Text, TK_Font, TK_Image, TK_Texture, TK_Thumbnail, TK_Glyph_Definition, TK_Line_Style, TK_Clip_Rectangle, TK_Clip_Region, TK_User_Data, TK_XML, TK_URL, TK_External_Reference, and TK_PolyPolypoint.

Definition at line 236 of file BOpcodeHandler.h.

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

Reimplemented in TK_File_Info, TK_Comment, TK_Terminator, TK_Compression, TK_Geometry_Attributes, TK_Close_Geometry_Attributes, TK_Tag, TK_Dictionary, TK_Dictionary_Locater, TK_Thumbnail, TK_User_Data, TK_XML, TK_External_Reference, 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

Definition at line 667 of file BOpcodeHandler.h.

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)

Definition at line 674 of file BOpcodeHandler.h.

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

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

Definition at line 324 of file BOpcodeHandler.h.

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.

Definition at line 321 of file BOpcodeHandler.h.

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.

Definition at line 318 of file BOpcodeHandler.h.

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.

Definition at line 315 of file BOpcodeHandler.h.

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

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

Definition at line 312 of file BOpcodeHandler.h.

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

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

Definition at line 309 of file BOpcodeHandler.h.

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

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

Definition at line 306 of file BOpcodeHandler.h.

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.

Definition at line 303 of file BOpcodeHandler.h.

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.

Definition at line 300 of file BOpcodeHandler.h.

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.

Definition at line 297 of file BOpcodeHandler.h.

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.

Definition at line 289 of file BOpcodeHandler.h.

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.

Definition at line 281 of file BOpcodeHandler.h.

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.

Definition at line 273 of file BOpcodeHandler.h.

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.

Definition at line 270 of file BOpcodeHandler.h.

char alter* BBaseOpcodeHandler::GetDebugString void   )  [inline]
 

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

Definition at line 258 of file BOpcodeHandler.h.

char const* BBaseOpcodeHandler::GetDebugString void   )  const [inline]
 

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

Definition at line 253 of file BOpcodeHandler.h.

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

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

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

write out any debug 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.

Definition at line 358 of file BOpcodeHandler.h.

virtual bool BBaseOpcodeHandler::Match_Instance BStreamFileToolkit const &  tk,
Recorded_Instance alter *  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.

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

Returns the current opcode

Definition at line 202 of file BOpcodeHandler.h.

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

Allows an object to access handlers defined for other objects

Definition at line 658 of file BOpcodeHandler.h.

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.

Definition at line 208 of file BOpcodeHandler.h.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

Definition at line 453 of file BOpcodeHandler.h.

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.

Definition at line 450 of file BOpcodeHandler.h.

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.

Definition at line 447 of file BOpcodeHandler.h.

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.

Definition at line 444 of file BOpcodeHandler.h.

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.

Definition at line 441 of file BOpcodeHandler.h.

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.

Definition at line 438 of file BOpcodeHandler.h.

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.

Definition at line 435 of file BOpcodeHandler.h.

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.

Definition at line 432 of file BOpcodeHandler.h.

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.

Definition at line 429 of file BOpcodeHandler.h.

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.

Definition at line 426 of file BOpcodeHandler.h.

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.

Definition at line 405 of file BOpcodeHandler.h.

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.

Definition at line 386 of file BOpcodeHandler.h.

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.

Definition at line 367 of file BOpcodeHandler.h.

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.

Definition at line 364 of file BOpcodeHandler.h.

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.

Definition at line 456 of file BOpcodeHandler.h.

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

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

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

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

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

Definition at line 662 of file BOpcodeHandler.h.

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)

Definition at line 672 of file BOpcodeHandler.h.

virtual void BBaseOpcodeHandler::Reset void   )  [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 in TK_Header, TK_Comment, TK_Open_Segment, TK_Referenced_Segment, TK_Reference, TK_Instance, TK_LOD, TK_Dictionary, TK_Dictionary_Locater, TK_Color, TK_Color_Map, TK_Callback, TK_Rendering_Options, TK_Named, TK_Conditions, TK_User_Options, TK_Unicode_Options, TK_User_Index, TK_Text_Font, TK_Point, TK_Polypoint, TK_NURBS_Curve, TK_NURBS_Surface, TK_Area_Light, TK_Cutting_Plane, TK_Circle, TK_Sphere, TK_PolyCylinder, TK_Text, TK_Font, TK_Image, TK_Texture, TK_Thumbnail, TK_Glyph_Definition, TK_Line_Style, TK_Clip_Rectangle, TK_Clip_Region, TK_User_Data, TK_XML, TK_URL, TK_External_Reference, W3D_Image, TK_Shell, TK_Mesh, and TK_PolyPolypoint.

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

Definition at line 653 of file BOpcodeHandler.h.

virtual void BBaseOpcodeHandler::serialize const void *  pTag = NULL  )  throw ( DWFException ) [virtual]
 

This method will write the handler's opcode and data to the W3D stream.

Parameters:
pTag An optional tag to associate the data.
Exceptions:
DWFException 

Implements W3DOpcodeHandler.

Reimplemented in TK_Shell.

void BBaseOpcodeHandler::SetDebug int  length  ) 
 

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

Reimplemented in TK_Rendering_Options.

void BBaseOpcodeHandler::SetDebug char const *  segment  ) 
 

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

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

Definition at line 214 of file BOpcodeHandler.h.

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

Provides a simple interface to check if the toolkit is set for Force_Tags.

Definition at line 219 of file BOpcodeHandler.h.

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

sanity checking. for internal use only

Definition at line 677 of file BOpcodeHandler.h.

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

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


Member Data Documentation

int BBaseOpcodeHandler::m_debug_allocated [protected]
 

Size of currently available frbug string buffer

Definition at line 103 of file BOpcodeHandler.h.

int BBaseOpcodeHandler::m_debug_length [protected]
 

Length of debug string name

Definition at line 102 of file BOpcodeHandler.h.

char* BBaseOpcodeHandler::m_debug_string [protected]
 

Debug String

Definition at line 104 of file BOpcodeHandler.h.


The documentation for this class was generated from the following file:
Generated on Tue Jan 6 22:41:38 2009 for Autodesk DWF 3D Toolkit by  doxygen 1.4.5