19 #ifndef itkFEMElementStd_h
20 #define itkFEMElementStd_h
55 template<
unsigned int VNumberOfNodes,
unsigned int VNumberOfSpatialDimensions,
typename TBaseClass = Element >
73 typedef typename Superclass::Float
Float;
76 typedef typename Superclass::LoadType
LoadType;
80 typedef typename Superclass::Node
Node;
81 enum { InvalidDegreeOfFreedomID = Superclass::InvalidDegreeOfFreedomID };
84 enum { NumberOfNodes = VNumberOfNodes };
87 enum { NumberOfSpatialDimensions = VNumberOfSpatialDimensions };
101 if( n >= NumberOfNodes )
105 return this->m_node[n];
111 this->SetNodeInternal(n,node);
115 this->SetNodeInternal(n,node);
121 return m_node[n]->GetCoordinates();
127 return NumberOfSpatialDimensions;
133 virtual void PrintSelf(std::ostream& os,
Indent indent)
const ITK_OVERRIDE;
137 if( n >= NumberOfNodes )
141 this->m_node[n] = node;
145 const Node *m_node[NumberOfNodes];
151 #ifndef ITK_MANUAL_INSTANTIATION
152 #include "itkFEMElementStd.hxx"
155 #endif // #ifndef itkFEMElementStd_h
virtual void SetNodeInternal(unsigned int n, const Node *node)
Superclass::DegreeOfFreedomIDType DegreeOfFreedomIDType
virtual unsigned int GetNumberOfNodes(void) const override
Superclass::LoadPointer LoadPointer
virtual const VectorType & GetNodeCoordinates(unsigned int n) const override
Implements standard node management in the element classes.
ImageBaseType::SpacingType VectorType
SmartPointer< const Self > ConstPointer
virtual NodeIDType GetNode(unsigned int n) const override
vnl_vector< Float > VectorType
virtual unsigned int GetNumberOfSpatialDimensions() const override
virtual void SetNode(unsigned int n, typename Superclass::Node::Pointer node) override
SmartPointer< Self > Pointer
Superclass::VectorType VectorType
Superclass::NodeIDType NodeIDType
Control indentation during Print() invocation.
virtual void SetNode(unsigned int n, NodeIDType node) override
Superclass::LoadType LoadType
Superclass::MatrixType MatrixType