Alphabetical Class Index   Class Hierarchy   Compound Members   File Members   File List  

BOpcodeHandler.h File Reference

Contains data types which are used by BBaseOpcodeHandler. More...

#include "BStreamFileToolkit.h"
#include "BPolyhedron.h"

Go to the source code of this file.

Classes

class  BBaseOpcodeHandler
 The BBaseOpcodeHandler abstract class is used as a base for derived classes which manage logical pieces of HOOPS Stream File information. More...
class  TK_Color::channel
class  HT_NURBS_Trim
 Does not handle any top level opcodes, but rather only the trim types allowable on nurbs surfaces. More...
class  Lock_Masks
class  TK_Area_Light
 Handles the TKE_Area_Light opcode. More...
class  TK_Bounding
 Handles the TKE_Bounding, and TKE_Bounding_Info opcodes. More...
class  TK_Callback
 Handles the TKE_Callback opcode. More...
class  TK_Camera
 Handles the TKE_Camera opcode. More...
struct  TK_Character_Attribute
class  TK_Circle
 Handles the TKE_Circle, TKE_Circular_Arc, TKE_Circular_Chord and TKE_Circular_Wedge opcodes. More...
class  TK_Clip_Rectangle
 Handles the TKE_Clip_Rectangle opcode. More...
class  TK_Clip_Region
 Handles the TKE_Clip_Region opcodes. More...
class  TK_Close_Segment
 Handles the TKE_Close_Segment opcode. More...
class  TK_Color
 Handles the TKE_Color opcode. More...
class  TK_Color_By_FIndex
 Handles the TKE_Color_By_FIndex opcode. More...
class  TK_Color_By_Index
 Handles the TKE_Color_By_Index and TKE_Color_By_Index_16 opcode. More...
class  TK_Color_By_Value
 Handles the TKE_Color_By_Value opcode. More...
class  TK_Color_Map
 Handles the TKE_Color_Map opcode. More...
class  TK_Color_RGB
 Handles the TKE_Color opcode. More...
class  TK_Comment
 Handles the TKE_Comment opcode. More...
class  TK_Compression
 Handles the TKE_Start_Compression and TKE_Stop_Compression opcodes. More...
class  TK_Conditional_Action
 Handles the TKE_Conditional_Action opcode. More...
class  TK_Conditions
 Handles the TKE_Conditions opcode. More...
class  TK_Cutting_Plane
 Handles the TKE_Cutting_Plane opcode. More...
class  TK_Cylinder
 Handles the TKE_Cylinder opcode. More...
class  TK_Default
class  TK_Delete_Object
 Handles the TKE_Delete_Object opcode. More...
class  TK_Dictionary
 Handles the TKE_Dictionary opcode. More...
class  TK_Dictionary_Locater
 Handles the TKE_Dictionary_Locater opcode. More...
class  TK_Ellipse
 Handles the TKE_Ellipse and TKE_Elliptical_Arc opcodes. More...
class  TK_Enumerated
class  TK_External_Reference
 Handles the TKE_External_Reference opcodes. More...
class  TK_External_Reference_Unicode
 Handles the TKE_External_Reference_Unicode opcodes. More...
class  TK_File_Info
 Handles the TKE_File_Info opcode. More...
class  TK_Font
 Handles the TKE_Font opcode. More...
class  TK_Geometry_Attributes
 Handles the TKE_Geometry_Attributes opcode. More...
class  TK_Geometry_Options
 Handles the TKE_Geometry_Options opcode. More...
class  TK_Glyph_Definition
 Handles the TKE_Glyph_Definition opcode. More...
class  TK_Grid
 Handles the TKE_Grid opcode. More...
class  TK_Header
 Utility class for managing HSF header information. More...
class  TK_Heuristics
 Handles the TKE_Heuristics opcode. More...
class  TK_Image
 Handles the TKE_Image opcode. More...
class  TK_Instance
 Handles the TKE_Repeat_Object opcode. More...
class  TK_Line
 Handles the TKE_Line opcode. More...
class  TK_Line_Style
 Handles the TKE_Line_Style opcode. More...
class  TK_Linear_Pattern
class  TK_LOD
 Handles the TKE_LOD opcode. More...
class  TK_Material
 Handles the TKE_Material opcode. More...
class  TK_Matrix
 Handles the TKE_Modelling_Matrix and TKE_Texture_Matrix opcodes. More...
class  TK_Named
class  TK_Named_Style_Def
 Handles the TKE_Named_Style_Def opcode. More...
class  TK_NURBS_Curve
 Handles the TKE_NURBS_Curve opcode. More...
class  TK_NURBS_Surface
 Handles the TKE_NURBS_Surface opcode. More...
class  TK_Open_Segment
 Handles the TKE_Open_Segment opcode. More...
class  TK_Point
 Handles the TKE_Marker, TKE_Text_Path TKE_Distant_Light, and TKE_Local_Light opcodes. More...
class  TK_PolyCylinder
 Handles the TKE_PolyCylinder opcode. More...
class  TK_Polypoint
 Handles the TKE_Polyline and TKE_Polygon opcodes. More...
class  TK_Reference
 Handles the TKE_Reference opcodes. More...
class  TK_Referenced_Segment
 Handles the TKE_Inlude_Segment TKE_Named_Style and TKE_Style_Segment opcodes. More...
class  TK_Rendering_Options
 Handles the TKE_Rendering_Options opcode. More...
class  TK_Renumber
 Handles the TKE_Renumber_Key_Global, TKE_Renumber_Key_Local, and TKE_Priority opcodes. More...
class  TK_Reopen_Segment
 Handles the TKE_Reopen_Segment opcode. More...
class  TK_Selectability
 Handles the TKE_Selectability opcode. More...
class  TK_Size
class  TK_Sphere
 Handles the TKE_Sphere opcode. More...
class  TK_Spot_Light
 Handles the TKE_Spot_Light opcode. More...
class  TK_Streaming
class  TK_Tag
 Handles the TKE_Tag opcode. More...
class  TK_Terminator
 Handles the TKE_Termination and TKE_Pause opcodes. More...
class  TK_Text
 Handles the TKE_Text and TKE_Text_With_Encoding opcodes. More...
class  TK_Text_Font
 Handles the TKE_Text_Font opcode. More...
class  TK_Texture
 Handles the TKE_Texture opcode. More...
class  TK_Thumbnail
 Handles the TKE_Thumbnail opcode. More...
class  TK_Unavailable
class  TK_Unicode_Options
 Handles the TKE_Unicode_Options opcode. More...
class  TK_URL
 Handles the TKE_URL opcodes. More...
class  TK_User_Data
 Handles the TKE_Start_User_Data opcode. More...
class  TK_User_Index
 Handles the TKE_User_Index opcode. More...
class  TK_User_Index_Data
 Handles the TKE_User_Index opcode. More...
class  TK_User_Options
 Handles the TKE_User_Options opcode. More...
class  TK_User_Value
 Handles the TKE_User_Value opcode. More...
class  TK_Visibility
 Handles the TKE_Visibility opcode. More...
class  TK_Window
 Handles the TKE_Window opcode. More...
class  TK_XML
 Handles the TKE_XML opcode. More...

Defines

#define IMPLEMENT_CLONE(class_name)
 macro to simplify normal implementation of the Clone function
#define IMPLEMENT_CLONE_OPCODE(class_name)
 a version of IMPLEMENT_CLONE for the classes that need to know the opcode
#define NC_HAS_END   0x08
 a float is specified for where the TK_NURBS_Curve ends in parametric [0,1] space
#define NC_HAS_KNOTS   0x02
 an array of floats for the knots is specified with the TK_NURBS_Curve
#define NC_HAS_START   0x04
 a float is specified for where the TK_NURBS_Curve starts in parametric [0,1] space
#define NC_HAS_WEIGHTS   0x01
 an array of floats for the weights is specified with the TK_NURBS_Curve
#define NS_HAS_KNOTS   0x02
 an array of floats for the knots is specified with the TK_NURBS_Surface
#define NS_HAS_TRIMS   0x04
 the TK_NURBS_Surface contains a list of trims
#define NS_HAS_WEIGHTS   0x01
 an array of floats for the weights is specified with the TK_NURBS_Surface
#define NS_TRIM_COLLECTION   3
 all trim objects up to the next NS_TRIM_END should be combined as one.
#define NS_TRIM_CURVE   2
 the next trim is a nurbs curve in parametric space
#define NS_TRIM_END   0
 terminates an NS_TRIM_COLLECTION if one is active, otherwise terminates the list of trims
#define NS_TRIM_HAS_KNOTS   0x04
 applies only to trims of type NS_TRIM_CURVE: an array of floats for the knots is specified with the trim curve
#define NS_TRIM_HAS_WEIGHTS   0x02
 applies only to trims of type NS_TRIM_CURVE: an array of floats for the weights is specified with the trim curve
#define NS_TRIM_KEEP   0x01
 instead of the usual cutting away the enclosed area, cut away everything but
#define NS_TRIM_LAST_KNOWN_TYPE   3
 the last known trim type defined as of the current version of the toolkit
#define NS_TRIM_POLY   1
 the next trim is a polyline (closed automatically if not already a closed loop)
#define POINTER_SIZED_INT   long
#define POINTER_SIZED_UINT   unsigned long
#define TKLOD_ESCAPE   255
 terminates the list of all LOD levels. TKE_Termination could not be used, since 0 is a valid value for LOD level.
#define TKO_Font_Size_Object   TKO_Generic_Size_Object
#define TKO_Font_Size_Percent   TKO_Generic_Size_Percent
#define TKO_Font_Size_Pixels   TKO_Generic_Size_Pixels
#define TKO_Font_Size_Points   TKO_Generic_Size_Points
#define TKO_Font_Size_Screen   TKO_Generic_Size_Screen
#define TKO_Font_Size_Units   TKO_Generic_Size_Units
#define TKO_Font_Size_Window   TKO_Generic_Size_Window
#define TKO_Font_Size_World   TKO_Generic_Size_World
#define TKO_Rendo_Extended   0x80000000
#define TKO_Rendo_Extended2   0x80000000

Enumerations

enum  Instance_Options { Instance_By_Tristrip = 0x01 }
enum  TKE_Object_Types {
  TKE_Termination = '\x00', TKE_Pause = '\x01', TKE_Comment = ';', TKE_Font = 'f',
  TKE_Texture = 't', TKE_Material = '\x02', TKE_Open_Segment = '(', TKE_Close_Segment = ')',
  TKE_Reopen_Segment = 's', TKE_Include_Segment = '<', TKE_Style_Segment = '{', TKE_Named_Style = 'y',
  TKE_Geometry_Attributes = ':', TKE_Renumber_Key_Global = 'K', TKE_Renumber_Key_Local = 'k', TKE_Priority = '0',
  TKE_Tag = 'q', TKE_Bounding = 'b', TKE_Bounding_Info = 'B', TKE_Callback = '\x07',
  TKE_Camera = '>', TKE_Conditional_Action = '\'', TKE_Conditions = '?', TKE_Color = '"',
  TKE_Color_By_Index = '\x08', TKE_Color_By_Index_16 = '\x09', TKE_Color_By_FIndex = '\x0A', TKE_Color_RGB = '~',
  TKE_Color_By_Value = '\x0B', TKE_Color_Map = '\x0C', TKE_Edge_Pattern = '\x0D', TKE_Edge_Weight = '\x0E',
  TKE_Face_Pattern = 'P', TKE_Geometry_Options = '\x17', TKE_Handedness = 'h', TKE_Heuristics = 'H',
  TKE_Line_Pattern = '-', TKE_Line_Weight = '=', TKE_Marker_Size = '+', TKE_Marker_Symbol = '@',
  TKE_Modelling_Matrix = '%', TKE_LOD = '\x19', TKE_Rendering_Options = 'R', TKE_Selectability = '!',
  TKE_Text_Alignment = '*', TKE_Text_Font = 'F', TKE_Text_Path = '|', TKE_Text_Spacing = ' ',
  TKE_Texture_Matrix = '$', TKE_Unicode_Options = '\x16', TKE_User_Index = 'n', TKE_User_Index_Data = 'm',
  TKE_User_Options = 'U', TKE_User_Value = 'v', TKE_Visibility = 'V', TKE_Window = 'W',
  TKE_Window_Frame = '#', TKE_Window_Pattern = 'p', TKE_Glyph_Definition = 'j', TKE_Line_Style = 'J',
  TKE_Named_Style_Def = 'u', TKE_Area_Light = 'a', TKE_Circle = 'C', TKE_Circular_Arc = 'c',
  TKE_Circular_Chord = '\\', TKE_Circular_Wedge = 'w', TKE_Cutting_Plane = '/', TKE_Cylinder = 'Y',
  TKE_Distant_Light = 'd', TKE_Ellipse = 'E', TKE_Elliptical_Arc = 'e', TKE_Grid = 'g',
  TKE_Image = 'i', TKE_Infinite_Line = '`', TKE_Infinite_Ray = '\x11', TKE_Line = 'l',
  TKE_Local_Light = '.', TKE_Marker = 'X', TKE_Mesh = 'M', TKE_NURBS_Curve = 'N',
  TKE_NURBS_Surface = 'A', TKE_PolyCylinder = 'Q', TKE_Polygon = 'G', TKE_Polyline = 'L',
  TKE_PolyPolyline = '\x10', TKE_Reference = 'r', TKE_Shell = 'S', TKE_Sphere = '\x1a',
  TKE_Spot_Light = '^', TKE_Text = 'T', TKE_Text_With_Encoding = 'x', TKE_Start_User_Data = '[',
  TKE_Stop_User_Data = ']', TKE_XML = '\x18', TKE_External_Reference = '\x12', TKE_External_Reference_Unicode = '\x13',
  TKE_URL = '\x15', TKE_Start_Compression = 'Z', TKE_Stop_Compression = 'z', TKE_Repeat_Object = '&',
  TKE_View = '}', TKE_Clip_Rectangle = 'o', TKE_Clip_Region = 'O', TKE_Complex_Clip_Region = '\x0F',
  TKE_File_Info = 'I', TKE_Dictionary = 'D', TKE_Dictionary_Locater = '_', TKE_Thumbnail = '\x14',
  TKE_Delete_Object = '\x7F', TKE_Tag_Implicit = TKE_Tag, TKE_Streaming_Mode = ',', TKE_First_User_Opcode = '\xA0',
  TKE_Last_User_Opcode = '\xEF', TKE_HW3D_Image = 0xE0, TKE_Pseudo_Handler = '\xFE', TKE_Extended_Code = '\xFF'
}
 Opcodes stored in the file. More...
enum  TKO_Actions { TKO_Action_Type_Prune_Segment = 1, TKO_Action_Option_Segment_Tree = 0x0001 }
enum  TKO_Attribute_Lock_Bits {
  TKO_Lock_Callback = 0x00000001, TKO_Lock_Camera = 0x00000002, TKO_Lock_Color = 0x00000004, TKO_Lock_Color_Map = 0x00000008,
  TKO_Lock_Driver = 0x00000010, TKO_Lock_Driver_Options = 0x00000020, TKO_Lock_Edge_Pattern = 0x00000040, TKO_Lock_Edge_Weight = 0x00000080,
  TKO_Lock_Face_Pattern = 0x00000100, TKO_Lock_Handedness = 0x00000200, TKO_Lock_Heuristics = 0x00000400, TKO_Lock_Line_Pattern = 0x00000800,
  TKO_Lock_Line_Weight = 0x00001000, TKO_Lock_Marker_Size = 0x00002000, TKO_Lock_Marker_Symbol = 0x00004000, TKO_Lock_Metafile = 0x00008000,
  TKO_Lock_Modelling_Matrix = 0x00010000, TKO_Lock_Rendering_Options = 0x00020000, TKO_Lock_Selectability = 0x00040000, TKO_Lock_Styles = 0x00080000,
  TKO_Lock_Text_Alignment = 0x00100000, TKO_Lock_Text_Font = 0x00200000, TKO_Lock_Text_Path = 0x00400000, TKO_Lock_Text_Spacing = 0x00800000,
  TKO_Lock_User_Options = 0x01000000, TKO_Lock_User_Value = 0x02000000, TKO_Lock_Texture_Matrix = 0x04000000, TKO_Lock_Visibility = 0x08000000,
  TKO_Lock_Window = 0x10000000, TKO_Lock_Window_Frame = 0x20000000, TKO_Lock_Window_Pattern = 0x40000000, TKO_Lock_All = 0x7FFFFFFF
}
enum  TKO_Bounding_Type_Options { TKO_Bounding_Type_Cuboid = 0, TKO_Bounding_Type_Sphere = 1 }
 Handles the TKE_Bounding and TKE_Bounding_Info opcodes. More...
