#include <BOpcodeHandler.h>

Public Member Functions | |
| TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
| void | GetField (float *f) const |
| float const * | GetField () const |
| float | GetNearLimit () const |
| void | GetOblique (float *o) const |
| float const * | GetOblique () const |
| void | GetPosition (float *p) const |
| float const * | GetPosition () const |
| int | GetProjection () const |
| void | GetTarget (float *t) const |
| float const * | GetTarget () const |
| void | GetUpVector (float *u) const |
| float const * | GetUpVector () const |
| char alter * | GetView () alter |
| char const * | GetView () const |
| TK_Status | Read (BStreamFileToolkit &tk) alter |
| TK_Status | ReadAscii (BStreamFileToolkit &tk) alter |
| Deprecated. | |
| void | SetField (float const *f) alter |
| void | SetField (float w, float h) alter |
| void | SetNearLimit (float l) alter |
| void | SetOblique (float const *o) alter |
| void | SetOblique (float h, float v) alter |
| void | SetPosition (float const *p) alter |
| void | SetPosition (float x, float y, float z) alter |
| void | SetProjection (int p) alter |
| void | SetTarget (float const *t) alter |
| void | SetTarget (float x, float y, float z) alter |
| void | SetUpVector (float const *u) alter |
| void | SetUpVector (float x, float y, float z) alter |
| void | SetView (int length) alter |
| void | SetView (char const *name) alter |
| TK_Camera (unsigned char opcode=TKE_Camera) | |
| TK_Status | Write (BStreamFileToolkit &tk) alter |
| TK_Status | WriteAscii (BStreamFileToolkit &tk) alter |
| Deprecated. | |
Protected Member Functions | |
| void | set_name (int length) alter |
| internal use | |
| void | set_name (char const *name) alter |
| internal use | |
Protected Attributes | |
| int | m_length |
| char * | m_name |
| unsigned char | m_projection |
| internal use | |
| float | m_settings [14] |
TK_Camera provides support for writing/reading the TKE_Camera opcode object to/from an HSF file.
The HOOPS/3dGS scene-graph supports a camera, which is a segment attribute defining a specific view of world space.
| TK_Camera::TK_Camera | ( | unsigned char | opcode = TKE_Camera |
) | [inline] |
constructor
| TK_Status TK_Camera::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.
Reimplemented in HTK_Camera.
| void TK_Camera::GetField | ( | float * | f | ) | const [inline] |
Returns the camera field size to a pre-allocated array
| float const* TK_Camera::GetField | ( | ) | const [inline] |
Returns the camera field size as the address of a float pair
| float TK_Camera::GetNearLimit | ( | ) | const [inline] |
Returns the camera field size as the address of a float pair
| void TK_Camera::GetOblique | ( | float * | o | ) | const [inline] |
Returns the camera oblique angles to a pre-allocated array
| float const* TK_Camera::GetOblique | ( | ) | const [inline] |
Returns the camera oblique angles as the address of a float pair
| void TK_Camera::GetPosition | ( | float * | p | ) | const [inline] |
Returns the position of the camera to a pre-allocated array
| float const* TK_Camera::GetPosition | ( | ) | const [inline] |
Returns the position of the camera as the address of a float triplet
| int TK_Camera::GetProjection | ( | ) | const [inline] |
Returns the projection type. Projection types are specified by TKO_Camera_Projection.
| void TK_Camera::GetTarget | ( | float * | t | ) | const [inline] |
Returns the target of the camera to a pre-allocated array
| float const* TK_Camera::GetTarget | ( | ) | const [inline] |
Returns the target of the camera as the address of a float triplet
| void TK_Camera::GetUpVector | ( | float * | u | ) | const [inline] |
Returns the up-vector of the camera to a pre-allocated array
| float const* TK_Camera::GetUpVector | ( | ) | const [inline] |
Returns the up-vector of the camera as the address of a float triplet
| char alter* TK_Camera::GetView | ( | ) | [inline] |
Returns the view name buffer, which may be modified directly
| char const* TK_Camera::GetView | ( | ) | const [inline] |
Returns the view name.
| TK_Status TK_Camera::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_Camera::SetField | ( | float const * | f | ) | [inline] |
Sets the camera field size using a float pair
| void TK_Camera::SetField | ( | float | w, | |
| float | h | |||
| ) | [inline] |
Sets the camera field size using discrete float values
| void TK_Camera::SetNearLimit | ( | float | l | ) | [inline] |
Sets the camera field size using discrete float values
References TKO_Camera_Near_Limit.
| void TK_Camera::SetOblique | ( | float const * | o | ) | [inline] |
Sets the camera oblique angles (degrees) using a float pair
| void TK_Camera::SetOblique | ( | float | h, | |
| float | v | |||
| ) | [inline] |
Sets the camera oblique angles (degrees) using discrete float values
References TKO_Camera_Oblique_Mask, and TKO_Camera_Oblique_Y.
| void TK_Camera::SetPosition | ( | float const * | p | ) | [inline] |
Sets the position of the camera using a float triplet
| void TK_Camera::SetPosition | ( | float | x, | |
| float | y, | |||
| float | z | |||
| ) | [inline] |
Sets the position of the camera using discrete float values
| void TK_Camera::SetProjection | ( | int | p | ) | [inline] |
Sets the projection type. Projection types are specified by TKO_Camera_Projection.
| void TK_Camera::SetTarget | ( | float const * | t | ) | [inline] |
Sets the target of the camera using a float triplet
| void TK_Camera::SetTarget | ( | float | x, | |
| float | y, | |||
| float | z | |||
| ) | [inline] |
Sets the target of the camera using discrete float values
| void TK_Camera::SetUpVector | ( | float const * | u | ) | [inline] |
Sets the up-vector of the camera using a float triplet
| void TK_Camera::SetUpVector | ( | float | x, | |
| float | y, | |||
| float | z | |||
| ) | [inline] |
Sets the up-vector of the camera using discrete float values
| void TK_Camera::SetView | ( | int | length | ) | [inline] |
Sets the view name buffer. Allocates a buffer which can hold a srting of 'length' characters
| void TK_Camera::SetView | ( | char const * | name | ) | [inline] |
Sets the view name. Allocates the buffer and copies the string
| TK_Status TK_Camera::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.
int TK_Camera::m_length [protected] |
Length of view name
char* TK_Camera::m_name [protected] |
View name
float TK_Camera::m_settings[14] [protected] |
internal use; stored in the following order: position(3), target(3), up(3), width, height, oblique(2), near_limnit Position, target, and up are all object space. Width and height define the span of the minimum area around the target to be visible