Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
TK_Text_Font Class Reference

Handles the TKE_Text_Font opcode. More...

#include <BOpcodeHandler.h>

Public Member Functions

TK_Status Clone (BStreamFileToolkit &tk, BBaseOpcodeHandler **handler) const
 
float GetExtraSpace () const
 
int GetExtraSpaceUnits () const
 
float GetGreekingLimit () const
 
int GetGreekingLimitUnits () const
 
int GetGreekingMode () const
 
float GetLineSpacing () const
 
int GetMask () const
 
char const * GetNames () const
 
char alterGetNames () alter
 
int GetPreference () const
 
float GetPreferenceCutoff () const
 
int GetPreferenceCutoffUnits () const
 
int const * GetPreferences () const
 
int GetRenderer () const
 
float GetRendererCutoff () const
 
int GetRendererCutoffUnits () const
 
int const * GetRenderers () const
 
float GetRotation () const
 
float GetSize () const
 
int GetSizeUnits () const
 
float GetSlant () const
 
float GetTolerance () const
 
int GetToleranceUnits () const
 
int GetTransforms () const
 
int GetValue () const
 
float GetWidthScale () const
 
TK_Status Read (BStreamFileToolkit &tk) alter
 
TK_Status ReadAscii (BStreamFileToolkit &tk) alter
 Deprecated.
 
void Reset () alter
 
void SetExtraSpace (float s) alter
 
void SetExtraSpaceUnits (int u) alter
 
void SetGreekingLimit (float s) alter
 
void SetGreekingLimitUnits (int u) alter
 
void SetGreekingMode (int m) alter
 
void SetLineSpacing (float s) alter
 
void SetMask (int m) alter
 
void SetNames (char const *names) alter
 
void SetNames (int length) alter
 
void SetPreference (int r) alter
 
void SetPreferenceCutoff (float s) alter
 
void SetPreferenceCutoffUnits (int u) alter
 
void SetPreferences (int r1, int r2) alter
 
void SetRenderer (int r) alter
 
void SetRendererCutoff (float s) alter
 
void SetRendererCutoffUnits (int u) alter
 
void SetRenderers (int r1, int r2) alter
 
void SetRotation (float r) alter
 
void SetSize (float s) alter
 
void SetSizeUnits (int u) alter
 
void SetSlant (float s) alter
 
void SetTolerance (float t) alter
 
void SetToleranceUnits (int u) alter
 
void SetTransforms (int t) alter
 
void SetValue (int v) alter
 
void SetWidthScale (float s) alter
 
 TK_Text_Font ()
 
TK_Status Write (BStreamFileToolkit &tk) alter
 
TK_Status WriteAscii (BStreamFileToolkit &tk) alter
 Deprecated.
 
- Public Member Functions inherited from BBaseOpcodeHandler
 BBaseOpcodeHandler (int op)
 
virtual TK_Status Execute (BStreamFileToolkit &tk) alter
 
char const * GetLoggingString () const
 
char alterGetLoggingString () alter
 
virtual TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, int variant=0) alter
 
virtual TK_Status Interpret (BStreamFileToolkit &tk, ID_Key key, char const *special) alter
 
void LogDebug (BStreamFileToolkit &tk, char const *string=0) alter
 
virtual bool Match_Instance (BStreamFileToolkit const &tk, Recorded_Instance alter *instance) alter
 
virtual bool NeedsContext (BStreamFileToolkit &tk) const
 
bool NeedsTag () const
 
unsigned char Opcode () const
 
int Pass (BStreamFileToolkit &tk) const
 
void SetLoggingString (char const *segment) alter
 
void SetLoggingString (int length) alter
 
void SetNeedsTag (bool n) alter
 
TK_Status Tag (BStreamFileToolkit &tk, int variant=-1) const
 
bool Tagging (BStreamFileToolkit &tk) const
 
- Public Member Functions inherited from BControlledMemoryObject
void operator delete (void *p)
 force deallocation to happen in the stream toolkit's scope
 
void * operator new (size_t size)
 force allocation to happen in the stream toolkit's scope
 

Protected Member Functions

void set_names (int length) alter
 for internal use only
 
void set_names (char const *names) alter
 for internal use only
 
- Protected Member Functions inherited from BBaseOpcodeHandler
void add_segment (BStreamFileToolkit &tk, ID_Key key) alter
 for internal use only
 
void adjust_written (BStreamFileToolkit &tk, int count) alter
 for internal use only
 
void bytes_to_floats (unsigned char const *in, float alter *out, int count) const
 for internal use only
 
