ITK  4.9.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::fem::FEMObject< VDimension > Class Template Reference

#include <itkFEMObject.h>

+ Inheritance diagram for itk::fem::FEMObject< VDimension >:
+ Collaboration diagram for itk::fem::FEMObject< VDimension >:

Detailed Description

template<unsigned int VDimension = 3>
class itk::fem::FEMObject< VDimension >

Implements N-dimensional Finite element (FE) models including elements, materials, and loads.

Overview
FEMObject was created to provide an object in ITK that specifies the entire FE model. This model can then be passed to the itk::fem::Solver to generate a solution for the model. The design for this class was modelled after the itk::Mesh structure. Presently, no direct I/O support for the FEMObject exists. This must be done using the FEMSpatialObject. The FEMObject simply serves as a storage container for the FE model.

The FEMObject stores the FE problem using Vector Containers for 1) Load 2) Material 3) Element 4) Node

Usage
The user can set the Vector Containers that define the Load, Material, Element, and Nodes using the AddNext<Object> and Insert<Object> methods. The user can also get the entire VectorContainer using the Get<Object>Container(). For convience methods are also provided to get any item in the vector containers based on their index (Get<Object>) or their global number (Get<Object>WithGlobalNumber). This class does not know anything about the types of elements, materials, elements, or nodes. The problem presently can only be 2D or 3D.
Examples:
Examples/RegistrationITKv3/DeformableRegistration1.cxx, Examples/RegistrationITKv3/DeformableRegistration11.cxx, Examples/RegistrationITKv4/DeformableRegistration1.cxx, and Examples/RegistrationITKv4/DeformableRegistration11.cxx.

Definition at line 75 of file itkFEMObject.h.

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef
ElementContainerType::ConstIterator 
ElementContainerConstIterator
 
typedef
ElementContainerType::ConstPointer 
ElementContainerConstPointer
 
typedef
ElementContainerType::Iterator 
ElementContainerIterator
 
typedef
ElementContainerType::Pointer 
ElementContainerPointer
 
typedef VectorContainer
< ElementIdentifier,
Element::Pointer
ElementContainerType
 
typedef unsigned long ElementIdentifier
 
typedef
LoadContainerType::ConstIterator 
LoadContainerConstIterator
 
typedef
LoadContainerType::ConstPointer 
LoadContainerConstPointer
 
typedef LoadContainerType::Iterator LoadContainerIterator
 
typedef LoadContainerType::Pointer LoadContainerPointer
 
typedef VectorContainer
< LoadIdentifier,
Load::Pointer
LoadContainerType
 
typedef unsigned long LoadIdentifier
 
typedef
MaterialContainerType::ConstIterator 
MaterialContainerConstIterator
 
typedef
MaterialContainerType::ConstPointer 
MaterialContainerConstPointer
 
typedef
MaterialContainerType::Iterator 
MaterialContainerIterator
 
typedef
MaterialContainerType::Pointer 
MaterialContainerPointer
 
typedef VectorContainer
< MaterialIdentifier,
Material::Pointer
MaterialContainerType
 
typedef unsigned long MaterialIdentifier
 
typedef
NodeContainerType::ConstIterator 
NodeContainerConstIterator
 
typedef
NodeContainerType::ConstPointer 
NodeContainerConstPointer
 
typedef NodeContainerType::Iterator NodeContainerIterator
 
typedef NodeContainerType::Pointer NodeContainerPointer
 
typedef VectorContainer
< NodeIdentifier,
Element::Node::Pointer
NodeContainerType
 
typedef unsigned long NodeIdentifier
 
typedef SmartPointer< SelfPointer
 
typedef FEMObject Self
 
typedef DataObject Superclass
 
- Public Types inherited from itk::DataObject
typedef SmartPointer< const SelfConstPointer
 
typedef std::string DataObjectIdentifierType
 
typedef std::vector< Pointer >
::size_type 
DataObjectPointerArraySizeType
 
typedef SmartPointer< SelfPointer
 
typedef DataObject Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

void AddNextElement (Element::Pointer e)
 
void AddNextLoad (Load::Pointer ld)
 
void AddNextLoad (LoadNode::Pointer ld)
 
void AddNextLoad (LoadBCMFC::Pointer ld)
 
void AddNextLoad (LoadBC::Pointer ld)
 
void AddNextLoad (LoadEdge::Pointer ld)
 
void AddNextLoad (LoadGravConst::Pointer ld)
 
void AddNextLoad (LoadLandmark::Pointer ld)
 
void AddNextMaterial (Material::Pointer mat)
 
void AddNextMaterial (MaterialLinearElasticity::Pointer mat)
 
void AddNextNode (Element::Node::Pointer e)
 
void Clear ()
 
virtual ::itk::LightObject::Pointer CreateAnother () const
 
void DeepCopy (FEMObject *Copy)
 
void FinalizeMesh ()
 
virtual const
ElementContainerType
GetElementContainer () const
 
virtual const LoadContainerTypeGetLoadContainer () const
 
Load::Pointer GetLoadWithGlobalNumber (int globalNumber)
 
virtual const
MaterialContainerType
GetMaterialContainer () const
 
virtual ElementContainerTypeGetModifiableElementContainer ()
 
virtual LoadContainerTypeGetModifiableLoadContainer ()
 
virtual MaterialContainerTypeGetModifiableMaterialContainer ()
 
virtual NodeContainerTypeGetModifiableNodeContainer ()
 
virtual const char * GetNameOfClass () const
 
virtual const NodeContainerTypeGetNodeContainer () const
 
Element::Node::Pointer GetNodeWithGlobalNumber (int globalNumber)
 
unsigned int GetNumberOfDegreesOfFreedom (void) const
 
unsigned int GetNumberOfElements (void) const
 
unsigned int GetNumberOfLoads (void) const
 
unsigned int GetNumberOfMaterials (void) const
 
unsigned int GetNumberOfMultiFreedomConstraints (void) const
 
unsigned int GetNumberOfNodes (void) const
 
void InsertElement (Element::Pointer e, ElementIdentifier index)
 
void InsertLoad (Load::Pointer ld, LoadIdentifier index)
 
void InsertMaterial (Material::Pointer e, MaterialIdentifier index)
 
void InsertNode (Element::Node::Pointer e, NodeIdentifier index)
 
void RenumberNodeContainer ()
 
Element::ConstPointer GetElement (ElementIdentifier index) const
 
Element::Pointer GetElement (ElementIdentifier index)
 
Element::ConstPointer GetElementWithGlobalNumber (int globalNumber) const
 
Element::Pointer GetElementWithGlobalNumber (int globalNumber)
 
Element::Node::Pointer GetNode (NodeIdentifier index)
 
Element::Node::ConstPointer GetNode (NodeIdentifier index) const
 
Material::ConstPointer GetMaterial (MaterialIdentifier index) const
 
Material::Pointer GetMaterial (MaterialIdentifier index)
 
Material::ConstPointer GetMaterialWithGlobalNumber (int globalNumber) const
 
Material::Pointer GetMaterialWithGlobalNumber (int globalNumber)
 
Load::ConstPointer GetLoad (LoadIdentifier index) const
 
Load::Pointer GetLoad (LoadIdentifier index)
 
- Public Member Functions inherited from itk::DataObject
virtual void CopyInformation (const DataObject *)
 
virtual void DataHasBeenGenerated ()
 
void DisconnectPipeline ()
 
bool GetDataReleased () const
 
virtual const bool & GetReleaseDataFlag () const
 
SmartPointerForwardReference
< ProcessObject
GetSource () const
 
DataObjectPointerArraySizeType GetSourceOutputIndex () const
 
const DataObjectIdentifierTypeGetSourceOutputName () const
 
virtual ModifiedTimeType GetUpdateMTime () const
 
virtual void Graft (const DataObject *)
 
virtual void Initialize ()
 
virtual void PrepareForNewData ()
 
virtual void PropagateRequestedRegion ()
 
void ReleaseData ()
 
virtual void ReleaseDataFlagOff ()
 
virtual void ReleaseDataFlagOn ()
 
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion ()
 
virtual void ResetPipeline ()
 
void SetReleaseDataFlag (bool flag)
 
virtual void SetRequestedRegion (const DataObject *)
 
virtual void SetRequestedRegionToLargestPossibleRegion ()
 
bool ShouldIReleaseData () const
 
virtual void Update ()
 
virtual void UpdateOutputData ()
 
virtual void UpdateOutputInformation ()
 
virtual bool VerifyRequestedRegion ()
 
void SetPipelineMTime (ModifiedTimeType time)
 
virtual const ModifiedTimeTypeGetPipelineMTime () const
 
virtual void SetRealTimeStamp (RealTimeStamp _arg)
 
virtual const RealTimeStampGetRealTimeStamp () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- 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
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::DataObject
static bool GetGlobalReleaseDataFlag ()
 
static void GlobalReleaseDataFlagOff ()
 
static void GlobalReleaseDataFlagOn ()
 
static void SetGlobalReleaseDataFlag (bool val)
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static const unsigned int FEMDimension = VDimension
 
static const unsigned int MaxDimensions = 3
 

Protected Member Functions

void AddNextMaterialInternal (Material *mat)
 
void GenerateGFN ()
 
void GenerateMFC ()
 
 FEMObject ()
 
 ~FEMObject ()
 
virtual void PrintSelf (std::ostream &os, Indent indent) const override
 
- Protected Member Functions inherited from itk::DataObject
 DataObject ()
 
virtual void PropagateResetPipeline ()
 
 ~DataObject ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- 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

ElementContainerPointer m_ElementContainer
 
LoadContainerPointer m_LoadContainer
 
MaterialContainerPointer m_MaterialContainer
 
unsigned int m_NGFN
 
unsigned int m_NMFC
 
NodeContainerPointer m_NodeContainer
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Private Member Functions

void AddNextLoadInternal (Load *l)
 
 FEMObject (const Self &) ITK_DELETE_FUNCTION
 
void operator= (const Self &) ITK_DELETE_FUNCTION
 

Member Typedef Documentation

template<unsigned int VDimension = 3>
typedef SmartPointer<const Self> itk::fem::FEMObject< VDimension >::ConstPointer

Definition at line 82 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef ElementContainerType::ConstIterator itk::fem::FEMObject< VDimension >::ElementContainerConstIterator

Create types that are iterators for each of the container types.

Definition at line 116 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef ElementContainerType::ConstPointer itk::fem::FEMObject< VDimension >::ElementContainerConstPointer

Definition at line 106 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef ElementContainerType::Iterator itk::fem::FEMObject< VDimension >::ElementContainerIterator

Definition at line 118 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef ElementContainerType::Pointer itk::fem::FEMObject< VDimension >::ElementContainerPointer

Create types that are pointers to each of the container types.

Definition at line 105 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef VectorContainer<ElementIdentifier, Element::Pointer> itk::fem::FEMObject< VDimension >::ElementContainerType

Definition at line 101 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef unsigned long itk::fem::FEMObject< VDimension >::ElementIdentifier

Definition at line 93 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef LoadContainerType::ConstIterator itk::fem::FEMObject< VDimension >::LoadContainerConstIterator

Definition at line 124 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef LoadContainerType::ConstPointer itk::fem::FEMObject< VDimension >::LoadContainerConstPointer

Definition at line 110 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef LoadContainerType::Iterator itk::fem::FEMObject< VDimension >::LoadContainerIterator

Definition at line 126 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef LoadContainerType::Pointer itk::fem::FEMObject< VDimension >::LoadContainerPointer

Definition at line 109 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef VectorContainer<LoadIdentifier, Load::Pointer> itk::fem::FEMObject< VDimension >::LoadContainerType

Vector containers for 1) Load, 2) Material, 3) Element and 4) Node.

Definition at line 99 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef unsigned long itk::fem::FEMObject< VDimension >::LoadIdentifier

Definition at line 95 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef MaterialContainerType::ConstIterator itk::fem::FEMObject< VDimension >::MaterialContainerConstIterator

Definition at line 128 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef MaterialContainerType::ConstPointer itk::fem::FEMObject< VDimension >::MaterialContainerConstPointer

Definition at line 112 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef MaterialContainerType::Iterator itk::fem::FEMObject< VDimension >::MaterialContainerIterator

Definition at line 130 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef MaterialContainerType::Pointer itk::fem::FEMObject< VDimension >::MaterialContainerPointer

Definition at line 111 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef VectorContainer<MaterialIdentifier, Material::Pointer> itk::fem::FEMObject< VDimension >::MaterialContainerType

Definition at line 100 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef unsigned long itk::fem::FEMObject< VDimension >::MaterialIdentifier

Definition at line 96 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef NodeContainerType::ConstIterator itk::fem::FEMObject< VDimension >::NodeContainerConstIterator

Definition at line 120 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef NodeContainerType::ConstPointer itk::fem::FEMObject< VDimension >::NodeContainerConstPointer

Definition at line 108 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef NodeContainerType::Iterator itk::fem::FEMObject< VDimension >::NodeContainerIterator

Definition at line 122 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef NodeContainerType::Pointer itk::fem::FEMObject< VDimension >::NodeContainerPointer

Definition at line 107 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef VectorContainer<NodeIdentifier, Element::Node::Pointer> itk::fem::FEMObject< VDimension >::NodeContainerType

Definition at line 102 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef unsigned long itk::fem::FEMObject< VDimension >::NodeIdentifier

Definition at line 94 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef SmartPointer<Self> itk::fem::FEMObject< VDimension >::Pointer

Definition at line 81 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef FEMObject itk::fem::FEMObject< VDimension >::Self

Standard class typedefs.

Definition at line 79 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
typedef DataObject itk::fem::FEMObject< VDimension >::Superclass

Definition at line 80 of file itkFEMObject.h.

Constructor & Destructor Documentation

template<unsigned int VDimension = 3>
itk::fem::FEMObject< VDimension >::FEMObject ( )
protected

Constructor for use by New() method.

template<unsigned int VDimension = 3>
itk::fem::FEMObject< VDimension >::~FEMObject ( )
protected

Constructor for use by New() method.

template<unsigned int VDimension = 3>
itk::fem::FEMObject< VDimension >::FEMObject ( const Self )
private

Member Function Documentation

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextElement ( Element::Pointer  e)

Add next element to the element array

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextLoad ( Load::Pointer  ld)
inline

Add next load data to the load array

Definition at line 217 of file itkFEMObject.h.

References itk::fem::FEMObject< VDimension >::AddNextLoadInternal(), and itk::SmartPointer< TObjectType >::GetPointer().

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextLoad ( LoadNode::Pointer  ld)
inline
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextLoad ( LoadBCMFC::Pointer  ld)
inline
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextLoad ( LoadBC::Pointer  ld)
inline
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextLoad ( LoadEdge::Pointer  ld)
inline
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextLoad ( LoadGravConst::Pointer  ld)
inline
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextLoad ( LoadLandmark::Pointer  ld)
inline
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextLoadInternal ( Load l)
private
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextMaterial ( Material::Pointer  mat)
inline

Add next material data to the material array

Definition at line 200 of file itkFEMObject.h.

References itk::fem::FEMObject< VDimension >::AddNextMaterialInternal(), and itk::SmartPointer< TObjectType >::GetPointer().

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextMaterial ( MaterialLinearElasticity::Pointer  mat)
inline
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextMaterialInternal ( Material mat)
protected
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::AddNextNode ( Element::Node::Pointer  e)

Add next node to the node array

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::Clear ( )

Clear the entire model and return to an initial state

template<unsigned int VDimension = 3>
virtual::itk::LightObject::Pointer itk::fem::FEMObject< VDimension >::CreateAnother ( ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::DeepCopy ( FEMObject< VDimension > *  Copy)
template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::FinalizeMesh ( )

This should be called when all nodes, elements, and loads have been assigned. This method will then generate the degrees of freedom for the speficied system and the number of multi freedom constraints on the system.

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::GenerateGFN ( )
protected

Assign a global freedom numbers to each DOF in a system. This must be done before any other solve function can be called. This is called internally by FinalizeMesh()

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::GenerateMFC ( )
protected

Assign the number of multi freedom constraints on the system. This must be done before any other solve function can be called. This is called internally by FinalizeMesh()

template<unsigned int VDimension = 3>
Element::ConstPointer itk::fem::FEMObject< VDimension >::GetElement ( ElementIdentifier  index) const

Get the element at the specified index location

template<unsigned int VDimension = 3>
Element::Pointer itk::fem::FEMObject< VDimension >::GetElement ( ElementIdentifier  index)

Get the element at the specified index location

template<unsigned int VDimension = 3>
virtual const ElementContainerType* itk::fem::FEMObject< VDimension >::GetElementContainer ( ) const
virtual
template<unsigned int VDimension = 3>
Element::ConstPointer itk::fem::FEMObject< VDimension >::GetElementWithGlobalNumber ( int  globalNumber) const

Get the element at with the specified global number

template<unsigned int VDimension = 3>
Element::Pointer itk::fem::FEMObject< VDimension >::GetElementWithGlobalNumber ( int  globalNumber)

Get the element at with the specified global number

template<unsigned int VDimension = 3>
Load::ConstPointer itk::fem::FEMObject< VDimension >::GetLoad ( LoadIdentifier  index) const

Get the load data at the specified index location

template<unsigned int VDimension = 3>
Load::Pointer itk::fem::FEMObject< VDimension >::GetLoad ( LoadIdentifier  index)

Get the load data at the specified index location

template<unsigned int VDimension = 3>
virtual const LoadContainerType* itk::fem::FEMObject< VDimension >::GetLoadContainer ( ) const
virtual
template<unsigned int VDimension = 3>
Load::Pointer itk::fem::FEMObject< VDimension >::GetLoadWithGlobalNumber ( int  globalNumber)

Get the Load at with the specified global number

template<unsigned int VDimension = 3>
Material::ConstPointer itk::fem::FEMObject< VDimension >::GetMaterial ( MaterialIdentifier  index) const

Get the material data at the specified index location

template<unsigned int VDimension = 3>
Material::Pointer itk::fem::FEMObject< VDimension >::GetMaterial ( MaterialIdentifier  index)

Get the material data at the specified index location

template<unsigned int VDimension = 3>
virtual const MaterialContainerType* itk::fem::FEMObject< VDimension >::GetMaterialContainer ( ) const
virtual
template<unsigned int VDimension = 3>
Material::ConstPointer itk::fem::FEMObject< VDimension >::GetMaterialWithGlobalNumber ( int  globalNumber) const

Get the Material at with the specified global number

template<unsigned int VDimension = 3>
Material::Pointer itk::fem::FEMObject< VDimension >::GetMaterialWithGlobalNumber ( int  globalNumber)

Get the Material at with the specified global number

template<unsigned int VDimension = 3>
virtual ElementContainerType* itk::fem::FEMObject< VDimension >::GetModifiableElementContainer ( )
virtual
template<unsigned int VDimension = 3>
virtual LoadContainerType* itk::fem::FEMObject< VDimension >::GetModifiableLoadContainer ( )
virtual
template<unsigned int VDimension = 3>
virtual MaterialContainerType* itk::fem::FEMObject< VDimension >::GetModifiableMaterialContainer ( )
virtual
template<unsigned int VDimension = 3>
virtual NodeContainerType* itk::fem::FEMObject< VDimension >::GetModifiableNodeContainer ( )
virtual
template<unsigned int VDimension = 3>
virtual const char* itk::fem::FEMObject< VDimension >::GetNameOfClass ( ) const
virtual

Standard part of every itk Object.

Reimplemented from itk::DataObject.

template<unsigned int VDimension = 3>
Element::Node::Pointer itk::fem::FEMObject< VDimension >::GetNode ( NodeIdentifier  index)

Get the node at the specified index location

template<unsigned int VDimension = 3>
Element::Node::ConstPointer itk::fem::FEMObject< VDimension >::GetNode ( NodeIdentifier  index) const

Get the node at the specified index location

template<unsigned int VDimension = 3>
virtual const NodeContainerType* itk::fem::FEMObject< VDimension >::GetNodeContainer ( ) const
virtual
template<unsigned int VDimension = 3>
Element::Node::Pointer itk::fem::FEMObject< VDimension >::GetNodeWithGlobalNumber ( int  globalNumber)

Get the Node at with the specified global number

template<unsigned int VDimension = 3>
unsigned int itk::fem::FEMObject< VDimension >::GetNumberOfDegreesOfFreedom ( void  ) const
inline

Get the Degrees of Freedom for the FE model

Definition at line 142 of file itkFEMObject.h.

References itk::fem::FEMObject< VDimension >::m_NGFN.

template<unsigned int VDimension = 3>
unsigned int itk::fem::FEMObject< VDimension >::GetNumberOfElements ( void  ) const
inline

Get the Number of elements in the FE mesh

Definition at line 160 of file itkFEMObject.h.

References itk::fem::FEMObject< VDimension >::m_ElementContainer.

template<unsigned int VDimension = 3>
unsigned int itk::fem::FEMObject< VDimension >::GetNumberOfLoads ( void  ) const
inline

Get the Number of Loads in the FE problem

Definition at line 166 of file itkFEMObject.h.

References itk::fem::FEMObject< VDimension >::m_LoadContainer.

template<unsigned int VDimension = 3>
unsigned int itk::fem::FEMObject< VDimension >::GetNumberOfMaterials ( void  ) const
inline

Get the Number of Materials in the FE problem

Definition at line 172 of file itkFEMObject.h.

References itk::fem::FEMObject< VDimension >::m_MaterialContainer.

template<unsigned int VDimension = 3>
unsigned int itk::fem::FEMObject< VDimension >::GetNumberOfMultiFreedomConstraints ( void  ) const
inline

Get the Degrees of Freedom for the FE model

Definition at line 148 of file itkFEMObject.h.

References itk::fem::FEMObject< VDimension >::m_NMFC.

template<unsigned int VDimension = 3>
unsigned int itk::fem::FEMObject< VDimension >::GetNumberOfNodes ( void  ) const
inline

Get the Number of nodes in the FE mesh

Definition at line 154 of file itkFEMObject.h.

References itk::fem::FEMObject< VDimension >::m_NodeContainer.

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::InsertElement ( Element::Pointer  e,
ElementIdentifier  index 
)

Insert an element at the specified location

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::InsertLoad ( Load::Pointer  ld,
LoadIdentifier  index 
)

Insert material data at the specified index location

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::InsertMaterial ( Material::Pointer  e,
MaterialIdentifier  index 
)

Insert material data at the specified index location

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::InsertNode ( Element::Node::Pointer  e,
NodeIdentifier  index 
)

Insert a node at the specified index location

template<unsigned int VDimension = 3>
static Pointer itk::fem::FEMObject< VDimension >::New ( )
static

Method for creation through the object factory.

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::operator= ( const Self )
private
template<unsigned int VDimension = 3>
virtual void itk::fem::FEMObject< VDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

Constructor for use by New() method.

Reimplemented from itk::DataObject.

template<unsigned int VDimension = 3>
void itk::fem::FEMObject< VDimension >::RenumberNodeContainer ( )

Renumber the nodes global number based on their current order in the Node VectorContainer

Member Data Documentation

template<unsigned int VDimension = 3>
const unsigned int itk::fem::FEMObject< VDimension >::FEMDimension = VDimension
static

Definition at line 90 of file itkFEMObject.h.

template<unsigned int VDimension = 3>
ElementContainerPointer itk::fem::FEMObject< VDimension >::m_ElementContainer
protected
template<unsigned int VDimension = 3>
LoadContainerPointer itk::fem::FEMObject< VDimension >::m_LoadContainer
protected

Definition at line 343 of file itkFEMObject.h.

Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfLoads().

template<unsigned int VDimension = 3>
MaterialContainerPointer itk::fem::FEMObject< VDimension >::m_MaterialContainer
protected
template<unsigned int VDimension = 3>
unsigned int itk::fem::FEMObject< VDimension >::m_NGFN
protected

Number of global degrees of freedom in a system

Definition at line 333 of file itkFEMObject.h.

Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfDegreesOfFreedom().

template<unsigned int VDimension = 3>
unsigned int itk::fem::FEMObject< VDimension >::m_NMFC
protected

Number of multi freedom constraints in a system. This member is set in a AssembleK function.

Definition at line 339 of file itkFEMObject.h.

Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfMultiFreedomConstraints().

template<unsigned int VDimension = 3>
NodeContainerPointer itk::fem::FEMObject< VDimension >::m_NodeContainer
protected

Definition at line 342 of file itkFEMObject.h.

Referenced by itk::fem::FEMObject< VDimension >::GetNumberOfNodes().

template<unsigned int VDimension = 3>
const unsigned int itk::fem::FEMObject< VDimension >::MaxDimensions = 3
static

Definition at line 91 of file itkFEMObject.h.


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