| GL Studio C++ Runtime API

Classes | Typedefs | Enumerations | Functions | Variables
disti Namespace Reference

## Classes
class | AttributeChangedEventEmitter
class | AttributeChangedNotifier
class | AttributeFnCallback
class | AttributeMethodCallback
class | AttributeName
class | AttributeObserver
class | AttributeResourceCallback
class | BmpImageLoader
class | CallbackAttributeNotifier
class | CallbackMethodCallerBase
class | CallbackMethodCallerTemplate
struct | CharTraitsUnsignedShort
class | ComponentBase
class | ComponentLightMgr
class | Culler
class | DDSImageLoader
struct | DDSTextureInfo
class | DisplayEvent
class | DisplayFrame
class | DisplayObject
class | DistiAttribDict
class | DistiAttribute
class | DistiAttributeAlias
class | DistiAttributeAlphaModeEnum
class | DistiAttributeBase
class | DistiAttributeColorMaterialModeEnum
class | DistiAttributeConnectionGlsAngularScaleDataArray
class | DistiAttributeConnectionGlsLinearScaleDataArray
class | DistiAttributeCWDRelativePath
class | DistiAttributeDictionaryAttribute
class | DistiAttributeDictionaryAttributeSibling
class | DistiAttributeDoubleArray
class | DistiAttributeDynamicArray
class | DistiAttributeEncodedStdString
class | DistiAttributeEncodedString
class | DistiAttributeEnum
class | DistiAttributeEnumDefList
class | DistiAttributeEnumDirect
class | DistiAttributeEnumStringPair
class | DistiAttributeFilePathClass
class | DistiAttributeFixedString
class | DistiAttributeFloatArray
class | DistiAttributeFovConstraintTypeEnum
| The DistiAttributeFovConstraintTypeEnum class. More...
class | DistiAttributeHomogeneousItemArray
class | DistiAttributeImageCodecEnum
class | DistiAttributeLightTypeEnum
class | DistiAttributeLocation
class | DistiAttributeMeshFaceArray
class | DistiAttributeNeverWrite
class | DistiAttributePolyEndEnum
class | DistiAttributePolyModeEnum
class | DistiAttributeProperty
class | DistiAttributeProtectionEnum
class | DistiAttributeShadingEnum
class | DistiAttributeSphereMappingTypeEnum
class | DistiAttributeStdMap
class | DistiAttributeStdString
class | DistiAttributeStdStringNeverWrite
class | DistiAttributeStdVector
class | DistiAttributeString
class | DistiAttributeTextureFilterEnum
class | DistiAttributeTextureModeEnum
class | DistiAttributeTexturePointArray
class | DistiAttributeUCharOrBool
class | DistiAttributeVertexArray
class | DistiAttributeVertexArray< Vertex >
class | DistiAttributeViewDataArray
class | DistiEmptyAttribute
class | DistiException
class | DynamicArray
class | DynamicLibrary
| The DynamicLibrary class. A cross-platform class for loading dynamic link libraries and shared objects. More...
class | EditorObjectBase
class | Effect_DiffNormSpecRefl
class | Effect_DirectXShader
class | EmbeddedDisplayFrame
class | EventCompressor
class | EyePointCalcViewCallback
| The EyePointCalcViewCallback class. More...
class | EyePointCalcViewCallbackBase
| The EyePointCalcViewCallbackBase class. More...
class | FilePathClass
class | FrameBufferUtility
class | GifImageLoader
struct | GLMeshFace
| Structure for holding mesh vertex indices. More...
struct | GLMeshVertex
class | GlobalLightMgr
class | GLPolygon
| The Polygon class. Implements Polygons. More...
class | Gls3DCable
class | GlsAdvancedMesh
class | GlsAngularScale
class | GlsAngularScaleData
class | GlsArialRegular12
| A font wrapped up for consumption by GL Studio. More...
class | GlsBuiltVersionInfo2
class | GlsClippingGroup
class | GlsColor
class | glsCommandLine
class | GlsCTLTextBox
| The Gls CTL (Complex Text Layout) Text Box. More...
class | GlsCylinder
class | GlsDisplayList
class | GlsDynamicPath
class | GlsEffect
class | GlsEffectFactory
class | GlsEllipse
class | GlsEyePoint
class | GlsFontBase
class | GlsFontMan
class | GlsFontRenderer
class | GlsGeometry_Generic
class | GlsGeometryResource
class | GlsGeometryResourceMesh
class | GlsGlobals
| Hold global objects so we can control order of destruction. More...
class | GlsGloFile
class | GlsGloFileAttribute
class | GlsGloFileNotFoundException
class | GlsIndexArray
struct | glsInlineImage
class | GlsKnob
class | GlsLightSource
class | GlsLinearFloatController
class | GlsLinearScale
class | GlsLinearScaleData
class | GlsLodGroup
class | GlsMatrix
class | GlsMatrixAffine
class | GlsMimicGroup
class | GlsMovieTexture
class | GlsMovingEye
class | GlsMultiVal
class | GlsMultiValBase
class | GlsMultiView
class | GlsMutexGroup
class | GlsNinePatch
class | GlsNurbCurve
class | GlsOdometer
class | GlsPainter
class | GlsPathManager
class | GlsPolyLine
struct | GlsPolyLineFace
struct | GlsPolyLineVertex
class | GlsPropString
class | GlsPropStringQuoted
class | GlsPushButton
class | GlsQuadListVC_3D
class | GlsQuadListVCT_2D
class | GlsQuaternion
class | GlsRenderEffect
class | GlsRenderViewChangeListener
class | GlsRenderViewChangeManager
class | GlsResourceFileMgr
class | GlsResourceFilter
class | GlsRobotoRegular12
| A font wrapped up for consumption by GL Studio. More...
class | GlsRSO1_ResourceFilterImpl
class | GlsRSOInterface1Impl
class | GlsRSOInterface2Impl
class | GlsRSOInterface3Impl
class | GlsRSOInterfaceImpl
class | GlsRSOWrapper
class | GlsRuntimeFontBase
class | GlsSchematicPolyLineInterconnect
class | GlsSchematicTeeInterconnect
class | GlsSerialMorphMesh
class | GlsSortedDrawable
class | GlsSortedDrawGroup
class | GlsSphere
class | GlsStateManager
class | GlsSwitch
class | GlsText
class | GlsTextBox
class | GlsTextCharAttr
class | GlsTextGrid
class | GlsThumbWheel
class | GlsTriangleStrip2D
class | GlsUnicodeFontBase
class | GlsUnicodeFontDBUFReader
class | GlsUniform
class | GlsVertexArray
class | GlsVideoToTexture
class | GLTriMesh
| The glTriMesh class. Implements Triangle Meshes. More...
class | Group
class | IFloatController
interface | IFontImage
interface | IGlsEffectFactory
interface | IGlsStateManager
interface | IGlsStateManagerES20
class | Image
struct | InlinePixmap
class | InputHandler
class | InterfaceDescriptionClass
class | JpegImageLoader
class | KeyboardCallbackBase
class | KeyboardEvent
class | KeyboardMethodCallback
class | List_c
class | ListItem
class | LiveComponentAccessor
class | LiveComponentLibRef
class | LocationEvent
class | Material
struct | MaxDigits10
struct | MaxDigits10< double >
struct | MaxDigits10< float >
struct | MaxDigits10< long double >
class | MessageDialogs
class | MouseCallbackBase
class | MouseEvent
class | MouseMethodCallback
class | Mutex
class | NonCopyable
class | ObjectEvent
class | OpenGLMatrices
| Class to contain current OpenGL view, projection and draw matrices. More...
class | PlaneClass
class | Plugin
class | PngImageLoader
class | PreciseVertex
class | PsdImageLoader
class | RgbImageLoader
class | RSOInterface1
class | RSOInterface2
class | RSOInterface3
class | RSOInterface4
class | RSOInterface5
class | RSOResourceFilterImpl
class | RuntimeDisplayFrame
class | RuntimeMessageDialogs
class | ScopedPtr
class | SoundSystem
class | SplashDisplay
class | Statistics
class | TextureLoader
class | TextureLoaderList
class | TexturePalette
class | TexturePaletteEntry
class | TgaImageLoader
class | TiffImageLoader
class | Timer
| The Timer class. More...
class | TraverseGroup
struct | V2f
struct | V2f_C4ub
struct | V2f_T2f
struct | V2f_T2f_C4ub
struct | V3f_C4ub
class | Vertex
class | VertexAttribIndexLookup
class | VertexNoColor
class | WeakRef
class | WeakReference
class | WeakReferenceable
class | WeakReferenceableMixin
class | XpmImageLoader

## Typedefs
typedef DisplayObject * | DisplayObjectPtr
| Typedef for a DisplayObject pointer.
typedef DynamicArray< DisplayObjectPtr > | DisplayObjectArray
| Typedef for a DynamicArray containing DisplayObjects.
typedef DynamicArray< int > | DynamicIntArray
| Typedef for a DynamicArray containing ints.
typedef DynamicArray< Material > | DynamicMaterialArray
typedef void(* | DistiAssertHandler) (const char *errMessage)
typedef void *(* | FunctionPointer) (...)
| Typedef for a function pointer taking variadic arguments.
typedef GlsColor | glsColor
| Alias for backwards compatibility.
typedef GlsRobotoRegular12 | GlsDefaultFont
typedef EmbeddedDisplayFrame | glsDisplayFrame
| Base class for all embedded (openGL ES) display frame classes.
typedef VertexNoColor | Vector
typedef GlsMatrixAffine< float > | GlsMatrixAffineF
| Typedef for a matrix of floats.
typedef GlsMatrixAffine< double > | GlsMatrixAffineD
| Typedef for a matrix of doubles.
typedef double | GlsMatrixElementType
| Typedef for a generic (float or double) matrix element.
typedef GlsMatrixAffineD | GlsMatrixType
| Typedef for a generic (float or double elements) matrix.
typedef GlsQuaternion< float > | GlsQuaternionF
| Typedef for a quaternion of floats.
typedef GlsQuaternion< double > | GlsQuaternionD
| Typedef for a quaternion of doubles.
typedef GlsBuiltVersionInfo2 | GlsBuiltVersionInfo
| Typedef for backward compatibilty purposes.
typedef void(* | ListIterator) (void *obj, void *data)
| Typedef for a list iterator function pointer.
typedef RSOInterfaceES1 | RsoImplBaseInterface
| Typedef for the original RSO interface.
typedef DisplayObject *(* | CreateGroupFunc) ()
| Typedef for a function pointer used to create a group.
typedef DisplayObject *(* | CreatePolyFunc) ()
| Typedef for a function pointer used to create a polygon.
typedef Group *(* | DecomposeFunc) (DisplayObject *)
| Typedef for a function pointer used to decompose an object.
typedef std::basic_string< unsigned short, CharTraitsUnsignedShort > | UTF16String
| A cross platform UTF-16 encoded string.
typedef std::ofstream | UTF16Outfilestream
| A cross platform UTF-16 encoded ofstream.
typedef std::ostream | UTF16Outstream
| A cross platform UTF-16 encoded ostream.
typedef std::string | UnicodeString
| A cross platform UTF-8 encoded string.
typedef std::ofstream | UnicodeOutfilestream
| A cross platform UTF-8 encoded ofstream.
typedef std::ostream | UnicodeOutstream
| A cross platform UTF-8 encoded string.
typedef DynamicArray< InterfaceDescriptionClass > | InterfaceListType
| Typedef for a list of interface description objects.
typedef DynamicArray< double > | DynamicDoubleArray
| Typedef for dynamic array of slack percentages.
typedef GlsAngularScaleData | GlsAngularScaleDataArray[5]
| Typedef for one GlsAngularScale worth of scale data.
typedef GlsLinearScaleData | GlsLinearScaleDataArray[5]
| Typedef for one GlsLinearScale worth of scale data.
typedef DynamicArray< int > | ReferencedTextureArray
| Typedef for a list of texture indices.
typedef DynamicArray< int > | ReferencedMaterialArray
| Typedef for a list of material indices.