enum  TKO_Camera_Projection {
  TKO_Camera_Perspective_Bit = 0x01, TKO_Camera_Stretched_Bit = 0x02, TKO_Camera_Projection_Mask = 0x03, TKO_Camera_Orthographic = 0x00,
  TKO_Camera_Perspective = 0x01, TKO_Camera_Stretched = 0x02, TKO_Camera_Oblique_Y = 0x04, TKO_Camera_Oblique_X = 0x08,
  TKO_Camera_Oblique_Mask = 0x0C, TKO_Camera_Near_Limit = 0x10, TKO_Camera_Thumbnail = 0x80
}
enum  TKO_Character_Attributes {
  TKO_Character_Name = 0x0001, TKO_Character_Size = 0x0002, TKO_Character_Vertical_Offset = 0x0004, TKO_Character_Omitted = 0x0008,
  TKO_Character_Invisible = 0x0010, TKO_Character_Slant = 0x0020, TKO_Character_Width_Scale = 0x0040, TKO_Character_Rotation = 0x0080,
  TKO_Character_Rotation_Fixed = 0x0100, TKO_Character_Horizontal_Offset = 0x0200, TKO_Character_Color = 0x0400, TKO_Character_Extended = 0x8000
}
enum  TKO_Circular_Options { TKO_Circular_Center = 0x01 }
enum  TKO_Clip_Region_Options {
  TKO_Clip_Region_World_Space = 0x01, TKO_Clip_Region_Window_Space = 0x02, TKO_Clip_Region_Object_Space = 0x10, TKO_Clip_Region_Clip = 0x04,
  TKO_Clip_Region_Mask = 0x08
}
enum  TKO_Color_Channel_Lock_Bits {
  TKO_Lock_Channel_Diffuse = 0x0001, TKO_Lock_Channel_Specular = 0x0002, TKO_Lock_Channel_Mirror = 0x0004, TKO_Lock_Channel_Transmission = 0x0008,
  TKO_Lock_Channel_Emission = 0x0010, TKO_Lock_Channel_Gloss = 0x0020, TKO_Lock_Channel_Index = 0x0040, TKO_Lock_Channel_Environment = 0x0080,
  TKO_Lock_Channel_Bump = 0x0100, TKO_Lock_Channel_ALL = 0x01FF
}
enum  TKO_Color_Channels {
  TKO_Channel_Diffuse = 0, TKO_Channel_Specular = 1, TKO_Channel_Mirror = 2, TKO_Channel_Transmission = 3,
  TKO_Channel_Emission = 4, TKO_Channel_Gloss = 5, TKO_Channel_Index = 6, TKO_Channel_Extended = 7,
  TKO_Channel_Environment = 8, TKO_Channel_Bump = 9, TKO_Channel_Count = 10, TKO_Channel_Extended_Mask = 0xFF00,
  TKO_Channel_Extended_Shift = 8
}
enum  TKO_Compression {
  TKO_Compression_None = 0, TKO_Compression_RLE = 1, TKO_Compression_JPEG = 2, TKO_Compression_DXT = 3,
  TKO_Compression_TARGA = 4, TKO_Compression_PNG = 5, TKO_Compression_Reference = 99
}
enum  TKO_Enumerations {
  TKO_Line_Pattern_Solid = 0, TKO_Line_Pattern_Dash_Dot = 1, TKO_Line_Pattern_Dashed = 2, TKO_Line_Pattern_Dotted = 3,
  TKO_Line_Pattern_Dash_2Dot = 4, TKO_Line_Pattern_Dash_3Dot = 5, TKO_Line_Pattern_Long_Dash = 6, TKO_Line_Pattern_Center = 7,
  TKO_Line_Pattern_Phantom = 8, TKO_Line_Pattern_Find_Dots = 9, TKO_Fill_Pattern_Hash = 0, TKO_Fill_Pattern_Vertical = 1,
  TKO_Fill_Pattern_Horizontal = 2, TKO_Fill_Pattern_Right = 3, TKO_Fill_Pattern_Left = 4, TKO_Fill_Pattern_Diamond = 5,
  TKO_Fill_Pattern_Dots = 6, TKO_Fill_Pattern_Boxes = 7, TKO_Fill_Pattern_Solid = 8, TKO_Fill_Pattern_Clear = 9,
  TKO_Fill_Pattern_Gradient_N = 10, TKO_Fill_Pattern_Gradient_NE = 11, TKO_Fill_Pattern_Gradient_E = 12, TKO_Fill_Pattern_Gradient_SE = 13,
  TKO_Fill_Pattern_Gradient_S = 14, TKO_Fill_Pattern_Gradient_SW = 15, TKO_Fill_Pattern_Gradient_W = 16, TKO_Fill_Pattern_Gradient_NW = 17,
  TKO_Fill_Pattern_Blend = 18, TKO_Fill_Pattern_Invisible = 19, TKO_Marker_Circle = 0, TKO_Marker_Circle_Dot = 1,
  TKO_Marker_Circle_Plus = 2, TKO_Marker_Circle_X = 3, TKO_Marker_Circle_Circle = 4, TKO_Marker_Circle_Filled = 5,
  TKO_Marker_Dot = 6, TKO_Marker_Plus = 7, TKO_Marker_X = 8, TKO_Marker_Star = 9,
  TKO_Marker_Box = 10, TKO_Marker_Box_Dot = 11, TKO_Marker_Box_X = 12, TKO_Marker_Box_Filled = 13,
  TKO_Marker_Diamond = 14, TKO_Marker_Diamond_Dot = 15, TKO_Marker_Diamond_Plus = 16, TKO_Marker_Diamond_Filled = 17,
  TKO_Marker_Triangle_Up = 18, TKO_Marker_Triangle_Up_Vertex = 19, TKO_Marker_Triangle_Up_Dot = 20, TKO_Marker_Triangle_Up_Filled = 21,
  TKO_Marker_Triangle_Up_Filled_Vertex = 22, TKO_Marker_Triangle_Down = 23, TKO_Marker_Triangle_Down_Vertex = 24, TKO_Marker_Triangle_Down_Dot = 25,
  TKO_Marker_Triangle_Down_Filled = 26, TKO_Marker_Triangle_Down_Filled_Vertex = 27, TKO_Marker_Triangle_Right = 28, TKO_Marker_Triangle_Right_Vertex = 29,
  TKO_Marker_Triangle_Right_Dot = 30, TKO_Marker_Triangle_Right_Filled = 31, TKO_Marker_Triangle_Right_Filled_Vertex = 32, TKO_Marker_Triangle_Left = 33,
  TKO_Marker_Triangle_Left_Vertex = 34, TKO_Marker_Triangle_Left_Dot = 35, TKO_Marker_Triangle_Left_Filled = 36, TKO_Marker_Triangle_Left_Filled_Vertex = 37,
  TKO_Marker_Hash = 38, TKO_Marker_Wide_Plus = 39, TKO_Marker_Open_Arrow = 40, TKO_Marker_Closed_Arrow = 41,
  TKO_Marker_Vertical_Bar = 42, TKO_Marker_Half_Arrow_Left = 43, TKO_Marker_Half_Arrow_Right = 44, TKO_Marker_Wide_Arrow = 45,
  TKO_Marker_Double_Arrow = 46, TKO_Marker_Y = 47, TKO_Marker_Z = 48, TKO_Text_Alignment_Lower_Left = 0,
  TKO_Text_Alignment_Upper_Left = 1, TKO_Text_Alignment_Middle_Left = 2, TKO_Text_Alignment_Lower_Right = 3, TKO_Text_Alignment_Upper_Right = 4,
  TKO_Text_Alignment_Middle_Right = 5, TKO_Text_Alignment_Lower_Center = 6, TKO_Text_Alignment_Upper_Center = 7, TKO_Text_Alignment_Middle_Center = 8,
  TKO_Text_Alignment_Insertion_Left = 9, TKO_Text_Alignment_Insertion_Right = 10, TKO_Text_Alignment_Insertion_Center = 11, TKO_Text_Alignment_Insertion = 9,
  TKO_Text_Justification_Unspecified = 0, TKO_Text_Justification_Left = 1, TKO_Text_Justification_Center = 2, TKO_Text_Justification_Right = 3,
  TKO_Text_Alignment_Center = 0x00, TKO_Text_Alignment_Left = 0x01, TKO_Text_Alignment_Right = 0x02, TKO_Text_Alignment_Bottom = 0x04,
  TKO_Text_Alignment_Top = 0x08, TKO_Text_Alignment_Point = 0x10, TKO_Text_Alignment_Unspecified = 0x1F, TKO_Text_Justification_Mask = 0x60,
  TKO_Text_Justification_Shift = 5, TKO_Text_Alignment_New_Format = 0x80, TKO_Window_Frame_Off = 0, TKO_Window_Frame_On = 1,
  TKO_Handedness_Left = 0, TKO_Handedness_Right = 1
}
enum  TKO_Font_Greeking_Modes { TKO_Font_Greeking_Mode_None = 0, TKO_Font_Greeking_Mode_Lines = 1, TKO_Font_Greeking_Mode_Box = 2 }
enum  TKO_Font_Layout { TKO_Font_Layout_Default = 0, TKO_Font_Layout_Unicode = 1 }
enum  TKO_Font_Options {
  TKO_Font_Names = 0x00000001, TKO_Font_Size = 0x00000002, TKO_Font_Size_Tolerance = 0x00000004, TKO_Font_Transforms = 0x00000008,
  TKO_Font_Rotation = 0x00000010, TKO_Font_Slant = 0x00000020, TKO_Font_Width_Scale = 0x00000040, TKO_Font_Extended = 0x00000080,
  TKO_Font_Extended_Mask = 0xFFFFFF00, TKO_Font_Extended_Shift = 8, TKO_Font_Extra_Space = 0x00000100, TKO_Font_Line_Spacing = 0x00000200,
  TKO_Font_Outline = 0x00000400, TKO_Font_Underline = 0x00000800, TKO_Font_Strikethrough = 0x00001000, TKO_Font_Overline = 0x00002000,
  TKO_Font_Uniform_Spacing = 0x00004000, TKO_Font_Extended2 = 0x00008000, TKO_Font_Extended2_Mask = 0xFFFF0000, TKO_Font_Extended2_Shift = 16,
  TKO_Font_Greeking_Limit = 0x00010000, TKO_Font_Fill_Edges = 0x00020000, TKO_Font_Bold = 0x00040000, TKO_Font_Italic = 0x00080000,
  TKO_Font_Renderer = 0x00100000, TKO_Font_Greeking_Mode = 0x00200000, TKO_Font_Preference = 0x00400000, TKO_Font_Layout = 0x00800000
}
enum  TKO_Font_Preferences {
  TKO_Font_Preference_Undefined = -1, TKO_Font_Preference_Default = 0, TKO_Font_Preference_Bitmap = 1, TKO_Font_Preference_Outline = 2,
  TKO_Font_Preference_Exterior = 3
}
enum  TKO_Font_Renderers {
  TKO_Font_Renderer_Undefined = -1, TKO_Font_Renderer_Default = 0, TKO_Font_Renderer_Driver = 1, TKO_Font_Renderer_Truetype = 2,
  TKO_Font_Renderer_Defined = 3
}
enum  TKO_Font_Transforms { TKO_Font_Transform_Position_Only = 0, TKO_Font_Transform_Full = 1, TKO_Font_Transform_Position_Adjusted = 2 }
enum  TKO_Font_Type { TKO_Font_HOOPS_Stroked }
 Handles the TKE_Font opcodes. More...
enum  TKO_Generic_Size_Units {
  TKO_Generic_Size_Object, TKO_Generic_Size_Screen, TKO_Generic_Size_Window, TKO_Generic_Size_Points,
  TKO_Generic_Size_Pixels, TKO_Generic_Size_Percent, TKO_Generic_Size_World, TKO_Generic_Size_Unspecified
}
enum  TKO_Geometry_Bits {
  TKO_Geo_Face = 0x00000001, TKO_Geo_Edge = 0x00000002, TKO_Geo_Line = 0x00000004, TKO_Geo_Marker = 0x00000008,
  TKO_Geo_Text = 0x00000010, TKO_Geo_Window = 0x00000020, TKO_Geo_Image = 0x00000040, TKO_Geo_Extended = 0x00000080,
  TKO_Geo_Extended_Mask = 0xFFFFFF00, TKO_Geo_Extended_Shift = 8, TKO_Geo_Ambient_Up = 0x00000100, TKO_Geo_Light = 0x00000200,
  TKO_Geo_Face_Contrast = 0x00000400, TKO_Geo_Window_Contrast = 0x00000800, TKO_Geo_Front = 0x00001000, TKO_Geo_Back = 0x00002000,
  TKO_Geo_Vertex = 0x00004000, TKO_Geo_Geom_Colors = 0x0000701F, TKO_Geo_Every_Colors = 0x000073BF, TKO_Geo_Extended_Colors = 0x00008000,
  TKO_Geo_Extended_Colors_Mask = 0xFFFF0000, TKO_Geo_Extended_Colors_Shift = 16, TKO_Geo_Edge_Contrast = 0x00010000, TKO_Geo_Line_Contrast = 0x00020000,
  TKO_Geo_Marker_Contrast = 0x00040000, TKO_Geo_Vertex_Contrast = 0x00080000, TKO_Geo_Cut_Edge = 0x00100000, TKO_Geo_Simple_Reflection = 0x00200000,
  TKO_Geo_Cut_Face = 0x00400000, TKO_Geo_Extended2 = 0x00800000, TKO_Geo_Extended2_Mask = 0xFF000000, TKO_Geo_Extended2_Shift = 24,
  TKO_Geo_Text_Contrast = 0x01000000, TKO_Geo_Ambient_Down = 0x02000000, TKO_Geo_Cut_Face_Contrast = 0x04000000, TKO_Geo_Ambient = 0x02000100,
  TKO_Geo_All_Colors = 0x077F7F7F, TKO_Geo_String_Cursor = 0x00000100, TKO_Geo_Isoline = 0x00000080, TKO_Geo_Geom_Selects = 0x0000435F,
  TKO_Geo_All_Selects = 0x000043FF, TKO_Geo_Face_Lighting = 0x00000200, TKO_Geo_Edge_Lighting = 0x00000400, TKO_Geo_Marker_Lighting = 0x00000800,
  TKO_Geo_Light_Visibles = 0x00000E00, TKO_Geo_Silhouette_Edge = 0x00001000, TKO_Geo_Perimeter_Edge = 0x00002000, TKO_Geo_Mesh_Quad = 0x00004000,
  TKO_Geo_Hard_Edge = 0x00008000, TKO_Geo_Cutting_Plane = 0x00010000, TKO_Geo_Shadow_Emit = 0x00020000, TKO_Geo_Shadow_Cast = 0x00040000,
  TKO_Geo_Shadow_Receive = 0x00080000, TKO_Geo_Shadow_Visibles = 0x000E0000, TKO_Geo_Vertex_Vis = 0x00200000, TKO_Geo_Cut_Geometry = 0x00500000,
  TKO_Geo_Adjacent_Edge = 0x01000000, TKO_Geo_NonCulled_Edge = 0x02000000, TKO_Geo_Edge_Visibles = 0x0300F002, TKO_Geo_Geom_Visibles = 0x0301FFFF,
  TKO_Geo_All_Visibles = 0x037FFF7F
}
enum  TKO_Geometry_Options { TKO_Geometry_Options_Orientation = 0x0001, TKO_Geometry_Options_Camera_Relative = 0x0002 }
enum  TKO_Heuristic_Bits {
  TKO_Heuristic_Hidden_Surfaces = 0x00000001, TKO_Heuristic_Backplane_Cull = 0x00000002, TKO_Heuristic_Polygon_Handedness = 0x00000004, TKO_Heuristic_Quick_Moves = 0x00000008,
  TKO_Heuristic_Partial_Erase = 0x00000010, TKO_Heuristic_Memory_Purge = 0x00000020, TKO_Heuristic_Related_Select_Limit = 0x00000040, TKO_Heuristic_Internal_Shell_Limit = 0x00000080,
  TKO_Heuristic_Clipping = 0x00000100, TKO_Heuristic_Transformations = 0x00000200, TKO_Heuristic_Intersecting_Polygons = 0x00000400, TKO_Heuristic_Polygon_Crossings = 0x00000800,
  TKO_Heuristic_Concave_Polygons = 0x00001000, TKO_Heuristic_Incremental_Updates = 0x00002000, TKO_Heuristic_Selection_Sorting = 0x00004000, TKO_Heuristic_Extended = 0x00008000,
  TKO_Heuristic_Extended_Mask = 0xFFFF0000, TKO_Heuristic_Extended_Shift = 16, TKO_Heuristic_Culling = 0x00010000, TKO_Heuristic_Exclude_Bounding = 0x00020000,
  TKO_Heuristic_Detail_Selection = 0x00040000, TKO_Heuristic_Ordered_Drawing = 0x00080000, TKO_Heuristic_Ordered_Unit = 0x00100000, TKO_Heuristic_Ordered_Weights = 0x00200000,
  TKO_Heuristic_Internal_Polyline_Limit = 0x00400000, TKO_Heuristic_Ordered_Grid = 0x00800000, TKO_Heuristic_Selection_Level = 0x01000000, TKO_Heuristic_Static = 0x02000000,
  TKO_Heuristic_Force_Defer = 0x04000000, TKO_Heuristic_Model_Type = 0x08000000, TKO_Heuristic_Selection_Culling = 0x10000000, TKO_Heuristic_Internal_Select_Limit = TKO_Heuristic_Internal_Shell_Limit | TKO_Heuristic_Internal_Polyline_Limit,
  TKO_Heuristic_Extras = TKO_Heuristic_Polygon_Handedness | TKO_Heuristic_Quick_Moves, TKO_Heur_Extra_Left_Handed_Polys = 0x01, TKO_Heur_Extra_Quick_Move_Spriting = 0x02, TKO_Heur_View_Frustum_Culling = 0x00000001,
  TKO_Heur_Obscuration_Culling = 0x00000002, TKO_Heur_Extent_Culling = 0x00000004, TKO_Heur_View_Frustum_Culling_Off = 0x00000010, TKO_Heur_Obscuration_Culling_Off = 0x00000020,
  TKO_Heur_Extent_Culling_Off = 0x00000040, TKO_Heur_Culling_Extended = 0x00000080, TKO_Heur_Culling_Extended_Mask = 0xFFFFFF00, TKO_Heur_Culling_Extended_Shift = 8,
  TKO_Heur_Obscuration_Use_Octree = 0x00000100, TKO_Heur_Maximum_Extent_Mode = 0x00000200, TKO_Heur_Vector_Culling = 0x00000400, TKO_Heur_Vector_Tolerance = 0x00000800,
  TKO_Heur_Vector_Culling_Off = 0x00001000, TKO_Heur_Vector_Tolerance_Off = 0x00002000, TKO_Heur_Hard_Extent_Culling = 0x00004000, TKO_Heur_Culling_Extended2 = 0x00008000,
  TKO_Heur_Culling_Extended2_Mask = 0xFFFF0000, TKO_Heur_Culling_Extended2_Shift = 16, TKO_Heur_Maximum_Extent_Level = 0x00010000, TKO_Heur_Hard_Extent_Culling_Off = 0x00020000,
  TKO_Heur_Extent_Culling_Detail_On = 0x00040000, TKO_Heur_Extent_Culling_Detail_Off = 0x00080000, TKO_Heur_Max_Distance_Culling = 0x00100000, TKO_Heur_Max_Distance_Culling_Off = 0x00200000,
  TKO_Heur_View_Volume_Culling = 0x00400000, TKO_Heur_View_Volume_Culling_Off = 0x00800000, TKO_Heur_Max_Extent_Mode_None = 0, TKO_Heur_Max_Extent_Mode_Dot = 1,
  TKO_Heur_Max_Extent_Mode_Bounding = 2, TKO_Heur_Max_Extent_Mode_Defer = 3, TKO_Heur_Max_Extent_Level_None = 0x00, TKO_Heur_Max_Extent_Level_Segment = 0x01,
  TKO_Heur_Max_Extent_Level_Geometry = 0x02, TKO_Heur_Max_Extent_Level_Primitive = 0x04, TKO_Heur_Max_Extent_Level_All = 0x07, TKO_Heur_Order_World_Volume = 0,
  TKO_Heur_Order_Screen_Extent = 1, TKO_Heur_Order_Distance = 2, TKO_Heur_Order_Divergence = 3, TKO_Heur_Order_Density = 4,
  TKO_Heur_Order_Priority = 5, TKO_Heur_Order_Count = 6, TKO_Heur_Selection_Level_Entity = 0, TKO_Heur_Selection_Level_Segment = 1,
  TKO_Heur_Selection_Level_Segment_Tree = 2, TKO_Heur_Model_Type_Default = 0, TKO_Heur_Model_Type_LMV = 1
}
enum  TKO_Image_Formats {
  TKO_Image_Mapped = 0, TKO_Image_Mapped_16 = 1, TKO_Image_RGB = 2, TKO_Image_RGBA = 3,
  TKO_Image_BGRA = 4, TKO_Image_DEPTH = 5, TKO_Image_LUMINANCE8 = 6, TKO_Image_JPEG = 7,
  TKO_Image_DXT1 = 8, TKO_Image_DXT3 = 9, TKO_Image_DXT5 = 10, TKO_Image_TARGA = 11,
  TKO_Image_PNG = 12, TKO_Image_Format_Mask = 0x0F, TKO_Image_Explicit_Size = 0x10, TKO_Image_Local_Texture = 0x20,
  TKO_Image_Is_Named = 0x80, TKO_Image_Compression_Quality = 0x00000100, TKO_Image_Discard = 0x00000200, TKO_Image_Options_Mask = 0xFFFFFFF0,
  TKO_Image_Invalid = 0xFF
}
enum  TKO_Light_Options { TKO_Light_Camera_Relative = 0x1 }
enum  TKO_Map_Format { TKO_Map_RGB_Values, TKO_Map_String }
enum  TKO_Rendering_Option_Bits {
  TKO_Interp_Texture_Faces = 0x00000001, TKO_Interp_Texture_Edges = 0x00000002, TKO_Interp_Texture_Markers = 0x00000004, TKO_Interp_Texture = 0x00000007,
  TKO_Interp_Color_Faces = 0x00000008, TKO_Interp_Color_Edges = 0x00000010, TKO_Interp_Color_Markers = 0x00000020, TKO_Interp_Color = 0x00000038,
  TKO_Interp_Index_Faces = 0x00000040, TKO_Interp_Index_Edges = 0x00000080, TKO_Interp_Index_FE = 0x000000C0, TKO_Interp_Lighting_Faces_Gouraud = 0x00000100,
  TKO_Interp_Lighting_Faces_Phong = 0x00000200, TKO_Interp_Lighting_Edges_Gouraud = 0x00000400, TKO_Interp_Lighting_Edges_Phong = 0x00000800, TKO_Interp_Lighting_Faces = 0x00000300,
  TKO_Interp_Lighting_Edges = 0x00000C00, TKO_Interp_Lighting_Gouraud = 0x00000500, TKO_Interp_Lighting_Phong = 0x00000A00, TKO_Interp_Lighting = 0x00000F00,
  TKO_Rendo_HSR_Algorithm = 0x00001000, TKO_Rendo_THSR_Algorithm = 0x00002000, TKO_Rendo_Any_HSR = 0x00003000, TKO_Rendo_Local_Viewer = 0x00004000,
  TKO_Rendo_Perspective_Correction = 0x00008000, TKO_Rendo_Display_Lists = 0x00010000, TKO_Rendo_Debug = 0x00020000, TKO_Rendo_Technology = 0x00040000,
  TKO_Rendo_Quantization = 0x00080000, TKO_Rendo_TQ = 0x000C0000, TKO_Rendo_Attribute_Lock = 0x00100000, TKO_Rendo_Face_Displacement = 0x00200000,
  TKO_Rendo_Fog = 0x00400000, TKO_Rendo_Buffer_Options = 0x00800000, TKO_Rendo_Hidden_Line_Options = 0x01000000, TKO_Rendo_LOD = 0x02000000,
  TKO_Rendo_LOD_Options = 0x04000000, TKO_Rendo_NURBS_Curve_Options = 0x08000000, TKO_Rendo_NURBS_Surface_Options = 0x10000000, TKO_Rendo_NURBS_Options = 0x18000000,
  TKO_Rendo_Stereo = 0x20000000, TKO_Rendo_Stereo_Separation = 0x40000000
}
enum  TKO_Spot_Light_Options {
  TKO_Spot_Outer_Degrees = 0x01, TKO_Spot_Outer_Field = 0x02, TKO_Spot_Inner_Degrees = 0x04, TKO_Spot_Inner_Field = 0x08,
  TKO_Spot_Inner_Percent = 0x0C, TKO_Spot_Outer_Mask = 0x03, TKO_Spot_Inner_Mask = 0x0C, TKO_Spot_Camera_Relative = 0x10,
  TKO_Spot_Concentration = 0x20
}
enum  TKO_Text_Encodings {
  TKO_Enc_ISO_Latin_One, TKO_Enc_ISO_Latin, TKO_Enc_JEC, TKO_Enc_EUC,
  TKO_Enc_Raw_16, TKO_Enc_Unicode, TKO_Enc_Unicode32, TKO_Enc_UTF8,
  TKO_Enc_UTF16, TKO_Enc_UTF32, TKO_Enc_WCS
}
enum  TKO_Text_Options { TKO_Text_Option_Region = 0x01, TKO_Text_Option_Character_Attributes = 0x02 }
enum  TKO_Text_Region_Fit_Options { TKO_Text_Region_Fit_None = 0, TKO_Text_Region_Fit_Spacing = 1, TKO_Text_Region_Fit_Size = 2 }
enum  TKO_Text_Region_Options {
  TKO_Text_Region_Window = 0x01, TKO_Text_Region_Relative = 0x02, TKO_Text_Region_Adjusted = 0x04, TKO_Text_Region_Center = 0x08,
  TKO_Text_Region_Top = 0x10, TKO_Text_Region_HFit = 0x20, TKO_Text_Region_VFit = 0x40, TKO_Text_Region_Fitting = 0x60,
  TKO_Text_Region_Extended = 0x80
}
enum  TKO_Texture_Application_Modes { TKO_Texture_Modulate_Set = 0x01, TKO_Texture_Decal_Set = 0x02 }
enum  TKO_Texture_Channel_Mappings {
  TKO_Texture_Channel_Mapping_Red, TKO_Texture_Channel_Mapping_Green, TKO_Texture_Channel_Mapping_Blue, TKO_Texture_Channel_Mapping_Alpha,
  TKO_Texture_Channel_Mapping_Zero, TKO_Texture_Channel_Mapping_One, TKO_Texture_Channel_Mapping_Luminance, TKO_Texture_Channel_Mapping_None
}
enum  TKO_Texture_Filters {
  TKO_Texture_Filter_None, TKO_Texture_Filter_Bilinear, TKO_Texture_Filter_Trilinear, TKO_Texture_Filter_MipMap,
  TKO_Texture_Filter_Summed_Areas, TKO_Texture_Filter_Gaussian, TKO_Texture_Filter_Stochastic, TKO_Texture_Filter_Anisotropic
}
enum  TKO_Texture_Layouts {
  TKO_Texture_Layout_Rectilinear, TKO_Texture_Layout_Spherical, TKO_Texture_Layout_Hemispherical, TKO_Texture_Layout_Cubic_Faces,
  TKO_Texture_Layout_Unknown
}
enum  TKO_Texture_Option_Bits {
  TKO_Texture_Param_Source = 0x00000001, TKO_Texture_Tiling = 0x00000002, TKO_Texture_Interpolation = 0x00000004, TKO_Texture_Decimation = 0x00000008,
  TKO_Texture_Red_Mapping = 0x00000010, TKO_Texture_Green_Mapping = 0x00000020, TKO_Texture_Blue_Mapping = 0x00000040, TKO_Texture_Alpha_Mapping = 0x00000080,
  TKO_Texture_Param_Function = 0x00000100, TKO_Texture_Layout = 0x00000200, TKO_Texture_Transform = 0x00000400, TKO_Texture_Value_Scale = 0x00000800,
  TKO_Texture_Caching = 0x00001000, TKO_Texture_DownSample = 0x00002000, TKO_Texture_No_DownSample = 0x00004000, TKO_Texture_Extended = 0x00008000,
  TKO_Texture_Extended_Mask = 0xFFFF0000, TKO_Texture_Extended_Shift = 16, TKO_Texture_Decal = 0x00010000, TKO_Texture_Modulate = 0x00020000,
  TKO_Texture_Param_Offset = 0x00040000, TKO_Texture_Transform_Override = 0x00080000, TKO_Texture_Shader = 0x00100000, TKO_Texture_Shader_Multitexture = 0x00200000,
  TKO_Texture_Camera = 0x00400000, TKO_Texture_Source_Dimensions = 0x00800000, TKO_Texture_Geometry_Shader = 0x01000000
}
enum  TKO_Texture_Param_Functions { TKO_Texture_Param_Function_None, TKO_Texture_Param_Function_Sphere, TKO_Texture_Param_Function_Cylinder, TKO_Texture_Param_Function_Box }
enum  TKO_Texture_Param_Sources {
  TKO_Texture_Param_Source_U, TKO_Texture_Param_Source_UV, TKO_Texture_Param_Source_UVW, TKO_Texture_Param_Source_Object,
  TKO_Texture_Param_Source_World, TKO_Texture_Param_Source_Surface_Normal, TKO_Texture_Param_Source_Reflection_Vector, TKO_Texture_Param_Source_Natural_UV,
  TKO_Texture_Param_Source_Local_Pixels, TKO_Texture_Param_Source_Outer_Pixels, TKO_Texture_Param_Source_Local_Window, TKO_Texture_Param_Source_Outer_Window,
  TKO_Texture_Param_Source_Transmission_Vector, TKO_Texture_Param_Source_Sphere_Map, TKO_Texture_Param_Source_Cylinder_Map, TKO_Texture_Param_Source_Physical_Reflection_Vector
}
enum  TKO_Texture_Tilings {
  TKO_Texture_Tiling_None, TKO_Texture_Tiling_Clamp, TKO_Texture_Tiling_Repeat, TKO_Texture_Tiling_Mirror,
  TKO_Texture_Tiling_Drop
}
enum  TKO_Thumbnail_Formats { TKO_Thumbnail_RGB = 0, TKO_Thumbnail_RGBA = 1, TKO_Thumbnail_Invalid = 0xFF }

