ITK  4.6.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Private Attributes | List of all members
itk::fem::Element::Node Class Reference

#include <itkFEMElementBase.h>

+ Inheritance diagram for itk::fem::Element::Node:
+ Collaboration diagram for itk::fem::Element::Node:

Detailed Description

Class that stores information required to define a node.

A node can define a point in space and can hold an arbitrary number of coordinates and the DOFs. Since the only classes that use nodes are the elements, the node class is defined within an element base class.

Note
Possibly move this class to its own file

Definition at line 147 of file itkFEMElementBase.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Node Self
 
typedef FEMLightObject Superclass
 
- Public Types inherited from itk::fem::FEMLightObject
typedef Self Baseclass
 
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef FEMLightObject Self
 
typedef itk::LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

virtual void ClearDegreesOfFreedom (void) const
 
const VectorTypeGetCoordinates (void) const
 
void SetCoordinates (const VectorType &coords)
 
DegreeOfFreedomIDType GetDegreeOfFreedom (unsigned int i) const
 
void SetDegreeOfFreedom (unsigned int i, DegreeOfFreedomIDType dof) const
 
- Public Member Functions inherited from itk::fem::FEMLightObject
int GetGlobalNumber () const
 
void SetGlobalNumber (int)
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 
virtual void Register () const
 
virtual void SetReferenceCount (int)
 
virtual void UnRegister () const
 

Private Attributes

VectorType m_coordinates
 
std::vector
< DegreeOfFreedomIDType
m_dof
 
typedef double Float
 
typedef FEMPArray< SelfArrayType
 
static Pointer New (void)
 
virtual const char * GetNameOfClass () const
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const ITK_OVERRIDE
 
 Node ()
 
 ~Node ()
 
typedef std::set< Element * > SetOfElements
 
SetOfElements m_elements
 
virtual void PrintSelf (std::ostream &os, Indent indent) const ITK_OVERRIDE
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Protected Types inherited from itk::LightObject
typedef int InternalReferenceCountType
 
- Protected Member Functions inherited from itk::fem::FEMLightObject
 FEMLightObject ()
 
 FEMLightObject (const FEMLightObject &o)
 
virtual ~FEMLightObject ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 
- Protected Attributes inherited from itk::fem::FEMLightObject
int m_GlobalNumber
 
- Protected Attributes inherited from itk::LightObject
InternalReferenceCountType m_ReferenceCount
 
SimpleFastMutexLock m_ReferenceCountLock
 

Member Typedef Documentation

Array class that holds special pointers to the nodes.

Definition at line 201 of file itkFEMElementBase.h.

Definition at line 155 of file itkFEMElementBase.h.

Floating point precision type.

Definition at line 196 of file itkFEMElementBase.h.

Definition at line 154 of file itkFEMElementBase.h.

Standard class typedefs.

Definition at line 152 of file itkFEMElementBase.h.

List of pointers to elements that use this node. External code is responsible for maintaining the list.

Definition at line 273 of file itkFEMElementBase.h.

Definition at line 153 of file itkFEMElementBase.h.

Constructor & Destructor Documentation

itk::fem::Element::Node::Node ( )
inline

Default constructor

Definition at line 206 of file itkFEMElementBase.h.

itk::fem::Element::Node::~Node ( )
inline

Destructor

Definition at line 213 of file itkFEMElementBase.h.

References ClearDegreesOfFreedom(), and m_elements.

Member Function Documentation

virtual void itk::fem::Element::Node::ClearDegreesOfFreedom ( void  ) const
inlinevirtual

Definition at line 263 of file itkFEMElementBase.h.

References m_dof.

Referenced by ~Node().

virtual::itk::LightObject::Pointer itk::fem::Element::Node::CreateAnother ( void  ) const
inlinevirtual

CreateAnother method will clone the existing instance of this type, including its internal member variables.

Reimplemented from itk::LightObject.

Definition at line 177 of file itkFEMElementBase.h.

References itk::fem::FEMLightObject::GetGlobalNumber(), m_coordinates, m_dof, m_elements, and New().

const VectorType& itk::fem::Element::Node::GetCoordinates ( void  ) const
inline

Return a reference to a vector that contains coordinates of this node.

Definition at line 224 of file itkFEMElementBase.h.

References m_coordinates.

DegreeOfFreedomIDType itk::fem::Element::Node::GetDegreeOfFreedom ( unsigned int  i) const
inline

Get DOF IDs associated with this node.

Definition at line 240 of file itkFEMElementBase.h.

References itk::fem::Element::InvalidDegreeOfFreedomID, and m_dof.

virtual const char* itk::fem::Element::Node::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::fem::FEMLightObject.

static Pointer itk::fem::Element::Node::New ( void  )
inlinestatic

Method for creation through the object factory.

Definition at line 159 of file itkFEMElementBase.h.

References itk::ObjectFactory< T >::Create(), itk::SmartPointer< TObjectType >::IsNull(), and itk::SmartPointer< TObjectType >::UnRegister().

Referenced by CreateAnother().

virtual void itk::fem::Element::Node::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
inlineprotectedvirtual

List of pointers to elements that use this node. External code is responsible for maintaining the list.

Reimplemented from itk::fem::FEMLightObject.

Definition at line 276 of file itkFEMElementBase.h.

References itk::fem::FEMLightObject::PrintSelf().

void itk::fem::Element::Node::SetCoordinates ( const VectorType coords)
inline

Set coordinates of a node.

Definition at line 232 of file itkFEMElementBase.h.

References m_coordinates.

void itk::fem::Element::Node::SetDegreeOfFreedom ( unsigned int  i,
DegreeOfFreedomIDType  dof 
) const
inline

Set DOF IDs associated with this node.

Definition at line 253 of file itkFEMElementBase.h.

References itk::fem::Element::InvalidDegreeOfFreedomID, and m_dof.

Member Data Documentation

VectorType itk::fem::Element::Node::m_coordinates
private

Vector object that holds node coordinates.

Definition at line 289 of file itkFEMElementBase.h.

Referenced by CreateAnother(), GetCoordinates(), and SetCoordinates().

std::vector<DegreeOfFreedomIDType> itk::fem::Element::Node::m_dof
mutableprivate

Array that holds IDs of degrees of freedom that are defined at this node.

Definition at line 295 of file itkFEMElementBase.h.

Referenced by ClearDegreesOfFreedom(), CreateAnother(), GetDegreeOfFreedom(), and SetDegreeOfFreedom().

SetOfElements itk::fem::Element::Node::m_elements
mutable

List of pointers to elements that use this node. External code is responsible for maintaining the list.

Definition at line 274 of file itkFEMElementBase.h.

Referenced by CreateAnother(), and ~Node().


The documentation for this class was generated from the following file: