Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::fem::Element::Node Class Reference

Class that stores information required to define a node. More...

#include <itkFEMElementBase.h>

Inheritance diagram for itk::fem::Element::Node:
Inheritance graph
[legend]
Collaboration diagram for itk::fem::Element::Node:
Collaboration graph
[legend]

List of all members.

Public Types

typedef FEMPArray< SelfArrayType
typedef Self Baseclass
typedef const SelfConstPointer
typedef double Float
typedef SelfPointer
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 VectorTypeGetCoordinates (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

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.

Definition at line 135 of file itkFEMElementBase.h.


Member Typedef Documentation

Array class that holds special pointers to the nodes.

Definition at line 148 of file itkFEMElementBase.h.

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.

Const pointer or SmartPointer to an object.

Reimplemented from itk::fem::FEMLightObject.

Definition at line 137 of file itkFEMElementBase.h.

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.

Standard Self typedef.

Reimplemented from itk::fem::FEMLightObject.

Definition at line 137 of file itkFEMElementBase.h.

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.


Constructor & Destructor Documentation

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

Default constructor

Definition at line 163 of file itkFEMElementBase.h.

itk::fem::Element::Node::Node ( Float  x,
Float  y 
) [inline]

Create 2D node.

Definition at line 168 of file itkFEMElementBase.h.

itk::fem::Element::Node::Node ( Float  x,
Float  y,
Float  z 
) [inline]

Create 3D node.

Definition at line 174 of file itkFEMElementBase.h.


Member Function Documentation

virtual int itk::fem::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::Node::ClearDegreesOfFreedom ( void   )  const [inline, virtual]

Definition at line 210 of file itkFEMElementBase.h.

virtual Baseclass::Pointer itk::fem::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::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< 4, 2 >::GetNodeCoordinates().

DegreeOfFreedomIDType itk::fem::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::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::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::Node::SetCoordinates ( const VectorType coords  )  [inline]

Set coordinates of a node.

Definition at line 187 of file itkFEMElementBase.h.

void itk::fem::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::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.


Member Data Documentation

const int itk::fem::Element::Node::CLID [static]

Class ID for FEM object factory

Definition at line 137 of file itkFEMElementBase.h.

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().

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.


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

Generated at Sat Apr 17 01:35:03 2010 for ITK by doxygen 1.6.1 written by Dimitri van Heesch, © 1997-2000