# TK_Image

## Functions

| `TK_Image`
| `~TK_Image`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
`TK_Status` | `ReadAscii`
`TK_Status` | `WriteAscii`
`TK_Status` | `compress_image_ascii`
void | `Reset`
void | `SetBytes`
char const * | `GetBytes`
char * | `GetBytes`
void | `SetName`
void | `SetName`
char const * | `GetName`
char * | `GetName`
void | `SetReference`
void | `SetReference`
char const * | `GetReference`
char * | `GetReference`
void | `SetPosition`
void | `SetPosition`
float const * | `GetPosition`
void | `SetDPosition`
void | `SetDPosition`
double const * | `GetDPosition`
void | `SetSize`
void | `SetSize`
int const * | `GetSize`
void | `SetFormat`
int | `GetFormat`
void | `SetOptions`
int | `GetOptions`
void | `SetCompression`
int | `GetCompression`

## Detailed Description

class TK_Image : public BBaseOpcodeHandler

  Handles the TKE_Image opcode.

  TK_Image provides support for writing/reading the TKE_Image opcode object to/from an HSF file.

  The HOOPS/3dGS scene-graph supports ‘image’ primitives which are defined by a position, size (width and height), and an array of bytes which is interpretted according to the specified format.

  Subclassed by HTK_Image

  Public Functions

  TK_Image()

    constructor

  ~TK_Image()
  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.

  TK_Status compress_image_ascii(BStreamFileToolkit &tk)
  virtual void Reset()

    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.

  inline void SetBytes(int size, char const *bytes = 0, unsigned char data_format = TKO_Compression_None)

    Sets the image data. Allocates a buffer which can hold ‘size’ bytes, and if specified, copies the data from ‘bytes’ to the buffer

  inline char const *GetBytes() const

    Returns the address of the data buffer

  inline char *GetBytes()

    Returns the address of the data buffer, which may be modified directly

  inline void SetName(char const *string)

    Sets the name of the image. Allocates the buffer and copies the string

  inline void SetName(int length)

    Sets the name buffer. Allocates a buffer large enough to hold a string of ‘length’ characters

  inline char const *GetName() const

    Returns the image name string

  inline char *GetName()

    Returns the image name string buffer, which may be modified directly

  void SetReference(char const *string)

    Sets the reference to the image data. Allocates the buffer and copies the string

  void SetReference(int length)

    Sets the reference buffer. Allocates a buffer large enough to hold a string of ‘length’ characters

  inline char const *GetReference() const

    Returns the reference string

  inline char *GetReference()

    Returns the reference string buffer, which may be modified directly

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

    Sets the text position using discrete float values

  inline void SetPosition(float const p[])

    Sets the text position using a float triplet

  inline float const *GetPosition() const

    Returns the text position as the address of a float triplet

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

    Sets the text position using discrete double values

  inline void SetDPosition(double const p[])

    Sets the text position using a float triplet

  inline double const *GetDPosition() const

    Returns the text position as the address of a float triplet

  inline void SetSize(int w, int h)

    Sets the size of the image using discrete integer values

  inline void SetSize(int const s[])

    Sets the size of the image using an array of integer values

  inline int const *GetSize() const

    Returns the size of the image as the address of a pair of integers

  inline void SetFormat(int f)

    Sets the format of the image. Formats are specified in TKO_Image_Formats.

  inline int GetFormat() const

    Returns the format of the image. Formats are specified in TKO_Image_Formats.

  inline void SetOptions(int f)

    Sets the options of the image. Options are specified in TKO_Image_Formats.

  inline int GetOptions() const

    Returns the options of the image. Options are specified in TKO_Image_Formats.

  inline void SetCompression(int c)

    Sets how the image data is compressed. Compression types are specified in TKO_Compression.

  inline int GetCompression() const

    Returns how the image data is compressed. Compression types are specified in TKO_Compression.