VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkMultiVolume Class Reference

Represents a world axis-aligned bounding-box containing a set of volumes in a rendered scene. More...

#include <vtkMultiVolume.h>

Inheritance diagram for vtkMultiVolume:
[legend]
Collaboration diagram for vtkMultiVolume:
[legend]

Public Types

typedef vtkVolume Superclass
 
- Public Types inherited from vtkVolume
typedef vtkProp3D Superclass
 
- Public Types inherited from vtkProp3D
typedef vtkProp Superclass
 
- Public Types inherited from vtkProp
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkMultiVolumeNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void SetVolume (vtkVolume *volume, int port=0)
 Add / Remove a vtkVolume instance. More...
 
vtkVolumeGetVolume (int port=0)
 
void RemoveVolume (int port)
 
void SetProperty (vtkVolumeProperty *property) override
 Given that this class represents a bounding-box only there is no property directly associated with it (a cannot be set directly). More...
 
vtkVolumePropertyGetProperty () override
 
double * GetBounds () override
 Computes the bounds of the box containing all of the vtkVolume instances. More...
 
vtkMTimeType GetMTime () override
 
void ShallowCopy (vtkProp *prop) override
 Checks whether the vtkProp passed is another vtkMultiVolume and tries to copy accordingly. More...
 
vtkMatrix4x4GetMatrix () override
 Get a pointer to an internal vtkMatrix4x4. More...
 
vtkMatrix4x4GetTextureMatrix ()
 Returns the transformation from texture coordinates to data cooridinates of the bounding-box. More...
 
double * GetDataBounds ()
 Total bounds in data coordinates. More...
 
vtkMTimeType GetBoundsTime ()
 
int RenderVolumetricGeometry (vtkViewport *vp) override
 Since vtkMultiVolume acts like a proxy volume to compute the bounding box for its internal vtkVolume instances, there are no properties to be set directly in this instance. More...
 
double * GetDataGeometry ()
 Return the eight corners of the volume. More...
 
- Public Member Functions inherited from vtkVolume
vtkVolumeNewInstance () const
 
void SetMapper (vtkAbstractVolumeMapper *mapper)
 Set/Get the volume mapper. More...
 
virtual vtkAbstractVolumeMapperGetMapper ()
 
void GetVolumes (vtkPropCollection *vc) override
 For some exporters and other other operations we must be able to collect all the actors or volumes. More...
 
void Update ()
 Update the volume rendering pipeline by updating the volume mapper. More...
 
void GetBounds (double bounds[6])
 
double GetMinXBound ()
 
double GetMaxXBound ()
 
double GetMinYBound ()
 
double GetMaxYBound ()
 
double GetMinZBound ()
 
double GetMaxZBound ()
 
vtkMTimeType GetRedrawMTime () override
 Return the mtime of anything that would cause the rendered image to appear differently. More...
 
void ReleaseGraphicsResources (vtkWindow *) override
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release any graphics resources that are being consumed by this volume. More...
 
float * GetCorrectedScalarOpacityArray (int)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
float * GetCorrectedScalarOpacityArray ()
 
float * GetScalarOpacityArray (int)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
float * GetScalarOpacityArray ()
 
float * GetGradientOpacityArray (int)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
float * GetGradientOpacityArray ()
 
float * GetGrayArray (int)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
float * GetGrayArray ()
 
float * GetRGBArray (int)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
float * GetRGBArray ()
 
float GetGradientOpacityConstant (int)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
float GetGradientOpacityConstant ()
 
float GetArraySize ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
void UpdateTransferFunctions (vtkRenderer *ren)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
void UpdateScalarOpacityforSampleSize (vtkRenderer *ren, float sample_distance)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
bool GetSupportsSelection () override
 Used by vtkHardwareSelector to determine if the prop supports hardware selection. More...
 
- Public Member Functions inherited from vtkProp3D
vtkProp3DNewInstance () const
 
virtual void SetPosition (double x, double y, double z)
 Set/Get/Add the position of the Prop3D in world coordinates. More...
 
virtual void SetPosition (double pos[3])
 
virtual double * GetPosition ()
 
virtual void GetPosition (double data[3])
 
void AddPosition (double deltaPosition[3])
 
void AddPosition (double deltaX, double deltaY, double deltaZ)
 
virtual void SetOrigin (double x, double y, double z)
 Set/Get the origin of the Prop3D. More...
 
virtual void SetOrigin (const double pos[3])
 
virtual double * GetOrigin ()
 
virtual void GetOrigin (double data[3])
 
virtual void SetScale (double x, double y, double z)
 Set/Get the scale of the actor. More...
 
virtual void SetScale (double scale[3])
 
virtual double * GetScale ()
 
virtual void GetScale (double data[3])
 
void SetScale (double s)
 Method to set the scale isotropically. More...
 
void SetUserTransform (vtkLinearTransform *transform)
 In addition to the instance variables such as position and orientation, you can add an additional transformation for your own use. More...
 
virtual vtkLinearTransformGetUserTransform ()
 
void SetUserMatrix (vtkMatrix4x4 *matrix)
 The UserMatrix can be used in place of UserTransform. More...
 
vtkMatrix4x4GetUserMatrix ()
 
virtual void GetMatrix (vtkMatrix4x4 *m)
 Return a reference to the Prop3D's 4x4 composite matrix. More...
 
virtual void GetMatrix (double m[16])
 
void GetBounds (double bounds[6])
 Return a reference to the Prop3D's composite transform. More...
 
double * GetCenter ()
 Get the center of the bounding box in world coordinates. More...
 
double * GetXRange ()
 Get the Prop3D's x range in world coordinates. More...
 
double * GetYRange ()
 Get the Prop3D's y range in world coordinates. More...
 
double * GetZRange ()
 Get the Prop3D's z range in world coordinates. More...
 
double GetLength ()
 Get the length of the diagonal of the bounding box. More...
 
void RotateX (double)
 Rotate the Prop3D in degrees about the X axis using the right hand rule. More...
 
void RotateY (double)
 Rotate the Prop3D in degrees about the Y axis using the right hand rule. More...
 
void RotateZ (double)
 Rotate the Prop3D in degrees about the Z axis using the right hand rule. More...
 
void RotateWXYZ (double w, double x, double y, double z)
 Rotate the Prop3D in degrees about an arbitrary axis specified by the last three arguments. More...
 
void SetOrientation (double x, double y, double z)
 Sets the orientation of the Prop3D. More...
 
void SetOrientation (double orientation[3])
 Sets the orientation of the Prop3D. More...
 
double * GetOrientation ()
 Returns the orientation of the Prop3D as s vector of X,Y and Z rotation. More...
 
void GetOrientation (double orentation[3])
 
double * GetOrientationWXYZ ()
 Returns the WXYZ orientation of the Prop3D. More...
 
void AddOrientation (double x, double y, double z)
 Add to the current orientation. More...
 
void AddOrientation (double orentation[3])
 Add to the current orientation. More...
 
void PokeMatrix (vtkMatrix4x4 *matrix) override
 This method modifies the vtkProp3D so that its transformation state is set to the matrix specified. More...
 
void InitPathTraversal () override
 Overload vtkProp's method for setting up assembly paths. More...
 
vtkMTimeType GetUserTransformMatrixMTime ()
 Get the modified time of the user matrix or user transform. More...
 
virtual int GetIsIdentity ()
 Is the matrix for this actor identity. More...
 
- Public Member Functions inherited from vtkProp
vtkPropNewInstance () const
 
virtual void GetActors (vtkPropCollection *)
 For some exporters and other other operations we must be able to collect all the actors or volumes. More...
 
virtual void GetActors2D (vtkPropCollection *)
 
virtual void SetVisibility (vtkTypeBool)
 Set/Get visibility of this vtkProp. More...
 
virtual vtkTypeBool GetVisibility ()
 
virtual void VisibilityOn ()
 
virtual void VisibilityOff ()
 
virtual void SetPickable (vtkTypeBool)
 Set/Get the pickable instance variable. More...
 
