# TK_Matrix

## Functions

| `TK_Matrix`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
`TK_Status` | `ReadAscii`
`TK_Status` | `WriteAscii`
void | `SetMatrix`
void | `SetDMatrix`
float const * | `GetMatrix`
float * | `GetMatrix`
double const * | `GetDMatrix`
double * | `GetDMatrix`

## Detailed Description

class TK_Matrix : public BBaseOpcodeHandler

  Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes.

  TK_Matrix provides support for writing/reading the TKE_Modelling_Matrix and TKE_Texture_Matrix opcode objects to/from an HSF file.

  The HOOPS/3dGS scene-graph supports modelling and texture matrices.

  Subclassed by HTK_Matrix

  Public Functions

  inline TK_Matrix(unsigned char opcode)

    constructor

  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 SetMatrix(float const m[])

    Sets the matrix to the specified values

  inline void SetDMatrix(double const m[])

    Sets the matrix to the specified values

  inline float const *GetMatrix() const

    Returns the matrix as the address of the array of floats

  inline float *GetMatrix()

    Returns the matrix as the address of the array of floats, which may be modified directly

  inline double const *GetDMatrix() const

    Returns the matrix as the address of the array of doubles

  inline double *GetDMatrix()

    Returns the matrix as the address of the array of doubles, which may be modified directly