| GL Studio C++ Runtime API

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

`#include <gls_serial_morph_mesh.h>`

Inheritance diagram for GlsSerialMorphMesh:

## Classes
class | Keyframe_Data
class | KeyframeDataArray

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

## Public Member Functions
| GlsSerialMorphMesh ()
| GlsSerialMorphMesh (const GlsSerialMorphMesh &that, const bool generateNames)
virtual | ~GlsSerialMorphMesh ()
virtual void | SetAvailableAttributes (unsigned int value) DISTI_METHOD_OVERRIDE
virtual DisplayObject * | CloneObject (bool generateNames=false) DISTI_METHOD_OVERRIDE
virtual void | CopyProperties (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | CopyGeometry (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | PreDraw (const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
void | SetNumKeyframes (unsigned int count)
unsigned int | NumKeyframes ()
GlsGeometry_Generic * | GetKeyframeGeometry (unsigned int index)
void | SetKeyframeGeometry (unsigned int keyframeIndex, GlsGeometry_Generic *newKeyframeGeometry)
void | SetKeyframePercent (unsigned int index, const float &value)
float | GetKeyframePercent (unsigned int index)
void | SetMorphPercent (const float &value)
float | GetMorphPercent ()
void | SetTension (const float &value)
float | GetTension ()
void | InvalidateRenderMesh ()
void | UpdateRenderMesh ()
Public Member Functions inherited from GlsGeometryResourceMesh
| GlsGeometryResourceMesh ()
| GlsGeometryResourceMesh (const GlsGeometryResourceMesh &that, const bool generateNames)
| ~GlsGeometryResourceMesh ()
virtual void | OnGeometryResourceChanged () DISTI_METHOD_OVERRIDE
| Callback method to be called by this observer. More...
virtual void | SetAvailableAttributes (unsigned int value) DISTI_METHOD_OVERRIDE
virtual void | CopyProperties (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | CopyGeometry (DisplayObject *src) DISTI_METHOD_OVERRIDE
virtual void | UpdateBoundingVolume () DISTI_METHOD_OVERRIDE
virtual void | PreDraw (const OpenGLMatrices &parentMatrices, Culler &culler) DISTI_METHOD_OVERRIDE
virtual void | Draw () DISTI_METHOD_OVERRIDE
virtual void | GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true) DISTI_METHOD_OVERRIDE
virtual void | GetExtents (float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz) DISTI_METHOD_OVERRIDE
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices) DISTI_METHOD_OVERRIDE
virtual bool | Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint) DISTI_METHOD_OVERRIDE
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0) DISTI_METHOD_OVERRIDE
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis) DISTI_METHOD_OVERRIDE
virtual void | TranslateVertices (float x, float y, float z) DISTI_METHOD_OVERRIDE
virtual int | TextureIndex () DISTI_METHOD_OVERRIDE
virtual void | TextureIndex (int index) DISTI_METHOD_OVERRIDE
virtual bool | SetupTexture ()
virtual void | MaterialIndex (unsigned int index)
virtual int | MaterialIndex () DISTI_METHOD_OVERRIDE
virtual void | MaterialIndices (DynamicArray< int > indices) DISTI_METHOD_OVERRIDE
virtual DynamicArray< int > & | MaterialIndices () DISTI_METHOD_OVERRIDE
void | SetGeometryTransform (const GlsMatrixType &value)
void | SetGeometryTransform (const double *matrix)
const GlsMatrixType & | GetGeometryTransform ()
unsigned int | NumIndexBuffers ()
unsigned int | NumIndexBufferEffects ()
bool | ReorderAtWill ()
void | ReorderAtWill (bool reorderAtWill)
virtual void | ResizeIndexBufferEffectsArray (unsigned int newSize)
GlsRenderEffect * | GetIndexBufferEffect (unsigned int bufferNum)
void | SetIndexBufferEffect (unsigned int bufferNum, GlsRenderEffect *newEffect)
virtual GlsGeometryResource * | GetRenderMesh ()=0
virtual void | SetFromGloData (GlsGloFileAttribute &data) DISTI_METHOD_OVERRIDE
Public Member Functions inherited from DisplayObject
| DisplayObject (float x, float y, float z)
| DisplayObject (const DisplayObject &object, const bool generateNames)
virtual | ~DisplayObject ()
void | Destroy ()
virtual void | SetAvailableAttributes (unsigned int value)
virtual void | AlphaMode (int mode)
virtual int | AlphaMode ()
virtual bool | AntiAlias ()
virtual void | AntiAlias (bool alias)
void | ApplyTextureSettings (int textureIndex=-1)
DistiAttribDict & | Attributes ()
const DistiAttribDict & | Attributes () const
virtual void | SetBlendColor (const GlsColor &color)
void | GetBlendColor (unsigned char color[])
void | GetBlendColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual GlsColor | GetBlendColor ()
void | SetBlendColor (unsigned char color[])
void | SetBlendColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual bool | BlinkedOff ()
virtual bool | Blinking ()
virtual void | Blinking (const bool blink)
virtual float | BlinkRate ()
virtual void | BlinkRate (const float rate)
const Vector & | BoundingVolumeCenter () const
void | BoundingVolumeCenter (const Vector &center)
bool | BoundingVolumeHit (const Vector &start, const Vector &direction)
float | BoundingVolumeRadius () const
void | BoundingVolumeRadius (float radius)
virtual void | Calculate (double time)
void | CalculateCollisionPoint (const Vector &pickLoc, const Vector &directionVector, Vector *collisionPoint)
virtual void | CalculateParentBoundingBox ()
virtual void | CalculateTextureCoordinates ()
bool | GetTexturePointTransformationMatrix (GlsMatrixType &world2tex)
CallbackMethodCallerBase * | CallbackCaller () const
void | CallbackCaller (CallbackMethodCallerBase *cb)
virtual void | GetCenter (Vector &center)
virtual DisplayObject * | CloneObject (bool generateNames=false)=0
virtual GlsColor | GetColor ()
void | GetColor (unsigned char c4[])
void | GetColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
virtual void | SetColor (const GlsColor &color)
void | SetColor (unsigned char c4[])
void | SetColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
virtual void | CopyGeometry (DisplayObject *src)
virtual void | CopyHierarchyProperties (DisplayObject *src, bool copyName)
virtual void | CopyProperties (DisplayObject *src)
virtual void | CullBackFace (const bool val)
virtual bool | CullBackFace ()
bool | Culled () const
void | Culled (bool val)
bool | CullTest (const GlsMatrixType *matrix, const Culler &culler)
GlsMatrixType & | DcsMatrix ()
GlsMatrixType | DcsMatrix () const
void | DcsMatrix (const GlsMatrixType &matrix)
virtual void | DeleteVertexAt (unsigned int index)
virtual void | DeleteVertex (unsigned int indexAfter) final
virtual int | DepthTest ()
virtual void | DepthTest (unsigned char zbuf)
virtual void | Draw ()=0
const GlsMatrixType * | DrawMatrix ()
bool | NeedCalcDrawMatrix ()
void | DynamicRotate (float angle, int axis)
void | DynamicRotate (const Vector &v)
void | DynamicRotate (float angle[])
virtual void | DynamicRotate (float x, float y, float z)
virtual void | DynamicRotateRelative (float angle, int axis)
virtual float | DynamicRotation (int axis)
virtual Vector | DynamicRotation ()
virtual Vector | DynamicScale ()
virtual void | DynamicScale (float x, float y, float z)
void | DynamicScale (const Vector &scale)
virtual void | DynamicTranslate (float x, float y, float z, bool relative=false)
void | DynamicTranslate (const Vertex &amount, bool relative)
void | DynamicTranslate (const Vector &amount)
virtual void | DynamicTranslateAxis (float amount, int axis, bool relative)
virtual float | DynamicTranslation (int axis)
virtual Vector | DynamicTranslation ()
DisplayObjectEditor * | Editor ()
const DisplayObjectEditor * | Editor () const
void | Editor (DisplayObjectEditor *editor)
virtual void | GetExtents (float &x, float &y, float &z, float &x1, float &y1, float &z1)
void | GetExtentsDCS (Vector &min, Vector &max)
void | GetFillColor (unsigned char &r, unsigned char &g, unsigned char &b, unsigned char &a)
void | GetFillColor (unsigned char c4[])
virtual GlsColor | GetFillColor ()
void | SetFillColor (unsigned char r, unsigned char g, unsigned char b, unsigned char a)
void | SetFillColor (unsigned char c4[])
virtual void | SetFillColor (const GlsColor &color)
virtual void | FinishObject ()
virtual void | GenerateInstanceName ()
virtual DisplayObject * | handle (DisplayEvent *ev)
virtual bool | Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
virtual bool | HitUtil (float x, float y, float z, float scale, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector, Vector *collisionPoint)
virtual void | InsertVertexAt (unsigned int index)
virtual void | InsertVertex (unsigned int indexAfter) final
char * | InstanceName ()
const char * | InstanceName () const
void | InstanceName (const char *name)
virtual bool | LightingEnabled ()
virtual void | LightingEnabled (bool lighting)
virtual int | LineStippleMultiplier ()
virtual void | LineStippleMultiplier (int mult)
virtual int | LineStipplePattern ()
virtual void | LineStipplePattern (int pattern)
virtual float | LineWidth ()
virtual void | LineWidth (float width)
virtual const Vertex & | Location () const
virtual void | Location (const Vertex &v)
virtual void | Location (float x, float y, float z)
virtual void | GetLocation (Vertex &v)
virtual void | GetLocation (float &x, float &y, float &z)
float | X () const
float | Y () const
float | Z () const
void | X (const float x)
void | Y (const float y)
void | Z (const float z)
virtual int | MaterialIndex ()
virtual void | MaterialIndex (int index)
virtual DynamicArray< int > & | MaterialIndices ()
virtual void | MaterialIndices (DynamicArray< int > indices)
GlsMatrixType * | ModelMatrix ()
bool | NeedCalculate ()
Vector * | Normals ()
virtual void | SetNormals (unsigned int nPoints, Vector *vertices)
void | VaSetNormals (unsigned int nPoints,...)
unsigned int | NumberOfVertices () const
virtual float | ObjectDepth ()
virtual float | ObjectHeight ()
virtual float | ObjectWidth ()
virtual void | SetOrigin (const Vertex &vert)
virtual void | Parent (DisplayFrame *par)
DisplayFrame * | Parent () const
virtual void | ParentGroup (Group *group)
Group * | ParentGroup () const
virtual DisplayObject * | Pick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
unsigned char | Pickable ()
virtual void | Pickable (unsigned char pick)
virtual int | PolygonEnd ()
virtual void | PolygonEnd (const int end)
virtual int | PolygonMode ()
virtual void | PolygonMode (int mode)
virtual void | PreDraw (const OpenGLMatrices &current, Culler &culler)
GlsMatrixType * | ProjMatrix ()
virtual void | ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
virtual float | RelativeAngle (const float x, const float y)
virtual DistiAttributeBase & | Resource (const char *name)
virtual void | GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
const Vertex & | RotationPoint () const
virtual void | RotationPoint (const Vertex &v)
virtual void | RotationPoint (float x, float y, float z)
virtual void | GetRotationPoint (Vertex &v)
virtual void | Rotate (float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &origin, float angle, int axis=Z_AXIS)
virtual void | Rotate (const Vector &orig, float angle, const Vector &axis)
void | SaveMatrices ()
virtual void | Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0)
void | Set (int spec,...)
bool | SetupAlpha ()
void | SetupDepthTest ()
void | SetupLighting ()
bool | SetupLineStyle ()
bool | SetupTexture ()
virtual int | Shading ()
virtual void | Shading (const int shading)
virtual void | GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true)
virtual void | SetTexCoords (unsigned int nPoints, Vector *new_tex_coord, bool isVectorArray=true)
void | SetTexCoords (unsigned int nPoints, Vertex *new_tex_coord)
void | VaSetTexCoords (unsigned int nPoints,...)
Vector * | TextureCoordinates ()
Vector * | GetTextureCoordinates ()
virtual int | TextureIndex ()
virtual void | TextureIndex (int textureIndex)
virtual Vector * | GetTexturePoints ()
virtual bool | TextureRepeat ()
virtual void | TextureRepeat (const int rep)
virtual int | TextureMappingTechnique ()
virtual void | TextureMappingTechnique (const int map)
virtual int | TextureMagnificationFilter ()
virtual void | TextureMagnificationFilter (const int filter)
virtual int | TextureMinificationFilter ()
virtual void | TextureMinificationFilter (const int filter)
virtual void | Translate (float tr[])
virtual void | Translate (float x, float y, float z)
virtual void | TranslateVertices (float x, float y, float z)
virtual void | UpdateBoundingVolume ()
void * | UserData () const
void | UserData (void *data)
virtual void | SetVertexColor (unsigned int vertex, unsigned char CurrentFillColor[])
virtual Vertex * | Vertices ()
virtual void | SetVertices (unsigned int nPoints, Vertex *vertices)
void | VaSetVertices (unsigned int nPoints,...)
int * | ViewMatrix ()
bool | Visible () const
bool | Visibility () const
virtual void | Visibility (const bool vis)
virtual Vector | WorldRotationPoint ()
virtual void | WorldRotationPoint (const Vector &vert)
virtual Vertex | WorldVertex (unsigned int i)
virtual void | WorldVertex (unsigned int i, const Vertex &vert)
bool | LogicalToWindow (const Vector &logical, Vector &winLoc, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
bool | WindowToLogical (const Vector &winLoc, Vector &logical, Vector *directionVector=NULL, const OpenGLMatrices &alternateMatrices=OpenGLMatrices())
void | LogicalToDCS (Vector logicalPoint, Vector &objectLocal, const Vector *directionVector, const Vector &planeNormal=Vector(0, 0, 1), const Vector &planePoint=Vector(), const GlsMatrixType *dcsMatrix=NULL)
void | DCSToLogical (Vector dcsPoint, Vector &logicalPoint, const GlsMatrixType *dcsMatrix=NULL)
bool | Create (GlsGloFile &dataStream, Group *parent)
void | GeometryRefresh ()
| Invalidates the painter and refreshes the geometry on the next paint cycle.
virtual bool | GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector)
void | NotifyAttributeChanged (const AttributeName &name) override
virtual void | SetPainter (GlsPainter *painter)
virtual GlsPainter * | GetPainter ()
void | InvalidatePainter ()
virtual bool | IsVisibleInScene (const DisplayObject *obj=NULL) const
Public Member Functions inherited from AttributeChangedNotifier
virtual void | NotifyAttributeChanged (const AttributeName &name)=0
virtual | ~AttributeChangedNotifier ()
Public Member Functions inherited from WeakReferenceableMixin
void | AddWeakReference (WeakReference *weakRef) override
void | NotifyWeakReferenceDestroyed (WeakReference *ref) override
virtual void | AddWeakReference (WeakReference *weakRef)=0
virtual void | NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0
virtual void | OnGeometryResourceChanged ()=0
| Callback method to be called by this observer. More...

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

## Protected Member Functions
virtual GlsGeometryResource * | GetRenderMesh () DISTI_METHOD_OVERRIDE
virtual void | SetFromGloData (GlsGloFileAttribute &data) DISTI_METHOD_OVERRIDE
void | RecalculateKeyframeIndicesAndWeights ()
| Update the _last_keyframe_index, _next_keyframe_index, _last_keyframe_weight and _next_keyframe_weight.
void | KeyframeGeometryChanged (Keyframe_Data *)
| Called by the KeyframeData class when the geometry changes.
Protected Member Functions inherited from GlsGeometryResourceMesh
void | DrawIndexBuffers (GlsGeometryResource *renderMesh)
void | SetupDefaultEffect ()
void | CleanupDefaultEffect ()
void | DrawGeometry ()
bool | SetGloIndexBufferEffect (GlsGloFileAttribute &data)
GlsGeometry_Generic * | LoadGloGeometryResourceData (GlsGloFileAttribute &data)
Protected Member Functions inherited from DisplayObject
virtual void | VaListSetVertices (unsigned int nPoints, va_list args)
virtual void | VaListSetNormals (unsigned int nPoints, va_list args)
virtual void | VaListSetTexCoords (unsigned int nPoints, va_list args)
void | ApplyTextureMinMagSettings ()
| Updates the state manager's texture minification and magnification filter based on this display's configuration.
void | ApplyTextureEnvModeSettings ()
| Updates the state manager's texture environment based on this object configuration.
bool | SetupTextureIsNeeded ()
virtual int | ColorMaterialMode ()
void | AllocateModelMatrix ()
bool | ApplyDynamicRotation ()
virtual void | CalcDrawMatrix ()
void | CalcDrawMatrixIfExists ()
virtual void | CalculateMatrices (const OpenGLMatrices &newMatrices)
bool | InsideVertexExtents (float x, float y, unsigned int nVerts, Vertex *verts, float tolerance)
void | LastDrawMatrixLocation (const Vertex &loc)
const Vertex & | LastDrawMatrixLocation ()
void | NeedCalculate (bool val)
void | PickSetup (float x, float y, float z, Vertex *vertices, unsigned int vertex_cnt, const Vector &directionVector)
void | PickCleanup (Vertex *vertices, unsigned int vertex_cnt)
virtual void | SetFromGloData (GlsGloFileAttribute &data)
virtual void | SetValue (int spec, va_list &args)
int | GetApplicableTextureIndex ()
int | GetApplicableTextureRepeat ()
Protected Member Functions inherited from WeakReferenceableMixin
| WeakReferenceableMixin ()
virtual | ~WeakReferenceableMixin ()

## Protected Attributes
KeyframeDataArray | _keyframes
| The list of animation keyframes.
float | _currentValue
| The current position in the animation.
float | _tension
| The interpolation tension value.
unsigned int | _last_keyframe_index
| The first keyframe where _value <= _currentValue.
unsigned int | _next_keyframe_index
| The next keyframe after last_keyframe_index where _value > _currentValue. If _value matches _currentValue exactly, then last_keyframe_index == next_keyframe_index.
float | _last_keyframe_weight
| The blend weight for the first keyframe [0,1].
float | _next_keyframe_weight
| The blend weight for the next keyframe [0,1].
bool | _renderMeshIsValid
| If false, the mesh will be recalculated prior to next draw.
GlsGeometry_Generic * | _renderMesh
| The mesh being morphed.
Protected Attributes inherited from GlsGeometryResourceMesh
GlsMatrixType | _geometryTransform
| Transformation matrix to be applied to all geometry in this mesh.
DynamicArray< int > | _newMaterialIndices
| Intermediate data storage to make the setting of new material indices through the Faces simpler.
bool | _reorderAtWill
| Determines whether or not the draw order of this mesh can be modified to increase performance.
IndexBufferEffectArrayT | _indexBufferEffects
| The effect to use for each index buffer.
Protected Attributes inherited from DisplayObject
bool | _geometryRefresh
| Whether or not the geometry (VBOs etc.) needs to be updated on the GPU.
int | _alphaMode
bool | _antiAlias
bool | _attributesAdded
bool | _blinking
float | _blinkRate
bool | _isBlinkedOff
| Stores whether the object is presently blinked on or off.
GlsColor | _color
bool | _cullBackFace
GlsMatrixType | _dcsMatrix
unsigned char | _depthTest
GlsMatrixType * | _drawMatrix
bool | _needCalcDrawMatrix
| True if CalcDrawMatrix() needs to be called on this object.
unsigned char | _lineStippleMultiplier
unsigned short | _lineStipplePattern
float | _lineWidth
Vertex | _location
DynamicArray< int > | _materialIndices
| List of materials associated with this object.
GlsMatrixType * | _modelMatrix
Vector * | _normals
unsigned int | _nTex_vertices
unsigned int | _nVertices
unsigned char | _polygonEnd
unsigned char | _polygonMode
GlsMatrixType * | _projMatrix
unsigned char | _shading
Vector * | _texCoord
GlsColor | _textureBlendColor
int | _textureIndex
unsigned char | _textureMagFilter
unsigned char | _textureMinFilter
unsigned char | _textureMap
Vector | _texturePoints [4]
unsigned char | _textureRepeat
void * | _userData
Vertex * | _vertices
int * | _viewMatrix
bool | _visible
IGlsStateManager * | _stateManager
| The state manager that interfaces with OpenGL and maintains its render state.
Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * | _weakRefs

## Friends
class | GlsSerialMorphMeshEditor

## Additional Inherited Members
Protected Types inherited from GlsGeometryResourceMesh
typedef DynamicArray< GlsRenderEffect * > | IndexBufferEffectArrayT
| Typedef for a list of effects (shaders).

## Detailed Description

The GlsSerialMorphMesh contains a series of morph targets (keyframes) that make up an animation.

## Constructor & Destructor Documentation

## ◆ GlsSerialMorphMesh() [1/2]

GlsSerialMorphMesh | ( |  | ) |

Create a new GlsSerialMorphMesh.

## ◆ GlsSerialMorphMesh() [2/2]

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

Copy constructor

Parameters

  that | The object to copy from.
  generateNames | Whether or not an instance name should be generated for this object.

## ◆ ~GlsSerialMorphMesh()

virtual ~GlsSerialMorphMesh | ( |  | ) |
| virtual

Destructs a GlsSerialMorphMesh object

## Member Function Documentation

## ◆ CloneObject()

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

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

Parameters

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

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

Implements DisplayObject.

## ◆ 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 from GlsGeometryResourceMesh.

## ◆ CopyProperties()

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

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

Parameters

  src | The object to copy properties from

Reimplemented from GlsGeometryResourceMesh.

## ◆ CreateInstance()

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

Returns
  A pointer to a new GlsSerialMorphMesh object.

## ◆ GetKeyframeGeometry()

GlsGeometry_Generic * GetKeyframeGeometry | ( | unsigned int | index | ) |

Returns
  The geometry for the given keyframe.

Parameters

  index | The index whose geometry is to be returned.

## ◆ GetKeyframePercent()

float GetKeyframePercent | ( | unsigned int | index | ) |

Get the value for the given animation keyframe

Parameters

  index | keyframe index

Returns
  percent

## ◆ GetMorphPercent()

float GetMorphPercent | ( |  | ) |

Get the current animation value

Returns
  percent animation value

## ◆ GetRenderMesh()

virtual GlsGeometryResource * GetRenderMesh | ( |  | ) |
| protected virtual

Implemented by the derived class.

Returns
  The mesh that should be rendered / picked.

Implements GlsGeometryResourceMesh.

## ◆ GetTension()

float GetTension | ( |  | ) |

Get the current 'tension' value

Returns
  tension value

## ◆ InvalidateRenderMesh()

void InvalidateRenderMesh | ( |  | ) |
| inline

Flag the render mesh as dirty so that it will be updated before it is drawn

## ◆ NumKeyframes()

unsigned int NumKeyframes | ( |  | ) |

Get the number of keyframes in the mesh

Returns
  the number of keyframes

## ◆ PreDraw()

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

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

Parameters

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

Reimplemented from GlsGeometryResourceMesh.

## ◆ SetAvailableAttributes()

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

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

Parameters

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

See also
  AvailableAttributesEnum

Reimplemented from GlsGeometryResourceMesh.

## ◆ SetFromGloData()

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

Set a single attribute from the GLO file.

Parameters

  data | The attribute to set and its associated data.

Reimplemented from GlsGeometryResourceMesh.

## ◆ SetKeyframeGeometry()

void SetKeyframeGeometry | ( | unsigned int | keyframeIndex,
|  | GlsGeometry_Generic * | newKeyframeGeometry
| ) |  |

Set the geometry for the given keyframe. Note that the render geometry Type() is derived from keyframe 0. If you modify the Type() of the keyframe geometry you must call this method to update the render mesh.

Parameters

  keyframeIndex |
  newKeyframeGeometry | Pointer to the new geometry to use

## ◆ SetKeyframePercent()

void SetKeyframePercent | ( | unsigned int | index,
|  | const float & | value
| ) |  |

Set the value for the given animation keyframe.

Parameters

  index | The keyframe index whose value is to be set.
  value | The new value to set.

## ◆ SetMorphPercent()

void SetMorphPercent | ( | const float & | value | ) |

Set the mesh to the given animation value.

Parameters

  value | The new animation value to set.

## ◆ SetNumKeyframes()

void SetNumKeyframes | ( | unsigned int | count | ) |

Set the number of keyframes in the mesh If this is less than the current number of keyframes, then keyframes >=NumKeyframes() will be released The initial Geometry and Values for new keyframes are undefined, be sure to fill them in before you try to draw/pick/etc.

Parameters

  count | the new number of keyframes

## ◆ SetTension()

void SetTension | ( | const float & | value | ) |

Set the tension parameter. Tension affects how the mesh is interpolated between targets.

Parameters

  value | value to determine what interpolation is used 0.0 is linear interpolation higher values use spline interpolation to smooth out the transitions at each target. Recommended values are 0.0 and 0.5. Other values result in "special effects".

## ◆ UpdateRenderMesh()

void UpdateRenderMesh | ( |  | ) |

Update the render mesh immeadiately This is normally done as needed automatically

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

- gls_serial_morph_mesh.h