virtual vtkTypeBool GetPickable ()
 
virtual void PickableOn ()
 
virtual void PickableOff ()
 
virtual void Pick ()
 Method fires PickEvent if the prop is picked. More...
 
virtual void SetDragable (vtkTypeBool)
 Set/Get the value of the dragable instance variable. More...
 
virtual vtkTypeBool GetDragable ()
 
virtual void DragableOn ()
 
virtual void DragableOff ()
 
virtual void SetUseBounds (bool)
 In case the Visibility flag is true, tell if the bounds of this prop should be taken into account or ignored during the computation of other bounding boxes, like in vtkRenderer::ResetCamera(). More...
 
virtual bool GetUseBounds ()
 
virtual void UseBoundsOn ()
 
virtual void UseBoundsOff ()
 
virtual vtkAssemblyPathGetNextPath ()
 
virtual int GetNumberOfPaths ()
 
virtual void PokeMatrix (vtkMatrix4x4 *vtkNotUsed(matrix))
 These methods are used by subclasses to place a matrix (if any) in the prop prior to rendering. More...
 
virtual vtkInformationGetPropertyKeys ()
 Set/Get property keys. More...
 
virtual void SetPropertyKeys (vtkInformation *keys)
 
virtual bool HasKeys (vtkInformation *requiredKeys)
 Tells if the prop has all the required keys. More...
 
virtual int RenderOpaqueGeometry (vtkViewport *)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS All concrete subclasses must be able to render themselves. More...
 
virtual int RenderTranslucentPolygonalGeometry (vtkViewport *)
 
virtual int RenderOverlay (vtkViewport *)
 
virtual bool RenderFilteredOpaqueGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the opaque geometry only if the prop has all the requiredKeys. More...
 
virtual bool RenderFilteredTranslucentPolygonalGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the translucent polygonal geometry only if the prop has all the requiredKeys. More...
 
virtual bool RenderFilteredVolumetricGeometry (vtkViewport *v, vtkInformation *requiredKeys)
 Render the volumetric geometry only if the prop has all the requiredKeys. More...
 
virtual bool RenderFilteredOverlay (vtkViewport *v, vtkInformation *requiredKeys)
 Render in the overlay of the viewport only if the prop has all the requiredKeys. More...
 
virtual vtkTypeBool HasTranslucentPolygonalGeometry ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS Does this prop have some translucent polygonal geometry? This method is called during the rendering process to know if there is some translucent polygonal geometry. More...
 
virtual vtkTypeBool HasOpaqueGeometry ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS Does this prop have some opaque geometry? This method is called during the rendering process to know if there is some opaque geometry. More...
 
virtual double GetEstimatedRenderTime (vtkViewport *)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS The EstimatedRenderTime may be used to select between different props, for example in LODProp it is used to select the level-of-detail. More...
 
virtual double GetEstimatedRenderTime ()
 
virtual void SetEstimatedRenderTime (double t)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS This method is used by, for example, the vtkLODProp3D in order to initialize the estimated render time at start-up to some user defined value. More...
 
virtual void RestoreEstimatedRenderTime ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS When the EstimatedRenderTime is first set to 0.0 (in the SetAllocatedRenderTime method) the old value is saved. More...
 
virtual void AddEstimatedRenderTime (double t, vtkViewport *vtkNotUsed(vp))
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS This method is intended to allow the renderer to add to the EstimatedRenderTime in props that require information that the renderer has in order to do this. More...
 
virtual void SetAllocatedRenderTime (double t, vtkViewport *vtkNotUsed(v))
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS The renderer may use the allocated rendering time to determine how to render this actor. More...
 
virtual double GetAllocatedRenderTime ()
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS. More...
 
void SetRenderTimeMultiplier (double t)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Get/Set the multiplier for the render time. More...
 
virtual double GetRenderTimeMultiplier ()
 
virtual void BuildPaths (vtkAssemblyPaths *paths, vtkAssemblyPath *path)
 WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT USE THIS METHOD OUTSIDE OF THE RENDERING PROCESS Used to construct assembly paths and perform part traversal. More...
 
virtual void ProcessSelectorPixelBuffers (vtkHardwareSelector *, std::vector< unsigned int > &)
 allows a prop to update a selections color buffers More...
 
virtual int GetNumberOfConsumers ()
 Get the number of consumers. More...
 
void AddConsumer (vtkObject *c)
 Add or remove or get or check a consumer,. More...
 
void RemoveConsumer (vtkObject *c)
 
vtkObjectGetConsumer (int i)
 
int IsConsumer (vtkObject *c)
 
virtual void SetShaderProperty (vtkShaderProperty *property)
 Set/Get the shader property. More...
 
virtual vtkShaderPropertyGetShaderProperty ()
 
virtual bool IsRenderingTranslucentPolygonalGeometry ()
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 

Static Public Member Functions

static vtkMultiVolumeNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkMultiVolumeSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkVolume
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkVolumeSafeDownCast (vtkObjectBase *o)
 
static vtkVolumeNew ()
 Creates a Volume with the following defaults: origin(0,0,0) position=(0,0,0) scale=1 visibility=1 pickable=1 dragable=1 orientation=(0,0,0). More...
 
- Static Public Member Functions inherited from vtkProp3D
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkProp3DSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkProp
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkPropSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeyGeneralTextureUnit ()
 Optional Key Indicating the texture unit for general texture mapping Old OpenGL was a state machine where you would push or pop items. More...
 
static vtkInformationDoubleVectorKeyGeneralTextureTransform ()
 Optional Key Indicating the texture transform for general texture mapping Old OpenGL was a state machine where you would push or pop items. More...
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkMultiVolume ()
 
 ~vtkMultiVolume () override
 
void ComputeMatrix () override
 The transformation matrix of this vtkProp3D is not user-definable, (only the registered vtkVolume instances define the total bounding-box). More...
 
vtkVolumeFindVolume (int port)
 Returns the vtkVolume registered in port. More...
 
bool VolumesChanged ()
 Checks for changes in the registered vtkVolume instances which could required the bounding-box to be recomputed. More...
 
std::array< double, 6 > ComputeAABounds (double bounds[6], vtkMatrix4x4 *T) const
 For a box defined by bounds in coordinate system X, compute its axis-aligned bounds in coordinate system Y. More...
 
- Protected Member Functions inherited from vtkVolume
 vtkVolume ()
 
 ~vtkVolume () override
 
double ComputeScreenCoverage (vtkViewport *vp)
 
- Protected Member Functions inherited from vtkProp3D
 vtkProp3D ()
 
 ~vtkProp3D () override
 
- Protected Member Functions inherited from vtkProp
 vtkProp ()
 
 ~vtkProp () override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

std::array< double, 6 > DataBounds
 
std::array< double, 24 > DataGeometry
 
std::unordered_map< int, vtkVolume * > Volumes
 
vtkTimeStamp BoundsComputeTime
 
vtkSmartPointer< vtkMatrix4x4TexToBBox
 
- Protected Attributes inherited from vtkVolume
vtkAbstractVolumeMapperMapper
 
vtkVolumePropertyProperty
 
float * RGBArray [VTK_MAX_VRCOMP]
 
vtkTimeStamp RGBArrayMTime [VTK_MAX_VRCOMP]
 
float * GrayArray [VTK_MAX_VRCOMP]
 
vtkTimeStamp GrayArrayMTime [VTK_MAX_VRCOMP]
 
float * ScalarOpacityArray [VTK_MAX_VRCOMP]
 
vtkTimeStamp ScalarOpacityArrayMTime [VTK_MAX_VRCOMP]
 
float * CorrectedScalarOpacityArray [VTK_MAX_VRCOMP]
 
vtkTimeStamp CorrectedScalarOpacityArrayMTime [VTK_MAX_VRCOMP]
 
float CorrectedStepSize
 
int ArraySize
 
float GradientOpacityArray [VTK_MAX_VRCOMP][256]
 
float GradientOpacityConstant [VTK_MAX_VRCOMP]
 
