VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPContingencyStatistics.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00037 #ifndef __vtkPContingencyStatistics_h 00038 #define __vtkPContingencyStatistics_h 00039 00040 #include "vtkContingencyStatistics.h" 00041 00042 //BTX 00043 #include <vtkstd/vector> // STL Header 00044 //ETX 00045 00046 class vtkMultiProcessController; 00047 00048 class VTK_INFOVIS_EXPORT vtkPContingencyStatistics : public vtkContingencyStatistics 00049 { 00050 public: 00051 static vtkPContingencyStatistics* New(); 00052 vtkTypeMacro(vtkPContingencyStatistics, vtkContingencyStatistics); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00056 00058 virtual void SetController(vtkMultiProcessController*); 00059 vtkGetObjectMacro(Controller, vtkMultiProcessController); 00061 00063 00064 virtual void Learn( vtkTable* inData, 00065 vtkTable* inParameters, 00066 vtkDataObject* outMeta ); 00068 00069 protected: 00070 vtkPContingencyStatistics(); 00071 ~vtkPContingencyStatistics(); 00072 00073 //BTX 00075 00078 bool Pack( vtkTable* contingencyTab, 00079 vtkStdString& xyPacked, 00080 vtkstd::vector<vtkIdType>& kcValues ); 00082 00084 00085 bool Reduce( vtkIdType& xySizeTotal, 00086 char* xyPacked_g, 00087 vtkStdString& xyPacked_l, 00088 vtkIdType& kcSizeTotal, 00089 vtkIdType* kcValues_g, 00090 vtkstd::vector<vtkIdType>& kcValues_l ); 00092 00094 00095 bool Broadcast( vtkIdType xySizeTotal, 00096 vtkStdString& xyPacked, 00097 vtkstd::vector<vtkStdString>& xyValues, 00098 vtkIdType kcSizeTotal, 00099 vtkstd::vector<vtkIdType>& kcValues, 00100 vtkIdType reduceProc ); 00102 //ETX 00103 00104 vtkMultiProcessController* Controller; 00105 private: 00106 vtkPContingencyStatistics(const vtkPContingencyStatistics&); // Not implemented. 00107 void operator=(const vtkPContingencyStatistics&); // Not implemented. 00108 }; 00109 00110 #endif 00111