SOFA API  6a688117
Open source framework for multi-physics simuation
sofa::gui::ColourPickingVisitor Class Reference

#include <ColourPickingVisitor.h>

Inheritance diagram for sofa::gui::ColourPickingVisitor:

Public Member Functions

virtual void drawColourPicking (const ColourCode)
 
 ColourPickingVisitor (const core::visual::VisualParams *params, ColourCode Method)
 
void processCollisionModel (simulation::Node *node, core::CollisionModel *)
 
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...
 
const char * getCategoryName () const override
 
const char * getClassName () const override
 
- Public Member Functions inherited from sofa::simulation::Visitor
 Visitor (const core::ExecParams *params)
 
virtual ~Visitor ()
 
const 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
 
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 bool isThreadSafe () const
 Specify whether this visitor can be parallelized. More...
 
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...
 
- Protected Attributes inherited from sofa::simulation::Visitor
const core::ExecParamsparams
 

Constructor details

sofa::gui::ColourPickingVisitor::ColourPickingVisitor ( const core::visual::VisualParams params,
ColourCode  Method 
)
inline

Picking related. For TriangleModels a,b,c encode the barycentric weights with respect to the vertex p1 p2 and p3 of the TriangleElement with the given index

Function details

virtual void sofa::gui::ColourPickingVisitor::drawColourPicking ( const ColourCode  )
inlinevirtual

Picking related. Render the collision model with an appropriate RGB colour code so as to recognize it with the PickHandler of the GUI. ENCODE_COLLISIONELEMENT Pass : r channel : indexCollisionModel / totalCollisionModelInScene. g channel : index of CollisionElement. ENCODE_RELATIVEPOSITION Pass : r,g,b channels encode the barycentric weights for a triangle model

const char* sofa::gui::ColourPickingVisitor::getCategoryName ( ) const
inlineoverridevirtual

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

Reimplemented from sofa::simulation::Visitor.

const char* sofa::gui::ColourPickingVisitor::getClassName ( ) const
inlineoverridevirtual

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

Reimplemented from sofa::simulation::Visitor.

void sofa::gui::ColourPickingVisitor::processCollisionModel ( simulation::Node node,
core::CollisionModel o 
)
simulation::Visitor::Result sofa::gui::ColourPickingVisitor::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.

Enum details

Enumerator
ENCODE_COLLISIONELEMENT 

The object colour encodes the pair CollisionModel - CollisionElement.

ENCODE_RELATIVEPOSITION 

The object colour encodes the relative position.