Handles the TKE_Repeat_Object opcode. More...
#include <BOpcodeHandler.h>
Public Member Functions | |
TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
TK_Status | Read (BStreamFileToolkit &tk) |
TK_Status | ReadAscii (BStreamFileToolkit &tk) |
Deprecated. | |
void | Reset () |
TK_Instance (int from_index=0, int from_variant=0, int to_index=0, int to_variant=0, int options=0, float const xform[]=0) | |
TK_Status | Write (BStreamFileToolkit &tk) |
TK_Status | WriteAscii (BStreamFileToolkit &tk) |
Deprecated. | |
![]() | |
BBaseOpcodeHandler (int op) | |
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) |
bool | IsCollectionPart () const |
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 |
void | Set_General_Flags (int f) |
void | SetCollectionPart (bool n) |
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 |
![]() | |
void | operator delete (void *p) |
force deallocation to happen in the stream toolkit's scope | |
void * | operator new (size_t size) |
force allocation to happen in the stream toolkit's scope | |
Protected Attributes | |
int | m_from_index |
internal use | |
int | m_from_variant |
internal use | |
float | m_matrix [16] |
internal use | |
int | m_options |
internal use | |
int | m_to_index |
internal use | |
int | m_to_variant |
internal use | |
![]() | |
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 | |
bool | m_collection_part |
Indicates if this object is part of a LOD collection. | |
int | m_debug_allocated |
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 | |
Additional Inherited Members | |
![]() | |
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 | 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 | 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 | |
BBaseOpcodeHandler * | Opcode_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 | 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 void | fix (int *i, int n) |
for internal use only | |
static void | fix (short *s, int n) |
for internal use only | |
static void | fix_in (float *f, int n) |
for internal use only | |
static void | fix_in (double *d, int n) |
for internal use only | |
static void | fix_out (float *f, int n) |
for internal use only | |
static void | fix_out (double *d, int n) |
for internal use only | |
static short | flip (short s) |
for internal use only | |
static int | flip (int i) |
for internal use only | |
static TK_Status | GetData (BStreamFileToolkit &tk, char *b, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, short *s, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, int *i, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, float *f, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, double *d, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned char *b, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned short *s, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned int *i, int n) |
static TK_Status | GetData (BStreamFileToolkit &tk, char &c) |
static TK_Status | GetData (BStreamFileToolkit &tk, short &s) |
static TK_Status | GetData (BStreamFileToolkit &tk, int &i) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned char &b) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned short &s) |
static TK_Status | GetData (BStreamFileToolkit &tk, unsigned int &i) |
static TK_Status | GetData (BStreamFileToolkit &tk, float &f) |
static TK_Status | GetData (BStreamFileToolkit &tk, double &d) |
static TK_Status | LookatData (BStreamFileToolkit &tk, unsigned char &b) |
static TK_Status | PutData (BStreamFileToolkit &tk, char const *b, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, short const *s, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, int const *i, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, float const *f, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, double const *d, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned char const *b, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned short const *s, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned int const *i, int n) |
static TK_Status | PutData (BStreamFileToolkit &tk, char const &c) |
static TK_Status | PutData (BStreamFileToolkit &tk, short const &s) |
static TK_Status | PutData (BStreamFileToolkit &tk, int const &i) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned char const &b) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned short const &s) |
static TK_Status | PutData (BStreamFileToolkit &tk, unsigned int const &i) |
static TK_Status | PutData (BStreamFileToolkit &tk, float const &f) |
static TK_Status | PutData (BStreamFileToolkit &tk, double const &d) |
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 | |
Detailed Description
Handles the TKE_Repeat_Object opcode.
As its name implies, the TKE_Repeat_Object is an instruction to make a copy of a previously given object. Given an index and a modelling matrix, make a copy of an object, transform the points and reinsert. If you would like to ignore it, you can just implement a subclass that just returns TK_Normal on TK_Instance::Execute(). Of course, a better solution is to provide a real implementation, so that there will be no missing geometry. An example of such an implementation is provided in source form in HTK_Instance::Execute, which currently lives in HOpcodeHandler.cpp.
Constructor & Destructor Documentation
◆ TK_Instance()
TK_Instance::TK_Instance | ( | int | from_index = 0 , |
int | from_variant = 0 , |
||
int | to_index = 0 , |
||
int | to_variant = 0 , |
||
int | options = 0 , |
||
float const | xform[] = 0 |
||
) |
constructor
Member Function Documentation
◆ Clone()
|
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 BBaseOpcodeHandler.
◆ Read()
|
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.
Implements BBaseOpcodeHandler.
◆ 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 BBaseOpcodeHandler.
◆ Write()
|
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.
Implements BBaseOpcodeHandler.
The documentation for this class was generated from the following file: