SoFCMeshNode.cpp File Reference

#include "PreCompiled.h"
#include <GL/gl.h>
#include <Inventor/SbBox.h>
#include <Inventor/SoOutput.h>
#include <Inventor/SoPrimitiveVertex.h>
#include <Inventor/actions/SoGLRenderAction.h>
#include <Inventor/actions/SoGetPrimitiveCountAction.h>
#include <Inventor/actions/SoWriteAction.h>
#include <Inventor/bundles/SoMaterialBundle.h>
#include <Inventor/bundles/SoTextureCoordinateBundle.h>
#include <Inventor/details/SoFaceDetail.h>
#include <Inventor/details/SoPointDetail.h>
#include <Inventor/elements/SoGLCacheContextElement.h>
#include <Inventor/elements/SoLazyElement.h>
#include <Inventor/elements/SoLightModelElement.h>
#include <Inventor/misc/SoState.h>
#include <Gui/SoFCInteractiveElement.h>
#include <Mod/Mesh/App/Core/Elements.h>
#include <Mod/Mesh/App/Core/Grid.h>
#include <Mod/Mesh/App/Core/Algorithm.h>
#include <Mod/Mesh/App/Core/MeshIO.h>
#include <Mod/Mesh/App/Mesh.h>
#include "SoFCMeshNode.h"

Go to the source code of this file.

Functions

void glNormal (float *n)
void glNormal (const Base::Vector3f &_n)
void glVertex (const MeshCore::MeshPoint &_v)
 class SoFCMeshNode
SbVec3f sbvec3f (const Base::Vector3f &_v)
 SO_NODE_SOURCE (SoFCMeshOpenEdge)
 SO_NODE_SOURCE (SoFCMeshNode)

Function Documentation

void glNormal ( float *  n  )  [inline]

Definition at line 95 of file SoFCMeshNode.cpp.

void glNormal ( const Base::Vector3f _n  )  [inline]
void glVertex ( const MeshCore::MeshPoint _v  )  [inline]

class SoFCMeshNode

The SoFCMeshNode class is designed to render huge meshes.

The SoFCMeshNode is an Inventor shape node that is designed to render huge meshes. If the mesh exceeds a certain number of triangles and the user does some intersections (e.g. moving, rotating, zooming, spinning, etc.) with the mesh then the GLRender() method renders only the gravity points of a subset of the triangles. If there is no user interaction with the mesh then all triangles are rendered. The limit of maximum allowed triangles can be specified in MaximumTriangles, the default value is set to 500.000.

The GLRender() method checks the status of the SoFCInteractiveElement to decide to be in interactive mode or not. To take advantage of this facility the client programmer must set the status of the SoFCInteractiveElement to true if there is a user interation and set the status to false if not. This can be done e.g. in the actualRedraw() method of the viewer.

Author:
Werner Mayer

Definition at line 79 of file SoFCMeshNode.cpp.

References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.

SbVec3f sbvec3f ( const Base::Vector3f _v  )  [inline]
SO_NODE_SOURCE ( SoFCMeshOpenEdge   ) 
SO_NODE_SOURCE ( SoFCMeshNode   ) 

Generated on Wed Nov 23 19:01:21 2011 for FreeCAD by  doxygen 1.6.1