| GL Studio C++ Runtime API

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
DisplayObject Class Referenceabstract

`#include <display.h>`

Inheritance diagram for DisplayObject:

## Public Types
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
| 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 void | UseManualBlinkElapsedTime (bool useManualTime)
static void | SetManualBlinkElapsedTime (double elapsedTime)

## Protected Member Functions
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 | _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 | DisplayObjectEditor

## Detailed Description

Base Class for all graphical objects. It is an abstract class. Each object drawn in the editor will have a corresponding object. All drawn objects are derived from this class.

## Member Enumeration Documentation

## ◆ AvailableAttributesEnum

enum AvailableAttributesEnum

Sets and retrieves the current setting used for determining what attributes get created for each object.

## Constructor & Destructor Documentation

## ◆ DisplayObject() [1/2]

DisplayObject | ( | float | x,
|  | float | y,
|  | float | z
| ) |  |

The default constructor for display objects. Generally invoked by constructors of derived classes.

Parameters

  x | X coordinate of object location
  y | Y coordinate of object location
  z | Z coordinate of object location

## ◆ DisplayObject() [2/2]

DisplayObject | ( | const DisplayObject & | object,
|  | const bool | generateNames
| ) |  |

The copy constructor for display objects

Parameters

  object | The display object that is being copied
  generateNames | Whether or not to generate a new instance name

## ◆ ~DisplayObject()

virtual ~DisplayObject | ( |  | ) |
| virtual

Virtual destructor for display object

## Member Function Documentation

## ◆ AllocateModelMatrix()

void AllocateModelMatrix | ( |  | ) |
| protected

Allocate the model matrix, if needed

## ◆ AlphaMode() [1/2]

virtual int AlphaMode | ( |  | ) |
| virtual

Get the alpha mode for this object

Returns
  Whether or not alpha testing or blending is enabled when drawing

See also
  AlphaMode_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ AlphaMode() [2/2]

virtual void AlphaMode | ( | int | mode | ) |
| virtual

Set the alpha mode state for this object

Parameters

  mode | which alpha mode to use when drawing

See also
  AlphaMode_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ AntiAlias() [1/2]

virtual bool AntiAlias | ( |  | ) |
| virtual

Get the anti aliasing state this object

Returns
  Whether or not this object will be drawn antialiased

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ AntiAlias() [2/2]

virtual void AntiAlias | ( | bool | alias | ) |
| virtual

Set the anti aliasing state for this object

Parameters

  alias | Whether or not to perform anti aliasing

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ ApplyDynamicRotation()

bool ApplyDynamicRotation | ( |  | ) |
| protected

Applies dynamic rotation to object, saving the matrix stack so that dynamic picking can occur

Returns
  True if a rotation was performed. False otherwise. If this method returns true, then the caller needs to do a glPopMatrix to restore the stack after drawing

## ◆ ApplyTextureSettings()

void ApplyTextureSettings | ( | int | textureIndex = `-1` | ) |

Second half of texture setup. Applies texture modes like modulate, decal, etc.

Parameters

  textureIndex | Index of the texture to apply

## ◆ Attributes() [1/2]

DistiAttribDict & Attributes | ( |  | ) |
| inline

Gets the full list of attributes for this object.

Returns
  A reference to the attribute dictionary in this object.

## ◆ Attributes() [2/2]

const DistiAttribDict & Attributes | ( |  | ) | const
| inline

Gets the full list of attributes for this object, except const.

Returns
  A reference to the attribute dictionary in this object.

## ◆ BlinkedOff()

virtual bool BlinkedOff | ( |  | ) |
| virtual

Returns
  True if the object is blinked off (invisible) false otherwise.

## ◆ Blinking() [1/2]

virtual bool Blinking | ( |  | ) |
| virtual

Get the blinking state this object

Returns
  Whether or not this object is blinking

## ◆ Blinking() [2/2]

virtual void Blinking | ( | const bool | blink | ) |
| virtual

Set the blinking state for this object

Parameters

  blink | Whether or not to blink this object

## ◆ BlinkRate() [1/2]

virtual float BlinkRate | ( |  | ) |
| virtual

Get the blinking rate this object

Returns
  The rate at which this object is blinking

## ◆ BlinkRate() [2/2]

virtual void BlinkRate | ( | const float | rate | ) |
| virtual

Set the blinking rate for this object

Parameters

  rate | Number of times per second to blink this object

## ◆ BoundingVolumeCenter() [1/2]

const Vector & BoundingVolumeCenter | ( |  | ) | const
| inline

Get the current bounding volume center

Returns
  The current bounding volume center

## ◆ BoundingVolumeCenter() [2/2]

void BoundingVolumeCenter | ( | const Vector & | center | ) |

Set the current bounding volume center

Parameters

  center | The new center

## ◆ BoundingVolumeHit()

bool BoundingVolumeHit | ( | const Vector & | start,
|  | const Vector & | direction
| ) |  |

Determines if the given ray hits this bounding volume

Parameters

  start | Starting point of the ray
  direction | Direction vector of the ray

Returns
  True if this bounding volume hit by the ray

## ◆ BoundingVolumeRadius() [1/2]

float BoundingVolumeRadius | ( |  | ) | const
| inline

Get the bounding sphere radius

Returns
  The bounding sphere radius

## ◆ BoundingVolumeRadius() [2/2]

void BoundingVolumeRadius | ( | float | radius | ) |

Set the bounding sphere radius

Parameters

  radius | The bounding sphere radius

## ◆ CalcDrawMatrix()

virtual void CalcDrawMatrix | ( |  | ) |
| protected virtual

Creates and recalculates the _drawMatrix If _rotation, _dynamicScale, or _dynamicTranslate change you must call CalcDrawMatrix() If _dcsMatrix, _location, or _rotationPoint change you need to call CalcDrawMatrixIfExists() These are normally called automatically for you by the API Methods that affect those values. Sub-classes may override CalcDrawMatrix() to include additional transformations in the _drawMatrix.

Reimplemented in ComponentBase.

## ◆ CalcDrawMatrixIfExists()

void CalcDrawMatrixIfExists | ( |  | ) |
| inline protected

Recalculates the _drawMatrix if it exists. See CalcDrawMatrix() for more info.

## ◆ Calculate()

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

Provides a mechanism for performing regular calculations, seperate from drawing. In a standalone applicaton Calculate is recursively called by the main loop before the objects are drawn.

Parameters

  time | The elaspsed time in seconds since program start

Reimplemented in SplashDisplay, Gls3DCable, GlsMovieTexture, GlsMovingEye, GlsMutexGroup, GlsNinePatch, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsTextBox, GlsTextGrid, GlsRSOWrapper, and Group.

## ◆ CalculateCollisionPoint()

void CalculateCollisionPoint | ( | const Vector & | pickLoc,
|  | const Vector & | directionVector,
|  | Vector * | collisionPoint
| ) |  |

Calculates where the pick vector hit this object

Parameters

  pickLoc | Start of the pick vector
  directionVector | Direction of the pick vector
  collisionPoint | Returns the collision point

## ◆ CalculateMatrices()

virtual void CalculateMatrices | ( | const OpenGLMatrices & | newMatrices | ) |
| protected virtual

Applies the _drawMatrix to the modelMatrix.
If necessary derived classes can save other matrices.

Parameters

  newMatrices | A set of matrices passed down to this object from its parent.

Reimplemented in ComponentBase.

## ◆ CalculateParentBoundingBox()

virtual void CalculateParentBoundingBox | ( |  | ) |
| virtual

Calculates the bounding box of the parent group object.

## ◆ CalculateTextureCoordinates()

virtual void CalculateTextureCoordinates | ( |  | ) |
| virtual

Recalculates the texture coordinates for the object based on the TexturePoints.

Reimplemented in GLPolygon, Gls3DCable, GlsEllipse, GlsNurbCurve, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsCylinder, GlsSphere, and Group.

## ◆ CallbackCaller() [1/2]

CallbackMethodCallerBase * CallbackCaller | ( |  | ) | const
| inline

Returns
  The current callback method for this object

## ◆ CallbackCaller() [2/2]

void CallbackCaller | ( | CallbackMethodCallerBase * | cb | ) |

Sets the callback method for this object. cb MUST be dynamically allocated since memory management will be passed to this display object. cb will be deleted when a new callback is registered via this method or when the display object is destructed.

Parameters

  cb | The new callback method for this object

## ◆ CloneObject()

virtual DisplayObject * CloneObject | ( | bool | generateNames = `false` | ) |
| pure 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

Implemented in GLPolygon, SplashDisplay, Gls3DCable, GlsAdvancedMesh, GlsAngularScale, GlsPushButton, GlsClippingGroup, GlsCTLTextBox, GlsDynamicPath, GlsEllipse, GlsKnob, GlsLinearFloatController, GlsLinearScale, GlsMimicGroup, GlsMovieTexture, GlsMovingEye, GlsMultiView, GlsMutexGroup, GlsNinePatch, GlsNurbCurve, GlsOdometer, GlsPathManager, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsSerialMorphMesh, GlsSwitch, GlsTextBox, GlsTextGrid, GlsThumbWheel, GlsVideoToTexture, ComponentBase, GlsCylinder, GlsEyePoint, GlsLightSource, GlsRSOWrapper, GlsSphere, GLTriMesh, and Group.

## ◆ ColorMaterialMode()

virtual int ColorMaterialMode | ( |  | ) |
| protected virtual

Returns
  The color material mode value of the material applied to this object, else 0.

## ◆ CopyGeometry()

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

Copies the geometry information from one object to another. Used by the undo mechanism to allow user to undo a geometry change.

Parameters

  src | The object to copy geometry from

Reimplemented in GlsAdvancedMesh, GlsCTLTextBox, GlsGeometryResourceMesh, GlsNurbCurve, GlsSchematicPolyLineInterconnect, GlsSerialMorphMesh, GlsTextBox, GlsTextGrid, ComponentBase, GlsCylinder, GlsEyePoint, GlsRSOWrapper, GlsSphere, GlsText, GLTriMesh, Group, GlsAngularScale, GlsEllipse, GlsLinearScale, GlsNinePatch, and GlsPolyLine.

## ◆ CopyHierarchyProperties()

virtual void CopyHierarchyProperties | ( | DisplayObject * | src,
|  | bool | copyName
| ) |  |
| virtual

Copies the hierarchy information from one object to another

