Open Inventor Release 2024.1.0
 
Loading...
Searching...
No Matches
SoUniformGridProjectionClipping Class Reference

VolumeViz Clips a volume with the depth map projection of a shape. More...

#include <VolumeViz/nodes/SoUniformGridProjectionClipping.h>

+ Inheritance diagram for SoUniformGridProjectionClipping:

Public Member Functions

virtual SoType getTypeId () const
 Returns the type identifier for this specific instance.
 
 SoUniformGridProjectionClipping ()
 Constructor.
 
void GLRender (SoGLRenderAction *action)
 
- Public Member Functions inherited from SoUniformGridClipping
 SoUniformGridClipping ()
 Constructor.
 
- Public Member Functions inherited from SoTexture2
void setStartLoadingCallback (SoTexture2CB *cb, void *userData)
 Callback invoked when starting to load the texture.
 
void setFinishLoadingCallback (SoTexture2CB *cb, void *userData)
 Callback invoked when the texture is loaded and ready to use.
 
void loadTexture ()
 Loads the texture if the loadingMode field is set to MANUAL.
 
 SoTexture2 ()
 Creates a texture node with default settings.
 
- Public Member Functions inherited from SoTexture
void setBitmapFileType (FileType in_type)
 Sets the texture file format.
 
FileType getBitmapFileType (void)
 Gets the texture file format.
 
virtual void setOverride (const SbBool state)
 Set the state of the override field.
 
virtual SbBool isOverride () const
 Returns the state of the override field.
 
- Public Member Functions inherited from SoNode
virtual SoNodecopy (SbBool copyConnections=FALSE) const
 Creates and returns an exact copy of the node.
 
virtual SbBool affectsState () const
 Returns TRUE if a node has an effect on the state during traversal.
 
virtual void touch ()
 Marks an instance as modified, simulating a change to it.
 
- Public Member Functions inherited from SoFieldContainer
void setToDefaults ()
 Sets all fields in this object to their default values.
 
SbBool hasDefaultValues () const
 Returns TRUE if all of the object's fields have their default values.
 
SbBool fieldsAreEqual (const SoFieldContainer *fc) const
 Returns TRUE if this object's fields are exactly equal to fc's fields.
 
void copyFieldValues (const SoFieldContainer *fc, SbBool copyConnections=FALSE)
 Copies the contents of fc's fields into this object's fields.
 
SoNONUNICODE SbBool set (const char *fieldDataString)
 Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format.
 
SbBool set (const SbString &fieldDataString)
 Sets one or more fields in this object to the values specified in the given string, which should be a string in the Open Inventor file format.
 
void get (SbString &fieldDataString)
 Returns the values of the fields of this object in the Open Inventor ASCII file format in the given string.
 
virtual int getFields (SoFieldList &list) const
 Appends references to all of this object's fields to resultList, and returns the number of fields appended.
 
virtual int getAllFields (SoFieldList &list) const
 Returns a list of fields, including the eventIn's and eventOut's.
 
virtual SoFieldgetField (const SbName &fieldName) const
 Returns a the field of this object whose name is fieldName.
 
virtual SoFieldgetEventIn (const SbName &fieldName) const
 Returns a the eventIn with the given name.
 
virtual SoFieldgetEventOut (const SbName &fieldName) const
 Returns the eventOut with the given name.
 
SbBool getFieldName (const SoField *field, SbName &fieldName) const
 Returns the name of the given field in the fieldName argument.
 
SbBool enableNotify (SbBool flag)
 Notification at this Field Container is enabled (if flag == TRUE) or disabled (if flag == FALSE).
 
SbBool isNotifyEnabled () const
 Notification is the process of telling interested objects that this object has changed.
 
virtual void setUserData (void *data)
 Sets application data.
 
void * getUserData (void) const
 Gets user application data.
 
- Public Member Functions inherited from SoBase
virtual SbName getName () const
 Returns the name of an instance.
 
virtual void setName (const SbName &name)
 Sets the name of an instance.
 
void setSynchronizable (const bool b)
 Sets this to be a ScaleViz synchronizable object.
 
bool isSynchronizable () const
 Gets the ScaleViz synchronizable state of this object.
 
- Public Member Functions inherited from SoRefCounter
void ref () const
 Adds a reference to an instance.
 
void unref () const
 Removes a reference from an instance.
 
void unrefNoDelete () const
 unrefNoDelete() should be called when it is desired to decrement the reference count, but not delete the instance if this brings the reference count to zero.
 
int getRefCount () const
 Returns current reference count.
 
void lock () const
 lock this instance.
 
void unlock () const
 unlock this instance.
 
- Public Member Functions inherited from SoTypedObject
SbBool isOfType (const SoType &type) const
 Returns TRUE if this object is of the type specified in type or is derived from that type.
 
template<typename TypedObjectClass >
SbBool isOfType () const
 Returns TRUE if this object is of the type of class TypedObjectClass or is derived from that class.
 

Static Public Member Functions

static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
- Static Public Member Functions inherited from SoUniformGridClipping
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
static SbBool isSupported (SoState *state=NULL)
 Returns TRUE if uniform grid clipping is supported by the graphics board.
 
static int getMaxNumberOfUniformGrids (SoState *state=NULL)
 Returns the maximum number of clipping surfaces supported by the hardware.
 
- Static Public Member Functions inherited from SoTexture2
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
- Static Public Member Functions inherited from SoTexture
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
static SbBool isSupported (HW_Feature feature)
 Returns information about hardware support for various texture features.
 
static SbRasterImagereadTexture (const SbString &filename, FileType filetype=UNKNOWN)
 Convenience function that loads the image data from any texture file supported by Open Inventor and returns an SbRasterImage object.
 
- Static Public Member Functions inherited from SoNode
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 
static SoNodegetByName (const SbName &name)
 A node's name can be set using SoBase::setName().
 
static int getByName (const SbName &name, SoNodeList &list)
 A node's name can be set using SoBase::setName().
 
- Static Public Member Functions inherited from SoFieldContainer
static SoType getClassTypeId ()
 Returns the type of this class.
 
- Static Public Member Functions inherited from SoBase
static SoType getClassTypeId ()
 Returns type identifier for this class.
 
- Static Public Member Functions inherited from SoTypedObject
static SoType getClassTypeId ()
 Returns the type identifier for this class.
 

Public Attributes

SoSFNode sceneGraph
 Scene graph containing shapes to project on the orthogonal plane defined by axis field to generate the SoUniformGridClipping height map texture.
 
- Public Attributes inherited from SoUniformGridClipping
SoSFBox3f extent
 Bounding box of the surface in 3D geometric coordinates.
 
SoSFEnum axis
 Height axis: X, Y, or Z.
 
SoSFFloat thickness
 Defines a clipping thickness in the axis direction.
 
SoSFBool clipBelow
 Clip voxels below the surface.
 
SoSFBool clipAbove
 Clip voxels above the surface.
 
SoSFFloat undefinedValue
 Texels in the clipping texture with this value will clip all voxels above and below the surface.
 
SoDEPRECATED SoSFBox3f size
 
- Public Attributes inherited from SoTexture2
SoSFFilePathString filename
 Name of the file from which to read texture image.
 
SoSFImage image
 Contains an in-memory representation of the texture map.
 
SoSFEnum wrapT
 Indicates what to do when texture coordinates in the T (vertical) direction lie outside the range 0-1.
 
SoSFEnum loadingMode
 Specifies the loading mode.
 
SoSFNode renderToTextureProperty
 Specifies an SoRenderToTextureProperty node containing a scene graph that will be rendered to create the texture image.
 
- Public Attributes inherited from SoTexture
SoSFEnum internalFormat
 Internal format for texture storage.
 
SoSFBool enableCompressedTexture
 Enables storage of textures on the graphics board in compressed form.
 
SoSFEnum wrapS
 Indicates what to do when texture coordinates in the S (horizontal) direction lie outside the range 0-1.
 
SoSFEnum model
 Specifies how to map texture onto surface.
 
SoSFColor blendColor
 Color used for BLEND model.
 
SoSFBool enableBorder
 Enables borders for textures.
 
SoSFVec4f borderColor
 Defines border color used for border texture filtering.
 
SoSFFloat maxAnisotropy
 Specifies on a per-texture object basis, the maximum degree of anisotropy to account for in texture filtering.
 
SoSFEnum minFilter
 Specifies the OpenGL minFilter.
 
SoSFEnum magFilter
 Specifies the OpenGL magFilter.
 

Additional Inherited Members

- Public Types inherited from SoUniformGridClipping
enum  Axis {
  X ,
  Y ,
  Z
}
 Slice Axis. More...
 
- Public Types inherited from SoTexture2
enum  Loading {
  AUTO = 0 ,
  MANUAL
}
 Loading mode. More...
 
typedef void SoTexture2CB(void *userData, SoTexture2 *tex)
 
- Public Types inherited from SoTexture
enum  InternalFormat {
  AUTO_INTERNAL_FORMAT ,
  ALPHA_FORMAT ,
  ALPHA4 ,
  ALPHA8 ,
  ALPHA12 ,
  ALPHA16 ,
  LUMINANCE_FORMAT ,
  LUMINANCE4 ,
  LUMINANCE8 ,
  LUMINANCE12 ,
  LUMINANCE16 ,
  LUMINANCE_ALPHA ,
  LUMINANCE4_ALPHA4 ,
  LUMINANCE6_ALPHA2 ,
  LUMINANCE8_ALPHA8 ,
  LUMINANCE12_ALPHA4 ,
  LUMINANCE12_ALPHA12 ,
  LUMINANCE16_ALPHA16 ,
  INTENSITY_FORMAT ,
  INTENSITY4 ,
  INTENSITY8 ,
  INTENSITY12 ,
  INTENSITY16 ,
  R3_G3_B2 ,
  RGB_FORMAT ,
  RGB4 ,
  RGB5 ,
  RG8 ,
  RGB8 ,
  RGB10 ,
  RGB12 ,
  RGB16 ,
  RGBA_FORMAT ,
  RGBA2 ,
  RGBA4 ,
  RGB5_ALPHA1 ,
  RGBA8 ,
  RGB10_ALPHA2 ,
  RGBA12 ,
  RGBA16 ,
  RGBA_FLOAT32 ,
  RGB_FLOAT32 ,
  ALPHA_FLOAT32 ,
  INTENSITY_FLOAT32 ,
  LUMINANCE_FLOAT32 ,
  LUMINANCE_ALPHA_FLOAT32 ,
  RGBA_FLOAT16 ,
  RGB_FLOAT16 ,
  ALPHA_FLOAT16 ,
  INTENSITY_FLOAT16 ,
  LUMINANCE_FLOAT16 ,
  LUMINANCE_ALPHA_FLOAT16 ,
  COMPRESSED_ALPHA ,
  COMPRESSED_LUMINANCE ,
  COMPRESSED_LUMINANCE_ALPHA ,
  COMPRESSED_INTENSITY ,
  COMPRESSED_RGB ,
  COMPRESSED_RGBA ,
  COMPRESSED_LUMINANCE_LATC1 ,
  COMPRESSED_SIGNED_LUMINANCE_LATC1 ,
  COMPRESSED_LUMINANCE_ALPHA_LATC2 ,
  COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2 ,
  COMPRESSED_RED_RGTC1 ,
  COMPRESSED_SIGNED_RED_RGTC1 ,
  COMPRESSED_RED_GREEN_RGTC2 ,
  COMPRESSED_SIGNED_RED_GREEN_RGTC2 ,
  DEPTH_COMPONENT16 ,
  DEPTH_COMPONENT24 ,
  DEPTH24_STENCIL8 ,
  R8I ,
  R8UI ,
  R16I ,
  R16UI ,
  R32I ,
  R32UI ,
  RG8I ,
  RG8UI ,
  RG16I ,
  RG16UI ,
  RG32I ,
  RG32UI ,
  RGB8I ,
  RGB8UI ,
  RGB16I ,
  RGB16UI ,
  RGB32I ,
  RGB32UI ,
  RGBA8I ,
  RGBA8UI ,
  RGBA16I ,
  RGBA16UI ,
  RGBA32I ,
  RGBA32UI
}
 Texture internal storage format. More...
 
enum  Model {
  MODULATE = SbEnums::TEX_MODEL_MODULATE ,
  DECAL = SbEnums::TEX_MODEL_DECAL ,
  BLEND = SbEnums::TEX_MODEL_BLEND ,
  REPLACE = SbEnums::TEX_MODEL_REPLACE ,
  ADD = SbEnums::TEX_MODEL_ADD ,
  COMBINE = SbEnums::TEX_MODEL_COMBINE
}
 Texture Combiner Functions. More...
 
enum  Wrap {
  REPEAT = SbEnums::TEX_ADDRESS_REPEAT ,
  CLAMP = SbEnums::TEX_ADDRESS_CLAMP ,
  CLAMP_TO_BORDER = SbEnums::TEX_ADDRESS_CLAMP_BORDER ,
  CLAMP_TO_EDGE = SbEnums::TEX_ADDRESS_CLAMP_TO_EDGE ,
  MIRRORED_REPEAT = SbEnums::TEX_ADDRESS_MIRROR_REPEAT
}
 Texture wrap type. More...
 
