sofa::component::topology::Edge2QuadTopologicalMapping Class Reference

This class, called Edge2QuadTopologicalMapping, is a specific implementation of the interface TopologicalMapping where :. More...

#include <Edge2QuadTopologicalMapping.h>

Inheritance diagram for sofa::component::topology::Edge2QuadTopologicalMapping:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::topology::Edge2QuadTopologicalMapping:

Collaboration graph
[legend]

Public Types

enum  { M = Coord::static_size }
typedef State< Rigid3Types >
::VecCoord 
VecCoord
typedef State< Rigid3Types >::Coord Coord
typedef Coord::value_type Real
typedef defaulttype::Mat< M, M,
Real > 
Mat
typedef defaulttype::Vec< M, Real > Vec

Public Member Functions

 Edge2QuadTopologicalMapping (In *from, Out *to)
 Constructor.
virtual ~Edge2QuadTopologicalMapping ()
 Destructor.
virtual void init ()
 Initializes the target BaseTopology from the source BaseTopology.
virtual void updateTopologicalMapping ()
 Translates the TopologyChange objects from the source to the target.
virtual unsigned int getFromIndex (unsigned int ind)

Static Public Member Functions

template<class T >
static bool canCreate (T *&obj, core::objectmodel::BaseContext *context, core::objectmodel::BaseObjectDescription *arg)
 Pre-construction check method called by ObjectFactory.
template<class T >
static void create (T *&obj, core::objectmodel::BaseContext *context, core::objectmodel::BaseObjectDescription *arg)
 Construction method called by ObjectFactory.

Protected Attributes

Data< unsigned int > m_nbPointsOnEachCircle
Data< double > m_radius
Data< std::string > object1
Data< std::string > object2

Detailed Description

This class, called Edge2QuadTopologicalMapping, is a specific implementation of the interface TopologicalMapping where :.

INPUT TOPOLOGY = EdgeSetTopology OUTPUT TOPOLOGY = QuadSetTopology based on new DOFs, as the tubular skinning of INPUT TOPOLOGY.

Edge2QuadTopologicalMapping class is templated by the pair (INPUT TOPOLOGY, OUTPUT TOPOLOGY)

Definition at line 64 of file Edge2QuadTopologicalMapping.h.


Member Typedef Documentation

Definition at line 68 of file Edge2QuadTopologicalMapping.h.

Definition at line 71 of file Edge2QuadTopologicalMapping.h.

Definition at line 69 of file Edge2QuadTopologicalMapping.h.

Definition at line 72 of file Edge2QuadTopologicalMapping.h.

Definition at line 67 of file Edge2QuadTopologicalMapping.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
M 

Definition at line 70 of file Edge2QuadTopologicalMapping.h.


Constructor & Destructor Documentation

sofa::component::topology::Edge2QuadTopologicalMapping::Edge2QuadTopologicalMapping ( In *  from,
Out *  to 
) [inline]

Constructor.

Parameters:
from the topology issuing TopologyChange objects (the "source").
to the topology for which the TopologyChange objects must be translated (the "target").

Definition at line 82 of file Edge2QuadTopologicalMapping.h.

virtual sofa::component::topology::Edge2QuadTopologicalMapping::~Edge2QuadTopologicalMapping (  )  [inline, virtual]

Destructor.

Does nothing.

Definition at line 95 of file Edge2QuadTopologicalMapping.h.


Member Function Documentation

template<class T >
static bool sofa::component::topology::Edge2QuadTopologicalMapping::canCreate ( T *&  obj,
core::objectmodel::BaseContext *  context,
core::objectmodel::BaseObjectDescription *  arg 
) [inline, static]

Pre-construction check method called by ObjectFactory.

This implementation read the object1 and object2 attributes and check if they are compatible with the input and output topology types of this mapping.

Reimplemented from sofa::core::objectmodel::BaseObject.

Definition at line 119 of file Edge2QuadTopologicalMapping.h.

References sofa::core::objectmodel::Base::className(), sofa::core::objectmodel::BaseObjectDescription::findObject(), sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::BaseObjectDescription::getAttribute(), and sofa::core::objectmodel::BaseObject::getContext().

template<class T >
static void sofa::component::topology::Edge2QuadTopologicalMapping::create ( T *&  obj,
core::objectmodel::BaseContext *  context,
core::objectmodel::BaseObjectDescription *  arg 
) [inline, static]

unsigned int sofa::component::topology::Edge2QuadTopologicalMapping::getFromIndex ( unsigned int  ind  )  [virtual]

void sofa::component::topology::Edge2QuadTopologicalMapping::init ( void   )  [virtual]

void sofa::component::topology::Edge2QuadTopologicalMapping::updateTopologicalMapping (  )  [virtual]

Translates the TopologyChange objects from the source to the target.

Translates each of the TopologyChange objects waiting in the source list so that they have a meaning and reflect the effects of the first topology changes on the second topology.

Implements sofa::core::componentmodel::topology::TopologicalMapping.

Definition at line 176 of file Edge2QuadTopologicalMapping.cpp.

References sofa::component::topology::QuadSetTopologyModifier::addPointsProcess(), sofa::component::topology::PointSetTopologyModifier::addPointsWarning(), sofa::component::topology::QuadSetTopologyModifier::addQuadsProcess(), sofa::component::topology::QuadSetTopologyModifier::addQuadsWarning(), sofa::component::topology::PointsAdded::ancestorsList, sofa::component::topology::PointsAdded::coefs, sofa::core::componentmodel::topology::EDGESADDED, sofa::core::componentmodel::topology::EDGESREMOVED, sofa::core::componentmodel::topology::ENDING_EVENT, sofa::core::componentmodel::topology::BaseMeshTopology::firstChange(), sofa::core::componentmodel::topology::TopologicalMapping::fromModel, sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::topology::BaseMeshTopology::getEdges(), sofa::component::topology::PointsAdded::getNbAddedVertices(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbEdges(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbQuads(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::topology::TopologicalMapping::In2OutMap, sofa::core::componentmodel::topology::BaseMeshTopology::lastChange(), sofa::core::componentmodel::topology::TopologicalMapping::Loc2GlobVec, m_nbPointsOnEachCircle, sofa::component::topology::PointSetTopologyModifier::notifyEndingEvent(), sofa::core::componentmodel::topology::POINTSADDED, sofa::core::componentmodel::topology::POINTSRENUMBERING, sofa::component::topology::PointSetTopologyModifier::propagateTopologicalChanges(), sofa::component::topology::QuadSetTopologyModifier::removeQuads(), sofa::component::topology::QuadSetTopologyModifier::renumberPointsProcess(), sofa::component::topology::PointSetTopologyModifier::renumberPointsWarning(), and sofa::core::componentmodel::topology::TopologicalMapping::toModel.


Field Documentation

Definition at line 176 of file Edge2QuadTopologicalMapping.h.

Referenced by updateTopologicalMapping().

Definition at line 177 of file Edge2QuadTopologicalMapping.h.

Definition at line 179 of file Edge2QuadTopologicalMapping.h.

Definition at line 180 of file Edge2QuadTopologicalMapping.h.


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

Generated on Sun Nov 23 04:21:22 2008 for Sofa by  doxygen 1.5.7.1