Algorithm class for computing topological hierarchy of multiple poly data models or bounding boxes. 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. Only the bounding boxes are used, so the input can be given either as poly data models (.
More...
#include <Libs/vtkSegmentationCore/vtkTopologicalHierarchy.h>
Algorithm class for computing topological hierarchy of multiple poly data models or bounding boxes. 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. Only the bounding boxes are used, so the input can be given either as poly data models (.
- See also
- SetInputPolyDataCollection) or directly as bounding boxes (
-
SetInputBounds), for example computed from the voxels of each segment of a binary labelmap. This algorithm can be used to automatically determine optimal opacities in complex scenes.
Definition at line 46 of file vtkTopologicalHierarchy.h.
◆ Superclass
◆ vtkTopologicalHierarchy()
| vtkTopologicalHierarchy::vtkTopologicalHierarchy |
( |
| ) |
|
|
protected |
◆ ~vtkTopologicalHierarchy()
| vtkTopologicalHierarchy::~vtkTopologicalHierarchy |
( |
| ) |
|
|
overrideprotected |
◆ Contains() [1/2]
| bool vtkTopologicalHierarchy::Contains |
( |
const double | boundsOut[6], |
|
|
const double | boundsIn[6] ) |
|
protected |
Determines if the bounding box boundsOut contains boundsIn considering the constraint factor /sa ContainConstraintFactor
◆ Contains() [2/2]
| 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)
◆ GetInputBounds()
| virtual vtkDoubleArray * vtkTopologicalHierarchy::GetInputBounds |
( |
| ) |
|
|
virtual |
◆ 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()
◆ 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()
◆ SetContainConstraintFactor()
| virtual void vtkTopologicalHierarchy::SetContainConstraintFactor |
( |
double | | ) |
|
|
virtual |
Set constraint factor (used when determining if a poly data contains another)
◆ SetInputBounds()
| virtual void vtkTopologicalHierarchy::SetInputBounds |
( |
vtkDoubleArray * | | ) |
|
|
virtual |
Set input bounding boxes: an array of 6 components (xmin, xmax, ymin, ymax, zmin, zmax), one tuple per item. If set, it is used instead of the input poly data collection. An item with empty bounds (min > max) neither contains nor is contained by any other item, so it gets level 0.
◆ SetInputPolyDataCollection()
| virtual void vtkTopologicalHierarchy::SetInputPolyDataCollection |
( |
vtkPolyDataCollection * | | ) |
|
|
virtual |
Set input poly data collection. Ignored if input bounds are set.
◆ SetOutputLevels()
| virtual void vtkTopologicalHierarchy::SetOutputLevels |
( |
vtkIntArray * | | ) |
|
|
protectedvirtual |
Set output topological hierarchy levels.
◆ Update()
| virtual void vtkTopologicalHierarchy::Update |
( |
| ) |
|
|
virtual |
Compute topological hierarchy levels for the input bounding boxes (if set) or for the input poly data models using their bounding boxes. This function has to be explicitly called! Output can be get using GetOutputLevels()
◆ 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 110 of file vtkTopologicalHierarchy.h.
◆ InputBounds
| vtkDoubleArray* vtkTopologicalHierarchy::InputBounds |
|
protected |
Bounding boxes to determine the hierarchy for (used instead of the poly data collection if set)
Definition at line 97 of file vtkTopologicalHierarchy.h.
◆ InputPolyDataCollection
| vtkPolyDataCollection* vtkTopologicalHierarchy::InputPolyDataCollection |
|
protected |
◆ MaximumLevel
| unsigned int vtkTopologicalHierarchy::MaximumLevel |
|
protected |
◆ OutputLevels
| vtkIntArray* vtkTopologicalHierarchy::OutputLevels |
|
protected |
Array containing the topological hierarchy levels for the input items Update function needs to be called to compute the array The level values correspond to the item with the same index in the input bounds or poly data collection
Definition at line 102 of file vtkTopologicalHierarchy.h.
The documentation for this class was generated from the following file: