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

This class represents an axis-aligned Binary Spatial Partitioning of a 3D space. More...

#include <vtkBSPCuts.h>

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

Public Types

typedef vtkDataObject Superclass
 
- Public Types inherited from vtkDataObject
enum  FieldAssociations {
  FIELD_ASSOCIATION_POINTS, FIELD_ASSOCIATION_CELLS, FIELD_ASSOCIATION_NONE, FIELD_ASSOCIATION_POINTS_THEN_CELLS,
  FIELD_ASSOCIATION_VERTICES, FIELD_ASSOCIATION_EDGES, FIELD_ASSOCIATION_ROWS, NUMBER_OF_ASSOCIATIONS
}
 Possible values for the FIELD_ASSOCIATION information entry. More...
 
enum  AttributeTypes {
  POINT, CELL, FIELD, POINT_THEN_CELL,
  VERTEX, EDGE, ROW, NUMBER_OF_ATTRIBUTE_TYPES
}
 Possible attribute types. More...
 
enum  FieldOperations { FIELD_OPERATION_PRESERVED, FIELD_OPERATION_REINTERPOLATED, FIELD_OPERATION_MODIFIED, FIELD_OPERATION_REMOVED }
 Possible values for the FIELD_OPERATION information entry. More...
 
typedef vtkObject Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkBSPCutsNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void CreateCuts (double *bounds, int ncuts, int *dim, double *coord, int *lower, int *upper, double *lowerDataCoord, double *upperDataCoord, int *npoints)
 Initialize the cuts with arrays of information. More...
 
void CreateCuts (vtkKdNode *kd)
 Initialize the cuts from a tree of vtkKdNode's. More...
 
vtkKdNodeGetKdNodeTree ()
 Return a tree of vtkKdNode's representing the cuts specified in this object. More...
 
virtual int GetNumberOfCuts ()
 Get the number of cuts in the partitioning, which also the size of the arrays in the array representation of the partitioning. More...
 
int GetArrays (int len, int *dim, double *coord, int *lower, int *upper, double *lowerDataCoord, double *upperDataCoord, int *npoints)
 Get the arrays representing the cuts in the partitioning. More...
 
int Equals (vtkBSPCuts *other, double tolerance=0.0)
 Compare these cuts with those of the other tree. More...
 
void PrintTree ()
 
void PrintArrays ()
 
void Initialize () override
 Restore data object to initial state,. More...
 
void ShallowCopy (vtkDataObject *src) override
 Shallow copy. More...
 
void DeepCopy (vtkDataObject *src) override
 Shallow copy. More...
 
- Public Member Functions inherited from vtkDataObject
vtkDataObjectNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
vtkMTimeType GetMTime () override
 Data objects are composite objects and need to check each part for MTime. More...
 
void ReleaseData ()
 Release data back to system to conserve memory resource. More...
 
virtual int GetDataObjectType ()
 Return class name of data type. More...
 
vtkMTimeType GetUpdateTime ()
 Used by Threaded ports to determine if they should initiate an asynchronous update (still in development). More...
 
virtual unsigned long GetActualMemorySize ()
 Return the actual size of the data in kibibytes (1024 bytes). More...
 
virtual void CopyInformationFromPipeline (vtkInformation *vtkNotUsed(info))
 Copy from the pipeline information to the data object's own information. More...
 
virtual void CopyInformationToPipeline (vtkInformation *vtkNotUsed(info))
 Copy information from this data object to the pipeline information. More...
 
void DataHasBeenGenerated ()
 This method is called by the source when it executes to generate data. More...
 
virtual void PrepareForNewData ()
 make the output data ready for new data to be inserted. More...
 
virtual int GetExtentType ()
 The ExtentType will be left as VTK_PIECES_EXTENT for data objects such as vtkPolyData and vtkUnstructuredGrid. More...
 
virtual void Crop (const int *updateExtent)
 This method crops the data object (if necessary) so that the extent matches the update extent. More...
 
virtual vtkDataSetAttributesGetAttributes (int type)
 Returns the attributes of the data object of the specified attribute type. More...
 
virtual vtkFieldDataGetAttributesAsFieldData (int type)
 Returns the attributes of the data object as a vtkFieldData. More...
 
virtual int GetAttributeTypeForArray (vtkAbstractArray *arr)
 Retrieves the attribute type that an array came from. More...
 
virtual vtkIdType GetNumberOfElements (int type)
 Get the number of elements for a specific attribute type (POINT, CELL, etc.). More...
 
virtual vtkInformationGetInformation ()
 Set/Get the information object associated with this data object. More...
 
