Class PoMeshCrossSection
- java.lang.Object
-
- All Implemented Interfaces:
SafeDisposable
public class PoMeshCrossSection extends PoMesh3D
Representation of cross section of a volume mesh. Class to build a filled representation of a cross-section in a volume mesh.If the field
PoMesh.valuesIndex
is not defined (or if coloringType = COLOR_INHERITED), the representation uses only one inherited color. If the fieldPoMesh.valuesIndex
is defined (and if coloringType != COLOR_INHERITED), the representation is colored by using the current data mapping applied to each mesh node value. (seePoMesh
for more explanations about the current data-mapping).The vector data of the mesh for this representation is unused.
When using the
ISOSURFACE
mode, the cross section can be generated by using either a triangle strip set or an indexed face set depending on the preference variable SoPreference.OIV_3DDATA_USE_TRIANGLE_STRIP_SETFile format/default:
plane Z=0 plane valuesIndex -1 coloringType COLOR_INHERITED vecsIndex -1 valuesIndexForCellFilter -1 moduleDataMapping NULL <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <link REL="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"> <title></title> </head> <BODY> <h1></h1> <h4> <A NAME="Heading1046">CATALOG PARTS</A></h4> <ul><b>PoMeshCrossSection</b> {</ul> <ul><ul><b>Separator</b> <tt>alternateRep</tt> (from PoBase) {<br> </ul></ul> <ul><ul><ul><b>AppearanceKit</b> <tt>appearance</tt> (from PoBase)</ul></ul></ul> <ul><ul><ul><i>Specifies the appearance of all the kit. By default lightModel.model=PHONG. material.diffuseColor is set when the kit is rebuilt, if the field coloringType is different from COLOR_INHERITED.</i></ul></ul></ul> <ul><ul><ul><b>MatrixTransform</b> <tt>domainTransform</tt> (from PoBase)</ul></ul></ul> <ul><ul><ul><i>Corresponds to the domain transformation.</i></ul></ul></ul> <ul><ul><ul><ul></ul></ul></ul></ul> <ul><ul><ul><b>Group</b> <tt>groupCrossSection</tt></ul></ul></ul> <ul><ul><ul><i>Contains a SoQuadMesh shape for ParalCartesianGrid3D and RegularCartesianGrid3D meshes and when the cross section is perpendicular to the X, Y or Z axis, an indexed shape otherwise, to draw the cross section of the mesh.</i></ul></ul></ul> <ul><ul>}</ul></ul> <ul>}</ul> <ul><ul><br> </ul></ul> </body> </html>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PoMeshCrossSection.CrossSectionMethods
Specifies the method used to compute intersections.-
Nested classes/interfaces inherited from class com.openinventor.meshviz.data.PoMesh
PoMesh.ColoringTypes
-
Nested classes/interfaces inherited from class com.openinventor.meshviz.graph.PoBase
PoBase.NodeWriteFormats, PoBase.TextTypes, PoBase.UpdateMethodTypes
-
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModes
-
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
-
Field Summary
Fields Modifier and Type Field Description SoSFPlane
plane
Position of the cross section.-
Fields inherited from class com.openinventor.meshviz.data.PoMesh
coloringType, creaseAngle, moduleDataMapping, smoothTextureContouring, valuesIndex, valuesIndexForCellFilter, vecsIndex
-
Fields inherited from class com.openinventor.inventor.nodekits.SoBaseKit
boundingBoxIgnoring
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Constructor Summary
Constructors Constructor Description PoMeshCrossSection()
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SoNodekitCatalog
getClassNodekitCatalog()
Returns theSoNodekitCatalog
for this class.void
setCrossSectionMethod()
Calls setCrossSectionMethod(PoMeshCrossSection.CrossSectionMethods.valueOf( PoMeshCrossSection.CrossSectionMethods.DEFAULT.getValue() )).void
setCrossSectionMethod(PoMeshCrossSection.CrossSectionMethods method)
Specifies the method used to build this shape.-
Methods inherited from class com.openinventor.meshviz.data.PoMesh
getDataMapping, getIsovaluesList, getModuleDataMapping, setDataMapping, setIsovaluesList, setMesh, setModuleDataMapping
-
Methods inherited from class com.openinventor.meshviz.graph.PoBase
addPostRebuildCallback, addPreRebuildCallback, getDomain, getNodeWriteFormat, getTextType, getUpdateMethod, isBuilt, isModified, isVRML2Mode, rebuild, setDomain, setNodeWriteFormat, setTextType, setUpdateMethod, setVRML2Mode, touchKit
-
Methods inherited from class com.openinventor.inventor.nodekits.SoBaseKit
getNodekitCatalog, getPart, getPart, getPartString, getViewportIsEnabled, getViewportOrigin, getViewportSize, isSearchingChildren, set, set, setPart, setSearchingChildren
-
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
-
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, setToDefaults
-
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
-
Methods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle
-
-
-
-
Field Detail
-
plane
public final SoSFPlane plane
Position of the cross section. Z=0 plane by default.
-
-
Method Detail
-
setCrossSectionMethod
public void setCrossSectionMethod()
Calls setCrossSectionMethod(PoMeshCrossSection.CrossSectionMethods.valueOf( PoMeshCrossSection.CrossSectionMethods.DEFAULT.getValue() )).
-
setCrossSectionMethod
public void setCrossSectionMethod(PoMeshCrossSection.CrossSectionMethods method)
Specifies the method used to build this shape. By defaultPoMeshCrossSection
builds a shape by computing an isosurface on a non regular mesh. The node's data are the distances to the plane. This method is safe but it uses a significant amount of memory for each instance ofPoMeshCrossSection
.Calling
setCrossSectionMethod
(INTERSECTION
) forces the use of the classic method. The classic method computes the shapes by intersecting each cell with the plane. However it can be risky as it assumes that each mesh's cell is convex and therefore that the intersection of a plane and a cell's face can produce only one edge. Using the classic method with concave faces may produce unpredictable results or an infinite loop.The environment variable OIV_3DDATA_CROSS_SECTION_METHOD can also be set to specify the method used to build this shape. It can take the values INTERSECTION or ISOSURFACE. However, calling
setCrossSectionMethod
overrides this environment variable.- Parameters:
method
-DEFAULT
by default.
-
getClassNodekitCatalog
public static SoNodekitCatalog getClassNodekitCatalog()
Returns theSoNodekitCatalog
for this class.
-
-