Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes. More...
#include <BOpcodeHandler.h>
Public Member Functions | |
TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
float const * | GetCenter () const |
double const * | GetDCenter () const |
double const * | GetDEnd () const |
double const * | GetDMiddle () const |
double const * | GetDStart () const |
float const * | GetEnd () const |
float const * | GetMiddle () const |
float const * | GetStart () const |
TK_Status | Read (BStreamFileToolkit &tk) |
TK_Status | ReadAscii (BStreamFileToolkit &tk) |
Deprecated. | |
void | Reset () |
void | SetCenter (float x, float y, float z) |
void | SetCenter (float const c[]) |
void | SetDCenter (double x, double y, double z) |
void | SetDCenter (double const c[]) |
void | SetDEnd (double x, double y, double z) |
void | SetDEnd (double const e[]) |
void | SetDMiddle (double x, double y, double z) |
void | SetDMiddle (double const m[]) |
void | SetDPoints (double const s[], double const m[], double const e[], double const c[]=0) |
void | SetDStart (double x, double y, double z) |
void | SetDStart (double const s[]) |
void | SetEnd (float x, float y, float z) |
void | SetEnd (float const e[]) |
void | SetMiddle (float x, float y, float z) |
void | SetMiddle (float const m[]) |
void | SetPoints (float const s[], float const m[], float const e[], float const c[]=0) |
void | SetStart (float x, float y, float z) |
void | SetStart (float const s[]) |
TK_Circle (unsigned char opcode) | |
TK_Status | Write (BStreamFileToolkit &tk) |
TK_Status | WriteAscii (BStreamFileToolkit &tk) |
Deprecated. | |
Protected Attributes | |
float | m_center [3] |
double | m_dcenter [3] |
double | m_dpoints [9] |
unsigned char | m_flags |
float | m_points [9] |
Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes.
TK_Circle provides support for writing/reading the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcode objects to/from an HSF file.
The HOOPS/3dGS scene-graph can contain various forms of a 'circle' primitive, defined by three non-colinear points.
TK_Circle::TK_Circle | ( | unsigned char | opcode | ) | [inline] |
constructor
TK_Status TK_Circle::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.
float const* TK_Circle::GetCenter | ( | ) | const [inline] |
Returns the center point of the arc as the address of a float triplet, null if not present
References TKO_Circular_Center.
double const* TK_Circle::GetDCenter | ( | ) | const [inline] |
Returns the center point of the arc as the address of a double triplet, null if not present
References TKO_Circular_Center.
double const* TK_Circle::GetDEnd | ( | ) | const [inline] |
Returns the end point of the arc as the address of a double triplet
double const* TK_Circle::GetDMiddle | ( | ) | const [inline] |
Returns the intermediate point of the arc as the address of a double triplet
double const* TK_Circle::GetDStart | ( | ) | const [inline] |
Returns the start point of the arc as the address of a double triplet
float const* TK_Circle::GetEnd | ( | ) | const [inline] |
Returns the end point of the arc as the address of a float triplet
float const* TK_Circle::GetMiddle | ( | ) | const [inline] |
Returns the intermediate point of the arc as the address of a float triplet
float const* TK_Circle::GetStart | ( | ) | const [inline] |
Returns the start point of the arc as the address of a float triplet
TK_Status TK_Circle::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_Circle::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_Circle::SetCenter | ( | float | x, |
float | y, | ||
float | z | ||
) | [inline] |
Sets the end point of the arc using discrete float values
References TKO_Circular_Center.
void TK_Circle::SetCenter | ( | float const | c[] | ) | [inline] |
Sets the end point of the arc using a float triplet
void TK_Circle::SetDCenter | ( | double | x, |
double | y, | ||
double | z | ||
) | [inline] |
Sets the end point of the arc using discrete double values
References TKO_Circular_Center.
void TK_Circle::SetDCenter | ( | double const | c[] | ) | [inline] |
Sets the end point of the arc using a double triplet
void TK_Circle::SetDEnd | ( | double | x, |
double | y, | ||
double | z | ||
) | [inline] |
Sets the end point of the arc using discrete double values
void TK_Circle::SetDEnd | ( | double const | e[] | ) | [inline] |
Sets the end point of the arc using a double triplet
void TK_Circle::SetDMiddle | ( | double | x, |
double | y, | ||
double | z | ||
) | [inline] |
Sets the intermediate point of the arc using discrete double values
void TK_Circle::SetDMiddle | ( | double const | m[] | ) | [inline] |
Sets the intermediate point of the arc using a double triplet
void TK_Circle::SetDPoints | ( | double const | s[], |
double const | m[], | ||
double const | e[], | ||
double const | c[] = 0 |
||
) | [inline] |
Sets the three points describing the arc using discrete double point triplets
void TK_Circle::SetDStart | ( | double | x, |
double | y, | ||
double | z | ||
) | [inline] |
Sets the start point of the arc using discrete double values
void TK_Circle::SetDStart | ( | double const | s[] | ) | [inline] |
Sets the start point of the arc using a double triplet
void TK_Circle::SetEnd | ( | float | x, |
float | y, | ||
float | z | ||
) | [inline] |
Sets the end point of the arc using discrete float values
void TK_Circle::SetEnd | ( | float const | e[] | ) | [inline] |
Sets the end point of the arc using a float triplet
void TK_Circle::SetMiddle | ( | float | x, |
float | y, | ||
float | z | ||
) | [inline] |
Sets the intermediate point of the arc using discrete float values
void TK_Circle::SetMiddle | ( | float const | m[] | ) | [inline] |
Sets the intermediate point of the arc using a float triplet
void TK_Circle::SetPoints | ( | float const | s[], |
float const | m[], | ||
float const | e[], | ||
float const | c[] = 0 |
||
) | [inline] |
Sets the three points describing the arc using discrete point triplets
void TK_Circle::SetStart | ( | float | x, |
float | y, | ||
float | z | ||
) | [inline] |
Sets the start point of the arc using discrete float values
void TK_Circle::SetStart | ( | float const | s[] | ) | [inline] |
Sets the start point of the arc using a float triplet
TK_Status TK_Circle::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.
float TK_Circle::m_center[3] [protected] |
internal use; explicit Center point
double TK_Circle::m_dcenter[3] [protected] |
internal use; explicit Center point
double TK_Circle::m_dpoints[9] [protected] |
internal use; Starting point
unsigned char TK_Circle::m_flags [protected] |
internal use; flag if Center point is specified
float TK_Circle::m_points[9] [protected] |
internal use; Starting point