GL Studio C++ Runtime API
disti Namespace Reference

Force inclusion of the DirectShow library. More...

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
 
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  glsDisplayFrame
 
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  OpenGLWindow
 
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 DisplayObjectDisplayObjectPtr
 Typedef for a DisplayObject pointer.
 
typedef DynamicArray< DisplayObjectPtrDisplayObjectArray
 Typedef for a DynamicArray containing DisplayObjects.
 
typedef DynamicArray< int > DynamicIntArray
 Typedef for a DynamicArray containing ints.
 
typedef DynamicArray< MaterialDynamicMaterialArray
 
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 void(* GlsDrawCallback) (glsDisplayFrame *)
 Typedef for a function pointer used for pre/post draw callbacks.
 
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 RSOInterface1 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, CharTraitsUnsignedShortUTF16String
 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< InterfaceDescriptionClassInterfaceListType
 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.
 
DDSTextureInfoReadDDSFile (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 >
AttributeObserverCreateAttributeMethodCallback (Class *const obj, const typename AttributeMethodCallback< Class >::Callback method)
 
template<class Class >
AttributeObserverCreateAttributeResourceCallback (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)
 
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 >
ConvertToIntOrBool (int value)
 
template<>
bool ConvertToIntOrBool (int value)
 
template<class 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)
 
AttributeObserverCreateAttributeFnCallback (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)
 
GlsRuntimeFontBaseGetGlsRuntimeFontBase (const GlsFontBase *font)
 
const GlsUnicodeFontBaseGetGlsUnicodeFontBase (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_1_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)
 
DisplayObjectPtrbegin (Group &group)
 
const DisplayObjectPtrbegin (const Group &group)
 
DisplayObjectPtrend (Group &group)
 
const DisplayObjectPtrend (const Group &group)
 
void SetNPOTState (ImageNPOTMode state)
 
ImageNPOTMode DoesSystemSupportNPOT ()
 
void SetReleaseImageDataDefault (bool enable)
 
bool GetReleaseImageDataDefault ()
 
void loadImageLoaders ()
 
template<class Class >
KeyboardCallbackBaseCreateInputHandlerCallback (const typename KeyboardMethodCallback< Class >::Callback method, Class *const obj)
 
template<class Class >
MouseCallbackBaseCreateInputHandlerCallback (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,...)
 
GroupTessellate (Group *obj_list, CreateGroupFunc, CreatePolyFunc, DecomposeFunc)
 
GroupTessellate (Group *object_list, int tesstype, CreateGroupFunc, CreatePolyFunc, DecomposeFunc)
 
GroupTessellateGlyph (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)
 
DisplayFrameGetTopLevelDisplayFrame (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)
 
bool OpenFileDialog (Fl_Window *win, char *filePath, unsigned int filePathSize, char *directory=NULL, const char *filterStr=NULL, const char *defaultExt=NULL, const char *title=NULL, bool multiSelect=false, bool createFile=false, bool fileMustExist=false, bool pathMustExist=false, bool noChangeDirectory=false)
 
bool SaveFileDialog (Fl_Window *win, char *filePath, unsigned int filePathSize, char *directory=NULL, const char *filterStr=NULL, const char *defaultExt=NULL, const char *title=NULL, bool createFile=false, bool fileMustExist=false, bool pathMustExist=false, bool noChangeDirectory=false)
 
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)
 
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

Force inclusion of the DirectShow library.

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 for dynamic array of materials

◆ GlsDefaultFont

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

◆ 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

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

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

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

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

Cylinder Initializers

◆ GLS_EyePoint_Initializers

Eye Point Initializers

◆ GLS_Initializers

Initializers

◆ GLS_LightSource_Initializers

Light Source Initializers

◆ GLS_Sphere_Initializers

Sphere Initializers

◆ GlsDefinedColorEnum

GL Studio color defines

◆ 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

gls Sphere Mapping

Enumerator
GLS_SPHERE_SPHERICAL_MAP 

Spherical texture map

GLS_SPHERE_CYLINDER_MAP 

Cylindrical texture map

◆ 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

LightType_e

◆ ListIteratorDirection

List Iterator Direction

◆ 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

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

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

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

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

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

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

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

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

Enumeration for keyboard modifiers

◆ StdAttribs_e

enumeration for standard shader attributes