Parameters

  src | The object to copy from
  copyName | Whether or not to copy the object name

## ◆ 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 in Gls3DCable, GlsAdvancedMesh, GlsAngularScale, GlsPushButton, GlsClippingGroup, GlsCTLTextBox, GlsDynamicPath, GlsEllipse, GlsGeometryResourceMesh, GlsKnob, GlsLinearFloatController, GlsLinearScale, GlsMimicGroup, GlsMovieTexture, GlsMovingEye, GlsMultiView, GlsMutexGroup, GlsNinePatch, GlsOdometer, GlsPathManager, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsSerialMorphMesh, GlsSwitch, GlsTextBox, GlsTextGrid, GlsThumbWheel, GlsVideoToTexture, ComponentBase, GlsCylinder, GlsEyePoint, GlsLightSource, GlsRSOWrapper, GlsSphere, GlsText, GLTriMesh, and Group.

## ◆ Create()

bool Create | ( | GlsGloFile & | dataStream,
|  | Group * | parent
| ) |  |

Create a new DisplayObject, reading the properties in order from the GLO file.

Parameters

  dataStream | The GLO data stream we are getting our properties from.
  parent | The Group that will be this object's parent.

Returns
  True on success.

## ◆ CullBackFace() [1/2]

virtual bool CullBackFace | ( |  | ) |
| virtual

Returns if back faces should be removed

Returns
  True if backfaces are removed

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ CullBackFace() [2/2]

virtual void CullBackFace | ( | const bool | val | ) |
| virtual

Sets if back faces should be removed

Parameters

  val | True if back faces should be removed

Reimplemented in Group, Gls3DCable, and GlsRSOWrapper.

## ◆ Culled() [1/2]

bool Culled | ( |  | ) | const
| inline

Returns
  Whether or not this object is currently culled.

## ◆ Culled() [2/2]

void Culled | ( | bool | val | ) |
| inline

Set whether or not the object is to be culled.

Parameters

  val | The new cull value.

## ◆ CullTest()

bool CullTest | ( | const GlsMatrixType * | matrix,
|  | const Culler & | culler
| ) |  |
| inline

This is the cull test normally performed within PreDraw().

Parameters

  matrix | Transformation from vertices to the frustrums coordinate system.
  culler | Culler to perform the test.

Returns
  True if object is to be culled, otherwise false.

## ◆ DcsMatrix() [1/3]

GlsMatrixType & DcsMatrix | ( |  | ) |
| inline

Gets the objects Dynamic Coordinate System (DCS) Matrix.

Returns
  A reference to the Dcs Matrix stored in the object.

## ◆ DcsMatrix() [2/3]

GlsMatrixType DcsMatrix | ( |  | ) | const
| inline

Gets the objects Dynamic Coordinate System (DCS) Matrix.

Returns
  The Dcs Matrix value stored in the object.

## ◆ DcsMatrix() [3/3]

void DcsMatrix | ( | const GlsMatrixType & | matrix | ) |

Sets the dcs matrix

Parameters

  matrix | the dcs matrix

## ◆ DCSToLogical()

void DCSToLogical | ( | Vector | dcsPoint,
|  | Vector & | logicalPoint,
|  | const GlsMatrixType * | dcsMatrix = `NULL`
| ) |  |

Transform a point from the object's DCS coordinate system to the logical coordinate system.

Parameters

  dcsPoint | The original point in dcs coordinates
  logicalPoint | The returned point in the objects DCS coordinate system on the XY plane.
  dcsMatrix | An alternate DCS matrix to convert from.

## ◆ DeleteVertex()

virtual void DeleteVertex | ( | unsigned int | indexAfter | ) |
| inline final virtual

Remove the Vertex at (indexAfter - 1).

Parameters

  indexAfter | One past the index to delete. If it is beyond the number of vertices or is 0, the vertices will be unchanged.

Deprecated:
  User code should use DeleteVertexAt() instead.

Note
  This virtual function is kept for backwards compatibility only. It is marked 'final' (where supported). Subclasses should override DeleteVertexAt() instead.

## ◆ DeleteVertexAt()

virtual void DeleteVertexAt | ( | unsigned int | index | ) |
| virtual

Remove the Vertex at index.

Parameters

  index | The index of the vertex to delete.

Reimplemented in GLPolygon, GlsNurbCurve, GlsPolyLine, and GlsSchematicPolyLineInterconnect.

## ◆ DepthTest() [1/2]

virtual int DepthTest | ( |  | ) |
| virtual

Get the z buffering state for this object

Returns
  Whether or not this object will be draw Z buffered

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ DepthTest() [2/2]

virtual void DepthTest | ( | unsigned char | zbuf | ) |
| virtual

Set the z buffering state for this object

Parameters

  zbuf | Whether or not to perform z buffering

Reimplemented in Group, Gls3DCable, and GlsRSOWrapper.

## ◆ Destroy()

void Destroy | ( |  | ) |

Call this to delete objects, as it handles special cases like cleanup of LiveComponents.

## ◆ Draw()

virtual void Draw | ( |  | ) |
| pure virtual

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

Implemented in Gls3DCable, GlsAngularScale, GlsPushButton, GlsClippingGroup, GlsCTLTextBox, GlsDynamicPath, GlsEllipse, GlsGeometryResourceMesh, GlsKnob, GlsLinearFloatController, GlsLinearScale, GlsLodGroup, GlsMimicGroup, GlsMovieTexture, GlsMovingEye, GlsMultiView, GlsMutexGroup, GlsNinePatch, GlsNurbCurve, GlsOdometer, GlsPathManager, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsSortedDrawGroup, GlsSwitch, GlsTextBox, GlsTextGrid, GlsThumbWheel, GlsVideoToTexture, ComponentBase, GLPolygon, GlsCylinder, GlsEyePoint, GlsLightSource, GlsRSOWrapper, GlsSphere, GLTriMesh, Group, and Statistics.

## ◆ DrawMatrix()

const GlsMatrixType * DrawMatrix | ( |  | ) |
| inline

Returns
  This object's _drawMatrix (it's contribution to the ModelMatrix) or NULL if the object does not have a _drawMatrix.

## ◆ DynamicRotate() [1/4]

void DynamicRotate | ( | const Vector & | v | ) |

Sets the dynamic rotation to the specified value for all axes (in degrees)

Parameters

  v | Vector containing the new dynamic rotation angles for each axis

## ◆ DynamicRotate() [2/4]

void DynamicRotate | ( | float | angle,
|  | int | axis
| ) |  |

Sets the dynamic rotation to the specified value for the specified axis (in degrees)

Parameters

  angle | The new dynamic rotation angle for the object
  axis | The axis to change NOTE: Not virtual

## ◆ DynamicRotate() [3/4]

void DynamicRotate | ( | float | angle[] | ) |

Sets the dynamic rotation to the specified value for all axes (in degrees)

Parameters

  angle | Array of three floats containing the new dynamic rotation angles for each axis

## ◆ DynamicRotate() [4/4]

virtual void DynamicRotate | ( | float | x,
|  | float | y,
|  | float | z
| ) |  |
| virtual

Sets the dynamic rotation to the specified value for all axes (in degrees)

Parameters

  x | The new dynamic rotation angle for the X axis
  y | The new dynamic rotation angle for the Y axis
  z | The new dynamic rotation angle for the Z axis NOTE: Is virtual. If needed overload this method.

## ◆ DynamicRotateRelative()

virtual void DynamicRotateRelative | ( | float | angle,
|  | int | axis
| ) |  |
| virtual

Changes the dynamic rotation by the specified value for the specified axis (in degrees)

Parameters

  angle | The change in dynamic rotation angle for the object
  axis | The axis to change

## ◆ DynamicRotation() [1/2]

virtual Vector DynamicRotation | ( |  | ) |
| virtual

Returns the dynamic rotation for this object on all axes.

Returns
  The vector containing the dynamic rotation values.

## ◆ DynamicRotation() [2/2]

virtual float DynamicRotation | ( | int | axis | ) |
| virtual

Gets the dynamic rotation to the specified value for the specified axis.

Parameters

  axis | The axis to get the rotation from

Returns
  The dynamic rotation angle for the axis (in degrees)

## ◆ DynamicScale() [1/3]

virtual Vector DynamicScale | ( |  | ) |
| virtual

Returns the dynamic scale values in a Vertex

Returns
  The dynamic scale values NOTE: Not virtual

## ◆ DynamicScale() [2/3]

void DynamicScale | ( | const Vector & | scale | ) |

Sets the dynamic scale values for an object.

Parameters

  scale | The new dynamic scale for the object

## ◆ DynamicScale() [3/3]

virtual void DynamicScale | ( | float | x,
|  | float | y,
|  | float | z
| ) |  |
| virtual

Sets the dynamic scale values for an object.

Parameters

  x | X scale
  y | Y scale
  z | Z scale

## ◆ DynamicTranslate() [1/3]

void DynamicTranslate | ( | const Vector & | amount | ) |

Sets the dynamic translation to the specified value for all axes (in logical units). Equivalent to DynamicTranslate( amount, false );

Parameters

  amount | The new dynamic translation for the X, Y, and Z axes NOTE: Not virtual

## ◆ DynamicTranslate() [2/3]

void DynamicTranslate | ( | const Vertex & | amount,
|  | bool | relative
| ) |  |

Sets the dynamic translation to the specified value for all axes (in logical units)

Parameters

  amount | The new dynamic translation for the X, Y, and Z axes
  relative | If true will add to existing dynamic translation NOTE: Not virtual

## ◆ DynamicTranslate() [3/3]

virtual void DynamicTranslate | ( | float | x,
|  | float | y,
|  | float | z,
|  | bool | relative = `false`
| ) |  |
| virtual

Sets the dynamic translation to the specified value for all axes (in logical units)

Note
  Make sure to pass float values for x,y,z here, or the compiler may choose an unexpected method signature.

See also
  DynamicTranslate(float, int, bool)

Parameters

  x | The new dynamic translation for the X axis
  y | The new dynamic translation for the Y axis
  z | The new dynamic translation for the Z axis
  relative | If true will add to existing dynamic translation

## ◆ DynamicTranslateAxis()

virtual void DynamicTranslateAxis | ( | float | amount,
|  | int | axis,
|  | bool | relative
| ) |  |
| virtual

Sets the dynamic translation to the specified value for the specified axis

Parameters

  amount | The new dynamic translation for the axis
  axis | Z_AXIS, Y_AXIS, or X_AXIS
  relative | If true will add to existing dynamic translation

## ◆ DynamicTranslation() [1/2]

virtual Vector DynamicTranslation | ( |  | ) |
| virtual

Returns the current dynamic translation for all axes

Returns
  the translation

## ◆ DynamicTranslation() [2/2]

virtual float DynamicTranslation | ( | int | axis | ) |
| virtual

Returns the current dynamic translation for the specified axis

Parameters

  axis | Z_AXIS, Y_AXIS, or X_AXIS

Returns
  the translation

## ◆ Editor() [1/3]

DisplayObjectEditor * Editor | ( |  | ) |

Used in the editor to access editor functionality. Gets the editor object pointer. USER CODE SHOULD NOT USE THIS METHOD!

Returns
  Pointer to editor object.

## ◆ Editor() [2/3]

const DisplayObjectEditor * Editor | ( |  | ) | const

Used in the editor to access editor functionality. Gets the editor object pointer. USER CODE SHOULD NOT USE THIS METHOD!

Returns
  Pointer to editor object.

## ◆ Editor() [3/3]

void Editor | ( | DisplayObjectEditor * | editor | ) |

Used in the editor to access editor functionality. Sets the editor object pointer. USER CODE SHOULD NOT USE THIS METHOD!

Parameters

  editor | Pointer to editor object.

## ◆ FinishObject()

virtual void FinishObject | ( |  | ) |
| inline virtual

Allows the object the opportunity to configure itself after having all its children initialized and properties set by the code generator. By default, users do not need to call this function, it is called by the generated code in CreateObjects() if the object is a user defined class. User defined classes can override this, calling BaseClass::FinishObject(), before supplying class specific initialization code as needed. User code should only conisder itself and its children as the hierarchy above will not have been set up yet. User code should not call FinishObject on its children, since it will have already been called when those children were created. This method will be called by generated code once this object and its children have been fully instantiated.

## ◆ GenerateInstanceName()

virtual void GenerateInstanceName | ( |  | ) |
| virtual

Dynamically generate a name for the object, based on the current time

Reimplemented in GlsMovingEye.

## ◆ GetApplicableTextureIndex()

int GetApplicableTextureIndex | ( |  | ) |
| protected

Returns
  _textureIndex if not -1, otherwise returns the group texture index.

## ◆ GetApplicableTextureRepeat()

int GetApplicableTextureRepeat | ( |  | ) |
| protected

Returns
  _textureRepeat if _textureIndex is not -1, otherwise returns the group texture repeat setting.

## ◆ GetBlendColor() [1/3]

virtual GlsColor GetBlendColor | ( |  | ) |
| virtual

Gets the texture blend color for the object

Returns
  Returns the current texture blend color.

Reimplemented in Group, Gls3DCable, GlsRSOWrapper, and Group.

## ◆ GetBlendColor() [2/3]

void GetBlendColor | ( | unsigned char & | r,
|  | unsigned char & | g,
|  | unsigned char & | b,
|  | unsigned char & | a
| ) |  |

Gets the texture blend color for the object

Parameters

  r | Returns red color component (0-255 range)
  g | Returns Green color component (0-255 range)
  b | Returns Blue color component (0-255 range)
  a | Returns Alpha color component (0-255 range) NOTE: Not Virtual. Simply calls void GetBlendColor(const GlsColor& color);

## ◆ GetBlendColor() [3/3]

void GetBlendColor | ( | unsigned char | color[] | ) |

Gets the texture blend color for the object

Parameters

  color | Filled in with RGBA (0-255 range) NOTE: Not Virtual. Simply calls void GetBlendColor(const GlsColor& color);

## ◆ GetCenter()

virtual void GetCenter | ( | Vector & | center | ) |
| virtual

Gets the location of the center of the object in logical units. Value is based on the extents of the object and does not take into consideration dynamic rotation

Parameters

  center | Will contain the center coordinate on return

## ◆ GetColor() [1/3]

virtual GlsColor GetColor | ( |  | ) |
| virtual

Gets the color for the object outline

Returns
  The outline color

Reimplemented in Group, Gls3DCable, GlsRSOWrapper, and Group.

## ◆ GetColor() [2/3]

void GetColor | ( | unsigned char & | r,
|  | unsigned char & | g,
|  | unsigned char & | b,
|  | unsigned char & | a
| ) |  |

Gets the RGBA color for the object outline

Parameters

  r | Gets the red component (0-255 range) of the line color for the object
  g | Gets the blue component (0-255 range) of the line color for the object
  b | Gets the green component (0-255 range) of the line color for the object
  a | Gets the alpha component (0-255 range) of the line color for the object NOTE: Not Virtual. Simply calls void GetColor(const GlsColor& color)

## ◆ GetColor() [3/3]

void GetColor | ( | unsigned char | c4[] | ) |

Gets the RGBA color for the object outline

Parameters

  c4 | Gets the RGBA line color (0-255 range) for the object NOTE: Not Virtual. Simply calls void GetColor(const GlsColor& color)

## ◆ GetExtents()

virtual void GetExtents | ( | float & | x,
|  | float & | y,
|  | float & | z,
|  | float & | x1,
|  | float & | y1,
|  | float & | z1
| ) |  |
| virtual

Figure out the static extents for the object. Used by the editor as part of the pick operation and for figuring out the size of groups.

Parameters

  x | Gets the minimum x extent
  y | Gets the minimum y extent
  z | Gets the minimum z extent
  x1 | Gets the maximum x extent
  y1 | Gets the maximum y extent
  z1 | Gets the maximum z extent

Reimplemented in GlsAngularScale, GlsEllipse, GlsGeometryResourceMesh, GlsNinePatch, GlsPolyLine, GlsNurbCurve, GlsSchematicPolyLineInterconnect, ComponentBase, GlsCylinder, GlsRSOWrapper, GlsSphere, and Group.

## ◆ GetExtentsDCS()

void GetExtentsDCS | ( | Vector & | min,
|  | Vector & | max
| ) |  |

Determines the static extents of geometry projected to the XY plane of the object's DCS.

Parameters

  min | Returns the minimum values found in the traversal
  max | Returns the maximum values found in the traversal

## ◆ GetFillColor() [1/3]

virtual GlsColor GetFillColor | ( |  | ) |
| virtual

Gets the fill color of the object

Returns
  The fill color

Reimplemented in GlsCylinder, GlsSphere, Group, GlsEllipse, Gls3DCable, GlsEllipse, GlsNinePatch, GlsCylinder, GlsSphere, and Group.

## ◆ GetFillColor() [2/3]

void GetFillColor | ( | unsigned char & | r,
|  | unsigned char & | g,
|  | unsigned char & | b,
|  | unsigned char & | a
| ) |  |

Gets the RGBA color for filling the object

Parameters

  r | Gets the red component (0-255 range) of the fill color for the object
  g | Gets the blue component (0-255 range) of the fill color for the object
  b | Gets the green component (0-255 range) of the fill color for the object
  a | Gets the alpha component (0-255 range) of the fill color for the object NOTE: NOT Virtual Simply calls GlsColor GetFillColor()

## ◆ GetFillColor() [3/3]

void GetFillColor | ( | unsigned char | c4[] | ) |

Gets the RGBA color for filling the object

Parameters

  c4 | Gets the RGBA fill color (0-255 range) for the object NOTE: NOT Virtual. Simply calls GlsColor GetFillColor()

## ◆ GetLocation() [1/2]

virtual void GetLocation | ( | float & | x,
|  | float & | y,
|  | float & | z
| ) |  |
| virtual

Gets the location of the origin of the object

Parameters

  x | Will be filled in with the x coordinate
  y | Will be filled in with the y coordinate
  z | Will be filled in with the z coordinate

## ◆ GetLocation() [2/2]

virtual void GetLocation | ( | Vertex & | v | ) |
| virtual

Gets the location of the origin of the object

Parameters

  v | Will be filled in with the current location

## ◆ GetPainter()

virtual GlsPainter * GetPainter | ( |  | ) |
| virtual

Returns
  The painter for this object, or NULL if none. This is an observer pointer and should not be deleted.

## ◆ GetPlaneVectorPoints()

virtual bool GetPlaneVectorPoints | ( | Vertex & | p1,
|  | Vertex & | p2,
|  | Vertex & | p3,
|  | Vertex & | planeVector
| ) |  |
| virtual

Finds three coplanar points and the surface normal, if possible. This calculation is performed using the Vertices() of this object. Used in the editor to determine how to map a texture onto an object.

Parameters

  p1 | Returns a point on the plane
  p2 | Returns a point on the plane
  p3 | Returns a point on the plane
  planeVector | Returns the surface normal of the plane

Returns
  True if 3 coplanar points were found

Reimplemented in GlsCylinder, and GlsSphere.

## ◆ GetResources()

virtual void GetResources | ( | std::ostream & | outstr,
|  | GlsResourceFilter * | filter = `NULL`
| ) |  |
| virtual

Writes the resources (attributes) of this object to the specified stream. The output of this method can be controlled by the GlsResourceFilter. Note that if filter->NamesOnly() is false (the default), then only resources that can return a value will appear in the list.

See also
  GlsResourceFilter
  DistiAttributeProperty

Parameters

  outstr | The stream to write to
  filter | The filter to determine what to write

Reimplemented in Gls3DCable, GlsDynamicPath, GlsPathManager, GlsMultiView, ComponentBase, GlsRSOWrapper, and Group.

## ◆ GetRotationPoint()

virtual void GetRotationPoint | ( | Vertex & | v | ) |
| virtual

Gets the location of the rotation point for the object.

Parameters

  v | Will be filled in with the current rotation point

## ◆ GetTextureCoordinates()

Vector * GetTextureCoordinates | ( |  | ) |
| inline

Gets the object's texture coordinates

Returns
  Pointer to the object's texture coordinate array. NULL if the object is not textured.

See also
  TextureCoordinates()
  GetTexturePoints()

## ◆ GetTexturePoints()

virtual Vector * GetTexturePoints | ( |  | ) |
| virtual

Gets the object's texture points

Returns
  Pointer to the object's texture point array.

Note
  For most DisplayObjects, the Texture Points are used to compute the texture coordinates. The TexturePoints are four vertices that describe where the "corners" of the texture is in Vertex Coordinates (i.e., the object's parent's logical coordinate space translated to the object location). The DisplayObject then uses a projection to compute the texture coordinates from these points. The most common is a Planar mapping, but a few objects use other mappings (e.g. Spherical or Cylindrical).

See also
  TextureCoordinates()
  GetTextureCoordinates()

## ◆ GetTexturePointTransformationMatrix()

bool GetTexturePointTransformationMatrix | ( | GlsMatrixType & | world2tex | ) |

Converts the object's texture points into a transformation matrix for use in calculating the object's texture coordinates.

Parameters

  world2tex | Returned matrix result.

Returns
  True if successful, otherwise false.

## ◆ GetTransformedExtents()

virtual void GetTransformedExtents | ( | Vector & | min,
|  | Vector & | max,
|  | const GlsMatrixType & | matrix,
|  | bool | resetMinMax = `true`
| ) |  |
| virtual

Determines the static extents of the geometry projected to the XY plane of an arbirary coordinate system.

Parameters

  min | Returns the minimum values found in the traversal
  max | Returns the maximum values found in the traversal
  matrix | Transformation matrix from logical coordinates to the coordinate system to determine the extents in.
  resetMinMax | Normally not specified by user. Should be true for the initial call.

Reimplemented in GlsAngularScale, GlsEllipse, GlsNinePatch, GlsGeometryResourceMesh, GlsNurbCurve, ComponentBase, GlsRSOWrapper, and Group.

## ◆ handle()

virtual DisplayObject * handle | ( | DisplayEvent * | ev | ) |
| virtual

Handles an event that is sent to the object.

Parameters

  ev | The event to send to the object

Returns
  Which object handled the event

Reimplemented in GlsMimicGroup, Gls3DCable, GlsAngularScale, GlsPushButton, GlsDynamicPath, GlsEllipse, GlsKnob, GlsLinearFloatController, GlsMultiView, GlsOdometer, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsSwitch, GlsThumbWheel, and GlsRSOWrapper.

## ◆ Hit()

virtual bool Hit | ( | float | x,
|  | float | y,
|  | float | z,
|  | float | scale,
|  | const Vector & | directionVector,
|  | Vector * | collisionPoint
| ) |  |
| virtual

Determines if the object is hit by a pick ray starting at (x,y,z) and pointing towards directionVector in object logical coordinate system. If Pickable() == PICK_BEST it will return the closest point that was hit, otherwise it returns the first point that was hit. This method should not pick points behind the viewer.

Parameters

  x | X coordinate of pick ray start in logical coordinates.
  y | Y coordinate of pick ray start in logical coordinates.
  z | Z coordinate of pick ray start in logical coordinates.
  scale | The scale factor of the window. Affects picking of outlines. Standard value is 1.0.
  directionVector | The direction of the pick ray.
  collisionPoint | If this method returns true, this Vector will contain the location that was hit in logical coordinates.

Returns
  boolean indicating if the object was hit by the pick ray.

Reimplemented in Gls3DCable, GlsAngularScale, GlsDynamicPath, GlsEllipse, GlsGeometryResourceMesh, GlsLinearFloatController, GlsLinearScale, GlsNinePatch, GlsNurbCurve, GlsPathManager, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsCylinder, GlsLightSource, GlsSphere, GLTriMesh, and Group.

## ◆ HitUtil()

virtual bool HitUtil | ( | float | x,
|  | float | y,
|  | float | z,
|  | float | scale,
|  | Vertex * | vertices,
|  | unsigned int | vertex_cnt,
|  | const Vector & | directionVector,
|  | Vector * | collisionPoint
| ) |  |
| virtual

Determines if the object is hit by a pick ray starting at (x,y,z) and pointing towards directionVector in the object logical coordinate system If Pickable() == PICK_BEST it will return the closest point that was hit, otherwise it returns the first point that was hit. This method should not pick points behind the viewer.

Parameters

  x | X coordinate of pick ray start in logical coordinates.
  y | Y coordinate of pick ray start in logical coordinates.
  z | Z coordinate of pick ray start in logical coordinates.
  scale | The scale factor of the window. Affects picking of outlines. Standard value is 1.0.
  vertices | An array of vertices describing the Object.
  vertex_cnt | Size of the vertices array.
  directionVector | The direction of the pick vector.
  collisionPoint | If this method returns true, this Vector will contain the location that was hit in logical coordinates.

Returns
  True if click is inside, false otherwise.

Comment: The hit determination algorithm is based on the principle that a point is inside a polygon if a line drawn through the point intersects an even number of edges.

## ◆ InsertVertex()

virtual void InsertVertex | ( | unsigned int | indexAfter | ) |
| inline final virtual

Insert a new vertex into the vertex array, duplicating the vertex at (indexAfter - 1).

Parameters

  indexAfter | One past the index to insert. The vertex before this (or the last vertex, if more than the number of vertices) will be duplicated. If 0, the 0th vertex will be duplicated.

Deprecated:
  New code should use InsertVertexAt().

Note
  This virtual function is kept for backwards compatibility only. It is marked 'final' (where supported). Subclasses should override InsertVertexAt() instead.

## ◆ InsertVertexAt()

virtual void InsertVertexAt | ( | unsigned int | index | ) |
| virtual

Insert a vertex at index. Duplicate the vertex pointed to by index, so that there are two vertices that are exactly the same. If index is greater than the number of vertices, then the last vertex is duplicated.

Parameters

  index | The index to insert a vertex at.

Reimplemented in GlsSchematicPolyLineInterconnect.

## ◆ InsideVertexExtents()

bool InsideVertexExtents | ( | float | x,
|  | float | y,
|  | unsigned int | nVerts,
|  | Vertex * | verts,
|  | float | tolerance
| ) |  |
| protected

Parameters

  x | X coordinate of pick point.
  y | Y coordinate of pick point.
  nVerts | Number of vertices to try.
  verts | Vertex array to try.
  tolerance | Picking tolerance.

Returns
  True if the point is inside the 2D extents of the given vertices.

## ◆ InstanceName() [1/3]

char * InstanceName | ( |  | ) |

Gets the name for the object.

Returns
  The name of the object.

## ◆ InstanceName() [2/3]

const char * InstanceName | ( |  | ) | const

Gets the name for the object, but const.

Returns
  The name of the object.

## ◆ InstanceName() [3/3]

void InstanceName | ( | const char * | name | ) |

Sets the name for the object. This name corresponds to the name that is generated in the source code.

Parameters

  name | The new name for the object

## ◆ InvalidatePainter()

void InvalidatePainter | ( |  | ) |

Invalidates the painter set on this object if that painter exists. Typically called by user code when it modifies an object in such a way where the painter invalidation system wouldn't work automatically (for example, directly modifying vertex data).

## ◆ IsVisibleInScene()

virtual 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 in GlsPushButton, GlsMutexGroup, and GlsSwitch.

## ◆ LastDrawMatrixLocation() [1/2]

const Vertex & LastDrawMatrixLocation | ( |  | ) |
| inline protected

Used internally to determine if the user has modified the location.

Returns
  The location where the object was last drawn.

## ◆ LastDrawMatrixLocation() [2/2]

void LastDrawMatrixLocation | ( | const Vertex & | loc | ) |
| inline protected

Used internally to determine if the user has modified the location.

Parameters

  loc | The location to set.

## ◆ LightingEnabled() [1/2]

virtual bool LightingEnabled | ( |  | ) |
| virtual

Returns
  The current lighting state.

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ LightingEnabled() [2/2]

virtual void LightingEnabled | ( | bool | lighting | ) |
| virtual

Sets the lighting state.

Parameters

  lighting | The new lighting state.

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ LineStippleMultiplier() [1/2]

virtual int LineStippleMultiplier | ( |  | ) |
| virtual

Get the line stipple multiplier for this object

Returns
  The line stipple multiplier for this object

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ LineStippleMultiplier() [2/2]

virtual void LineStippleMultiplier | ( | int | mult | ) |
| virtual

Set the line stipple multiplier for this object

Parameters

  mult | The new line stipple pattern

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ LineStipplePattern() [1/2]

virtual int LineStipplePattern | ( |  | ) |
| virtual

Get the line stipple pattern for this object

Returns
  The line stipple pattern for this object

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ LineStipplePattern() [2/2]

virtual void LineStipplePattern | ( | int | pattern | ) |
| virtual

Set the line stipple pattern for this object

Parameters

  pattern | The new line stipple pattern

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ LineWidth() [1/2]

virtual float LineWidth | ( |  | ) |
| virtual

Gets the width of lines in the object.

Returns
  The line width of the object in logical units

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ LineWidth() [2/2]

virtual void LineWidth | ( | float | width | ) |
| virtual

Sets the width of lines in the object.

Parameters

  width | The new line width of the object in logical units

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ Location() [1/3]

virtual const Vertex & Location | ( |  | ) | const
| virtual

Returns
  The location of the origin of the object Lifetime is guaranteed to coincide with the DisplayObject's lifetime.

Reimplemented in Group, and ComponentBase.

## ◆ Location() [2/3]

virtual void Location | ( | const Vertex & | v | ) |
| virtual

Sets the location of the origin of the object

Parameters

  v | The new location

Reimplemented in Group, ComponentBase, ComponentBase, and Group.

## ◆ Location() [3/3]

virtual void Location | ( | float | x,
|  | float | y,
|  | float | z
| ) |  |
| virtual

Sets the location of the origin of the object

Parameters

  x | X Coordinate of the new location
  y | Y Coordinate of the new location
  z | Z Coordinate of the new location

Reimplemented in Group, ComponentBase, ComponentBase, and Group.

## ◆ LogicalToDCS()

void LogicalToDCS | ( | Vector | logicalPoint,
|  | Vector & | objectLocal,
|  | const Vector * | directionVector,
|  | const Vector & | planeNormal = `Vector(0, 0, 1)`,
|  | const Vector & | planePoint = `Vector()`,
|  | const GlsMatrixType * | dcsMatrix = `NULL`
| ) |  |

PROJECT a point from logical coordinates to the object's DCS's XY plane

Parameters

  logicalPoint | The original point in logical coordinates
  objectLocal | The returned point in the objects DCS coordinate system on the XY plane.
  directionVector | The direction vector to use when projecting the point. If NULL, the point will be converted but not projected.
  planeNormal |
  planePoint |
  dcsMatrix | An alternate DCS matrix to convert to.

## ◆ LogicalToWindow()

bool LogicalToWindow | ( | const Vector & | logical,
|  | Vector & | winLoc,
|  | const OpenGLMatrices & | alternateMatrices = `OpenGLMatrices()`
| ) |  |

Convert a point from logical coordinates to window coordinates.

Parameters

  logical | The point in logical coordinates.
  winLoc | The returned value in window coordinates. Z Ranges from 0.0 to 1.0. 0.0 is near clip, 1.0 is far clip.
  alternateMatrices | When supplied it is used instead of self determined matrices.

Returns
  True if the conversion succeeded, otherwise false.

## ◆ MaterialIndex() [1/2]

virtual int MaterialIndex | ( |  | ) |
| virtual

Returns
  The current material index. Returns -1 if multiple are applied.

Reimplemented in GlsGeometryResourceMesh, GlsRSOWrapper, and GLTriMesh.

## ◆ MaterialIndex() [2/2]

virtual void MaterialIndex | ( | int | index | ) |
| virtual

Sets the material index.

Parameters

  index | The new material index to set.

Reimplemented in GlsRSOWrapper.

## ◆ MaterialIndices() [1/2]

virtual DynamicArray< int > & MaterialIndices | ( |  | ) |
| virtual

Returns
  A list of material indices.

Reimplemented in GlsGeometryResourceMesh, and GLTriMesh.

## ◆ MaterialIndices() [2/2]

virtual void MaterialIndices | ( | DynamicArray< int > | indices | ) |
| virtual

Sets the list of material indices.

Parameters

  indices | The new material list to set.

Reimplemented in GLTriMesh, and GlsGeometryResourceMesh.

## ◆ ModelMatrix()

GlsMatrixType * ModelMatrix | ( |  | ) |

Returns
  The saved Model matrix, if any. Normally not used by the user.

## ◆ NeedCalcDrawMatrix()

bool NeedCalcDrawMatrix | ( |  | ) |
| inline

Returns
  True if the draw matrix needs to be calculated

## ◆ NeedCalculate() [1/2]

bool NeedCalculate | ( |  | ) |
| inline

Returns
  true if Calculate() needs to be called on this object

## ◆ NeedCalculate() [2/2]

void NeedCalculate | ( | bool | val | ) |
| inline protected

Set whether or not Calculate() will be called on this object.

Parameters

  val | The new calculate value.

## ◆ Normals()

Vector * Normals | ( |  | ) |
| inline

Gets the object's normals.

Returns
  Pointer to the object's normal vertex array

## ◆ NotifyAttributeChanged()

void NotifyAttributeChanged | ( | const AttributeName & | name | ) |
| override virtual

Implements AttributeChangedNotifier::NotifyAttributeChanged. Notify the class that the attribute has changed. Observers of the attribute will have their callbacks called

Parameters

  name | the name of the attribute

Implements AttributeChangedNotifier.

## ◆ NumberOfVertices()

unsigned int NumberOfVertices | ( |  | ) | const
| inline

Gets the object's number of vertices.

Returns
  The integer number of vertices in the object

## ◆ ObjectDepth()

virtual float ObjectDepth | ( |  | ) |
| virtual

Get the depth (in the Z Dimension) of the object in logical units. Value is based on the extents of the object and does not take into consideration dynamic rotation

Returns
  The depth in logical units (based on extents in the Z Dimension)

## ◆ ObjectHeight()

virtual float ObjectHeight | ( |  | ) |
| virtual

Get the height (in the Y Dimension) of the object in logical units. Value is based on the extents of the object and does not take into consideration dynamic rotation

Returns
  The height in logical units (based on extents in the Y Dimension)

## ◆ ObjectWidth()

virtual float ObjectWidth | ( |  | ) |
| virtual

Get the width (in the X Dimension) of the object in logical units. Value is based on the extents of the object and does not take into consideration dynamic rotation

Returns
  The width in logical units (based on extents in the X Dimension)

## ◆ Parent() [1/2]

DisplayFrame * Parent | ( |  | ) | const
| inline

Gets the parent display frame pointer for this object

Returns
  The parent display frame of this object

## ◆ Parent() [2/2]

virtual void Parent | ( | DisplayFrame * | par | ) |
| virtual

Sets the parent display frame pointer for this object to the indicated display frame

Parameters

  par | The new display frame to be the parent object

Reimplemented in Group, GlsSchematicTeeInterconnect, ComponentBase, ComponentBase, and Group.

## ◆ ParentGroup() [1/2]

Group * ParentGroup | ( |  | ) | const
| inline

Gets the parentGroup pointer for this object

Returns
  The group to which this object belongs

## ◆ ParentGroup() [2/2]

virtual void ParentGroup | ( | Group * | group | ) |
| virtual

Sets the parentGroup pointer for this object

Parameters

  group | The group to which this object belongs

Reimplemented in GlsSchematicTeeInterconnect.

## ◆ 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 in Gls3DCable, GlsPushButton, GlsClippingGroup, GlsGeometryResourceMesh, GlsMultiView, GlsMutexGroup, GlsThumbWheel, ComponentBase, GLPolygon, GlsRSOWrapper, and Group.

## ◆ Pickable() [1/2]

unsigned char Pickable | ( |  | ) |
| inline

Get the pickable state for this object

Returns
  The pick mode

See also
  PickableType_e

## ◆ Pickable() [2/2]

virtual void Pickable | ( | unsigned char | pick | ) |
| virtual

Set the pickable state for this object

Parameters

  pick | The pick mode

See also
  PickableType_e

## ◆ PickCleanup()

void PickCleanup | ( | Vertex * | vertices,
|  | unsigned int | vertex_cnt
| ) |  |
| protected

Restores the temporarily rotated vertices

Parameters

  vertices | Vertex array to restore
  vertex_cnt | Number of vertices to restore

## ◆ PickSetup()

void PickSetup | ( | float | x,
|  | float | y,
|  | float | z,
|  | Vertex * | vertices,
|  | unsigned int | vertex_cnt,
|  | const Vector & | directionVector
| ) |  |
| protected

Sets up the object for picking by dynamically rotating vertices

Parameters

  x | X coordinate of pick point
  y | Y coordinate of pick point
  z | Z coordinate of pick point
  vertices | Vertex array to setup
  vertex_cnt | Number of vertices to setup
  directionVector | dynamic rotation vector

## ◆ PolygonEnd() [1/2]

virtual int PolygonEnd | ( |  | ) |
| virtual

Gets the polygon end mode (Open or Closed) for the polygon

Returns
  Enumeration indicating open or closed mode

See also
  PolygonClose_e

Reimplemented in GlsPolyLine, Gls3DCable, GlsRSOWrapper, and Group.

## ◆ PolygonEnd() [2/2]

virtual void PolygonEnd | ( | const int | end | ) |
| virtual

Sets the polygon end mode (Open or Closed) for the polygon

Parameters

  end | Enumeration indicating open or closed mode

See also
  PolygonClose_e

Reimplemented in GlsPolyLine, Gls3DCable, GlsPolyLine, GlsRSOWrapper, and Group.

## ◆ PolygonMode() [1/2]

virtual int PolygonMode | ( |  | ) |
| virtual

Gets the polygon drawing mode for this object

Returns
  The polygon drawing mode for this object

See also
  PolygonMode_e

Reimplemented in Gls3DCable, GlsNinePatch, GlsRSOWrapper, and Group.

## ◆ PolygonMode() [2/2]

virtual void PolygonMode | ( | int | mode | ) |
| virtual

Sets the polygon drawing mode for this object

Parameters

  mode | The new polygon drawing mode for this object

See also
  PolygonMode_e

Reimplemented in Gls3DCable, GlsNinePatch, GlsRSOWrapper, and Group.

## ◆ 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 in Gls3DCable, GlsCTLTextBox, GlsMovieTexture, GlsNinePatch, GlsTextBox, GlsTextGrid, ComponentBase, GLPolygon, GlsLightSource, GlsRSOWrapper, GLTriMesh, Group, Statistics, GlsAdvancedMesh, GlsAngularScale, GlsPushButton, GlsDynamicPath, GlsEllipse, GlsGeometryResourceMesh, GlsKnob, GlsLinearFloatController, GlsLinearScale, GlsLodGroup, GlsMultiView, GlsMutexGroup, GlsNurbCurve, GlsOdometer, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsSerialMorphMesh, GlsSwitch, GlsThumbWheel, and GlsVideoToTexture.

## ◆ ProjMatrix()

GlsMatrixType * ProjMatrix | ( |  | ) |

Returns
  The saved Projection matrix, if any. Normally not used by the user.

## ◆ ReallocateVertices()

virtual void ReallocateVertices | ( | unsigned int | numVertices,
|  | bool | initializeNew,
|  | bool | copyOld
| ) |  |
| virtual

Reallocates the vertex and texture coordinate and normal arrays. Existing vertices are copied . If the new size is less than the old size, the first numVertices vertices are copied. If the new size is larger, all vertices are copied and the new vertices are initialized to zero.

Parameters

  numVertices | The new number of vertices for the object
  initializeNew | Whether or not to initialize the new vertices
  copyOld | Whether or not to copy the old data

## ◆ RelativeAngle()

virtual float RelativeAngle | ( | const float | x,
|  | const float | y
| ) |  |
| virtual

Return the relative angle of an line constructed from the given point to the _location of the object, (in the xy plane)

Parameters

  x | X coordinate of endpoint
  y | Y coordinate of endpoint

Returns
  Relative angle in degrees

## ◆ Resource()

virtual DistiAttributeBase & Resource | ( | const char * | name | ) |
| virtual

Gets a reference to the specified attribute for reading and writing. This reference can be streamed into and out of variables. For Example: someObject->Resource("Visible") >> someBool; someBool << someObject->Resource("Visible");

Parameters

  name | The name of the attribute to be returned.

Returns
  A reference to the attribute if it is present, or DistiEmptyAttribute if not.

Reimplemented in Gls3DCable, GlsDynamicPath, GlsMultiView, GlsPathManager, ComponentBase, and GlsRSOWrapper.

## ◆ Rotate() [1/3]

virtual void Rotate | ( | const Vector & | orig,
|  | float | angle,
|  | const Vector & | axis
| ) |  |
| virtual

Rotates the object (around the specified axis) by the angle indicated, at the point specified. Recalculates the vertex data.

Parameters

  orig | The point to rotate around
  angle | The angle to rotate by, in degrees
  axis | The arbitrary axis to rotate the object around

Reimplemented in GlsCylinder, GlsEyePoint, GlsSphere, GlsText, Group, GlsNurbCurve, GlsPolyLine, GlsAngularScale, GlsEllipse, GlsGeometryResourceMesh, GlsLinearScale, GlsNinePatch, GlsNurbCurve, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, ComponentBase, ComponentBase, GlsCylinder, GlsEyePoint, GlsRSOWrapper, GlsRSOWrapper, GlsSphere, GlsText, and Group.

## ◆ Rotate() [2/3]

virtual void Rotate | ( | const Vector & | origin,
|  | float | angle,
|  | int | axis = `Z_AXIS`
| ) |  |
| virtual

Rotates the object (around the specified axis) by the angle indicated, at the point specified. Recalculates the vertex data.

Parameters

  origin | The point to rotate around
  angle | The angle to rotate by, in degrees
  axis | The axis to rotate the object around

Reimplemented in GlsCylinder, GlsEyePoint, GlsSphere, GlsText, Group, GlsNurbCurve, and GlsPolyLine.

## ◆ Rotate() [3/3]

virtual void Rotate | ( | float | angle,
|  | int | axis = `Z_AXIS`
| ) |  |
| virtual

Rotates the object (around the specified axis) by the angle indicated, at the object's rotation point. Recalculates the vertex data.

Parameters

  angle | The angle to rotate by, in degrees
  axis | The axis to rotate the object around.

Reimplemented in GlsCylinder, GlsEyePoint, GlsSphere, GlsText, Group, GlsNurbCurve, and GlsPolyLine.

## ◆ RotationPoint() [1/3]

const Vertex & RotationPoint | ( |  | ) | const
| inline

Returns
  The rotation point for the object. Lifetime is guaranteed to coincide with the DisplayObject's lifetime.

## ◆ RotationPoint() [2/3]

virtual void RotationPoint | ( | const Vertex & | v | ) |
| virtual

Sets the location of the rotation point for the object. Dynamic rotation of the object will cause the object to be rotated around this point.

Parameters

  v | The new rotation point

## ◆ RotationPoint() [3/3]

virtual void RotationPoint | ( | float | x,
|  | float | y,
|  | float | z
| ) |  |
| virtual

Sets the location of the rotation point for the object. Dynamic rotation of the object will cause the object to be rotated around this point.

Parameters

  x | X Coordinate of the new rotation point
  y | Y Coordinate of the new rotation point
  z | Z Coordinate of the new rotation point

## ◆ SaveMatrices()

void SaveMatrices | ( |  | ) |

Causes the Projection, Model and View matrix for this object to be saved. Used by the 3D picking algorithm. Normally not used by the user.

## ◆ Scale()

virtual void Scale | ( | float | px,
|  | float | py,
|  | float | pz,
|  | Vertex * | anchor,
|  | int | handleBar = `0`
| ) |  |
| virtual

Scales the object, either the handleBar, or the Anchor is used to translate the object, not both. Anchor takes presidence, if it is set HandleBar is ignored. The footprint is different from the 2D scale so the compiler can destinguish the two.

Parameters

  px | Value of the percentage of scale in x-axis
  py | Value of the percentage of scale in y-axis
  pz | Value of the percentage of scale in z-axis
  anchor | Anchor from which to scale object relative to
  handleBar | Vertex that is being dragged

Reimplemented in GlsNurbCurve, GlsAngularScale, GlsCTLTextBox, GlsEllipse, GlsLinearScale, GlsNinePatch, GlsPolyLine, GlsTextBox, GlsTextGrid, GlsSphere, GlsCylinder, GlsSphere, GlsNurbCurve, GlsPolyLine, GlsTextBox, GlsTextGrid, GlsGeometryResourceMesh, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsCylinder, ComponentBase, GlsRSOWrapper, ComponentBase, GlsRSOWrapper, and Group.

## ◆ Set()

void Set | ( | int | spec,
|  |  | ...
| ) |  |

Set attributes of the object using VarArgs style interface Object attributes are defined with an enumeration. This routine is designed to make generated code very clean and readable.

See also
  GLS_Initializers

Parameters

  spec | The enum for the first attribute value to set.

## ◆ 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 in GlsNurbCurve, Gls3DCable, GlsAdvancedMesh, GlsAngularScale, GlsPushButton, GlsClippingGroup, GlsCTLTextBox, GlsDynamicPath, GlsEllipse, GlsGeometryResourceMesh, GlsKnob, GlsLinearFloatController, GlsLinearScale, GlsLodGroup, GlsMimicGroup, GlsMovieTexture, GlsMovingEye, GlsMultiView, GlsMutexGroup, GlsNinePatch, GlsOdometer, GlsPathManager, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsSerialMorphMesh, GlsSwitch, GlsTextBox, GlsTextGrid, GlsThumbWheel, GlsVideoToTexture, ComponentBase, GlsCylinder, GlsEyePoint, GlsLightSource, GlsSphere, GlsText, GLTriMesh, and Group.

## ◆ SetBlendColor() [1/3]

virtual void SetBlendColor | ( | const GlsColor & | color | ) |
| virtual

Sets the texture blend color for the object

Parameters

  color | A GlsColor

Reimplemented in Group, Gls3DCable, GlsRSOWrapper, and Group.

## ◆ SetBlendColor() [2/3]

void SetBlendColor | ( | unsigned char | color[] | ) |

Sets the texture blend color for the object

Parameters

  color | RGBA color (0-255 range) NOTE: Not Virtual. Simply calls void SetBlendColor(const GlsColor& color);

## ◆ SetBlendColor() [3/3]

void SetBlendColor | ( | unsigned char | r,
|  | unsigned char | g,
|  | unsigned char | b,
|  | unsigned char | a
| ) |  |

Sets the texture blend color for the object

Parameters

  r | Red color component (0-255 range)
  g | Green color component (0-255 range)
  b | Blue color component (0-255 range)
  a | Alpha color component (0-255 range) NOTE: Not Virtual. Simply calls void SetBlendColor(const GlsColor& color);

## ◆ SetColor() [1/3]

virtual void SetColor | ( | const GlsColor & | color | ) |
| virtual

Sets the RGBA color for the object outline

Parameters

  color | The new color

Reimplemented in Group, GlsPolyLine, Gls3DCable, GlsAngularScale, GlsLinearScale, GlsPolyLine, GlsRSOWrapper, and Group.

## ◆ SetColor() [2/3]

void SetColor | ( | unsigned char | c4[] | ) |
| inline

Sets the RGBA color for the object outline

Parameters

  c4 | The new RGBA (0-255 range) line color for the object NOTE: Not Virtual. Simply calls void SetColor(const GlsColor& color)

## ◆ SetColor() [3/3]

void SetColor | ( | unsigned char | r,
|  | unsigned char | g,
|  | unsigned char | b,
|  | unsigned char | a
| ) |  |
| inline

Sets the RGBA color for the object outline

Parameters

  r | The new red component (0-255 range) of the line color for the object
  g | The new blue component (0-255 range) of the line color for the object
  b | The new green component (0-255 range) of the line color for the object
  a | The new alpha component (0-255 range) of the line color for the object NOTE: Not Virtual. Simply calls void SetColor(const GlsColor& color)

## ◆ SetFillColor() [1/3]

virtual void SetFillColor | ( | const GlsColor & | color | ) |
| virtual

Sets the RGBA color for filling the object

Parameters

  color | The new RGBA fill color (0-255 range) for the object

Reimplemented in GLPolygon, GlsCylinder, GlsSphere, Group, GlsEllipse, GlsNurbCurve, GlsPolyLine, Gls3DCable, GlsEllipse, GlsNinePatch, GlsNurbCurve, GlsPolyLine, GlsCylinder, GlsSphere, and Group.

## ◆ SetFillColor() [2/3]

void SetFillColor | ( | unsigned char | c4[] | ) |
| inline

Sets the RGBA color for filling the object

Parameters

  c4 | The new RGBA fill color (0-255 range) for the object NOTE: Not Virtual. Simply calls void SetFillColor(const GlsColor& color)

## ◆ SetFillColor() [3/3]

void SetFillColor | ( | unsigned char | r,
|  | unsigned char | g,
|  | unsigned char | b,
|  | unsigned char | a
| ) |  |
| inline

Sets the RGBA color for filling the object

Parameters

  r | The new red component (0-255 range) of the fill color for the object
  g | The new blue component (0-255 range) of the fill color for the object
  b | The new green component (0-255 range) of the fill color for the object
  a | The new alpha component (0-255 range) of the fill color for the object NOTE: Not Virtual. Simply calls void SetFillColor(const GlsColor& color)

## ◆ 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 in GlsAdvancedMesh, GlsAngularScale, GlsPushButton, GlsClippingGroup, GlsCTLTextBox, GlsDynamicPath, GlsEllipse, GlsGeometryResourceMesh, GlsKnob, GlsLinearFloatController, GlsLinearScale, GlsLodGroup, GlsMimicGroup, GlsMovingEye, GlsMultiView, GlsMutexGroup, GlsNinePatch, GlsOdometer, GlsPathManager, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsSerialMorphMesh, GlsSwitch, GlsTextBox, GlsTextGrid, GlsThumbWheel, ComponentBase, GlsCylinder, GlsEyePoint, GlsLightSource, GlsSphere, GlsText, and GLTriMesh.

## ◆ SetManualBlinkElapsedTime()

static void SetManualBlinkElapsedTime | ( | double | elapsedTime | ) |
| static

Sets the time the application will use to determine the blink state of objects. Has no effect if UseManualBlinkElapsedTime was not set to true.

Parameters

  elapsedTime | The blink time to be set.

## ◆ SetNormals()

virtual void SetNormals | ( | unsigned int | nPoints,
|  | Vector * | vertices
| ) |  |
| virtual

Sets the vertex normal data for this object

Parameters

  nPoints | The number of vertices in the object
  vertices | The vertex normals for the object

## ◆ SetOrigin()

virtual void SetOrigin | ( | const Vertex & | vert | ) |
| virtual

Redefines the frame of reference for the object. Since the vertices in the object are specified relative to the _location member, this routine allows you to specify the absolute coordinate for _location and then recalculates the vertices to be relative to that new location

Parameters

  vert | The new origin point for the object

## ◆ SetPainter()

virtual void SetPainter | ( | GlsPainter * | painter | ) |
| virtual

Sets the painter for this object. Can be NULL. If the painter is set, this object will call Invalidate() on the painter anytime it changes in a way that affects its rendering.

Note
  This object only observers the painter, and does not delete it.

Parameters

  painter | the painter that is drawing this class.

Reimplemented in GlsMimicGroup, GlsSchematicTeeInterconnect, GlsRSOWrapper, and Group.

## ◆ SetTexCoords() [1/2]

virtual void SetTexCoords | ( | unsigned int | nPoints,
|  | Vector * | new_tex_coord,
|  | bool | isVectorArray = `true`
| ) |  |
| virtual

Sets the texture coordinate data for this object

Parameters

  nPoints | The number of texture vertices in the object
  new_tex_coord | The texture coordinates for the object
  isVectorArray | true if array points to a Vector array, false if it points to a Vertex array

See also
  TextureCoordinates()
  VaSetTexCoords()
  SetTexCoords()

## ◆ SetTexCoords() [2/2]

void SetTexCoords | ( | unsigned int | nPoints,
|  | Vertex * | new_tex_coord
| ) |  |
| inline

Vertex version of SetTexCoords

Parameters

  nPoints | The number of texture vertices in the object.
  new_tex_coord | The texture coordinates for the object.

See also
  VaSetTexCoords()
  TextureCoordinates()

## ◆ SetupAlpha()

bool SetupAlpha | ( |  | ) |

Sets the alpha blending state based on object settings.

Returns
  True if the state changed from defaults, otherwise false.

See also
  RestoreAlpha

## ◆ SetupDepthTest()

void SetupDepthTest | ( |  | ) |

Sets the depth test settings based on object settings

## ◆ SetupLighting()

void SetupLighting | ( |  | ) |

Sets the lighting state

See also
  RestoreLighting

## ◆ SetupLineStyle()

bool SetupLineStyle | ( |  | ) |

Sets the line style settings based on object settings

Returns
  True if the line style was set. If this method returns true then the object must call RestoreLineStyle to cleanup

See also
  RestoreLineStyle

## ◆ SetupTexture()

bool SetupTexture | ( |  | ) |

First half of texture setup for the object.

Returns
  True if the object will be textured False otherwise. If this method returns true, then the caller needs to do a glDisable(GL_TEXTURE_2D) afterwards to cleanup

## ◆ SetupTextureIsNeeded()

bool SetupTextureIsNeeded | ( |  | ) |
| protected

Returns
  True if this object has a texture associated with it.

## ◆ SetValue()

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

Sets an attribute of this object using variable arguments

Parameters

  spec | A GLS_Initializer tag
  args | A variable argument list

Reimplemented in Gls3DCable, GlsAngularScale, GlsPushButton, GlsClippingGroup, GlsDynamicPath, GlsEllipse, GlsKnob, GlsLinearScale, GlsLodGroup, GlsMimicGroup, GlsMovieTexture, GlsMovingEye, GlsMultiView, GlsMutexGroup, GlsNinePatch, GlsOdometer, GlsPathManager, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsSwitch, GlsTextGrid, GlsThumbWheel, GlsVideoToTexture, ComponentBase, GlsCylinder, GlsEyePoint, GlsLightSource, GlsRSOWrapper, GlsSphere, GlsText, and GLTriMesh.

## ◆ SetVertexColor()

virtual void SetVertexColor | ( | unsigned int | vertex,
|  | unsigned char | CurrentFillColor[]
| ) |  |
| virtual

Changes the color of a vertex

Parameters

  vertex | 1 based index of the vertex to the change color for
  CurrentFillColor | The new RGBA (0-255 range) color for the vertex

Reimplemented in GlsNurbCurve.

## ◆ SetVertices()

virtual void SetVertices | ( | unsigned int | nPoints,
|  | Vertex * | vertices
| ) |  |
| virtual

Sets the vertex data for this polygon You should call UpdateBoundingVolume after changing an object's extents.

See also
  UpdateBoundingVolume

Parameters

  nPoints | The number of vertices in the object
  vertices | The vertex data for the object

Reimplemented in GlsCTLTextBox, GlsNurbCurve, GlsPolyLine, GlsSchematicPolyLineInterconnect, GlsSchematicTeeInterconnect, GlsTextBox, and GlsTextGrid.

## ◆ Shading() [1/2]

virtual int Shading | ( |  | ) |
| virtual

Gets the polygon shading mode (Flat or gouraud) for the polygon

Returns
  Enumeration indicating shading mode

See also
  ShadingType_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ Shading() [2/2]

virtual void Shading | ( | const int | shading | ) |
| virtual

Sets the polygon shading mode (Flat or gouraud) for the polygon

Parameters

  shading | Enumeration indicating shading mode

See also
  ShadingType_e

Reimplemented in Group, Gls3DCable, and GlsRSOWrapper.

## ◆ TextureCoordinates()

Vector * TextureCoordinates | ( |  | ) |
| inline

Gets the object's texture coordinates

Note
  Texture Coordinates are vertex attributes. They can be two-dimensional (UV-coordinates) or three-dimensional (UVW-coordinates). The texture coordinates at each vertex are interpolated across the triangle generated from those vertices to determine where to sample the texture applied to the object.
  Some shaders use UVW coordinates as an input, but use them for some other purpose than texturing.

Returns
  Pointer to the object's texture coordinate array. NULL if the object is not textured.

See also
  GetTextureCoordinates()
  VaSetTexCoords()
  SetTexCoords()
  GetTexturePoints()

## ◆ TextureIndex() [1/2]

virtual int TextureIndex | ( |  | ) |
| virtual

Get the texture index for this object

Returns
  The texture index for this object

Reimplemented in GlsCylinder, GlsSphere, GlsGeometryResourceMesh, ComponentBase, GlsRSOWrapper, and GLTriMesh.

## ◆ TextureIndex() [2/2]

virtual void TextureIndex | ( | int | textureIndex | ) |
| virtual

Sets the texture index to be used when drawing the object.

Parameters

  textureIndex | The texture index to use. -1 indicates that no texture will be drawn.

Reimplemented in GlsGeometryResourceMesh, ComponentBase, GlsCylinder, GlsSphere, GLTriMesh, GlsCylinder, GlsSphere, and GlsRSOWrapper.

## ◆ TextureMagnificationFilter() [1/2]

virtual int TextureMagnificationFilter | ( |  | ) |
| virtual

Gets the texture magnification filter for this object

Returns
  The texture magnification filter for this object

See also
  TextureFilter_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ TextureMagnificationFilter() [2/2]

virtual void TextureMagnificationFilter | ( | const int | filter | ) |
| virtual

Sets the texture magnification filter for this object

Parameters

  filter | The new texture magnification filter for this object

See also
  TextureFilter_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ TextureMappingTechnique() [1/2]

virtual int TextureMappingTechnique | ( |  | ) |
| virtual

Gets the texturing mapping mode for this object

Returns
  The texture mapping mode for this object

See also
  TextureMap_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ TextureMappingTechnique() [2/2]

virtual void TextureMappingTechnique | ( | const int | map | ) |
| virtual

Sets the texturing mapping mode for this object

Parameters

  map | The new texture mapping mode for this object

See also
  TextureMap_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ TextureMinificationFilter() [1/2]

virtual int TextureMinificationFilter | ( |  | ) |
| virtual

Gets the texture minification filter for this object

Returns
  The texture minification filter for this object

See also
  TextureFilter_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ TextureMinificationFilter() [2/2]

virtual void TextureMinificationFilter | ( | const int | filter | ) |
| virtual

Sets the texture minification filter for this object

Parameters

  filter | The new texture minification filter for this object

See also
  TextureFilter_e

Reimplemented in Gls3DCable, GlsRSOWrapper, and Group.

## ◆ TextureRepeat() [1/2]

virtual bool TextureRepeat | ( |  | ) |
| virtual

Gets the texturing repeat mode for this object

Returns
  The texture repeat mode for this object

Reimplemented in Group, Gls3DCable, and GlsRSOWrapper.

## ◆ TextureRepeat() [2/2]

virtual void TextureRepeat | ( | const int | rep | ) |
| virtual

Sets the texturing repeat mode for this object

Parameters

  rep | The new texture repeat mode for this object (boolean)

Reimplemented in Group, Gls3DCable, GlsRSOWrapper, and Group.

## ◆ Translate() [1/2]

virtual void Translate | ( | float | tr[] | ) |
| virtual

Moves the object by the amount indicated.

Parameters

  tr | Float[3] array containing the x,y,z amounts to translate by

Reimplemented in ComponentBase, and Group.

## ◆ Translate() [2/2]

virtual void Translate | ( | float | x,
|  | float | y,
|  | float | z
| ) |  |
| virtual

Moves the object by the amount indicated.

Parameters

  x | X amount to translate by
  y | Y amount to translate by
  z | Z amount to translate by

Reimplemented in ComponentBase, and Group.

## ◆ TranslateVertices()

virtual void TranslateVertices | ( | float | x,
|  | float | y,
|  | float | z
| ) |  |
| virtual

Moves the object's vertices by the amount indicated. Does not change _location.

Parameters

  x | X amount to translate by
  y | Y amount to translate by
  z | Z amount to translate by

Reimplemented in GlsGeometryResourceMesh, and Group.

## ◆ UpdateBoundingVolume()

virtual void UpdateBoundingVolume | ( |  | ) |
| virtual

Updates the bounding volume of this object This method should be called if the vertices change for picking and culling to work correctly. This will only update this object. If PerformGroupCullCheck is enabled for one of the objects parents, you may also need to call CalculateParentBoundingBox() to update all of the objects parents.

Reimplemented in GlsAngularScale, GlsEllipse, GlsGeometryResourceMesh, GlsNinePatch, and GlsRSOWrapper.

## ◆ UseManualBlinkElapsedTime()

static void UseManualBlinkElapsedTime | ( | bool | useManualTime | ) |
| static

Sets whether the application should use the system time or a manual time for calculating the blink state of objects

Parameters

  useManualTime | If true, will use user defined time, otherwise system time.

## ◆ UserData() [1/2]

void * UserData | ( |  | ) | const
| inline

Gets the current UserData pointer. UserData is a pointer the user can use to attach user defined data to a GL Studio object.

Returns
  The current UserData pointer

## ◆ UserData() [2/2]

void UserData | ( | void * | data | ) |
| inline

Sets the current UserData pointer

