| GL Studio C++ Runtime API

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
GlsMutexGroup Class Reference

`#include <gls_mutex_group.h>`

Inheritance diagram for GlsMutexGroup:

## Public Types
typedef Group | _BaseClass
| Deprecated typedef for the base class.
typedef Group | BaseClass
| Typedef for the base class.
Public Types inherited from Group
typedef DisplayObject | _BaseClass
| Deprecated typedef for the base class.
typedef DisplayObject | BaseClass
| Typedef for the base class.
Public Types inherited from DisplayObject
enum | AvailableAttributesEnum { GLS_ATTRIBUTES_BASIC = 1 , GLS_ATTRIBUTES_DYNAMIC = 2 , GLS_ATTRIBUTES_APPEARANCE = 4 , GLS_ATTRIBUTES_GEOMETRY = 8 , GLS_ATTRIBUTES_SPECIALIZED = 16 , GLS_ATTRIBUTES_ALL = ~0 , GLS_ATTRIBUTES_NONE = 0 }

## Public Member Functions
| GlsMutexGroup (bool generateInstance=false)
| GlsMutexGroup (const GlsMutexGroup &that, const bool generateNames)
virtual | ~GlsMutexGroup ()
virtual void | SetAvailableAttributes (unsigned int value) DISTI_METHOD_OVERRIDE
virtual DisplayObject * | CloneObject (bool generateNames=false) DISTI_METHOD_OVERRIDE
virtual void | CopyProperties (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | Calculate (double time) DISTI_METHOD_OVERRIDE
virtual void | PreDraw (const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
virtual void | Draw () DISTI_METHOD_OVERRIDE
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices) DISTI_METHOD_OVERRIDE
virtual void | SetValue (int spec, va_list &args) DISTI_METHOD_OVERRIDE
bool | IsVisibleInScene (const DisplayObject *obj=NULL) const DISTI_METHOD_OVERRIDE
int | MutexState () const
void | MutexState (int state)
int | State ()
void | State (int state)
bool | CalculateInvisibleStates ()
void | CalculateInvisibleStates (bool value)
bool | PickInvisibleStates ()
void | PickInvisibleStates (bool value)
bool | PreDrawInvisibleStates ()
void | PreDrawInvisibleStates (bool value)
bool | InputDeviceBehavior ()
void | InputDeviceBehavior (bool value)
Public Member Functions inherited from Group
DisplayObject * | FindByName (const char *name)
virtual DisplayObject * | FindByNameSameFrame (const char *name)
DisplayObject * | FindByName (DisplayObject *obj)
DisplayObject * | FindByQualifiedName (const char *name)
DisplayObject * | FindNonRecursive (DisplayObject *obj)
DisplayObjectArray & | Objects ()
const DisplayObjectArray & | Objects () const
DisplayObject * | Item (unsigned int index)
bool | PerformGroupCullCheck () const
void | PerformGroupCullCheck (bool mode)
bool | CullTestChildren () const
void | CullTestChildren (bool mode)
unsigned int | Count () const
DisplayObjectPtr | operator[] (unsigned int index)
const DisplayObject * | operator[] (unsigned int index) const
DisplayObject * | FirstObject ()
DisplayObject * | LastObject ()
bool | IsEmpty () const
int | Position (const DisplayObject *obj) const
| Group (int generateInstance=0)
| Group (const Group &group, bool generateNames)
void | InitialGroupCount (unsigned int cnt)
virtual | ~Group ()
virtual void | DeleteAllChildren ()
virtual void | SetAvailableAttributes (unsigned int value) override
virtual DisplayObject * | CloneObject (bool generateNames=false) override
virtual void | CopyGeometry (DisplayObject *src) override
virtual void | CopyProperties (DisplayObject *src) override
virtual void | Draw () override
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler) override
virtual bool | Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) override
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices) override
virtual void | Parent (DisplayFrame *par) override
void | SetPainter (GlsPainter *painter) override
virtual void | CalculateBoundingBox ()
virtual void | Location (const Vertex &v) override
virtual void | Location (float x, float y, float z) override
virtual void | Translate (float x, float y, float z) override
virtual void | Translate (float transAmount[]) override
virtual void | TranslateVertices (float x, float y, float z) override
virtual void | TranslateVertices (float transAmount[])
virtual void | GetExtents (float &x, float &y, float &z, float &x1, float &y1, float &z1) override
virtual void | GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true) override
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis) override
virtual void | Scale (float scale_x, float scale_y)
void | Scale (float scale_x, float scale_y, float scale_z, Vertex *anchor=NULL, int handle=0) override
virtual void | InsertObject (DisplayObject *obj, bool reparent=true, bool recalculateBoundingbox=true, int loc=-1)
virtual bool | DeleteObject (DisplayObject *obj, bool recalculateBoundingbox=true)
virtual void | ReorderObject (unsigned int oldIndex, unsigned int newIndex)
virtual void | PushObject (DisplayObject *obj)
void | DeleteVertexAt (unsigned) override
void | InsertVertexAt (unsigned) override
virtual void | SetGroupLocation (const Vertex &v)
virtual void | GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL) override
virtual void | CalculateTextureCoordinates () override
virtual void | LineWidth (float width) override
virtual float | LineWidth () override
virtual void | LineStipplePattern (int pattern) override
virtual int | LineStipplePattern () override
virtual void | LineStippleMultiplier (int mult) override
virtual int | LineStippleMultiplier () override
virtual int | PolygonMode () override
virtual void | PolygonMode (int mode) override
virtual void | PolygonEnd (const int mode) override
virtual int | PolygonEnd () override
virtual void | Shading (const int mode) override
virtual int | Shading () override
virtual void | DepthTest (unsigned char mode) override
virtual int | DepthTest () override
virtual void | AntiAlias (bool mode) override
virtual bool | AntiAlias () override
virtual void | AlphaMode (int mode) override
virtual int | AlphaMode () override
virtual void | CullBackFace (const bool mode) override
virtual bool | CullBackFace () override
virtual bool | LightingEnabled () override
virtual void | LightingEnabled (bool lighting) override
virtual void | SetBlendColor (const GlsColor &color) override
virtual GlsColor | GetBlendColor () override
virtual void | SetColor (const GlsColor &color) override
virtual GlsColor | GetColor () override
virtual void | SetFillColor (const GlsColor &color) override
virtual GlsColor | GetFillColor () override
virtual void | TextureRepeat (const int rep) override
virtual void | TextureMappingTechnique (const int map) override
virtual int | TextureMappingTechnique () override
virtual void | TextureMinificationFilter (const int filter) override
virtual int | TextureMinificationFilter () override
virtual void | TextureMagnificationFilter (const int filter) override
virtual int | TextureMagnificationFilter () override
virtual void | Calculate (double time) override
CompatabilityListItem * | First ()
CompatabilityListItem * | Last ()
virtual void | Parent (DisplayFrame *par)
DisplayFrame * | Parent () const
virtual const Vertex & | Location () const
virtual void | Location (const Vertex &v)
virtual void | Location (float x, float y, float z)
virtual void | Rotate (float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &origin, float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis)
virtual void | SetBlendColor (const GlsColor &color)
void | SetBlendColor (unsigned char color[])
void | SetBlendColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void | GetBlendColor (unsigned char color[])
void | GetBlendColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual GlsColor | GetBlendColor ()
virtual void | SetColor (const GlsColor &color)
void | SetColor (unsigned char c4[])
void | SetColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual GlsColor | GetColor ()
void | GetColor (unsigned char c4[])
void | GetColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
void | SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void | SetFillColor (unsigned char c4[])
virtual void | SetFillColor (const GlsColor &color)
void | GetFillColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
void | GetFillColor (unsigned char c4[])
virtual GlsColor | GetFillColor ()
virtual bool | TextureRepeat ()
virtual void | TextureRepeat (const int rep)
Public Member Functions inherited from DisplayObject
| DisplayObject (float x, float y, float z)
| DisplayObject (const DisplayObject &object, const bool generateNames)
virtual | ~DisplayObject ()
void | Destroy ()
virtual void | SetAvailableAttributes (unsigned int value)
virtual void | AlphaMode (int mode)
virtual int | AlphaMode ()
virtual bool | AntiAlias ()
virtual void | AntiAlias (bool alias)
void | ApplyTextureSettings (int textureIndex=-1)
DistiAttribDict & | Attributes ()
const DistiAttribDict & | Attributes () const
virtual void | SetBlendColor (const GlsColor &color)
void | GetBlendColor (unsigned char color[])
void | GetBlendColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual GlsColor | GetBlendColor ()
void | SetBlendColor (unsigned char color[])
void | SetBlendColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual bool | BlinkedOff ()
virtual bool | Blinking ()
virtual void | Blinking (const bool blink)
virtual float | BlinkRate ()
virtual void | BlinkRate (const float rate)
const Vector & | BoundingVolumeCenter () const
void | BoundingVolumeCenter (const Vector &center)
bool | BoundingVolumeHit (const Vector &start, const Vector &direction)
float | BoundingVolumeRadius () const
void | BoundingVolumeRadius (float radius)
virtual void | Calculate (double time)
void | CalculateCollisionPoint (const Vector &pickLoc, const Vector &directionVector, Vector *collisionPoint)
virtual void | CalculateParentBoundingBox ()
virtual void | CalculateTextureCoordinates ()
bool | GetTexturePointTransformationMatrix (GlsMatrixType &world2tex)
CallbackMethodCallerBase * | CallbackCaller () const
void | CallbackCaller (CallbackMethodCallerBase *cb)
virtual void | GetCenter (Vector &center)
virtual DisplayObject * | CloneObject (bool generateNames=false)=0
virtual GlsColor | GetColor ()
void | GetColor (unsigned char c4[])
void | GetColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual void | SetColor (const GlsColor &color)
void | SetColor (unsigned char c4[])
void | SetColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual void | CopyGeometry (DisplayObject *src)
virtual void | CopyHierarchyProperties (DisplayObject *src, bool copyName)
virtual void | CopyProperties (DisplayObject *src)
virtual void | CullBackFace (const bool val)
virtual bool | CullBackFace ()
bool | Culled () const
void | Culled (bool val)
bool | CullTest (const GlsMatrixType *matrix, const Culler &culler)
GlsMatrixType & | DcsMatrix ()
GlsMatrixType | DcsMatrix () const
void | DcsMatrix (const GlsMatrixType &matrix)
virtual void | DeleteVertexAt (unsigned int index)
virtual void | DeleteVertex (unsigned int indexAfter) final
virtual int | DepthTest ()
virtual void | DepthTest (unsigned char zbuf)
virtual void | Draw ()=0
const GlsMatrixType * | DrawMatrix ()
bool | NeedCalcDrawMatrix ()
void | DynamicRotate (float angle, int axis)
void | DynamicRotate (const Vector &v)
void | DynamicRotate (float angle[])
virtual void | DynamicRotate (float x, float y, float z)
virtual void | DynamicRotateRelative (float angle, int axis)
virtual float | DynamicRotation (int axis)
virtual Vector | DynamicRotation ()
virtual Vector | DynamicScale ()
virtual void | DynamicScale (float x, float y, float z)
void | DynamicScale (const Vector &scale)
virtual void | DynamicTranslate (float x, float y, float z, bool relative=false)
void | DynamicTranslate (const Vertex &amount, bool relative)
void | DynamicTranslate (const Vector &amount)
virtual void | DynamicTranslateAxis (float amount, int axis, bool relative)
virtual float | DynamicTranslation (int axis)
virtual Vector | DynamicTranslation ()
DisplayObjectEditor * | Editor ()
const DisplayObjectEditor * | Editor () const
void | Editor (DisplayObjectEditor *editor)
virtual void | GetExtents (float &x, float &y, float &z, float &x1, float &y1, float &z1)
void | GetExtentsDCS (Vector &min, Vector &max)
void | GetFillColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
void | GetFillColor (unsigned char c4[])
virtual GlsColor | GetFillColor ()
void | SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void | SetFillColor (unsigned char c4[])
virtual void | SetFillColor (const GlsColor &color)
virtual void | FinishObject ()
virtual void | GenerateInstanceName ()
virtual DisplayObject * | handle (DisplayEvent *ev)
virtual bool | Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
virtual bool | HitUtil (float x, float y, float z, float scale, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector, Vector *collisionPoint)
virtual void | InsertVertexAt (unsigned int index)
virtual void | InsertVertex (unsigned int indexAfter) final
char * | InstanceName ()
const char * | InstanceName () const
void | InstanceName (const char *name)
virtual bool | LightingEnabled ()
virtual void | LightingEnabled (bool lighting)
virtual int | LineStippleMultiplier ()
virtual void | LineStippleMultiplier (int mult)
virtual int | LineStipplePattern ()
virtual void | LineStipplePattern (int pattern)
virtual float | LineWidth ()
virtual void | LineWidth (float width)
virtual const Vertex & | Location () const
virtual void | Location (const Vertex &v)
virtual void | Location (float x, float y, float z)
virtual void | GetLocation (Vertex &v)
virtual void | GetLocation (float &x, float &y, float &z)
float | X () const
float | Y () const
float | Z () const
void | X (const float x)
void | Y (const float y)
void | Z (const float z)
virtual int | MaterialIndex ()
virtual void | MaterialIndex (int index)
virtual DynamicArray< int > & | MaterialIndices ()
virtual void | MaterialIndices (DynamicArray< int > indices)
GlsMatrixType * | ModelMatrix ()
bool | NeedCalculate ()
Vector * | Normals ()
virtual void | SetNormals (unsigned int nPoints, Vector *vertices)
void | VaSetNormals (unsigned int nPoints,...)
unsigned int | NumberOfVertices () const
virtual float | ObjectDepth ()
virtual float | ObjectHeight ()
virtual float | ObjectWidth ()
virtual void | SetOrigin (const Vertex &vert)
virtual void | Parent (DisplayFrame *par)
DisplayFrame * | Parent () const
virtual void | ParentGroup (Group *group)
Group * | ParentGroup () const
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
unsigned char | Pickable ()
virtual void | Pickable (unsigned char pick)
virtual int | PolygonEnd ()
virtual void | PolygonEnd (const int end)
virtual int | PolygonMode ()
virtual void | PolygonMode (int mode)
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler)
GlsMatrixType * | ProjMatrix ()
virtual void | ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
virtual float | RelativeAngle (const float x, const float y)
virtual DistiAttributeBase & | Resource (const char *name)
virtual void | GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
const Vertex & | RotationPoint () const
virtual void | RotationPoint (const Vertex &v)
virtual void | RotationPoint (float x, float y, float z)
virtual void | GetRotationPoint (Vertex &v)
virtual void | Rotate (float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &origin, float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis)
void | SaveMatrices ()
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0)
void | Set (int spec,...)
bool | SetupAlpha ()
void | SetupDepthTest ()
void | SetupLighting ()
bool | SetupLineStyle ()
bool | SetupTexture ()
virtual int | Shading ()
virtual void | Shading (const int shading)
virtual void | GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true)
virtual void | SetTexCoords (unsigned int nPoints, Vector *new_tex_coord, bool isVectorArray=true)
void | SetTexCoords (unsigned int nPoints, Vertex *new_tex_coord)
void | VaSetTexCoords (unsigned int nPoints,...)
Vector * | TextureCoordinates ()
Vector * | GetTextureCoordinates ()
virtual int | TextureIndex ()
virtual void | TextureIndex (int textureIndex)
virtual Vector * | GetTexturePoints ()
virtual bool | TextureRepeat ()
virtual void | TextureRepeat (const int rep)
virtual int | TextureMappingTechnique ()
virtual void | TextureMappingTechnique (const int map)
virtual int | TextureMagnificationFilter ()
virtual void | TextureMagnificationFilter (const int filter)
virtual int | TextureMinificationFilter ()
virtual void | TextureMinificationFilter (const int filter)
virtual void | Translate (float tr[])
virtual void | Translate (float x, float y, float z)
virtual void | TranslateVertices (float x, float y, float z)
virtual void | UpdateBoundingVolume ()
void * | UserData () const
void | UserData (void *data)
virtual void | SetVertexColor (unsigned int vertex, unsigned char CurrentFillColor[])
virtual Vertex * | Vertices ()
virtual void | SetVertices (unsigned int nPoints, Vertex *vertices)
void | VaSetVertices (unsigned int nPoints,...)
int * | ViewMatrix ()
bool | Visible () const
bool | Visibility () const
virtual void | Visibility (const bool vis)
virtual Vector | WorldRotationPoint ()
virtual void | WorldRotationPoint (const Vector &vert)
virtual Vertex | WorldVertex (unsigned int i)
virtual void | WorldVertex (unsigned int i, const Vertex &vert)
bool | LogicalToWindow (const Vector &logical, Vector &winLoc, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
bool | WindowToLogical (const Vector &winLoc, Vector &logical, Vector *directionVector=NULL, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
void | LogicalToDCS (Vector logicalPoint, Vector &objectLocal, const Vector *directionVector, const Vector &planeNormal=Vector(0, 0, 1), const Vector &planePoint=Vector(), const GlsMatrixType *dcsMatrix=NULL)
void | DCSToLogical (Vector dcsPoint, Vector &logicalPoint, const GlsMatrixType *dcsMatrix=NULL)
bool | Create (GlsGloFile &dataStream, Group *parent)
void | GeometryRefresh ()
| Invalidates the painter and refreshes the geometry on the next paint cycle.
virtual bool | GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector)
void | NotifyAttributeChanged (const AttributeName &name) override
virtual void | SetPainter (GlsPainter *painter)
virtual GlsPainter * | GetPainter ()
void | InvalidatePainter ()
virtual bool | IsVisibleInScene (const DisplayObject *obj=NULL) const
Public Member Functions inherited from AttributeChangedNotifier
virtual void | NotifyAttributeChanged (const AttributeName &name)=0
virtual | ~AttributeChangedNotifier ()
Public Member Functions inherited from WeakReferenceableMixin
void | AddWeakReference (WeakReference *weakRef) override
void | NotifyWeakReferenceDestroyed (WeakReference *ref) override
virtual void | AddWeakReference (WeakReference *weakRef)=0
virtual void | NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0

## Static Public Member Functions
static DisplayObject * | CreateInstance ()
Static Public Member Functions inherited from Group
static DisplayObject * | CreateInstance ()
Static Public Member Functions inherited from DisplayObject
static void | UseManualBlinkElapsedTime (bool useManualTime)
static void | SetManualBlinkElapsedTime (double elapsedTime)

## Protected Member Functions
bool | ValidMutexState (const int state) const
bool | ValidInputDeviceState (const int state) const
DisplayObject * | Pick3DUtil (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
virtual void | SetFromGloData (GlsGloFileAttribute &data) DISTI_METHOD_OVERRIDE
Protected Member Functions inherited from Group
virtual void | AddAvailableAttributes (unsigned int availableAttributes)
virtual void | GrowBoundingBox (DisplayObject *obj)
Protected Member Functions inherited from DisplayObject
virtual void | VaListSetVertices (unsigned int nPoints, va_list args)
virtual void | VaListSetNormals (unsigned int nPoints, va_list args)
virtual void | VaListSetTexCoords (unsigned int nPoints, va_list args)
void | ApplyTextureMinMagSettings ()
| Updates the state manager's texture minification and magnification filter based on this display's configuration.
void | ApplyTextureEnvModeSettings ()
| Updates the state manager's texture environment based on this object configuration.
bool | SetupTextureIsNeeded ()
virtual int | ColorMaterialMode ()
void | AllocateModelMatrix ()
bool | ApplyDynamicRotation ()
virtual void | CalcDrawMatrix ()
void | CalcDrawMatrixIfExists ()
virtual void | CalculateMatrices (const OpenGLMatrices &newMatrices)
bool | InsideVertexExtents (float x, float y, unsigned int nVerts, Vertex *verts, float tolerance)
void | LastDrawMatrixLocation (const Vertex &loc)
const Vertex & | LastDrawMatrixLocation ()
void | NeedCalculate (bool val)
void | PickSetup (float x, float y, float z, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector)
void | PickCleanup (Vertex *vertices, unsigned int vertex_cnt)
virtual void | SetFromGloData (GlsGloFileAttribute &data)
virtual void | SetValue (int spec, va_list &args)
int | GetApplicableTextureIndex ()
int | GetApplicableTextureRepeat ()
Protected Member Functions inherited from WeakReferenceableMixin
| WeakReferenceableMixin ()
virtual | ~WeakReferenceableMixin ()

## Protected Attributes
bool | _inputDevice
int | _state
| The index of the currently active object in the group, 0 to N, anything else = none.
bool | _calculateInvisibleStates
| Whether or not to call calculate on invisible states.
bool | _pickInvisibleStates
| Whether or not to call pick on invisible states.
bool | _predrawInvisibleStates
| Whether or not to call predraw on invisible states.
Protected Attributes inherited from Group
DisplayObjectArray | _objects
| The objects contained in this group.
Protected Attributes inherited from DisplayObject
bool | _geometryRefresh
| Whether or not the geometry (VBOs etc.) needs to be updated on the GPU.
int | _alphaMode
bool | _antiAlias
bool | _attributesAdded
bool | _blinking
float | _blinkRate
bool | _isBlinkedOff
| Stores whether the object is presently blinked on or off.
GlsColor | _color
bool | _cullBackFace
GlsMatrixType | _dcsMatrix
unsigned char | _depthTest
GlsMatrixType * | _drawMatrix
bool | _needCalcDrawMatrix
| True if CalcDrawMatrix() needs to be called on this object.
unsigned char | _lineStippleMultiplier
unsigned short | _lineStipplePattern
float | _lineWidth
Vertex | _location
DynamicArray< int > | _materialIndices
| List of materials associated with this object.
GlsMatrixType * | _modelMatrix
Vector * | _normals
unsigned int | _nTex_vertices
unsigned int | _nVertices
unsigned char | _polygonEnd
unsigned char | _polygonMode
GlsMatrixType * | _projMatrix
unsigned char | _shading
Vector * | _texCoord
GlsColor | _textureBlendColor
int | _textureIndex
unsigned char | _textureMagFilter
unsigned char | _textureMinFilter
unsigned char | _textureMap
Vector | _texturePoints [4]
unsigned char | _textureRepeat
void * | _userData
Vertex * | _vertices
int * | _viewMatrix
bool | _visible
IGlsStateManager * | _stateManager
| The state manager that interfaces with OpenGL and maintains its render state.
Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * | _weakRefs

## Friends
class | GlsMutexGroupEditor

## Additional Inherited Members
Public Attributes inherited from Group
DynamicArray< CompatabilityListItem > | _compatList
| Used for GL Studio 2.1 compatibility only.

## Detailed Description

Runtime implementation of a GlsMutexGroup

## Constructor & Destructor Documentation

## ◆ GlsMutexGroup() [1/2]

GlsMutexGroup | ( | bool | generateInstance = `false` | ) |

Create a new GlsMutexGroup.

Parameters

  generateInstance | Whether or not to generate an instance name for this mutex group

## ◆ GlsMutexGroup() [2/2]

GlsMutexGroup | ( | const GlsMutexGroup & | that,
|  | const bool | generateNames
| ) |  |

Copy constructor

Parameters

  that | The object to copy from.
  generateNames | Whether or not to generate an instance name.

## ◆ ~GlsMutexGroup()

virtual ~GlsMutexGroup | ( |  | ) |
| virtual

Destructs a GlsMutexGroup object

## Member Function Documentation

## ◆ Calculate()

virtual void Calculate | ( | double | time | ) |
| virtual

Call the Calculate method for all children

Parameters

  time | The current time

Reimplemented from Group.

## ◆ CalculateInvisibleStates() [1/2]

bool CalculateInvisibleStates | ( |  | ) |
| inline

Returns
  The calculate option of this group, true = calculate all objects, false = calculate active object only

## ◆ CalculateInvisibleStates() [2/2]

void CalculateInvisibleStates | ( | bool | value | ) |

Sets the calculate option of this group

Parameters

  value | The new calculate option, true = calculate all objects, false = calculate active object only

## ◆ CloneObject()

virtual DisplayObject * CloneObject | ( | bool | generateNames = `false` | ) |
| virtual

Copy+Create operation in one method. In derived classes, this method will create a new instance of the derived class and then copy the object into the new instance. The cut,copy,paste and undo operations use this method.

Parameters

  generateNames | Whether or not to generate new names for cloned objects

Returns
  A new object, identical to the original, except for the instance name

Reimplemented from Group.

## ◆ CopyProperties()

virtual void CopyProperties | ( | DisplayObject * | src | ) |
| virtual

Copies the attributes except for geometry attributes from one object to another. Used by the undo mechanism to undo most attribute change operations.

Parameters

  src | The object to copy properties from

Reimplemented from Group.

## ◆ CreateInstance()

static DisplayObject * CreateInstance | ( |  | ) |
| static

Returns
  A pointer to a new GlsMutexGroup object.

## ◆ Draw()

virtual void Draw | ( |  | ) |
| virtual

Draws this object on the current display frame (_parent member). Pure virtual method

Reimplemented from Group.

## ◆ InputDeviceBehavior() [1/2]

bool InputDeviceBehavior | ( |  | ) |
| inline

Returns
  Simulate the legacy InputDevice behavior, where state 0 is always shown and the state is one-based.

## ◆ InputDeviceBehavior() [2/2]

void InputDeviceBehavior | ( | bool | value | ) |

Sets the simulation of legacy InputDevice behavior, where state 0 is always shown

Parameters

  value | True = InputDevice, False = MutexGroup

## ◆ IsVisibleInScene()

bool IsVisibleInScene | ( | const DisplayObject * | obj = `NULL` | ) | const
| virtual

Traverses upward in the hierarchy to determine if this object is visible in the scene. Overloaded for classes that handle child visibility without using the Visibility flag such as GlsMutexGroup.

Parameters

  obj | The object to start traversing from, defaults to this object if NULL.

Returns
  Whether or not the object is visible.

Reimplemented from DisplayObject.

## ◆ MutexState() [1/2]

int MutexState | ( |  | ) | const
| inline

Returns
  The mutex state of this group, -1 = none

## ◆ MutexState() [2/2]

void MutexState | ( | int | state | ) |

Sets the mutex state of this group, -1 = none

Parameters

  state | The new mutex state

## ◆ Pick3D()

virtual DisplayObject * Pick3D | ( | const Vector & | winLoc,
|  | const Vector & | logicalCoords,
|  | float | scale,
|  | const Vector & | directionVector,
|  | Vector & | collisionWinLoc,
|  | const OpenGLMatrices & | drawnMatrices
| ) |  |
| virtual

Attempts to pick an object in 3D and accounting for dynamic rotations and translations of this object or parent objects. It also looks at the pickable status and attempts to return the "Best" pick if that is what is desired.

Note: This method will pick objects in the scene based on a pick ray starting at winLoc and pointing into the screen. It will not pick objects behind the depth specified by winLoc.z. Typically winLoc.z should be set to 0 to ensure that the pick ray starts at near clip plane.

Parameters

  winLoc | Device coordinates for the mouse click. Z value should be set to 0 to ensure pick ray starts at near clip plane.
  logicalCoords | The start of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector).
  scale | Current window scale. Affects picking radius of outlines. Initial value should typically be 1.0.
  directionVector | The direction of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector).
  collisionWinLoc | Returns where the pick vector intersects the object that is hit in device coordinates.
  drawnMatrices | The matrices used to draw the object, including matrices set by parents that may have dynamically rotated, translated or scaled this object. Initial value should typically be a default OpenGLMatrices() object.

Returns
  The object that was hit, or NULL if no object hit

Reimplemented from Group.

## ◆ Pick3DUtil()

DisplayObject * Pick3DUtil | ( | const Vector & | winLoc,
|  | const Vector & | logicalCoords,
|  | float | scale,
|  | const Vector & | directionVector,
|  | Vector & | collisionWinLoc,
|  | const OpenGLMatrices & | drawnMatrices
| ) |  |
| protected

Helper routine for Pick3D,

See also
  Pick3D

Note
  Not normally called by users.

Parameters

  winLoc | Device coordinates for the mouse click. Z value should be set to 0 to ensure pick ray starts at near clip plane.
  logicalCoords | The start of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector).
  scale | Current window scale. Affects picking radius of outlines. Initial value should typically be 1.0.
  directionVector | The direction of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector).
  collisionWinLoc | Returns where the pick vector intersects the object that is hit in device coordinates.
  drawnMatrices | The matrices used to draw the object, including matrices set by parents that may have dynamically rotated, translated or scaled this object. Initial value should typically be a default OpenGLMatrices() object.

Returns
  The object that was hit, or NULL if no object hit.

## ◆ PickInvisibleStates() [1/2]

bool PickInvisibleStates | ( |  | ) |
| inline

Returns
  The picking option of this group, true = pick all objects, false = pick active object only

## ◆ PickInvisibleStates() [2/2]

void PickInvisibleStates | ( | bool | value | ) |

Sets the picking option of this group

Parameters

  value | The new picking option, true = pick all objects, false = pick active object only

## ◆ PreDraw()

virtual void PreDraw | ( | const OpenGLMatrices & | current,
|  | Culler & | culler
| ) |  |
| virtual

Traverses the hierarchy calculating the _modelMatrix, _projMatrix, _viewMatrix as needed.

Parameters

  current | Current matrices inherited from parent
  culler | Object that possibly marks this object for culling

Reimplemented from Group.

## ◆ PreDrawInvisibleStates() [1/2]

bool PreDrawInvisibleStates | ( |  | ) |
| inline

Returns
  The predraw option of this group, true = predraw all objects, false = predraw active object only

## ◆ PreDrawInvisibleStates() [2/2]

void PreDrawInvisibleStates | ( | bool | value | ) |

Sets the predraw option of this group

Parameters

  value | The new predraw option, true = predraw all objects, false = predraw active object only

## ◆ SetAvailableAttributes()

virtual void SetAvailableAttributes | ( | unsigned int | value | ) |
| virtual

Specifies which attributes are available for the object. Currently the available attributes cannot be changed after they have been set. (Only the first call has an effect.)