vtkTimeStamp GradientOpacityArrayMTime [VTK_MAX_VRCOMP]
 
- Protected Attributes inherited from vtkProp3D
vtkLinearTransformUserTransform
 
vtkMatrix4x4UserMatrix
 
vtkMatrix4x4Matrix
 
vtkTimeStamp MatrixMTime
 
double Origin [3]
 
double Position [3]
 
double Orientation [3]
 
double Scale [3]
 
double Center [3]
 
vtkTransformTransform
 
double Bounds [6]
 
vtkProp3DCachedProp3D
 
int IsIdentity
 
- Protected Attributes inherited from vtkProp
vtkTypeBool Visibility
 
vtkTypeBool Pickable
 
vtkTypeBool Dragable
 
bool UseBounds
 
double AllocatedRenderTime
 
double EstimatedRenderTime
 
double SavedEstimatedRenderTime
 
double RenderTimeMultiplier
 
int NumberOfConsumers
 
vtkObject ** Consumers
 
vtkAssemblyPathsPaths
 
vtkInformationPropertyKeys
 
vtkShaderPropertyShaderProperty
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

Represents a world axis-aligned bounding-box containing a set of volumes in a rendered scene.

vtkVolume instances registered in this class can be overlapping. They are intended to be all rendered simultaneously by a vtkGPUVolumeRayCastMapper (inputs should be set directly in the mapper).

This class holds the full transformation of a bounding-box containing all of the registered volumes.

 + TexToBBox : Texture-to-Data (scaling)
 + Matrix : Data-to-World (translation)
Note
This class is intended to be used only by mappers supporting multiple inputs.
See also
vtkVolume vtkAbstractVolumeMapper vtkGPUVolumeRayCastMapper

Definition at line 54 of file vtkMultiVolume.h.

Member Typedef Documentation

◆ Superclass

Definition at line 58 of file vtkMultiVolume.h.

Constructor & Destructor Documentation

◆ vtkMultiVolume()

vtkMultiVolume::vtkMultiVolume ( )
protected

◆ ~vtkMultiVolume()

vtkMultiVolume::~vtkMultiVolume ( )
overrideprotected

Member Function Documentation

◆ New()

static vtkMultiVolume* vtkMultiVolume::New ( )
static

◆ IsTypeOf()

static vtkTypeBool vtkMultiVolume::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkMultiVolume::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkVolume.

◆ SafeDownCast()

static vtkMultiVolume* vtkMultiVolume::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkMultiVolume::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkVolume.

◆ NewInstance()

vtkMultiVolume* vtkMultiVolume::NewInstance ( ) const

◆ PrintSelf()

void vtkMultiVolume::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkVolume.

◆ SetVolume()

void vtkMultiVolume::SetVolume ( vtkVolume volume,
int  port = 0 
)

Add / Remove a vtkVolume instance.

◆ GetVolume()

vtkVolume* vtkMultiVolume::GetVolume ( int  port = 0)

◆ RemoveVolume()

void vtkMultiVolume::RemoveVolume ( int  port)
inline

Definition at line 67 of file vtkMultiVolume.h.

◆ SetProperty()

void vtkMultiVolume::SetProperty ( vtkVolumeProperty property)
overridevirtual

Given that this class represents a bounding-box only there is no property directly associated with it (a cannot be set directly).

This instance will return the property of the volume registered in the 0th port (or nullptr if no volume has been set).

See also
vtkVolume

Reimplemented from vtkVolume.

◆ GetProperty()

vtkVolumeProperty* vtkMultiVolume::GetProperty ( )
overridevirtual

Reimplemented from vtkVolume.

◆ GetBounds()

double* vtkMultiVolume::GetBounds ( )
overridevirtual

Computes the bounds of the box containing all of the vtkVolume instances.

Returns the bounds (vtkVolume::Bounds) in world coordinates [xmin, xmax, ymin, ymax, zmin, zmax] but also keeps cached the bounds in data coordinates (vtkMultiVolume::DataBounds).

Reimplemented from vtkVolume.

◆ GetMTime()