◆ StdUniforms_e

enumeration for standard shader uniforms

◆ 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

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

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
angle1The starting angle.
angle2The ending angle.
Returns
The minimum angular distance between angle1 and angle2.

◆ AngularDistanceAbs()

float AngularDistanceAbs ( float  angle1,
float  angle2 
)
Parameters
angle1The starting angle.
angle2The 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
angle1First angle
angle2Second angle

◆ AngularDistanceRad()

float AngularDistanceRad ( float  angle1,
float  angle2 
)
Returns
The minimum angular distance between angle1 and angle2 in radians
Parameters
angle1First angle
angle2Second angle

◆ AppendTrailingSlash() [1/2]

void AppendTrailingSlash ( char *  s)

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

Parameters
sFile path

◆ AppendTrailingSlash() [2/2]

void AppendTrailingSlash ( std::string &  s)

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

Parameters
sFile 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
dictThe 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
arrayThe 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
groupThe 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
dictThe 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
arrayThe 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
groupThe 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
xThe value to check.
x1The minimum range.
x2The 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
texInfoThe texture to draw.
skipLevelsThe 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
destDestination string
srcSource string
dest_str_lengthSize 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
srcSource 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
selfThe switch being manipulated.
evThe incoming mouse event.
inputTypeINPUT_VERTICAL or INPUT_HORIZONTAL.
numPositionsThe number of positions the switch can be in.
scaleAdditional 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
objectthe 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
indexThe index of the color to change.
redThe new red channel value to set (0-255).
greenThe new green channel value to set (0-255).
blueThe new blue channel value to set (0-255).
alphaThe 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
objThe display object that will move (usually the needle)
valueThe actual value that the needle should point to.
gauge_valuesA 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.
segmentsThe 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
licenseGroupNameA name for what this license allows. i.e. "GL Studio Runtime".
featureThe specific feature that will be checked out.
versionThe specific version that will be checked out.
quietWhen 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
b0The label for button 0 (ESC is shortcut for this Right button).
b1The label for button 1 (RET is shortcut for this Center button).
b2The label for button 3 (left-most button).
sThe 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
b0The label for button 0 (ESC is shortcut for this Right button).
b1The label for button 1 (RET is shortcut for this Center button).
b2The label for button 3 (left-most button).
defaultChoiceThe value returned when in command-line mode.
sThe 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
xThe value to check.
thresholdA 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
widthThe width of the image in pixels.
heightThe height of the image in pixels.
qualityThe quality to use for compression (0-9).
uncompressedPointer to the memory region containing the raw data to compress.
compressedPointer to the memory region to receive the compressed JPEG data.
outputLengthThe 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
Classthe class of the object containing the callback.
Parameters
objThe object containing the resource to track.
resourceThe name of the resource to track.
methodInstanceThe owner of the callback.
methodThe 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
objThe object containing the resource to track.
resourceThe name of the resource to track.
funcOwnerThe owner of the callback (often the same as obj).
funcThe 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
valThe string to check.

◆ ConvertBackslashToSlash() [1/2]

void ConvertBackslashToSlash ( char *  str)

Converts backslashes to forward slashes in the given string.

Parameters
strA 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
strReference 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
valueThe 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
valueThe value to convert.
Returns
The implictly converted value.

◆ ConvertUTF8ToWide()

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

Convert the given UTF8 string to UTF16.

