ITK
4.2.0
Insight Segmentation and Registration Toolkit
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ITK
Modules
Core
QuadEdgeMesh
include
itkQuadEdgeMeshTraits.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright Insight Software Consortium
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef __itkQuadEdgeMeshTraits_h
19
#define __itkQuadEdgeMeshTraits_h
20
21
#include <set>
22
#include "
itkCellInterface.h
"
23
#include "
itkQuadEdgeCellTraitsInfo.h
"
24
25
namespace
itk
26
{
42
template
<
typename
TPixel,
unsigned
int
VPointDimension,
43
typename
TPData,
typename
TDData,
44
typename
TCoordRep = float,
typename
TInterpolationWeight =
float
>
45
class
QuadEdgeMeshTraits
46
{
47
public
:
49
typedef
QuadEdgeMeshTraits
Self
;
50
typedef
TPixel
PixelType
;
51
typedef
TPixel
CellPixelType
;
52
typedef
TCoordRep
CoordRepType
;
53
typedef
TInterpolationWeight
InterpolationWeightType
;
54
55
itkStaticConstMacro(
PointDimension
,
unsigned
int
, VPointDimension);
56
itkStaticConstMacro(
MaxTopologicalDimension
,
unsigned
int
,
57
VPointDimension);
58
59
typedef ::itk::IdentifierType
PointIdentifier
;
60
typedef ::itk::IdentifierType
CellIdentifier
;
61
62
typedef
unsigned
char
CellFeatureIdentifier
;
// made small in purpose
63
64
typedef
std::set< CellIdentifier >
UsingCellsContainer
;
65
typedef
std::set< CellIdentifier >
PointCellLinksContainer
;
66
68
typedef
TPData
PrimalDataType
;
69
typedef
TDData
DualDataType
;
70
typedef
GeometricalQuadEdge
<
PointIdentifier
,
CellIdentifier
,
71
PrimalDataType
,
DualDataType
>
QEPrimal
;
72
//typedef QEPrimal QEType;
73
typedef
typename
QEPrimal::DualType
QEDual
;
74
// FOR LEO typedef typename QEPrimal::Superclass QEType;
75
// FOR LEO typedef typename QEPrimal::Dual QEDual;
76
typedef
typename
QEPrimal::OriginRefType
VertexRefType
;
77
typedef
typename
QEPrimal::DualOriginRefType
FaceRefType
;
78
81
typedef
Point< CoordRepType, VPointDimension >
PointHashType
;
82
84
typedef
QuadEdgeMeshPoint< CoordRepType, VPointDimension, QEPrimal >
PointType
;
85
typedef
MapContainer< PointIdentifier, PointType >
PointsContainer
;
86
88
typedef
QuadEdgeMeshCellTraitsInfo<
89
VPointDimension,
CoordRepType
,
90
InterpolationWeightType
,
PointIdentifier
,
91
CellIdentifier
,
CellFeatureIdentifier
,
92
PointType
,
PointsContainer
,
93
UsingCellsContainer
,
QEPrimal
>
CellTraits
;
94
95
typedef
CellInterface< CellPixelType, CellTraits >
CellType
;
96
typedef
typename
CellType::CellAutoPointer
CellAutoPointer
;
97
99
typedef
MapContainer
<
PointIdentifier
,
100
PointCellLinksContainer
>
CellLinksContainer
;
101
typedef
MapContainer< CellIdentifier, CellType * >
CellsContainer
;
102
typedef
MapContainer< PointIdentifier, PixelType >
PointDataContainer
;
103
typedef
MapContainer< CellIdentifier, CellPixelType >
CellDataContainer
;
104
106
typedef
typename
PointType::VectorType
VectorType
;
107
};
108
}
109
110
#endif
111
Generated on Tue Jul 10 2012 23:40:42 for ITK by
1.8.1