Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkQuadEdgeMeshToQuadEdgeMeshFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Insight Segmentation & Registration Toolkit
00004   Module:    $RCSfile: itkQuadEdgeMeshToQuadEdgeMeshFilter.h,v $
00005   Language:  C++
00006   Date:      $Date: 2009-07-13 23:02:40 $
00007   Version:   $Revision: 1.10 $
00008 
00009   Copyright (c) Insight Software Consortium. All rights reserved.
00010   See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
00011 
00012      This software is distributed WITHOUT ANY WARRANTY; without even
00013      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00014      PURPOSE.  See the above copyright notices for more information.
00015 
00016 =========================================================================*/
00017 
00018 #ifndef __itkQuadEdgeMeshToQuadEdgeMeshFilter_h
00019 #define __itkQuadEdgeMeshToQuadEdgeMeshFilter_h
00020 
00021 #include "itkMeshToMeshFilter.h"
00022 
00023 namespace itk
00024 {
00034 template< typename TInputMesh, typename TOutputMesh >
00035 class QuadEdgeMeshToQuadEdgeMeshFilter
00036   : public MeshToMeshFilter< TInputMesh, TOutputMesh >
00037 {
00038 public:
00040   typedef QuadEdgeMeshToQuadEdgeMeshFilter            Self;
00041   typedef MeshToMeshFilter< TInputMesh, TOutputMesh > Superclass;
00042   typedef SmartPointer< Self >                        Pointer;
00043   typedef SmartPointer< const Self >                  ConstPointer;
00044 
00046   typedef TInputMesh                              InputMeshType;
00047   typedef typename InputMeshType::Pointer         InputMeshPointer;
00048   typedef typename InputMeshType::ConstPointer    InputMeshConstPointer;
00049   typedef typename InputMeshType::CoordRepType    InputCoordRepType;
00050   typedef typename InputMeshType::PointType       InputPointType;
00051   typedef typename InputMeshType::PointIdentifier InputPointIdentifier;
00052   typedef typename InputMeshType::QEPrimal        InputQEPrimal;
00053   typedef typename InputMeshType::VectorType      InputVectorType;
00054 
00055   typedef typename InputMeshType::PointDataContainer   InputPointDataContainer;
00056   typedef typename InputMeshType::CellDataContainer    InputCellDataContainer;
00057 
00058   typedef typename InputPointDataContainer::ConstPointer 
00059     InputPointDataContainerConstPointer; 
00060   typedef typename InputMeshType::PointsContainerConstIterator
00061     InputPointsContainerConstIterator;
00062   typedef typename InputMeshType::PointsContainerConstPointer
00063     InputPointsContainerConstPointer;
00064   typedef typename InputMeshType::CellsContainerConstIterator
00065     InputCellsContainerConstIterator;
00066   typedef typename InputMeshType::CellsContainerConstPointer
00067     InputCellsContainerConstPointer; 
00068 
00069   typedef typename InputMeshType::EdgeCellType    InputEdgeCellType;
00070   typedef typename InputMeshType::PolygonCellType InputPolygonCellType;
00071   typedef typename InputMeshType::PointIdList     InputPointIdList;
00072   typedef typename InputMeshType::CellTraits      InputCellTraits;
00073   typedef typename InputCellTraits::PointIdInternalIterator
00074                                                   InputPointsIdInternalIterator;
00075 
00076   typedef typename InputQEPrimal::IteratorGeom    InputQEIterator;
00077 
00079   typedef TOutputMesh                               OutputMeshType;
00080   typedef typename OutputMeshType::Pointer          OutputMeshPointer;
00081   typedef typename OutputMeshType::ConstPointer     OutputMeshConstPointer;
00082   typedef typename OutputMeshType::CoordRepType     OutputCoordRepType;
00083   typedef typename OutputMeshType::PointType        OutputPointType;
00084   typedef typename OutputMeshType::PointIdentifier  OutputPointIdentifier;
00085   typedef typename OutputMeshType::QEPrimal         OutputQEPrimal;
00086   typedef typename OutputMeshType::VectorType       OutputVectorType;
00087   typedef typename OutputQEPrimal::IteratorGeom     OutputQEIterator;
00088   typedef typename OutputMeshType::PointsContainerIterator
00089       OutputPointsContainerIterator;
00090   typedef typename OutputMeshType::PointsContainerPointer
00091       OutputPointsContainerPointer;
00092   typedef typename OutputMeshType::PointsContainerConstPointer
00093       OutputPointsContainerConstPointer;
00094 
00095   typedef typename OutputMeshType::PointDataContainer  OutputPointDataContainer;
00096   typedef typename OutputMeshType::CellDataContainer   OutputCellDataContainer;
00097 
00098 public:
00099   itkNewMacro( Self );
00100   itkTypeMacro( QuadEdgeMeshToQuadEdgeMeshFilter, MeshToMeshFilter );
00101 
00102 protected:
00103   QuadEdgeMeshToQuadEdgeMeshFilter();
00104   virtual ~QuadEdgeMeshToQuadEdgeMeshFilter() { }
00105 
00106   virtual void CopyInputMeshToOutputMesh();
00107   virtual void CopyInputMeshToOutputMeshGeometry();
00108   virtual void CopyInputMeshToOutputMeshPoints();
00109   virtual void CopyInputMeshToOutputMeshCells();
00110   virtual void CopyInputMeshToOutputMeshEdgeCells();
00111   virtual void CopyInputMeshToOutputMeshFieldData();
00112   virtual void CopyInputMeshToOutputMeshPointData();
00113   virtual void CopyInputMeshToOutputMeshCellData(); 
00114 
00115 private:
00116   QuadEdgeMeshToQuadEdgeMeshFilter( const Self& ); // Not impl.
00117   void operator=( const Self& );  // Not impl.
00118 };
00119 
00120 } // end namespace itk
00121 
00122 #ifndef ITK_MANUAL_INSTANTIATION
00123 #include "itkQuadEdgeMeshToQuadEdgeMeshFilter.txx"
00124 #endif
00125 
00126 #endif
00127 

Generated at Tue Sep 15 04:29:43 2009 for ITK by doxygen 1.5.8 written by Dimitri van Heesch, © 1997-2000