Parameters
srcThe 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
objThe object associated with this callback.
funcThe 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
objThe object to call the method on.
methodA 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
objThe object to set the resource on.
attributeNameThe 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
TypeThe type of the property (int, float, GlsColor, etc.)
ClassThe class of the object that owns this parameter (typically a subclass of DisplayObject)
Parameters
attrNameThe attribute name for this property.
objThe display object instance associated with this property.
setMethodThe setter method for the property (can be NULL).
getMethodThe 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
TypeThe type of the property (int, float, GlsColor, etc.)
ClassThe class of the object that owns this parameter (typically a subclass of DisplayObject)
Parameters
attrNameThe attribute name for this property.
objThe display object instance associated with this property.
getMethodThe 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
TypeThe type of the property (int, float, GlsColor, etc.)
ClassThe class of the object that owns this parameter (typically a subclass of DisplayObject)
Parameters
attrNameThe attribute name for this property.
objThe display object instance associated with this property.
getMethodThe 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
TypeThe type of the property (int, float, GlsColor, etc.)
ClassThe class of the object that owns this parameter (typically a subclass of DisplayObject)
Parameters
attrNameThe attribute name for this property.
objThe display object instance associated with this property.
setMethodThe setter method for the property (can be NULL).
getMethodThe 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
TypeThe type of the property (int, float, GlsColor, etc.)
ClassThe class of the object that owns this parameter (typically a subclass of DisplayObject)
Parameters
attrNameThe attribute name for this property.
objThe display object instance associated with this property.
setMethodThe setter method for the property (can be NULL).
getMethodThe 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
TypeThe type of the property (int, float, GlsColor, etc.)
ClassThe class of the object that owns this parameter (typically a subclass of DisplayObject)
Parameters
attrNameThe attribute name for this property.
objThe display object instance associated with this property.
setMethodThe setter method for the property (can be NULL).
getMethodThe 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
TypeThe type of the property (int, float, GlsColor, etc.)
ClassThe class of the object that owns this parameter (typically a subclass of DisplayObject)
Parameters
attrNameThe attribute name for this property.
objThe display object instance associated with this property.
setMethodThe setter method for the property (can be NULL)
getMethodThe 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 ) );
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
TypeThe type of the property (int, float, GlsColor, etc.)
ClassThe class of the object that owns this parameter (typically a subclass of DisplayObject)
Parameters
attrNameThe attribute name for this property.
objThe display object instance associated with this property.
setMethodThe setter method for the property (can be NULL).
getMethodThe 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
methodA class method pointer.
objThe 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
methodA class method pointer.
objThe 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
destDestination string
srcSource string
dest_str_lengthSize 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
srcEncoded 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]matrixthe matrix to decompose
[out]scalea vector that contains the x, y, and z scale factors
[out]locationa vector that contains the x, y, and z translation
[out]rotationa 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]matrixthe matrix to decompose
[in]scalea 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]mthe 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
widthThe width of the image in pixels.
heightThe height of the image in pixels.
uncompressedPointer to a memory region to receive the uncompressed data.
compressedPointer to the memory region containing the JPEG data.
comprLenLength 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
arrayThe 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
arrayThe list to operate on.
Note
Works only where T is a pointer.

◆ 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
objThe object containing the resource.
resourceThe name of the resource.
idThe 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
expressionThe string representation of the code being asserted.
filenameThe file where the code resides.
lineNumberThe 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
expressionThe string representation of the code being asserted.
filenameThe file where the code resides.
lineNumberThe 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
selfThe object emitting the event.
eventNameThe name of the event e.g. "StateChanged".
eventDataOptional additional user data.

◆ EmitObjectEvent() [2/2]

void EmitObjectEvent ( DisplayObject self,
ObjectEvent event 
)
inline

Emits the specfied ObjectEvent.

Parameters
selfThe object emitting the event.
eventA 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
destDestination string
srcSource string
dest_str_lengthSize 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
srcSource 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
dictThe 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
arrayThe 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
groupThe group whose last element is to be returned.
Returns
A pointer to the last element.

◆ end() [4/6]

Iterator interface for use in range-for loops etc.

Parameters
dictThe 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
arrayThe 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
groupThe 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
xFirst number to use in the comparison which determines the range
yNumber to check if within the range determined by x and precision
precisionNumber 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
sThe 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
sThe text string to display.

◆ FileExists() [1/2]

bool FileExists ( const char *  filename)
Returns
True if the file exists, false otherwise.
Parameters
filenameThe filename to check.

◆ FileExists() [2/2]

bool FileExists ( const std::string &  filename)
Returns
True if the file exists, false otherwise.
Parameters
filenameThe filename to check.

◆ FileExtension()

