#include <itkFEMElementBase.h>
Public Types | |
typedef FEMPArray< Self > | ArrayType |
typedef Self | Baseclass |
typedef const Self * | ConstPointer |
typedef double | Float |
typedef Self * | Pointer |
typedef Node | Self |
typedef std::set< Element * > | SetOfElements |
typedef FEMLightObject | Superclass |
Public Member Functions | |
virtual int | ClassID () const |
virtual void | ClearDegreesOfFreedom (void) const |
virtual Baseclass::Pointer | Clone () const |
const VectorType & | GetCoordinates (void) const |
Node (Float x, Float y, Float z) | |
Node (Float x, Float y) | |
Node () | |
virtual void | Read (std::istream &f, void *info) |
void | SetCoordinates (const VectorType &coords) |
virtual void | Write (std::ostream &f) const |
DegreeOfFreedomIDType | GetDegreeOfFreedom (unsigned int i) const |
void | SetDegreeOfFreedom (unsigned int i, DegreeOfFreedomIDType dof) const |
Static Public Member Functions | |
static FEMLightObject::Pointer | CreateFromStream (std::istream &f, void *info) |
static Self::Pointer | New () |
static void | SkipWhiteSpace (std::istream &f) |
Public Attributes | |
int | GN |
SetOfElements | m_elements |
Static Public Attributes | |
static const int | CLID |
static const std::string | whitespaces |
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.
Definition at line 135 of file itkFEMElementBase.h.
Array class that holds special pointers to the nodes.
Definition at line 148 of file itkFEMElementBase.h.
typedef Self itk::fem::FEMLightObject::Baseclass [inherited] |
Store the base class typedef for easy access from derived classes. FEM_CLASS macro also expects this for the FEMOF...
Definition at line 64 of file itkFEMLightObject.h.
typedef const Self* itk::fem::Element::Element::Node::ConstPointer |
Const pointer or SmartPointer to an object.
Reimplemented from itk::fem::FEMLightObject.
Definition at line 137 of file itkFEMElementBase.h.
typedef double itk::fem::Element::Element::Node::Float |
Floating point precision type.
Definition at line 143 of file itkFEMElementBase.h.
Pointer or SmartPointer to an object.
Reimplemented from itk::fem::FEMLightObject.
Definition at line 137 of file itkFEMElementBase.h.
typedef Node itk::fem::Element::Element::Node::Self |
Standard Self typedef.
Reimplemented from itk::fem::FEMLightObject.
Definition at line 137 of file itkFEMElementBase.h.
typedef std::set<Element*> itk::fem::Element::Element::Node::SetOfElements |
List of pointers to elements that use this node. External code is responsible for maintaining the list.
Definition at line 223 of file itkFEMElementBase.h.
Standard Superclass typedef.
Reimplemented from itk::fem::FEMLightObject.
Definition at line 137 of file itkFEMElementBase.h.
itk::fem::Element::Element::Node::Node | ( | ) | [inline] |
Default constructor
Definition at line 163 of file itkFEMElementBase.h.
Create 2D node.
Definition at line 168 of file itkFEMElementBase.h.
Create 3D node.
Definition at line 174 of file itkFEMElementBase.h.
virtual int itk::fem::Element::Element::Node::ClassID | ( | ) | const [inline, virtual] |
Virtual function to access the class ID
Implements itk::fem::FEMLightObject.
Definition at line 137 of file itkFEMElementBase.h.
virtual void itk::fem::Element::Element::Node::ClearDegreesOfFreedom | ( | void | ) | const [inline, virtual] |
Definition at line 210 of file itkFEMElementBase.h.
virtual Baseclass::Pointer itk::fem::Element::Element::Node::Clone | ( | ) | const [virtual] |
Create a new object from the existing one
Implements itk::fem::FEMLightObject.
static FEMLightObject::Pointer itk::fem::FEMLightObject::CreateFromStream | ( | std::istream & | f, | |
void * | info | |||
) | [static, inherited] |
Read object of any derived type from stream.
This static function creates an object of a class, which is derived from FEMLightObject. The class of object is first determined from the stream, then the object of that class is constructed using the FEMObjectFactory. Finally the data for this object is read from the stream, by calling the Read() member function.
const VectorType& itk::fem::Element::Element::Node::GetCoordinates | ( | void | ) | const [inline] |
Return a reference to a vector that contains coordinates of this node.
Definition at line 181 of file itkFEMElementBase.h.
Referenced by itk::fem::ElementStd< 2, 2 >::GetNodeCoordinates().
DegreeOfFreedomIDType itk::fem::Element::Element::Node::GetDegreeOfFreedom | ( | unsigned int | i | ) | const [inline] |
Get DOF IDs associated with this node.
Definition at line 193 of file itkFEMElementBase.h.
References itk::fem::Element::InvalidDegreeOfFreedomID.
Referenced by itk::fem::Element::GetDegreeOfFreedom().
static Self::Pointer itk::fem::Element::Element::Node::New | ( | void | ) | [inline, static] |
Object creation in an itk compatible way
Definition at line 137 of file itkFEMElementBase.h.
virtual void itk::fem::Element::Element::Node::Read | ( | std::istream & | f, | |
void * | info | |||
) | [virtual] |
Read an object data from input stream. Call this member to initialize the data members in the current object by reading data from provided input stream. Derived classes should first call the the parent's read function, to initialize the data from parent. Note that you must manually create the object of desired type using the FEMObjectFactory before you can call read function (this is pretty obvious). In this class only the global number is read from file. Derived classes may require some additional info in order to perform the reading. Pack this info in an object and pass a pointer to it in the info parameter. If you need runtime typechecking, use a polymorphic class and dynamic_cast operator inside the implementation of Read.
Reimplemented from itk::fem::FEMLightObject.
void itk::fem::Element::Element::Node::SetCoordinates | ( | const VectorType & | coords | ) | [inline] |
Set coordinates of a node.
Definition at line 187 of file itkFEMElementBase.h.
void itk::fem::Element::Element::Node::SetDegreeOfFreedom | ( | unsigned int | i, | |
DegreeOfFreedomIDType | dof | |||
) | const [inline] |
Set DOF IDs associated with this node.
Definition at line 203 of file itkFEMElementBase.h.
References itk::fem::Element::InvalidDegreeOfFreedomID.
static void itk::fem::FEMLightObject::SkipWhiteSpace | ( | std::istream & | f | ) | [static, inherited] |
Helper function that skips all the whitespace and comments in an input stream.
virtual void itk::fem::Element::Element::Node::Write | ( | std::ostream & | f | ) | const [virtual] |
Write an object to the output stream. Call this member to write the data members in the current object to the output stream. Here we also need to know which derived class we actually are, so that we can write the class name. The class name is obtained by calling the virtual ClassID() member function and passing the result to the FEMObjectFactory.
Implementations of Write member funtion in derived classes should first call the parent's implementation of Write and finaly write whatever they need.
Reimplemented from itk::fem::FEMLightObject.
const int itk::fem::Element::Element::Node::CLID [static] |
Class ID for FEM object factory
Definition at line 137 of file itkFEMElementBase.h.
int itk::fem::FEMLightObject::GN [inherited] |
Global number of an object (ID of an object) In general the ID's are required to be unique only within a specific type of derived classes (Elements, Nodes, ...) If the GN is not required, it can be ignored. (normally you need the GN when writing or reading objects to/from stream.
Definition at line 165 of file itkFEMLightObject.h.
Referenced by itk::fem::FEMLightObject::FEMLightObject().
SetOfElements itk::fem::Element::Element::Node::m_elements [mutable] |
Definition at line 224 of file itkFEMElementBase.h.
const std::string itk::fem::FEMLightObject::whitespaces [static, inherited] |
Const string of all whitespace characters. This string is used by SkipWhiteSpace function.
Definition at line 135 of file itkFEMLightObject.h.