void decrease_nesting (BStreamFileToolkit &tk, int amount=1) alter
 for internal use only
 
bool Find_Instance (BStreamFileToolkit &tk, int val1, int val2, int val3) alter
 
bool Find_Item (BStreamFileToolkit &tk, ID_Key key) const
 
void fix (int *i, int n)
 for internal use only
 
void fix (short *s, int n)
 for internal use only
 
void fix_in (float *f, int n)
 for internal use only
 
void fix_out (float *f, int n)
 for internal use only
 
short flip (short s)
 for internal use only
 
int flip (int i)
 for internal use only
 
void floats_to_bytes (float const *in, unsigned char alter *out, int count) const
 for internal use only
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, int *rInts, unsigned int n) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned char &value) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, char &value) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned short &value) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, short &value) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, int &value) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, float &value) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, float *rFloats, unsigned int n) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, char *m_string, unsigned int n) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned char *m_string, unsigned int n) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, int *rInts, unsigned int n) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, short *rShorts, unsigned int n) alter
 
TK_Status GetAsciiData (BStreamFileToolkit &tk, const char *tag, unsigned short *rShorts, unsigned int n) alter
 
TK_Status GetAsciiHex (BStreamFileToolkit &tk, const char *tag, unsigned char &value) alter
 
TK_Status GetAsciiHex (BStreamFileToolkit &tk, const char *tag, int &value) alter
 
TK_Status GetAsciiHex (BStreamFileToolkit &tk, const char *tag, char &value) alter
 
TK_Status GetAsciiHex (BStreamFileToolkit &tk, const char *tag, unsigned short &value) alter
 
TK_Status GetAsciiImageData (BStreamFileToolkit &tk, const char *tag, unsigned char *rValues, unsigned int n) alter
 
TK_Status GetData (BStreamFileToolkit &tk, char *b, int n) alter
 
TK_Status GetData (BStreamFileToolkit &tk, short *s, int n) alter
 
TK_Status GetData (BStreamFileToolkit &tk, int *i, int n) alter
 
TK_Status GetData (BStreamFileToolkit &tk, float *f, int n) alter
 
TK_Status GetData (BStreamFileToolkit &tk, unsigned char *b, int n) alter
 
TK_Status GetData (BStreamFileToolkit &tk, unsigned short *s, int n) alter
 
TK_Status GetData (BStreamFileToolkit &tk, unsigned int *i, int n) alter
 
TK_Status GetData (BStreamFileToolkit &tk, char &c) alter
 
TK_Status GetData (BStreamFileToolkit &tk, short &s) alter
 
TK_Status GetData (BStreamFileToolkit &tk, int &i) alter
 
TK_Status GetData (BStreamFileToolkit &tk, unsigned char &b) alter
 
TK_Status GetData (BStreamFileToolkit &tk, unsigned short &s) alter
 
TK_Status GetData (BStreamFileToolkit &tk, unsigned int &i) alter
 
TK_Status GetData (BStreamFileToolkit &tk, float &f) alter
 
void increase_nesting (BStreamFileToolkit &tk, int amount=1) alter
 for internal use only
 
ID_Key last_key (BStreamFileToolkit &tk) const
 obsolete
 
void log_opcode (BStreamFileToolkit &tk, unsigned int sequence, unsigned char opcode) alter
 for internal use only
 
TK_Status LookatData (BStreamFileToolkit &tk, unsigned char &b) alter
 
BBaseOpcodeHandler alterOpcode_Handler (BStreamFileToolkit &tk, unsigned char op) const
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const *b, int n) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const *s, int n) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const *i, int n) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const *f, int n) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const *b, int n) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const *s, int n) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const *i, int n) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, char const &c) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, short const &s) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, int const &i) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned char const &b) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned short const &s) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, unsigned int const &i) alter
 
TK_Status PutAsciiData (BStreamFileToolkit &tk, char const *tag, float const &f) alter
 
TK_Status PutAsciiFlag (BStreamFileToolkit &tk, char const *tag, int const &i) alter
 
TK_Status PutAsciiHex (BStreamFileToolkit &tk, char const *tag, int const &i) alter
 
TK_Status PutAsciiMask (BStreamFileToolkit &tk, char const *tag, int const &i) alter
 
TK_Status PutAsciiOpcode (BStreamFileToolkit &tk, int adjust=1, bool is_end=false, bool want_newline=true) alter
 
TK_Status PutData (BStreamFileToolkit &tk, char const *b, int n) alter
 
TK_Status PutData (BStreamFileToolkit &tk, short const *s, int n) alter
 
TK_Status PutData (BStreamFileToolkit &tk, int const *i, int n) alter
 
TK_Status PutData (BStreamFileToolkit &tk, float const *f, int n) alter
 
TK_Status PutData (BStreamFileToolkit &tk, unsigned char const *b, int n) alter
 
TK_Status PutData (BStreamFileToolkit &tk, unsigned short const *s, int n) alter
 
TK_Status PutData (BStreamFileToolkit &tk, unsigned int const *i, int n) alter
 
TK_Status PutData (BStreamFileToolkit &tk, char const &c) alter
 
TK_Status PutData (BStreamFileToolkit &tk, short const &s) alter
 
TK_Status PutData (BStreamFileToolkit &tk, int const &i) alter
 
TK_Status PutData (BStreamFileToolkit &tk, unsigned char const &b) alter
 
TK_Status PutData (BStreamFileToolkit &tk, unsigned short const &s) alter
 
TK_Status PutData (BStreamFileToolkit &tk, unsigned int const &i) alter
 
TK_Status PutData (BStreamFileToolkit &tk, float const &f) alter
 
TK_Status PutEndXMLTag (BStreamFileToolkit &tk, char const *tag) alter
 
TK_Status PutOpcode (BStreamFileToolkit &tk, int adjust=1) alter
 
TK_Status PutStartXMLTag (BStreamFileToolkit &tk, char const *tag) alter
 
TK_Status Read_Referenced_Segment (BStreamFileToolkit &tk, int &i_progress) alter
 
TK_Status ReadAsciiLine (BStreamFileToolkit &tk, unsigned int *readSize=0) alter
 
TK_Status ReadAsciiWord (BStreamFileToolkit &tk, unsigned int *readSize=0) alter
 
TK_Status ReadEndOpcode (BStreamFileToolkit &tk) alter
 
void Record_Instance (BStreamFileToolkit &tk, ID_Key key, int variant, int val1, int val2, int val3) const
 
void Remember_Item (BStreamFileToolkit &tk, ID_Key key) const
 
ID_Key remove_segment (BStreamFileToolkit &tk) alter
 for internal use only
 
bool RemoveAngularBrackets (char *string) alter
 
bool RemoveQuotes (char *string) alter
 
void Revisit (BStreamFileToolkit &tk, float priority=0.0f, int variant=0) const
 
void set_last_key (BStreamFileToolkit &tk, ID_Key key) alter
 sets the given key as "most recent" on the toolkit for the purposes of associating keys with indices
 
TK_Status SkipNewlineAndTabs (BStreamFileToolkit &tk, unsigned int *readSize=0) alter
 
bool validate_count (int count, int limit=1<< 24) const
 

Protected Attributes

float m_extra_space
 for internal use only
 
float m_greeking_limit
 for internal use only
 
unsigned char m_greeking_mode
 for internal use only
 
unsigned char m_greeking_units
 for internal use only
 
float m_line_spacing
 for internal use only
 
int m_mask
 specifies which rendering options are active (and hence, which are valid). For internal use only.
 
char * m_names
 for internal use only
 
int m_names_length
 for internal use only
 
float m_preference_cutoff
 for internal use only
 
unsigned char m_preference_cutoff_units
 for internal use only
 
int m_preferences [2]
 for internal use only
 
float m_renderer_cutoff
 for internal use only
 
unsigned char m_renderer_cutoff_units
 for internal use only
 
int m_renderers [2]
 for internal use only
 
float m_rotation
 for internal use only
 
float m_size
 for internal use only
 
unsigned char m_size_units
 for internal use only
 
float m_slant
 for internal use only
 
unsigned char m_space_units
 for internal use only
 
float m_tolerance
 for internal use only
 
unsigned char m_tolerance_units
 for internal use only
 
unsigned char m_transforms
 for internal use only
 
int m_value
 specifies what values to set for boolean options. For internal use only.
 
float m_width_scale
 for internal use only
 
- Protected Attributes inherited from BBaseOpcodeHandler
char * m_ascii_buffer
 
int m_ascii_length
 
int m_ascii_progress
 Tracks the amount of data that has been read/written so far by GetAscii functions.
 
int m_ascii_size
 
int m_ascii_stage
 
unsigned char m_byte
 temporary
 
char m_char
 temporary
 
int m_debug_allocated
 
int m_debug_length
 
char * m_debug_string
 
int m_int
 temporary
 
bool m_needs_tag
 Indicate if this object explicitly needs tagging.
 
unsigned char m_opcode
 The opcode being handled by this particular object.
 
int m_progress
 Tracks the amount of data that has been read/written so far.
 
int m_stage
 The writing stage.
 
unsigned short m_unsigned_short
 temporary
 

Additional Inherited Members

- Static Protected Member Functions inherited from BBaseOpcodeHandler
static float read_float (char const *cp, char const *alter *newcpp=0)
 
static float read_float (char const *cp, char alter *alter *newcpp)
 for internal use only
 
static char * write_float (char *buffer, double f)
 for internal use only
 

Detailed Description

Handles the TKE_Text_Font opcode.

TK_Text_Font provides support for writing/reading the TKE_Text_Font opcode object to/from an HSF file.

The HOOPS/3dGS scene-graph supports various text attributes. Text_Font contains information about the font, including name, size, size units, spacing, spacing units, tolerance, tolerance units, slant, transforms, rotation and width scaling.

Constructor & Destructor Documentation

TK_Text_Font::TK_Text_Font ( )
inline

constructor

Member Function Documentation

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

Copies the opcode handler

Parameters
tkA reference to the BStreamFileToolkit object.
handlerA pointer to the opcode handler object. Passed by reference.
Returns
The result of the function call.

Reimplemented from BBaseOpcodeHandler.

float TK_Text_Font::GetExtraSpace ( ) const
inline

Returns the amount of extra space inserted between characters

int TK_Text_Font::GetExtraSpaceUnits ( ) const
inline

Returns the units used to interpret the extra space. Units are defined in #TKO_Font_Size_Units.

float TK_Text_Font::GetGreekingLimit ( ) const
inline

Returns the greeking limit

int TK_Text_Font::GetGreekingLimitUnits ( ) const
inline

Returns the units used to interpret the greeking limit. Units are defined in #TKO_Font_Size_Units.

int TK_Text_Font::GetGreekingMode ( ) const
inline

Returns the method used for handling greeked text.

float TK_Text_Font::GetLineSpacing ( ) const
inline

Returns the spacing between lines of multi-line strings

int TK_Text_Font::GetMask ( ) const
inline

Returns the mask indicating which font options are specified. Options are defined in TKO_Font_Options.

char const* TK_Text_Font::GetNames ( ) const
inline

Returns the font names string

char alter* TK_Text_Font::GetNames ( )
inline

Returns the font names string buffer, which may be modified directly

int TK_Text_Font::GetPreference ( ) const
inline

Returns which types of fonts may be used. Preferences are defined in TKO_Font_Preferences.

float TK_Text_Font::GetPreferenceCutoff ( ) const
inline

Returns the preference cutoff limit

int TK_Text_Font::GetPreferenceCutoffUnits ( ) const
inline

Returns the units used to interpret the preference cutoff. Units are defined in #TKO_Font_Size_Units.

int const* TK_Text_Font::GetPreferences ( ) const
inline

Returns which types of fonts may be used. Preferences are defined in TKO_Font_Preferences.

int TK_Text_Font::GetRenderer ( ) const
inline

Returns which types of fonts may be used. Renderers are defined in TKO_Font_Renderers.

float TK_Text_Font::GetRendererCutoff ( ) const
inline

Returns the renderer cutoff limit

int TK_Text_Font::GetRendererCutoffUnits ( ) const
inline

Returns the units used to interpret the renderer cutoff. Units are defined in #TKO_Font_Size_Units.

int const* TK_Text_Font::GetRenderers ( ) const
inline

Returns which types of fonts may be used. Renderers are defined in TKO_Font_Renderers.

float TK_Text_Font::GetRotation ( ) const
inline

Returns the rotation angle of characters

float TK_Text_Font::GetSize ( ) const
inline

Returns the text size

int TK_Text_Font::GetSizeUnits ( ) const
inline

Returns the units used to interpret the size. Units are defined in #TKO_Font_Size_Units.

float TK_Text_Font::GetSlant ( ) const
inline

Returns the slant factor applied to characters

float TK_Text_Font::GetTolerance ( ) const
inline

Returns the text size tolerance

int TK_Text_Font::GetToleranceUnits ( ) const
inline

Returns the units used to interpret the size tolerance. Units are defined in #TKO_Font_Size_Units.

int TK_Text_Font::GetTransforms ( ) const
inline

Returns how the string is affected by any modeling transforms. Transforms are defined in TKO_Font_Transforms.

