![]()  | 
  
    SLProject
    4.2.000
    
   A platform independent 3D computer graphics framework for desktop OS,  Android,  iOS and online in web browsers 
   | 
 
SLGrid creates a rectangular grid with lines with a certain resolution. More...
#include <SLGrid.h>
Public Member Functions | |
| SLGrid (SLAssetManager *assetMgr, SLVec3f minXZ, SLVec3f maxXZ, SLuint resX, SLuint resZ, SLstring name="grid mesh", SLMaterial *mat=nullptr) | |
| ctor for rectangle w. min & max corner  More... | |
| void | buildMesh (SLMaterial *mat) | 
| SLGrid::buildMesh fills in the underlying arrays from the SLMesh object.  More... | |
  Public Member Functions inherited from SLMesh | |
| SLMesh (SLAssetManager *assetMgr, const SLstring &name="Mesh") | |
| Construct a new SLMesh::SLMesh object.  More... | |
| ~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, SLuint intances=0) | 
| 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 (bool forceCPUSkinning, 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 | 
Protected Attributes | |
| SLVec3f | _min | 
| min corner  More... | |
| SLVec3f | _max | 
| max corner  More... | |
| SLuint | _resX | 
| resolution in x direction  More... | |
| SLuint | _resZ | 
| resolution in z direction  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 if accel. struct needs update.  More... | |
| SLAnimSkeleton * | _skeleton | 
| The skeleton this mesh is bound to.  More... | |
| SLVMat4f | _jointMatrices | 
| Joint matrix vector for this mesh.  More... | |
| SLbool | _isCPUSkinned | 
| Flag if mesh has been skinned on CPU during update.  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... | |
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... | |
SLGrid creates a rectangular grid with lines with a certain resolution.
The SLGrid mesh draws a grid between a minimal and a maximal corner in the XZ-plane.
| SLGrid::SLGrid | ( | SLAssetManager * | assetMgr, | 
| SLVec3f | minXZ, | ||
| SLVec3f | maxXZ, | ||
| SLuint | resX, | ||
| SLuint | resZ, | ||
| SLstring | name = "grid mesh",  | 
        ||
| SLMaterial * | mat = nullptr  | 
        ||
| ) | 
ctor for rectangle w. min & max corner
SLGrid ctor with min & max corners and its resolutions.
Definition at line 15 of file SLGrid.cpp.
| void SLGrid::buildMesh | ( | SLMaterial * | mat | ) | 
SLGrid::buildMesh fills in the underlying arrays from the SLMesh object.
Definition at line 39 of file SLGrid.cpp.