#include "PreCompiled.h"
#include <GL/gl.h>
#include <Inventor/SbBox.h>
#include <Inventor/SoOutput.h>
#include <Inventor/SoPrimitiveVertex.h>
#include <Inventor/actions/SoCallbackAction.h>
#include <Inventor/actions/SoGLRenderAction.h>
#include <Inventor/actions/SoGetBoundingBoxAction.h>
#include <Inventor/actions/SoGetPrimitiveCountAction.h>
#include <Inventor/actions/SoPickAction.h>
#include <Inventor/actions/SoRayPickAction.h>
#include <Inventor/actions/SoWriteAction.h>
#include <Inventor/bundles/SoMaterialBundle.h>
#include <Inventor/bundles/SoTextureCoordinateBundle.h>
#include <Inventor/caches/SoBoundingBoxCache.h>
#include <Inventor/details/SoFaceDetail.h>
#include <Inventor/details/SoLineDetail.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 <Inventor/errors/SoReadError.h>
#include <Base/Console.h>
#include <Base/Exception.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 "SoFCMeshFaceSet.h"
#include "SoFCMeshVertex.h"
Go to the source code of this file.
Defines | |
#define | READ_VAL(val) |
Functions | |
void | glNormal (float *n) |
void | glNormal (const Base::Vector3f &_n) |
void | glVertex (const MeshCore::MeshPoint &_v) |
class SoFCMeshFaceSet | |
SbVec3f | sbvec3f (const Base::Vector3f &_v) |
SO_ELEMENT_SOURCE (SoFCMeshFacetElement) | |
SO_NODE_SOURCE (SoFCMeshOpenEdgeSet) | |
SO_NODE_SOURCE (SoFCMeshFaceSet) | |
SO_NODE_SOURCE (SoFCMeshFacet) | |
Variables | |
SoType SoSFMeshFacetArray::classTypeId | STATIC_SOTYPE_INIT |
#define READ_VAL | ( | val | ) |
if (!in->read(val)) { \ SoReadError::post(in, "Premature end of file"); \ return FALSE; \ }
void glNormal | ( | float * | n | ) | [inline] |
Definition at line 412 of file SoFCMeshFaceSet.cpp.
void glNormal | ( | const Base::Vector3f & | _n | ) | [inline] |
Definition at line 404 of file SoFCMeshFaceSet.cpp.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
void glVertex | ( | const MeshCore::MeshPoint & | _v | ) | [inline] |
class SoFCMeshFaceSet
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 100.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.
Definition at line 396 of file SoFCMeshFaceSet.cpp.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
SbVec3f sbvec3f | ( | const Base::Vector3f & | _v | ) | [inline] |
Definition at line 418 of file SoFCMeshFaceSet.cpp.
References Base::Vector3< _Precision >::x, Base::Vector3< _Precision >::y, and Base::Vector3< _Precision >::z.
Referenced by MeshGui::SoFCMeshObjectBoundary::generatePrimitives(), MeshGui::SoFCMeshSegmentShape::generatePrimitives(), MeshGui::SoFCMeshObjectShape::generatePrimitives(), MeshGui::SoFCMeshNode::generatePrimitives(), MeshGui::SoFCMeshOpenEdgeSet::generatePrimitives(), and MeshGui::SoFCMeshFaceSet::generatePrimitives().
SO_ELEMENT_SOURCE | ( | SoFCMeshFacetElement | ) |
SO_NODE_SOURCE | ( | SoFCMeshOpenEdgeSet | ) |
SO_NODE_SOURCE | ( | SoFCMeshFaceSet | ) |
SO_NODE_SOURCE | ( | SoFCMeshFacet | ) |
SoType SoSFMeshFacetArray ::classTypeId STATIC_SOTYPE_INIT |
Definition at line 75 of file SoFCMeshFaceSet.cpp.