1 #ifndef SIMVOLEON_SOOBLIQUESLICE_H
2 #define SIMVOLEON_SOOBLIQUESLICE_H
36 #include <Inventor/fields/SoSFEnum.h>
37 #include <Inventor/fields/SoSFNode.h>
38 #include <Inventor/fields/SoSFPlane.h>
39 #include <Inventor/nodes/SoShape.h>
41 #include <VolumeViz/C/basic.h>
55 enum AlphaUse { ALPHA_AS_IS, ALPHA_OPAQUE, ALPHA_BINARY };
74 friend class SoObliqueSliceP;
75 class SoObliqueSliceP * pimpl;
78 #endif // !SIMVOLEON_SOOBLIQUESLICE_H
static SoType badType(void)
@ ALPHA_AS_IS
Definition: SoObliqueSlice.h:55
virtual void GLRender(SoGLRenderAction *action)
Contains the transfer function definition.
Definition: SoTransferFunction.h:44
virtual void computeBBox(SoAction *action, SbBox3f &box, SbVec3f ¢er)=0
SoSFEnum axis
Definition: SoOrthoSlice.h:62
static SbRotation identity(void)
static SoType getClassTypeId(void)
const SbVec3f & getValueObjectPos(void) const
Definition: ObliqueSliceDetail.cpp:92
static void mult(SoState *const state, SoNode *const node, const SbMatrix &matrix)
SbVec3f getCenter(void) const
static void post(const char *const source, const char *const format,...)
SoSFEnum alphaUse
Definition: SoObliqueSlice.h:59
void setTransform(const SbVec3f &t, const SbRotation &r, const SbVec3f &s)
const SbVec3f & getValueObjectPos(void) const
Definition: OrthoSliceDetail.cpp:90
#define SO_NODE_DEFINE_ENUM_VALUE(enumname, enumvalue)
void getBounds(float &xmin, float &ymin, float &zmin, float &xmax, float &ymax, float &zmax) const
void addDelayedPath(SoPath *path)
const SbVec3f & getMin(void) const
#define SO_NODE_INIT_CLASS(classname, parentclass, parentname)
SoPickedPoint * addIntersection(const SbVec3f &objectspacepoint, SbBool frontpick=TRUE)
AlphaUse
Definition: SoObliqueSlice.h:55
uint32_t getCacheContext(void) const
const SoPath * getCurPath(void)
static void postWarning(const char *const source, const char *const format,...)
virtual SbBool readInstance(SoInput *in, unsigned short flags)
#define SO_NODE_SOURCE(classname)
#define SO_NODE_HEADER(classname)
SoSFNode alternateRep
Definition: SoOrthoSlice.h:67
SbBox3f & setBounds(float xmin, float ymin, float zmin, float xmax, float ymax, float zmax)
virtual SbBool shouldGLRender(SoGLRenderAction *action)
The SoObliqueSliceDetail contains details of a pick operation on SoObliqueSlice geometry.
Definition: SoObliqueSliceDetail.h:43
SoSFEnum alphaUse
Definition: SoOrthoSlice.h:64
void extendBy(const SbVec3f &pt)
const SbVec3f & getNormal(void) const
static void postInfo(const char *const source, const char *const format,...)
const SbVec3f & getMax(void) const
const SbVec3s & getValueDataPos(void) const
Definition: ObliqueSliceDetail.cpp:104
SoSFPlane plane
Definition: SoObliqueSlice.h:57
const SbLine & getLine(void)
SoState * getState(void) const
const SbVec3s & getValueDataPos(void) const
Definition: OrthoSliceDetail.cpp:102
static void invalidate(SoState *const state)
@ LINEAR
Definition: SoObliqueSlice.h:54
virtual void generatePrimitives(SoAction *action)=0
SbBool intersect(const SbLine &l, SbVec3f &intersection) const
unsigned int getValue(void) const
Definition: OrthoSliceDetail.cpp:111
SbBool isRenderingDelayedPaths(void) const
SoPath * copy(const int startfromnodeindex=0, int numnodes=0) const
SoSFEnum interpolation
Definition: SoObliqueSlice.h:58
void computeObjectSpaceRay(SoRayPickAction *const action)
static void add(SoState *const state, SoNode *const node, const SbPlane &plane)
#define SO_NODE_ADD_FIELD(field, defaultvalue)
SbBool shouldRayPick(SoRayPickAction *const action)
virtual void rayPick(SoRayPickAction *action)
unsigned int getValue(void) const
Definition: ObliqueSliceDetail.cpp:113
@ ALPHA_BINARY
Definition: SoObliqueSlice.h:55
static SoGLLazyElement * getInstance(const SoState *state)
virtual void write(SoWriteAction *action)
@ NEAREST
Definition: SoObliqueSlice.h:54
void send(const SoState *state, uint32_t mask) const
@ ALPHA_OPAQUE
Definition: SoObliqueSlice.h:55
void setObjectNormal(const SbVec3f &normal)
static void initClass(void)
Render one orthogonal slice of the volume data.
Definition: SoOrthoSlice.h:46
#define SO_NODE_CONSTRUCTOR(classname)
SoSFNode alternateRep
Definition: SoObliqueSlice.h:60
void setDetail(SoDetail *detail, SoNode *node)
SoSFUInt32 sliceNumber
Definition: SoOrthoSlice.h:61
Interpolation
Definition: SoObliqueSlice.h:54
virtual void doAction(SoAction *action)
The SoOrthoSliceDetail contains details of a pick operation on SoOrthoSlice geometry.
Definition: SoOrthoSliceDetail.h:43
SbBool isBetweenPlanes(const SbVec3f &intersection) const
Render a slice of the volume data, with any orientation.
Definition: SoObliqueSlice.h:45