# TK_Text

## Functions

| `TK_Text`
| `~TK_Text`
`TK_Status` | `Read`
`TK_Status` | `Write`
`TK_Status` | `Clone`
`TK_Status` | `ReadAscii`
`TK_Status` | `WriteAscii`
void | `Reset`
void | `SetString`
void | `SetString`
void | `SetString`
void | `SetString`
char const * | `GetString`
char * | `GetString`
void | `SetPosition`
void | `SetPosition`
float const * | `GetPosition`
void | `SetDPosition`
void | `SetDPosition`
double const * | `GetDPosition`
void | `SetEncoding`
int | `GetEncoding`
void | `SetTextRegion`
void | `SetTextDRegion`
int | `GetTextRegionCount`
float const * | `GetTextRegionPoints`
double const * | `GetTextRegionDPoints`
int | `GetTextRegionOptions`
int | `GetTextRegionFitting`
void | `SetStringCursors`
int | `GetStringCursorCount`
int const * | `GetStringCursors`
int * | `GetStringCursors`
void | `SetTextLeaders`
int | `GetTextLeaderCount`
float const * | `GetTextLeaders`
float * | `GetTextLeaders`
unsigned char const * | `GetTextLeaderFlags`
unsigned char * | `GetTextLeaderFlags`
void | `SetDTextLeaders`
int | `GetDTextLeaderCount`
double const * | `GetDTextLeaders`
double * | `GetDTextLeaders`
unsigned char const * | `GetDTextLeaderFlags`
unsigned char * | `GetDTextLeaderFlags`

## Detailed Description

class `TK_Text` : public BBaseOpcodeHandler

  Handles the TKE_Text and TKE_Text_With_Encoding opcodes.

  TK_Text provides support for writing/reading the TKE_Text and TKE_Text_With_Encoding opcode objects to/from an HSF file.

  The HOOPS/3dGS scene-graph can contain ‘text’ primitives which are defined by a position and character string, and possibly by an encoding value for multibyte (non-ASCII) text.

  Public Functions

  `TK_Text`(unsigned char opcode)

    constructor

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

  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 `SetString`(char const *string)

    Sets the text string. Allocates the buffer and copies the string

  void `SetString`(unsigned short const *string)

    Sets the text string using Unicode data. Allocates the buffer and copies the string, and sets encoding

  void `SetString`(unsigned int const *string)

    Sets the text string using wide Unicode data. Allocates the buffer and copies the string, and sets encoding

  inline void `SetString`(int length)

    Sets the text string buffer. Allocates a buffer large enough to hold a string of ‘length’ bytes

  inline char const *`GetString`() const

    Returns the text string (if encoding is a form of Unicode, the pointer should be recast to the correct type)

  inline char *`GetString`()

    Returns the text string buffer, which may be modified directly (if encoding is a form of Unicode, the pointer should be recast to the correct type)

  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 double triplet

  inline double const *`GetDPosition`() const

    Returns the text position as the address of a double triplet

  inline void `SetEncoding`(int e)

    Set the type of encoding for this string. Encodings are specified by TKO_Text_Encodings.

  inline int `GetEncoding`() const

    Returns the type of encoding for this string. Encodings are specified by TKO_Text_Encodings.

  void `SetTextRegion`(int c, float const p[], int o = 0, int f = 0)

    Set the text region for this string.

  void `SetTextDRegion`(int c, double const p[], int o = 0, int f = 0)

    Set the text region for this string.

  inline int `GetTextRegionCount`() const

    Returns the number of points defining the text region.

  inline float const *`GetTextRegionPoints`() const

    Returns the points defining the text region.

  inline double const *`GetTextRegionDPoints`() const

    Returns the points defining the text region.

  inline int `GetTextRegionOptions`() const

    Returns the options for the text region.

  inline int `GetTextRegionFitting`() const

    Returns the fit options for the text region.

  void `SetStringCursors`(int length, int *locations = 0)

    Sets the text string cursors. Allocates a buffer large enough to hold a ‘length’ row/column pairs, and optionally copies data

  inline int `GetStringCursorCount`() const

    Returns the number of string cursors

  inline int const *`GetStringCursors`() const

    Returns the string cursor buffer

  inline int *`GetStringCursors`()

    Returns the string cursor buffer, which may be modified directly

  void `SetTextLeaders`(int length, float *locations = 0, unsigned char *flags = 0)

    Sets the text leaders. Allocates a buffer large enough to hold a ‘length’ points & flags, and optionally copies data

  inline int `GetTextLeaderCount`() const

    Returns the number of text leaders

  inline float const *`GetTextLeaders`() const

    Returns the text leader buffer

  inline float *`GetTextLeaders`()

    Returns the text leader buffer, which may be modified directly

  inline unsigned char const *`GetTextLeaderFlags`() const

    Returns the text leader flags buffer

  inline unsigned char *`GetTextLeaderFlags`()

    Returns the text leader flags buffer, which may be modified directly

  void `SetDTextLeaders`(int length, double *locations = 0, unsigned char *flags = 0)

    Sets the text leaders. Allocates a buffer large enough to hold a ‘length’ dpoints & flags, and optionally copies data

  inline int `GetDTextLeaderCount`() const

    Returns the number of text leaders

  inline double const *`GetDTextLeaders`() const

    Returns the text leader buffer

  inline double *`GetDTextLeaders`()

    Returns the text leader buffer, which may be modified directly

  inline unsigned char const *`GetDTextLeaderFlags`() const

    Returns the text leader flags buffer

  inline unsigned char *`GetDTextLeaderFlags`()

    Returns the text leader flags buffer, which may be modified directly

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize 3DF in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize 3DF?
What are the latest release notes for HOOPS Visualize 3DF?
How do I start evaluating HOOPS Visualize 3DF?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...