std::string FileExtension ( const std::string &  filepath)
Returns
The file extension for a filepath
Parameters
filepathFilepath 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
filepathA 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
originOrigin of the line.
vert1First point defining the plane.
vert2Second point defining the plane.
vert3Third point defining the plane.
collisionPointThis will be set to the intersection point.
directionVectorVector 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_originVector to the new coordinate system origin.
new_iVector parallel to the new x-axis with magnitude equal to one unit in the new coordinate system.
new_jVector parallel to the new y-axis with magnitude equal to one unit in the new coordinate system.
new_kVector 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_originVector to the new coordinate system origin.
new_iVector parallel to the new x-axis with magnitude equal to one unit in the new coordinate system.
new_jVector parallel to the new y-axis with magnitude equal to one unit in the new coordinate system.
new_kVector parallel to the new z-axis with magnitude equal to one unit in the new coordinate system.
resultThe 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
arrayThe list to search.
objectThe 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
arraySizeThe size of vertex_array.
arrayThe Vertex array.
index1variable to receive 1st array index.
index2variable to receive 2nd array index.
index3variable to receive 3rd array index.
isVectorArraytrue 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
arraySizeThe size of vertex_array.
arrayThe Vertex array.
index1variable to receive 1st array index.
index2variable to receive 2nd array index.
index3variable 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
pathThe 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
pathThe 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
dllFileNameThe path of the binary to search.
nameListThe returned list of relevant symbol names.
createClassTagThe 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
moduleThe pointer to the shared library in question.

◆ GetD3D9Format()

D3DFORMAT GetD3D9Format ( const DDS_PIXELFORMAT ddpf)
Parameters
ddpfThe 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
dllFileNameThe 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
sourceThe number to break up
_1The 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
ddpfThe 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
filenameFilename 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
nameA 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
nameA 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
fontfont 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
fontfont 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
fThe file to read from.
resultA pointer to storage to contain the result modified in place.
maxLenThe 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
}
Definition: vertex.h:85
bool GetObjectCoordinatesTransform(DisplayObject *from, DisplayObject *to, GlsMatrixType *outTransform)
See also
GetObjectCoordinatesTransform
Parameters
fromThe DisplayObject to start at
toThe DisplayObject to end at
outTransformOut 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
fromThe DisplayObject to start at
toThe DisplayObject to end at
outTransformOut 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
topFrameThe frame in which the qualification will make sense.
objThe 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
instrThe stream to read from.
resultThe string reference to write the result to.
decodeWhether or not to decode the string.
Returns
True if successful.

◆ GetTopLevelDisplayFrame()

DisplayFrame * GetTopLevelDisplayFrame ( DisplayFrame frame)
Parameters
frameThe 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
instrThe stream to read from.
vertThe Vertex pointer to write the result to.
getColorWhether 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
filenameThe name of the file to open
flagsfopen 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
filenameThe filename to unlink
Returns
Returns 0 is successful, otherwise returns -1 and sets errno.

◆ GLS_VERSION_8_1_0000_LIBRARY()

void GLS_VERSION_8_1_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
expressionThe string representation of the code being asserted.
filenameThe file where the code resides.
lineNumberThe 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
aOne set of version info to compare.
bThe 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
aOne set of version info to compare.
bThe other set of version info to compare.

◆ GlsDefinedColor()

unsigned char * GlsDefinedColor ( GlsDefinedColorEnum  index)
inline

Gets a predefined color in

See also
GlsDefinedColorEnum.
Parameters
indexof 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
mThe matrix to hold the resulting orthographic projection.
leftThe left side coordinate.
rightThe right side coordinate.
bottomThe bottom side coordinate.
topThe top side coordinate.
zNearThe near clipping coordinate.
zFarThe 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
mThe matrix to hold the resulting perspective projection.
fovyThe vertical FOV in degrees.
aspectThe aspect ratio.
zNearThe near clipping distance.
zFarThe 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
expressionThe string representation of the code being asserted.
filenameThe file where the code resides.
lineNumberThe line number where the code resides.

◆ gltIsExtSupported()

bool gltIsExtSupported ( const char *  extension)
Returns
Whether or not the requested OpenGL extension is supported.
Parameters
extensionThe 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
valueThe value to be converted.
gauge_valuesA 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.
segmentsThe 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
pointReturned parameter, contains intersection point on success
lineVectorDirection of the vector
linePointOrigin point of the vector
planeNormalSurface normal of the plane
planePointA 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
xThe value to check.
Returns
True if x is negative.

◆ IS_POSITIVE()

bool IS_POSITIVE ( const X &  x)

Determines if the argument is positive.

Parameters
xThe value to check.
Returns
True if x is positive.

◆ IS_ZERO()

bool IS_ZERO ( x)
Deprecated:
Renamed to IsNearZero().
Parameters
xThe 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
filenameThe 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
filenameThe filename to check.

◆ IsNearZero()

bool IsNearZero ( x)

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

Parameters
xThe 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
originThe origin of the line to test
directionThe direction vector of the line
v0The first triangle point
v1The second triangle point
v2The third triangle point
collisionPointReturns 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
originalPathThe path to make relative.
relativePathThe 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
xThe first object to compare.
yThe 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
xThe first object to compare.
yThe second object to compare.
prThe 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
xThe first object to compare.
yThe 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
xThe first object to compare.
yThe second object to compare.
prThe 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
sThe 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
p1First point
p2Second point
p3Third 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
aThe first point to check.
bThe second point to check.
cThe 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
eventThe event to check
eventNameThe eventName to compare
eventDataoptional 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
kevThe KeyboardEvent to check.
alphaNumericWhether or not to try to compare to kev->event_text versus kev->keysym.
keyThe key to look for in the event.
modifierMaskAny 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)

◆ OpenFileDialog()

bool OpenFileDialog ( Fl_Window *  win,
char *  filePath,
unsigned int  filePathSize,
char *  directory = NULL,
const char *  filterStr = NULL,
const char *  defaultExt = NULL,
const char *  title = NULL,
bool  multiSelect = false,
bool  createFile = false,
bool  fileMustExist = false,
bool  pathMustExist = false,
bool  noChangeDirectory = false 
)

Opens a native WIN32 open file dialog on Windows, a FLTK dialog on other platforms.

Parameters
winThe FLTK window to open the dialog on top of.
filePathThe initially selected / returned file.
filePathSizeThe size of the filePath buffer in bytes.
directoryThe initially selected / returned directory.
filterStrThe file type filter string.
defaultExtThe default file extension.
titleThe window title for the dialog.
multiSelectWhether or not to allow multiple files to be selected.
createFileWhether or not the dialog will allow a new file to be created.
fileMustExistWhether or not the specified file must already exist.
pathMustExistWhether or not the specified directory must already exist.
noChangeDirectoryWhether or not the dialog will allow the user to change CWD.
Returns
True if a file was located successfully.

◆ 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
attr1A name to compare.
attr2The 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
rhsAn object to compare.
lhsAnother object to compare.
Returns
Whether or not the objects are not equal.

◆ operator<<() [1/20]

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

Stream out operator

Parameters
ostrmThe stream to write to.
mThe 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
outstrThe stream to write to.
nameThe 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
outstrThe stream to write to.
colorThe 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
outstrThe stream to write to.
keyThe 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
outstrThe stream to write to.
multiValThe 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
outstrThe stream to write to.
strThe 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
outstrThe stream to write to.
strThe 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
outstrThe stream to write to.
quatThe 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
outstrThe stream to write to.
matThe 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
outstrThe stream to write to.
vertThe 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
outstrThe stream to write to.
vertThe 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
outstrThe stream to write to.
ellipsizeModeThe 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
outstrThe stream to write to.
resizeModeThe 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
outstrThe stream to write to.
directionThe 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
outstrThe stream to write to.
verticalAlignmentThe 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
outstrThe stream to write to.
jThe 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
outstrThe stream to write to.
jThe 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
outstrThe stream to write to.
directionThe 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
outstrThe stream to write to.
mThe 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
outstrThe stream to write to.
rThe 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
attr1A name to compare.
attr2The 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
lNameA name to compare.
rNameThe 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
lNameA name to compare.
rNameThe 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
lNameA name to compare.
rNameThe 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
rhsAn object to compare.
lhsAnother 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
lNameA name to compare.
rNameThe 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
instrThe stream to read from.
ellipsizeModeThe 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
instrThe stream to read from.
resizeModeThe 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
instrThe stream to read from.
directionThe 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
instrThe stream to read from.
verticalAlignmentThe 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
instrThe stream to read from.
jThe 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
instrThe stream to read from.
jThe 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
instrThe stream to read from.
directionThe 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
instrThe stream to read from.
colorThe 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
instrThe stream to read from.
keyThe 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
instrThe stream to read from.
mThe 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
instrThe stream to read from.
rThe 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
instrThe stream to read from.
multiValThe 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
instrThe stream to read from.
strThe 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
instrThe stream to read from.
strThe 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
instrThe stream to read from.
quatThe 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
instrThe stream to read from.
matThe 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
instrThe stream to read from.
vertThe 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
instrThe stream to read from.
vertThe 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
istrmThe stream to read from.
mThe 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
pathA 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
p1First point in the vector
p2Second point in the vector
p3A 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
finderThe 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
resourcePathThe 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
sThe 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
timeThe 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
timeThe system time (Available from the Calculate method)
minThe smallest value to return
maxThe 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
timeThe system time (Available from the Calculate method)
minThe smallest value to return
maxThe 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
timeThe system time (Available from the Calculate method)
minThe smallest value to return
maxThe 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
numThe number of ranges.
valThe 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
originThe origin of the ray to test
directionThe direction vector of the ray
v0The first triangle point
v1The second triangle point
v2The third triangle point
collisionPointReturns 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
filenameThe path to the DDS file.
loadTexelsIf 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
instrThe 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
pathThe path to operate on.
slashThe type of slash to search for.

