VTK
vtkKMeansDistanceFunctor.h
Go to the documentation of this file.
1 #ifndef __vtkKMeansDistanceFunctor_h
2 #define __vtkKMeansDistanceFunctor_h
3 
15 #include "vtkObject.h"
16 
17 class vtkVariantArray;
18 class vtkAbstractArray;
19 class vtkTable;
20 
22 {
23 public:
24  static vtkKMeansDistanceFunctor* New();
26  virtual void PrintSelf( ostream& os, vtkIndent indent );
27 
30  virtual vtkVariantArray* GetEmptyTuple( vtkIdType dimension );
31 
34  virtual void operator() ( double&, vtkVariantArray*, vtkVariantArray * );
35 
41  virtual void PairwiseUpdate( vtkTable* clusterCenters, vtkIdType row, vtkVariantArray* data, vtkIdType dataCardinality, vtkIdType totalCardinality );
42 
49  virtual void PerturbElement( vtkTable*, vtkTable*, vtkIdType, vtkIdType, vtkIdType, double );
50 
54  virtual void* AllocateElementArray( vtkIdType size );
55 
57  virtual void DeallocateElementArray( void* );
58 
62  virtual vtkAbstractArray* CreateCoordinateArray();
63 
67  virtual void PackElements( vtkTable* curTable, void* vElements );
68 
70 
73  virtual void UnPackElements( vtkTable* curTable, vtkTable* newTable, void* vLocalElements, void* vGlobalElements, int np );
74  virtual void UnPackElements( vtkTable* curTable, void* vLocalElements, vtkIdType numRows, vtkIdType numCols );
76 
78  virtual int GetDataType();
79 
80 protected:
82  virtual ~vtkKMeansDistanceFunctor();
83 
84  vtkVariantArray* EmptyTuple; // Used to quickly initialize Tuple for each datum
85  vtkTable* CenterUpdates; // Used to hold online computation of next iteration's cluster center coords.
86 
87 private:
88  vtkKMeansDistanceFunctor( const vtkKMeansDistanceFunctor& ); // Not implemented.
89  void operator = ( const vtkKMeansDistanceFunctor& ); // Not implemented.
90 };
91 
92 #endif // __vtkKMeansDistanceFunctor_h
abstract base class for most VTK objects
Definition: vtkObject.h:60
An array holding vtkVariants.
Abstract superclass for all arrays.
int vtkIdType
Definition: vtkType.h:255
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
Definition: vtkIndent.h:37
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:66
#define VTK_INFOVIS_EXPORT
static vtkObject * New()
measure distance from k-means cluster centers