Handles the TKE_Complex_Clip_Region opcodes. More...
#include <BOpcodeHandler.h>
Public Member Functions | |
TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
double const * | GetDPoints () const |
double * | GetDPoints () |
int const * | GetLengths () const |
int * | GetLengths () |
int | GetLoops () const |
int | GetOptions () const |
float const * | GetPoints () const |
float * | GetPoints () |
int | GetTotal () const |
TK_Status | Read (BStreamFileToolkit &tk) |
TK_Status | ReadAscii (BStreamFileToolkit &tk) |
Deprecated. | |
void | Reset () |
void | SetDPoints (int count, double const points[]=0) |
void | SetLengths (int count, int const lengths[]=0) |
void | SetOptions (int o) |
void | SetPoints (int count, float const points[]=0) |
TK_Complex_Clip_Region () | |
TK_Status | Write (BStreamFileToolkit &tk) |
TK_Status | WriteAscii (BStreamFileToolkit &tk) |
Deprecated. | |
Protected Attributes | |
double * | m_dpoints |
int * | m_lengths |
int | m_loops |
char | m_options |
float * | m_points |
int | m_total |
Handles the TKE_Complex_Clip_Region opcodes.
TK_Complex_Clip_Region provides support for writing/reading the TKE_Complex_Clip_Region opcode to/from an HSF file. A complex clip region defines a region based on multiple loops interacting in an even-odd manner which should be applied to the contents of the current segment and all subsegments (just like any HOOPS/3dGS attribute)
TK_Complex_Clip_Region::TK_Complex_Clip_Region | ( | ) | [inline] |
constructor
TK_Status TK_Complex_Clip_Region::Clone | ( | BStreamFileToolkit & | tk, |
BBaseOpcodeHandler ** | handler | ||
) | const [virtual] |
Copies the opcode handler
tk | A reference to the BStreamFileToolkit object. |
handler | A pointer to the opcode handler object. Passed by reference. |
Reimplemented from BBaseOpcodeHandler.
double const* TK_Complex_Clip_Region::GetDPoints | ( | ) | const [inline] |
Returns the address of the point buffer
double* TK_Complex_Clip_Region::GetDPoints | ( | ) | [inline] |
Returns the address of the point buffer, which may be modified directly
int const* TK_Complex_Clip_Region::GetLengths | ( | ) | const [inline] |
Returns the address of the point buffer
int* TK_Complex_Clip_Region::GetLengths | ( | ) | [inline] |
Returns the address of the point buffer, which may be modified directly
int TK_Complex_Clip_Region::GetLoops | ( | ) | const [inline] |
Returns the number of loops in the buffer
int TK_Complex_Clip_Region::GetOptions | ( | ) | const [inline] |
Returns the option flags
float const* TK_Complex_Clip_Region::GetPoints | ( | ) | const [inline] |
Returns the address of the point buffer
float* TK_Complex_Clip_Region::GetPoints | ( | ) | [inline] |
Returns the address of the point buffer, which may be modified directly
int TK_Complex_Clip_Region::GetTotal | ( | ) | const [inline] |
Returns the number of points in the buffer
TK_Status TK_Complex_Clip_Region::Read | ( | BStreamFileToolkit & | tk | ) | [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.
tk | A reference to the BStreamFileToolkit object. |
Implements BBaseOpcodeHandler.
void TK_Complex_Clip_Region::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.
void TK_Complex_Clip_Region::SetDPoints | ( | int | count, |
double const | points[] = 0 |
||
) |
Sets the point array. Allocates a buffer which will hold 'count' double triplets, and if specified, copies the 'points' into the buffer
void TK_Complex_Clip_Region::SetLengths | ( | int | count, |
int const | lengths[] = 0 |
||
) |
Sets the lengths array. Allocates a buffer which will hold 'count' ints, and if specified, copies the 'lengths' into the buffer
void TK_Complex_Clip_Region::SetOptions | ( | int | o | ) | [inline] |
Sets the option flags
void TK_Complex_Clip_Region::SetPoints | ( | int | count, |
float const | points[] = 0 |
||
) |
Sets the point array. Allocates a buffer which will hold 'count' float triplets, and if specified, copies the 'points' into the buffer
TK_Status TK_Complex_Clip_Region::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.
tk | A reference to the BStreamFileToolkit object. |
Implements BBaseOpcodeHandler.
double* TK_Complex_Clip_Region::m_dpoints [protected] |
internal use; Array of floats which denote the point coordinates.
int* TK_Complex_Clip_Region::m_lengths [protected] |
internal use; Array of ints which denote the number of points in each loop
int TK_Complex_Clip_Region::m_loops [protected] |
internal use; Number of loops that define this clip region object
char TK_Complex_Clip_Region::m_options [protected] |
internal use; type of region and optional settings
float* TK_Complex_Clip_Region::m_points [protected] |
internal use; Array of floats which denote the point coordinates.
int TK_Complex_Clip_Region::m_total [protected] |
internal use; Total umber of 3D points that define this clip region object (sum of lengths)