1 #ifndef __CPPLUGINS__EXTENSIONS__VISUALIZATION__MESHMAPPER__H__
2 #define __CPPLUGINS__EXTENSIONS__VISUALIZATION__MESHMAPPER__H__
4 #include <itkConceptChecking.h>
15 namespace Visualization
24 typedef MeshMapper Self;
25 vtkTypeMacro( MeshMapper, vtkMapper );
28 typedef typename M::PointType TPoint;
29 typedef typename TPoint::VectorType TVector;
30 typedef typename TPoint::CoordRepType TScalar;
31 itkStaticConstMacro( Dimension, unsigned int, M::PointDimension );
33 // Begin concept checking
34 #ifdef ITK_USE_CONCEPT_CHECKING
37 InputMeshIsTwoOrThreeimensionalCheck,
38 ( itk::Concept::SameDimensionOrMinusOne< Self::Dimension, 3 > )
41 ScalarTypeHasFloatResolution,
42 ( itk::Concept::IsFloatingPoint< TScalar > )
46 // End concept checking
49 // TODO: static Self* New( );
50 virtual void ShallowCopy( vtkAbstractMapper* m );
52 virtual void SetInputData( M* in );
53 virtual M* GetInput( );
54 virtual const M* GetInput( ) const;
56 virtual double* GetBounds( );
57 virtual void GetBounds( double bounds[ 6 ] );
59 virtual void RenderPiece( vtkRenderer* aren, vtkActor* act ) = 0;
60 virtual void Render( vtkRenderer* aren, vtkActor* act );
61 virtual void Update( );
62 virtual void Update( int port );
64 virtual void MapDataArrayToVertexAttribute(
65 const char* vertexAttributeName,
66 const char* dataArrayName,
70 virtual void MapDataArrayToMultiTextureAttribute(
72 const char* dataArrayName,
76 virtual void RemoveVertexAttributeMapping(
77 const char* vertexAttributeName
79 virtual void RemoveAllVertexAttributeMappings( );
83 virtual ~MeshMapper( );
85 virtual void ComputeBounds( );
86 virtual int FillInputPortInformation( int port, vtkInformation* info );
89 // These methods aren't supposed to be implemented
90 MeshMapper( const Self& other );
91 Self& operator=( const Self& other );
94 typename M::Pointer Mesh;
103 #include <cpPlugins/Extensions/Visualization/MeshMapper.hxx>
105 #endif // __CPPLUGINS__EXTENSIONS__VISUALIZATION__MESHMAPPER__H__