VTK
vtkKMeansDistanceFunctor.h
Go to the documentation of this file.
1 #ifndef vtkKMeansDistanceFunctor_h
2 #define vtkKMeansDistanceFunctor_h
3 
15 #include "vtkFiltersStatisticsModule.h" // For export macro
16 #include "vtkObject.h"
17 
18 class vtkVariantArray;
19 class vtkAbstractArray;
20 class vtkTable;
21 
23 {
24 public:
27  virtual void PrintSelf( ostream& os, vtkIndent indent );
28 
31  virtual vtkVariantArray* GetEmptyTuple( vtkIdType dimension );
32 
35  virtual void operator() ( double&, vtkVariantArray*, vtkVariantArray * );
36 
42  virtual void PairwiseUpdate( vtkTable* clusterCenters, vtkIdType row, vtkVariantArray* data, vtkIdType dataCardinality, vtkIdType totalCardinality );
43 
51 
56 
58  virtual void DeallocateElementArray( void* );
59 
64 
68  virtual void PackElements( vtkTable* curTable, void* vElements );
69 
71 
74  virtual void UnPackElements( vtkTable* curTable, vtkTable* newTable, void* vLocalElements, void* vGlobalElements, int np );
75  virtual void UnPackElements( vtkTable* curTable, void* vLocalElements, vtkIdType numRows, vtkIdType numCols );
77 
79  virtual int GetDataType();
80 
81 protected:
84 
85  vtkVariantArray* EmptyTuple; // Used to quickly initialize Tuple for each datum
86  vtkTable* CenterUpdates; // Used to hold online computation of next iteration's cluster center coords.
87 
88 private:
89  vtkKMeansDistanceFunctor( const vtkKMeansDistanceFunctor& ); // Not implemented.
90  void operator = ( const vtkKMeansDistanceFunctor& ); // Not implemented.
91 };
92 
93 #endif // vtkKMeansDistanceFunctor_h
vtkgl::data
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: vtkgl.h:11339
vtkKMeansDistanceFunctor::CenterUpdates
vtkTable * CenterUpdates
Definition: vtkKMeansDistanceFunctor.h:86
vtkKMeansDistanceFunctor::~vtkKMeansDistanceFunctor
virtual ~vtkKMeansDistanceFunctor()
vtkFiltersStatisticsModule.h
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkTable
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:68
vtkKMeansDistanceFunctor
measure distance from k-means cluster centers
Definition: vtkKMeansDistanceFunctor.h:23
vtkKMeansDistanceFunctor::GetEmptyTuple
virtual vtkVariantArray * GetEmptyTuple(vtkIdType dimension)
vtkKMeansDistanceFunctor::EmptyTuple
vtkVariantArray * EmptyTuple
Definition: vtkKMeansDistanceFunctor.h:85
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkKMeansDistanceFunctor::GetDataType
virtual int GetDataType()
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkVariantArray
An array holding vtkVariants.
Definition: vtkVariantArray.h:48
vtkKMeansDistanceFunctor::CreateCoordinateArray
virtual vtkAbstractArray * CreateCoordinateArray()
vtkKMeansDistanceFunctor::PackElements
virtual void PackElements(vtkTable *curTable, void *vElements)
vtkKMeansDistanceFunctor::UnPackElements
virtual void UnPackElements(vtkTable *curTable, vtkTable *newTable, void *vLocalElements, void *vGlobalElements, int np)
vtkKMeansDistanceFunctor::PrintSelf
virtual void PrintSelf(ostream &os, vtkIndent indent)
vtkKMeansDistanceFunctor::vtkKMeansDistanceFunctor
vtkKMeansDistanceFunctor()
vtkgl::row
GLenum GLenum GLvoid * row
Definition: vtkgl.h:11352
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
VTKFILTERSSTATISTICS_EXPORT
#define VTKFILTERSSTATISTICS_EXPORT
Definition: vtkFiltersStatisticsModule.h:15
vtkKMeansDistanceFunctor::PairwiseUpdate
virtual void PairwiseUpdate(vtkTable *clusterCenters, vtkIdType row, vtkVariantArray *data, vtkIdType dataCardinality, vtkIdType totalCardinality)
vtkObject.h
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:65
vtkKMeansDistanceFunctor::PerturbElement
virtual void PerturbElement(vtkTable *, vtkTable *, vtkIdType, vtkIdType, vtkIdType, double)
vtkKMeansDistanceFunctor::DeallocateElementArray
virtual void DeallocateElementArray(void *)
vtkKMeansDistanceFunctor::AllocateElementArray
virtual void * AllocateElementArray(vtkIdType size)
vtkKMeansDistanceFunctor::New
static vtkKMeansDistanceFunctor * New()
vtkKMeansDistanceFunctor::UnPackElements
virtual void UnPackElements(vtkTable *curTable, void *vLocalElements, vtkIdType numRows, vtkIdType numCols)
vtkgl::size
GLsizeiptr size
Definition: vtkgl.h:11843