18#ifndef itkQuadEdgeMeshLineCell_h
19#define itkQuadEdgeMeshLineCell_h
40template <
typename TCellInterface>
42 :
public TCellInterface
43 ,
public TCellInterface::CellTraits::QuadEdgeType
58 using typename Superclass::PixelType;
59 using CellType =
typename Superclass::CellType;
60 using typename Superclass::CellAutoPointer;
61 using typename Superclass::CellConstAutoPointer;
62 using typename Superclass::CellRawPointer;
63 using typename Superclass::CellConstRawPointer;
65 using typename Superclass::CoordinateType;
66 using typename Superclass::InterpolationWeightType;
67 using typename Superclass::PointIdentifier;
68 using typename Superclass::CellIdentifier;
69 using typename Superclass::CellFeatureIdentifier;
71 using typename Superclass::PointType;
72 using typename Superclass::PointsContainer;
73 using typename Superclass::UsingCellsContainer;
74 using typename Superclass::ParametricCoordArrayType;
75 using typename Superclass::ShapeFunctionsArrayType;
89 using QEType =
typename CellTraits::QuadEdgeType;
94 using QEDual =
typename QEType::DualType;
131 return CellGeometryEnum::LINE_CELL;
150 cell.TakeOwnership(
new Self);
151 cell->SetPointId(0, this->
GetQEGeom()->GetOrigin());
152 cell->SetPointId(1, this->
GetQEGeom()->GetDestination());
246#ifndef ITK_MANUAL_INSTANTIATION
247# include "itkQuadEdgeMeshLineCell.hxx"
Implements an Automatic Pointer to an object.
void SetPointIds(PointIdConstIterator first, PointIdConstIterator last) override
typename CellTraits::PointIdIterator PointIdIterator
void SetPointIds(PointIdConstIterator first) override
unsigned int GetNumberOfPoints() const override
void MakeCopy(CellAutoPointer &cell) const override
void SynchronizePointsAPI() const
static constexpr CellGeometryEnum GetTopologyId()
typename Superclass::CellTraits CellTraits
const Self * ConstRawPointer
typename CellTraits::PointIdInternalIterator PointIdInternalIterator
typename QEType::DualType QEDual
typename QEType::DualDataType DualDataType
PointIdIterator PointIdsBegin() override
CellGeometryEnum GetType() const override
PointIdIterator PointIdsEnd() override
AutoPointer< const Self > ConstSelfAutoPointer
unsigned int GetDimension() const override
AutoPointer< Self > SelfAutoPointer
virtual PointIdInternalConstIterator InternalPointIdsEnd() const
static constexpr unsigned int CellDimension
static constexpr unsigned int PointDimension
QuadEdgeMeshLineCell Self
typename CellTraits::QuadEdgeType QEType
typename Superclass::CellType CellType
PointIdConstIterator PointIdsEnd() const override
PointIdentifier m_PointIds[2]
virtual PointIdInternalIterator InternalPointIdsEnd()
void SetPointId(int localId, PointIdentifier pId) override
virtual void InternalSetPointIds(PointIdInternalConstIterator first)
typename Superclass::CellFeatureIdentifier CellFeatureCount
CellIdentifier m_Identifier
PointIdConstIterator PointIdsBegin() const override
virtual PointIdInternalIterator InternalPointIdsBegin()
CellFeatureCount GetNumberOfBoundaryFeatures(int dimension) const override
typename QEType::PrimalDataType PrimalDataType
QEType * GetQEGeom() const
CellIdentifier GetIdent()
typename CellTraits::PointIdConstIterator PointIdConstIterator
bool GetBoundaryFeature(int dimension, CellFeatureIdentifier cellId, CellAutoPointer &cell) override
virtual PointIdInternalConstIterator InternalGetPointIds() const
typename QEType::DualOriginRefType FaceRefType
typename CellType::MultiVisitor MultiVisitor
virtual void InternalSetPointIds(PointIdInternalConstIterator first, PointIdInternalConstIterator last)
PointIdConstIterator GetPointIds() const override
typename QEType::OriginRefType VertexRefType
void SetIdent(CellIdentifier cid)
typename CellTraits::PointIdInternalConstIterator PointIdInternalConstIterator
void Accept(CellIdentifier cellId, MultiVisitor *mv) override
virtual PointIdInternalConstIterator InternalPointIdsBegin() const
~QuadEdgeMeshLineCell() override
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
CommonEnums::CellGeometry CellGeometryEnum