Handles the TKE_Camera opcode. More...
#include <BOpcodeHandler.h>
Public Member Functions | |
TK_Status | Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const |
float const * | GetField () const |
void | GetField (float *f) const |
float | GetNearLimit () const |
float const * | GetOblique () const |
void | GetOblique (float *o) const |
float const * | GetPosition () const |
void | GetPosition (float *p) const |
int | GetProjection () const |
float const * | GetTarget () const |
void | GetTarget (float *t) const |
float const * | GetUpVector () const |
void | GetUpVector (float *u) const |
char const * | GetView () const |
char alter * | GetView () alter |
TK_Status | Read (BStreamFileToolkit &tk) alter |
TK_Status | ReadAscii (BStreamFileToolkit &tk) alter |
Deprecated. | |
void | SetField (float w, float h) alter |
void | SetField (float const *f) alter |
void | SetNearLimit (float l) alter |
void | SetOblique (float h, float v) alter |
void | SetOblique (float const *o) alter |
void | SetPosition (float x, float y, float z) alter |
void | SetPosition (float const *p) alter |
void | SetProjection (int p) alter |
void | SetTarget (float x, float y, float z) alter |
void | SetTarget (float const *t) alter |
void | SetUpVector (float x, float y, float z) alter |
void | SetUpVector (float const *u) alter |
void | SetView (char const *name) alter |
void | SetView (int length) 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 (char const *name) alter |
internal use | |
void | set_name (int length) alter |
internal use | |
Protected Attributes | |
int | m_length |
char * | m_name |
unsigned char | m_projection |
internal use | |
float | m_settings [14] |
Handles the TKE_Camera opcode.
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.
float const* TK_Camera::GetField | ( | ) | const [inline] |
Returns the camera field size as the address of a float pair
void TK_Camera::GetField | ( | float * | f | ) | const [inline] |
Returns the camera field size to a pre-allocated array
References GetField().
Referenced by GetField().
float TK_Camera::GetNearLimit | ( | ) | const [inline] |
Returns the camera field size as the address of a float pair
float const* TK_Camera::GetOblique | ( | ) | const [inline] |
Returns the camera oblique angles 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
References GetOblique().
Referenced by GetOblique().
float const* TK_Camera::GetPosition | ( | ) | const [inline] |
Returns the position of the camera as the address of a float triplet
void TK_Camera::GetPosition | ( | float * | p | ) | const [inline] |
Returns the position of the camera to a pre-allocated array
References GetPosition().
Referenced by GetPosition().
int TK_Camera::GetProjection | ( | ) | const [inline] |
Returns the projection type. Projection types are specified by TKO_Camera_Projection.
float const* TK_Camera::GetTarget | ( | ) | const [inline] |
Returns the target of the camera as the address of a float triplet
void TK_Camera::GetTarget | ( | float * | t | ) | const [inline] |
Returns the target of the camera to a pre-allocated array
References GetTarget().
Referenced by GetTarget().
float const* TK_Camera::GetUpVector | ( | ) | const [inline] |
Returns the up-vector 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
References GetUpVector().
Referenced by GetUpVector().
char const* TK_Camera::GetView | ( | ) | const [inline] |
Returns the view name.
char alter* TK_Camera::GetView | ( | ) | [inline] |
Returns the view name buffer, which may be modified directly
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 | w, |
float | h | ||
) | [inline] |
Sets the camera field size using discrete float values
void TK_Camera::SetField | ( | float const * | f | ) | [inline] |
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 | 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::SetOblique | ( | float const * | o | ) | [inline] |
Sets the camera oblique angles (degrees) using a float pair
References SetOblique().
Referenced by SetOblique().
void TK_Camera::SetPosition | ( | float | x, |
float | y, | ||
float | z | ||
) | [inline] |
Sets the position of the camera using discrete float values
void TK_Camera::SetPosition | ( | float const * | p | ) | [inline] |
Sets the position of the camera using a float triplet
References SetPosition().
Referenced by SetPosition().
void TK_Camera::SetProjection | ( | int | p | ) | [inline] |
Sets the projection type. Projection types are specified by TKO_Camera_Projection.
void TK_Camera::SetTarget | ( | float | x, |
float | y, | ||
float | z | ||
) | [inline] |
Sets the target of the camera using discrete float values
void TK_Camera::SetTarget | ( | float const * | t | ) | [inline] |
Sets the target of the camera using a float triplet
References SetTarget().
Referenced by SetTarget().
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::SetUpVector | ( | float const * | u | ) | [inline] |
Sets the up-vector of the camera using a float triplet
References SetUpVector().
Referenced by SetUpVector().
void TK_Camera::SetView | ( | char const * | name | ) | [inline] |
Sets the view name. Allocates the buffer and copies the string
void TK_Camera::SetView | ( | int | length | ) | [inline] |
Sets the view name buffer. Allocates a buffer which can hold a srting of 'length' characters
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