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);
00077
00080
typedef unsigned long PointIdentifier;
00081
00084
typedef unsigned long CellIdentifier;
00085
00089
typedef unsigned long CellFeatureIdentifier;
00090
00093
typedef Point< CoordRepType, VPointDimension > PointType;
00094
00097
typedef VectorContainer< PointIdentifier , PointType > PointsContainer;
00098
00101
typedef std::set< CellIdentifier >
UsingCellsContainer;
00102
00105
typedef itkMakeCellTraitsMacro CellTraits;
00106
00109
typedef CellInterface< CellPixelType , CellTraits > CellType;
00110 typedef typename CellType::CellRawPointer
CellRawPointer;
00111 typedef typename CellType::CellAutoPointer
CellAutoPointer;
00112
00115
typedef VectorContainer< CellIdentifier , CellType * >
00116
CellsContainer;
00117
00120
typedef std::set< CellIdentifier >
PointCellLinksContainer;
00121
00124
typedef VectorContainer< PointIdentifier , PointCellLinksContainer >
00125
CellLinksContainer;
00126
00129
typedef VectorContainer< PointIdentifier , PixelType >
00130
PointDataContainer;
00131
00134
typedef VectorContainer< CellIdentifier , CellPixelType >
00135
CellDataContainer;
00136
00137 };
00138
00139 }
00140
00141
#endif