SurgSim::Physics::Fem3D Class Reference

Fem class data structure implementation for 3-Dimensional FEMs. More...

`#include <SurgSim/Physics/Fem3D.h>`

Inheritance diagram for SurgSim::Physics::Fem3D:

## Public Member Functions

| Fem3D ()
| Default constructor. More...
| SURGSIM_CLASSNAME (SurgSim::Physics::Fem3D)
Public Member Functions inherited from SurgSim::Physics::Fem< SurgSim::DataStructures::EmptyData, FemElementStructs::FemElement3DParameter >
| Fem ()
| Default constructor. More...
size_t | addElement (std::shared_ptr< FemElementStructs::FemElement3DParameter > element)
| Adds FEM element to mesh of Element template type. More...
size_t | getNumElements () const
| Gets number of FEM elements in the mesh. More...
const std::vector< std::shared_ptr< FemElementStructs::FemElement3DParameter > > & | getElements () const
| Gets entire FEM element vector. More...
std::vector< std::shared_ptr< FemElementStructs::FemElement3DParameter > > & | getElements ()
| Gets entire FEM element vector (non-const) More...
std::shared_ptr< FemElementStructs::FemElement3DParameter > | getElement (size_t id) const
| Retrieve a specific element from the mesh. More...
size_t | addBoundaryCondition (size_t boundaryCondition)
| Add boundary condition to mesh. More...
const std::vector< size_t > & | getBoundaryConditions () const
| Gets entire vector of boundary conditions. More...
std::vector< size_t > & | getBoundaryConditions ()
| Gets entire vector of boundary conditions (non-const) More...
size_t | getBoundaryCondition (size_t id) const
| Retrieves a specific boundary condition. More...
Public Member Functions inherited from SurgSim::DataStructures::Vertices< SurgSim::DataStructures::EmptyData >
| Vertices ()
| Constructor. More...
| Vertices (const Vertices< V > &other)
| Copy constructor when the template data is a different type In this case, no data will be copied. More...
Vertices< SurgSim::DataStructures::EmptyData > & | operator= (const Vertices< V > &other)
| Assignment when the template data is a different type In this case, no data will be copied. More...
virtual | ~Vertices ()
| Destructor. More...
void | clear ()
| Clear mesh to return to an empty state (no vertices). More...
bool | update ()
| Performs any updates that are required when the vertices are modified. More...
size_t | addVertex (const VertexType &vertex)
| Adds a vertex to the mesh. More...
size_t | getNumVertices () const
| Returns the number of vertices in this mesh. More...
const VertexType & | getVertex (size_t id) const
| Returns the specified vertex. More...
VertexType & | getVertex (size_t id)
| Returns the specified vertex (non const version). More...
const std::vector< VertexType > & | getVertices () const
| Returns a vector containing the position of each vertex. More...
std::vector< VertexType > & | getVertices ()
| Returns a vector containing the position of each vertex (non const version). More...
void | setVertexPosition (size_t id, const SurgSim::Math::Vector3d &position)
| Sets the position of a vertex. More...
const SurgSim::Math::Vector3d & | getVertexPosition (size_t id) const
| Returns the position of a vertex. More...
void | setVertexPositions (const std::vector< SurgSim::Math::Vector3d > &positions, bool doUpdate=true)
| Sets the position of each vertex. More...
void | transform (const Math::RigidTransform3d &pose)
| Apply a rigid transform to each vertex. More...
bool | operator== (const Vertices &mesh) const
| Compares the mesh with another one (equality) More...
bool | operator!= (const Vertices &mesh) const
| Compares the mesh with another one (inequality) More...
Public Member Functions inherited from SurgSim::Framework::Asset
| Asset ()
| Constructor. More...
| Asset (const Asset &rhs)
| Copy Constructor. More...
virtual | ~Asset ()
| Destructor. More...
void | load (const std::string &fileName, const SurgSim::Framework::ApplicationData &data)
| Load a file with given name using 'data' as look up path(s). More...
void | load (const std::string &fileName)
| Overloaded function using SurgSim::Framework::Runtime::getApplicationData() as look up path(s). More...
std::string | getFileName () const
| Return the name of file loaded by this class. More...
virtual std::string | getClassName () const =0
| Support serialization with a classname. More...
Public Member Functions inherited from SurgSim::Framework::Accessible
| Accessible ()
| Default Constructor. More...
| ~Accessible ()
| Destructor. More...
template<class T >
T | getValue (const std::string &name) const
| Retrieves the value with the name by executing the getter if it is found and tries to convert it to the given type. More...
boost::any | getValue (const std::string &name) const
| Retrieves the value with the name by executing the getter if it is found. More...
template<class T >
bool | getValue (const std::string &name, T *value) const
| Retrieves the value with the name by executing the getter if it is found, and converts it to the type of the output parameter. More...
void | setValue (const std::string &name, const boost::any &value)
| Sets a value of a property that has setter. More...
bool | isReadable (const std::string &name) const
| Check whether a property is readable. More...
bool | isWriteable (const std::string &name) const
| Check whether a property is writable. More...
void | setGetter (const std::string &name, GetterType func)
| Sets a getter for a given property. More...
void | setSetter (const std::string &name, SetterType func)
| Sets a setter for a given property. More...
void | setAccessors (const std::string &name, GetterType getter, SetterType setter)
| Sets the accessors getter and setter in one function. More...
void | removeAccessors (const std::string &name)
| Removes all the accessors (getter and setter) for a given property. More...
void | forwardProperty (const std::string &name, const Accessible &target, const std::string &targetProperty)
| Adds a property with the given name that uses the targets accessors, in effect forwarding the value to the target. More...
void | setSerializable (const std::string &name, EncoderType encoder, DecoderType decoder)
| Sets the functions used to convert data from and to a YAML::Node. More...
void | setDecoder (const std::string &name, DecoderType decoder)
| Sets the functions used to convert data from a YAML::Node. More...
YAML::Node | encode () const
| Encode this Accessible to a YAML::Node. More...
void | decode (const YAML::Node &node, const std::vector< std::string > &ignoredProperties=std::vector< std::string >())
| Decode this Accessible from a YAML::Node, will throw an exception if the data type cannot be converted. More...
template<>
boost::any | getValue (const std::string &name) const

## Protected Member Functions

bool | doLoad (const std::string &filePath) override
| Derived classes will overwrite this method to do actual loading. More...
Protected Member Functions inherited from SurgSim::Physics::Fem< SurgSim::DataStructures::EmptyData, FemElementStructs::FemElement3DParameter >
bool | loadFemFile (const std::string &filename)
| Shared loading method for all 3 dimensions. More...
Protected Member Functions inherited from SurgSim::DataStructures::Vertices< SurgSim::DataStructures::EmptyData >
virtual void | doClearVertices ()
| Remove all vertices from the mesh. More...
virtual bool | isEqual (const Vertices &mesh) const
| Internal comparison of meshes of the same type: returns true if equal, false if not equal. More...

## Additional Inherited Members

Public Types inherited from SurgSim::DataStructures::Vertices< SurgSim::DataStructures::EmptyData >
typedef Vertex< SurgSim::DataStructures::EmptyData > | VertexType
| Vertex type for convenience. More...
Public Types inherited from SurgSim::Framework::Accessible
typedef std::function< boost::any(void)> | GetterType
typedef std::function< void(boost::any)> | SetterType
typedef std::function< YAML::Node(void)> | EncoderType
typedef std::function< void(const YAML::Node *)> | DecoderType
Public Types inherited from SurgSim::Framework::FactoryBase< Asset >
typedef ObjectFactory< Asset > | FactoryType
Static Public Member Functions inherited from SurgSim::Framework::FactoryBase< Asset >
static FactoryType & | getFactory ()
Protected Attributes inherited from SurgSim::Physics::Fem< SurgSim::DataStructures::EmptyData, FemElementStructs::FemElement3DParameter >
std::vector< std::shared_ptr< FemElementStructs::FemElement3DParameter > > | m_elements
| Vector of individual elements. More...
std::vector< size_t > | m_boundaryConditions
| Vector of vertex ids that have boundary conditions. More...

## Detailed Description

Fem class data structure implementation for 3-Dimensional FEMs.

See also
  Fem

## Constructor & Destructor Documentation

## Fem3D()

SurgSim::Physics::Fem3D::Fem3D | ( |  | ) |

Default constructor.

## Member Function Documentation

## doLoad()

bool SurgSim::Physics::Fem3D::doLoad | ( | const std::string & | filePath | ) |

override protected virtual

Derived classes will overwrite this method to do actual loading.

Note
  This method is not required to do any check on the validity or the existence of the file.

Parameters

  filePath | Absolute path to the file.

Returns
  True if loading is successful; Otherwise, false.

Implements SurgSim::Framework::Asset.

## SURGSIM_CLASSNAME()

SurgSim::Physics::Fem3D::SURGSIM_CLASSNAME | ( | SurgSim::Physics::Fem3D |  | ) |

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

- SurgSim/Physics/Fem3D.h
- SurgSim/Physics/Fem3D.cpp