SOFA API  7352f41a
Open source framework for multi-physics simuation
sofa::simulation::graph::GetUpObjectsVisitor Class Reference

get all up objects respecting specified class_info and tags More...

Inheritance diagram for sofa::simulation::graph::GetUpObjectsVisitor:

Detailed Description

get all up objects respecting specified class_info and tags

Protected Attributes

DAGNode_searchNode
 
const sofa::core::objectmodel::ClassInfo_class_info
 
DAGNode::GetObjectsCallBack_container
 
const sofa::core::objectmodel::TagSet_tags
 
- Protected Attributes inherited from sofa::simulation::Visitor
const sofa::core::ExecParamsparams
 

Public Member Functions

 GetUpObjectsVisitor (DAGNode *searchNode, const sofa::core::objectmodel::ClassInfo &class_info, DAGNode::GetObjectsCallBack &container, const sofa::core::objectmodel::TagSet &tags)
 
 ~GetUpObjectsVisitor () override
 
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...
 
bool isThreadSafe () const override
 Specify whether this action can be parallelized. More...
 
const chargetCategoryName () const override
 
const chargetClassName () const override
 
- Public Member Functions inherited from sofa::simulation::Visitor
 Visitor (const sofa::core::ExecParams *params)
 
virtual ~Visitor ()
 
const sofa::core::ExecParamsexecParams () const
 
virtual void processNodeBottomUp (simulation::Node *)
 Callback method called after child node have been processed and before going back to the parent node. More...
 
virtual bool childOrderReversed (simulation::Node *)
 Return true to reverse the order of traversal of child nodes. More...
 
virtual bool treeTraversal (TreeTraversalRepetition &repeat)
 
virtual std::string getInfos () const
 
bool testTags (sofa::core::objectmodel::BaseObject *obj)
 
virtual void execute (sofa::core::objectmodel::BaseContext *node, bool precomputedOrder=false)
 Alias for context->executeVisitor(this) More...
 
virtual ctime_t begin (simulation::Node *node, sofa::core::objectmodel::BaseObject *obj, const std::string &typeInfo=std::string("type"))
 
virtual void end (simulation::Node *node, sofa::core::objectmodel::BaseObject *obj, ctime_t t0)
 
virtual ctime_t begin (simulation::Visitor::VisitorContext *node, sofa::core::objectmodel::BaseObject *obj, const std::string &typeInfo=std::string("type"))
 
virtual void end (simulation::Visitor::VisitorContext *node, sofa::core::objectmodel::BaseObject *obj, ctime_t t0)
 
virtual Result processNodeTopDown (simulation::Node *node, LocalStorage *)=delete
 
virtual void processNodeBottomUp (simulation::Node *node, LocalStorage *)=delete
 
VisitorsetTags (const TagSet &t)
 
VisitoraddTag (Tag t)
 
VisitorremoveTag (Tag t)
 
template<class VisitorType , class VContext , class Container , typename PointedType >
void for_each (VisitorType *visitor, VContext *ctx, const Container &list, void(VisitorType::*task)(VContext *, PointedType *), const std::string &typeInfo)
 
template<class VisitorType , class VContext , class Container , typename PointedType >
Visitor::Result for_each (VisitorType *visitor, VContext *ctx, const Container &list, Visitor::Result(VisitorType::*task)(VContext *, PointedType *), const std::string &typeInfo)
 

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...
 
- Protected Member Functions inherited from sofa::simulation::Visitor
void debug_write_state_before (sofa::core::objectmodel::BaseObject *obj)
 
void debug_write_state_after (sofa::core::objectmodel::BaseObject *obj)
 
template<class VisitorType , class VContext , class ObjectType >
void runVisitorTask (VisitorType *visitor, VContext *ctx, void(VisitorType::*task)(VContext *, ObjectType *), ObjectType *ptr, const std::string &typeInfo=std::string("type"))
 
template<class VisitorType , class VContext , class ObjectType >
Result runVisitorTask (VisitorType *visitor, VContext *ctx, Result(VisitorType::*task)(VContext *, ObjectType *), ObjectType *ptr, const std::string &typeInfo=std::string("type"))
 
template<class Visit , class VContext , class Container , typename PointedType = typename Container::pointed_type>
void for_each (Visit *visitor, VContext *ctx, const Container &list, void(Visit::*task)(VContext *, PointedType *), const std::string &typeInfo=std::string("type"))
 
template<class Visit , class VContext , class Container , typename PointedType = typename Container::pointed_type>
Visitor::Result for_each (Visit *visitor, VContext *ctx, const Container &list, Visitor::Result(Visit::*task)(VContext *, PointedType *), const std::string &typeInfo=std::string("type"))
 

Attribute details

◆ _class_info

const sofa::core::objectmodel::ClassInfo& sofa::simulation::graph::GetUpObjectsVisitor::_class_info
protected

◆ _container

DAGNode::GetObjectsCallBack& sofa::simulation::graph::GetUpObjectsVisitor::_container
protected

◆ _searchNode

DAGNode* sofa::simulation::graph::GetUpObjectsVisitor::_searchNode
protected

◆ _tags

const sofa::core::objectmodel::TagSet& sofa::simulation::graph::GetUpObjectsVisitor::_tags
protected

Constructor details

◆ GetUpObjectsVisitor()

sofa::simulation::graph::GetUpObjectsVisitor::GetUpObjectsVisitor ( DAGNode searchNode,
const sofa::core::objectmodel::ClassInfo class_info,
DAGNode::GetObjectsCallBack container,
const sofa::core::objectmodel::TagSet tags 
)

◆ ~GetUpObjectsVisitor()

sofa::simulation::graph::GetUpObjectsVisitor::~GetUpObjectsVisitor ( )
override

Function details

◆ getCategoryName()

const char* sofa::simulation::graph::GetUpObjectsVisitor::getCategoryName ( ) const
inlineoverridevirtual

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

Reimplemented from sofa::simulation::Visitor.

◆ getClassName()

const char* sofa::simulation::graph::GetUpObjectsVisitor::getClassName ( ) const
inlineoverridevirtual

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

Reimplemented from sofa::simulation::Visitor.

◆ isThreadSafe()

bool sofa::simulation::graph::GetUpObjectsVisitor::isThreadSafe ( ) const
inlineoverridevirtual

Specify whether this action can be parallelized.

Reimplemented from sofa::simulation::Visitor.

◆ processNodeTopDown()

Result sofa::simulation::graph::GetUpObjectsVisitor::processNodeTopDown ( simulation::Node )
inlineoverridevirtual

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

Reimplemented from sofa::simulation::Visitor.