Parameters

  data | The new UserData pointer

## ◆ VaListSetNormals()

virtual void VaListSetNormals | ( | unsigned int | nPoints,
|  | va_list | args
| ) |  |
| protected virtual

Sets the normal data for this object This function is called as part of VaSetNormals( unsigned int, ... )

Parameters

  nPoints | The number of normals in the object
  args | va_list in the form x,y,z for each normal

## ◆ VaListSetTexCoords()

virtual void VaListSetTexCoords | ( | unsigned int | nPoints,
|  | va_list | args
| ) |  |
| protected virtual

Sets the texture coordinate data for this object This function is called as part of VaTexCoords( unsigned int, ... )

Parameters

  nPoints | The number of texture coordinates in the object
  args | va_list in the form x,y,z for each texture coordinate

## ◆ VaListSetVertices()

virtual void VaListSetVertices | ( | unsigned int | nPoints,
|  | va_list | args
| ) |  |
| protected virtual

Sets the vertex data for this object You should call UpdateBoundingVolume after changing an object's extents.

See also
  UpdateBoundingVolume

Parameters

  nPoints | The number of vertices in the object
  args | va_list in the form r,g,b,a,x,y,z for each vertex

Reimplemented in GlsNurbCurve.

## ◆ VaSetNormals()

void VaSetNormals | ( | unsigned int | nPoints,
|  |  | ...
| ) |  |

Sets the vertex normal data for this object

Parameters

  nPoints | The number of vertices in the object
  ... | X,Y,Z for each vertex normal

## ◆ VaSetTexCoords()

void VaSetTexCoords | ( | unsigned int | nPoints,
|  |  | ...
| ) |  |

Sets the texture coordinate data for this object

Parameters

  nPoints | The number of texture vertices in the object
  ... | X,Y,Z for each vertex

See also
  TextureCoordinates()
  GetTextureCoordinates()

## ◆ VaSetVertices()

void VaSetVertices | ( | unsigned int | nPoints,
|  |  | ...
| ) |  |

Sets the vertex data for this object You should call UpdateBoundingVolume after changing an object's extents.

See also
  UpdateBoundingVolume

Parameters

  nPoints | The number of vertices in the object
  ... | r,g,b,a,x,y,z for each vertex

## ◆ Vertices()

virtual Vertex * Vertices | ( |  | ) |
| inline virtual

Gets the object's vertices. You should call UpdateBoundingVolume after changing an object's extents.

See also
  UpdateBoundingVolume

Returns
  Pointer to the object's vertex array

Reimplemented in GlsAngularScale, GlsEllipse, and GlsNinePatch.

## ◆ ViewMatrix()

int * ViewMatrix | ( |  | ) |

Returns
  The saved View matrix, if any. Normally not used by the user.

## ◆ Visibility() [1/2]

bool Visibility | ( |  | ) | const
| inline

Get the visibility state this object

Returns
  Whether or not this object is enabled for drawing

## ◆ Visibility() [2/2]

virtual void Visibility | ( | const bool | vis | ) |
| virtual

Set the visiblity state for this object

Parameters

  vis | Whether or not enable this object for drawing

## ◆ Visible()

bool Visible | ( |  | ) | const
| inline

Get the visibility state this object

Returns
  Whether or not this object is enabled for drawing

## ◆ WindowToLogical()

bool WindowToLogical | ( | const Vector & | winLoc,
|  | Vector & | logical,
|  | Vector * | directionVector = `NULL`,
|  | const OpenGLMatrices & | alternateMatrices = `OpenGLMatrices()`
| ) |  |

Convert a point in window coordinates to logical coordinates.

Parameters

  winLoc | Coordinate in window coordinates. X and Y are in pixels. Z Ranges from 0.0 to 1.0. 0.0 is near clip, 1.0 is far clip.
  logical | Coordinate in logical coordinates (returned).
  directionVector | Normal into the screen at the point (returned).
  alternateMatrices | A Set of matrices that if supplied, will alter the point.

Returns
  True if the conversion succeeded, otherwise false.

## ◆ WorldRotationPoint() [1/2]

virtual Vector WorldRotationPoint | ( |  | ) |
| virtual

Gets the rotation point for the object in world coordinates

Returns
  The rotation point for the object in world coordinates

## ◆ WorldRotationPoint() [2/2]

virtual void WorldRotationPoint | ( | const Vector & | vert | ) |
| virtual

Sets the rotation point for the object in world coordinates

Parameters

  vert | The rotation point for the object in world coordinates

## ◆ WorldVertex() [1/2]

virtual Vertex WorldVertex | ( | unsigned int | i | ) |
| virtual

Gets a vertex from the object, in World coordinates (i.e. not relative to the location as is the case with the Vertices() API call).

Parameters

  i | Index of the vertex to get

Returns
  The vertex

Reimplemented in GlsSchematicPolyLineInterconnect.

## ◆ WorldVertex() [2/2]

virtual void WorldVertex | ( | unsigned int | i,
|  | const Vertex & | vert
| ) |  |
| virtual

Sets a vertex of the object, in World coordinates (i.e. not relative to the location as is the case with the Vertices() API call. )

Parameters

  i | The 0 based index of the vertex to get
  vert | The new vertex value

## ◆ X() [1/2]

float X | ( |  | ) | const
| inline

Returns
  X component of location

## ◆ X() [2/2]

void X | ( | const float | x | ) |
| inline

Sets x component of location

Parameters

  x | The new x location.

## ◆ Y() [1/2]

float Y | ( |  | ) | const
| inline

Returns
  Y component of location

## ◆ Y() [2/2]

void Y | ( | const float | y | ) |
| inline

Sets y component of location

Parameters

  y | The new x location.

## ◆ Z() [1/2]

float Z | ( |  | ) | const
| inline

Returns
  Z component of location

## ◆ Z() [2/2]

void Z | ( | const float | z | ) |
| inline

Sets z component of location

Parameters

  z | The new x location.

## Member Data Documentation

## ◆ _alphaMode

int _alphaMode
| protected

Whether or not to perform alpha testing while drawing.

## ◆ _antiAlias

bool _antiAlias
| protected

Whether or not to perform anti-aliasing while drawing.

## ◆ _attributesAdded

bool _attributesAdded
| protected

True if SetAvailableAttributes has been called. Users should not change this.

## ◆ _blinking

bool _blinking
| protected

Whether or not the blinking mode is turned on

## ◆ _blinkRate

float _blinkRate
| protected

Number of times per second the object will blink

## ◆ _color

GlsColor _color
| protected

The RGBA color for drawing the outline of the object.

## ◆ _cullBackFace

bool _cullBackFace
| protected

Whether or not to remove backfaces

## ◆ _dcsMatrix

GlsMatrixType _dcsMatrix
| protected

The dynamic coordinate system. The Dynamic changes to rotation, scale, and translate will be modified by this and applied to the _drawMatrix.

## ◆ _depthTest

unsigned char _depthTest
| protected

What kind of depth testing while drawing. See DepthBuffer_e

## ◆ _drawMatrix

GlsMatrixType* _drawMatrix
| protected

The objects current contribution to the draw matrix.
This will be multiplied by the current matrix at draw time. If NULL, this object has no contribution (it is not dynamic) See CalcDrawMatrix() for more

## ◆ _lineStippleMultiplier

unsigned char _lineStippleMultiplier
| protected

The multiplier used when applying a line stipple pattern to a line.

## ◆ _lineStipplePattern

unsigned short _lineStipplePattern
| protected

A bit pattern indicating which pixels in a line should be drawn and which pixels should not.

## ◆ _lineWidth

float _lineWidth
| protected

The current width of lines rendered in the object, in logical units

## ◆ _location

Vertex _location
| protected

The location of the origin point for this object, in the world coordinate system.

## ◆ _modelMatrix

GlsMatrixType* _modelMatrix
| protected

Stores the Model matrix for this object, if needed. Used by Draw() and 3D picking.

## ◆ _normals

Vector* _normals
| protected

The array of vertex normals for this object. The size of this array is based on _nVertices

## ◆ _nTex_vertices

unsigned int _nTex_vertices
| protected

The number of Texture Coordinate Vertices in this object

## ◆ _nVertices

unsigned int _nVertices
| protected

The number of vertices in this object

## ◆ _polygonEnd

unsigned char _polygonEnd
| protected

Whether or not this is a CLOSED or OPEN polygon

## ◆ _polygonMode

unsigned char _polygonMode
| protected

The mode for drawing the object.

## ◆ _projMatrix

GlsMatrixType* _projMatrix
| protected

Stores the Projection matrix for this object, if needed. Used by Draw() and 3D picking.

## ◆ _shading

unsigned char _shading
| protected

The shading mode for this object

## ◆ _texCoord

Vector* _texCoord
| protected

The array of texture coordinates for this object. If an object is untextured, this value is NULL. The size of this array is based on _nTex_vertices

## ◆ _textureBlendColor

GlsColor _textureBlendColor
| protected

The current texture blend color (used if TextureMapMode is TEXTURE_MAP_BLEND mode only)

## ◆ _textureIndex

int _textureIndex
| protected

The index into the texture palette array of the texture used to to texture this object. A texture index of -1 indicates that no texture is assigned to the object.

## ◆ _textureMagFilter

unsigned char _textureMagFilter
| protected

The current texturing magnification filter mode for the object

## ◆ _textureMap

unsigned char _textureMap
| protected

The current texturing map mode for the object.

## ◆ _textureMinFilter

unsigned char _textureMinFilter
| protected

The current texturing minification filter mode for the object

## ◆ _texturePoints

Vector _texturePoints[ 4]
| protected

Used to store the relative placement and rotation of a texture on the object. Texture coordinates are calculated from the texture points. The _texturePoints are relative to the _location, which makes them in the objects coordinate system.

## ◆ _textureRepeat

unsigned char _textureRepeat
| protected

The current texturing repeat mode for the object.

## ◆ _userData

void* _userData
| protected

Data pointer for the user to assign as needed

## ◆ _vertices

Vertex* _vertices
| protected

The array of vertices for this object. The vertices are in the object's coordinate system. That is, they are relative to the _location field. This array always has a size based on _nVertices

## ◆ _viewMatrix

int* _viewMatrix
| protected

Stores the View matrix for this object, if needed. Used by Draw() and 3D picking.

## ◆ _visible

bool _visible
| protected

Whether or not the object is enabled for drawing

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

- display.h