17 #ifndef vtkDaxContourImpl_h
18 #define vtkDaxContourImpl_h
21 #include "vtkDaxConfig.h"
47 #include "vtkToDax/CellTypeToType.h"
48 #include "vtkToDax/Containers.h"
49 #include "vtkToDax/Contour.h"
50 #include "vtkToDax/DataSetTypeToType.h"
51 #include "vtkToDax/FieldTypeToType.h"
52 #include "vtkToDax/Portals.h"
68 bool computeScalars) :
72 ComputeScalars(computeScalars),
75 template<
typename LHS>
80 if (arrayField.GetNumberOfComponents() == 1)
84 typedef typename vtkToDax::FieldTypeToType<LHS,1>::DaxValueType VT1;
85 return dispatchOnFieldType<LHS,VT1>(arrayField);
90 template<
typename VTKArrayType,
typename DaxValueType>
93 typedef vtkToDax::vtkArrayContainerTag<VTKArrayType> FieldTag;
94 typedef dax::cont::ArrayHandle<DaxValueType,FieldTag> FieldHandle;
96 typedef typename dax::cont::ArrayHandle
97 <DaxValueType, FieldTag>::PortalConstControl PortalType;
99 FieldHandle
field = FieldHandle( PortalType(&vtkField,
100 vtkField.GetNumberOfTuples() ) );
101 vtkToDax::Contour<FieldHandle> contour(field,
102 DaxValueType(this->IsoValue),
103 this->ComputeScalars);
104 contour.setFieldName(vtkField.GetName());
105 contour.setOutputGrid(this->Result);
115 int validMC = dataDispatcher.
Go(this->Input,this->Cell);
136 isoValue, computeScalars);
143 return fieldDispatcher.
Go(field);
ReturnType Go(BaseLhs *lhs, BaseRhs *rhs)
abstract class to specify dataset behavior
dynamic, self-adjusting array of float
concrete dataset represents vertices, lines, polygons, and triangle strips
dynamic, self-adjusting array of double
a 3D cell that represents a tetrahedron
abstract class to specify cell behavior
Dispatch to functor based on two pointer types.
a cell that represents a 3D orthogonal parallelepiped
topologically and geometrically regular array of data
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
a cell that represents a linear 3D hexahedron
Dispatch to functor based on a pointer type.
CellTypeInDataSet cellType(vtkDataSet *input)
ReturnType Go(BaseLhs *lhs)
int Contour(vtkDataSet *input, vtkPolyData *output, vtkDataArray *field, float isoValue, bool computeScalars)