Parameters

  value | A bitfield specifying which types of attributes to make available.

See also
  AvailableAttributesEnum

Reimplemented from Group.

## ◆ SetFromGloData()

virtual void SetFromGloData | ( | GlsGloFileAttribute & | data | ) |
| protected virtual

Set a single attribute from the GLO file.

Parameters

  data | The attribute to set and its associated data.

Reimplemented from DisplayObject.

## ◆ SetValue()

virtual void SetValue | ( | int | spec,
|  | va_list & | args
| ) |  |
| virtual

Sets an attribute of this object using variable arguments

Parameters

  spec | A GLS_Initializer tag
  args | A variable argument list

Reimplemented from DisplayObject.

## ◆ State() [1/2]

int State | ( |  | ) |
| inline

Returns
  The InputDevice state of this group, 1 to N

## ◆ State() [2/2]

void State | ( | int | state | ) |

Sets the InputDevice state of this group, 1 to N.

Parameters

  state | The new InputDevice state

## ◆ ValidInputDeviceState()

bool ValidInputDeviceState | ( | const int | state | ) | const
| inline protected

Returns
  True if the incoming legacy input device state index is valid for this mutex group.

Parameters

  state | The index to test.

## ◆ ValidMutexState()

bool ValidMutexState | ( | const int | state | ) | const
| inline protected

Returns
  True if the incoming state index is valid for this mutex group.

Parameters

  state | The index to test.

## Member Data Documentation

## ◆ _inputDevice

bool _inputDevice
| protected

True = InputDevice functionality (state 0 always showing) False = MutexGroup functionality

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

- gls_mutex_group.h