## Enumerations
enum | TextureMap_e { TEXTURE_MAP_MODULATE , TEXTURE_MAP_DECAL , TEXTURE_MAP_BLEND , TEXTURE_MAP_REPLACE }
enum | TextureFilter_e { TEXTURE_FILTER_NEAREST , TEXTURE_FILTER_LINEAR , TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST , TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR , TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR , TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST }
enum | DepthBuffer_e { DEPTH_BUFFER_NO_TEST_NO_WRITE = 0 , DEPTH_BUFFER_TEST_AND_WRITE , DEPTH_BUFFER_TEST_NO_WRITE , DEPTH_BUFFER_NO_TEST_AND_WRITE }
enum | PolygonMode_e { POLY_MODE_UNDEFINED , POLY_MODE_POINTS , POLY_MODE_OUTLINE , POLY_MODE_FILLED , POLY_MODE_FILL_AND_OUTLINE }
enum | AlphaMode_e { ALPHA_MODE_UNDEFINED , ALPHA_MODE_OPAQUE , ALPHA_MODE_2_LEVEL , ALPHA_MODE_256_LEVEL }
enum | PolygonClose_e { POLY_OPEN , POLY_CLOSED }
enum | ShadingType_e { SHADING_FLAT , SHADING_GOURAUD }
enum | MemberAccess_e { PUBLIC , PRIVATE , PROTECTED }
enum | RedrawBehavior_e { REDRAW_CONDITIONAL , REDRAW_CONSTANT , REDRAW_CONTINUOUS }
enum | PickableType_e { PICK_NEVER , PICK_FIRST , PICK_BEST , PICK_ALWAYS }
enum | ColorMaterialMode_e { NO_COLOR_MATERIAL , DIFFUSE_COLOR_MATERIAL , AMBIENT_COLOR_MATERIAL , DIFFUSE_AND_AMBIENT_COLOR_MATERIAL , EMISSION_COLOR_MATERIAL , SPECULAR_COLOR_MATERIAL }
enum | Views { VIEW_XY = 1 , VIEW_XZ = 2 , VIEW_ZY = 4 , VIEW_PERSPECTIVE = 8 , VIEW_EYEPOINT = 16 }
enum | GLS_Initializers { GLS_INSTANCE_NAME = 1 , GLS_LOCATION , GLS_ROTATION_POINT , GLS_ACTION_CALLBACK , GLS_OBJECT_NAME , GLS_ATTRIBUTE_NAME , GLS_TEXTURE_INDEX , GLS_TEXTURE_REPEAT , GLS_TEXTURE_MAP_MODE , GLS_TEXTURE_MIN_FILTER , GLS_TEXTURE_MAG_FILTER , GLS_TEXTURE_BLEND_COLOR , GLS_TEXTURE_ROTATION , GLS_TEXTURE_SCALE_H , GLS_TEXTURE_SCALE_V , GLS_TEXTURE_OFFSET_X , GLS_TEXTURE_OFFSET_Y , GLS_POLYGON_MODE , GLS_POLYGON_END , GLS_POLYGON_OFFSET , GLS_COLOR , GLS_COLOR_MATERIAL_MODE , GLS_LINE_WIDTH , GLS_LINE_STIPPLE_PATTERN , GLS_LINE_STIPPLE_MULTIPLIER , GLS_VISIBILITY , GLS_CULLBACKFACE , GLS_ALPHAMODE , GLS_ANTIALIAS , GLS_ZBUFFER , GLS_SHADING , GLS_BLINKING , GLS_BLINK_RATE , GLS_PICKABLE , GLS_LIGHTING_ENABLED , GLS_MATERIAL_INDEX , GLS_MATERIAL_INDICES , GLS_DCS_MATRIX , GLS_COMPONENT_ABSOLUTE_PLACEMENT , GLS_COMPONENT_EDITOR_TRANSFORM , GLS_TEXTURE_POINTS , GLS_LAST_INITIALIZER }
enum | FL_Flags { FL_RGB , FL_DOUBLE , FL_DEPTH }
| < Unused, remains for backward compatibility.
enum | EventType_e { EVENT_MOUSE , EVENT_KEYBOARD , EVENT_TIMER , EVENT_OBJECT , EVENT_KEYBOARD_UP }
enum | MouseEventType_e { MOUSE_DOWN , MOUSE_UP , MOUSE_MOVE , MOUSE_DRAG , MOUSE_LEAVE , MOUSE_ENTER , MOUSE_WHEEL_MINUS , MOUSE_WHEEL_PLUS , MOUSE_RECEIVE_MULTITOUCH , MOUSE_CANCEL , MOUSE_DOUBLE }
enum | MouseButtonType_e { MOUSE_LBUTTON = 1 , MOUSE_MBUTTON = 2 , MOUSE_RBUTTON = 4 , MOUSE_BUTTON_ANY = 7 }
enum | SpecialKeyState_e { NONE_STATE = 0 , SHIFT_STATE = 0x00010000 , CAPS_LOCK_STATE = 0x00020000 , CTRL_STATE = 0x00040000 , ALT_STATE = 0x00080000 , NUM_LOCK_STATE = 0x00100000 , META_STATE = 0x00400000 , SCROLL_LOCK_STATE = 0x00800000 , BUTTON1_STATE = 0x01000000 , BUTTON2_STATE = 0x02000000 , BUTTON3_STATE = 0x04000000 }
enum | GLS_Cylinder_Initializers { GLS_CYLINDER_COLOR = GLS_LAST_INITIALIZER + 1 , GLS_CYLINDER_SEGMENTS , GLS_CYLINDER_FACES , GLS_CYLINDER_FACE_START , GLS_CYLINDER_FACE_END , GLS_CYLINDER_TOP_SIZE , GLS_CYLINDER_BOTTOM_SIZE , GLS_CYLINDER_TOP_FACE , GLS_CYLINDER_BOTTOM_FACE , GLS_CYLINDER_RADII }
enum | StdUniforms_e { NUM_ACTIVE_CLIP_PLANES = 0 , MATRIX_NORMAL , MATRIX_PROJECTION , MATRIX_MODELVIEW , MATRIX_DIFF_TEX , MATRIX_SPEC_TEX , MATRIX_NORM_TEX , MATERIAL_AMBIENT , MATERIAL_DIFFUSE , MATERIAL_SPECULAR , MATERIAL_EMISSIVE , MATERIAL_SHININESS , SAMPLER_TEXTURE , SAMPLER_DIFFUSE , SAMPLER_NORMAL , SAMPLER_SPECULAR , SAMPLER_REFLECTION , COLOR_TEX_BLEND , DIFFUSE_AMOUNT , NORMAL_AMOUNT , SPECULAR_AMOUNT , REFLECTION_AMOUNT , MATRIX_VIEW_TO_WORLD , CLIP_PLANE_1 , CLIP_PLANE_2 , CLIP_PLANE_3 , CLIP_PLANE_4 , CLIP_PLANE_5 , CLIP_PLANE_6 , LIGHT_SOURCE_1_AMBIENT , LIGHT_SOURCE_2_AMBIENT , LIGHT_SOURCE_3_AMBIENT , LIGHT_SOURCE_4_AMBIENT , LIGHT_SOURCE_5_AMBIENT , LIGHT_SOURCE_6_AMBIENT , LIGHT_SOURCE_7_AMBIENT , LIGHT_SOURCE_8_AMBIENT , LIGHT_SOURCE_1_DIFFUSE , LIGHT_SOURCE_2_DIFFUSE , LIGHT_SOURCE_3_DIFFUSE , LIGHT_SOURCE_4_DIFFUSE , LIGHT_SOURCE_5_DIFFUSE , LIGHT_SOURCE_6_DIFFUSE , LIGHT_SOURCE_7_DIFFUSE , LIGHT_SOURCE_8_DIFFUSE , LIGHT_SOURCE_1_SPECULAR , LIGHT_SOURCE_2_SPECULAR , LIGHT_SOURCE_3_SPECULAR , LIGHT_SOURCE_4_SPECULAR , LIGHT_SOURCE_5_SPECULAR , LIGHT_SOURCE_6_SPECULAR , LIGHT_SOURCE_7_SPECULAR , LIGHT_SOURCE_8_SPECULAR , LIGHT_SOURCE_1_POSITION , LIGHT_SOURCE_2_POSITION , LIGHT_SOURCE_3_POSITION , LIGHT_SOURCE_4_POSITION , LIGHT_SOURCE_5_POSITION , LIGHT_SOURCE_6_POSITION , LIGHT_SOURCE_7_POSITION , LIGHT_SOURCE_8_POSITION , LIGHT_SOURCE_1_SPOTDIRECTION_CUTOFF , LIGHT_SOURCE_2_SPOTDIRECTION_CUTOFF , LIGHT_SOURCE_3_SPOTDIRECTION_CUTOFF , LIGHT_SOURCE_4_SPOTDIRECTION_CUTOFF , LIGHT_SOURCE_5_SPOTDIRECTION_CUTOFF , LIGHT_SOURCE_6_SPOTDIRECTION_CUTOFF , LIGHT_SOURCE_7_SPOTDIRECTION_CUTOFF , LIGHT_SOURCE_8_SPOTDIRECTION_CUTOFF , LIGHT_SOURCE_1_ATTENUATION_EXPONENT , LIGHT_SOURCE_2_ATTENUATION_EXPONENT , LIGHT_SOURCE_3_ATTENUATION_EXPONENT , LIGHT_SOURCE_4_ATTENUATION_EXPONENT , LIGHT_SOURCE_5_ATTENUATION_EXPONENT , LIGHT_SOURCE_6_ATTENUATION_EXPONENT , LIGHT_SOURCE_7_ATTENUATION_EXPONENT , LIGHT_SOURCE_8_ATTENUATION_EXPONENT , POINT_SIZE , MAX_STD_UNIFORMS }
enum | StdAttribs_e { STD_ATTRIB_POSITION = 0 , STD_ATTRIB_NORMAL , STD_ATTRIB_TEXCOORD , STD_ATTRIB_COLOR , STD_ATTRIB_TANGENT , STD_ATTRIB_BINORMAL , MAX_STD_ATTRIBS }
enum | GLS_EyePoint_Initializers { GLS_EYEPOINT_FOV = GLS_LAST_INITIALIZER + 1 , GLS_EYEPOINT_ORTHOGRAPHIC , GLS_EYEPOINT_ORTHO_SIZE , GLS_EYEPOINT_FOV_IS_HORIZONTAL , GLS_EYEPOINT_ASPECT , GLS_EYEPOINT_NEAR_CLIP , GLS_EYEPOINT_FAR_CLIP , GLS_EYEPOINT_MAINTAIN_ASPECT , GLS_EYEPOINT_VIEW_VECTORS }
enum | LightType_e { LIGHT_LOCAL , LIGHT_INFINITE }
enum | GLS_LightSource_Initializers { GLS_LIGHT_SOURCE_AMBIENT = GLS_LAST_INITIALIZER + 1 , GLS_LIGHT_SOURCE_DIFFUSE , GLS_LIGHT_SOURCE_SPECULAR , GLS_LIGHT_SOURCE_SPOT_CUTOFF , GLS_LIGHT_SOURCE_SPOT_EXPONENT , GLS_LIGHT_SOURCE_CONSTANT_ATTENUATION , GLS_LIGHT_SOURCE_LINEAR_ATTENUATION , GLS_LIGHT_SOURCE_QUADRATIC_ATTENUATION , GLS_LIGHT_SOURCE_LIGHT_TYPE }
enum | glsSphereMapping_e { GLS_SPHERE_SPHERICAL_MAP , GLS_SPHERE_CYLINDER_MAP }
enum | GLS_Sphere_Initializers { GLS_SPHERE_MAPPING = GLS_LAST_INITIALIZER + 1 , GLS_SPHERE_COLOR , GLS_SPHERE_STACKS , GLS_SPHERE_SLICES , GLS_SPHERE_SLICE_START , GLS_SPHERE_SLICE_END , GLS_SPHERE_STACK_START , GLS_SPHERE_STACK_END , GLS_SPHERE_RADII }
enum | GlsTextInitializers_t { GLS_TEXT_BORDER = GLS_LAST_INITIALIZER + 1 , GLS_TEXT_CELL_HEIGHT , GLS_TEXT_CELL_WIDTH , GLS_TEXT_CONSTRAIN_CELL_RATIO , GLS_TEXT_CONTROL_CELL_SIZE , GLS_TEXT_FONT , GLS_TEXT_HALO , GLS_TEXT_LINESPACING , GLS_TEXT_LOCK_CELL_SIZE , GLS_TEXT_JUSTIFY , GLS_TEXT_SHADOW , GLS_TEXT_STRING , GLS_TEXT_UPPERCASE , GLS_TEXT_WRAP , GLS_LAST_TEXT_INITIALIZER = GLS_TEXT_WRAP }
| Initializers for text.
enum | InputOrientationEnum { INPUT_VERTICAL = 1 , INPUT_HORIZONTAL = 2 }
| Enumeration for Input Operators.
enum | InputPositionEnum { INPUT_FLAG_NORMAL = 0 , INPUT_FLAG_SNAPBACK = 1 , INPUT_FLAG_WRAPAROUND = 2 }
| Enumeration for Input Operators.
enum | { GLS_TRIMESH_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_TRIMESH_USE_DISPLAY_LIST , GLS_TRIMESH_FACES }
enum | glsImageCodec { GLS_CODEC_RAW , GLS_CODEC_LZ77 , GLS_CODEC_JPEG }
enum | ImageNPOTMode { GLS_NPOT_AUTO , GLS_NPOT_ENABLED , GLS_NPOT_DISABLED }
enum | ListIteratorDirection { FORWARD , BACKWARD }
enum | TextureState_e { TEXTURE_UNUSED , TEXTURE_IGNORED , TEXTURE_INVALID , TEXTURE_VALID }
enum | GlsDefinedColorEnum { GLS_COLOR_WHITE , GLS_COLOR_CYAN , GLS_COLOR_RED , GLS_COLOR_AMBER , GLS_COLOR_GREEN , GLS_COLOR_YELLOW , GLS_COLOR_MAGENTA , GLS_COLOR_BLACK , GLS_COLOR_BLUE , GLS_COLOR_MAX }
enum | RotationAxis { X_AXIS , Y_AXIS , Z_AXIS }
enum | { GLS_3DCABLE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_3DCABLE_FLEXIBILITY , GLS_3DCABLE_NUMBEROFSEGMENTS , GLS_3DCABLE_NUMBEROFSIDES , GLS_3DCABLE_RADIUS , GLS_3DCABLE_LENGTH , GLS_3DCABLE_GRAVITY , GLS_3DCABLE_SECTIONSLACKPCT , GLS_3DCABLE_SECTIONFLOORDIST , GLS_3DCABLE_COLLISIONSTYLE , GLS_3DCABLE_FILLCOLOR , GLS_3DCABLE_LINECOLOR }
enum | { GLS_ANGULAR_SCALE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_ANGULAR_SCALE_RADII , GLS_ANGULAR_SCALE_DECONFLICT_TICKS , GLS_ANGULAR_SCALE_HALO_ENABLED , GLS_ANGULAR_SCALE_HALO_WIDTH , GLS_ANGULAR_SCALE_HALO_COLOR , GLS_ANGULAR_SCALE_USE_SCALABLE_LINES , GLS_ANGULAR_SCALE_RADIUS , GLS_ANGULAR_SCALE_DATA }
enum | { GLS_GLSBUTTON_CHANGE_CALLBACK = GLS_LAST_INITIALIZER + 1 , GLS_GLSBUTTON_TOGGLE , GLS_GLSBUTTON_WHICH_OBJ_POS_UP , GLS_GLSBUTTON_WHICH_OBJ_POS_DOWN , GLS_GLSBUTTON_STATE , GLS_GLSBUTTON_EMIT_STATE_CHANGE_EVENT }
enum | { GLS_CLIPPING_GROUP_STATE = GLS_LAST_INITIALIZER + 1 , GLS_CLIPPING_GROUP_CLIPPING_ACTIVE , GLS_CLIPPING_GROUP_BOTTOM_LEFT_CORNER , GLS_CLIPPING_GROUP_TOP_RIGHT_CORNER , GLS_CLIPPING_GROUP_SHOW_OUTLINE }
enum | { GLS_DYNAMICPATH_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_DYNAMICPATH_AFFECTS_LOCATION_X , GLS_DYNAMICPATH_AFFECTS_LOCATION_Y , GLS_DYNAMICPATH_AFFECTS_LOCATION_Z , GLS_DYNAMICPATH_AFFECTS_ROTATION_X , GLS_DYNAMICPATH_AFFECTS_ROTATION_Y , GLS_DYNAMICPATH_AFFECTS_ROTATION_Z , GLS_DYNAMICPATH_AFFECTS_SCALE_X , GLS_DYNAMICPATH_AFFECTS_SCALE_Y , GLS_DYNAMICPATH_AFFECTS_SCALE_Z , GLS_DYNAMICPATH_USE_SHORT_ROTATION_PATHS , GLS_DYNAMICPATH_STATE_COUNT , GLS_DYNAMICPATH_STATE }
enum | { GLS_ELLIPSE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_ELLIPSE_RADII , GLS_ELLIPSE_THICKNESS , GLS_ELLIPSE_SOLID , GLS_ELLIPSE_INTERVAL , GLS_ELLIPSE_START_ANGLE , GLS_ELLIPSE_END_ANGLE , GLS_ELLIPSE_COLOR }
enum | { GLS_GLSKNOB_CHANGE_CALLBACK = GLS_LAST_INITIALIZER + 1 , GLS_GLSKNOB_ANGLERANGE , GLS_GLSKNOB_CONTINUOUS , GLS_GLSKNOB_POSITIONVAL , GLS_GLSKNOB_DETENTPOSITIONS , GLS_GLSKNOB_WHICHOBJECT , GLS_GLSKNOB_STARTANGLE , GLS_GLSKNOB_EMITDETENTVALEVENT , GLS_GLSKNOB_EMITPOSITIONVALEVENT , GLS_GLSKNOB_EMITLIMITEVENT , GLS_GLSKNOB_EMITRELEASEEVENT , GLS_GLSKNOB_SHOWDETENTSONLY , GLS_GLSKNOB_CLICKSELECTSDETENT }
enum | { GLS_LINEAR_SCALE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_LINEAR_SCALE_RADII , GLS_LINEAR_SCALE_DECONFLICT_TICKS , GLS_LINEAR_SCALE_HALO_ENABLED , GLS_LINEAR_SCALE_HALO_WIDTH , GLS_LINEAR_SCALE_HALO_COLOR , GLS_LINEAR_SCALE_TICK_ANCHOR , GLS_LINEAR_SCALE_USE_SCALABLE_LINES , GLS_LINEAR_SCALE_DATA }
enum | GlsTickAnchor { GLS_TICK_ANCHOR_TOP , GLS_TICK_ANCHOR_BOTTOM , GLS_TICK_ANCHOR_CENTER }
| Tick anchor behavior.
enum | GLS_LodGroup_Initializers { GLS_LOD_GROUP_DISTANCE_RANGE = GLS_LAST_INITIALIZER + 1 , GLS_LOD_GROUP_LOD_POSITIONS }
| SetValue enumerations.
enum | { GLS_MIMIC_GROUP_STATE = GLS_LAST_INITIALIZER + 1 , GLS_MIMIC_GROUP_MIMIC_ACTIVE , GLS_MIMIC_GROUP_BOTTOM_LEFT_CORNER , GLS_MIMIC_GROUP_TOP_RIGHT_CORNER , GLS_MIMIC_GROUP_SHOW_OUTLINE , GLS_MIMIC_GROUP_TEXTURE_HEIGHT , GLS_MIMIC_GROUP_TEXTURE_WIDTH , GLS_MIMIC_GROUP_HAS_DEPTH_BUFFER , GLS_MIMIC_GROUP_DEPTH_TEST , GLS_MIMIC_GROUP_GENERATE_MIPMAPS , GLS_MIMIC_GROUP_DRAW_MIMIC_POLYGON , GLS_MIMIC_GROUP_ATTACHED_TEXTURE_INDEX , GLS_MIMIC_GROUP_CLEAR_COLOR , GLS_MIMIC_GROUP_USE_OPAQUE_TEXTURE , GLS_MIMIC_GROUP_MIMIC_AUTO_REDRAW }
enum | { GLS_GLSMOVIETEXTURE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_GLSMOVIETEXTURE_MOVIESOURCE , GLS_GLSMOVIETEXTURE_LOOP , GLS_GLSMOVIETEXTURE_SOUNDENABLED , GLS_GLSMOVIETEXTURE_SOUNDVOLUME }
enum | { GLS_MOVINGEYE_EMIT_EVENT = GLS_EYEPOINT_VIEW_VECTORS + 1 , GLS_MOVINGEYE_LOOK_AT_OBJECT , GLS_MOVINGEYE_MAX_SPEED , GLS_MOVINGEYE_MOVEMENT , GLS_MOVINGEYE_ROUTE , GLS_MOVINGEYE_DISABLE_HISTORY }
enum | { GLS_GLSMULTIVIEW_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_GLSMULTIVIEW_VIEW_DATA , GLS_GLSMULTIVIEW_VIEW_DRAWING_STATE }
enum | { GLS_MUTEX_GROUP_STATE = GLS_LAST_INITIALIZER + 1 , GLS_MUTEX_GROUP_CALC_INVISIBLE_STATES , GLS_MUTEX_GROUP_PICK_INVISIBLE_STATES , GLS_MUTEX_GROUP_PREDRAW_INVISIBLE_STATES , GLS_MUTEX_GROUP_INPUT_DEVICE_BEHAVIOR }
enum | { GLS_NINE_PATCH_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_NINE_PATCH_CENTER_VISIBLE , GLS_NINE_PATCH_EDGES , GLS_NINE_PATCH_TEXTURE_EDGES , GLS_NINE_PATCH_RADII , GLS_NINE_PATCH_TEXTURE_POINTS , GLS_NINE_PATCH_COLOR , GLS_NINE_PATCH_REFERENCE_TEXTURE_WIDTH_HEIGHT }
enum | { GLS_GLSNURBCURVE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_GLSNURBCURVE_EMITEVENT }
enum | { GLS_GLSODOMETER_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_GLSODOMETER_MIN_VALUE , GLS_GLSODOMETER_MAX_VALUE , GLS_GLSODOMETER_BASE_SYSTEM , GLS_GLSODOMETER_BEHAVIOR_TYPE , GLS_GLSODOMETER_GEOMETRY_TYPE , GLS_GLSODOMETER_TEXTURE_SCALE , GLS_GLSODOMETER_DEGREES_PER_DIGIT }
enum | { GLS_PATHMANAGER_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_PATHMANAGER_PATHOBJPAIR_COUNT , GLS_PATHMANAGER_PATHOBJPAIR , GLS_PATHMANAGER_STRINGPATHOBJPAIR }
enum | { GLS_POLY_LINE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_POLY_LINE_THICKNESS , GLS_POLY_LINE_HALO , GLS_POLY_LINE_HALO_COLOR , GLS_POLY_LINE_HALO_THICKNESS , GLS_POLY_LINE_NORMAL , GLS_POLY_LINE_LAST_INITIALIZER = GLS_POLY_LINE_NORMAL }
enum | { GLS_SCHEMATICPOLYLINEINTERCONNECT_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_SCHEMATICPOLYLINEINTERCONNECT_ORIENTATION , GLS_SCHEMATICPOLYLINEINTERCONNECT_LINE_THICKNESS , GLS_SCHEMATICPOLYLINEINTERCONNECT_ROUNDED_CORNERS , GLS_SCHEMATICPOLYLINEINTERCONNECT_CORNER_RADIUS , GLS_SCHEMATICPOLYLINEINTERCONNECT_FORCE_EXACT_CORNER_RADIUS , GLS_SCHEMATICPOLYLINEINTERCONNECT_CORNER_SEGMENTS , GLS_SCHEMATICPOLYLINEINTERCONNECT_INTERCONNECT_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICPOLYLINEINTERCONNECT_FLOW_TEXTURE_INDEX , GLS_SCHEMATICPOLYLINEINTERCONNECT_FLOW_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICPOLYLINEINTERCONNECT_SHOW_FLOW , GLS_SCHEMATICPOLYLINEINTERCONNECT_FLOW_RATE , GLS_SCHEMATICPOLYLINEINTERCONNECT_SHOW_FLOW_BLINK , GLS_SCHEMATICPOLYLINEINTERCONNECT_FLOW_BLINK_RATE , GLS_SCHEMATICPOLYLINEINTERCONNECT_FLOW_BLINK_START_COLOR , GLS_SCHEMATICPOLYLINEINTERCONNECT_FLOW_BLINK_END_COLOR , GLS_SCHEMATICPOLYLINEINTERCONNECT_USE_DISPLAY_LIST , GLS_SCHEMATICPOLYLINEINTERCONNECT_LAST_VALUE = GLS_SCHEMATICPOLYLINEINTERCONNECT_USE_DISPLAY_LIST }
enum | { GLS_SCHEMATICTEEINTERCONNECT_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_SCHEMATICTEEINTERCONNECT_LEFT_LINE_THICKNESS , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_LINE_THICKNESS , GLS_SCHEMATICTEEINTERCONNECT_BASE_LINE_THICKNESS , GLS_SCHEMATICTEEINTERCONNECT_LEFT_INTERCONNECT_TEXTURE_INDEX , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_INTERCONNECT_TEXTURE_INDEX , GLS_SCHEMATICTEEINTERCONNECT_BASE_INTERCONNECT_TEXTURE_INDEX , GLS_SCHEMATICTEEINTERCONNECT_LEFT_INTERCONNECT_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_INTERCONNECT_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICTEEINTERCONNECT_BASE_INTERCONNECT_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_TEXTURE_INDEX , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_TEXTURE_INDEX , GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_TEXTURE_INDEX , GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICTEEINTERCONNECT_LEFT_SHOW_FLOW , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_SHOW_FLOW , GLS_SCHEMATICTEEINTERCONNECT_BASE_SHOW_FLOW , GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_RATE , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_RATE , GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_RATE , GLS_SCHEMATICTEEINTERCONNECT_LEFT_SHOW_FLOW_BLINK , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_SHOW_FLOW_BLINK , GLS_SCHEMATICTEEINTERCONNECT_BASE_SHOW_FLOW_BLINK , GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_RATE , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_RATE , GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_RATE , GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_START_COLOR , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_START_COLOR , GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_START_COLOR , GLS_SCHEMATICTEEINTERCONNECT_LEFT_FLOW_BLINK_END_COLOR , GLS_SCHEMATICTEEINTERCONNECT_RIGHT_FLOW_BLINK_END_COLOR , GLS_SCHEMATICTEEINTERCONNECT_BASE_FLOW_BLINK_END_COLOR , GLS_SCHEMATICTEEINTERCONNECT_USE_DISPLAY_LIST , GLS_SCHEMATICTEEINTERCONNECT_TOP_VISIBLE , GLS_SCHEMATICTEEINTERCONNECT_TOP_LINE_THICKNESS , GLS_SCHEMATICTEEINTERCONNECT_TOP_INTERCONNECT_TEXTURE_INDEX , GLS_SCHEMATICTEEINTERCONNECT_TOP_INTERCONNECT_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_TEXTURE_INDEX , GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_TEXTURE_REPEAT_LENGTH , GLS_SCHEMATICTEEINTERCONNECT_TOP_SHOW_FLOW , GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_RATE , GLS_SCHEMATICTEEINTERCONNECT_TOP_SHOW_FLOW_BLINK , GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_RATE , GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_START_COLOR , GLS_SCHEMATICTEEINTERCONNECT_TOP_FLOW_BLINK_END_COLOR }
enum | { GLS_GLSSWITCH_INITIAL_DETENT_VAL = GLS_LAST_INITIALIZER + 1 , GLS_GLSSWITCH_WHICH_OBJECT_BACKGROUND , GLS_GLSSWITCH_FIRST_DETENT_SNAPBACK , GLS_GLSSWITCH_LAST_DETENT_SNAPBACK , GLS_GLSSWITCH_EMIT_DETENT_VAL_EVENT , GLS_GLSSWITCH_EMIT_LIMIT_EVENT , GLS_GLSSWITCH_EMIT_RELEASE_EVENT }
enum | { GLS_TEXT_GRID_SIZE = GLS_LAST_TEXT_INITIALIZER + 1 , GLS_TEXT_GRID_LEFT_TO_RIGHT }
enum | { GLS_GLSTHUMBWHEEL_INITIAL_VAL = GLS_LAST_INITIALIZER + 1 , GLS_GLSTHUMBWHEEL_EMIT_DETENT_VAL_EVENT , GLS_GLSTHUMBWHEEL_EMIT_LIMIT_EVENT , GLS_GLSTHUMBWHEEL_EMIT_RELEASE_EVENT , GLS_GLSTHUMBWHEEL_NUMBER_OF_DETENTS , GLS_GLSTHUMBWHEEL_CONTINUOUS_DRAG , GLS_GLSTHUMBWHEEL_DETENT_VAL , GLS_GLSTHUMBWHEEL_WHICH_OBJECT_THUMBWHEEL , GLS_GLSTHUMBWHEEL_WHICH_OBJECT_ODOMETER , GLS_GLSTHUMBWHEEL_SOUND_INDEX }
enum | { GLS_GLSVIDEOTOTEXTURE_FIRST_VALUE = GLS_LAST_INITIALIZER + 1 , GLS_GLSVIDEOTOTEXTURE_CAPTUREDEVICE }

