# TK_Camera

## Functions

| `TK_Camera`
| `~TK_Camera`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
`TK_Status` | `ReadAscii`
`TK_Status` | `WriteAscii`
void | `SetPosition`
void | `SetPosition`
float const * | `GetPosition`
void | `GetPosition`
void | `SetDPosition`
void | `SetDPosition`
double const * | `GetDPosition`
void | `GetDPosition`
void | `SetTarget`
void | `SetTarget`
float const * | `GetTarget`
void | `GetTarget`
void | `SetDTarget`
void | `SetDTarget`
double const * | `GetDTarget`
void | `GetDTarget`
void | `SetUpVector`
void | `SetUpVector`
float const * | `GetUpVector`
void | `GetUpVector`
void | `SetDUpVector`
void | `SetDUpVector`
double const * | `GetDUpVector`
void | `GetDUpVector`
void | `SetField`
void | `SetField`
float const * | `GetField`
void | `GetField`
void | `SetDField`
void | `SetDField`
double const * | `GetDField`
void | `GetDField`
void | `SetOblique`
void | `SetOblique`
float const * | `GetOblique`
void | `GetOblique`
void | `SetNearLimit`
float | `GetNearLimit`
void | `SetProjection`
int | `GetProjection`
void | `SetView`
void | `SetView`
char const * | `GetView`
char * | `GetView`

## Detailed Description

class TK_Camera : public BBaseOpcodeHandler

  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.

  Public Functions

  inline TK_Camera(unsigned char opcode = TKE_Camera)

    constructor

  ~TK_Camera()
  virtual TK_Status Read(BStreamFileToolkit &tk)

    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.

  virtual TK_Status Write(BStreamFileToolkit &tk)

    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.

  virtual TK_Status Clone(BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const

    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.

  TK_Status ReadAscii(BStreamFileToolkit &tk)

    Deprecated.

  TK_Status WriteAscii(BStreamFileToolkit &tk)

    Deprecated.

  inline void SetPosition(float x, float y, float z)

    Sets the position of the camera using discrete float values

  inline void SetPosition(float const p[])

    Sets the position of the camera using a float triplet

  inline float const *GetPosition() const

    Returns the position of the camera as the address of a float triplet

  inline void GetPosition(float p[]) const

    Returns the position of the camera to a pre-allocated array

  inline void SetDPosition(double x, double y, double z)

    Sets the position of the camera using discrete double values

  inline void SetDPosition(double const p[])

    Sets the position of the camera using a double triplet

  inline double const *GetDPosition() const

    Returns the position of the camera as the address of a double triplet

  inline void GetDPosition(double p[]) const

    Returns the position of the camera to a pre-allocated array

  inline void SetTarget(float x, float y, float z)

    Sets the target of the camera using discrete float values

  inline void SetTarget(float const t[])

    Sets the target of the camera using a float triplet

  inline float const *GetTarget() const

    Returns the target of the camera as the address of a float triplet

  inline void GetTarget(float t[]) const

    Returns the target of the camera to a pre-allocated array

  inline void SetDTarget(double x, double y, double z)

    Sets the target of the camera using discrete double values

  inline void SetDTarget(double const t[])

    Sets the target of the camera using a double triplet

  inline double const *GetDTarget() const

    Returns the target of the camera as the address of a float triplet

  inline void GetDTarget(double t[]) const

    Returns the target of the camera to a pre-allocated array

  inline void SetUpVector(float x, float y, float z)

    Sets the up-vector of the camera using discrete float values

  inline void SetUpVector(float const u[])

    Sets the up-vector of the camera using a float triplet

  inline float const *GetUpVector() const

    Returns the up-vector of the camera as the address of a float triplet

  inline void GetUpVector(float u[]) const

    Returns the up-vector of the camera to a pre-allocated array

  inline void SetDUpVector(double x, double y, double z)

    Sets the up-vector of the camera using discrete double values

  inline void SetDUpVector(double const u[])

    Sets the up-vector of the camera using a float triplet

  inline double const *GetDUpVector() const

    Returns the up-vector of the camera as the address of a float triplet

  inline void GetDUpVector(double u[]) const

    Returns the up-vector of the camera to a pre-allocated array

  inline void SetField(float w, float h)

    Sets the camera field size using discrete float values

  inline void SetField(float const f[])

    Sets the camera field size using a float pair

  inline float const *GetField() const

    Returns the camera field size as the address of a float pair

  inline void GetField(float f[]) const

    Returns the camera field size to a pre-allocated array

  inline void SetDField(double w, double h)

    Sets the camera field size using discrete double values

  inline void SetDField(double const f[])

    Sets the camera field size using a float pair

  inline double const *GetDField() const

    Returns the camera field size as the address of a float pair

  inline void GetDField(double f[]) const

    Returns the camera field size to a pre-allocated array

  inline void SetOblique(float h, float v)

    Sets the camera oblique angles (degrees) using discrete float values

  inline void SetOblique(float const o[])

    Sets the camera oblique angles (degrees) using a float pair

  inline float const *GetOblique() const

    Returns the camera oblique angles as the address of a float pair

  inline void GetOblique(float o[]) const

    Returns the camera oblique angles to a pre-allocated array

  inline void SetNearLimit(float l)

    Sets the camera field size using discrete float values

  inline float GetNearLimit() const

    Returns the camera field size as the address of a float pair

  inline void SetProjection(int p)

    Sets the projection type. Projection types are specified by TKO_Camera_Projection.

  inline int GetProjection() const

    Returns the projection type. Projection types are specified by TKO_Camera_Projection.

  inline void SetView(char const *name)

    Sets the view name. Allocates the buffer and copies the string

  inline void SetView(int length)

    Sets the view name buffer. Allocates a buffer which can hold a srting of ‘length’ characters

  inline char const *GetView() const

    Returns the view name.

  inline char *GetView()

    Returns the view name buffer, which may be modified directly