enum  Filter {
  AUTO = SbEnums::TEX_FILTER_AUTO ,
  NEAREST = SbEnums::TEX_FILTER_NEAREST ,
  LINEAR = SbEnums::TEX_FILTER_LINEAR ,
  NEAREST_MIPMAP_NEAREST = SbEnums::TEX_FILTER_NEAREST_MIPMAP_NEAREST ,
  NEAREST_MIPMAP_LINEAR = SbEnums::TEX_FILTER_NEAREST_MIPMAP_LINEAR ,
  LINEAR_MIPMAP_NEAREST = SbEnums::TEX_FILTER_LINEAR_MIPMAP_NEAREST ,
  LINEAR_MIPMAP_LINEAR = SbEnums::TEX_FILTER_LINEAR_MIPMAP_LINEAR
}
 Specifies the OpenGL filtering method for minification and magnification. More...
 
enum  HW_Feature {
  HW_NPOT = 0 ,
  HW_FLOATFORMAT ,
  HW_DEPTHFORMAT ,
  HW_AUTOMIPMAP ,
  HW_BORDER_CLAMP ,
  HW_EDGE_CLAMP ,
  HW_MIRRORED_REPEAT ,
  HW_COMPRESSION_S3TC ,
  HW_COMPRESSION_LATC ,
  HW_COMPRESSION_RGTC
}
 
enum  FileType {
  UNKNOWN ,
  RGB ,
  SGI ,
  TIFF ,
  GIF ,
  JPEG ,
  BMP ,
  PNG ,
  JPEG2000 ,
  PGX ,
  PNM ,
  RAS ,
  DDS ,
  HDRI ,
  NUM_FILETYPES
}
 File Type possible values. More...
 

Detailed Description

VolumeViz Clips a volume with the depth map projection of a shape.

This class is an helper class derived from SoUniformGridClipping. It defines its clipping texture by the depth map of the given sceneGraph in the given axis orientation.

Notes:

  • Rendering the sceneGraph on top of the clipped volume might result in z-fighting artefacts due to depth precision. In order to avoid this issue it is necessary to use a SoPolygonOffset node before the geometry to render.
  • sceneGraph should not contain any draggers or manipulators because they will become part of the clipping texture and might lead to unwanted results. As a workaround, you can put draggers outside of sceneGraph, put an SoTransform inside your sceneGraph and connect it to your dragger.
  • If sceneGraph contains holes, you should set the minFilter and magFilter fields to NEAREST to avoid interpolation issues between holes and the true surface.
  • The inherited field SoUniformGridClipping::undefinedValue is set to the default depth (i.e. 1).

See SoUniformGridClipping for detailed behavior and limitations.

NOTE: node available since Open Inventor 8.6

FILE FORMAT/DEFAULT

    UniformGridProjectionClipping {
    sceneGraph NULL
    axis Y
    extent -1,0,-1 1,1,1
    filename ""
    image 0 0 0
    wrapS CLAMP_TO_EDGE
    wrapT CLAMP_TO_EDGE
    model MODULATE
    enableCompressedTexture FALSE
    blendColor 0 0 0
    enableBorder FALSE
    borderColor 0 0 0 0
    maxAnisotropy 1.0
    minFilter AUTO
    magFilter AUTO
    loadingMode AUTO
    useAutoMipmap FALSE
    internalFormat AUTO_INTERNAL_FORMAT
    thickness 0
    clipBelow FALSE
    clipAbove TRUE
    }

SEE ALSO

SoUniformGridClipping, SoVolumeClippingGroup, SoPolygonOffset

Definition at line 98 of file SoUniformGridProjectionClipping.h.

Constructor & Destructor Documentation

◆ SoUniformGridProjectionClipping()

SoUniformGridProjectionClipping::SoUniformGridProjectionClipping ( )

Constructor.

Member Function Documentation

◆ getClassTypeId()

static SoType SoUniformGridProjectionClipping::getClassTypeId ( )
static

Returns the type identifier for this class.


◆ getTypeId()

virtual SoType SoUniformGridProjectionClipping::getTypeId ( ) const
virtual

Returns the type identifier for this specific instance.

Reimplemented from SoUniformGridClipping.

◆ GLRender()

void SoUniformGridProjectionClipping::GLRender ( SoGLRenderAction action)
virtual

Reimplemented from SoUniformGridClipping.

Member Data Documentation

◆ sceneGraph

SoSFNode SoUniformGridProjectionClipping::sceneGraph

Scene graph containing shapes to project on the orthogonal plane defined by axis field to generate the SoUniformGridClipping height map texture.

Definition at line 113 of file SoUniformGridProjectionClipping.h.


The documentation for this class was generated from the following file: