![]() |
SLProject 4.0.000
|
Axis aligned coordinate axis mesh. More...
#include <SLCoordAxis.h>
Public Member Functions | |
| SLCoordAxis (SLAssetManager *assetMgr, SLfloat arrowThickness=0.05f, SLfloat arrowHeadLenght=0.2f, SLfloat arrowHeadWidth=0.1f) | |
| SLAxis::SLAxis ctor with the arrow dimensions. More... | |
| void | buildMesh () |
| SLCoordAxis::buildMesh fills in the underlying arrays from the SLMesh object. More... | |
Public Member Functions inherited from SLMesh | |
| SLMesh (SLAssetManager *assetMgr, const SLstring &name="Mesh") | |
| ~SLMesh () override | |
| The destructor deletes everything by calling deleteData. More... | |
| virtual void | init (SLNode *node) |
| SLMesh::shapeInit sets the transparency flag of the AABB. More... | |
| virtual void | draw (SLSceneView *sv, SLNode *node) |
| void | drawIntoDepthBuffer (SLSceneView *sv, SLNode *node, SLMaterial *depthMat) |
| Simplified drawing method for shadow map creation. More... | |
| void | addStats (SLNodeStats &stats) |
| virtual void | buildAABB (SLAABBox &aabb, const SLMat4f &wmNode) |
| void | updateAccelStruct () |
| SLbool | hit (SLRay *ray, SLNode *node) |
| virtual void | preShade (SLRay *ray) |
| virtual void | deleteData () |
| SLMesh::deleteData deletes all mesh data and vbo's. More... | |
| virtual void | deleteDataGpu () |
| void | deleteSelected (SLNode *node) |
| Deletes the rectangle selected vertices and the dependent triangles. More... | |
| void | deleteUnused () |
| Deletes unused vertices (= vertices that are not indexed in I16 or I32) More... | |
| virtual void | calcMinMax () |
| virtual void | calcNormals () |
| SLMesh::calcNormals recalculates vertex normals for triangle meshes. More... | |
| void | calcCenterRad (SLVec3f ¢er, SLfloat &radius) |
| SLbool | hitTriangleOS (SLRay *ray, SLNode *node, SLuint iT) |
| virtual void | generateVAO (SLGLVertexArray &vao) |
| Generate the Vertex Array Object for a specific shader program. More... | |
| void | computeHardEdgesIndices (float angleRAD, float epsilon) |
| computes the hard edges and stores the vertex indexes separately More... | |
| void | transformSkin (const std::function< void(SLMesh *)> &cbInformNodes) |
| Transforms the vertex positions and normals with by joint weights. More... | |
| void | deselectPartialSelection () |
| SLMaterial * | mat () const |
| SLMaterial * | matOut () const |
| SLGLPrimitiveType | primitive () const |
| const SLAnimSkeleton * | skeleton () const |
| SLuint | numI () const |
| SLGLVertexArray & | vao () |
| SLbool | isSelected () const |
| SLfloat | edgeAngleDEG () const |
| SLfloat | edgeWidth () const |
| SLCol4f | edgeColor () const |
| SLVec3f | finalP (SLuint i) |
| SLVec3f | finalN (SLuint i) |
| SLbool | accelStructIsOutOfDate () |
| void | mat (SLMaterial *m) |
| void | matOut (SLMaterial *m) |
| void | primitive (SLGLPrimitiveType pt) |
| void | skeleton (SLAnimSkeleton *skel) |
| void | isSelected (bool isSelected) |
| void | edgeWidth (SLfloat ew) |
| void | edgeAngleDEG (SLfloat ea) |
| void | edgeColor (const SLCol4f &ec) |
| void | vertexPosEpsilon (SLfloat eps) |
Public Member Functions inherited from SLObject | |
| SLObject (const SLstring &Name="", const SLstring &url="") | |
| virtual | ~SLObject () |
| void | name (const SLstring &Name) |
| void | url (const SLstring &url) |
| const SLstring & | name () const |
| const SLstring & | url () const |
Private Attributes | |
| SLfloat | _arrowThickness |
| Thickness of the arrow. More... | |
| SLfloat | _arrowHeadLength |
| Lenght of the arrow head. More... | |
| SLfloat | _arrowHeadWidth |
| Width of the arrow head. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from SLMesh | |
| static void | calcTex3DMatrix (SLNode *node) |
Public Attributes inherited from SLMesh | |
| SLVVec3f | P |
| Vector for vertex positions layout (location = 0) More... | |
| SLVVec3f | N |
| Vector for vertex normals (opt.) layout (location = 1) More... | |
| SLVVec2f | UV [2] |
| Array of 2 Vectors for tex. coords. (opt.) layout (location = 2) More... | |
| SLVCol4f | C |
| Vector of vertex colors (opt.) layout (location = 4) More... | |
| SLVVec4f | T |
| Vector of vertex tangents (opt.) layout (location = 5) More... | |
| SLVVuchar | Ji |
| 2D Vector of per vertex joint ids (opt.) layout (location = 6) More... | |
| SLVVfloat | Jw |
| 2D Vector of per vertex joint weights (opt.) layout (location = 7) More... | |
| SLVVec3f | skinnedP |
| temp. vector for CPU skinned vertex positions More... | |
| SLVVec3f | skinnedN |
| temp. vector for CPU skinned vertex normals More... | |
| SLVushort | I16 |
| Vector of vertex indices 16 bit. More... | |
| SLVuint | I32 |
| Vector of vertex indices 32 bit. More... | |
| SLVuint | IS32 |
| Vector of rectangle selected vertex indices 32 bit. More... | |
| SLVushort | IE16 |
| Vector of hard edges vertex indices 16 bit (see computeHardEdgesIndices) More... | |
| SLVuint | IE32 |
| Vector of hard edges vertex indices 32 bit (see computeHardEdgesIndices) More... | |
| SLVec3f | minP |
| min. vertex in OS More... | |
| SLVec3f | maxP |
| max. vertex in OS More... | |
Protected Attributes inherited from SLMesh | |
| SLGLPrimitiveType | _primitive |
| Primitive type (default triangles) More... | |
| SLMaterial * | _mat |
| Pointer to the inside material. More... | |
| SLMaterial * | _matOut |
| Pointer to the outside material. More... | |
| SLGLVertexArray | _vao |
| Main OpenGL Vertex Array Object for drawing. More... | |
| SLGLVertexArrayExt | _vaoN |
| OpenGL VAO for optional normal drawing. More... | |
| SLGLVertexArrayExt | _vaoT |
| OpenGL VAO for optional tangent drawing. More... | |
| SLGLVertexArrayExt | _vaoS |
| OpenGL VAO for optional selection drawing. More... | |
| SLbool | _isSelected |
| Flag if mesh is partially of fully selected. More... | |
| SLfloat | _edgeAngleDEG |
| Edge crease angle in degrees between face normals (30 deg. default) More... | |
| SLfloat | _edgeWidth |
| Line width for hard edge drawing. More... | |
| SLCol4f | _edgeColor |
| Color for hard edge drawing. More... | |
| SLfloat | _vertexPosEpsilon |
| Vertex position epsilon used in computeHardEdgesIndices. More... | |
| SLbool | _isVolume |
| Flag for RT if mesh is a closed volume. More... | |
| SLAccelStruct * | _accelStruct |
| KD-tree or uniform grid. More... | |
| SLbool | _accelStructIsOutOfDate |
| Flag id accel.struct needs update. More... | |
| SLAnimSkeleton * | _skeleton |
| The skeleton this mesh is bound to. More... | |
| SLVMat4f | _jointMatrices |
| Joint matrix vector for this mesh. More... | |
| SLVVec3f * | _finalP |
| Pointer to final vertex position vector. More... | |
| SLVVec3f * | _finalN |
| pointer to final vertex normal vector More... | |
Protected Attributes inherited from SLObject | |
| SLstring | _name |
| name of an object More... | |
| SLstring | _url |
| uniform resource locator More... | |
Axis aligned coordinate axis mesh.
The SLAxis mesh draws axis aligned arrows to indicate the coordinate system. All arrows have unit lenght. The arrow along x,y & z axis have the colors red, green & blue.
|
explicit |
SLAxis::SLAxis ctor with the arrow dimensions.
| void SLCoordAxis::buildMesh | ( | ) |
SLCoordAxis::buildMesh fills in the underlying arrays from the SLMesh object.
|
private |
Lenght of the arrow head.
|
private |
Width of the arrow head.
|
private |
Thickness of the arrow.