GL Studio C++ Runtime API
GlsGeometryResourceMesh Class Referenceabstract

#include <gls_geometry_resource_mesh.h>

Inheritance diagram for GlsGeometryResourceMesh:
DisplayObject GlsGeometryResource::Observer AttributeChangedNotifier WeakReferenceableMixin WeakReferenceable GlsAdvancedMesh GlsSerialMorphMesh

Public Member Functions

 GlsGeometryResourceMesh (void)
 
 GlsGeometryResourceMesh (const GlsGeometryResourceMesh &that, const bool generateNames)
 
 ~GlsGeometryResourceMesh (void)
 
virtual void SetAvailableAttributes (unsigned int value)
 
virtual void CopyProperties (DisplayObject *src)
 
virtual void CopyGeometry (DisplayObject *src)
 
virtual void UpdateBoundingVolume (void)
 
virtual InterfaceListTypeGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL)
 
virtual void GetCppInterfaceDescriptionFree (InterfaceListType *array)
 
virtual void PreDraw (const OpenGLMatrices &parentMatrices, Culler &culler)
 
virtual void Draw (void)
 
virtual void GetTransformedExtents (Vector &min, Vector &max, const GlsMatrixType &matrix, bool resetMinMax=true)
 
virtual void GetExtents (float &minx, float &miny, float &minz, float &maxx, float &maxy, float &maxz)
 
virtual DisplayObjectPick3D (const Vector &winLoc, const Vector &logicalCoords, float scale, const Vector &directionVector, Vector &collisionWinLoc, const OpenGLMatrices &drawnMatrices)
 
virtual bool Hit (float x, float y, float z, float scale, const Vector &directionVector, Vector *collisionPoint)
 
virtual void Scale (float px, float py, float pz, Vertex *anchor, int handleBar=0)
 
virtual void Rotate (const Vector &orig, float angle, const Vector &axis)
 
virtual void TranslateVertices (float x, float y, float z)
 
virtual int TextureIndex (void)
 
virtual void TextureIndex (int index)
 
virtual void MaterialIndex (unsigned int index)
 
virtual int MaterialIndex ()
 
virtual void MaterialIndices (DynamicArray< int > indices)
 
virtual DynamicArray< int > & MaterialIndices ()
 
void SetGeometryTransform (const GlsMatrixType &value)
 
const GlsMatrixTypeGetGeometryTransform ()
 
unsigned int NumIndexBuffers ()
 
unsigned int NumIndexBufferEffects ()
 
bool ReorderAtWill ()
 
void ReorderAtWill (bool reorderAtWill)
 
virtual void ResizeIndexBufferEffectsArray (unsigned int newSize)
 
GlsRenderEffectGetIndexBufferEffect (unsigned int bufferNum)
 
void SetIndexBufferEffect (unsigned int bufferNum, GlsRenderEffect *newEffect)
 
- Public Member Functions inherited from DisplayObject
 DisplayObject (float x, float y, float z)
 
 DisplayObject (const DisplayObject &object, const bool generateNames)
 
virtual ~DisplayObject (void)
 
void Destroy ()
 
virtual void AlphaMode (int mode)
 
virtual int AlphaMode (void)
 
virtual bool AntiAlias (void)
 
virtual void AntiAlias (bool alias)
 
void ApplyTextureSettings (int textureIndex=-1)
 
DistiAttribDictAttributes ()
 
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)
 
bool BlinkedOff (void)
 
virtual bool Blinking (void)
 
virtual void Blinking (const bool blink)
 
virtual float BlinkRate (void)
 
virtual void BlinkRate (const float rate)
 
const VectorBoundingVolumeCenter () 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 (void)
 
virtual void CalculateTextureCoordinates (void)
 
bool GetTexturePointTransformationMatrix (GlsMatrixType &world2tex)
 
CallbackMethodCallerBaseCallbackCaller () const
 
void CallbackCaller (CallbackMethodCallerBase *cb)
 
virtual void GetCenter (Vector &center)
 
virtual DisplayObjectCloneObject (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 CopyHierarchyProperties (DisplayObject *src, bool copyName)
 
virtual void CullBackFace (const bool val)
 
virtual bool CullBackFace (void)
 
bool Culled () const
 
bool CullTest (const GlsMatrixType *matrix, const Culler &culler)
 
GlsMatrixTypeDcsMatrix ()
 
void DcsMatrix (const GlsMatrixType &matrix)
 
virtual void DeleteVertexAt (unsigned int index)
 
virtual void DeleteVertex (unsigned int indexAfter) final
 
virtual int DepthTest (void)
 
virtual void DepthTest (unsigned char zbuf)
 
const GlsMatrixTypeDrawMatrix ()
 
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 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 DynamicTranslate (float amount, int axis, bool relative=false)
 
virtual float DynamicTranslation (int axis)
 
virtual Vector DynamicTranslation ()
 
DisplayObjectEditor * Editor ()
 
const DisplayObjectEditor * Editor () const
 
void Editor (DisplayObjectEditor *editor)
 
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)
 
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 GenerateInstanceName (void)
 
