![]() |
Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
Abstract base class for all nodes related to volume rendering. More...
#include <VolumeViz/nodes/SoVolumeRendering.h>
Public Types | |
enum | HW_Feature { HW_VOLUMEPRO, HW_3DTEXMAP, HW_TEXCOLORMAP, HW_TEXCOMPRESSION } |
enum | HW_SupportStatus { NO, YES, UNKNOWN } |
![]() | |
enum | NodeType |
Public Member Functions | |
HW_SupportStatus | isSupported (HW_Feature feature) |
![]() | |
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 |
![]() | |
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 SbBool | validateNewFieldValue (SoField *field, void *newval) |
virtual void | addWriteReference (SoOutput *out, SbBool isfromfield=FALSE) |
SbBool | getIsBuiltIn (void) const |
virtual const SoFieldData * | getFieldData (void) const |
virtual void | getFieldsMemorySize (size_t &managed, size_t &unmanaged) const |
void | setUserData (void *userdata) const |
void * | getUserData (void) const |
![]() | |
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) |
void | addAuditor (void *const auditor, const SoNotRec::Type type) |
void | removeAuditor (void *const auditor, const SoNotRec::Type type) |
const SoAuditorList & | getAuditors (void) const |
SbBool | shouldWrite (void) |
void | assertAlive (void) const |
Static Public Member Functions | |
static void | init (void) |
static void | initClass (void) |
static void | setReadAlternateRep (SbBool flag) |
static void | setWriteAlternateRep (SbBool flag) |
static SbBool | getReadAlternateRep (void) |
static SbBool | getWriteAlternateRep (void) |
static void | setDelayedRendering (SbBool flag) |
static SbBool | getDelayedRendering (void) |
![]() | |
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 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 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) |
Friends | |
class | SoVolumeRenderingP |
Additional Inherited Members | |
![]() | |
INVENTOR | |
VRML1 | |
VRML2 | |
INVENTOR_1 | |
INVENTOR_2_0 | |
INVENTOR_2_1 | |
INVENTOR_2_5 | |
INVENTOR_2_6 | |
COIN_1_0 | |
COIN_2_0 | |
EXTENSION | |
![]() | |
enum | BaseFlags |
![]() | |
virtual SbBool | readInstance (SoInput *in, unsigned short flags) |
![]() | |
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 |
![]() | |
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 uint32_t | getCurrentWriteCounter (void) |
![]() | |
SbUniqueId | uniqueId |
![]() | |
SbBool | isBuiltIn |
![]() | |
static SbUniqueId | nextUniqueId |
static int | nextActionMethodIndex |
Abstract base class for all nodes related to volume rendering.
The sole purpose of this class is really just to initialize the volume rendering framework, and to provide a convenient method for the application programmer to make queries about the capabilities of the underlying visualization library.
This class should never have been a node class, as it has no distinguishing features in that regard. We duplicate this design flaw for the sake of being compatible with code written for the TGS VolumeViz extension library.
|
static |
Does all necessary class initializations of the volume rendering system.
Application programmers must call this method explicitly at the start of the application, before any volume rendering nodes are made. It must be invoked after SoXt::init() / SoQt::init() / SoWin::init(), though.
References initClass().
|
static |
Sets up initialization for data common to all instances of this class, like submitting necessary information to the type system.
References SO_NODE_INIT_ABSTRACT_CLASS.
Referenced by init().
|
static |
If this flag is set, alternate representation for SIM Voleon nodes will be imported and used in the scene graph, if they are present in the import file.
If the flag is FALSE
, alternate representations will be discarded upon import.
Default value is FALSE
.
References SoDebugError::postWarning().
|
static |
If this flag is set, some of the SIM Voleon nodes will write themselves (upon SoWriteAction traversal) as an alternative representation in the form of only core Coin nodes – typically as textures (SoTexture2 / SoTexture3) and facesets (e.g. SoIndexedFaceSet).
If the flag is FALSE
, the node will write itself as is common, i.e. only as itself, with its own fields.
Default value is FALSE
.
References SoDebugError::postWarning().
|
static |
Returns value of the "read as alternative representation" flag.
|
static |
Returns value of the "write as alternative representation" flag.
|
static |
When set to TRUE
, this will cause all geometry from the volume render nodes to be rendered as if they are all (partly) transparent.
This makes it more likely that other geometry in the scene graph which is further away from the camera than the volume(s) will be rendered correctly. When FALSE
, there is the chance that other geometry will be occluded by even fully transparent parts of the volume(s).
Default value is FALSE
.
Important implementation note: this flag is as of yet ignored in SIM Voleon, and is currently only present for compatibility reasons. SIM Voleon always renders geometry as if it is transparent, even if this flag is FALSE
.
References SoDebugError::postWarning().
|
static |
Returns value of the flag indicating whether or not to always to delayed rendering of geometry used for visualizing the volume(s).