## Functions
void | SetAbsolutePlacementDefault (bool value)
bool | GetAbsolutePlacementDefault ()
std::string | GetComponentDirectory (void *module)
void | DDSInitExtensions ()
| Calls necessary GL extension functions for DDS textures.
DDSTextureInfo * | ReadDDSFile (const char *filename, bool loadTexels)
GLuint | BindDDSTexture (DDSTextureInfo *texInfo, unsigned int skipLevels=0)
DXGI_FORMAT | GetDXGIFormat (const DDS_PIXELFORMAT &ddpf)
D3DFORMAT | GetD3D9Format (const DDS_PIXELFORMAT &ddpf)
void | swap (DistiException &first, DistiException &second)
void | SetDistiAssertHandler (DistiAssertHandler)
void | SetGlsVerifyHandler (DistiAssertHandler)
void | SetGlsAssertHandler (DistiAssertHandler)
void | DistiAssertDebug (const char *expression, const char *filename, unsigned int lineNumber)
void | DistiAssertRelease (const char *expression, const char *filename, unsigned int lineNumber)
void | GlsVerify (const char *expression, const char *filename, unsigned int lineNumber)
void | GlsAssert (const char *expression, const char *filename, unsigned int lineNumber)
template<class T >
T * | ValidatePointer (const T *const p)
std::ostream & | operator<< (std::ostream &outstr, const AttributeName &name)
bool | operator== (const AttributeName &attr1, const AttributeName &attr2)
bool | operator!= (const AttributeName &attr1, const AttributeName &attr2)
bool | operator== (const AttributeName &lName, const char *rName)
bool | operator== (const char *lName, const AttributeName &rName)
bool | operator== (const std::string &lName, const AttributeName &rName)
bool | operator== (const AttributeName &lName, const std::string &rName)
template<class Class >
AttributeObserver * | CreateAttributeMethodCallback (Class *const obj, const typename AttributeMethodCallback< Class >::Callback method)
template<class Class >
AttributeObserver * | CreateAttributeResourceCallback (Class *const obj, const char *attributeName)
template<class T >
void | SetAndNotifyIfChanged (AttributeChangedNotifier *object, T &property, const T &newValue, const AttributeName &name)
DistiAttribDict::const_iterator | begin (const DistiAttribDict &dict)
DistiAttribDict::const_iterator | end (const DistiAttribDict &dict)
DistiAttribDict::iterator | begin (DistiAttribDict &dict)
DistiAttribDict::iterator | end (DistiAttribDict &dict)
template<class T , bool Obsolete, class U >
unsigned | FindIndexOf (const DynamicArray< T, Obsolete > &array, const U &object)
template<class T , bool Obsolete>
void | DeleteEachAndClear (DynamicArray< T, Obsolete > &array)
template<class T , bool Obsolete>
T * | begin (DynamicArray< T, Obsolete > &array)
template<class T , bool Obsolete>
const T * | begin (const DynamicArray< T, Obsolete > &array)
template<class T , bool Obsolete>
T * | end (DynamicArray< T, Obsolete > &array)
template<class T , bool Obsolete>
const T * | end (const DynamicArray< T, Obsolete > &array)
template<class T , bool Obsolete>
void | DeleteArraysAndClear (DynamicArray< T, Obsolete > &array)
void | EmitObjectEvent (DisplayObject *self, ObjectEvent *event)
void | EmitObjectEvent (DisplayObject *self, const char *eventName, const char *eventData=NULL)
bool | ObjectEventIs (DisplayEvent *event, const char *eventName, const char *eventData=NULL)
bool | OnKeyEvent (KeyboardEvent *kev, bool alphaNumeric, int key, int modifierMask=0)
std::ostream & | operator<< (std::ostream &outstr, const GlsColor &color)
std::istream & | operator>> (std::istream &instr, GlsColor &color)
template<class T >
const char * | Demangle ()
float | SwapFloatToNet (float val)
double | SwapDoubleToNet (double val)
unsigned int | SwapLongToNet (unsigned int val)
unsigned int | SwapSignedLongToNet (int val)
unsigned short | SwapShortToNet (unsigned short val)
short | SwapSignedShortToNet (short val)
template<class Type , int DIM>
std::ostream & | operator<< (std::ostream &ostrm, const GlsMatrix< Type, DIM > &m)
template<class Type , int DIM>
std::istream & | operator>> (std::istream &istrm, GlsMatrix< Type, DIM > &m)
template<class Type >
Vector | DecomposeScale (const GlsMatrix< Type, 4 > &m)
template<class Type >
GlsMatrix< Type, 4 > | DecomposeRotationMatrix (const GlsMatrix< Type, 4 > &matrix, const Vector &scale)
template<class Type >
void | DecomposeMatrix (const GlsMatrix< Type, 4 > &matrix, Vector &scale, Vector &location, GlsQuaternion< Type > &rotation)
template<class T >
T | ConvertToIntOrBool (int value)
template<>
bool | ConvertToIntOrBool (int value)
template<class T >
T | ReadValueAsIntOrBool (std::istream &instr)
template<typename Type , class Class >
DistiAttributeProperty< Class, Type, Type > * | CreateDistiAttributeProperty (const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, Type, Type >::SetMethodType setMethod, const typename DistiAttributeProperty< Class, Type, Type >::GetMethodType getMethod=NULL)
template<typename Type , class Class >
DistiAttributeProperty< Class, Type, Type > * | CreateDistiAttributeProperty (const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, Type, Type >::SetMethodType setMethod, const typename DistiAttributeProperty< Class, Type, Type >::GetMethodConstType getMethod)
template<typename Type , class Class >
DistiAttributeProperty< Class, Type > * | CreateDistiAttributeProperty (const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, Type >::GetMethodConstType getMethod)
template<typename Type , class Class >
DistiAttributeProperty< Class, Type > * | CreateDistiAttributeProperty (const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, Type >::GetMethodType getMethod)
template<typename Type , class Class >
DistiAttributeProperty< Class, Type, const Type & > * | CreateDistiAttributeProperty (const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, Type, const Type & >::SetMethodType setMethod, const typename DistiAttributeProperty< Class, Type, const Type & >::GetMethodType getMethod=NULL)
template<typename Type , class Class >
DistiAttributeProperty< Class, Type, const Type & > * | CreateDistiAttributeProperty (const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, Type, const Type & >::SetMethodType setMethod, const typename DistiAttributeProperty< Class, Type, const Type & >::GetMethodConstType getMethod)
template<typename GetReturnT , typename SetArgT , class Class >
DistiAttributeProperty< Class, GetReturnT, SetArgT > * | CreateDistiAttributeProperty (const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, GetReturnT, SetArgT >::SetMethodType setMethod, const typename DistiAttributeProperty< Class, GetReturnT, SetArgT >::GetMethodType getMethod)
template<class Class >
DistiAttributeProperty< Class, Vector, const Vertex &, const Vertex & > * | CreateDistiAttributePropertyVertexToVector (const AttributeName &attrName, Class *const obj, const typename DistiAttributeProperty< Class, Vector, const Vertex &, const Vertex & >::SetMethodType setMethod, const typename DistiAttributeProperty< Class, Vector, const Vertex &, const Vertex & >::GetMethodConstType getMethod)
AttributeObserver * | CreateAttributeFnCallback (WeakReferenceable *const obj, const std::function< void()> &func)
DistiAttributeBase::CallbackID | Connect (DisplayObject *obj, const std::string &resource, WeakReferenceable *funcOwner, std::function< void()> func)
template<class Class >
DistiAttributeBase::CallbackID | Connect (DisplayObject *obj, const std::string &resource, Class *const methodInstance, const typename AttributeMethodCallback< Class >::Callback method)
void | Disconnect (DisplayObject *obj, const std::string &resource, DistiAttributeBase::CallbackID id)
template<class Type >
std::ostream & | operator<< (std::ostream &outstr, const GlsQuaternion< Type > &quat)
template<class Type >
std::istream & | operator>> (std::istream &instr, GlsQuaternion< Type > &quat)
GlsRuntimeFontBase * | GetGlsRuntimeFontBase (const GlsFontBase *font)
const GlsUnicodeFontBase * | GetGlsUnicodeFontBase (const GlsFontBase *font)
std::istream & | operator>> (std::istream &instr, disti::GlsText::Justify_t &j)
std::ostream & | operator<< (std::ostream &outstr, disti::GlsText::Justify_t j)
void | GLS_VERSION_8_3_0000_LIBRARY ()
bool | GlsBuiltVersionsMatchExactly (const GlsBuiltVersionInfo &a, const GlsBuiltVersionInfo &b)
bool | GlsBuiltVersionsAreBinaryCompatible (const GlsBuiltVersionInfo &a, const GlsBuiltVersionInfo &b)
float | AngularDistance (float angle1, float angle2)
float | AngularDistanceAbs (float angle1, float angle2)
void | GetDigits (int source, int *_1, int *_2=NULL, int *_3=NULL, int *_4=NULL, int *_5=NULL, int *_6=NULL, int *_7=NULL, int *_8=NULL)
void | ChangeNeedle (DisplayObject *obj, const float value, float gauge_values[][2], const int segments)
| Rotates a needle on a non-linear scale Rotates a needle object to the degree amount determined by the given value relative to the minimum and maximum values. Use multiple segments to map a gauge with a non-linear readout. More...
int | RampInt (double time, int min, int max)
bool | RampBool (double time)
float | RampFloat (double time, float min, float max)
double | RampDouble (double time, double min, double max)
float | Interpolate (const float value, float gauge_values[][2], const int segments)
| Interpolates based on the specified array. More...
void | ChangeHStrip (DisplayObject *obj, float value, const float min, const float max, float refPt, const float locAtMin, const float locAtMax)
| Moves an object horizontally based on the given values. Moves a digit strip horizontally to the location determined by the given value relative to the minimum and maximum values. More...
void | ChangeVStrip (DisplayObject *obj, float value, const float min, const float max, const float refPt, const float locAtMin, const float locAtMax)
| Moves an object vertically based on the given values. Moves a digit strip vertically to the location determined by the given value relative to the minimum and maximum values. More...
void | ChangeHTexture (DisplayObject *obj, const float unit_movement, const float min_units, const float max_units, float units, const float starting_x)
void | ChangeVTexture (DisplayObject *obj, const float unit_movement, const float min_units, const float max_units, float units, const float starting_y)
| Move a texture within an object to make the object appear to be moving in a Vertical direction. Useful for instruments with moving digits. Assumptions: The Texture cannot be rotated, The object cannot be flipped, or reversed Min value is on the bottom side of the texture Max value is on the top side of the texture The Texture height and width must be powers of 2! More...
void | ChangeVTexture (DisplayObject *obj, const float unit_movement, const float min_units, const float max_units, float units, const float *starting_y)
| Move a texture within an object to make the object appear to be moving in a Vertical direction. Useful for instruments with moving digits. Assumptions: The Texture cannot be rotated, The object cannot be flipped, or reversed Min value is on the bottom side of the texture Max value is on the top side of the texture The Texture height and width must be powers of 2! More...
int | CalcSwitchPosDCS (DisplayObject *self, DisplayEvent *ev, InputOrientationEnum inputType, int numPositions, float scale=1.0f)
DisplayObjectPtr * | begin (Group &group)
const DisplayObjectPtr * | begin (const Group &group)
DisplayObjectPtr * | end (Group &group)
const DisplayObjectPtr * | end (const Group &group)
void | SetNPOTState (ImageNPOTMode state)
ImageNPOTMode | DoesSystemSupportNPOT ()
void | SetReleaseImageDataDefault (bool enable)
bool | GetReleaseImageDataDefault ()
void | loadImageLoaders ()
template<class Class >
KeyboardCallbackBase * | CreateInputHandlerCallback (const typename KeyboardMethodCallback< Class >::Callback method, Class *const obj)
template<class Class >
MouseCallbackBase * | CreateInputHandlerCallback (const typename MouseMethodCallback< Class >::Callback method, Class *const obj)
bool | DecompressJPEG (int width, int height, unsigned char *uncompressed, unsigned char *compressed, unsigned int comprLen)
void | CompressJPEG (int width, int height, int quality, unsigned char *uncompressed, unsigned char *compressed, unsigned long &outputLength)
bool | operator== (const Material &rhs, const Material &lhs)
bool | operator!= (const Material &rhs, const Material &lhs)
std::ostream & | operator<< (std::ostream &outstr, const Material &mat)
std::istream & | operator>> (std::istream &instr, Material &mat)
void | SetMessageDialogs (MessageDialogs *dlgs)
void | EnableDialogs (bool)
| Suppresses popup messages when false, defaults to true.
bool | AreDialogsEnabled ()
void | PopupsUseCommandLine (bool)
bool | PopupsUseCommandLine ()
void | MsgBox (const char *s,...)
void | Error (const char *s,...)
void | Error_NoVarArg (const char *s)
int | Question (const char *s,...)
int | Choice (const char *b0, const char *b1, const char *b2, const char *s,...)
int | ChoiceWithDefault (const char *b0, const char *b1, const char *b2, const int defaultChoice, const char *s,...)
Group * | Tessellate (Group *obj_list, CreateGroupFunc, CreatePolyFunc, DecomposeFunc)
Group * | Tessellate (Group *object_list, int tesstype, CreateGroupFunc, CreatePolyFunc, DecomposeFunc)
Group * | TessellateGlyph (Group *obj_list, CreateGroupFunc, CreatePolyFunc, DecomposeFunc)
template<class X , class X1 , class X2 >
bool | BETWEEN (const X &x, const X1 &x1, const X2 &x2)
template<class X >
bool | IS_NEGATIVE (const X &x)
template<class X >
bool | IS_POSITIVE (const X &x)
template<class X >
bool | CloseToZero (const X x, const X threshold=X(1e-1))
template<class X >
bool | VeryCloseToZero (X x)
template<class X >
bool | IsNearZero (X x)
template<class X >
bool | IS_ZERO (X x)
float | OpenGLVersion ()
bool | gltIsExtSupported (const char *extension)
unsigned char * | GlsDefinedColor (GlsDefinedColorEnum index)
void | ChangeGlsDefinedColor (GlsDefinedColorEnum index, unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha)
UTF16String | ConvertUTF8ToWide (const std::string &src)
template<class T1 , class T2 >
bool | Equal (T1 x, T2 y, float precision=0.001f)
template<class T >
const T & | Min (const T &x, const T &y)
template<class T >
const T & | Max (const T &x, const T &y)
template<class T , class Pred >
const T & | Min (const T &x, const T &y, Pred pr)
template<class T , class Pred >
const T & | Max (const T &x, const T &y, Pred pr)
template<class T >
GlsMatrixAffine< T > | FindCoordinateTransformation (const Vector &new_origin, const Vector &new_i, const Vector &new_j, const Vector &new_k)
template<class T >
void | FindCoordinateTransformation (const Vector &new_origin, const Vector &new_i, const Vector &new_j, const Vector &new_k, GlsMatrixAffine< T > &result)
bool | GetObjectCoordinatesTransformSameView (DisplayObject *from, DisplayObject *to, GlsMatrixType *outTransform)
DisplayFrame * | GetTopLevelDisplayFrame (DisplayFrame *frame)
bool | GetObjectCoordinatesTransform (DisplayObject *from, DisplayObject *to, GlsMatrixType *outTransform)
bool | NotColinear (const Vector &a, const Vector &b, const Vector &c)
bool | FindNonColinearVertices (int arraySize, Vector array[], int &index1, int &index2, int &index3, bool isVectorArray=true)
bool | FindNonColinearVertices (int arraySize, Vertex array[], int &index1, int &index2, int &index3)
bool | CalculateTexPointsFromTexCoords (DisplayObject *object)
int | EncodeString (char *dest, const char *src, const int dest_str_length)
std::string | EncodeString (const std::string &src)
int | EncodedStringMinLength ()
int | C_EncodeString (char *dest, const char *src, const int dest_str_length)
std::string | C_EncodeString (const std::string &src)
int | DecodeString (char *dest, const char *src, const int dest_str_length)
std::string | DecodeString (const std::string &src)
char * | MakeRelativePath (const char *originalPath, const char *relativePath)
void | ConvertBackslashToSlash (char *str)
void | ConvertBackslashToSlash (std::string &str)
int | range_check (int num, double val,...)
int | Safe_fopen (const char *filename, char *flags, FILE **f)
int | Safe_fopen (const char *filename, char *flags, std::fstream &outstr)
void | PushResourcePath (const char *resourcePath)
void | PopResourcePath ()
void | PushResourceFinder (std::string(*finder)(const std::string &))
std::string | ResolvePath (const char *path)
std::string | ResolvePath (const std::string &path)
FILE * | gls_fopen (const char *filename, const char *flags)
int | gls_unlink (const char *filename)
std::string | ResolveRuntimeResourcePath (const char *fileName)
bool | FileExists (const char *filename)
bool | FileExists (const std::string &filename)
bool | IsDirectory (const char *filename)
bool | IsDirectory (const std::string &filename)
std::string | FileExtension (const std::string &filepath)
std::string | FileName (const std::string &filepath)
std::string | FilePath (const std::string &filepath)
const char * | GetFilePath (const char *name)
char * | GetFileName (const char *name)
void | AppendTrailingSlash (char *s)
void | AppendTrailingSlash (std::string &s)
char * | PathToOS (const char *path)
std::string | GetExtension (const std::string &filename)
const char * | GetBaseName (const char *path)
char * | GetBaseName (char *path)
void | RemoveDoubleSlashes (char *path, char slash='/')
void | RemoveSpaces (std::string &entry)
void | TrimSpaces (std::string &entry)
float | AngularDistanceDeg (float angle1, float angle2)
float | AngularDistanceRad (float angle1, float angle2)
bool | ContainsNonBlank (const std::string &val)
bool | GetNoSpaces (FILE *f, char *result, int maxLen)
bool | GetToEnd (std::istream &instr, std::string &result, bool decode)
bool | GetVertex (std::istream &instr, Vertex *vert, bool getColor)
bool | GetComponentClassNames (const char *dllFileName, DynamicArray< std::string > &nameList, const char *createClassTag="CreateComponent_")
std::string | GetDefaultComponentClassName (const char *dllFileName)
std::string | GetQualifiedInstanceName (const DisplayFrame *topFrame, const DisplayObject *obj)
void | CheckGLError ()
| Checks the OpenGL error state, and prints to stdout if there was an error.
std::string | Uppercase (const std::string &str)
std::string | ReplaceEnvironmentVariables (const char *originalPath)
std::ostream & | operator<< (std::ostream &outstr, const GlsMultiValBase &multiVal)
std::istream & | operator>> (std::istream &instr, GlsMultiValBase &multiVal)
std::ostream & | operator<< (std::ostream &outstr, const GlsPropString &str)
std::istream & | operator>> (std::istream &instr, GlsPropString &str)
std::ostream & | operator<< (std::ostream &outstr, const GlsPropStringQuoted &str)
std::istream & | operator>> (std::istream &instr, GlsPropStringQuoted &str)
GlsPropString | operator+ (const GlsPropString &a, GlsPropString &b)
GlsPropString | operator+ (const GlsPropString &a, const GlsPropStringQuoted &b)
GlsPropStringQuoted | operator+ (const GlsPropStringQuoted &a, GlsPropStringQuoted &b)
GlsPropStringQuoted | operator+ (const GlsPropStringQuoted &a, const GlsPropString &b)
std::string | operator+ (const std::string &a, const GlsPropString &b)
std::string | operator+ (const std::string &a, const GlsPropStringQuoted &b)
GlsPropString & | operator+= (GlsPropString &a, const GlsPropString &b)
GlsPropString & | operator+= (GlsPropString &a, const GlsPropStringQuoted &b)
GlsPropString & | operator+= (GlsPropString &a, const char *b)
GlsPropString & | operator+= (GlsPropString &a, const std::string &b)
GlsPropStringQuoted & | operator+= (GlsPropStringQuoted &a, const GlsPropStringQuoted &b)
GlsPropStringQuoted & | operator+= (GlsPropStringQuoted &a, const GlsPropString &b)
GlsPropStringQuoted & | operator+= (GlsPropStringQuoted &a, const char *b)
GlsPropStringQuoted & | operator+= (GlsPropStringQuoted &a, const std::string &b)
std::string & | operator+= (std::string &a, const GlsPropString &b)
std::string & | operator+= (std::string &a, const GlsPropStringQuoted &b)
void | SpawnBrowser (const char *url)
bool | CheckDistiLicense (const char *licenseGroupName, const char *feature, const char *version, bool quiet)
void | GlsGetOrtho (GlsMatrixType &m, double left, double right, double bottom, double top, double zNear, double zFar)
void | GlsGetPerspective (GlsMatrixType &m, double fovy, double aspect, double zNear, double zFar)
std::istream & | operator>> (std::istream &instr, Vector &vert)
std::ostream & | operator<< (std::ostream &outstr, const Vector &vert)
std::istream & | operator>> (std::istream &instr, Vertex &vert)
std::ostream & | operator<< (std::ostream &outstr, const Vertex &vert)
int | IntersectionVectorAndPlane (VertexNoColor &point, const Vector &lineVector, const VertexNoColor &linePoint, const Vector &planeNormal, const Vector &planePoint)
VertexNoColor | ProjectedIntersectingPoint (const VertexNoColor &p1, const VertexNoColor &p2, const VertexNoColor &p3)
bool | LineHitsTriangle (const Vector &origin, const Vector &direction, const Vector &v0, const Vector &v1, const Vector &v2, Vector *collisionPoint=0)
bool | RayHitsTriangle (const Vector &origin, const Vector &direction, const Vector &v0, const Vector &v1, const Vector &v2, Vector *collisionPoint=0)
void | FindCollision (const Vector &origin, const Vector &vert1, const Vector &vert2, const Vector &vert3, VertexNoColor *collisionPoint, const Vector &directionVector)
VertexNoColor | Normal (const VertexNoColor &p1, const VertexNoColor &p2, const VertexNoColor &p3)
std::istream & | operator>> (std::istream &instr, disti::GlsCTLTextBox::VerticalAlignment_t &verticalAlignment)
std::ostream & | operator<< (std::ostream &outstr, disti::GlsCTLTextBox::VerticalAlignment_t verticalAlignment)
std::istream & | operator>> (std::istream &instr, disti::GlsCTLTextBox::EllipsizeMode_t &ellipsizeMode)
std::ostream & | operator<< (std::ostream &outstr, disti::GlsCTLTextBox::EllipsizeMode_t ellipsizeMode)
std::istream & | operator>> (std::istream &instr, disti::GlsCTLTextBox::TextDirection_t &direction)
std::ostream & | operator<< (std::ostream &outstr, disti::GlsCTLTextBox::TextDirection_t direction)
std::istream & | operator>> (std::istream &instr, disti::GlsCTLTextBox::ResizeMode_t &resizeMode)
std::ostream & | operator<< (std::ostream &outstr, disti::GlsCTLTextBox::ResizeMode_t resizeMode)
std::ostream & | operator<< (std::ostream &outstr, const GlsLinearFloatController::KeyData &key)
std::istream & | operator>> (std::istream &instr, GlsLinearFloatController::KeyData &key)
std::ostream & | operator<< (std::ostream &outstr, GlsMovingEye::Movement_t m)
std::istream & | operator>> (std::istream &instr, GlsMovingEye::Movement_t &m)
std::ostream & | operator<< (std::ostream &outstr, GlsMovingEye::Route_t r)
std::istream & | operator>> (std::istream &instr, GlsMovingEye::Route_t &r)
std::istream & | operator>> (std::istream &instr, disti::GlsTextBox::Align_t &j)
std::ostream & | operator<< (std::ostream &outstr, disti::GlsTextBox::Align_t j)
std::istream & | operator>> (std::istream &instr, disti::GlsTextBox::ResizeMode_t &direction)
std::ostream & | operator<< (std::ostream &outstr, disti::GlsTextBox::ResizeMode_t direction)

