|
Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
Render a slice of the volume data, with any orientation. More...
#include <VolumeViz/nodes/SoObliqueSlice.h>
Public Types | |
| enum | Interpolation { NEAREST , LINEAR } |
| enum | AlphaUse { ALPHA_AS_IS , ALPHA_OPAQUE , ALPHA_BINARY } |
Public Types inherited from SoShape | |
| enum | TriangleShape |
Public Types inherited from SoNode | |
| enum | NodeType |
Static Public Member Functions | |
| static void | initClass (void) |
Static Public Member Functions inherited from SoShape | |
| static void | getScreenSize (SoState *const state, const SbBox3f &boundingbox, SbVec2s &rectsize) |
| static float | getDecimatedComplexity (SoState *state, float complexity) |
Static Public Member Functions inherited from SoNode | |
| static uint32_t | getCompatibilityTypes (const SoType &nodetype) |
| static SoNode * | getByName (const SbName &name) |
| static int | getByName (const SbName &name, SoNodeList &l) |
| static void | initClasses (void) |
| static SbUniqueId | getNextNodeId (void) |
| static int | getActionMethodIndex (const SoType type) |
| static void | getBoundingBoxS (SoAction *action, SoNode *node) |
| static void | GLRenderS (SoAction *action, SoNode *node) |
| static void | callbackS (SoAction *action, SoNode *node) |
| static void | getMatrixS (SoAction *action, SoNode *node) |
| static void | handleEventS (SoAction *action, SoNode *node) |
| static void | pickS (SoAction *action, SoNode *node) |
| static void | rayPickS (SoAction *action, SoNode *node) |
| static void | searchS (SoAction *action, SoNode *node) |
| static void | writeS (SoAction *action, SoNode *node) |
| static void | audioRenderS (SoAction *action, SoNode *node) |
| static void | getPrimitiveCountS (SoAction *action, SoNode *node) |
Static Public Member Functions inherited from SoFieldContainer | |
| static void | initCopyDict (void) |
| static void | addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy) |
| static SoFieldContainer * | checkCopy (const SoFieldContainer *orig) |
| static SoFieldContainer * | findCopy (const SoFieldContainer *orig, const SbBool copyconnections) |
| static void | copyDone (void) |
Static Public Member Functions inherited from SoBase | |
| static void | initClass (void) |
| static SoType | getClassTypeId (void) |
| static void | addName (SoBase *const base, const char *const name) |
| static void | removeName (SoBase *const base, const char *const name) |
| static void | incrementCurrentWriteCounter (void) |
| static void | decrementCurrentWriteCounter (void) |
| static SoBase * | getNamedBase (const SbName &name, SoType type) |
| static int | getNamedBases (const SbName &name, SoBaseList &baselist, SoType type) |
| static SbBool | read (SoInput *input, SoBase *&base, SoType expectedtype) |
| static void | setInstancePrefix (const SbString &c) |
| static void | setTraceRefs (SbBool trace) |
| static SbBool | getTraceRefs (void) |
| static SbBool | connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname) |
| static SbBool | readRoute (SoInput *input) |
Public Attributes | |
| SoSFPlane | plane |
| SoSFEnum | interpolation |
| SoSFEnum | alphaUse |
| SoSFNode | alternateRep |
Public Attributes inherited from SoNode | |
| INVENTOR | |
| VRML1 | |
| VRML2 | |
| INVENTOR_1 | |
| INVENTOR_2_0 | |
| INVENTOR_2_1 | |
| INVENTOR_2_5 | |
| INVENTOR_2_6 | |
| COIN_1_0 | |
| COIN_2_0 | |
| EXTENSION | |
Protected Member Functions | |
| virtual void | GLRender (SoGLRenderAction *action) |
| virtual void | rayPick (SoRayPickAction *action) |
| virtual void | generatePrimitives (SoAction *action) |
| virtual void | computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er) |
| virtual void | write (SoWriteAction *action) |
| virtual SbBool | readInstance (SoInput *in, unsigned short flags) |
Protected Member Functions inherited from SoShape | |
| virtual const SoFieldData * | getFieldData (void) const |
| float | getComplexityValue (SoAction *action) |
| virtual void | generatePrimitives (SoAction *action)=0 |
| virtual SbBool | shouldGLRender (SoGLRenderAction *action) |
| void | beginSolidShape (SoGLRenderAction *action) |
| void | endSolidShape (SoGLRenderAction *action) |
| void | GLRenderBoundingBox (SoGLRenderAction *action) |
| SbBool | shouldPrimitiveCount (SoGetPrimitiveCountAction *action) |
| SbBool | shouldRayPick (SoRayPickAction *const action) |
| void | computeObjectSpaceRay (SoRayPickAction *const action) |
| void | computeObjectSpaceRay (SoRayPickAction *const action, const SbMatrix &matrix) |
| virtual SoDetail * | createTriangleDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, const SoPrimitiveVertex *v3, SoPickedPoint *pp) |
| virtual SoDetail * | createLineSegmentDetail (SoRayPickAction *action, const SoPrimitiveVertex *v1, const SoPrimitiveVertex *v2, SoPickedPoint *pp) |
| virtual SoDetail * | createPointDetail (SoRayPickAction *action, const SoPrimitiveVertex *v, SoPickedPoint *pp) |
| void | invokeTriangleCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2, const SoPrimitiveVertex *const v3) |
| void | invokeLineSegmentCallbacks (SoAction *const action, const SoPrimitiveVertex *const v1, const SoPrimitiveVertex *const v2) |
| void | invokePointCallbacks (SoAction *const action, const SoPrimitiveVertex *const v) |
| void | beginShape (SoAction *const action, const TriangleShape shapetype, SoDetail *const detail=NULL) |
| void | shapeVertex (const SoPrimitiveVertex *const v) |
| void | endShape (void) |
| void | generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoMultiTextureCoordinateElement *const tce, const float s, const float t, const SbVec3f &normal) |
| void | generateVertex (SoPrimitiveVertex *const pv, const SbVec3f &point, const SbBool useTexFunc, const SoMultiTextureCoordinateElement *const tce, const float s, const float t, const float r, const SbVec3f &normal) |
| SbBool | startVertexArray (SoGLRenderAction *action, const SoCoordinateElement *coords, const SbVec3f *pervertexnormals, const SbBool texpervertex, const SbBool colorpervertex) |
| void | finishVertexArray (SoGLRenderAction *action, const SbBool vbo, const SbBool normpervertex, const SbBool texpervertex, const SbBool colorpervertex) |
| virtual SbBool | readInstance (SoInput *in, unsigned short flags) |
| virtual SbBool | readInstance (SoInput *in, unsigned short flags) |
Protected Member Functions inherited from SoBase | |
| virtual void | destroy (void) |
| SbBool | hasMultipleWriteRefs (void) const |
| SbBool | writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const |
| void | writeFooter (SoOutput *out) const |
| virtual const char * | getFileFormatName (void) const |
| virtual SbBool | readInstance (SoInput *input, unsigned short flags)=0 |
Friends | |
| class | SoObliqueSliceP |
Additional Inherited Members | |
Public Member Functions inherited from SoShape | |
| virtual SoType | getTypeId (void) const |
| virtual SbBool | affectsState (void) const |
| virtual void | notify (SoNotList *nl) |
| virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
| virtual void | GLRender (SoGLRenderAction *action) |
| virtual void | rayPick (SoRayPickAction *action) |
| virtual void | callback (SoCallbackAction *action) |
| virtual void | computeBBox (SoAction *action, SbBox3f &box, SbVec3f ¢er)=0 |
| virtual void | getPrimitiveCount (SoGetPrimitiveCountAction *action) |
| const SoBoundingBoxCache * | getBoundingBoxCache (void) const |
Public Member Functions inherited from SoNode | |
| void | setOverride (const SbBool state) |
| SbBool | isOverride (void) const |
| void | setNodeType (const NodeType type) |
| NodeType | getNodeType (void) const |
| virtual SoNode * | copy (SbBool copyconnections=FALSE) const |
| virtual SbBool | affectsState (void) const |
| virtual void | doAction (SoAction *action) |
| virtual void | GLRender (SoGLRenderAction *action) |
| virtual void | GLRenderBelowPath (SoGLRenderAction *action) |
| virtual void | GLRenderInPath (SoGLRenderAction *action) |
| virtual void | GLRenderOffPath (SoGLRenderAction *action) |
| virtual void | callback (SoCallbackAction *action) |
| virtual void | getBoundingBox (SoGetBoundingBoxAction *action) |
| virtual void | getMatrix (SoGetMatrixAction *action) |
| virtual void | handleEvent (SoHandleEventAction *action) |
| virtual void | pick (SoPickAction *action) |
| virtual void | rayPick (SoRayPickAction *action) |
| virtual void | search (SoSearchAction *action) |
| virtual void | write (SoWriteAction *action) |
| virtual void | audioRender (SoAudioRenderAction *action) |
| virtual void | getPrimitiveCount (SoGetPrimitiveCountAction *action) |
| virtual void | grabEventsSetup (void) |
| virtual void | grabEventsCleanup (void) |
| virtual void | startNotify (void) |
| virtual void | notify (SoNotList *l) |
| SbUniqueId | getNodeId (void) const |
| virtual SoChildList * | getChildren (void) const |
| virtual void | writeInstance (SoOutput *out) |
| virtual SoNode * | addToCopyDict (void) const |
| virtual void | copyContents (const SoFieldContainer *from, SbBool copyconnections) |
| virtual SoFieldContainer * | copyThroughConnection (void) const |
Public Member Functions inherited from SoFieldContainer | |
| void | setToDefaults (void) |
| SbBool | hasDefaultValues (void) const |
| SbBool | fieldsAreEqual (const SoFieldContainer *container) const |
| void | copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE) |
| SbBool | set (const char *const fielddata) |
| void | get (SbString &fielddata) |
| virtual int | getFields (SoFieldList &l) const |
| virtual int | getAllFields (SoFieldList &l) const |
| virtual SoField * | getField (const SbName &name) const |
| virtual SoField * | getEventIn (const SbName &name) const |
| virtual SoField * | getEventOut (const SbName &name) const |
| SbBool | getFieldName (const SoField *const field, SbName &name) const |
| SbBool | enableNotify (const SbBool flag) |
| SbBool | isNotifyEnabled (void) const |
| SbBool | set (const char *fielddata, SoInput *input) |
| void | get (SbString &fielddata, SoOutput *out) |
| virtual void | notify (SoNotList *l) |
| virtual SbBool | validateNewFieldValue (SoField *field, void *newval) |
| virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) |
| virtual void | writeInstance (SoOutput *out) |
| SbBool | getIsBuiltIn (void) const |
| virtual const SoFieldData * | getFieldData (void) const |
| virtual void | copyContents (const SoFieldContainer *from, SbBool copyconnections) |
| virtual SoFieldContainer * | copyThroughConnection (void) const |
| virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const |
| void | setUserData (void *userdata) const |
| void * | getUserData (void) const |
Public Member Functions inherited from SoBase | |
| void | ref (void) const |
| void | unref (void) const |
| void | unrefNoDelete (void) const |
| int32_t | getRefCount (void) const |
| void | touch (void) |
| virtual SoType | getTypeId (void) const=0 |
| SbBool | isOfType (SoType type) const |
| virtual SbName | getName (void) const |
| virtual void | setName (const SbName &newname) |
| virtual void | startNotify (void) |
| virtual void | notify (SoNotList *l) |
| void | addAuditor (void *const auditor, const SoNotRec::Type type) |
| void | removeAuditor (void *const auditor, const SoNotRec::Type type) |
| const SoAuditorList & | getAuditors (void) const |
| virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) |
| SbBool | shouldWrite (void) |
| void | assertAlive (void) const |
Protected Types inherited from SoBase | |
| enum | BaseFlags |
Static Protected Member Functions inherited from SoNode | |
| static const SoFieldData ** | getFieldDataPtr (void) |
| static void | setNextActionMethodIndex (int index) |
| static int | getNextActionMethodIndex (void) |
| static void | incNextActionMethodIndex (void) |
| static void | setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask) |
Static Protected Member Functions inherited from SoBase | |
| static uint32_t | getCurrentWriteCounter (void) |
Protected Attributes inherited from SoNode | |
| SbUniqueId | uniqueId |
Protected Attributes inherited from SoFieldContainer | |
| SbBool | isBuiltIn |
Static Protected Attributes inherited from SoNode | |
| static SbUniqueId | nextUniqueId |
| static int | nextActionMethodIndex |
Render a slice of the volume data, with any orientation.
Insert a node of this type after an SoVolumeData node in the scene graph to render a single slice from the full volume data set. The slice is specified as a plane with an orientation and position within the volume.
Here is a simple example, in the form of an iv-file:
#Inventor V2.1 ascii
SoVolumeData { fileName "ENGINE.VOL" }
Separator {
SoTransferFunction { }
DEF clipper ClipPlaneManip { }
SoVolumeRender { }
}
Separator {
SoTransferFunction { predefColorMap GLOW }
SoObliqueSlice {
interpolation LINEAR
alphaUse ALPHA_AS_IS
plane = USE clipper . plane
}
}
Please note that SoObliqueSlice will not work with older OpenGL drivers as they usually lack 3D-texture support. OpenGL drivers of version 1.2 and onwards supports 3D-texturing, as does older OpenGL drivers with the GL_EXT_texture3D extension. If none of these are available, a warning message will be printed using Coin's SoDebugError::postWarning().
Enumeration of available types of voxel colors interpolation.
|
protectedvirtual |
Reimplemented from SoShape.
|
protectedvirtual |
Reimplemented from SoShape.
|
protectedvirtual |
Implements SoShape.
|
protectedvirtual |
Reimplemented from SoNode.
|
protectedvirtual |
Reimplemented from SoNode.
| SoSFPlane SoObliqueSlice::plane |
The plane defining the slice.
Default value is an XY plane.
| SoSFEnum SoObliqueSlice::interpolation |
How to interpolate color values when rendering "in between" voxels. See SoObliqueSlice::Interpolation.
Default value is SoObliqueSlice::LINEAR.
| SoSFEnum SoObliqueSlice::alphaUse |
How the alpha channel should be threated during rendering. See SoObliqueSlice::AlphaUse.
Default value is SoObliqueSlice::ALPHA_AS_IS
| SoSFNode SoObliqueSlice::alternateRep |
NOTE: support for this field not yet implemented in SIM Voleon.