SIVIC API  0.9.26
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Protected Member Functions | List of all members
svkImageTopologyGenerator Class Referenceabstract

#include <svkImageTopologyGenerator.h>

Inheritance diagram for svkImageTopologyGenerator:
svkMrsTopoGenerator

Public Member Functions

 vtkTypeMacro (svkImageTopologyGenerator, vtkObject)
 
 svkImageTopologyGenerator ()
 
 ~svkImageTopologyGenerator ()
 
virtual vtkActorCollection * GenerateVoxelGrid (svkImageData *data)
 
virtual vtkActorCollection * GenerateSelectionBox (svkImageData *data)
 
virtual void GenerateVoxelGridActor (svkImageData *data, vtkActor *targetActor)
 
virtual vtkPolyData * GenerateVoxelGridPolyData (svkImageData *data)
 
virtual vtkActorCollection * GetTopoActorCollection (svkImageData *data, int actorIndex=0)=0
 

Protected Member Functions

virtual vtkActor * MakeGridVoxelActor (double *bounds)
 
virtual vtkActor * MakeRectGridVoxelActor (double *bounds)
 

Detailed Description

Class that generates topologies for svkImageData objects. Currently it can generate two topology types: a grid that represents the cell structure of a data set and a hexahdron that represents the selection box.

Constructor & Destructor Documentation

Constructor.

Deconstructor.

Member Function Documentation

vtkActorCollection * GenerateSelectionBox ( svkImageData data)
virtual

GenerateSelectionBox creates a vtkActorCollection with one element in it, a vtkActor that represents the selection box. This is done by going through the header and pulling out the slabs that represent the selection box. The slabs are split up into two planes each, and placed into a vtkPlanesIntersection object. This object is designed to define any convex region that can be described by a set of boundry planes. Once this region is described the vertecies are extracted, and we use them to create a polyhedron. Right now only a hexaderon is possible, and hence three slabs must be present in the header otherwise NULL is returned.

Parameters
datais a pointer to the svkImageData object whoms selection box you want to represent.
Returns
vtkActorCollection* is a collection of one actor, the hexahdron representing the selection box, if the header does not define 3 slabs, NULL is returned.

Referenced by svkMrsTopoGenerator::GetTopoActorCollection().

vtkActorCollection * GenerateVoxelGrid ( svkImageData data)
virtual

Generate the voxel grid. The grid consists of vtkActors that are constructed based on the output of a vtkCubeSource object (can be any reqular hexahedron) which is polyData. The resulting actor collection contains one actor per cell in the data, and each actor will have the same boundries as the cell it represents. The actors are set into the collection in the same order as the vtkID's of the cells in the data set. This means that the id of a cell in the data set is the same as its index in the collection. This fact is important, and is assumed elsewhere (svkPlotGridView, svkOverlayView).

Parameters
datais a pointer to the svkImageData object whoms cell structure you want the grid to represent.
Returns
vtkActorCollection* is the collection of all actors representing the cell structure of the data set

References svkImageTopologyGenerator::MakeGridVoxelActor().

Referenced by svkMrsTopoGenerator::GetTopoActorCollection().

void GenerateVoxelGridActor ( svkImageData data,
vtkActor *  targetActor 
)
virtual
vtkPolyData * GenerateVoxelGridPolyData ( svkImageData data)
virtual
virtual vtkActorCollection* GetTopoActorCollection ( svkImageData data,
int  actorIndex = 0 
)
pure virtual

Implemented in svkMrsTopoGenerator.

vtkActor * MakeGridVoxelActor ( double *  bounds)
protectedvirtual

makeGridVoxelActor generates Actors that represent the spectroscopic voxels. It uses a vtkCubeSource object to generate polydata based on the bounds given to it.

Parameters
boundsa pointer to a length 6 double array representing the bounds of the voxel. (xmin, xmax, ymin, ymax, zmin, zmax)
Returns
vtkActor* a green wireframe actor to represent the grid voxel

Referenced by svkImageTopologyGenerator::GenerateVoxelGrid().

vtkActor * MakeRectGridVoxelActor ( double *  bounds)
protectedvirtual

makeGridVoxelActor generates Actors that represent the spectroscopic voxels. It uses a vtkCubeSource object to generate polydata based on the bounds given to it.

Parameters
boundsa pointer to a length 6 double array representing the bounds of the voxel. (xmin, xmax, ymin, ymax, zmin, zmax)
Returns
vtkActor* a green wireframe actor to represent the grid voxel
vtkTypeMacro ( svkImageTopologyGenerator  ,
vtkObject   
)

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