1 #ifndef __CPEXTENSIONS__VISUALIZATION__MESHMAPPER__H__
2 #define __CPEXTENSIONS__VISUALIZATION__MESHMAPPER__H__
4 #include <itkConceptChecking.h>
11 namespace cpExtensions
13 namespace Visualization
22 typedef MeshMapper Self;
23 vtkTypeMacro( MeshMapper, vtkMapper );
26 typedef typename M::PointType TPoint;
27 typedef typename TPoint::VectorType TVector;
28 typedef typename TPoint::CoordRepType TScalar;
29 itkStaticConstMacro( Dimension, unsigned int, M::PointDimension );
31 // Begin concept checking
32 #ifdef ITK_USE_CONCEPT_CHECKING
35 InputMeshIsTwoOrThreeimensionalCheck,
36 ( itk::Concept::SameDimensionOrMinusOne< Self::Dimension, 3 > )
39 ScalarTypeHasFloatResolution,
40 ( itk::Concept::IsFloatingPoint< TScalar > )
44 // End concept checking
47 // TODO: static Self* New( );
48 virtual void ShallowCopy( vtkAbstractMapper* m );
50 virtual void SetInputData( M* in );
51 virtual M* GetInput( );
52 virtual const M* GetInput( ) const;
54 virtual double* GetBounds( );
55 virtual void GetBounds( double bounds[ 6 ] );
57 virtual void RenderPiece( vtkRenderer* aren, vtkActor* act ) = 0;
58 virtual void Render( vtkRenderer* aren, vtkActor* act );
59 virtual void Update( );
60 virtual void Update( int port );
62 virtual void MapDataArrayToVertexAttribute(
63 const char* vertexAttributeName,
64 const char* dataArrayName,
68 virtual void MapDataArrayToMultiTextureAttribute(
70 const char* dataArrayName,
74 virtual void RemoveVertexAttributeMapping(
75 const char* vertexAttributeName
77 virtual void RemoveAllVertexAttributeMappings( );
81 virtual ~MeshMapper( );
83 virtual void ComputeBounds( );
84 virtual int FillInputPortInformation( int port, vtkInformation* info );
87 // These methods aren't supposed to be implemented
88 MeshMapper( const Self& other );
89 Self& operator=( const Self& other );
92 typename M::Pointer Mesh;
99 #ifndef ITK_MANUAL_INSTANTIATION
100 #include <cpExtensions/Visualization/MeshMapper.hxx>
101 #endif // ITK_MANUAL_INSTANTIATION
103 #endif // __CPEXTENSIONS__VISUALIZATION__MESHMAPPER__H__