GL Studio C++ Runtime API
|
#include <gls_geometry_resource_mesh.h>
Public Types | |
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 | |
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 InterfaceListType * | GetCppInterfaceDescription (InterfaceListType *addToThisList=NULL) DISTI_METHOD_OVERRIDE |
virtual void | GetCppInterfaceDescriptionFree (InterfaceListType *array) 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 |
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 ¢er) |
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 ¢er) |
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 InterfaceListType * | GetCppInterfaceDescription (InterfaceListType *addToThisList=NULL) |
virtual void | GetCppInterfaceDescriptionFree (InterfaceListType *array) |
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 | 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) |
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 ¤t, 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) |
void | RestoreAlpha () |
void | RestoreAntiAlias () |
void | RestoreLighting () |
void | RestoreLineStyle () |
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 () |
bool | SetupAntiAlias () |
void | SetupDepthTest () |
void | SetupLighting () |
bool | SetupLineStyle () |
void | SetupPolyDrawStyle () |
void | SetupShading () |
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) |
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... | |
Protected Types | |
typedef DynamicArray< GlsRenderEffect * > | IndexBufferEffectArrayT |
Typedef for a list of effects (shaders). | |
typedef DynamicArray< GlsSortedDrawable * > | SortedDrawableArrayT |
Typedef for a list of sorted drawables. | |
Protected Member Functions | |
void | DrawIndexBuffers (GlsGeometryResource *renderMesh) |
void | SetupDefaultEffect () |
void | CleanupDefaultEffect () |
void | DrawGeometry () |
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) |
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 | SetValue (int spec, va_list &args) |
int | GetApplicableTextureIndex () |
int | GetApplicableTextureRepeat () |
Protected Member Functions inherited from WeakReferenceableMixin | |
WeakReferenceableMixin () | |
virtual | ~WeakReferenceableMixin () |
Protected Attributes | |
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. | |
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 |
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 |
Protected Attributes inherited from WeakReferenceableMixin | |
DynamicArray< WeakReference * > * | _weakRefs |
Friends | |
class | GlsGeometryResourceMesh_SortedDrawable |
class | GlsGeometryResourceMeshEditor |
Additional Inherited Members | |
Static Public Member Functions inherited from DisplayObject | |
static InterfaceListType * | StaticGetCppInterfaceDescription (InterfaceListType *addToThisList=NULL) |
static void | UseManualBlinkElapsedTime (bool useManualTime) |
static void | SetManualBlinkElapsedTime (double elapsedTime) |
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.
Create a new GlsGeometryResourceMesh
GlsGeometryResourceMesh | ( | const GlsGeometryResourceMesh & | that, |
const bool | generateNames | ||
) |
Create a copy of a GlsGeometryResourceMesh
that | The GlsGeometryResourceMesh to copy from |
generateNames | Whether or not to generate a new instance name for the copy |
GlsGeometryResourceMesh destructor
|
protected |
Resets the shader program state after mesh drawing.
|
virtual |
Copies the geometry information from one object to another. Used by the undo mechanism to allow user to undo a geometry change.
src | The object to copy geometry from |
Reimplemented from DisplayObject.
Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.
|
virtual |
Copies the attributes except for geometry attributes from one object to another. Used by the undo mechanism to undo most attribute change operations.
src | The object to copy properties from |
Reimplemented from DisplayObject.
Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.
|
virtual |
Draws this object on the current display frame (_parent member). Pure virtual method
Implements DisplayObject.
|
protected |
Draw all underlying mesh objects, used by internal draw code.
|
protected |
Draw the given mesh object, used by internal draw code.
renderMesh | The mesh to draw. |
|
virtual |
Get the details of the Cpp Interface The actual interface is exposed in compiled code.
addToThisList | If not NULL this list will be added to then returned. If NULL a new list will be created. |
Reimplemented from DisplayObject.
Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.
|
virtual |
Frees the memory allocated by a previous call to GetCppInterfaceDescription
array | Memory allocated by a previous call to GetCppInterfaceDescription |
Reimplemented from DisplayObject.
Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.
|
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.
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 from DisplayObject.
|
inline |
|
inline |
Access the GlsRenderEffect that is used to render the specified index buffer (may be NULL)
bufferNum | The IndexBuffer to get the effect for. Must be between 0 and NumIndexBuffers(). |
|
pure virtual |
Implemented by the derived class.
Implemented in GlsAdvancedMesh, and GlsSerialMorphMesh.
|
virtual |
Determines the static extents of the geometry projected to the XY plane of an arbirary coordinate system.
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 from DisplayObject.
|
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.
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. |
Reimplemented from DisplayObject.
|
virtual |
Override base class since a mesh can have multiple materials.
Reimplemented from DisplayObject.
|
virtual |
Override base class since a mesh can have multiple materials.
index | The material index to set. |
|
virtual |
Reimplemented from DisplayObject.
|
virtual |
Set the _materialIndices array for this object.
indices | The new indices to set. |
Reimplemented from DisplayObject.
|
inline |
|
inline |
|
inlinevirtual |
Callback method to be called by this observer.
Implements GlsGeometryResource::Observer.
|
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.
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. |
Reimplemented from DisplayObject.
|
virtual |
Traverses the hierarchy calculating the _modelMatrix, _projMatrix, _viewMatrix as needed.
current | Current matrices inherited from parent |
culler | Object that possibly marks this object for culling |
Reimplemented from DisplayObject.
Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.
|
inline |
|
inline |
Sets whether or not the draw order of the mesh can be modified for performance.
reorderAtWill | The new reorder flag. |
|
virtual |
Set the size of the IndexBufferEffects array. This will release any effects that are no longer referenced.
newSize | The new number of effects to set. |
Rotates the object (around the specified axis) by the angle indicated, at the point specified. Recalculates the vertex data.
orig | The point to rotate around |
angle | The angle to rotate by, in degrees |
axis | The arbitrary axis to rotate the object around |
Reimplemented from DisplayObject.
|
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.
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 from DisplayObject.
|
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.)
value | A bitfield specifying which types of attributes to make available. |
Reimplemented from DisplayObject.
Reimplemented in GlsAdvancedMesh, and GlsSerialMorphMesh.
void SetGeometryTransform | ( | const double * | matrix | ) |
Set the matrix that is applied before the geometry resource is drawn.
matrix | Array of 16 doubles that make up the new transform matrix. |
void SetGeometryTransform | ( | const GlsMatrixType & | value | ) |
Set the matrix that is applied before the geometry resource is drawn.
value | The transform value to set. |
|
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.
bufferNum | The 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. |
|
protected |
Sets up the default shader program for mesh drawing.
|
virtual |
Override base class since a mesh can have multiple textures.
|
virtual |
Override base class since a mesh can have multiple textures.
Reimplemented from DisplayObject.
|
virtual |
Sets the texture index to be used when drawing the object.
textureIndex | The texture index to use. -1 indicates that no texture will be drawn. |
Reimplemented from DisplayObject.
|
virtual |
Moves the object's vertices by the amount indicated. Does not change _location.
x | X amount to translate by |
y | Y amount to translate by |
z | Z amount to translate by |
Reimplemented from DisplayObject.
|
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.