◆ RemoveSpaces()

void RemoveSpaces ( std::string &  entry)

Remove all space ' ' characters from the incoming string.

Parameters
entryString to be manupulated.

◆ ReplaceEnvironmentVariables()

std::string ReplaceEnvironmentVariables ( const char *  originalPath)

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

Parameters
originalPathPath 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
pathThe 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
pathThe 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]fileNameThe 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
filenameThe name of the file to open.
flagsfopen style file arguments (e.g. "r").
fContains 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
filenameThe name of the file to open.
flagsfopen style file arguments (e.g. "r").
outstrThe stream to write to.
Returns
True if the operation was successful.

◆ SaveFileDialog()

bool SaveFileDialog ( Fl_Window *  win,
char *  filePath,
unsigned int  filePathSize,
char *  directory = NULL,
const char *  filterStr = NULL,
const char *  defaultExt = NULL,
const char *  title = NULL,
bool  createFile = false,
bool  fileMustExist = false,
bool  pathMustExist = false,
bool  noChangeDirectory = false 
)

Opens a native WIN32 save file dialog on Windows, a FLTK dialog on other platforms.

Parameters
winThe FLTK window to open the dialog on top of.
filePathThe initially selected / returned file.
filePathSizeThe size of the filePath buffer in bytes.
directoryThe initially selected / returned directory.
filterStrThe file type filter string.
defaultExtThe default file extension.
titleThe window title for the dialog.
createFileWhether or not the dialog will allow a new file to be created.
fileMustExistWhether or not the specified file must already exist.
pathMustExistWhether or not the specified directory must already exist.
noChangeDirectoryWhether or not the dialog will allow the user to change CWD.
Returns
True if a file was located successfully.

◆ 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
valuetrue 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
objectthe object to notify
propertythe storage for the data that is going to be set
newValuethe new value to set
namethe 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
dlgsThe 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
stateThe 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
enableThe 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
urlThe URL to navigate to.

◆ swap()

void swap ( DistiException first,
DistiException second 
)

Swaps the incoming DistiException objects.

Parameters
firstThe first object to swap.
secondThe other object to swap.

◆ SwapDoubleToNet()

double SwapDoubleToNet ( double  val)

Convert a double into network order (big endian).

Parameters
valThe value to convert.
Returns
The converted value.

◆ SwapFloatToNet()

float SwapFloatToNet ( float  val)

Convert a float into network order (big endian).

Parameters
valThe value to convert.
Returns
The converted value.

◆ SwapLongToNet()

unsigned int SwapLongToNet ( unsigned int  val)

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

Parameters
valThe value to convert.
Returns
The converted value.

◆ SwapShortToNet()

unsigned short SwapShortToNet ( unsigned short  val)

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

Parameters
valThe value to convert.
Returns
The converted value.

◆ SwapSignedLongToNet()

unsigned int SwapSignedLongToNet ( int  val)

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

Parameters
valThe value to convert.
Returns
The converted value.

◆ SwapSignedShortToNet()

short SwapSignedShortToNet ( short  val)

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

Parameters
valThe 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_listPointer 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_listList containing the two objects to tessellate
tesstypeThe 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_listPointer 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
entryString to be manupulated.

◆ Uppercase()

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

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

Parameters
stroriginal 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
pThe pointer to check.
Returns
The pointer that was checked.

◆ VeryCloseToZero()

bool VeryCloseToZero ( x)

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

Parameters
xThe 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