virtual void SetInformation (vtkInformation *)
 Set/Get the information object associated with this data object. More...
 
virtual int GetDataReleased ()
 Get the flag indicating the data has been released. More...
 
virtual void SetFieldData (vtkFieldData *)
 Assign or retrieve a general field data to this data object. More...
 
virtual vtkFieldDataGetFieldData ()
 Assign or retrieve a general field data to this data object. More...
 
void GlobalReleaseDataFlagOn ()
 Turn on/off flag to control whether every object releases its data after being used by a filter. More...
 
void GlobalReleaseDataFlagOff ()
 Turn on/off flag to control whether every object releases its data after being used by a filter. More...
 
- 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...
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
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)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
vtkCommandGetCommand (unsigned long tag)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObserver (vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
void RemoveObservers (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
int HasObserver (unsigned long event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
int HasObserver (const char *event, vtkCommand *)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
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)
 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, 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)
 This method invokes an event and return whether the event was aborted or not. More...
 
- 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 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...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 Methods invoked by print to print information about the object including superclasses. More...
 

Static Public Member Functions

static vtkBSPCutsNew ()
 
static int IsTypeOf (const char *type)
 
static vtkBSPCutsSafeDownCast (vtkObjectBase *o)
 
static vtkBSPCutsGetData (vtkInformation *info)
 Retrieve an instance of this class from an information object. More...
 
static vtkBSPCutsGetData (vtkInformationVector *v, int i=0)
 Retrieve an instance of this class from an information object. More...
 
- Static Public Member Functions inherited from vtkDataObject
static vtkDataObjectNew ()
 
static int IsTypeOf (const char *type)
 
static vtkDataObjectSafeDownCast (vtkObjectBase *o)
 
static vtkInformationGetActiveFieldInformation (vtkInformation *info, int fieldAssociation, int attributeType)
 Return the information object within the input information object's field data corresponding to the specified association (FIELD_ASSOCIATION_POINTS or FIELD_ASSOCIATION_CELLS) and attribute (SCALARS, VECTORS, NORMALS, TCOORDS, or TENSORS) More...
 
static vtkInformationGetNamedFieldInformation (vtkInformation *info, int fieldAssociation, const char *name)
 Return the information object within the input information object's field data corresponding to the specified association (FIELD_ASSOCIATION_POINTS or FIELD_ASSOCIATION_CELLS) and name. More...
 
static void RemoveNamedFieldInformation (vtkInformation *info, int fieldAssociation, const char *name)
 Remove the info associated with an array. More...
 
static vtkInformationSetActiveAttribute (vtkInformation *info, int fieldAssociation, const char *attributeName, int attributeType)
 Set the named array to be the active field for the specified type (SCALARS, VECTORS, NORMALS, TCOORDS, or TENSORS) and association (FIELD_ASSOCIATION_POINTS or FIELD_ASSOCIATION_CELLS). More...
 
static void SetActiveAttributeInfo (vtkInformation *info, int fieldAssociation, int attributeType, const char *name, int arrayType, int numComponents, int numTuples)
 Set the name, array type, number of components, and number of tuples within the passed information object for the active attribute of type attributeType (in specified association, FIELD_ASSOCIATION_POINTS or FIELD_ASSOCIATION_CELLS). More...
 
static void SetPointDataActiveScalarInfo (vtkInformation *info, int arrayType, int numComponents)
 Convenience version of previous method for use (primarily) by the Imaging filters. More...
 
static const char * GetAssociationTypeAsString (int associationType)
 Given an integer association type, this static method returns a string type for the attribute (i.e. More...
 
static int GetAssociationTypeFromString (const char *associationType)
 Given an integer association type, this static method returns a string type for the attribute (i.e. More...
 
static vtkInformationStringKeyDATA_TYPE_NAME ()
 
static vtkInformationDataObjectKeyDATA_OBJECT ()
 
static vtkInformationIntegerKeyDATA_EXTENT_TYPE ()
 
static vtkInformationIntegerPointerKeyDATA_EXTENT ()
 
static vtkInformationIntegerVectorKeyALL_PIECES_EXTENT ()
 
static vtkInformationIntegerKeyDATA_PIECE_NUMBER ()
 
static vtkInformationIntegerKeyDATA_NUMBER_OF_PIECES ()
 
static vtkInformationIntegerKeyDATA_NUMBER_OF_GHOST_LEVELS ()
 
static vtkInformationDoubleKeyDATA_TIME_STEP ()
 
static vtkInformationInformationVectorKeyPOINT_DATA_VECTOR ()
 
static vtkInformationInformationVectorKeyCELL_DATA_VECTOR ()
 
static vtkInformationInformationVectorKeyVERTEX_DATA_VECTOR ()
 
static vtkInformationInformationVectorKeyEDGE_DATA_VECTOR ()
 
static vtkInformationIntegerKeyFIELD_ARRAY_TYPE ()
 
static vtkInformationIntegerKeyFIELD_ASSOCIATION ()
 
static vtkInformationIntegerKeyFIELD_ATTRIBUTE_TYPE ()
 
static vtkInformationIntegerKeyFIELD_ACTIVE_ATTRIBUTE ()
 
static vtkInformationIntegerKeyFIELD_NUMBER_OF_COMPONENTS ()
 
static vtkInformationIntegerKeyFIELD_NUMBER_OF_TUPLES ()
 
static vtkInformationIntegerKeyFIELD_OPERATION ()
 
static vtkInformationDoubleVectorKeyFIELD_RANGE ()
 
static vtkInformationIntegerVectorKeyPIECE_EXTENT ()
 
static vtkInformationStringKeyFIELD_NAME ()
 
static vtkInformationDoubleVectorKeyORIGIN ()
 
static vtkInformationDoubleVectorKeySPACING ()
 
static vtkInformationDoubleVectorKeyBOUNDING_BOX ()
 
static vtkInformationDataObjectKeySIL ()
 
static vtkDataObjectGetData (vtkInformation *info)
 Retrieve an instance of this class from an information object. More...
 
static vtkDataObjectGetData (vtkInformationVector *v, int i=0)
 Retrieve an instance of this class from an information object. More...
 
static void SetGlobalReleaseDataFlag (int val)
 Turn on/off flag to control whether every object releases its data after being used by a filter. More...
 
static int GetGlobalReleaseDataFlag ()
 Turn on/off flag to control whether every object releases its data after being used by a filter. 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 ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOff ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static int GetGlobalWarningDisplay ()
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
- 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
 
 vtkBSPCuts ()
 
 ~vtkBSPCuts () override
 
void BuildTree (vtkKdNode *kd, int idx)
 
int WriteArray (vtkKdNode *kd, int loc)
 
void ResetArrays ()
 
void AllocateArrays (int size)
 
 vtkBSPCuts (const vtkBSPCuts &) VTK_DELETE_FUNCTION
 
void operator= (const vtkBSPCuts &) VTK_DELETE_FUNCTION
 
- Protected Member Functions inherited from vtkDataObject
 vtkDataObject ()
 
 ~vtkDataObject () 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=NULL)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 These methods allow a command to exclusively grab all events. More...
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Static Protected Member Functions

static void DeleteAllDescendants (vtkKdNode *kd)
 
static int CountNodes (vtkKdNode *kd)
 
static void SetMinMaxId (vtkKdNode *kd)
 
static void _PrintTree (vtkKdNode *kd, int depth)
 

Protected Attributes

vtkKdNodeTop
 
int NumberOfCuts
 
intDim
 
doubleCoord
 
intLower
 
intUpper
 
doubleLowerDataCoord
 
doubleUpperDataCoord
 
intNpoints
 
double Bounds [6]
 
- Protected Attributes inherited from vtkDataObject
vtkFieldDataFieldData
 
int DataReleased
 
vtkTimeStamp UpdateTime
 
vtkInformationInformation
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

This class represents an axis-aligned Binary Spatial Partitioning of a 3D space.

This class converts between the vtkKdTree representation of a tree of vtkKdNodes (used by vtkDistributedDataFilter) and a compact array representation that might be provided by a graph partitioning library like Zoltan. Such a representation could be used in message passing.

See also
vtkKdTree vtkKdNode vtkDistributedDataFilter

Definition at line 44 of file vtkBSPCuts.h.

Member Typedef Documentation

Definition at line 48 of file vtkBSPCuts.h.

Constructor & Destructor Documentation

vtkBSPCuts::vtkBSPCuts ( )
protected
vtkBSPCuts::~vtkBSPCuts ( )
overrideprotected
vtkBSPCuts::vtkBSPCuts ( const vtkBSPCuts )
protected

Member Function Documentation

static vtkBSPCuts* vtkBSPCuts::New ( )
static
static int vtkBSPCuts::IsTypeOf ( const char *  type)
static
virtual int vtkBSPCuts::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 vtkDataObject.

static vtkBSPCuts* vtkBSPCuts::SafeDownCast ( vtkObjectBase o)
static
virtual vtkObjectBase* vtkBSPCuts::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkDataObject.

vtkBSPCuts* vtkBSPCuts::NewInstance ( ) const
void vtkBSPCuts::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 vtkObject.

void vtkBSPCuts::CreateCuts ( double bounds,
int  ncuts,
int dim,
double coord,
int lower,
int upper,
double lowerDataCoord,
double upperDataCoord,
int npoints 
)

Initialize the cuts with arrays of information.

This type of information would be obtained from a graph partitioning software package like Zoltan.

bounds - the bounds (xmin, xmax, ymin, ymax, zmin, zmax) of the space being partitioned ncuts - the number cuts, also the size of the following arrays dim - the dimension along which the cut is made (x/y/z - 0/1/2) coord - the location of the cut along the axis lower - array index for the lower region bounded by the cut upper - array index for the upper region bounded by the cut lowerDataCoord - optional upper bound of the data in the lower region upperDataCoord - optional lower bound of the data in the upper region npoints - optional number of points in the spatial region

void vtkBSPCuts::CreateCuts ( vtkKdNode kd)

Initialize the cuts from a tree of vtkKdNode's.

vtkKdNode* vtkBSPCuts::GetKdNodeTree ( )
inline

Return a tree of vtkKdNode's representing the cuts specified in this object.

This is our copy, don't delete it.

Definition at line 85 of file vtkBSPCuts.h.

virtual int vtkBSPCuts::GetNumberOfCuts ( )
virtual

Get the number of cuts in the partitioning, which also the size of the arrays in the array representation of the partitioning.

int vtkBSPCuts::GetArrays ( int  len,
int dim,
double coord,
int lower,
int upper,
double lowerDataCoord,
double upperDataCoord,
int npoints 
)

Get the arrays representing the cuts in the partitioning.

int vtkBSPCuts::Equals ( vtkBSPCuts other,
double  tolerance = 0.0 
)

Compare these cuts with those of the other tree.

Returns true if the two trees are the same.

void vtkBSPCuts::PrintTree ( )
void vtkBSPCuts::PrintArrays ( )
static vtkBSPCuts* vtkBSPCuts::GetData ( vtkInformation info)
static

Retrieve an instance of this class from an information object.

static vtkBSPCuts* vtkBSPCuts::GetData ( vtkInformationVector v,
int  i = 0 
)
static

Retrieve an instance of this class from an information object.

void vtkBSPCuts::Initialize ( )
overridevirtual

Restore data object to initial state,.

Reimplemented from vtkDataObject.

void vtkBSPCuts::ShallowCopy ( vtkDataObject src)
overridevirtual

Shallow copy.

These copy the data, but not any of the pipeline connections.

Reimplemented from vtkDataObject.

void vtkBSPCuts::DeepCopy ( vtkDataObject src)
overridevirtual

Shallow copy.

These copy the data, but not any of the pipeline connections.

Reimplemented from vtkDataObject.

static void vtkBSPCuts::DeleteAllDescendants ( vtkKdNode kd)
staticprotected
static int vtkBSPCuts::CountNodes ( vtkKdNode kd)
staticprotected
static void vtkBSPCuts::SetMinMaxId ( vtkKdNode kd)
staticprotected
static void vtkBSPCuts::_PrintTree ( vtkKdNode kd,
int  depth 
)
staticprotected
void vtkBSPCuts::BuildTree ( vtkKdNode kd,
int  idx 
)
protected
int vtkBSPCuts::WriteArray ( vtkKdNode kd,
int  loc 
)
protected
void vtkBSPCuts::ResetArrays ( )
protected
void vtkBSPCuts::AllocateArrays ( int  size)
protected
void vtkBSPCuts::operator= ( const vtkBSPCuts )
protected

Member Data Documentation

vtkKdNode* vtkBSPCuts::Top
protected

Definition at line 149 of file vtkBSPCuts.h.

int vtkBSPCuts::NumberOfCuts
protected

Definition at line 153 of file vtkBSPCuts.h.

int* vtkBSPCuts::Dim
protected

Definition at line 154 of file vtkBSPCuts.h.

double* vtkBSPCuts::Coord
protected

Definition at line 155 of file vtkBSPCuts.h.

int* vtkBSPCuts::Lower
protected

Definition at line 156 of file vtkBSPCuts.h.

int* vtkBSPCuts::Upper
protected

Definition at line 157 of file vtkBSPCuts.h.

double* vtkBSPCuts::LowerDataCoord
protected

Definition at line 161 of file vtkBSPCuts.h.

double* vtkBSPCuts::UpperDataCoord
protected

Definition at line 162 of file vtkBSPCuts.h.

int* vtkBSPCuts::Npoints
protected

Definition at line 163 of file vtkBSPCuts.h.

double vtkBSPCuts::Bounds[6]
protected

Definition at line 165 of file vtkBSPCuts.h.


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