int TK_Text_Font::GetValue ( ) const
inline

Returns the mask indicating which font options are on/active. Options are defined in TKO_Font_Options.

float TK_Text_Font::GetWidthScale ( ) const
inline

Returns the horizontal scaling applied to characters

TK_Status TK_Text_Font::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.

Parameters
tkA reference to the BStreamFileToolkit object.
Returns
The result of the function call.

Implements BBaseOpcodeHandler.

void TK_Text_Font::Reset ( )
virtual

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.

Reimplemented from BBaseOpcodeHandler.

void TK_Text_Font::SetExtraSpace ( float  s)
inline

Sets the amount of extra space inserted between characters

void TK_Text_Font::SetExtraSpaceUnits ( int  u)
inline

Sets the units used to interpret the extra space. Units are defined in #TKO_Font_Size_Units.

void TK_Text_Font::SetGreekingLimit ( float  s)
inline

Sets the limit below which text drawing will be "greeked" (not drawn or drawn as simple geometry)

void TK_Text_Font::SetGreekingLimitUnits ( int  u)
inline

Sets the units used to interpret the greeking limit. Units are defined in #TKO_Font_Size_Units.

void TK_Text_Font::SetGreekingMode ( int  m)
inline

Sets the method used for handling greeked text.

void TK_Text_Font::SetLineSpacing ( float  s)
inline

Sets the spacing between lines of multi-line strings

void TK_Text_Font::SetMask ( int  m)
inline

Sets the mask indicating which font options are specified. Options are defined in TKO_Font_Options.

References TKO_Font_Extended, TKO_Font_Extended2, and TKO_Font_Extended2_Mask.

void TK_Text_Font::SetNames ( char const *  names)
inline

Sets the font names. Allocates the buffer and copies the names string

void TK_Text_Font::SetNames ( int  length)
inline

Sets the font names buffer. Allocates a buffer large enough to hold a string of 'length' characters

void TK_Text_Font::SetPreference ( int  r)
inline

Sets which drawing modes may be used. Preferences are defined in TKO_Font_Preferences.

void TK_Text_Font::SetPreferenceCutoff ( float  s)
inline

Sets the limit below which text drawing will use the "lower" preference

void TK_Text_Font::SetPreferenceCutoffUnits ( int  u)
inline

Sets the units used to interpret the preference cutoff. Units are defined in #TKO_Font_Size_Units.

void TK_Text_Font::SetPreferences ( int  r1,
int  r2 
)
inline

Sets which drawing modes may be used. Preferences are defined in TKO_Font_Preferences.

void TK_Text_Font::SetRenderer ( int  r)
inline

Sets which types of fonts may be used. Renderers are defined in TKO_Font_Renderers.

void TK_Text_Font::SetRendererCutoff ( float  s)
inline

Sets the limit below which text drawing will use the "lower" renderer

void TK_Text_Font::SetRendererCutoffUnits ( int  u)
inline

Sets the units used to interpret the renderer cutoff. Units are defined in #TKO_Font_Size_Units.

void TK_Text_Font::SetRenderers ( int  r1,
int  r2 
)
inline

Sets which types of fonts may be used. Renderers are defined in TKO_Font_Renderers.

void TK_Text_Font::SetRotation ( float  r)
inline

Sets the rotation angle of characters

void TK_Text_Font::SetSize ( float  s)
inline

Sets the text size

void TK_Text_Font::SetSizeUnits ( int  u)
inline

Sets the units used to interpret the size. Units are defined in #TKO_Font_Size_Units.

void TK_Text_Font::SetSlant ( float  s)
inline

Sets the slant factor applied to characters

void TK_Text_Font::SetTolerance ( float  t)
inline

Sets the text size tolerance

void TK_Text_Font::SetToleranceUnits ( int  u)
inline

Sets the units used to interpret the size tolerance. Units are defined in #TKO_Font_Size_Units.

void TK_Text_Font::SetTransforms ( int  t)
inline

Sets how the string is affected by any modeling transforms. Transforms are defined in TKO_Font_Transforms.

void TK_Text_Font::SetValue ( int  v)
inline

Sets the mask indicating which font options are on/active. Options are defined in TKO_Font_Options.

void TK_Text_Font::SetWidthScale ( float  s)
inline

Sets the horizontal scaling applied to characters

TK_Status TK_Text_Font::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.

Parameters
tkA reference to the BStreamFileToolkit object.
Returns
The result of the function call.

Implements BBaseOpcodeHandler.


The documentation for this class was generated from the following file: