Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef VISU_GaussMergeFilter_H
00027 #define VISU_GaussMergeFilter_H
00028
00029 #include "VISU_Convertor.hxx"
00030
00031
00032 #include <vtkPointSetAlgorithm.h>
00033
00034 namespace VISU
00035 {
00036 class TFieldList;
00037 }
00038
00039
00040
00041 class VISU_CONVERTOR_EXPORT VISU_GaussMergeFilter : public vtkPointSetAlgorithm
00042 {
00043 public:
00044 static VISU_GaussMergeFilter *New();
00045 vtkTypeMacro(VISU_GaussMergeFilter, vtkPointSetAlgorithm);
00046
00047
00048
00049 void SetGeometry(vtkDataSet *input);
00050 vtkDataSet *GetGeometry();
00051
00052
00053
00054 void SetScalars(vtkDataSet *);
00055 vtkDataSet *GetScalars();
00056
00057
00058
00059 void SetVectors(vtkDataSet *);
00060 vtkDataSet *GetVectors();
00061
00062
00063
00064 void SetNormals(vtkDataSet *);
00065 vtkDataSet *GetNormals();
00066
00067
00068
00069
00070 void SetTCoords(vtkDataSet *);
00071 vtkDataSet *GetTCoords();
00072
00073
00074
00075 void SetTensors(vtkDataSet *);
00076 vtkDataSet *GetTensors();
00077
00078
00079
00080
00081 void AddField(const char* name, vtkDataSet* input);
00082
00083
00084
00085 void RemoveFields();
00086
00087
00088
00089
00090 void
00091 SetMergingInputs(bool theIsMergingInputs);
00092
00093 bool
00094 IsMergingInputs();
00095
00096 void
00097 SetGaussPtsIDMapper(const VISU::PGaussPtsIDMapper& theGaussPtsIDMapper);
00098
00099 const VISU::PGaussPtsIDMapper&
00100 GetGaussPtsIDMapper();
00101
00102 protected:
00103 VISU_GaussMergeFilter();
00104 ~VISU_GaussMergeFilter();
00105
00106 virtual
00107 int
00108 RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00109
00110 int
00111 RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00112
00113 int
00114 FillInputPortInformation(int port, vtkInformation *info);
00115
00116 int
00117 FillOutputPortInformation(int port, vtkInformation *info);
00118
00119 VISU::TFieldList* FieldList;
00120 bool myIsMergingInputs;
00121
00122 VISU::PGaussPtsIDMapper myGaussPtsIDMapper;
00123
00124 bool
00125 ExecuteGauss(vtkUnstructuredGrid* theInput,
00126 vtkPolyData* theOutput);
00127
00128 private:
00129 VISU_GaussMergeFilter(const VISU_GaussMergeFilter&);
00130 void operator=(const VISU_GaussMergeFilter&);
00131 };
00132
00133 #endif
00134
00135