## Variables
const char | META_COMPONENT_HEADER_FILE_NAME [] = "ComponentHeaderFile"
| Attribute name for ComponentHeaderFile.
const int | MAX_ATTRIBUTE_NAME_LENGTH = 128
| Unused, remains for backward compatibility.
const unsigned | g_itemNotFound = UINT_MAX
| Constant returned by FindIndexOf() if the item is not found.
const char * | STD_UNIFORM_STRINGS [MAX_STD_UNIFORMS]
const char * | STD_ATTRIB_STRINGS [MAX_STD_ATTRIBS]
const DistiAttributeBase::CallbackID | DISTI_INVALID_CALLBACK_ID = ~0u
| Value to represent that a given callback was not successfully created.
const int | IMG_TRANSPARENT = 0
const int | IMG_NON_TRANSPARENT = 255
const int | MAX_MIP_MAP_IMAGES = 16
const int | NO_TEXTURE = -1
const int | MULTIPLE_TEXTURES_SELECTED = -2
const int | INLINE_TEXTURE_LINE_LENGTH = 240
const char | PARSER_CLEARSTRING_DELIMETER_START [] = "#$STRING_START$#"
| Used for parsing lines of clear (multiline otherwise unencoded) text.
const char | PARSER_CLEARSTRING_DELIMETER_END [] = "#$STRING_END$#"
| Used for parsing lines of clear (multiline otherwise unencoded) text.
const double | HIT_TOLERANCE = 5.0
| The hit tolerance in logical units for selecting objects in the editor.
unsigned char | glsDefinedColors [GLS_COLOR_MAX][4]
const double | DEG_TO_RAD = 3.14159265358979323846 / 180.0
const double | RAD_TO_DEG = 180.0 / 3.14159265358979323846
const int | MAX_SPLINE_VERTICES = 2000
const int | MIN_NUMBER_POINTS = 2
const int | NUMBER_POINTS_TO_CONSIDER = 3

## Detailed Description

Contains GL Studio classes and other DiSTI code.

## Typedef Documentation

## ◆ DistiAssertHandler

typedef void(* DistiAssertHandler) (const char *errMessage)

The callback type. It receives an error message string

## ◆ DynamicMaterialArray

typedef DynamicArray<Material> DynamicMaterialArray

Typedef for dynamic array of materials

## ◆ GlsDefaultFont

typedef GlsRobotoRegular12 GlsDefaultFont

Typedef the default font for GL Studio. This font will always be available for use, even when others cannot be generated.

## ◆ Vector

typedef VertexNoColor Vector

This typedef is a changed from pre 3.0 versions. Now Vector is different from Vertex. It now contains no color information

## Enumeration Type Documentation

## ◆ AlphaMode_e

enum AlphaMode_e

Enumeration for Alpha Blending/Testing mode

Enumerator
ALPHA_MODE_UNDEFINED | Alpha mode is not defined. Used by the properties page
ALPHA_MODE_OPAQUE | Alpha testing and blending are disabled
ALPHA_MODE_2_LEVEL | Alpha testing with a threshold of 0.5 is enabled, alpha blending is enabled.
ALPHA_MODE_256_LEVEL | Alpha blending is enabled, alpha testing is disabled.

## ◆ ColorMaterialMode_e

enum ColorMaterialMode_e

Enumeration for an object's usage of glColorMaterial

Enumerator
NO_COLOR_MATERIAL | glColorMaterial will be disabled for the object
DIFFUSE_COLOR_MATERIAL | glColorMaterial will be enabled for the diffuse material
AMBIENT_COLOR_MATERIAL | glColorMaterial will be enabled for the ambient material
DIFFUSE_AND_AMBIENT_COLOR_MATERIAL | glColorMaterial will be enabled for the diffuse & ambient materials
EMISSION_COLOR_MATERIAL | glColorMaterial will be enabled for the emission material
SPECULAR_COLOR_MATERIAL | glColorMaterial will be enabled for the specular material

## ◆ DepthBuffer_e

enum DepthBuffer_e

Enumeration for the Depth Testing and Writting mode

Enumerator
DEPTH_BUFFER_TEST_NO_WRITE | Tests but doesn't write
DEPTH_BUFFER_NO_TEST_AND_WRITE | Doesn't test but does write

## ◆ EventType_e

enum EventType_e

Enumeration for event types

Enumerator
EVENT_MOUSE | A Mouse (or touch screen) event
EVENT_KEYBOARD | A Keyboard event
EVENT_TIMER | Unused
EVENT_OBJECT | An event emitted by an object
EVENT_KEYBOARD_UP | A Keyboard up event (uses KeyboardEvent class)

## ◆ GLS_Cylinder_Initializers

enum GLS_Cylinder_Initializers

Cylinder Initializers

## ◆ GLS_EyePoint_Initializers

enum GLS_EyePoint_Initializers

Eye Point Initializers

## ◆ GLS_Initializers

enum GLS_Initializers

Initializers

## ◆ GLS_LightSource_Initializers

enum GLS_LightSource_Initializers

Light Source Initializers

## ◆ GLS_Sphere_Initializers

enum GLS_Sphere_Initializers

Sphere Initializers

## ◆ GlsDefinedColorEnum

enum GlsDefinedColorEnum

GL Studio color defines

## ◆ glsImageCodec

enum glsImageCodec

The glsImageCodec enum. Describes the compression level of a texture.

Enumerator
GLS_CODEC_RAW | Image data is not compressed
GLS_CODEC_LZ77 | Image data is compressed with LZ77 (Z-Lib)
GLS_CODEC_JPEG | Image data is compressed with lossy JPEG

## ◆ glsSphereMapping_e

enum glsSphereMapping_e

gls Sphere Mapping

Enumerator
GLS_SPHERE_SPHERICAL_MAP | Spherical texture map
GLS_SPHERE_CYLINDER_MAP | Cylindrical texture map

## ◆ ImageNPOTMode

enum ImageNPOTMode

The ImageNPOTMode enum. Describes whether NPOT textures are allowed.

Enumerator
GLS_NPOT_AUTO | Allow Non Power Of Two textures if able
GLS_NPOT_ENABLED | Always allow Non Power Of Two textures
GLS_NPOT_DISABLED | Never allow Non Power Of Two textures

## ◆ LightType_e

enum LightType_e

LightType_e

## ◆ ListIteratorDirection

enum ListIteratorDirection

List Iterator Direction

## ◆ MemberAccess_e

enum MemberAccess_e

Enumeration for the C++ protection status of an object

Enumerator
PUBLIC | The object will be C++ public status
PRIVATE | The object will be C++ private status
PROTECTED | The object will be C++ protected status

## ◆ MouseButtonType_e

enum MouseButtonType_e

Enumeration for mouse buttons

Enumerator
MOUSE_LBUTTON | Mask that matches only left mouse button
MOUSE_MBUTTON | Mask that matches only middle mouse button
MOUSE_RBUTTON | Mask that matches only right mouse button
MOUSE_BUTTON_ANY | Mask that matches any mouse button

## ◆ MouseEventType_e

enum MouseEventType_e

Enumeration for mouse event types

Enumerator
MOUSE_DOWN | A Mouse button was pushed down
MOUSE_UP | A Mouse button was released
MOUSE_MOVE | The mouse moved
MOUSE_DRAG | The mouse moved while a button was held down
MOUSE_LEAVE | The mouse exited the object
MOUSE_ENTER | The mouse entered the object
MOUSE_WHEEL_MINUS | The mouse wheel was turned in the negative direction
MOUSE_WHEEL_PLUS | The mouse wheel was turned in the positive direction
MOUSE_RECEIVE_MULTITOUCH | Handle this event to receive input from multiple touches at the same time
MOUSE_CANCEL | Handle this event to interrupt the current mouse event
MOUSE_DOUBLE | A Mouse button was pushed down twice

## ◆ PickableType_e

enum PickableType_e

Enumeration for the type of picking for an object

Enumerator
PICK_NEVER | Picking will be disabled for this object and all children
PICK_FIRST | Picking will be based on draw order only. The first geometry hit wins.
PICK_BEST | Picking will find the best geometry hit of all available children
PICK_ALWAYS | Picking will ignore geometry of this object, and always return a pick as if hit. This is still only found through normal draw order traversal.

## ◆ PolygonClose_e

enum PolygonClose_e

Enumeration for whether or not polygon is closed or open

Enumerator
POLY_OPEN | Polygon will be drawn open
POLY_CLOSED | Polygon will be drawn closed

## ◆ PolygonMode_e

enum PolygonMode_e

Enumeration for polygon drawing mode of the object

Enumerator
POLY_MODE_UNDEFINED | Polygon draw style is not defined; not a drawable type. Used with the properties page
POLY_MODE_POINTS | Polygon will be rendered with a point at each vertex
POLY_MODE_OUTLINE | Polygon will be rendered as an outline
POLY_MODE_FILLED | Polygon will be rendered filled-in
POLY_MODE_FILL_AND_OUTLINE | Polygon will be rendered filled-in and with an outline

## ◆ RedrawBehavior_e

enum RedrawBehavior_e

Enumeration for the redraw behavior for a display frame

Enumerator
REDRAW_CONDITIONAL | The display frame is only redrawn when the scene changes
REDRAW_CONSTANT | The display frame is constantly redrawn at a specified rate
REDRAW_CONTINUOUS | The display frame is constantly redrawn as fast as possible

## ◆ RotationAxis

enum RotationAxis

Rotation axis enumeration. Passed into rotation calls

Enumerator
X_AXIS | Rotate around the X Axis
Y_AXIS | Rotate around the Y Axis
Z_AXIS | Rotate around the Z Axis

## ◆ ShadingType_e

enum ShadingType_e

Enumeration for the type of rendering projection for a display frame

Enumerator
SHADING_FLAT | The object will be drawn with flat shading (monochromatic)
SHADING_GOURAUD | The object will be drawn with gouraud shading (linear color interpolation)

## ◆ SpecialKeyState_e

enum SpecialKeyState_e

Enumeration for keyboard modifiers

## ◆ StdAttribs_e

enum StdAttribs_e

enumeration for standard shader attributes

## ◆ StdUniforms_e

enum StdUniforms_e

enumeration for standard shader uniforms

## ◆ TextureFilter_e

enum TextureFilter_e

Enumeration for texture filtering mode of the object

Enumerator
TEXTURE_FILTER_NEAREST | Nearest pixel filtering
TEXTURE_FILTER_LINEAR | Bilinear interpolation filtering
TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST | Selects nearest pixel in the nearest mipmap
TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR | Linearly interpolates in two mipmaps then linearly interpolates between them
TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR | Selects nearest pixel in two mipmaps then linearly interpolates between them
TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST | Linearly interpolates in the nearest mipmap

## ◆ TextureMap_e

enum TextureMap_e

Enumeration for texture mapping mode of the object

Enumerator
TEXTURE_MAP_MODULATE | Texture color and alpha are modulated with polygon color and alpha
TEXTURE_MAP_DECAL | Texture color is blended with polygon color
TEXTURE_MAP_BLEND | Texture color is blended with polygon color, texture alpha is modulated with polygon alpha
TEXTURE_MAP_REPLACE | Texture color and alpha replace polygon color and alpha

## ◆ TextureState_e

enum TextureState_e

Current state of texture in the texture palette

Enumerator
TEXTURE_UNUSED | The texture slot is unused
TEXTURE_IGNORED | Texture slot does not contain a texture, the user choose to ignore it. It appears UNUSED for most purposes.
TEXTURE_INVALID | Texture slot contains a texture, but it isn't bound to the GL context
TEXTURE_VALID | Texture slot contains a texture, and it is bound to the GL context

## ◆ Views

enum Views

View

## Function Documentation

## ◆ AngularDistance()

float AngularDistance | ( | float | angle1,
|  | float | angle2
| ) |  |

Parameters

  angle1 | The starting angle.
  angle2 | The ending angle.

Returns
  The minimum angular distance between angle1 and angle2.

## ◆ AngularDistanceAbs()

float AngularDistanceAbs | ( | float | angle1,
|  | float | angle2
| ) |  |

Parameters

  angle1 | The starting angle.
  angle2 | The ending angle.

Returns
  The absolute value of the minimum angular distance between angle1 and angle2.

## ◆ AngularDistanceDeg()

float AngularDistanceDeg | ( | float | angle1,
|  | float | angle2
| ) |  |

Returns
  The minimum angular distance between angle1 and angle2 in degrees

Parameters

  angle1 | First angle
  angle2 | Second angle

## ◆ AngularDistanceRad()

float AngularDistanceRad | ( | float | angle1,
|  | float | angle2
| ) |  |

Returns
  The minimum angular distance between angle1 and angle2 in radians

Parameters

  angle1 | First angle
  angle2 | Second angle

## ◆ AppendTrailingSlash() [1/2]

void AppendTrailingSlash | ( | char * | s | ) |

Appends a trailing slash to a path string, if one isn't there already

Parameters

  s | File path

## ◆ AppendTrailingSlash() [2/2]

void AppendTrailingSlash | ( | std::string & | s | ) |

Appends a trailing slash to a path string, if one isn't there already

Parameters

  s | File path

## ◆ AreDialogsEnabled()

bool AreDialogsEnabled | ( |  | ) |

Returns
  Whether or not dialogs are enabled.

## ◆ begin() [1/6]

DistiAttribDict::const_iterator begin | ( | const DistiAttribDict & | dict | ) |
| inline

Iterator interface for use in range-for loops etc.

Parameters

  dict | The DistiAttribDict whose iterator is to be returned.

Returns
  A const iterator to the beginning of the list.

## ◆ begin() [2/6]

const T * begin | ( | const DynamicArray< T, Obsolete > & | array | ) |

Overload begin() so that range-for loops and other constructs work with DynamicArray.

Parameters

  array | The array whose first element is to be returned.

Returns
  The first element of the array, otherwise NULL.

## ◆ begin() [3/6]

const DisplayObjectPtr * begin | ( | const Group & | group | ) |
| inline

Overload begin() so that range-for loops and other constructs work with Group.

Parameters

  group | The group whose first element is to be returned.

Returns
  A pointer to the first element.

## ◆ begin() [4/6]

DistiAttribDict::iterator begin | ( | DistiAttribDict & | dict | ) |
| inline

Iterator interface for use in range-for loops etc.

Parameters

  dict | The DistiAttribDict whose iterator is to be returned.

Returns
  An iterator to the beginning of the list.

## ◆ begin() [5/6]

T * begin | ( | DynamicArray< T, Obsolete > & | array | ) |

Overload begin() so that range-for loops and other constructs work with DynamicArray.

Parameters

  array | The array whose first element is to be returned.

Returns
  The first element of the array, otherwise NULL.

## ◆ begin() [6/6]

DisplayObjectPtr * begin | ( | Group & | group | ) |
| inline

Overload begin() so that range-for loops and other constructs work with Group.

Parameters

  group | The group whose first element is to be returned.

Returns
  A pointer to the first element.

## ◆ BETWEEN()

bool BETWEEN | ( | const X & | x,
|  | const X1 & | x1,
|  | const X2 & | x2
| ) |  |

Determines if x is included in the range x1 to x2.

Parameters

  x | The value to check.
  x1 | The minimum range.
  x2 | The maximum range.

Returns
  Whether or not x is in the range.

## ◆ BindDDSTexture()

GLuint BindDDSTexture | ( | DDSTextureInfo * | texInfo,
|  | unsigned int | skipLevels = `0`
| ) |  |

Calls the necessary OpenGL functions to bind a DDS texture for drawing.

Parameters

  texInfo | The texture to draw.
  skipLevels | The number of mip maps to skip.

Returns
  The texture id if successful.

## ◆ C_EncodeString() [1/2]

int C_EncodeString | ( | char * | dest,
|  | const char * | src,
|  | const int | dest_str_length
| ) |  |

Encodes a string using C language encoding

Parameters

  dest | Destination string
  src | Source string
  dest_str_length | Size of the destination buffer

Returns
  The length of the encoded string

## ◆ C_EncodeString() [2/2]

std::string C_EncodeString | ( | const std::string & | src | ) |

Returns and encoded std::string using C language encoding

Parameters

  src | Source string

Returns
  The encoded string

## ◆ CalcSwitchPosDCS()

int CalcSwitchPosDCS | ( | DisplayObject * | self,
|  | DisplayEvent * | ev,
|  | InputOrientationEnum | inputType,
|  | int | numPositions,
|  | float | scale = `1.0f`
| ) |  |

Uses event data to calculate a new switch position based on the DCS of the object.

Note
  This is not intended to be called directly.

Parameters

  self | The switch being manipulated.
  ev | The incoming mouse event.
  inputType | INPUT_VERTICAL or INPUT_HORIZONTAL.
  numPositions | The number of positions the switch can be in.
  scale | Additional optional scale to be applied to position calculation.

Returns
  The resulting switch position state.

## ◆ CalculateTexPointsFromTexCoords()

bool CalculateTexPointsFromTexCoords | ( | DisplayObject * | object | ) |

Recalculate the texture points of a given DisplayObject based on its valid texture coordinates.

Parameters

  object | the object whose texture points are to be calculated

Returns
  true On success.
  false If the texture points could not be calculated. (The object doesn't have three non-colinear vertices or doesn't have texture coordinates.)

## ◆ ChangeGlsDefinedColor()

void ChangeGlsDefinedColor | ( | GlsDefinedColorEnum | index,
|  | unsigned char | red,
|  | unsigned char | green,
|  | unsigned char | blue,
|  | unsigned char | alpha
| ) |  |
| inline

Allow the user to change the predefined colors.

Parameters

  index | The index of the color to change.
  red | The new red channel value to set (0-255).
  green | The new green channel value to set (0-255).
  blue | The new blue channel value to set (0-255).
  alpha | The new alpha channel value to set (0-255).

## ◆ ChangeHStrip()

void ChangeHStrip | ( | DisplayObject * | obj,
|  | float | value,
|  | const float | min,
|  | const float | max,
|  | float | refPt,
|  | const float | locAtMin,
|  | const float | locAtMax
| ) |  |

Moves an object horizontally based on the given values. Moves a digit strip horizontally to the location determined by the given value relative to the minimum and maximum values.

Parameters

  obj | - The display object to move (usually a horizontal strip of digits.
  value | - The value to be displayed on the digit strip.
  min | - The smallest value that will be displayed
  max | - The largest value that will be displayed.
  refPt | - The location (x) of the object this object is attached to
  locAtMin | - The location (x-coord) of the digit strip when placed so that the min value is displayed.
  locAtMax | - The location (x-coord) of the digit strip when placed so that the max value is displayed.

## ◆ ChangeHTexture()

void ChangeHTexture | ( | DisplayObject * | obj,
|  | const float | unit_movement,
|  | const float | min_units,
|  | const float | max_units,
|  | float | units,
|  | const float | starting_x
| ) |  |

Move a texture within an object to make the object appear to be moving in a Horizontal direction. Useful for instruments with moving digits. Assumptions: The Texture cannot be rotated, The object cannot be flipped, or reversed Min value is on the left side of the texture Max value is on the right side of the texture The Texture height and width must be powers of 2!

Parameters

  obj | - The object with the texture to move.
  unit_movement | - How far to move the texture per unit on the scale, e.g., .007227 This is specific to the texture. unit_movement = ((pixel count of largest unit) - (pixel count of smallest unit)) divided by (the pixel width of the image) divided by (number of units between the smallest and largest, e.g., 100 MPH) this then yeilds (pixel ratio) per unit
  min_units | - The smallest unit displayed, e.g., 0 MPH
  max_units | - The largest unit displayed, e.g., 100 MPH
  units | - How many units to move the Scale, e.g. 33 MPH
  starting_x | - The starting x position of the texture The following code can be used to save the starting position: Vertex *texture = obj->GetTextureCoordinates()[0].x; starting_x = texture[0].x;

## ◆ ChangeNeedle()

void ChangeNeedle | ( | DisplayObject * | obj,
|  | const float | value,
|  | float | gauge_values[][2],
|  | const int | segments
| ) |  |

Rotates a needle on a non-linear scale Rotates a needle object to the degree amount determined by the given value relative to the minimum and maximum values. Use multiple segments to map a gauge with a non-linear readout.

Parameters

  obj | The display object that will move (usually the needle)
  value | The actual value that the needle should point to.
  gauge_values | A 2 dimensional array that contains the values and the angles that correspond to the gauge. The first of the pair is the gauge value. The second of the pair is the angle the needle should be rotated in order to point to it. The first pair should be the minimal angle the needle will be rotated while the last pair should be the maximum angle the needle will be rotated.
  segments | The number of pairs in the gauge_values array.

See also
  Uses Interpolate() internally.

## ◆ ChangeVStrip()

void ChangeVStrip | ( | DisplayObject * | obj,
|  | float | value,
|  | const float | min,
|  | const float | max,
|  | const float | refPt,
|  | const float | locAtMin,
|  | const float | locAtMax
| ) |  |

Moves an object vertically based on the given values. Moves a digit strip vertically to the location determined by the given value relative to the minimum and maximum values.

Parameters

  obj | - The display object to move (usually a horizontal strip of digits.
  value | - The value to be displayed on the digit strip.
  min | - The smallest value that will be displayed
  max | - The largest value that will be displayed.
  refPt | - The location (y) of the object this object is attached to
  locAtMin | - The location (y-coord) of the digit strip when placed so that the min value is displayed.
  locAtMax | - The location (y-coord) of the digit strip when placed so that the max value is displayed.

## ◆ ChangeVTexture() [1/2]

void ChangeVTexture | ( | DisplayObject * | obj,
|  | const float | unit_movement,
|  | const float | min_units,
|  | const float | max_units,
|  | float | units,
|  | const float * | starting_y
| ) |  |

Move a texture within an object to make the object appear to be moving in a Vertical direction. Useful for instruments with moving digits. Assumptions: The Texture cannot be rotated, The object cannot be flipped, or reversed Min value is on the bottom side of the texture Max value is on the top side of the texture The Texture height and width must be powers of 2!

Parameters

  obj | - The object with the texture to move.
  unit_movement | - How far to move the texture per unit on the scale, e.g., .007227 This is specific to the texture. unit_movement = ((pixel count of largest unit) - (pixel count of smallest unit)) divided by (the pixel width of the image) divided by (number of units between the smallest and largest, e.g., 100 MPH) this then yields (pixel ratio) per unit
  min_units | - The smallest unit displayed, e.g., 0 MPH
  max_units | - The largest unit displayed, e.g., 100 MPH
  units | - How many units to move the Scale, e.g. 33 MPH
  starting_y | - The starting x position of the texture The following code can be used to save the starting position: Vertex *texture = obj->GetTextureCoordinates()[0].y; starting_y = texture[0].y;

## ◆ ChangeVTexture() [2/2]

void ChangeVTexture | ( | DisplayObject * | obj,
|  | const float | unit_movement,
|  | const float | min_units,
|  | const float | max_units,
|  | float | units,
|  | const float | starting_y
| ) |  |

Move a texture within an object to make the object appear to be moving in a Vertical direction. Useful for instruments with moving digits. Assumptions: The Texture cannot be rotated, The object cannot be flipped, or reversed Min value is on the bottom side of the texture Max value is on the top side of the texture The Texture height and width must be powers of 2!

Parameters

  obj | - The object with the texture to move.
  unit_movement | - How far to move the texture per unit on the scale, e.g., .007227 This is specific to the texture. unit_movement = ((pixel count of largest unit) - (pixel count of smallest unit)) divided by (the pixel width of the image) divided by (number of units between the smallest and largest, e.g., 100 MPH) this then yields (pixel ratio) per unit
  min_units | - The smallest unit displayed, e.g., 0 MPH
  max_units | - The largest unit displayed, e.g., 100 MPH
  units | - How many units to move the Scale, e.g. 33 MPH
  starting_y | - The starting x position of the texture The following code can be used to save the starting position: Vertex *texture = obj->GetTextureCoordinates()[0].y; starting_y = texture[0].y;

## ◆ CheckDistiLicense()

bool CheckDistiLicense | ( | const char * | licenseGroupName,
|  | const char * | feature,
|  | const char * | version,
|  | bool | quiet
| ) |  |

Call this to check for the availability of a DiSTI controlled license. It does not hold the license. It only checks it out and checks it back in.

Parameters

  licenseGroupName | A name for what this license allows. i.e. "GL Studio Runtime".
  feature | The specific feature that will be checked out.
  version | The specific version that will be checked out.
  quiet | When true, no popup will occur upon missing license.

Returns
  true if the license is available

## ◆ Choice()

int Choice | ( | const char * | b0,
|  | const char * | b1,
|  | const char * | b2,
|  | const char * | s,
|  |  | ...
| ) |  |

Creates and shows a pop-up dialog box and displays a text string and up to (3) buttons labeled according to the last three input parameters. To hide any of the buttons, pass a NULL string to the corresponding param. A question icon is displayed.

Parameters

  b0 | The label for button 0 (ESC is shortcut for this Right button).
  b1 | The label for button 1 (RET is shortcut for this Center button).
  b2 | The label for button 3 (left-most button).
  s | The text string to display.

Returns
  Equals 0 if b0 pressed, 1 if b1 pressed, 2 if b2 pressed.

## ◆ ChoiceWithDefault()

int ChoiceWithDefault | ( | const char * | b0,
|  | const char * | b1,
|  | const char * | b2,
|  | const int | defaultChoice,
|  | const char * | s,
|  |  | ...
| ) |  |

Creates and shows a pop-up dialog box and displays a text string and up to (3) buttons labeled according to the last three input parameters. To hide any of the buttons, pass a NULL string to the corresponding param. A question icon is displayed.

Parameters

  b0 | The label for button 0 (ESC is shortcut for this Right button).
  b1 | The label for button 1 (RET is shortcut for this Center button).
  b2 | The label for button 3 (left-most button).
  defaultChoice | The value returned when in command-line mode.
  s | The text string to display.

Returns
  Equals 0 if b0 pressed, 1 if b1 pressed, 2 if b2 pressed.

## ◆ CloseToZero()

bool CloseToZero | ( | const X | x,
|  | const X | threshold = `X( 1e-1 )`
| ) |  |

Determines if the argument is small (< 1e-1).

Parameters

  x | The value to check.
  threshold | A small value near zero to check from.

Returns
  True if x is closer to zero than threshold.

## ◆ CompressJPEG()

void CompressJPEG | ( | int | width,
|  | int | height,
|  | int | quality,
|  | unsigned char * | uncompressed,
|  | unsigned char * | compressed,
|  | unsigned long & | outputLength
| ) |  |

Helper method used to compress raw pixel data into JPEG data.

Parameters

  width | The width of the image in pixels.
  height | The height of the image in pixels.
  quality | The quality to use for compression (0-9).
  uncompressed | Pointer to the memory region containing the raw data to compress.
  compressed | Pointer to the memory region to receive the compressed JPEG data.
  outputLength | The length of the written compressed data in bytes.

## ◆ Connect() [1/2]

DistiAttributeBase::CallbackID Connect | ( | DisplayObject * | obj,
|  | const std::string & | resource,
|  | Class *const | methodInstance,
|  | const typename AttributeMethodCallback< Class >::Callback | method
| ) |  |

Helper function to link an object, attribute, and callback via a CreateAttributeMethodCallback object.

Template Parameters

  Class | the class of the object containing the callback.

Parameters

  obj | The object containing the resource to track.
  resource | The name of the resource to track.
  methodInstance | The owner of the callback.
  method | The callback function pointer to call.

Returns
  A valid CallbackID if successful, otherwise DISTI_INVALID_CALLBACK_ID

## ◆ Connect() [2/2]

DistiAttributeBase::CallbackID Connect | ( | DisplayObject * | obj,
|  | const std::string & | resource,
|  | WeakReferenceable * | funcOwner,
|  | std::function< void()> | func
| ) |  |
| inline

Helper function to link an object, attribute, and callback via a AttributeFnCallback object.

Parameters

  obj | The object containing the resource to track.
  resource | The name of the resource to track.
  funcOwner | The owner of the callback (often the same as obj).
  func | The callback function pointer to call.

Returns
  A valid CallbackID if successful, otherwise DISTI_INVALID_CALLBACK_ID.

## ◆ ContainsNonBlank()

bool ContainsNonBlank | ( | const std::string & | val | ) |

Returns
  Whether or not the incoming string contains something other than whitespace.

Parameters

  val | The string to check.

## ◆ ConvertBackslashToSlash() [1/2]

void ConvertBackslashToSlash | ( | char * | str | ) |

Converts backslashes to forward slashes in the given string.

Parameters

  str | A pointer to a string that is changed in place.

## ◆ ConvertBackslashToSlash() [2/2]

void ConvertBackslashToSlash | ( | std::string & | str | ) |

Converts backslashes to forward slashes in the given string.

Parameters

  str | Reference to a string that is changed in place.

## ◆ ConvertToIntOrBool() [1/2]

T ConvertToIntOrBool | ( | int | value | ) |

Helper function used to remove converting int to bool performance warning on certain compilers.

Parameters

  value | The value to convert.

Returns
  The implictly converted value.

## ◆ ConvertToIntOrBool() [2/2]

bool ConvertToIntOrBool | ( | int | value | ) |
| inline

Helper function used to remove converting int to bool performance warning on certain compilers.

Parameters

  value | The value to convert.

Returns
  The implictly converted value.

## ◆ ConvertUTF8ToWide()

UTF16String ConvertUTF8ToWide | ( | const std::string & | src | ) |
| inline

Convert the given UTF8 string to UTF16.

Parameters

  src | The string in question.

Returns
  The given string in UTF16.

## ◆ CreateAttributeFnCallback()

AttributeObserver * CreateAttributeFnCallback | ( | WeakReferenceable *const | obj,
|  | const std::function< void()> & | func
| ) |  |
| inline

Helper function to create a new AttributeFnCallback object.

Note
  Should not be called directly, call Connect().

Parameters

  obj | The object associated with this callback.
  func | The callback function pointer to call.

Returns
  A new AttributeFnCallback object.

## ◆ CreateAttributeMethodCallback()

AttributeObserver * CreateAttributeMethodCallback | ( | Class *const | obj,
|  | const typename AttributeMethodCallback< Class >::Callback | method
| ) |  |

Create an AttributeMethodCallback that will call a class method whenever the attribute changes.

Parameters

  obj | The object to call the method on.
  method | A class method pointer.

Returns
  The created AttributeMethodCallback.

## ◆ CreateAttributeResourceCallback()

AttributeObserver * CreateAttributeResourceCallback | ( | Class *const | obj,
|  | const char * | attributeName
| ) |  |

Create an CreateAttributeResourceCallback that will set another object's attribute whenever the attribute changes.

Parameters

  obj | The object to set the resource on.
  attributeName | The name of the property.

Returns
  The created CreateAttributeResourceCallback.

## ◆ CreateDistiAttributeProperty() [1/7]

DistiAttributeProperty< Class, GetReturnT, SetArgT > * CreateDistiAttributeProperty | ( | const AttributeName & | attrName,
|  | Class *const | obj,
|  | const typename DistiAttributeProperty< Class, GetReturnT, SetArgT >::SetMethodType | setMethod,
|  | const typename DistiAttributeProperty< Class, GetReturnT, SetArgT >::GetMethodType | getMethod
| ) |  |

Overloaded helper function to create a DistiAttributeProperty where the getter and setter are different base types (e.g. int vs bool).

Template Parameters

  Type | The type of the property (int, float, GlsColor, etc.)
  Class | The class of the object that owns this parameter (typically a subclass of DisplayObject)

Parameters

  attrName | The attribute name for this property.
  obj | The display object instance associated with this property.
  setMethod | The setter method for the property (can be NULL).
  getMethod | The getter method for the property (can be NULL).

Returns
  The DistiAttributeProperty instance, which is owned by the caller.

## ◆ CreateDistiAttributeProperty() [2/7]

DistiAttributeProperty< Class, Type > * CreateDistiAttributeProperty | ( | const AttributeName & | attrName,
|  | Class *const | obj,
|  | const typename DistiAttributeProperty< Class, Type >::GetMethodConstType | getMethod
| ) |  |

Overloaded helper function to create a DistiAttributeProperty where there is no setter method and the getter is const.

Template Parameters

  Type | The type of the property (int, float, GlsColor, etc.)
  Class | The class of the object that owns this parameter (typically a subclass of DisplayObject)

Parameters

  attrName | The attribute name for this property.
  obj | The display object instance associated with this property.
  getMethod | The getter method for the property (can be NULL).

Returns
  The DistiAttributeProperty instance, which is owned by the caller.

## ◆ CreateDistiAttributeProperty() [3/7]

DistiAttributeProperty< Class, Type > * CreateDistiAttributeProperty | ( | const AttributeName & | attrName,
|  | Class *const | obj,
|  | const typename DistiAttributeProperty< Class, Type >::GetMethodType | getMethod
| ) |  |

Overloaded helper function to create a DistiAttributeProperty where there is no setter method and the getter is non-const.

Template Parameters

  Type | The type of the property (int, float, GlsColor, etc.)
  Class | The class of the object that owns this parameter (typically a subclass of DisplayObject)

Parameters

  attrName | The attribute name for this property.
  obj | The display object instance associated with this property.
  getMethod | The getter method for the property (can be NULL).

Returns
  The DistiAttributeProperty instance, which is owned by the caller.

## ◆ CreateDistiAttributeProperty() [4/7]

DistiAttributeProperty< Class, Type, const Type & > * CreateDistiAttributeProperty | ( | const AttributeName & | attrName,
|  | Class *const | obj,
|  | const typename DistiAttributeProperty< Class, Type, const Type & >::SetMethodType | setMethod,
|  | const typename DistiAttributeProperty< Class, Type, const Type & >::GetMethodConstType | getMethod
| ) |  |

Overloaded helper function to create a DistiAttributeProperty where the setter param is of type const Type& and the getter is const.

Template Parameters

  Type | The type of the property (int, float, GlsColor, etc.)
  Class | The class of the object that owns this parameter (typically a subclass of DisplayObject)

Parameters

  attrName | The attribute name for this property.
  obj | The display object instance associated with this property.
  setMethod | The setter method for the property (can be NULL).
  getMethod | The getter method for the property (can be NULL).

Returns
  The DistiAttributeProperty instance, which is owned by the caller.

## ◆ CreateDistiAttributeProperty() [5/7]

DistiAttributeProperty< Class, Type, const Type & > * CreateDistiAttributeProperty | ( | const AttributeName & | attrName,
|  | Class *const | obj,
|  | const typename DistiAttributeProperty< Class, Type, const Type & >::SetMethodType | setMethod,
|  | const typename DistiAttributeProperty< Class, Type, const Type & >::GetMethodType | getMethod = `NULL`
| ) |  |

Overloaded helper function to create a DistiAttributeProperty where the setter param is of type const Type& and the getter is non-const.

Template Parameters

  Type | The type of the property (int, float, GlsColor, etc.)
  Class | The class of the object that owns this parameter (typically a subclass of DisplayObject)

Parameters

  attrName | The attribute name for this property.
  obj | The display object instance associated with this property.
  setMethod | The setter method for the property (can be NULL).
  getMethod | The getter method for the property (can be NULL).

Returns
  The DistiAttributeProperty instance, which is owned by the caller.

## ◆ CreateDistiAttributeProperty() [6/7]

DistiAttributeProperty< Class, Type, Type > * CreateDistiAttributeProperty | ( | const AttributeName & | attrName,
|  | Class *const | obj,
|  | const typename DistiAttributeProperty< Class, Type, Type >::SetMethodType | setMethod,
|  | const typename DistiAttributeProperty< Class, Type, Type >::GetMethodConstType | getMethod
| ) |  |

Overloaded helper function to create a DistiAttributeProperty where the getter is const.

Template Parameters

  Type | The type of the property (int, float, GlsColor, etc.)
  Class | The class of the object that owns this parameter (typically a subclass of DisplayObject)

Parameters

  attrName | The attribute name for this property.
  obj | The display object instance associated with this property.
  setMethod | The setter method for the property (can be NULL).
  getMethod | The getter method for the property (can be NULL).

Returns
  The DistiAttributeProperty instance, which is owned by the caller.

## ◆ CreateDistiAttributeProperty() [7/7]

DistiAttributeProperty< Class, Type, Type > * CreateDistiAttributeProperty | ( | const AttributeName & | attrName,
|  | Class *const | obj,
|  | const typename DistiAttributeProperty< Class, Type, Type >::SetMethodType | setMethod,
|  | const typename DistiAttributeProperty< Class, Type, Type >::GetMethodType | getMethod = `NULL`
| ) |  |

Overloaded helper function to create a DistiAttributeProperty where the setter param is of type Type and the getter is non-const. (See other variants below.)

Template Parameters

  Type | The type of the property (int, float, GlsColor, etc.)
  Class | The class of the object that owns this parameter (typically a subclass of DisplayObject)

Parameters

  attrName | The attribute name for this property.
  obj | The display object instance associated with this property.
  setMethod | The setter method for the property (can be NULL)
  getMethod | The getter method for the property (can be NULL)

Returns
  The DistiAttributeProperty instance, which is owned by the caller.
  Attributes().Add( CreateDistiAttributeProperty<int>( MetaTextureIndex, this, &DisplayObject::TextureIndex, &DisplayObject::TextureIndex ) );
  disti::DisplayObject::TextureIndex
  virtual int TextureIndex()

## ◆ CreateDistiAttributePropertyVertexToVector()

DistiAttributeProperty< Class, Vector, const Vertex &, const Vertex & > * CreateDistiAttributePropertyVertexToVector | ( | const AttributeName & | attrName,
|  | Class *const | obj,
|  | const typename DistiAttributeProperty< Class, Vector, const Vertex &, const Vertex & >::SetMethodType | setMethod,
|  | const typename DistiAttributeProperty< Class, Vector, const Vertex &, const Vertex & >::GetMethodConstType | getMethod
| ) |  |

Overloaded helper function for properties that formerly used DistiAttributeLocation, which wraps properties that are stored in c++ as a Vertex but used in the Resources as a Vector.

Template Parameters

  Type | The type of the property (int, float, GlsColor, etc.)
  Class | The class of the object that owns this parameter (typically a subclass of DisplayObject)

Parameters

  attrName | The attribute name for this property.
  obj | The display object instance associated with this property.
  setMethod | The setter method for the property (can be NULL).
  getMethod | The getter method for the property (can be NULL).

Returns
  The DistiAttributeProperty instance, which is owned by the caller.

## ◆ CreateInputHandlerCallback() [1/2]

KeyboardCallbackBase * CreateInputHandlerCallback | ( | const typename KeyboardMethodCallback< Class >::Callback | method,
|  | Class *const | obj
| ) |  |

Helper method to create a KeyboardCallbackBase from a class method.

Parameters

  method | A class method pointer.
  obj | The object to call the method on.

Returns
  A pointer to a new KeyboardMethodCallback object.

## ◆ CreateInputHandlerCallback() [2/2]

MouseCallbackBase * CreateInputHandlerCallback | ( | const typename MouseMethodCallback< Class >::Callback | method,
|  | Class *const | obj
| ) |  |

Helper method to create a MouseCallbackBase from a class method.

Parameters

  method | A class method pointer.
  obj | The object to call the method on.

Returns
  A pointer to a new MouseMethodCallback object.

## ◆ DecodeString() [1/2]

int DecodeString | ( | char * | dest,
|  | const char * | src,
|  | const int | dest_str_length
| ) |  |

Decodes a string that was encoded using EncodeString

Parameters

  dest | Destination string
  src | Source string
  dest_str_length | Size of the destination buffer

Returns
  The length of the encoded string

## ◆ DecodeString() [2/2]

std::string DecodeString | ( | const std::string & | src | ) |

Decodes a std::string that was encoded using EncodeString

Parameters

  src | Encoded Source string

Returns
  The decoded string

## ◆ DecomposeMatrix()

void DecomposeMatrix | ( | const GlsMatrix< Type, 4 > & | matrix,
|  | Vector & | scale,
|  | Vector & | location,
|  | GlsQuaternion< Type > & | rotation
| ) |  |

decompose a GlsMatrix into its scaling, translation, and rotation counterparts. If the x,y, or z scale is determined to be zero, the rotation may not be accurate

Parameters

  [in] | matrix | the matrix to decompose
  [out] | scale | a vector that contains the x, y, and z scale factors
  [out] | location | a vector that contains the x, y, and z translation
  [out] | rotation | a quaternion that contains the rotation

## ◆ DecomposeRotationMatrix()

GlsMatrix< Type, 4 > DecomposeRotationMatrix | ( | const GlsMatrix< Type, 4 > & | matrix,
|  | const Vector & | scale
| ) |  |

decompose the rotation matrix from a GlsMatrix by dividing out the scale factor. If the x,y, or z scale is determined to be zero, the scale factors not removed from the matrix.

Parameters

  [in] | matrix | the matrix to decompose
  [in] | scale | a vector that contains the x, y, and z scale factors

Returns
  the rotation matrix with the scale factors removed

## ◆ DecomposeScale()

Vector DecomposeScale | ( | const GlsMatrix< Type, 4 > & | m | ) |

decompose the scale factors from a GlsMatrix

Parameters

  [in] | m | the matrix to decompose

Returns
  scale a vector that contains the x, y, and z scale factors

## ◆ DecompressJPEG()

bool DecompressJPEG | ( | int | width,
|  | int | height,
|  | unsigned char * | uncompressed,
|  | unsigned char * | compressed,
|  | unsigned int | comprLen
| ) |  |

Helper method used to decompress JPEG data into raw pixel data.

Parameters

  width | The width of the image in pixels.
  height | The height of the image in pixels.
  uncompressed | Pointer to a memory region to receive the uncompressed data.
  compressed | Pointer to the memory region containing the JPEG data.
  comprLen | Length of the JPEG data in bytes.

Returns
  Whether or not the decompression succeeded.

## ◆ DeleteArraysAndClear()

void DeleteArraysAndClear | ( | DynamicArray< T, Obsolete > & | array | ) |

Calls delete[] on each element and then clears the list.

Parameters

  array | The list to operate on.

Note
  Works only where T is a pointer to an array.

## ◆ DeleteEachAndClear()

void DeleteEachAndClear | ( | DynamicArray< T, Obsolete > & | array | ) |

Calls delete on each element and then clears the list.

Parameters

  array | The list to operate on.

Note
  Works only where T is a pointer.

## ◆ Demangle()

const char * Demangle | ( |  | ) |

Transforms C++ ABI identifiers into the original C++ source identifiers

Returns
  String containing transformed C++ source identifier.

Precondition
  none

Postcondition
  none

## ◆ Disconnect()

void Disconnect | ( | DisplayObject * | obj,
|  | const std::string & | resource,
|  | DistiAttributeBase::CallbackID | id
| ) |  |
| inline

Unregisters an observer by deleting the underlying callback object.

Note
  Does nothing if a valid observer is not found.

Parameters

  obj | The object containing the resource.
  resource | The name of the resource.
  id | The CallbackID returned from a Connect() function identifying the callback to disconnect.

## ◆ DistiAssertDebug()

void DistiAssertDebug | ( | const char * | expression,
|  | const char * | filename,
|  | unsigned int | lineNumber
| ) |  |

Do not call DistiAssertDebug directly, instead use the DistiAssert macro

Note
  This function is deprecated; Use GlsAssert or GlsVerify instead.

Parameters

  expression | The string representation of the code being asserted.
  filename | The file where the code resides.
  lineNumber | The line number where the code resides.

## ◆ DistiAssertRelease()

void DistiAssertRelease | ( | const char * | expression,
|  | const char * | filename,
|  | unsigned int | lineNumber
| ) |  |

Do not call DistiAssertRelease directly, instead use the DistiAssert macro

Note
  This function is deprecated; Use GlsAssert or GlsVerify instead.

Parameters

  expression | The string representation of the code being asserted.
  filename | The file where the code resides.
  lineNumber | The line number where the code resides.

## ◆ DoesSystemSupportNPOT()

ImageNPOTMode DoesSystemSupportNPOT | ( |  | ) |

Determines if Non Power Of Two textures are supported.

Returns
  GLS_NPOT_ENABLED if NPOT textures are supported, GLS_NPOT_DISABLED otherwise.

## ◆ EmitObjectEvent() [1/2]

void EmitObjectEvent | ( | DisplayObject * | self,
|  | const char * | eventName,
|  | const char * | eventData = `NULL`
| ) |  |
| inline

Creates an ObjectEvent from the given NULL terminated strings and emits it.

Parameters

  self | The object emitting the event.
  eventName | The name of the event e.g. "StateChanged".
  eventData | Optional additional user data.

## ◆ EmitObjectEvent() [2/2]

void EmitObjectEvent | ( | DisplayObject * | self,
|  | ObjectEvent * | event
| ) |  |
| inline

Emits the specfied ObjectEvent.

Parameters

  self | The object emitting the event.
  event | A complete ObjectEvent object to emit.

## ◆ EncodedStringMinLength()

int EncodedStringMinLength | ( |  | ) |

Returns
  A minimum length for a call to EncodeString.

Note
  This is based on the clear text delimeters.

## ◆ EncodeString() [1/2]

int EncodeString | ( | char * | dest,
|  | const char * | src,
|  | const int | dest_str_length
| ) |  |

Encodes a string such that if it contains newlines, it will be wrapped with the "#$STRING_START$#" and "#$STRING_END$#" delimiters.

Parameters

  dest | Destination string
  src | Source string
  dest_str_length | Size of the destination buffer

Returns
  The length of the encoded string.

## ◆ EncodeString() [2/2]

std::string EncodeString | ( | const std::string & | src | ) |

Encodes a std::string such that there are no whitespace characters in the string

Parameters

  src | Source string

Returns
  The encoded string

## ◆ end() [1/6]

DistiAttribDict::const_iterator end | ( | const DistiAttribDict & | dict | ) |
| inline

Iterator interface for use in range-for loops etc.

Parameters

  dict | The DistiAttribDict whose iterator is to be returned.

Returns
  A const iterator to the end of the list.

## ◆ end() [2/6]

const T * end | ( | const DynamicArray< T, Obsolete > & | array | ) |

Overload end() so that range-for loops and other constructs work with DynamicArray.

Parameters

  array | The array whose last element is to be returned.

Returns
  The last element of the array, otherwise NULL.

## ◆ end() [3/6]

const DisplayObjectPtr * end | ( | const Group & | group | ) |
| inline

Overload end() so that range-for loops and other constructs work with Group.

Parameters

  group | The group whose last element is to be returned.

Returns
  A pointer to the last element.

## ◆ end() [4/6]

DistiAttribDict::iterator end | ( | DistiAttribDict & | dict | ) |
| inline

Iterator interface for use in range-for loops etc.

Parameters

  dict | The DistiAttribDict whose iterator is to be returned.

Returns
  An iterator to the end of the list.

## ◆ end() [5/6]

T * end | ( | DynamicArray< T, Obsolete > & | array | ) |

Overload end() so that range-for loops and other constructs work with DynamicArray.

Parameters

  array | The array whose last element is to be returned.

Returns
  The last element of the array, otherwise NULL.

## ◆ end() [6/6]

DisplayObjectPtr * end | ( | Group & | group | ) |
| inline

Overload end() so that range-for loops and other constructs work with Group.

Parameters

  group | The group whose last element is to be returned.

Returns
  A pointer to the last element.

## ◆ Equal()

bool Equal | ( | T1 | x,
|  | T2 | y,
|  | float | precision = `0.001f`
| ) |  |

Return whether two numbers are "equal" to eachother taking into account a certain precision. You can use this method on any numeric types and even mix types as the parameters. Eg. you can compare integers with floating point types or compare floats and doubles without casting.

Parameters

  x | First number to use in the comparison which determines the range
  y | Number to check if within the range determined by x and precision
  precision | Number that is added to and subtracted from x to determine the range to check y against.

Returns
  True if the numbers are close enough to be considered equal.

## ◆ Error()

void Error | ( | const char * | s,
|  |  | ...
| ) |  |

Creates and shows a pop-up dialog box and displays a text string and (1) button labeled 'OK'. An exclamation icon is displayed.

Parameters

  s | The text string to display.

## ◆ Error_NoVarArg()

void Error_NoVarArg | ( | const char * | s | ) |

Creates and shows a pop-up dialog box and displays a text string and (1) button labeled 'OK'. An exclamation icon is displayed. This version does not use varargs for formatting.

Parameters

  s | The text string to display.

## ◆ FileExists() [1/2]

bool FileExists | ( | const char * | filename | ) |

Returns
  True if the file exists, false otherwise.

Parameters

  filename | The filename to check.

## ◆ FileExists() [2/2]

bool FileExists | ( | const std::string & | filename | ) |

Returns
  True if the file exists, false otherwise.

Parameters

  filename | The filename to check.

## ◆ FileExtension()

std::string FileExtension | ( | const std::string & | filepath | ) |

Returns
  The file extension for a filepath

Parameters

  filepath | Filepath to get extension from

## ◆ FileName()

std::string FileName | ( | const std::string & | filepath | ) |

Returns
  The filename from a file path by stripping off anything to the left of a slash

Parameters

  filepath |

## ◆ FilePath()

std::string FilePath | ( | const std::string & | filepath | ) |

Returns
  a string containing the path portion of a filename by stripping off everything to the right of the rightmost slash

Parameters

  filepath | A string containing a file with a path

## ◆ FindCollision()

void FindCollision | ( | const Vector & | origin,
|  | const Vector & | vert1,
|  | const Vector & | vert2,
|  | const Vector & | vert3,
|  | VertexNoColor * | collisionPoint,
|  | const Vector & | directionVector
| ) |  |

Find the point at which a line intersects a plane. Helper/preparer function for IntersectionVectorAndPlane.

Parameters

  origin | Origin of the line.
  vert1 | First point defining the plane.
  vert2 | Second point defining the plane.
  vert3 | Third point defining the plane.
  collisionPoint | This will be set to the intersection point.
  directionVector | Vector to which the line is parallel.

## ◆ FindCoordinateTransformation() [1/2]

GlsMatrixAffine< T > FindCoordinateTransformation | ( | const Vector & | new_origin,
|  | const Vector & | new_i,
|  | const Vector & | new_j,
|  | const Vector & | new_k
| ) |  |

Find a transformation that will convert to a new coordinate system defined by the given origin and basis vectors (i,j,k).

Note
  The new i,j,k vectors are in respect to the current origin. (i.e. for transformation that moves the origin along the x axis by 5 units you should pass in (Vector(5,0,0), Vector(1,0,0), Vector(0,1,0) , Vector(0,0,1)) NOT (Vector(5,0,0), Vector(6,0,0), Vector(5,1,0) , Vector(5,0,1)) Template argument is either double or float.

Parameters

  new_origin | Vector to the new coordinate system origin.
  new_i | Vector parallel to the new x-axis with magnitude equal to one unit in the new coordinate system.
  new_j | Vector parallel to the new y-axis with magnitude equal to one unit in the new coordinate system.
  new_k | Vector parallel to the new z-axis with magnitude equal to one unit in the new coordinate system.

Returns
  transformation matrix to the new coordinate system

## ◆ FindCoordinateTransformation() [2/2]

void FindCoordinateTransformation | ( | const Vector & | new_origin,
|  | const Vector & | new_i,
|  | const Vector & | new_j,
|  | const Vector & | new_k,
|  | GlsMatrixAffine< T > & | result
| ) |  |

Find a transformation that will convert to a new coordinate system defined by the given origin and basis vectors (i,j,k).

Note
  The new i,j,k vectors are in respect to the current origin. (i.e. for transformation that moves the origin along the x axis by 5 units you should pass in (Vector(5,0,0), Vector(1,0,0), Vector(0,1,0) , Vector(0,0,1)) NOT (Vector(5,0,0), Vector(6,0,0), Vector(5,1,0) , Vector(5,0,1)) Template argument is either double or float.

Parameters

  new_origin | Vector to the new coordinate system origin.
  new_i | Vector parallel to the new x-axis with magnitude equal to one unit in the new coordinate system.
  new_j | Vector parallel to the new y-axis with magnitude equal to one unit in the new coordinate system.
  new_k | Vector parallel to the new z-axis with magnitude equal to one unit in the new coordinate system.
  result | The returned transformation matrix to the new coordinate system.

## ◆ FindIndexOf()

unsigned FindIndexOf | ( | const DynamicArray< T, Obsolete > & | array,
|  | const U & | object
| ) |  |

Get the index position of the specified object in the given array

Parameters

  array | The list to search.
  object | The object to search for.

Returns
  The index of the object in the list, or g_itemNotFound if it isn't in the list

## ◆ FindNonColinearVertices() [1/2]

bool FindNonColinearVertices | ( | int | arraySize,
|  | Vector | array[],
|  | int & | index1,
|  | int & | index2,
|  | int & | index3,
|  | bool | isVectorArray = `true`
| ) |  |

Search the given Vertex array for the first three non-colinear vertices.

Parameters

  arraySize | The size of vertex_array.
  array | The Vertex array.
  index1 | variable to receive 1st array index.
  index2 | variable to receive 2nd array index.
  index3 | variable to receive 3rd array index.
  isVectorArray | true if array points to a Vector array, false if it points to a Vertex array.

Returns
  true If the vertices were found.
  false If there are not three non-colinear vertices in the array if this occurs, the index values are undefined.

## ◆ FindNonColinearVertices() [2/2]

bool FindNonColinearVertices | ( | int | arraySize,
|  | Vertex | array[],
|  | int & | index1,
|  | int & | index2,
|  | int & | index3
| ) |  |
| inline

Vertex version of FindNonColinearVertices.

Parameters

  arraySize | The size of vertex_array.
  array | The Vertex array.
  index1 | variable to receive 1st array index.
  index2 | variable to receive 2nd array index.
  index3 | variable to receive 3rd array index.

Returns
  true If the vertices were found.
  false If there are not three non-colinear vertices in the array if this occurs, the index values are undefined.

## ◆ GetAbsolutePlacementDefault()

bool GetAbsolutePlacementDefault | ( |  | ) |

Returns
  The default value for absolute placement.

## ◆ GetBaseName() [1/2]

char * GetBaseName | ( | char * | path | ) |

Returns
  Pointer to a position within the given path where the filename starts.

Deprecated:
  This function is not const-correct. Prefer the const-correct version.

Parameters

  path | The path to return the file (base) name from.

See also
  GetBaseName( const char* )

## ◆ GetBaseName() [2/2]

const char * GetBaseName | ( | const char * | path | ) |

Returns
  The file name from a filename with path.

Note
  This does not allocate new memory, but rather just returns a pointer inside the original string.

Parameters

  path | The path to return the file (base) name from.

## ◆ GetComponentClassNames()

bool GetComponentClassNames | ( | const char * | dllFileName,
|  | DynamicArray< std::string > & | nameList,
|  | const char * | createClassTag = `"CreateComponent_"`
| ) |  |

Searches the specified binary file for the specified tag, and adds what immediatly follows the tag to the nameList.

Parameters

  dllFileName | The path of the binary to search.
  nameList | The returned list of relevant symbol names.
  createClassTag | The symbol prefix to search for.

Returns
  True if at least one is found, false otherwise.

## ◆ GetComponentDirectory()

std::string GetComponentDirectory | ( | void * | module | ) |

Returns
  The directory of the shared library that calls this function.

Parameters

  module | The pointer to the shared library in question.

## ◆ GetD3D9Format()

D3DFORMAT GetD3D9Format | ( | const DDS_PIXELFORMAT & | ddpf | ) |

Parameters

  ddpf | The pixel format in question.

Returns
  The D3DFORMAT that corresponds with the given DDS_PIXELFORMAT.

## ◆ GetDefaultComponentClassName()

std::string GetDefaultComponentClassName | ( | const char * | dllFileName | ) |

Opens the shared library and attempts to run GlsDefaultClassName(), if found.

Parameters

  dllFileName | The file name of the shared library to search in.

Returns
  The located class name, or an empty string if not found.

## ◆ GetDigits()

void GetDigits | ( | int | source,
|  | int * | _1,
|  | int * | _2 = `NULL`,
|  | int * | _3 = `NULL`,
|  | int * | _4 = `NULL`,
|  | int * | _5 = `NULL`,
|  | int * | _6 = `NULL`,
|  | int * | _7 = `NULL`,
|  | int * | _8 = `NULL`
| ) |  |

Decomposes an integer into individual digits. Returns the individual digits making up the supplied integer

Parameters

  source | The number to break up
  _1 | The pointer to the integer to contain the Least Significant Digit (rightmost digit).
  _2 | (optional) The pointer to the integer to containing the second digit from the right.
  _3 | (optional) The pointer to the integer to containing the third digit from the right.
  _4 | (optional) The pointer to the integer to containing the fourth digit from the right.
  _5 | (optional) The pointer to the integer to containing the fifth digit from the right.
  _6 | (optional) The pointer to the integer to containing the sixth digit from the right.
  _7 | (optional) The pointer to the integer to containing the seventh digit from the right.
  _8 | (optional) The pointer to the integer to containing the eigth digit from the right.

## ◆ GetDXGIFormat()

DXGI_FORMAT GetDXGIFormat | ( | const DDS_PIXELFORMAT & | ddpf | ) |

Parameters

  ddpf | The pixel format in question.

Returns
  The DXGI_FORMAT that corresponds with the given DDS_PIXELFORMAT.

## ◆ GetExtension()

std::string GetExtension | ( | const std::string & | filename | ) |

Returns
  The file extension for a filename

Parameters

  filename | Filename to get extension from No longer allocates memory, you can let the returned string be colected as it falls out of scope

## ◆ GetFileName()

char * GetFileName | ( | const char * | name | ) |

Returns
  The filename from a file path by stripping off anything to the left of a slash

Parameters

  name | A string containing just the file name without a path

Warning
  If this function is called more than once all previous values WILL CHANGE to contain the newest value

Deprecated:
  Use FileName instead

## ◆ GetFilePath()

const char * GetFilePath | ( | const char * | name | ) |

Returns
  a pointer to the string containing the path portion of a filename by stripping off everything to the right of the rightmost slash

Parameters

  name | A string containing a file with a path

Warning
  If this function is called more than once all previous values WILL CHANGE to contain the newest value

Deprecated:
  Use FilePath instead

## ◆ GetGlsRuntimeFontBase()

GlsRuntimeFontBase * GetGlsRuntimeFontBase | ( | const GlsFontBase * | font | ) |
| inline

helper method for safely getting a runtime font base from a font base (if possible)

Parameters

  font | font in question

Returns
  runtime font else NULL

## ◆ GetGlsUnicodeFontBase()

const GlsUnicodeFontBase * GetGlsUnicodeFontBase | ( | const GlsFontBase * | font | ) |
| inline

helper method for safely getting a unicode font base from a font base (if possible)

Parameters

  font | font in question

Returns
  unicode font else NULL

## ◆ GetNoSpaces()

bool GetNoSpaces | ( | FILE * | f,
|  | char * | result,
|  | int | maxLen
| ) |  |

Read bytes from the incoming file, excluding spaces.

Parameters

  f | The file to read from.
  result | A pointer to storage to contain the result modified in place.
  maxLen | The length of the memory allocated to result in bytes.

Returns
  True if operation was successful.

## ◆ GetObjectCoordinatesTransform()

bool GetObjectCoordinatesTransform | ( | DisplayObject * | from,
|  | DisplayObject * | to,
|  | GlsMatrixType * | outTransform
| ) |  |

Gets the transformation from one DisplayObject's object coordinates to another's (if possible) This is the preferred method for determining the coordinate space relationship between two objects that have DynamicTransforms applied. Note: This method requires that the two objects are part of the same object heirarchy. Consider using GetObjectCoordinatesTransformSameView if your situation does not meet this requirement.

// Example: Move objB to be in the same location as objA (including all DynamicTransforms)
// Change Location of objB so that it's RotationPoint aligns with the RotationPoint of objA
GlsMatrixType transform;
if( GetObjectCoordinatesTransform( objA, objB, &transform ) )
{
Vector objA_rotationPoint_transformed = transform * (objA->Location() + objA->RotationPoint());
objB->Location( objA_rotationPoint_transformed - objB->RotationPoint() );
}
else
{
// Error: objects are not in the same heirarchy
}
disti::GlsMatrixAffine< double >
disti::VertexNoColor
Definition: vertex.h:85
disti::GetObjectCoordinatesTransform
bool GetObjectCoordinatesTransform(DisplayObject *from, DisplayObject *to, GlsMatrixType *outTransform)

See also
  GetObjectCoordinatesTransform

Parameters

  from | The DisplayObject to start at
  to | The DisplayObject to end at
  outTransform | Out parameter - If the function returns true, this will contain the resulting transformation.

Returns
  true on success, false if the objects are not in the same heirarchy.

## ◆ GetObjectCoordinatesTransformSameView()

bool GetObjectCoordinatesTransformSameView | ( | DisplayObject * | from,
|  | DisplayObject * | to,
|  | GlsMatrixType * | outTransform
| ) |  |

Gets the transformation from one DisplayObject's object coordinates to another's Note: This method uses a screen-space transformation (DisplayObject::ModelMatrix). This requires that the two objects have been PreDrawn with the same view, but they do not need to be part of the same object heirarchy. Use GetObjectCoordinatesTransform unless GetObjectCoordinatesTransformSameView is required.

See also
  GetObjectCoordinatesTransform

Parameters

  from | The DisplayObject to start at
  to | The DisplayObject to end at
  outTransform | Out parameter - If the function returns true, this will contain the resulting transformation.

Returns
  true on success, false if there was an error

## ◆ GetQualifiedInstanceName()

std::string GetQualifiedInstanceName | ( | const DisplayFrame * | topFrame,
|  | const DisplayObject * | obj
| ) |  |

Returns the qualified instance name of an object that is contained within given DisplayFrame. (e.g "cockpit.altimeter.needle") Note that names are only added for each DisplayFrame (not every Group) and the name of the topFrame is not included in the qualified name.

Parameters

  topFrame | The frame in which the qualification will make sense.
  obj | The object which is a direct child or located somewhere below topFrame.

Returns
  The qualified instance name or an empty string if the qualified instance name could not be determined.

## ◆ GetReleaseImageDataDefault()

bool GetReleaseImageDataDefault | ( |  | ) |

See SetReleaseImageDataDefault() for more details.

See also
  disti::SetReleaseImageDataDefault( bool )

Returns
  The current value for the flag controlling the default behavior for new Image instances.

## ◆ GetToEnd()

bool GetToEnd | ( | std::istream & | instr,
|  | std::string & | result,
|  | bool | decode
| ) |  |

Reads to the next end of line and stores the result.

Parameters

  instr | The stream to read from.
  result | The string reference to write the result to.
  decode | Whether or not to decode the string.

Returns
  True if successful.

## ◆ GetTopLevelDisplayFrame()

DisplayFrame * GetTopLevelDisplayFrame | ( | DisplayFrame * | frame | ) |

Parameters

  frame | The DisplayFrame to start at.

Returns
  the Topmost Display Frame.

## ◆ GetVertex()

bool GetVertex | ( | std::istream & | instr,
|  | Vertex * | vert,
|  | bool | getColor
| ) |  |

Reads a Vertex from the stream.

Parameters

  instr | The stream to read from.
  vert | The Vertex pointer to write the result to.
  getColor | Whether or not to parse the color also.

Returns
  True if successful.

## ◆ gls_fopen()

FILE * gls_fopen | ( | const char * | filename,
|  | const char * | flags
| ) |  |

Attempts to open the given file. Relative file paths are resolved using ResolvePath.

Parameters

  filename | The name of the file to open
  flags | fopen style file arguments (e.g. "r")

Returns
  FILE pointer or NULL otherwise

## ◆ gls_unlink()

int gls_unlink | ( | const char * | filename | ) |

Attempts to unlink (delete) a file given a UTF-8 encoded filename. This function is especially useful on Windows platforms where the standard function expects UTF-16 encoded wide character filenames.

Parameters

  filename | The filename to unlink

Returns
  Returns 0 is successful, otherwise returns -1 and sets errno.

## ◆ GLS_VERSION_8_3_0000_LIBRARY()

void GLS_VERSION_8_3_0000_LIBRARY | ( |  | ) |

The version symbol string as instantated in this runtime library build. Used to ensure a linker error if the runtime library being linked doesn't match the runtime headers being built against. If a linker error occurs related to this identifier, double check to make sure the correct runtime library is being linked.

## ◆ GlsAssert()

void GlsAssert | ( | const char * | expression,
|  | const char * | filename,
|  | unsigned int | lineNumber
| ) |  |

Do not call GlsAssert directly, instead use the GLS_ASSERT macro.

Parameters

  expression | The string representation of the code being asserted.
  filename | The file where the code resides.
  lineNumber | The line number where the code resides.

## ◆ GlsBuiltVersionsAreBinaryCompatible()

bool GlsBuiltVersionsAreBinaryCompatible | ( | const GlsBuiltVersionInfo & | a,
|  | const GlsBuiltVersionInfo & | b
| ) |  |
| inline

Returns
  True if the versions are binary compatible (may be different shared library, but they are link compatible).

Parameters

  a | One set of version info to compare.
  b | The other set of version info to compare.

## ◆ GlsBuiltVersionsMatchExactly()

bool GlsBuiltVersionsMatchExactly | ( | const GlsBuiltVersionInfo & | a,
|  | const GlsBuiltVersionInfo & | b
| ) |  |
| inline

Returns
  True if the version info matches exactly (they reference the same shared library).

Parameters

  a | One set of version info to compare.
  b | The other set of version info to compare.

## ◆ GlsDefinedColor()

unsigned char * GlsDefinedColor | ( | GlsDefinedColorEnum | index | ) |
| inline

Gets a predefined color in

See also
  GlsDefinedColorEnum.

Parameters

  index | of defined color

Returns
  an unsigned char array of the specified index

## ◆ GlsGetOrtho()

void GlsGetOrtho | ( | GlsMatrixType & | m,
|  | double | left,
|  | double | right,
|  | double | bottom,
|  | double | top,
|  | double | zNear,
|  | double | zFar
| ) |  |

This will set the m parameter to an orthographic projection. The current value of m is ignored. This does NOT make any OpenGL calls.

Parameters

  m | The matrix to hold the resulting orthographic projection.
  left | The left side coordinate.
  right | The right side coordinate.
  bottom | The bottom side coordinate.
  top | The top side coordinate.
  zNear | The near clipping coordinate.
  zFar | The far clipping coordinate.

## ◆ GlsGetPerspective()

void GlsGetPerspective | ( | GlsMatrixType & | m,
|  | double | fovy,
|  | double | aspect,
|  | double | zNear,
|  | double | zFar
| ) |  |

This will set the m parameter to a perspective projection. The current value of m is ignored. This does NOT make any OpenGL calls.

Parameters

  m | The matrix to hold the resulting perspective projection.
  fovy | The vertical FOV in degrees.
  aspect | The aspect ratio.
  zNear | The near clipping distance.
  zFar | The far clipping distance.

## ◆ GlsVerify()

void GlsVerify | ( | const char * | expression,
|  | const char * | filename,
|  | unsigned int | lineNumber
| ) |  |

Do not call GlsVerify directly, instead use the GLS_VERIFY macro.

Parameters

  expression | The string representation of the code being asserted.
  filename | The file where the code resides.
  lineNumber | The line number where the code resides.

## ◆ gltIsExtSupported()

bool gltIsExtSupported | ( | const char * | extension | ) |

Returns
  Whether or not the requested OpenGL extension is supported.

Parameters

  extension | The string name of the extension to check.

## ◆ Interpolate()

float Interpolate | ( | const float | value,
|  | float | gauge_values[][2],
|  | const int | segments
| ) |  |

Interpolates based on the specified array.

Returns an iterpolated value determined by the given value relative to the set of specified values. Use multiple segments to map a gauge with a non-linear readout.

Parameters

  value | The value to be converted.
  gauge_values | A 2 dimensional array that contains the values and the angles that correspond to the gauge. The first of the pair is the gauge value. The second of the pair is the angle the needle should be rotated in order to point to it. The first pair should be the minimal value while the last pair should be the maximum value.
  segments | The number of pairs in the gauge_values array.

Returns
  the interpolated value.

See also
  Used by ChangeNeedle()

## ◆ IntersectionVectorAndPlane()

int IntersectionVectorAndPlane | ( | VertexNoColor & | point,
|  | const Vector & | lineVector,
|  | const VertexNoColor & | linePoint,
|  | const Vector & | planeNormal,
|  | const Vector & | planePoint
| ) |  |

Computes whether or not a vector intersects a plane.

Parameters

  point | Returned parameter, contains intersection point on success
  lineVector | Direction of the vector
  linePoint | Origin point of the vector
  planeNormal | Surface normal of the plane
  planePoint | A point on the plane

Returns
  Non-zero if the vector intersects the plane

## ◆ IS_NEGATIVE()

bool IS_NEGATIVE | ( | const X & | x | ) |

Determines if the argument is negative.

Parameters

  x | The value to check.

Returns
  True if x is negative.

## ◆ IS_POSITIVE()

bool IS_POSITIVE | ( | const X & | x | ) |

Determines if the argument is positive.

Parameters

  x | The value to check.

Returns
  True if x is positive.

## ◆ IS_ZERO()

bool IS_ZERO | ( | X | x | ) |

Deprecated:
  Renamed to IsNearZero().

Parameters

  x | The value to check.

Returns
  True if x is close to zero.

## ◆ IsDirectory() [1/2]

bool IsDirectory | ( | const char * | filename | ) |

Returns
  True if the file exists and is a directory, false otherwise.

Parameters

  filename | The filename to check.

## ◆ IsDirectory() [2/2]

bool IsDirectory | ( | const std::string & | filename | ) |

Returns
  True if the file exists and is a directory, false otherwise.

Parameters

  filename | The filename to check.

## ◆ IsNearZero()

bool IsNearZero | ( | X | x | ) |

Determines if the argument is very small (< 10E-3).

Parameters

  x | The value to check.

Returns
  True if x is close to zero.

## ◆ LineHitsTriangle()

bool LineHitsTriangle | ( | const Vector & | origin,
|  | const Vector & | direction,
|  | const Vector & | v0,
|  | const Vector & | v1,
|  | const Vector & | v2,
|  | Vector * | collisionPoint = `0`
| ) |  |

Determines if a line intersects a triangle, and optionally where.

Parameters

  origin | The origin of the line to test
  direction | The direction vector of the line
  v0 | The first triangle point
  v1 | The second triangle point
  v2 | The third triangle point
  collisionPoint | Returns where the triangle was hit (only set if the triangle was actually hit)

Returns
  True if the triangle is hit

Note
  This function does what TriangleHit() and DoesLineIntersectTriangle() used to do, namely checking the intersection of a line with a triangle. Most users should use RayHitsTriangle() instead because using a line may return a collision in the opposite direction to the direction vector, which could result in a pick behind the viewer, for instance.

## ◆ loadImageLoaders()

void loadImageLoaders | ( |  | ) |

Instantiates all image loader singletons. Called prior to loading textures from images.

## ◆ MakeRelativePath()

char * MakeRelativePath | ( | const char * | originalPath,
|  | const char * | relativePath
| ) |  |

Make the incoming path relative to another path.

Parameters

  originalPath | The path to make relative.
  relativePath | The path to make the path relative from.

Returns
  The resulting relative path, or empty string if not possible.

## ◆ Max() [1/2]

const T & Max | ( | const T & | x,
|  | const T & | y
| ) |  |

Returns
  The maximum of two objects.

Parameters

  x | The first object to compare.
  y | The second object to compare.

Note
  The class T must have the < operator defined.

## ◆ Max() [2/2]

const T & Max | ( | const T & | x,
|  | const T & | y,
|  | Pred | pr
| ) |  |

Returns
  The maximum of two objects determined by a predicate. If pr(x, y) is true, y is returned else x.

Parameters

  x | The first object to compare.
  y | The second object to compare.
  pr | The function to serve as the predicate.

## ◆ Min() [1/2]

const T & Min | ( | const T & | x,
|  | const T & | y
| ) |  |

Returns
  The minimum of two objects.

Parameters

  x | The first object to compare.
  y | The second object to compare.

Note
  The class T must have the < operator defined.

## ◆ Min() [2/2]

const T & Min | ( | const T & | x,
|  | const T & | y,
|  | Pred | pr
| ) |  |

Returns
  The minimum of two objects determined by a predicate. If pr(x, y) is true, x is returned else y.

Parameters

  x | The first object to compare.
  y | The second object to compare.
  pr | The function to serve as the predicate.

## ◆ MsgBox()

void MsgBox | ( | const char * | s,
|  |  | ...
| ) |  |

Creates and shows a pop-up dialog box and displays a text string and (1) button labeled 'OK'. An 'i' (information) icon is displayed.

Parameters

  s | The text string to display.

## ◆ Normal()

VertexNoColor Normal | ( | const VertexNoColor & | p1,
|  | const VertexNoColor & | p2,
|  | const VertexNoColor & | p3
| ) |  |

Computes the Normal vector for the plane formed from the three given points.

Parameters

  p1 | First point
  p2 | Second point
  p3 | Third point

Returns
  The "normal" vector to the plane formed by p2,p2,p3

## ◆ NotColinear()

bool NotColinear | ( | const Vector & | a,
|  | const Vector & | b,
|  | const Vector & | c
| ) |  |

Test if the given points are not colinear (they are not in a line).

Parameters

  a | The first point to check.
  b | The second point to check.
  c | The third point to check.

Returns
  True if the points are not colinear.
  False if the points are colinear.

## ◆ ObjectEventIs()

bool ObjectEventIs | ( | DisplayEvent * | event,
|  | const char * | eventName,
|  | const char * | eventData = `NULL`
| ) |  |
| inline

Returns
  true if the given DisplayEvent is an ObjectEvent and it's event name matches the given string.

Parameters

  event | The event to check
  eventName | The eventName to compare
  eventData | optional eventData to compare, if NULL, it will not be checked, otherwise, it will.

## ◆ OnKeyEvent()

bool OnKeyEvent | ( | KeyboardEvent * | kev,
|  | bool | alphaNumeric,
|  | int | key,
|  | int | modifierMask = `0`
| ) |  |
| inline

Examples: ON( EVENT_MOUSE, MOUSE_DOWN ) { } ON_MOUSE_DOWN( MOUSE_LBUTTON ) { } ON_KEY_DOWN( 'a' ) { } ON_KEY_DOWN_WITH_MODIFIER( 'B', FL_SHIFT ) { } ON_KEY_DOWN_WITH_MODIFIER( 'c', FL_SHIFT | FL_CTRL ) { } ON_SPECIAL_KEY_DOWN( FL_KP+'1' ) { } ON_SPECIAL_KEY_DOWN_WITH_MODIFIER( FL_F+1, FL_CTRL ) { } For a comprehensive list of keys and modifiers refer to Enumerations.H. A convenience function to compare a KeyboardEvent against a particular keyboard key / modifier combo.

Parameters

  kev | The KeyboardEvent to check.
  alphaNumeric | Whether or not to try to compare to kev->event_text versus kev->keysym.
  key | The key to look for in the event.
  modifierMask | Any modifiers to look for in the event.

Returns
  True if the incoming key event matches the other incoming parameters.

If CTRL is expected we need to look at keysym instead. Because CTRL changes the output of the key press to something unexpected we need to check against the key press action instead.

keysym is always lowercase

Compare to zero to avoid performance warnings. Did we find the modifiers we're looking for (modifierMask) in the modifiers currently pressed (kev->modifiers)? OR Are we not looking for any modifiers AND none of the modifiers are currently pressed? (ignoring the lock state and mouse button modifiers)

## ◆ OpenGLVersion()

float OpenGLVersion | ( |  | ) |

Use for determining the current OpenGL version available in the current runtime environment. It may not be valid until called after a valid rendering context has been assigned.

Returns
  The X.Y OpenGL version.

## ◆ operator!=() [1/2]

bool operator!= | ( | const AttributeName & | attr1,
|  | const AttributeName & | attr2
| ) |  |
| inline

Compares this string for inequality to the specified AttributeName. This compare is very fast compared to doing string compares, and is one of the primary reasons for creating this class

Parameters

  attr1 | A name to compare.
  attr2 | The other name to compare.

Returns
  Whether or not the names are not the same.

## ◆ operator!=() [2/2]

bool operator!= | ( | const Material & | rhs,
|  | const Material & | lhs
| ) |  |

Inequality operator

Parameters

  rhs | An object to compare.
  lhs | Another object to compare.

Returns
  Whether or not the objects are not equal.

## ◆ operator+() [1/6]

GlsPropString operator+ | ( | const GlsPropString & | a,
|  | const GlsPropStringQuoted & | b
| ) |  |
| inline

String concatenation operator

Parameters

  a | First string in concatenation.
  b | Second string in concatenation.

Returns
  Value of `a` concatenated with `b`.

## ◆ operator+() [2/6]

GlsPropString operator+ | ( | const GlsPropString & | a,
|  | GlsPropString & | b
| ) |  |
| inline

String concatenation operator

Parameters

  a | First string in concatenation.
  b | Second string in concatenation.

Returns
  Value of `a` concatenated with `b`.

## ◆ operator+() [3/6]

GlsPropStringQuoted operator+ | ( | const GlsPropStringQuoted & | a,
|  | const GlsPropString & | b
| ) |  |
| inline

String concatenation operator

Parameters

  a | First string in concatenation.
  b | Second string in concatenation.

Returns
  Value of `a` concatenated with `b`.

## ◆ operator+() [4/6]

GlsPropStringQuoted operator+ | ( | const GlsPropStringQuoted & | a,
|  | GlsPropStringQuoted & | b
| ) |  |
| inline

String concatenation operator

Parameters

  a | First string in concatenation.
  b | Second string in concatenation.

Returns
  Value of `a` concatenated with `b`.

## ◆ operator+() [5/6]

std::string operator+ | ( | const std::string & | a,
|  | const GlsPropString & | b
| ) |  |
| inline

String concatenation operator

Parameters

  a | First string in concatenation.
  b | Second string in concatenation.

Returns
  Value of `a` concatenated with `b`.

## ◆ operator+() [6/6]

std::string operator+ | ( | const std::string & | a,
|  | const GlsPropStringQuoted & | b
| ) |  |
| inline

String concatenation operator

Parameters

  a | First string in concatenation.
  b | Second string in concatenation.

Returns
  Value of `a` concatenated with `b`.

## ◆ operator+=() [1/10]

GlsPropString & operator+= | ( | GlsPropString & | a,
|  | const char * | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [2/10]

GlsPropString & operator+= | ( | GlsPropString & | a,
|  | const GlsPropString & | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [3/10]

GlsPropString & operator+= | ( | GlsPropString & | a,
|  | const GlsPropStringQuoted & | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [4/10]

GlsPropString & operator+= | ( | GlsPropString & | a,
|  | const std::string & | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [5/10]

GlsPropStringQuoted & operator+= | ( | GlsPropStringQuoted & | a,
|  | const char * | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [6/10]

GlsPropStringQuoted & operator+= | ( | GlsPropStringQuoted & | a,
|  | const GlsPropString & | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [7/10]

GlsPropStringQuoted & operator+= | ( | GlsPropStringQuoted & | a,
|  | const GlsPropStringQuoted & | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [8/10]

GlsPropStringQuoted & operator+= | ( | GlsPropStringQuoted & | a,
|  | const std::string & | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [9/10]

std::string & operator+= | ( | std::string & | a,
|  | const GlsPropString & | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator+=() [10/10]

std::string & operator+= | ( | std::string & | a,
|  | const GlsPropStringQuoted & | b
| ) |  |
| inline

String append operator

Parameters

  a | String that will be appended.
  b | String that will be appended to `a`.

Returns
  Reference to `a` after value of `b` has been appended to `a`.

## ◆ operator<<() [1/20]

std::ostream & operator<< | ( | std::ostream & | ostrm,
|  | const GlsMatrix< Type, DIM > & | m
| ) |  |
| inline

Stream out operator

Parameters

  ostrm | The stream to write to.
  m | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [2/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const AttributeName & | name
| ) |  |

Stream out operator.

Parameters

  outstr | The stream to write to.
  name | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [3/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const GlsColor & | color
| ) |  |

Stream out operator

Parameters

  outstr | The stream to write to.
  color | The color to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [4/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const GlsLinearFloatController::KeyData & | key
| ) |  |

Stream out operator

Parameters

  outstr | The stream to write to.
  key | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [5/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const GlsMultiValBase & | multiVal
| ) |  |

Stream out operator

Parameters

  outstr | The stream to write to.
  multiVal | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [6/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const GlsPropString & | str
| ) |  |
| inline

Stream out operator

Parameters

  outstr | The stream to write to.
  str | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [7/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const GlsPropStringQuoted & | str
| ) |  |
| inline

Stream out operator

Parameters

  outstr | The stream to write to.
  str | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [8/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const GlsQuaternion< Type > & | quat
| ) |  |
| inline

Stream out operator

Parameters

  outstr | The stream to write to.
  quat | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [9/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const Material & | mat
| ) |  |

Stream out operator

Parameters

  outstr | The stream to write to.
  mat | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [10/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const Vector & | vert
| ) |  |

Stream out operator.

Parameters

  outstr | The stream to write to.
  vert | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [11/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | const Vertex & | vert
| ) |  |

Stream out operator.

Parameters

  outstr | The stream to write to.
  vert | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [12/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | disti::GlsCTLTextBox::EllipsizeMode_t | ellipsizeMode
| ) |  |
| inline

Out stream operator for EllipsizeMode_t enumeration.

Parameters

  outstr | The stream to write to.
  ellipsizeMode | The mode to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [13/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | disti::GlsCTLTextBox::ResizeMode_t | resizeMode
| ) |  |
| inline

Out stream operator for ResizeMode_t enumeration.

Parameters

  outstr | The stream to write to.
  resizeMode | The mode to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [14/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | disti::GlsCTLTextBox::TextDirection_t | direction
| ) |  |
| inline

Out stream operator for TextDirection_t enumeration.

Parameters

  outstr | The stream to write to.
  direction | The direction to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [15/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | disti::GlsCTLTextBox::VerticalAlignment_t | verticalAlignment
| ) |  |
| inline

Out stream operator for VerticalAlignment_t enumeration.

Parameters

  outstr | The stream to write to.
  verticalAlignment | The alignment to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [16/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | disti::GlsText::Justify_t | j
| ) |  |
| inline

Stream out operator

Parameters

  outstr | The stream to write to.
  j | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [17/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | disti::GlsTextBox::Align_t | j
| ) |  |
| inline

Stream out operator

Parameters

  outstr | The stream to write to.
  j | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [18/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | disti::GlsTextBox::ResizeMode_t | direction
| ) |  |
| inline

Stream out operator

Parameters

  outstr | The stream to write to.
  direction | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [19/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | GlsMovingEye::Movement_t | m
| ) |  |
| inline

Stream out operator

Parameters

  outstr | The stream to write to.
  m | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator<<() [20/20]

std::ostream & operator<< | ( | std::ostream & | outstr,
|  | GlsMovingEye::Route_t | r
| ) |  |
| inline

Stream out operator

Parameters

  outstr | The stream to write to.
  r | The value to write to the stream.

Returns
  The stream in its current state.

## ◆ operator==() [1/6]

bool operator== | ( | const AttributeName & | attr1,
|  | const AttributeName & | attr2
| ) |  |
| inline

Compares this string to the specified AttributeName. This compare is very fast compared to doing string compares, and is one of the primary reasons for creating this class

Parameters

  attr1 | A name to compare.
  attr2 | The other name to compare.

Returns
  Whether or not the names are the same.

## ◆ operator==() [2/6]

bool operator== | ( | const AttributeName & | lName,
|  | const char * | rName
| ) |  |

Compare two attribute names in various formats.

Parameters

  lName | A name to compare.
  rName | The other name to compare.

Returns
  Whether or not the names are the same.

## ◆ operator==() [3/6]

bool operator== | ( | const AttributeName & | lName,
|  | const std::string & | rName
| ) |  |

Compare two attribute names in various formats.

Parameters

  lName | A name to compare.
  rName | The other name to compare.

Returns
  Whether or not the names are the same.

## ◆ operator==() [4/6]

bool operator== | ( | const char * | lName,
|  | const AttributeName & | rName
| ) |  |

Compare two attribute names in various formats.

Parameters

  lName | A name to compare.
  rName | The other name to compare.

Returns
  Whether or not the names are the same.

## ◆ operator==() [5/6]

bool operator== | ( | const Material & | rhs,
|  | const Material & | lhs
| ) |  |

Equality operator

Parameters

  rhs | An object to compare.
  lhs | Another object to compare.

Returns
  Whether or not the objects are equal.

## ◆ operator==() [6/6]

bool operator== | ( | const std::string & | lName,
|  | const AttributeName & | rName
| ) |  |

Compare two attribute names in various formats.

Parameters

  lName | A name to compare.
  rName | The other name to compare.

Returns
  Whether or not the names are the same.

## ◆ operator>>() [1/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | disti::GlsCTLTextBox::EllipsizeMode_t & | ellipsizeMode
| ) |  |
| inline

In stream operator for EllipsizeMode_t enumeration.

Parameters

  instr | The stream to read from.
  ellipsizeMode | The returned mode to be read from stream.

Returns
  The stream in its current state.

## ◆ operator>>() [2/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | disti::GlsCTLTextBox::ResizeMode_t & | resizeMode
| ) |  |
| inline

In stream operator for ResizeMode_t enumeration.

Parameters

  instr | The stream to read from.
  resizeMode | The returned mode to be read from stream.

Returns
  The stream in its current state.

## ◆ operator>>() [3/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | disti::GlsCTLTextBox::TextDirection_t & | direction
| ) |  |
| inline

In stream operator for TextDirection_t enumeration.

Parameters

  instr | The stream to read from.
  direction | The returned direction to be read from stream.

Returns
  The stream in its current state.

## ◆ operator>>() [4/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | disti::GlsCTLTextBox::VerticalAlignment_t & | verticalAlignment
| ) |  |
| inline

In stream operator for VerticalAlignment_t enumeration.

Parameters

  instr | The stream to read from.
  verticalAlignment | The returned alignment to be read from stream.

Returns
  The stream in its current state.

## ◆ operator>>() [5/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | disti::GlsText::Justify_t & | j
| ) |  |
| inline

Stream in operator

Parameters

  instr | The stream to read from.
  j | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [6/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | disti::GlsTextBox::Align_t & | j
| ) |  |
| inline

Stream in operator

Parameters

  instr | The stream to read from.
  j | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [7/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | disti::GlsTextBox::ResizeMode_t & | direction
| ) |  |
| inline

Stream in operator

Parameters

  instr | The stream to read from.
  direction | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [8/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | GlsColor & | color
| ) |  |

Stream in operator

Parameters

  instr | The stream to read from.
  color | The returned color to read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [9/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | GlsLinearFloatController::KeyData & | key
| ) |  |

Stream in operator

Parameters

  instr | The stream to read from.
  key | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [10/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | GlsMovingEye::Movement_t & | m
| ) |  |
| inline

Stream in operator

Parameters

  instr | The stream to read from.
  m | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [11/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | GlsMovingEye::Route_t & | r
| ) |  |
| inline

Stream in operator

Parameters

  instr | The stream to read from.
  r | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [12/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | GlsMultiValBase & | multiVal
| ) |  |

Stream in operator

Parameters

  instr | The stream to read from.
  multiVal | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [13/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | GlsPropString & | str
| ) |  |
| inline

Stream in operator

Parameters

  instr | The stream to read from.
  str | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [14/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | GlsPropStringQuoted & | str
| ) |  |
| inline

Stream in operator

Parameters

  instr | The stream to read from.
  str | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [15/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | GlsQuaternion< Type > & | quat
| ) |  |
| inline

Stream in operator

Parameters

  instr | The stream to read from.
  quat | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [16/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | Material & | mat
| ) |  |

Stream in operator

Parameters

  instr | The stream to read from.
  mat | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [17/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | Vector & | vert
| ) |  |

Stream in operator.

Parameters

  instr | The stream to read from.
  vert | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [18/19]

std::istream & operator>> | ( | std::istream & | instr,
|  | Vertex & | vert
| ) |  |

Stream in operator.

Parameters

  instr | The stream to read from.
  vert | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ operator>>() [19/19]

std::istream & operator>> | ( | std::istream & | istrm,
|  | GlsMatrix< Type, DIM > & | m
| ) |  |
| inline

Stream in operator

Parameters

  istrm | The stream to read from.
  m | The returned value read from the stream.

Returns
  The stream in its current state.

## ◆ PathToOS()

char * PathToOS | ( | const char * | path | ) |

Convert a directory path to have the correct OS slashes /, or . Also make sure that the path ends in a \, or /. So you always have the form <name 1>\<name 2>...<name n>\\, or <name 1>/<name 2>...<name n>/

Parameters

  path | A path to convert

Returns
  a "new-ed" string which may be longer than the original. It is the calling functions responsibility to free the memory.

## ◆ PopResourcePath()

void PopResourcePath | ( |  | ) |

Remove the first search path from the stack. The resource search paths are local to the calling thread only. This function should be called from the same thread as the matching PushResourcePath.

## ◆ PopupsUseCommandLine() [1/2]

bool PopupsUseCommandLine | ( |  | ) |

Deprecated function. Use AreDialogsEnabled() instead.

Returns
  whether or not dialogs are enabled

## ◆ PopupsUseCommandLine() [2/2]

void PopupsUseCommandLine | ( | bool |  | ) |

Suppresses popup messages when false, defaults to true. Deprecated function. Use EnableDialogs() instead.

## ◆ ProjectedIntersectingPoint()

VertexNoColor ProjectedIntersectingPoint | ( | const VertexNoColor & | p1,
|  | const VertexNoColor & | p2,
|  | const VertexNoColor & | p3
| ) |  |

Finds the point that (1) lies along the plane passing through p3 and perpendicular to the vector p1-p2 and (2) lies along the line defined by p1 and p2

Method: We have 3 unknowns (x,y,z) and 3 equations: The first known equation is the equation of the plane where vA is the vector p2 - p1 eq 1: (x - p3.x)vA.x + (y - p3.y)vA.y + (z - p3.z)vA.z = 0 The second and third equations are the projection form of the line defined by the points p1 and p2. eq 2: (x - p1.x) / (p2.x - p1.x) = (y - p1.y) / (p2.y - p1.y) eq 3: (x - p1.x) / (p2.x - p1.x) = (z - p1.z) / (p2.z - p1.z)

Parameters

  p1 | First point in the vector
  p2 | Second point in the vector
  p3 | A point in the plane p1,p2,p3

Returns
  The point of intersection

## ◆ PushResourceFinder()

void PushResourceFinder | ( | std::string(*)(const std::string &) | finder | ) |

Pushes a function that can locate resources. The Resources finders are applied after the resource paths are searched

Parameters

  finder | The function that can locate resources to add to the search paths

## ◆ PushResourcePath()

void PushResourcePath | ( | const char * | resourcePath | ) |

Pushes a resource search path onto the stack. The CWD is always implicitly searched first. The resource search paths are local to the calling thread only. This function should be called from the same thread as the resources are loaded from.

Parameters

  resourcePath | The directory path to add to the search paths

## ◆ Question()

int Question | ( | const char * | s,
|  |  | ...
| ) |  |

Creates and shows a pop-up dialog box and displays a text string and (2) buttons labeled 'Yes' and 'No'. A question mark icon is displayed.

Parameters

  s | The text string to display.

Returns
  Equals 1 if user pressed 'Yes', otherwise 0.

## ◆ RampBool()

bool RampBool | ( | double | time | ) |

RampBool can be used to generate varying data for testing purposes.

Parameters

  time | The system time (Available from the Calculate method)

Returns
  A value varying from false to true

## ◆ RampDouble()

double RampDouble | ( | double | time,
|  | double | min,
|  | double | max
| ) |  |

RampDouble is used to generate varying data for testing purposes.

Parameters

  time | The system time (Available from the Calculate method)
  min | The smallest value to return
  max | The largest value to return

Returns
  A value varying from min to max.

## ◆ RampFloat()

float RampFloat | ( | double | time,
|  | float | min,
|  | float | max
| ) |  |

RampFloat is used to generate varying data for testing purposes.

Parameters

  time | The system time (Available from the Calculate method)
  min | The smallest value to return
  max | The largest value to return

Returns
  A value varying from min to max.

## ◆ RampInt()

int RampInt | ( | double | time,
|  | int | min,
|  | int | max
| ) |  |

The ramp functions can be used to generate varying data for testing purposes.

Parameters

  time | The system time (Available from the Calculate method)
  min | The smallest value to return
  max | The largest value to return

Returns
  A value varying from min to max.

## ◆ range_check()

int range_check | ( | int | num,
|  | double | val,
|  |  | ...
| ) |  |

Determines if the given value falls in any of the ranges passed in. range_check(int number_of_ranges, double test_value, int index_0,double range_0_min,double range_0_max, ... int index_n,double range_n_min,double range_n_max); For example, to return 1 for values 0-10 and 2 for values 10-20: index = range_check(2, val, 1, 0.0, 10.0, 2, 10.0, 20.0);

Parameters

  num | The number of ranges.
  val | The value to test.

Returns
  True if the value is within any of the ranges.

## ◆ RayHitsTriangle()

bool RayHitsTriangle | ( | const Vector & | origin,
|  | const Vector & | direction,
|  | const Vector & | v0,
|  | const Vector & | v1,
|  | const Vector & | v2,
|  | Vector * | collisionPoint = `0`
| ) |  |

Determines if a ray intersects a triangle, and optionally where.

Parameters

  origin | The origin of the ray to test
  direction | The direction vector of the ray
  v0 | The first triangle point
  v1 | The second triangle point
  v2 | The third triangle point
  collisionPoint | Returns where the triangle was hit (only set if the triangle was actually hit)

Returns
  True if the triangle is hit

Note
  See note on LineHitsTriangle().

## ◆ ReadDDSFile()

DDSTextureInfo * ReadDDSFile | ( | const char * | filename,
|  | bool | loadTexels
| ) |  |

Note: Caller takes ownership of returned data

Parameters

  filename | The path to the DDS file.
  loadTexels | If true, load image data, otherwise just header information.

Returns
  A new DDSTextureInfo instance containing read data, or NULL.

## ◆ ReadValueAsIntOrBool()

T ReadValueAsIntOrBool | ( | std::istream & | instr | ) |

Helper function used to convert string TRUE/FALSE/1/0 value into an appropriate boolean.

Parameters

  instr | The stream to read a boolean string from.

Returns
  The converted string value as a boolean.

## ◆ RemoveDoubleSlashes()

void RemoveDoubleSlashes | ( | char * | path,
|  | char | slash = `'/'`
| ) |  |

Removes and double slashes from a path. It will look for the specified type of slash. It will modify path, but since it can only shrink, no allocation is done.

Parameters

  path | The path to operate on.
  slash | The type of slash to search for.

## ◆ RemoveSpaces()

void RemoveSpaces | ( | std::string & | entry | ) |

Remove all space ' ' characters from the incoming string.

Parameters

  entry | String to be manupulated.

## ◆ ReplaceEnvironmentVariables()

std::string ReplaceEnvironmentVariables | ( | const char * | originalPath | ) |

Substitutes environment variables for their actual values in the incoming path.

Parameters

  originalPath | Path to substitute environment variables.

Returns
  The string with environment variables replaced with their actual paths.

## ◆ ResolvePath() [1/2]

std::string ResolvePath | ( | const char * | path | ) |

Resolves the given path searching the resource path list. The CWD is always implicity searched first.

Parameters

  path | The relative path to resolve.

Returns
  The appropriate resulting resolved path, prepended with the resource path.

## ◆ ResolvePath() [2/2]

std::string ResolvePath | ( | const std::string & | path | ) |
| inline

Helper method taking a std::string.

Parameters

  path | The relative path to resolve

Returns
  The appropriate resulting resolved path, prepended with the resource path.

## ◆ ResolveRuntimeResourcePath()

std::string ResolveRuntimeResourcePath | ( | const char * | fileName | ) |

Prepends the resource path to a file name.

Parameters

  [in] | fileName | The name of the file

Returns
  string containing ResourcePath + fileName, with OS specific path. On Android, apk asset files are not prepended with a path.

## ◆ Safe_fopen() [1/2]

int Safe_fopen | ( | const char * | filename,
|  | char * | flags,
|  | FILE ** | f
| ) |  |

Attempts to open the given file. Pops up an error message box if the attempt fails.

Parameters

  filename | The name of the file to open.
  flags | fopen style file arguments (e.g. "r").
  f | Contains file pointer on success.

Returns
  True if the operation was successful.

## ◆ Safe_fopen() [2/2]

int Safe_fopen | ( | const char * | filename,
|  | char * | flags,
|  | std::fstream & | outstr
| ) |  |

Stream version.

Parameters

  filename | The name of the file to open.
  flags | fopen style file arguments (e.g. "r").
  outstr | The stream to write to.

Returns
  True if the operation was successful.

## ◆ SetAbsolutePlacementDefault()

void SetAbsolutePlacementDefault | ( | bool | value | ) |

Sets the default value for absolute placement. If not set, the default will be true. Typically only used for backwards compatibility with previous versions of GL Studio

Parameters

  value | true if the absolute placement default should be true, false otherwise.

## ◆ SetAndNotifyIfChanged()

void SetAndNotifyIfChanged | ( | AttributeChangedNotifier * | object,
|  | T & | property,
|  | const T & | newValue,
|  | const AttributeName & | name
| ) |  |

helper method to notify if an attribute has changed through a setter method

Parameters

  object | the object to notify
  property | the storage for the data that is going to be set
  newValue | the new value to set
  name | the attribute name

## ◆ SetDistiAssertHandler()

void SetDistiAssertHandler | ( | DistiAssertHandler |  | ) |

This function enables users to override the default behavior of DistiAssert(), which is used throughout the GL Studio code base to test prerequisites etc. The user can set a function to be called when DistiAssert fires. Only one callback can be registered, so calling the set function multiple times overwrites the previous handler. If the given handler is null, DistiAssert() reverts to its default behavior.

Note
  This function is deprecated; Use SetGlsVerifyHandler or SetGlsAssertHandler instead.

## ◆ SetGlsAssertHandler()

void SetGlsAssertHandler | ( | DistiAssertHandler |  | ) |

This function enables users to override the default behavior of GLS_ASSERT(), which is used throughout the GL Studio code base to test prerequisites etc. The user can set a function to be called when GLS_ASSERT fires. Only one callback can be registered, so calling the set function multiple times overwrites the previous handler. If the given handler is null, GLS_ASSERT() reverts to its default behavior.

## ◆ SetGlsVerifyHandler()

void SetGlsVerifyHandler | ( | DistiAssertHandler |  | ) |

This function enables users to override the default behavior of GLS_VERIFY(), which is used throughout the GL Studio code base to test prerequisites etc. The user can set a function to be called when GLS_VERIFY fires. Only one callback can be registered, so calling the set function multiple times overwrites the previous handler. If the given handler is null, GLS_VERIFY() reverts to its default behavior.

## ◆ SetMessageDialogs()

void SetMessageDialogs | ( | MessageDialogs * | dlgs | ) |

Set the current dialogs to use.

Parameters

  dlgs | The new dialogs to use.

## ◆ SetNPOTState()

void SetNPOTState | ( | ImageNPOTMode | state | ) |

Enable/Disable global Non Power Of Two capability. This will override the texture's setting from the editor.

Note
  NPOT detection is not currently supported. (GLS-5940)

Parameters

  state | The state to set it to. Will enable, disable, or apply auto detection for if NPOT support is available.

## ◆ SetReleaseImageDataDefault()

void SetReleaseImageDataDefault | ( | bool | enable | ) |

By default, Image instances release their texture data in main memory after loading it to the GPU. This flag controls that default behavior for new Image instances. Set to false if you want all Images to keep a copy of their texture data loaded in main memory. (Note: This can dramatically increase memory usage.)

Note
  The default applies only to Image instances created after this flag is set. To set or get the value behavior for a particular Image instance, call Image::SetReleaseImageDataEnabled() or Image::IsReleaseImageDataEnabled(), respectively.
  Default value: true

Parameters

  enable | The new default value

See also
  disti::Image::SetReleaseImageDataEnabled(), disti::Image::IsReleaseImageDataEnabled()

## ◆ SpawnBrowser()

void SpawnBrowser | ( | const char * | url | ) |

Open the default web browser and go to the specified URL.

Parameters

  url | The URL to navigate to.

## ◆ swap()

void swap | ( | DistiException & | first,
|  | DistiException & | second
| ) |  |

Swaps the incoming DistiException objects.

Parameters

  first | The first object to swap.
  second | The other object to swap.

## ◆ SwapDoubleToNet()

double SwapDoubleToNet | ( | double | val | ) |

Convert a double into network order (big endian).

Parameters

  val | The value to convert.

Returns
  The converted value.

## ◆ SwapFloatToNet()

float SwapFloatToNet | ( | float | val | ) |

Convert a float into network order (big endian).

Parameters

  val | The value to convert.

Returns
  The converted value.

## ◆ SwapLongToNet()

unsigned int SwapLongToNet | ( | unsigned int | val | ) |

Convert an unsigned integer into network order (big endian).

Parameters

  val | The value to convert.

Returns
  The converted value.

## ◆ SwapShortToNet()

unsigned short SwapShortToNet | ( | unsigned short | val | ) |

Convert a unsigned short into network order (big endian).

Parameters

  val | The value to convert.

Returns
  The converted value.

## ◆ SwapSignedLongToNet()

unsigned int SwapSignedLongToNet | ( | int | val | ) |

Convert a signed integer into network order (big endian).

Parameters

  val | The value to convert.

Returns
  The converted value.

## ◆ SwapSignedShortToNet()

short SwapSignedShortToNet | ( | short | val | ) |

Convert a signed short into network order (big endian).

Parameters

  val | The value to convert.

Returns
  The converted value.

## ◆ Tessellate() [1/2]

Group * Tessellate | ( | Group * | obj_list,
|  | CreateGroupFunc | ,
|  | CreatePolyFunc | ,
|  | DecomposeFunc |
| ) |  |

Tesselator functions. Implements polygon tessellation. Called by application to perform a CSG operation while tesselating one group of objects.

Parameters

  obj_list | Pointer to group of objects to tessellate

Returns
  Pointer to the group of the polygons generated during tesselation. The polygons will all be 2, or 3 vertices no more!

## ◆ Tessellate() [2/2]

Group * Tessellate | ( | Group * | object_list,
|  | int | tesstype,
|  | CreateGroupFunc | ,
|  | CreatePolyFunc | ,
|  | DecomposeFunc |
| ) |  |

Called by application to perform a CSG operation while tesselating two objects.

Parameters

  object_list | List containing the two objects to tessellate
  tesstype | The operation to perform (union, intersect, subtract)

Returns
  Pointer to the group of the polygons generated during tesselation

## ◆ TessellateGlyph()

Group * TessellateGlyph | ( | Group * | obj_list,
|  | CreateGroupFunc | ,
|  | CreatePolyFunc | ,
|  | DecomposeFunc |
| ) |  |

Called by application to perform a CSG operation on a character glyph

Parameters

  obj_list | Pointer to group of objects to tessellate

Returns
  Pointer to the group of the polygons generated during tesselation. The polygons will have OpenGl drawing primatives, e.g. TRIANGLE_FAN as generated by the tessellator

## ◆ TrimSpaces()

void TrimSpaces | ( | std::string & | entry | ) |

Remove all space ' ' characters from the beginning and end of the string.

Parameters

  entry | String to be manupulated.

## ◆ Uppercase()

std::string Uppercase | ( | const std::string & | str | ) |

Returns a string which is the uppercase version of the passed parameter.

Parameters

  str | original string to convert to Uppercase

Returns
  a string copy of the original but in all caps.

## ◆ ValidatePointer()

T * ValidatePointer | ( | const T *const | p | ) |

Assert the pointer is not null and return it.

Parameters

  p | The pointer to check.

Returns
  The pointer that was checked.

## ◆ VeryCloseToZero()

bool VeryCloseToZero | ( | X | x | ) |

Determines if the argument is extremely small (< 10E-4).

Parameters

  x | The value to check.

Returns
  True if x is very close to zero.

## Variable Documentation

## ◆ DEG_TO_RAD

const double DEG_TO_RAD = 3.14159265358979323846 / 180.0

Converts degrees to radians

## ◆ glsDefinedColors

unsigned char glsDefinedColors[GLS_COLOR_MAX][4]
| extern

Predefined colors (see

See also
  GlsDefinedColorEnum for the values). Use
  GlsDefinedColor() for a range-checked version.

## ◆ IMG_NON_TRANSPARENT

const int IMG_NON_TRANSPARENT = 255

Alpha value for a non-transparent pixel

## ◆ IMG_TRANSPARENT

const int IMG_TRANSPARENT = 0

Alpha value for a transparent pixel

## ◆ INLINE_TEXTURE_LINE_LENGTH

const int INLINE_TEXTURE_LINE_LENGTH = 240

Used to generate inline textures. The writing and reading of the lines need to know the length.

## ◆ MAX_MIP_MAP_IMAGES

const int MAX_MIP_MAP_IMAGES = 16

Maximum number of mipmapping levels

## ◆ MAX_SPLINE_VERTICES

const int MAX_SPLINE_VERTICES = 2000

Maximum number of tesselated vertices in a spline

## ◆ MIN_NUMBER_POINTS

const int MIN_NUMBER_POINTS = 2

smallest number of control points in a spline

## ◆ MULTIPLE_TEXTURES_SELECTED

const int MULTIPLE_TEXTURES_SELECTED = -2

When multiple textures are selected in the Texture Browser. It is defined here, because it must be different than NO_TEXTURE.

## ◆ NO_TEXTURE

const int NO_TEXTURE = -1

Objects with no texture have a palette index of -1. Valid texture indeces are zero through some positive number (no max).

## ◆ NUMBER_POINTS_TO_CONSIDER

const int NUMBER_POINTS_TO_CONSIDER = 3

When calculating the current vertices, how many control points should we consider

## ◆ RAD_TO_DEG

const double RAD_TO_DEG = 180.0 / 3.14159265358979323846

Converts radians to degrees

## ◆ STD_ATTRIB_STRINGS

const char* STD_ATTRIB_STRINGS[MAX_STD_ATTRIBS]
| extern

Variable names for standard shader attributes

## ◆ STD_UNIFORM_STRINGS

const char* STD_UNIFORM_STRINGS[MAX_STD_UNIFORMS]
| extern

Variable names for standard shader uniforms