Variables

const int TK_Image_Bytes_Per_Pixel []
 Specifies the number of bytes per pixel for each format.

Detailed Description

Contains data types which are used by BBaseOpcodeHandler.


Define Documentation

#define IMPLEMENT_CLONE (   class_name)
Value:
TK_Status class_name::Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **newhandler) const {  \
                *newhandler = BSTREAM_NEW(class_name);                                                              \
                if (*newhandler != null)                                                                    \
                    return TK_Normal;                                                                       \
                else                                                                                        \
                    return tk.Error ("memory allocation in" #class_name "::clone failed");                  \
            }

macro to simplify normal implementation of the Clone function

#define IMPLEMENT_CLONE_OPCODE (   class_name)
Value:
TK_Status class_name::Clone (BStreamFileToolkit & tk, BBaseOpcodeHandler **newhandler) const {  \
                *newhandler = BSTREAM_NEW(class_name)(Opcode());                                                    \
                if (*newhandler != null)                                                                    \
                    return TK_Normal;                                                                       \
                else                                                                                        \
                    return tk.Error ("memory allocation in" #class_name "::clone failed");                  \
}

a version of IMPLEMENT_CLONE for the classes that need to know the opcode

#define TKO_Rendo_Extended   0x80000000

Extended bit for Rendering Options

Referenced by TK_Rendering_Options::SetMask().


Enumeration Type Documentation

options for the TKE_Repeat_Object opcode

Enumerator:
Instance_By_Tristrip 

polyhedra will be instanced using their tristrip information

Opcodes stored in the file.

Each piece of logical information in the HOOPS Stream File is represented by an opcode. The opcode along with its data constitutes an 'opcode object'

Note: the trailing ////s have been used internally as a visual indicator of the completeness of the implementation of an opcode (gaps in the pattern would indicate work remaining somewhere). Usually // for a reserved code, /// for partial implementation, //// when done.

Enumerator:
TKE_Termination 

////

TKE_Pause 

//// //////

TKE_Comment 

//// //////

TKE_Font 

////

TKE_Texture 

////

TKE_Material 

//// //////

TKE_Open_Segment 

////

TKE_Close_Segment 

////

TKE_Reopen_Segment 

////

TKE_Include_Segment 

////

TKE_Style_Segment 

////

TKE_Named_Style 

//// //////

TKE_Geometry_Attributes 

////

TKE_Renumber_Key_Global 

////

TKE_Renumber_Key_Local 

////

TKE_Priority 

////

TKE_Tag 

//// //////

TKE_Bounding 

////

TKE_Bounding_Info 

////

TKE_Callback 

////

TKE_Camera 

////

TKE_Conditional_Action 

////

TKE_Conditions 

////

TKE_Color 

////

TKE_Color_By_Index 

////

TKE_Color_By_Index_16 

////

TKE_Color_By_FIndex 

////

TKE_Color_RGB 

////

TKE_Color_By_Value 

////

TKE_Color_Map 

////

TKE_Edge_Pattern 

////

TKE_Edge_Weight 

////

TKE_Face_Pattern 

////

TKE_Geometry_Options 

////

TKE_Handedness 

////

TKE_Heuristics 

////

TKE_Line_Pattern 

////

TKE_Line_Weight 

////

TKE_Marker_Size 

////

TKE_Marker_Symbol 

////

TKE_Modelling_Matrix 

////

TKE_LOD 

////

TKE_Rendering_Options 

////

TKE_Selectability 

////

TKE_Text_Alignment 

////

TKE_Text_Font 

////

TKE_Text_Path 

////

TKE_Text_Spacing 

////

TKE_Texture_Matrix 

////

TKE_Unicode_Options 

////

TKE_User_Index 

////

TKE_User_Index_Data 

////

TKE_User_Options 

////

TKE_User_Value 

////

TKE_Visibility 

////

TKE_Window 

////

TKE_Window_Frame 

////

TKE_Window_Pattern 

////

TKE_Glyph_Definition 

////

TKE_Line_Style 

////

TKE_Named_Style_Def 

//// //////

TKE_Area_Light 

////

TKE_Circle 

////

TKE_Circular_Arc 

////

TKE_Circular_Chord 

////

TKE_Circular_Wedge 

////

TKE_Cutting_Plane 

////

TKE_Cylinder 

////

TKE_Distant_Light 

////

TKE_Ellipse 

////

TKE_Elliptical_Arc 

////

TKE_Grid 

////

TKE_Image 

////

TKE_Infinite_Line 

////

TKE_Infinite_Ray 

////

TKE_Line 

////

TKE_Local_Light 

////

TKE_Marker 

////

TKE_Mesh 

////

TKE_NURBS_Curve 

////

TKE_NURBS_Surface 

////

TKE_PolyCylinder 

////

TKE_Polygon 

////

TKE_Polyline 

////

TKE_PolyPolyline 

////

TKE_Reference 

////

TKE_Shell 

////

TKE_Sphere 

////

TKE_Spot_Light 

////

TKE_Text 

////

TKE_Text_With_Encoding 

//// //////

TKE_Start_User_Data 

////

TKE_Stop_User_Data 

////

TKE_XML 

////

TKE_External_Reference 

////

TKE_External_Reference_Unicode 

////

TKE_URL 

//// //////

TKE_Start_Compression 

////

TKE_Stop_Compression 

//// //////

TKE_Repeat_Object 

////

TKE_View 

////

TKE_Clip_Rectangle 

////

TKE_Clip_Region 

////

TKE_Complex_Clip_Region 

// //////

TKE_File_Info 

////

TKE_Dictionary 

////

TKE_Dictionary_Locater 

////

TKE_Thumbnail 

////

TKE_Delete_Object 

//// //////

TKE_Tag_Implicit 

//-- obsolete. this alias provided for source compatibility with old code

TKE_Streaming_Mode 

//-- would like this to be obsolete, but...

TKE_First_User_Opcode 

//// first opcode value reserved for private use

TKE_Last_User_Opcode 

//// last opcode value reserved for private use

TKE_Pseudo_Handler 

//// pseudo-handler (non-zero value)

TKE_Extended_Code 

//// reserved for future expansion

Enumerator:
TKO_Action_Type_Prune_Segment 

refer to ::HC_Conditional_Action

TKO_Action_Option_Segment_Tree 

refer to ::HC_Conditional_Action

Represents attribute lock types for various attributes; refer to the 'attribute lock' section of HC_Set_Rendering_Options for a description

Enumerator:
TKO_Lock_Callback 

self-explanatory

TKO_Lock_Camera 

self-explanatory

TKO_Lock_Color 

self-explanatory

TKO_Lock_Color_Map 

self-explanatory

TKO_Lock_Driver 

self-explanatory

TKO_Lock_Driver_Options 

self-explanatory

TKO_Lock_Edge_Pattern 

self-explanatory

TKO_Lock_Edge_Weight 

self-explanatory

TKO_Lock_Face_Pattern 

self-explanatory

TKO_Lock_Handedness 

self-explanatory

TKO_Lock_Heuristics 

self-explanatory

TKO_Lock_Line_Pattern 

self-explanatory

TKO_Lock_Line_Weight 

self-explanatory

TKO_Lock_Marker_Size 

self-explanatory

TKO_Lock_Marker_Symbol 

self-explanatory

TKO_Lock_Metafile 

self-explanatory

TKO_Lock_Modelling_Matrix 

self-explanatory

TKO_Lock_Rendering_Options 

self-explanatory

TKO_Lock_Selectability 

self-explanatory

TKO_Lock_Styles 

self-explanatory

TKO_Lock_Text_Alignment 

self-explanatory

TKO_Lock_Text_Font 

self-explanatory

TKO_Lock_Text_Path 

self-explanatory

TKO_Lock_Text_Spacing 

self-explanatory

TKO_Lock_User_Options 

self-explanatory

TKO_Lock_User_Value 

self-explanatory

TKO_Lock_Texture_Matrix 

self-explanatory

TKO_Lock_Visibility 

self-explanatory

TKO_Lock_Window 

self-explanatory

TKO_Lock_Window_Frame 

self-explanatory

TKO_Lock_Window_Pattern 

self-explanatory

TKO_Lock_All 

self-explanatory

Handles the TKE_Bounding and TKE_Bounding_Info opcodes.

TK_Bounding provides support for writing/reading the TKE_Bounding and TKE_Bounding_Info opcode objects to/from an HSF file.

The HOOPS/3dGS scene-graph maintain bounding volume information which denotes the extents of the scene. Exporting bounding information (typically at the beginning of the HSF file) is useful so that a reading app can quickly find out the scene-extents and set an appropriate camera.

Defines the class of bounding volume that is specified

Enumerator:
TKO_Bounding_Type_Cuboid 

self-explanatory

TKO_Bounding_Type_Sphere 

self-explanatory

Defines camera projection; refer to HC_Set_Camera for details

Enumerator:
TKO_Camera_Perspective_Bit 

perspective bit setting

TKO_Camera_Stretched_Bit 

stretched bit setting

TKO_Camera_Projection_Mask 

self-explanatory

TKO_Camera_Orthographic 

orthographic projection

TKO_Camera_Perspective 

perspective projection

TKO_Camera_Stretched 

stretched projection

TKO_Camera_Oblique_Y 

oblique y setting

TKO_Camera_Oblique_X 

oblique x setting

TKO_Camera_Oblique_Mask 

self-explanatory

TKO_Camera_Near_Limit 

near limit setting

TKO_Camera_Thumbnail 

If this bit is set, a thumbnail of this view immediately follows.

Specifies the set of attributes that can be set on individual characters

Enumerator:
TKO_Character_Name 

the font name

TKO_Character_Size 

the character size

TKO_Character_Vertical_Offset 

the offset from the standard position

TKO_Character_Omitted 

character is skipped

TKO_Character_Invisible 

character is invisible

TKO_Character_Slant 

slant, specified in degrees clockwise

TKO_Character_Width_Scale 

adjustment to character width

TKO_Character_Rotation 

rotation, specified in degrees clockwise

TKO_Character_Horizontal_Offset 

the offset from the standard position

TKO_Character_Color 

the offset from the standard position

TKO_Character_Extended 

room for expansion

Defines properties of circular geometries; refer to HC_Set_Circular_Center for details

Enumerator:
TKO_Circular_Center 

self-explanatory

options for TKE_Clip_Region opcode

Enumerator:
TKO_Clip_Region_World_Space 

clip region is to be specified in world space.

TKO_Clip_Region_Window_Space 

clip region is to be specified in window space {[0..1],[0..1]}. Default is world space

TKO_Clip_Region_Object_Space 

clip region is to be specified in object space.

TKO_Clip_Region_Clip 

region is a clip region

TKO_Clip_Region_Mask 

region is a mask region

Represents color channel lock types for geometries; refer to the 'attribute lock' section of HC_Set_Rendering_Options for a description

Enumerator:
TKO_Lock_Channel_Diffuse 

self-explanatory

TKO_Lock_Channel_Specular 

self-explanatory

TKO_Lock_Channel_Mirror 

self-explanatory

TKO_Lock_Channel_Transmission 

self-explanatory

TKO_Lock_Channel_Emission 

self-explanatory

TKO_Lock_Channel_Gloss 

self-explanatory

TKO_Lock_Channel_Index 

color by index

TKO_Lock_Channel_Environment 

env map

TKO_Lock_Channel_Bump 

bump map

TKO_Lock_Channel_ALL 

all

Defines color channels; refer to HC_Set_Color for details

Enumerator:
TKO_Channel_Diffuse 

self-explanatory

TKO_Channel_Specular 

self-explanatory

TKO_Channel_Mirror 

self-explanatory

TKO_Channel_Transmission 

self-explanatory

TKO_Channel_Emission 

self-explanatory

TKO_Channel_Gloss 

self-explanatory

TKO_Channel_Index 

color by index

TKO_Channel_Extended 

extended bit

TKO_Channel_Environment 

env map

TKO_Channel_Bump 

bump map

TKO_Channel_Extended_Mask 

mask corresponding to extended bit

TKO_Channel_Extended_Shift 

shift corresponding to extended bit

Defines compression type

Enumerator:
TKO_Compression_None 

self-explanatory

TKO_Compression_RLE 

self-explanatory

TKO_Compression_JPEG 

self-explanatory

TKO_Compression_DXT 

s3 texture compression (level 1,3 or 5 determined by TKO_Image_Formats)

TKO_Compression_TARGA 

Truevision TGA.

TKO_Compression_PNG 

Portable Network Graphics.

TKO_Compression_Reference 

empty placeholder image, no real data, possible reference instead

Defines the values for the TK_Enumerated forms used by the HOOPS 3DGS

Enumerator:
TKO_Line_Pattern_Solid 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Dash_Dot 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Dashed 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Dotted 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Dash_2Dot 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Dash_3Dot 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Long_Dash 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Center 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Phantom 

refer to HC_Set_Line_Pattern

TKO_Line_Pattern_Find_Dots 

refer to HC_Set_Line_Pattern

TKO_Fill_Pattern_Hash 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Vertical 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Horizontal 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Right 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Left 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Diamond 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Dots 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Boxes 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Solid 

refer to HC_Set_Face_Pattern

TKO_Fill_Pattern_Clear 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Gradient_N 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Gradient_NE 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Gradient_E 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Gradient_SE 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Gradient_S 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Gradient_SW 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Gradient_W 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Gradient_NW 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Blend 

refer to HC_Set_Window_Pattern

TKO_Fill_Pattern_Invisible 

refer to HC_Set_Window_Pattern

TKO_Marker_Circle 

refer to HC_Set_Marker_Symbol

TKO_Marker_Circle_Dot 

""

TKO_Marker_Circle_Plus 

""

TKO_Marker_Circle_X 

""

TKO_Marker_Circle_Circle 

""

TKO_Marker_Circle_Filled 

""

TKO_Marker_Dot 

""

TKO_Marker_Plus 

""

TKO_Marker_X 

""

TKO_Marker_Star 

""

TKO_Marker_Box 

""

TKO_Marker_Box_Dot 

""

TKO_Marker_Box_X 

""

TKO_Marker_Box_Filled 

""

TKO_Marker_Diamond 

""

TKO_Marker_Diamond_Dot 

""

TKO_Marker_Diamond_Plus 

""

TKO_Marker_Diamond_Filled 

""

TKO_Marker_Triangle_Up 

""

TKO_Marker_Triangle_Up_Vertex 

""

TKO_Marker_Triangle_Up_Dot 

""

TKO_Marker_Triangle_Up_Filled 

""

TKO_Marker_Triangle_Up_Filled_Vertex 

""

TKO_Marker_Triangle_Down 

""

TKO_Marker_Triangle_Down_Vertex 

""

TKO_Marker_Triangle_Down_Dot 

""

TKO_Marker_Triangle_Down_Filled 

""

TKO_Marker_Triangle_Down_Filled_Vertex 

""

TKO_Marker_Triangle_Right 

""

TKO_Marker_Triangle_Right_Vertex 

""

TKO_Marker_Triangle_Right_Dot 

""

TKO_Marker_Triangle_Right_Filled 

""

TKO_Marker_Triangle_Right_Filled_Vertex 

""

TKO_Marker_Triangle_Left 

""

TKO_Marker_Triangle_Left_Vertex 

""

TKO_Marker_Triangle_Left_Dot 

""

TKO_Marker_Triangle_Left_Filled 

""

TKO_Marker_Triangle_Left_Filled_Vertex 

""

TKO_Marker_Hash 

""

TKO_Marker_Wide_Plus 

""

TKO_Marker_Open_Arrow 

""

TKO_Marker_Closed_Arrow 

""

TKO_Marker_Vertical_Bar 

""

TKO_Marker_Half_Arrow_Left 

""

TKO_Marker_Half_Arrow_Right 

""

TKO_Marker_Wide_Arrow 

""

TKO_Marker_Double_Arrow 

""

TKO_Marker_Y 

""

TKO_Marker_Z 

""

TKO_Text_Alignment_Lower_Left 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Upper_Left 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Middle_Left 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Lower_Right 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Upper_Right 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Middle_Right 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Lower_Center 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Upper_Center 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Middle_Center 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Insertion_Left 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Insertion_Right 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Insertion_Center 

refer to HC_Set_Text_Alignment

TKO_Text_Alignment_Insertion 

refer to HC_Set_Text_Alignment

TKO_Text_Justification_Unspecified 

refer to HC_Set_Text_Alignment

TKO_Text_Justification_Left 

refer to HC_Set_Text_Alignment

TKO_Text_Justification_Center 

refer to HC_Set_Text_Alignment

TKO_Text_Justification_Right 

refer to HC_Set_Text_Alignment

TKO_Text_Justification_Mask 

refer to HC_Set_Text_Alignment

TKO_Text_Justification_Shift 

refer to HC_Set_Text_Alignment

TKO_Window_Frame_Off 

refer to HC_Set_Visibility

TKO_Window_Frame_On 

refer to HC_Set_Visibility

TKO_Handedness_Left 

refer to HC_Set_Rendering_Options

TKO_Handedness_Right 

refer to HC_Set_Rendering_Options

Defines the way text below the "greeking limit" is drawn; refer to HC_Set_Text_Font for details

Enumerator:
TKO_Font_Greeking_Mode_None 

don't draw

TKO_Font_Greeking_Mode_Lines 

replace with a grid of lines

TKO_Font_Greeking_Mode_Box 

replace with a box (probably a halftone stipple)

Defined the layout options used for fonts

Enumerator:
TKO_Font_Layout_Unicode 

HOOPS defualt font layout.

When written to m_mask, defines which font options are present in the current opcode (all others are ignored) When written to m_value, defines which font options are turned on; refer to HC_Set_Text_Font for details

Enumerator:
TKO_Font_Names 

the name of the font (i.e. which font to use)

TKO_Font_Size 

the size at which to draw characters

TKO_Font_Size_Tolerance 

the size tolerance outside of which fonts must be regenerated

TKO_Font_Transforms 

transformation mode (set with a bit from TKO_Font_Transforms)

TKO_Font_Rotation 

character rotation, specified in degrees

TKO_Font_Slant 

character slant

TKO_Font_Width_Scale 

scale factor for width

TKO_Font_Extended 

extends font options to a second byte

TKO_Font_Extra_Space 

in addition to the spacing specified within the font itself, the extra space to add between characters

TKO_Font_Line_Spacing 

extra spacing between lines

TKO_Font_Outline 

draw only the outline (i.e. don't fill)

TKO_Font_Underline 

add an underline to the font

TKO_Font_Strikethrough 

add a strikethrough to the font

TKO_Font_Overline 

add an overline to the font

TKO_Font_Uniform_Spacing 

force non-proportional spacing

TKO_Font_Extended2 

for further expansion

TKO_Font_Extended2_Mask 

for further expansion

TKO_Font_Extended2_Shift 

for further expansion

TKO_Font_Greeking_Limit 

limit at which text may be replaced with a crude representation

TKO_Font_Fill_Edges 

fill edges of characters to improve appearance ar small sizes

TKO_Font_Bold 

choose or simulate a bold variation

TKO_Font_Italic 

choose or simulate an italic variation

TKO_Font_Renderer 

limit font source

TKO_Font_Greeking_Mode 

select how to draw (or not) greeked text

TKO_Font_Preference 

select preferred drawing modes

TKO_Font_Layout 

select layout modes

Limits fonts to a particular type HC_Set_Text_Font for details

Enumerator:
TKO_Font_Preference_Undefined 

not specified

TKO_Font_Preference_Default 

use whatever the display device prefers

TKO_Font_Preference_Bitmap 

try to use bitmaps

TKO_Font_Preference_Outline 

try to use polygonal (outline) representations

TKO_Font_Preference_Exterior 

try to use polyline outline around the character exterior

Limits fonts to a particular type HC_Set_Text_Font for details

Enumerator:
TKO_Font_Renderer_Undefined 

not sapecified

TKO_Font_Renderer_Default 

use any available fonts

TKO_Font_Renderer_Driver 

only use hardware fonts

TKO_Font_Renderer_Truetype 

only use Truetype (or similar) fonts

TKO_Font_Renderer_Defined 

only use Hoops defined (stroked) fonts

Defines font transform mode for the TKE_Text_Font opcode. Refer to HC_Set_Text_Font for details There is no need for an "off" because that would be specified by m_value.

Enumerator:
TKO_Font_Transform_Position_Only 

transform position only

TKO_Font_Transform_Full 

full transforms

TKO_Font_Transform_Position_Adjusted 

transform position adjusted

Handles the TKE_Font opcodes.

TK_Font provides support for writing/reading the TKE_Font opcode object to/from an HSF file.

The HOOPS/3dGS scene-graph can contain user-defined 'fonts' which provide a desscription of how to draw individual characters in text string.

Defines the units used for general sizing; refer to HC_Compute_Coordinates for detais

Enumerator:
TKO_Generic_Size_Object 

Object Space.

TKO_Generic_Size_Screen 

Screen Space.

TKO_Generic_Size_Window 

Window Space.

TKO_Generic_Size_Points 

Points.

TKO_Generic_Size_Pixels 

Pixels.

TKO_Generic_Size_Percent 

only used by certain handlers

TKO_Generic_Size_World 

World Space.

TKO_Generic_Size_Unspecified 

self-explanatory; (internal note: keep this listed last)

Denotes how various attributes are applied to geometry types

Enumerator:
TKO_Geo_Face 

common/shared items; refer to HC_Set_Visibility for a description

TKO_Geo_Edge 

common/shared items; refer to HC_Set_Visibility for a description

TKO_Geo_Line 

common/shared items; refer to HC_Set_Visibility for a description

TKO_Geo_Marker 

common/shared items; refer to HC_Set_Visibility for a description

TKO_Geo_Text 

common/shared items; refer to HC_Set_Visibility for a description

TKO_Geo_Window 

common/shared items; refer to HC_Set_Visibility for a description

TKO_Geo_Image 

common/shared items; refer to HC_Set_Visibility for a description

TKO_Geo_Extended 

extended bits for common/shared items

TKO_Geo_Extended_Mask 

internal use, indicates bits which require TKO_Geo_Extended

TKO_Geo_Extended_Shift 

internal use, indicates shift for placement of extended section

TKO_Geo_Ambient_Up 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Light 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Face_Contrast 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Window_Contrast 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Front 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Back 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Vertex 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Geom_Colors 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Every_Colors 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Extended_Colors 

extended bits for color

TKO_Geo_Extended_Colors_Mask 

internal use, indicates bits which require TKO_Geo_Extended_Colors

TKO_Geo_Extended_Colors_Shift 

internal use, indicates shift for placement of extended section

TKO_Geo_Edge_Contrast 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Line_Contrast 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Marker_Contrast 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Vertex_Contrast 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Cut_Edge 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Simple_Reflection 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Cut_Face 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Extended2 

secondary extended bits

TKO_Geo_Extended2_Mask 

internal use, indicates bits which require TKO_Geo_Extended2

TKO_Geo_Extended2_Shift 

internal use, indicates shift for placement of extended section

TKO_Geo_Text_Contrast 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Ambient_Down 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Cut_Face_Contrast 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_Ambient 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_All_Colors 

extra item for color; refer to HC_Set_Color for a description

TKO_Geo_String_Cursor 

extra item for selectability; refer to HC_Set_Selectability for a description

TKO_Geo_Isoline 

extra item for selectability; refer to HC_Set_Selectability for a description

TKO_Geo_Geom_Selects 

extra item for selectability; refer to HC_Set_Selectability for a description

TKO_Geo_All_Selects 

extra item for selectability; refer to HC_Set_Selectability for a description

TKO_Geo_Face_Lighting 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Edge_Lighting 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Marker_Lighting 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Light_Visibles 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Silhouette_Edge 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Perimeter_Edge 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Mesh_Quad 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Hard_Edge 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Cutting_Plane 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Shadow_Emit 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Shadow_Cast 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Shadow_Receive 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Shadow_Visibles 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Vertex_Vis 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Cut_Geometry 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Adjacent_Edge 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_NonCulled_Edge 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Edge_Visibles 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_Geom_Visibles 

extra item for visibility; refer to HC_Set_Visibility for a description

TKO_Geo_All_Visibles 

extra item for visibility; refer to HC_Set_Visibility for a description

Represents various Geometry Options which typically relate to specific geometry types; refer to HC_Set_Geometry_Options for details

Enumerator:
TKO_Geometry_Options_Orientation 

refer to HC_Set_Geometry_Options

TKO_Geometry_Options_Camera_Relative 

refer to HC_Set_Geometry_Options

Represents various Heuristics which typically relate to rendering hints or optimizations; refer to HC_Set_Heuristics for details

Enumerator:
TKO_Heuristic_Hidden_Surfaces 

refer to HC_Set_Heuristics

TKO_Heuristic_Backplane_Cull 

refer to HC_Set_Heuristics

TKO_Heuristic_Polygon_Handedness 

refer to HC_Set_Heuristics

TKO_Heuristic_Quick_Moves 

refer to HC_Set_Heuristics

TKO_Heuristic_Partial_Erase 

refer to HC_Set_Heuristics

TKO_Heuristic_Memory_Purge 

refer to HC_Set_Heuristics

TKO_Heuristic_Related_Select_Limit 

refer to HC_Set_Heuristics

TKO_Heuristic_Internal_Shell_Limit 

refer to HC_Set_Heuristics

TKO_Heuristic_Clipping 

refer to HC_Set_Heuristics

TKO_Heuristic_Transformations 

refer to HC_Set_Heuristics

TKO_Heuristic_Intersecting_Polygons 

refer to HC_Set_Heuristics

TKO_Heuristic_Polygon_Crossings 

refer to HC_Set_Heuristics

TKO_Heuristic_Concave_Polygons 

refer to HC_Set_Heuristics

TKO_Heuristic_Incremental_Updates 

refer to HC_Set_Heuristics

TKO_Heuristic_Selection_Sorting 

refer to HC_Set_Heuristics

TKO_Heuristic_Extended 

extended bit

TKO_Heuristic_Extended_Mask 

mask of bits requiring extended

TKO_Heuristic_Extended_Shift 

shift of extended section

TKO_Heuristic_Culling 

refer to HC_Set_Heuristics

TKO_Heuristic_Exclude_Bounding 

refer to HC_Set_Heuristics

TKO_Heuristic_Detail_Selection 

refer to HC_Set_Heuristics

TKO_Heuristic_Ordered_Drawing 

refer to HC_Set_Heuristics

TKO_Heuristic_Ordered_Unit 

refer to HC_Set_Heuristics

TKO_Heuristic_Ordered_Weights 

refer to HC_Set_Heuristics

TKO_Heuristic_Internal_Polyline_Limit 

refer to HC_Set_Heuristics

TKO_Heuristic_Ordered_Grid 

refer to HC_Set_Heuristics

TKO_Heuristic_Selection_Level 

refer to HC_Set_Heuristics

TKO_Heuristic_Static 

refer to HC_Set_Heuristics

TKO_Heuristic_Force_Defer 

refer to HC_Set_Heuristics

TKO_Heuristic_Model_Type 

refer to HC_Set_Heuristics

TKO_Heuristic_Selection_Culling 

refer to HC_Set_Heuristics

TKO_Heuristic_Internal_Select_Limit 

refer to HC_Set_Heuristics

TKO_Heuristic_Extras 

refer to HC_Set_Heuristics

TKO_Heur_Extra_Left_Handed_Polys 

refer to HC_Set_Heuristics

TKO_Heur_Extra_Quick_Move_Spriting 

refer to HC_Set_Heuristics

TKO_Heur_View_Frustum_Culling 

refer to HC_Set_Heuristics

TKO_Heur_Obscuration_Culling 

refer to HC_Set_Heuristics

TKO_Heur_Extent_Culling 

refer to HC_Set_Heuristics

TKO_Heur_View_Frustum_Culling_Off 

refer to HC_Set_Heuristics

TKO_Heur_Obscuration_Culling_Off 

refer to HC_Set_Heuristics

TKO_Heur_Extent_Culling_Off 

refer to HC_Set_Heuristics

TKO_Heur_Culling_Extended 

refer to HC_Set_Heuristics

TKO_Heur_Culling_Extended_Mask 

refer to HC_Set_Heuristics

TKO_Heur_Culling_Extended_Shift 

refer to HC_Set_Heuristics

TKO_Heur_Obscuration_Use_Octree 

refer to HC_Set_Heuristics

TKO_Heur_Maximum_Extent_Mode 

refer to HC_Set_Heuristics

TKO_Heur_Vector_Culling 

refer to HC_Set_Heuristics

TKO_Heur_Vector_Tolerance 

refer to HC_Set_Heuristics

TKO_Heur_Vector_Culling_Off 

refer to HC_Set_Heuristics

TKO_Heur_Vector_Tolerance_Off 

refer to HC_Set_Heuristics

TKO_Heur_Hard_Extent_Culling 

refer to HC_Set_Heuristics

TKO_Heur_Culling_Extended2 

refer to HC_Set_Heuristics

TKO_Heur_Culling_Extended2_Mask 

refer to HC_Set_Heuristics

TKO_Heur_Culling_Extended2_Shift 

refer to HC_Set_Heuristics

TKO_Heur_Maximum_Extent_Level 

refer to HC_Set_Heuristics

TKO_Heur_Hard_Extent_Culling_Off 

refer to HC_Set_Heuristics

TKO_Heur_Extent_Culling_Detail_On 

refer to HC_Set_Heuristics

TKO_Heur_Extent_Culling_Detail_Off 

refer to HC_Set_Heuristics

TKO_Heur_Max_Distance_Culling 

refer to HC_Set_Heuristics

TKO_Heur_Max_Distance_Culling_Off 

refer to HC_Set_Heuristics

TKO_Heur_View_Volume_Culling 

refer to HC_Set_Heuristics

TKO_Heur_View_Volume_Culling_Off 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Mode_None 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Mode_Dot 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Mode_Bounding 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Mode_Defer 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Level_None 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Level_Segment 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Level_Geometry 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Level_Primitive 

refer to HC_Set_Heuristics

TKO_Heur_Max_Extent_Level_All 

refer to HC_Set_Heuristics

TKO_Heur_Order_World_Volume 

refer to HC_Set_Heuristics

TKO_Heur_Order_Screen_Extent 

refer to HC_Set_Heuristics

TKO_Heur_Order_Distance 

refer to HC_Set_Heuristics

TKO_Heur_Order_Divergence 

refer to HC_Set_Heuristics

TKO_Heur_Order_Density 

refer to HC_Set_Heuristics

TKO_Heur_Order_Priority 

refer to HC_Set_Heuristics

TKO_Heur_Order_Count 

refer to HC_Set_Heuristics

TKO_Heur_Selection_Level_Entity 

refer to HC_Set_Heuristics for description

TKO_Heur_Selection_Level_Segment 

refer to HC_Set_Heuristics for description

TKO_Heur_Selection_Level_Segment_Tree 

refer to HC_Set_Heuristics for description

TKO_Heur_Model_Type_Default 

refer to HC_Set_Heuristics for description

TKO_Heur_Model_Type_LMV 

refer to HC_Set_Heuristics for description

Defines image formats; refer to HC_Insert_Image

Enumerator:
TKO_Image_Mapped 

8-bit colormap indices

TKO_Image_Mapped_16 

16-bit colormap indices

TKO_Image_RGB 

self-explanatory

TKO_Image_RGBA 

self-explanatory

TKO_Image_BGRA 

self-explanatory

TKO_Image_DEPTH 

z values, 32-bit floats in [0..1] range

TKO_Image_LUMINANCE8 

image is one-byte of luminance data per pixel

TKO_Image_JPEG 

image is native JPEG data

TKO_Image_DXT1 

s3 texture compression level 1

TKO_Image_DXT3 

s3 texture compression level 3

TKO_Image_DXT5 

s3 texture compression level 5

TKO_Image_TARGA 

Truevision TGA.

TKO_Image_PNG 

Portable Network Graphics.

TKO_Image_Format_Mask 

format mask

TKO_Image_Explicit_Size 

self-explanatory

TKO_Image_Local_Texture 

self-explanatory

TKO_Image_Is_Named 

self-explanatory

TKO_Image_Compression_Quality 

compress on load to graphics hardware

TKO_Image_Discard 

discard after load to graphics hardware as texture

TKO_Image_Options_Mask 

options mask (unsigned char if file version is < 1805)

TKO_Image_Invalid 

self-explanatory

defines options that can be attached to lights. See TK_Point.

Defines colormap format

Enumerator:
TKO_Map_RGB_Values 

self-explanatory

TKO_Map_String 

self-explanatory

Represents various rendering properties

Enumerator:
TKO_Interp_Texture_Faces 

texture interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Texture_Edges 

texture interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Texture_Markers 

texture interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Texture 

texture interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Color_Faces 

color interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Color_Edges 

color interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Color_Markers 

color interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Color 

color interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Index_Faces 

color index interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Index_Edges 

color index interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Index_FE 

color index interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting_Faces_Gouraud 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting_Faces_Phong 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting_Edges_Gouraud 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting_Edges_Phong 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting_Faces 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting_Edges 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting_Gouraud 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting_Phong 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Interp_Lighting 

lighting interpolation value; refer to HC_Set_Rendering_Options for description

TKO_Rendo_HSR_Algorithm 

HSR algorithm; refer to HC_Set_Rendering_Options for description.

TKO_Rendo_THSR_Algorithm 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Any_HSR 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Local_Viewer 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Perspective_Correction 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Display_Lists 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Debug 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Technology 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Quantization 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_TQ 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Attribute_Lock 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Face_Displacement 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Fog 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Buffer_Options 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Hidden_Line_Options 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_LOD 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_LOD_Options 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_NURBS_Curve_Options 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_NURBS_Surface_Options 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_NURBS_Options 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Stereo 

refer to HC_Set_Rendering_Options for description

TKO_Rendo_Stereo_Separation 

refer to HC_Set_Rendering_Options for description

Defines properties of a spot light; refer to HC_Insert_Spot_Light for details

Enumerator:
TKO_Spot_Outer_Degrees 

self-explanatory

TKO_Spot_Outer_Field 

self-explanatory

TKO_Spot_Inner_Degrees 

self-explanatory

TKO_Spot_Inner_Field 

self-explanatory

TKO_Spot_Inner_Percent 

self-explanatory

TKO_Spot_Outer_Mask 

self-explanatory

TKO_Spot_Inner_Mask 

self-explanatory

TKO_Spot_Camera_Relative 

self-explanatory

TKO_Spot_Concentration 

self-explanatory

Defines text encoding types; refer to HC_Insert_Text

Enumerator:
TKO_Enc_ISO_Latin_One 

self-explanatory

TKO_Enc_ISO_Latin 

self-explanatory

TKO_Enc_JEC 

self-explanatory

TKO_Enc_EUC 

self-explanatory

TKO_Enc_Raw_16 

self-explanatory

TKO_Enc_Unicode 

self-explanatory

TKO_Enc_Unicode32 

self-explanatory

TKO_Enc_UTF8 

self-explanatory

TKO_Enc_UTF16 

self-explanatory

TKO_Enc_UTF32 

self-explanatory

TKO_Enc_WCS 

wchar_t unicode string

Defines text option types; refer to HC_Set_Text_Region

Enumerator:
TKO_Text_Option_Region 

self-explanatory

TKO_Text_Option_Character_Attributes 

self-explanatory

Defines text region fitting types

Enumerator:
TKO_Text_Region_Fit_None 

no fitting (direction only)

TKO_Text_Region_Fit_Spacing 

text spacing is afjusted to fit

TKO_Text_Region_Fit_Size 

text size is adjusted to fit

Defines text region option types

Enumerator:
TKO_Text_Region_Window 

window space

TKO_Text_Region_Relative 

relative sizing

TKO_Text_Region_Adjusted 

adjust region left-to-right

TKO_Text_Region_Center 

text centered across region

TKO_Text_Region_Top 

top of text is along region

TKO_Text_Region_HFit 

horizontal fitting is specified

TKO_Text_Region_VFit 

vetical fitting is specified

TKO_Text_Region_Fitting 

mask for either fitting setting

TKO_Text_Region_Extended 

reserved

Defines texture decal & modulatge settings; refer to HC_Define_Texture

Enumerator:
TKO_Texture_Modulate_Set 

refer to HC_Define_Texture

TKO_Texture_Decal_Set 

""

Defines texture channel mappings; refer to HC_Define_Texture

Enumerator:
TKO_Texture_Channel_Mapping_Red 

refer to HC_Define_Texture

TKO_Texture_Channel_Mapping_Green 

""

TKO_Texture_Channel_Mapping_Blue 

""

TKO_Texture_Channel_Mapping_Alpha 

""

TKO_Texture_Channel_Mapping_Zero 

""

TKO_Texture_Channel_Mapping_One 

""

TKO_Texture_Channel_Mapping_Luminance 

""

TKO_Texture_Channel_Mapping_None 

""

Defines texture interpolation filters; refer to HC_Define_Texture

Enumerator:
TKO_Texture_Filter_None 

refer to HC_Define_Texture

TKO_Texture_Filter_Bilinear 

""

TKO_Texture_Filter_Trilinear 

""

TKO_Texture_Filter_MipMap 

""

TKO_Texture_Filter_Summed_Areas 

""

TKO_Texture_Filter_Gaussian 

""

TKO_Texture_Filter_Stochastic 

""

TKO_Texture_Filter_Anisotropic 

""

Defines texture layouts; refer to HC_Define_Texture

Enumerator:
TKO_Texture_Layout_Rectilinear 

refer to HC_Define_Texture

TKO_Texture_Layout_Spherical 

""

TKO_Texture_Layout_Hemispherical 

""

TKO_Texture_Layout_Cubic_Faces 

""

TKO_Texture_Layout_Unknown 

""

Defines texture options; refer to HC_Define_Texture

Enumerator:
TKO_Texture_Param_Source 

refer to HC_Define_Texture

TKO_Texture_Tiling 

""

TKO_Texture_Interpolation 

""

TKO_Texture_Decimation 

""

TKO_Texture_Red_Mapping 

""

TKO_Texture_Green_Mapping 

""

TKO_Texture_Blue_Mapping 

""

TKO_Texture_Alpha_Mapping 

""

TKO_Texture_Param_Function 

""

TKO_Texture_Layout 

""

TKO_Texture_Transform 

""

TKO_Texture_Value_Scale 

""

TKO_Texture_Caching 

""

TKO_Texture_DownSample 

""

TKO_Texture_No_DownSample 

""

TKO_Texture_Extended 

extended bit

TKO_Texture_Decal 

refer to HC_Define_Texture

TKO_Texture_Modulate 

""

TKO_Texture_Param_Offset 

""

TKO_Texture_Transform_Override 

""

TKO_Texture_Shader 

refer to HC_Define_Shader

TKO_Texture_Shader_Multitexture 

controls whether layers greater than 1 are considered as inputs to a shader plugin (and therefore skipped by normal shader processing)

TKO_Texture_Camera 

refer to HC_Define_Texture

TKO_Texture_Source_Dimensions 

refer to HC_Define_Texture

TKO_Texture_Geometry_Shader 

refer to HC_Define_Shader

Defines texture parameterization functions; refer to HC_Define_Texture

Enumerator:
TKO_Texture_Param_Function_None 

refer to HC_Define_Texture

TKO_Texture_Param_Function_Sphere 

""

TKO_Texture_Param_Function_Cylinder 

""

TKO_Texture_Param_Function_Box 

""

Defines texture parameterization sources; refer to HC_Define_Texture

Enumerator:
TKO_Texture_Param_Source_U 

refer to HC_Define_Texture

TKO_Texture_Param_Source_UV 

""

TKO_Texture_Param_Source_UVW 

""

TKO_Texture_Param_Source_Object 

""

TKO_Texture_Param_Source_World 

""

TKO_Texture_Param_Source_Surface_Normal 

""

TKO_Texture_Param_Source_Reflection_Vector 

""

TKO_Texture_Param_Source_Natural_UV 

""

TKO_Texture_Param_Source_Local_Pixels 

""

TKO_Texture_Param_Source_Outer_Pixels 

""

TKO_Texture_Param_Source_Local_Window 

""

TKO_Texture_Param_Source_Outer_Window 

""

TKO_Texture_Param_Source_Transmission_Vector 

""

TKO_Texture_Param_Source_Sphere_Map 

""

TKO_Texture_Param_Source_Cylinder_Map 

""

TKO_Texture_Param_Source_Physical_Reflection_Vector 

""

Defines texture tilings; refer to HC_Define_Texture

Enumerator:
TKO_Texture_Tiling_None 

refer to HC_Define_Texture

TKO_Texture_Tiling_Clamp 

""

TKO_Texture_Tiling_Repeat 

""

TKO_Texture_Tiling_Mirror 

""

TKO_Texture_Tiling_Drop 

""

Defines thumbnail formats

Enumerator:
TKO_Thumbnail_RGB 

self-explanatory

TKO_Thumbnail_RGBA 

self-explanatory

TKO_Thumbnail_Invalid 

self-explanatory