virtual DisplayObjecthandle (DisplayEvent *ev)
 
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 (void)
 
void InstanceName (const char *name)
 
virtual bool LightingEnabled ()
 
virtual void LightingEnabled (bool lighting)
 
virtual int LineStippleMultiplier (void)
 
virtual void LineStippleMultiplier (int mult)
 
virtual int LineStipplePattern (void)
 
virtual void LineStipplePattern (int pattern)
 
virtual float LineWidth (void)
 
virtual void LineWidth (float width)
 
virtual const VertexLocation (void) 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 (void) const
 
float Y (void) const
 
float Z (void) const
 
void X (const float x)
 
void Y (const float y)
 
void Z (const float z)
 
virtual void MaterialIndex (int index)
 
GlsMatrixTypeModelMatrix ()
 
bool NeedCalculate ()
 
VectorNormals ()
 
virtual void SetNormals (unsigned int nPoints, Vector *vertices)
 
void VaSetNormals (unsigned int nPoints,...)
 
unsigned int NumberOfVertices () const
 
virtual float ObjectDepth (void)
 
virtual float ObjectHeight (void)
 
virtual float ObjectWidth (void)
 
virtual void SetOrigin (const Vertex &vert)
 
virtual void Parent (DisplayFrame *par)
 
DisplayFrameParent (void) const
 
virtual void ParentGroup (Group *group)
 
GroupParentGroup (void) const
 
unsigned char Pickable ()
 
virtual void Pickable (unsigned char pick)
 
virtual int PolygonEnd (void)
 
virtual void PolygonEnd (const int end)
 
virtual int PolygonMode (void)
 
virtual void PolygonMode (int mode)
 
GlsMatrixTypeProjMatrix ()
 
virtual void ReallocateVertices (unsigned int numVertices, bool initializeNew, bool copyOld)
 
virtual float RelativeAngle (const float x, const float y)
 
virtual DistiAttributeBaseResource (const char *name)
 
virtual void GetResources (std::ostream &outstr, GlsResourceFilter *filter=NULL)
 
void RestoreAlpha (void)
 
void RestoreAntiAlias (void)
 
void RestoreLighting (void)
 
void RestoreLineStyle (void)
 
const VertexRotationPoint () 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)
 
void SaveMatrices ()
 
void Set (int spec,...)
 
bool SetupAlpha (void)
 
bool SetupAntiAlias (void)
 
void SetupDepthTest (void)
 
void SetupLighting (void)
 
bool SetupLineStyle (void)
 
void SetupPolyDrawStyle (void)
 
void SetupShading (void)
 
bool SetupTexture (void)
 
virtual int Shading (void)
 
virtual void Shading (const int shading)
 
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,...)
 
VectorTextureCoordinates (void)
 
VectorGetTextureCoordinates (void)
 
virtual VectorGetTexturePoints (void)
 
virtual bool TextureRepeat (void)
 
virtual void TextureRepeat (const int rep)
 
virtual int TextureMappingTechnique (void)
 
virtual void TextureMappingTechnique (const int map)
 
virtual int TextureMagnificationFilter (void)
 
virtual void TextureMagnificationFilter (const int filter)
 
virtual int TextureMinificationFilter (void)
 
virtual void TextureMinificationFilter (const int filter)
 
virtual void Translate (float tr[])
 
virtual void Translate (float x, float y, float z)
 
void * UserData (void) const
 
void UserData (void *data)
 
virtual void SetVertexColor (unsigned int vertex, unsigned char CurrentFillColor[])
 
virtual VertexVertices ()
 
virtual void SetVertices (unsigned int nPoints, Vertex *vertices)
 
void VaSetVertices (unsigned int nPoints,...)
 
int * ViewMatrix ()
 
bool Visible (void) const
 
bool Visibility (void) const
 
virtual void Visibility (const bool vis)
 
virtual Vector WorldRotationPoint (void)
 
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)
 
virtual bool GetPlaneVectorPoints (Vertex &p1, Vertex &p2, Vertex &p3, Vertex &planeVector)
 
void NotifyAttributeChanged (const AttributeName &name) override
 
virtual void SetPainter (GlsPainter *painter)
 
virtual GlsPainterGetPainter ()
 
void InvalidatePainter ()
 
virtual bool IsVisibleInScene (const DisplayObject *obj=NULL) const
 
- Public Member Functions inherited from AttributeChangedNotifier
virtual ~AttributeChangedNotifier ()
 
- Public Member Functions inherited from WeakReferenceableMixin
void AddWeakReference (WeakReference *weakRef) override
 
void NotifyWeakReferenceDestroyed (WeakReference *ref) override
 

Protected Attributes

bool _reorderAtWill
 
IndexBufferEffectArrayT _indexBufferEffects
 The effect to use for each index buffer.
 
SortedDrawableArrayT _indexBufferDrawables
 GlsSortedDrawable for each index buffer.
 
- Protected Attributes inherited from DisplayObject
int _alphaMode
 
bool _antiAlias
 
bool _attributesAdded
 
bool _blinking
 
float _blinkRate
 
GlsColor _color
 
bool _cullBackFace
 
GlsMatrixType _dcsMatrix
 
unsigned char _depthTest
 
GlsMatrixType_drawMatrix
 
unsigned char _lineStippleMultiplier
 
unsigned short _lineStipplePattern
 
float _lineWidth
 
Vertex _location
 
GlsMatrixType_modelMatrix
 
Vector_normals
 
unsigned int _nTex_vertices
 
unsigned int _nVertices
 
unsigned char _polygonEnd
 
unsigned char _polygonMode
 
int _polygonOffset
 
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
 
- Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * _weakRefs
 

Additional Inherited Members

- Public Types inherited from DisplayObject
enum  AvailableAttributesEnum
 
- Static Public Member Functions inherited from DisplayObject
static void UseManualBlinkElapsedTime (bool useManualTime)
 
static void SetManualBlinkElapsedTime (double elapsedTime)
 
- 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 AllocateModelMatrix ()
 
bool ApplyDynamicRotation (void)
 
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 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 SetValue (int spec, va_list &args)
 
int GetApplicableTextureIndex ()
 
int GetApplicableTextureRepeat ()
 
- Protected Member Functions inherited from WeakReferenceableMixin
 WeakReferenceableMixin (void)
 
virtual ~WeakReferenceableMixin ()
 

Detailed Description

This is an abstrace base class for objects that use a GlsGeometryResource for rendering (e.g. GlsAdvancedMesh) This class implements Draw / Pick routines that use a RenderMesh provided by the derived classes. The appearance of the mesh is affected by the IndexBufferEffectsArray. This class also implements Translate, Rotate, and Scale through a GeometryTransform matrix.

Constructor & Destructor Documentation

GlsGeometryResourceMesh ( const GlsGeometryResourceMesh that,
const bool  generateNames 
)

Create a copy of a GlsGeometryResourceMesh

Parameters
thatThe GlsGeometryResourceMesh to copy from
generateNamesWhether or not to generate a new instance name for the copy

Member Function Documentation

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
srcThe object to copy geometry from

Reimplemented from DisplayObject.

Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.

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
srcThe object to copy properties from

Reimplemented from DisplayObject.

Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.

virtual void Draw ( void  )
virtual

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

Implements DisplayObject.

virtual InterfaceListType* GetCppInterfaceDescription ( InterfaceListType addToThisList = NULL)
virtual

Get the details of the Cpp Interface The actual interface is exposed in compiled code.

Parameters
addToThisListIf not NULL this list will be added to then returned. If NULL a new list will be created.
Returns
A templated list. The caller must call the corresponding free method to safely free the memory.

Reimplemented from DisplayObject.

Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.

virtual void GetCppInterfaceDescriptionFree ( InterfaceListType array)
virtual

Frees the memory allocated by a previous call to GetCppInterfaceDescription

Parameters
arrayMemory allocated by a previous call to GetCppInterfaceDescription

Reimplemented from DisplayObject.

Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.

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
xGets the minimum x extent
yGets the minimum y extent
zGets the minimum z extent
x1Gets the maximum x extent
y1Gets the maximum y extent
z1Gets the maximum z extent

Reimplemented from DisplayObject.

const GlsMatrixType& GetGeometryTransform ( )
inline
Returns
The matrix that is applied before the geometry resource is drawn. Lifetime is guaranteed to coincide with the GlsGeometryResourceMesh's lifetime.
GlsRenderEffect* GetIndexBufferEffect ( unsigned int  bufferNum)
inline

Access the GlsRenderEffect that is used to render the specified index buffer (may be NULL)

Parameters
bufferNumThe IndexBuffer to get the effect for. Must be between 0 and NumIndexBuffers().
Returns
Pointer to the index buffer effect used when rendering the specified GlsGeometryResource IndexBuffer
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
minReturns the minimum values found in the traversal
maxReturns the maximum values found in the traversal
matrixTransformation matrix from logical coordinates to the coordinate system to determine the extents in.
resetMinMaxNormally not specified by user. Should be true for the initial call.

