00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkDefaultStaticMeshTraits_h
00018 #define __itkDefaultStaticMeshTraits_h
00019
00020 #include "itkCellInterface.h"
00021 #include "itkVectorContainer.h"
00022 #include "itkPoint.h"
00023 #include <set>
00024
00025 namespace itk
00026 {
00027
00053 template <
00054 typename TPixelType,
00055 unsigned int VPointDimension = 3,
00056 unsigned int VMaxTopologicalDimension = VPointDimension,
00057 typename TCoordRep = float,
00058 typename TInterpolationWeight = float,
00059 typename TCellPixelType = TPixelType
00060 >
00061 class DefaultStaticMeshTraits
00062 {
00063 public:
00065 typedef DefaultStaticMeshTraits Self;
00066
00068 typedef TPixelType PixelType;
00069 typedef TCellPixelType CellPixelType;
00070 typedef TCoordRep CoordRepType;
00071 typedef TInterpolationWeight InterpolationWeightType;
00072
00074 itkStaticConstMacro(PointDimension, unsigned int, VPointDimension);
00075 itkStaticConstMacro(MaxTopologicalDimension, unsigned int,
00076 VMaxTopologicalDimension);
00078
00081 typedef unsigned long PointIdentifier;
00082
00085 typedef unsigned long CellIdentifier;
00086
00090 typedef unsigned long CellFeatureIdentifier;
00091
00094 typedef Point< CoordRepType, VPointDimension > PointType;
00095
00098 typedef VectorContainer< PointIdentifier , PointType > PointsContainer;
00099
00102 typedef std::set< CellIdentifier > UsingCellsContainer;
00103
00106 typedef itkMakeCellTraitsMacro CellTraits;
00107
00110 typedef CellInterface< CellPixelType , CellTraits > CellType;
00111 typedef typename CellType::CellRawPointer CellRawPointer;
00112 typedef typename CellType::CellAutoPointer CellAutoPointer;
00113
00116 typedef VectorContainer< CellIdentifier , CellType * >
00117 CellsContainer;
00118
00121 typedef std::set< CellIdentifier > PointCellLinksContainer;
00122
00125 typedef VectorContainer< PointIdentifier , PointCellLinksContainer >
00126 CellLinksContainer;
00127
00130 typedef VectorContainer< PointIdentifier , PixelType >
00131 PointDataContainer;
00132
00135 typedef VectorContainer< CellIdentifier , CellPixelType >
00136 CellDataContainer;
00137
00138 };
00139
00140 }
00141
00142 #endif
00143