Slicer  5.3
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkTopologicalHierarchy Class Reference

Algorithm class for computing topological hierarchy of multiple poly data models. The levels of the models are determined according to the models they contain, an outer model always having larger level value than the inner ones. To determine whether a model contains another, their bounding boxes are considered. It is possible to constrain a gap or allow the inner model to protrude the surface of the outer one. The size of this gap or allowance is defined as a factor /sa ContainConstraintFactor of the outer model size. This algorithm can be used to automatically determine optimal opacities in complex scenes. More...

#include <Libs/vtkSegmentationCore/vtkTopologicalHierarchy.h>

Inheritance diagram for vtkTopologicalHierarchy:
Inheritance graph
[legend]
Collaboration diagram for vtkTopologicalHierarchy:
Collaboration graph
[legend]

Public Types

typedef vtkObject Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual double GetContainConstraintFactor ()
 Get constraint factor (used when determining if a poly data contains another) More...
 
virtual vtkIntArray * GetOutputLevels ()
 Get output topological hierarchy levels. More...
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
virtual void SetContainConstraintFactor (double)
 Set constraint factor (used when determining if a poly data contains another) More...
 
virtual void SetInputPolyDataCollection (vtkPolyDataCollection *)
 Set input poly data collection. More...
 
virtual void Update ()
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkTopologicalHierarchyNew ()
 
static vtkTopologicalHierarchySafeDownCast (vtkObject *o)
 

Protected Member Functions

bool Contains (vtkPolyData *polyOut, vtkPolyData *polyIn)
 
bool OutputContainsEmptyLevels ()
 Determines if there are empty entries in the output level array. More...
 
virtual void SetOutputLevels (vtkIntArray *)
 Set output topological hierarchy levels. More...
 
 vtkTopologicalHierarchy ()
 
 ~vtkTopologicalHierarchy () override
 

Protected Attributes

double ContainConstraintFactor
 
vtkPolyDataCollection * InputPolyDataCollection
 Collection of poly data to determine the hierarchy for. More...
 
unsigned int MaximumLevel
 Maximum level that can be assigned to a poly data. More...
 
vtkIntArray * OutputLevels
 

Detailed Description

Algorithm class for computing topological hierarchy of multiple poly data models. The levels of the models are determined according to the models they contain, an outer model always having larger level value than the inner ones. To determine whether a model contains another, their bounding boxes are considered. It is possible to constrain a gap or allow the inner model to protrude the surface of the outer one. The size of this gap or allowance is defined as a factor /sa ContainConstraintFactor of the outer model size. This algorithm can be used to automatically determine optimal opacities in complex scenes.

Definition at line 43 of file vtkTopologicalHierarchy.h.

Member Typedef Documentation

◆ Superclass

Definition at line 48 of file vtkTopologicalHierarchy.h.

Constructor & Destructor Documentation

◆ vtkTopologicalHierarchy()

vtkTopologicalHierarchy::vtkTopologicalHierarchy ( )
protected

◆ ~vtkTopologicalHierarchy()

vtkTopologicalHierarchy::~vtkTopologicalHierarchy ( )
overrideprotected

Member Function Documentation

◆ Contains()

bool vtkTopologicalHierarchy::Contains ( vtkPolyData *  polyOut,
vtkPolyData *  polyIn 
)
protected

Determines if polyOut contains polyIn considering the constraint factor /sa ContainConstraintFactor

◆ GetClassName()

virtual const char* vtkTopologicalHierarchy::GetClassName ( )
virtual

◆ GetContainConstraintFactor()

virtual double vtkTopologicalHierarchy::GetContainConstraintFactor ( )
virtual

Get constraint factor (used when determining if a poly data contains another)

◆ GetOutputLevels()

virtual vtkIntArray* vtkTopologicalHierarchy::GetOutputLevels ( )
virtual

Get output topological hierarchy levels.

◆ IsA()

virtual int vtkTopologicalHierarchy::IsA ( const char *  type)
virtual

◆ IsTypeOf()

static int vtkTopologicalHierarchy::IsTypeOf ( const char *  type)
static

◆ New()

static vtkTopologicalHierarchy* vtkTopologicalHierarchy::New ( )
static

◆ OutputContainsEmptyLevels()

bool vtkTopologicalHierarchy::OutputContainsEmptyLevels ( )
protected

Determines if there are empty entries in the output level array.

◆ PrintSelf()

void vtkTopologicalHierarchy::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
override

◆ SafeDownCast()

static vtkTopologicalHierarchy* vtkTopologicalHierarchy::SafeDownCast ( vtkObject *  o)
static

◆ SetContainConstraintFactor()

virtual void vtkTopologicalHierarchy::SetContainConstraintFactor ( double  )
virtual

Set constraint factor (used when determining if a poly data contains another)

◆ SetInputPolyDataCollection()

virtual void vtkTopologicalHierarchy::SetInputPolyDataCollection ( vtkPolyDataCollection *  )
virtual

Set input poly data collection.

◆ SetOutputLevels()

virtual void vtkTopologicalHierarchy::SetOutputLevels ( vtkIntArray *  )
protectedvirtual

Set output topological hierarchy levels.

◆ Update()

virtual void vtkTopologicalHierarchy::Update ( )
virtual

Compute topological hierarchy levels for input poly data models using their bounding boxes. This function has to be explicitly called! Output can be get using GetOutputLevels()

Member Data Documentation

◆ ContainConstraintFactor

double vtkTopologicalHierarchy::ContainConstraintFactor
protected

Constraint factor used when determining if a poly data contains another It defines a 'gap' that is needed between the outer and inner poly data. The gap is computed as this factor multiplied by the bounding box edge length at each dimension. In case of positive value, the inner poly data has to be that much smaller than the outer one In case of negative value, it is rather an allowance by which the inner polydata can reach outside the other

Definition at line 95 of file vtkTopologicalHierarchy.h.

◆ InputPolyDataCollection

vtkPolyDataCollection* vtkTopologicalHierarchy::InputPolyDataCollection
protected

Collection of poly data to determine the hierarchy for.

Definition at line 82 of file vtkTopologicalHierarchy.h.

◆ MaximumLevel

unsigned int vtkTopologicalHierarchy::MaximumLevel
protected

Maximum level that can be assigned to a poly data.

Definition at line 98 of file vtkTopologicalHierarchy.h.

◆ OutputLevels

vtkIntArray* vtkTopologicalHierarchy::OutputLevels
protected

Array containing the topological hierarchy levels for the input poly data Update function needs to be called to compute the array The level values correspond to the poly data with the same index in the input collection

Definition at line 87 of file vtkTopologicalHierarchy.h.


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