Reimplemented from DisplayObject.

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
xX coordinate of pick ray start in logical coordinates.
yY coordinate of pick ray start in logical coordinates.
yY coordinate of pick ray start in logical coordinates.
zZ coordinate of pick ray start in logical coordinates.
scaleThe scale factor of the window. Affects picking of outlines. Standard value is 1.0.
directionVectorThe direction of the pick ray.
collisionPointIf 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 from DisplayObject.

virtual void MaterialIndex ( unsigned int  index)
virtual

Override base class since a mesh can have multiple materials

Returns
the first index in the _materialIndices array.
virtual int MaterialIndex ( )
virtual

Gets material index. Returns -1 if multiple are applied.

Reimplemented from DisplayObject.

virtual void MaterialIndices ( DynamicArray< int >  indices)
virtual
Returns
the _materialIndices array for this object.

Reimplemented from DisplayObject.

virtual DynamicArray<int>& MaterialIndices ( )
virtual

Gets a vector of material indices.

Reimplemented from DisplayObject.

unsigned int NumIndexBufferEffects ( )
inline
Returns
The size of the IndexBufferEffects array
unsigned int NumIndexBuffers ( )
inline
Returns
The number of IndexBuffers in the current render mesh
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
winLocDevice coordinates for the mouse click. Z value should be set to 0 to ensure pick ray starts at near clip plane.
logicalCoordsThe start of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector).
scaleCurrent window scale. Affects picking radius of outlines. Initial value should typically be 1.0.
directionVectorThe direction of the pick ray in logical coordinates. Should be calculated from the winLoc using this->WindowToLogical(winLoc, logicalCoords, &directionVector).
collisionWinLocReturns where the pick vector intersects the object that is hit in device coordinates.
drawnMatricesThe matrices used to draw the object, including matrices set by parents that may have dynamically rotated, translated or scaled this object. Initial value should typically be a default OpenGLMatrices() object.
Returns
The object that was hit, or NULL if no object hit

Reimplemented from DisplayObject.

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

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

Parameters
currentCurrent matrices inherited from parent
cullerObject that possibly marks this object for culling

Reimplemented from DisplayObject.

Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.

bool ReorderAtWill ( )
inline
Returns
The whether or not the draw order of the mesh can be modified for performance
void ReorderAtWill ( bool  reorderAtWill)
inline

Sets whether or not the draw order of the mesh can be modified for performance

virtual void ResizeIndexBufferEffectsArray ( unsigned int  newSize)
virtual

Set the size of the IndexBufferEffects array This will release any effects that are no longer referenced.

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
origThe point to rotate around
angleThe angle to rotate by, in degrees
axisThe arbitrary axis to rotate the object around

Reimplemented from DisplayObject.

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
pxValue of the percentage of scale in x-axis
pyValue of the percentage of scale in y-axis
pzValue of the percentage of scale in z-axis
anchorAnchor from which to scale object relative to
handleBarVertex that is being dragged

Reimplemented from DisplayObject.

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
valueA bitfield specifying which types of attributes to make available.
See also
AvailableAttributesEnum

Reimplemented from DisplayObject.

Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.

void SetGeometryTransform ( const GlsMatrixType value)

Set the matrix that is applied before the geometry resource is drawn.

void SetIndexBufferEffect ( unsigned int  bufferNum,
GlsRenderEffect newEffect 
)
inline

Set the GlsRenderEffect to use when rendering the given index buffer. If this value is NULL, the geometry will be rendered with a default effect. Note: the GlsGeometryResourceMesh will increment the reference count on the new effect and release any effect that was previously referenced.

Parameters
bufferNumThe IndexBuffer to get the effect for. Should be between 0 and NumIndexBuffers().
newEffect[out] Pointer to the index buffer effect to use when rendering the specified GlsGeometryResource IndexBuffer.
virtual int TextureIndex ( void  )
virtual

Override base class since a mesh can have multiple textures.

Returns
-2 if multiple textures applied to object, -1 if no texture otherwise if all faces use same texture, returns the texture index that is shared by the faces.

Reimplemented from DisplayObject.

virtual void TextureIndex ( int  textureIndex)
virtual

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

Parameters
textureIndexThe texture index to use. -1 indicates that no texture will be drawn.

Reimplemented from DisplayObject.

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

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

Parameters
xX amount to translate by
yY amount to translate by
zZ amount to translate by

Reimplemented from DisplayObject.

virtual void UpdateBoundingVolume ( void  )
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 from DisplayObject.

Member Data Documentation

bool _reorderAtWill
protected

Intermediate data storage to make the setting of new material indices through the Faces simpler.


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