#include <Hexa2QuadTopologicalMapping.h>


Public Member Functions | |
| Hexa2QuadTopologicalMapping (In *from=NULL, Out *to=NULL) | |
| Constructor. | |
| virtual | ~Hexa2QuadTopologicalMapping () |
| 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< std::string > | object1 |
| Data< std::string > | object2 |
INPUT TOPOLOGY = HexahedronSetTopology OUTPUT TOPOLOGY = QuadSetTopology, as the boundary of the INPUT TOPOLOGY
Hexa2QuadTopologicalMapping class is templated by the pair (INPUT TOPOLOGY, OUTPUT TOPOLOGY)
Definition at line 60 of file Hexa2QuadTopologicalMapping.h.
| sofa::component::topology::Hexa2QuadTopologicalMapping::Hexa2QuadTopologicalMapping | ( | In * | from = NULL, |
|
| Out * | to = NULL | |||
| ) |
Constructor.
| from | the topology issuing TopologyChange objects (the "source"). | |
| to | the topology for which the TopologyChange objects must be translated (the "target"). |
Definition at line 67 of file Hexa2QuadTopologicalMapping.cpp.
| sofa::component::topology::Hexa2QuadTopologicalMapping::~Hexa2QuadTopologicalMapping | ( | ) | [virtual] |
| static bool sofa::component::topology::Hexa2QuadTopologicalMapping::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 98 of file Hexa2QuadTopologicalMapping.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().
| static void sofa::component::topology::Hexa2QuadTopologicalMapping::create | ( | T *& | obj, | |
| core::objectmodel::BaseContext * | context, | |||
| core::objectmodel::BaseObjectDescription * | arg | |||
| ) | [inline, static] |
Construction method called by ObjectFactory.
This implementation read the object1 and object2 attributes to find the input and output topologies of this mapping.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 125 of file Hexa2QuadTopologicalMapping.h.
References sofa::core::objectmodel::BaseContext::addObject(), sofa::core::objectmodel::BaseObjectDescription::findObject(), sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::BaseObjectDescription::getAttribute(), sofa::core::objectmodel::BaseObject::getContext(), and sofa::core::objectmodel::BaseObjectDescription::removeAttribute().
| unsigned int sofa::component::topology::Hexa2QuadTopologicalMapping::getFromIndex | ( | unsigned int | ind | ) | [virtual] |
Reimplemented from sofa::core::componentmodel::topology::TopologicalMapping.
Definition at line 128 of file Hexa2QuadTopologicalMapping.cpp.
References sofa::core::componentmodel::topology::TopologicalMapping::fromModel, and sofa::core::componentmodel::topology::BaseMeshTopology::getHexaQuadShell().
| void sofa::component::topology::Hexa2QuadTopologicalMapping::init | ( | void | ) | [virtual] |
Initializes the target BaseTopology from the source BaseTopology.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 79 of file Hexa2QuadTopologicalMapping.cpp.
References sofa::component::topology::QuadSetTopologyModifier::addQuadProcess(), sofa::component::topology::QuadSetTopologyContainer::clear(), sofa::core::componentmodel::topology::TopologicalMapping::fromModel, sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::componentmodel::topology::BaseMeshTopology::getHexaQuadShell(), sofa::core::componentmodel::topology::Topology::getNbPoints(), sofa::core::componentmodel::topology::BaseMeshTopology::getQuads(), sofa::core::componentmodel::topology::TopologicalMapping::Glob2LocMap, sofa::core::componentmodel::topology::TopologicalMapping::Loc2GlobVec, sofa::component::topology::PointSetTopologyModifier::notifyEndingEvent(), sofa::core::componentmodel::topology::Topology::setNbPoints(), and sofa::core::componentmodel::topology::TopologicalMapping::toModel.
| void sofa::component::topology::Hexa2QuadTopologicalMapping::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 137 of file Hexa2QuadTopologicalMapping.cpp.
References sofa::component::topology::QuadSetTopologyModifier::addQuadsProcess(), sofa::component::topology::QuadSetTopologyModifier::addQuadsWarning(), 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::getHexaQuadShell(), sofa::core::componentmodel::topology::BaseMeshTopology::getHexas(), sofa::core::componentmodel::topology::BaseMeshTopology::getNbQuads(), sofa::core::componentmodel::topology::BaseMeshTopology::getQuadHexaShell(), sofa::core::componentmodel::topology::BaseMeshTopology::getQuadIndexInHexahedron(), sofa::core::componentmodel::topology::TopologicalMapping::Glob2LocMap, sofa::core::componentmodel::topology::HEXAHEDRAREMOVED, sofa::core::componentmodel::topology::BaseMeshTopology::lastChange(), sofa::core::componentmodel::topology::TopologicalMapping::Loc2GlobVec, sofa::component::topology::PointSetTopologyModifier::notifyEndingEvent(), sofa::core::componentmodel::topology::POINTSREMOVED, sofa::core::componentmodel::topology::POINTSRENUMBERING, sofa::component::topology::PointSetTopologyModifier::propagateTopologicalChanges(), sofa::core::componentmodel::topology::QUADSREMOVED, sofa::component::topology::QuadSetTopologyModifier::removePointsProcess(), sofa::component::topology::PointSetTopologyModifier::removePointsWarning(), sofa::component::topology::QuadSetTopologyModifier::removeQuads(), sofa::component::topology::QuadSetTopologyModifier::renumberPointsProcess(), sofa::component::topology::PointSetTopologyModifier::renumberPointsWarning(), and sofa::core::componentmodel::topology::TopologicalMapping::toModel.
Data< std::string > sofa::component::topology::Hexa2QuadTopologicalMapping::object1 [protected] |
Definition at line 154 of file Hexa2QuadTopologicalMapping.h.
Data< std::string > sofa::component::topology::Hexa2QuadTopologicalMapping::object2 [protected] |
Definition at line 155 of file Hexa2QuadTopologicalMapping.h.
1.5.7.1