SOFA API  014b24ea
Open source framework for multi-physics simuation
sofa::simulation::TopologyChangeVisitor Class Reference

#include <TopologyChangeVisitor.h>

Inheritance diagram for sofa::simulation::TopologyChangeVisitor:

Protected Attributes

core::topology::Topologym_source
 Flag to know the number of iterations of the overloaded method processNodeTopDown. More...
 
- Protected Attributes inherited from sofa::simulation::Visitor
const core::ExecParamsparams
 

Public Member Functions

 TopologyChangeVisitor (const sofa::core::ExecParams *params, core::topology::Topology *source)
 
 ~TopologyChangeVisitor () override
 
virtual void processTopologyChange (simulation::Node *node, core::objectmodel::BaseObject *obj)
 
Result processNodeTopDown (simulation::Node *node) override
 Callback method called when decending to a new node. Recursion will stop if this method returns RESULT_PRUNE. More...
 
void processNodeBottomUp (simulation::Node *node) override
 Callback method called after child node have been processed and before going back to the parent node. More...
 
bool isThreadSafe () const override
 Specify whether this action can be parallelized. More...
 
const char * getCategoryName () const override
 
const char * getClassName () const override
 
virtual std::string getInfos () const override
 
- Public Member Functions inherited from sofa::simulation::Visitor
 Visitor (const core::ExecParams *params)
 
virtual ~Visitor ()
 
const core::ExecParamsexecParams () const
 
virtual bool childOrderReversed (simulation::Node *)
 Return true to reverse the order of traversal of child nodes. More...
 
virtual bool treeTraversal (TreeTraversalRepetition &repeat)
 
void debug_write_state_before (core::objectmodel::BaseObject *)
 
void debug_write_state_after (core::objectmodel::BaseObject *)
 
template<class Visit , class VContext , class Container , class Object >
void for_each (Visit *visitor, VContext *ctx, const Container &list, void(Visit::*fn)(VContext *, Object *))
 Helper method to enumerate objects in the given list. The callback gets the pointer to node. More...
 
template<class Visit , class VContext , class Container , class Object >
Visitor::Result for_each_r (Visit *visitor, VContext *ctx, const Container &list, Visitor::Result(Visit::*fn)(VContext *, Object *))
 Helper method to enumerate objects in the given list. The callback gets the pointer to node. More...
 
bool testTags (core::objectmodel::BaseObject *obj)
 
virtual void execute (core::objectmodel::BaseContext *node, bool precomputedOrder=false)
 Alias for context->executeVisitor(this) More...
 
virtual ctime_t begin (simulation::Node *node, core::objectmodel::BaseObject *obj, const std::string &typeInfo=std::string("type"))
 
virtual void end (simulation::Node *node, core::objectmodel::BaseObject *obj, ctime_t t0)
 
ctime_t begin (simulation::Visitor::VisitorContext *node, core::objectmodel::BaseObject *obj, const std::string &typeInfo=std::string("type"))
 
void end (simulation::Visitor::VisitorContext *node, core::objectmodel::BaseObject *obj, ctime_t t0)
 
virtual Result processNodeTopDown (simulation::Node *node, LocalStorage *)
 
virtual void processNodeBottomUp (simulation::Node *node, LocalStorage *)
 
VisitorsetTags (const TagSet &t)
 
VisitoraddTag (Tag t)
 
VisitorremoveTag (Tag t)
 

Additional Inherited Members

- Public Attributes inherited from sofa::simulation::Visitor
TagSet subsetsToManage
 list of the subsets More...
 
bool canAccessSleepingNode
 Can the visitor access sleeping nodes? More...
 

Attribute details

core::topology::Topology* sofa::simulation::TopologyChangeVisitor::m_source
protected

Flag to know the number of iterations of the overloaded method processNodeTopDown.

Constructor details

sofa::simulation::TopologyChangeVisitor::TopologyChangeVisitor ( const sofa::core::ExecParams params,
core::topology::Topology source 
)
sofa::simulation::TopologyChangeVisitor::~TopologyChangeVisitor ( )
inlineoverride

Function details

const char* sofa::simulation::TopologyChangeVisitor::getCategoryName ( ) const
inlineoverridevirtual

Return a category name for this action. Only used for debugging / profiling purposes

Reimplemented from sofa::simulation::Visitor.

const char* sofa::simulation::TopologyChangeVisitor::getClassName ( ) const
inlineoverridevirtual

Return a class name for this visitor Only used for debugging / profiling purposes

Reimplemented from sofa::simulation::Visitor.

virtual std::string sofa::simulation::TopologyChangeVisitor::getInfos ( ) const
inlineoverridevirtual

Return eventual information on the behavior of the visitor Only used for debugging / profiling purposes

Reimplemented from sofa::simulation::Visitor.

bool sofa::simulation::TopologyChangeVisitor::isThreadSafe ( ) const
inlineoverridevirtual

Specify whether this action can be parallelized.

Reimplemented from sofa::simulation::Visitor.

void sofa::simulation::TopologyChangeVisitor::processNodeBottomUp ( simulation::Node )
overridevirtual

Callback method called after child node have been processed and before going back to the parent node.

Reimplemented from sofa::simulation::Visitor.

Visitor::Result sofa::simulation::TopologyChangeVisitor::processNodeTopDown ( simulation::Node )
overridevirtual

Callback method called when decending to a new node. Recursion will stop if this method returns RESULT_PRUNE.

Reimplemented from sofa::simulation::Visitor.

void sofa::simulation::TopologyChangeVisitor::processTopologyChange ( simulation::Node node,
core::objectmodel::BaseObject obj 
)
virtual