vtkMTimeType vtkMultiVolume::GetMTime ( )
overridevirtual
See also
vtkVolume

Reimplemented from vtkVolume.

◆ ShallowCopy()

void vtkMultiVolume::ShallowCopy ( vtkProp prop)
overridevirtual

Checks whether the vtkProp passed is another vtkMultiVolume and tries to copy accordingly.

Otherwise it falls back to vtkVolume::ShallowCopy.

See also
vtkVolume

Reimplemented from vtkVolume.

◆ GetMatrix()

vtkMatrix4x4* vtkMultiVolume::GetMatrix ( )
inlineoverridevirtual

Get a pointer to an internal vtkMatrix4x4.

that represents

Reimplemented from vtkProp3D.

Definition at line 111 of file vtkMultiVolume.h.

◆ GetTextureMatrix()

vtkMatrix4x4* vtkMultiVolume::GetTextureMatrix ( )
inline

Returns the transformation from texture coordinates to data cooridinates of the bounding-box.

Since this class represents an axis-aligned bounding -boxThis, this transformation only contains a scaling diagonal.

Definition at line 118 of file vtkMultiVolume.h.

◆ GetDataBounds()

double* vtkMultiVolume::GetDataBounds ( )
inline

Total bounds in data coordinates.

Definition at line 123 of file vtkMultiVolume.h.

◆ GetBoundsTime()

vtkMTimeType vtkMultiVolume::GetBoundsTime ( )
inline

Definition at line 125 of file vtkMultiVolume.h.

◆ RenderVolumetricGeometry()

int vtkMultiVolume::RenderVolumetricGeometry ( vtkViewport vp)
overridevirtual

Since vtkMultiVolume acts like a proxy volume to compute the bounding box for its internal vtkVolume instances, there are no properties to be set directly in this instance.

For that reason, this override ignores the vtkVolumeProperty check.

Reimplemented from vtkVolume.

◆ GetDataGeometry()

double* vtkMultiVolume::GetDataGeometry ( )
inline

Return the eight corners of the volume.

Definition at line 138 of file vtkMultiVolume.h.

◆ ComputeMatrix()

void vtkMultiVolume::ComputeMatrix ( )
inlineoverrideprotectedvirtual

The transformation matrix of this vtkProp3D is not user-definable, (only the registered vtkVolume instances define the total bounding-box).

For that reason this method does nothing.

See also
vtkProp3D

Reimplemented from vtkProp3D.

Definition at line 150 of file vtkMultiVolume.h.

◆ FindVolume()

vtkVolume* vtkMultiVolume::FindVolume ( int  port)
protected

Returns the vtkVolume registered in port.

◆ VolumesChanged()

bool vtkMultiVolume::VolumesChanged ( )
protected

Checks for changes in the registered vtkVolume instances which could required the bounding-box to be recomputed.

◆ ComputeAABounds()

std::array<double, 6> vtkMultiVolume::ComputeAABounds ( double  bounds[6],
vtkMatrix4x4 T 
) const
protected

For a box defined by bounds in coordinate system X, compute its axis-aligned bounds in coordinate system Y.

T defines the transformation from X to Y and bounds ([x_min, x_max, y_min, y_max, z_min, z_max]) the box in X.

Member Data Documentation

◆ DataBounds

std::array<double, 6> vtkMultiVolume::DataBounds
protected

Definition at line 171 of file vtkMultiVolume.h.

◆ DataGeometry

std::array<double, 24> vtkMultiVolume::DataGeometry
protected

Definition at line 172 of file vtkMultiVolume.h.

◆ Volumes

std::unordered_map<int, vtkVolume*> vtkMultiVolume::Volumes
protected

Definition at line 173 of file vtkMultiVolume.h.

◆ BoundsComputeTime

vtkTimeStamp vtkMultiVolume::BoundsComputeTime
protected

Definition at line 174 of file vtkMultiVolume.h.

◆ TexToBBox

vtkSmartPointer<vtkMatrix4x4> vtkMultiVolume::TexToBBox
protected

Definition at line 175 of file vtkMultiVolume.h.


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