#include <SphereROI.h>
This class find all the points/edges/triangles/tetrahedra located inside a given sphere.
Public Attributes | |
Data< type::vector< CPos > > | d_centers |
Center(s) of the sphere(s) More... | |
Data< type::vector< Real > > | d_radii |
Radius(i) of the sphere(s) More... | |
Data< type::Vec3 > | d_direction |
Edge direction(if edgeAngle > 0) More... | |
Data< type::Vec3 > | d_normal |
Normal direction of the triangles (if triAngle > 0) More... | |
Data< Real > | d_edgeAngle |
Max angle between the direction of the selected edges and the specified direction. More... | |
Data< Real > | d_triAngle |
Max angle between the normal of the selected triangle and the specified normal direction. More... | |
![]() | |
Data< VecCoord > | d_positions |
Data< VecEdge > | d_edges |
Edge Topology. More... | |
Data< VecTriangle > | d_triangles |
Triangle Topology. More... | |
Data< VecQuad > | d_quads |
Quad Topology. More... | |
Data< VecTetra > | d_tetrahedra |
Tetrahedron Topology. More... | |
Data< VecHexa > | d_hexahedra |
Hexahedron Topology. More... | |
Data< bool > | d_computeEdges |
If true, will compute edge list and index list inside the ROI. (default = true) More... | |
Data< bool > | d_computeTriangles |
If true, will compute triangle list and index list inside the ROI. (default = true) More... | |
Data< bool > | d_computeQuads |
If true, will compute quad list and index list inside the ROI. (default = true) More... | |
Data< bool > | d_computeTetrahedra |
If true, will compute tetrahedra list and index list inside the ROI. (default = true) More... | |
Data< bool > | d_computeHexahedra |
If true, will compute hexahedra list and index list inside the ROI. (default = true) More... | |
Data< bool > | d_strict |
If true, an element is inside the box if all of its nodes are inside. If False, only the center point of the element is checked. (default = true) More... | |
Data< SetIndex > | d_indices |
Indices of the points contained in the ROI. More... | |
Data< SetIndex > | d_edgeIndices |
Indices of the edges contained in the ROI. More... | |
Data< SetIndex > | d_triangleIndices |
Indices of the triangles contained in the ROI. More... | |
Data< SetIndex > | d_quadIndices |
Indices of the quad contained in the ROI. More... | |
Data< SetIndex > | d_tetrahedronIndices |
Indices of the tetrahedra contained in the ROI. More... | |
Data< SetIndex > | d_hexahedronIndices |
Indices of the hexahedra contained in the ROI. More... | |
Data< VecCoord > | d_pointsInROI |
Points contained in the ROI. More... | |
Data< VecEdge > | d_edgesInROI |
Edges contained in the ROI. More... | |
Data< VecTriangle > | d_trianglesInROI |
Triangles contained in the ROI. More... | |
Data< VecQuad > | d_quadsInROI |
Quad contained in the ROI. More... | |
Data< VecTetra > | d_tetrahedraInROI |
Tetrahedra contained in the ROI. More... | |
Data< VecHexa > | d_hexahedraInROI |
Hexahedra contained in the ROI. More... | |
Data< sofa::Size > | d_nbIndices |
Number of selected indices. More... | |
Data< VecCoord > | d_pointsOutROI |
Points not contained in the ROI. More... | |
Data< type::vector< Edge > > | d_edgesOutROI |
Edges not contained in the ROI. More... | |
Data< type::vector< Triangle > > | d_trianglesOutROI |
Triangles not contained in the ROI. More... | |
Data< type::vector< Quad > > | d_quadsOutROI |
Quads not contained in the ROI. More... | |
Data< type::vector< Tetra > > | d_tetrahedraOutROI |
Tetrahedra not contained in the ROI. More... | |
Data< type::vector< Hexa > > | d_hexahedraOutROI |
Hexahedra not contained in the ROI. More... | |
Data< SetIndex > | d_indicesOut |
Indices of the points not contained in the ROI. More... | |
Data< SetIndex > | d_edgeOutIndices |
Indices of the edges not contained in the ROI. More... | |
Data< SetIndex > | d_triangleOutIndices |
Indices of the triangles not contained in the ROI. More... | |
Data< SetIndex > | d_quadOutIndices |
Indices of the quads not contained in the ROI. More... | |
Data< SetIndex > | d_tetrahedronOutIndices |
Indices of the tetrahedra not contained in the ROI. More... | |
Data< SetIndex > | d_hexahedronOutIndices |
Indices of the hexahedra not contained in the ROI. More... | |
Data< bool > | d_drawROI |
Draw the ROI. (default = false) More... | |
Data< bool > | d_drawPoints |
Draw Points. (default = false) More... | |
Data< bool > | d_drawEdges |
Draw Edges. (default = false) More... | |
Data< bool > | d_drawTriangles |
Draw Triangles. (default = false) More... | |
Data< bool > | d_drawQuads |
Draw Quads. (default = false) More... | |
Data< bool > | d_drawTetrahedra |
Draw Tetrahedra. (default = false) More... | |
Data< bool > | d_drawHexahedra |
Draw Tetrahedra. (default = false) More... | |
Data< float > | d_drawSize |
rendering size for ROI and topological elements More... | |
Data< bool > | d_doUpdate |
If true, updates the selection at the beginning of simulation steps. (default = true) More... | |
![]() | |
Data< bool > | f_listening |
if true, handle the events, otherwise ignore the events More... | |
![]() | |
std::vector< lifecycle::DeprecatedData * > | m_oldAttributes |
Data< int > | d_messageLogCount |
Data< std::string > | name |
Name of the object. More... | |
Data< bool > | f_printLog |
if true, emits extra messages at runtime. More... | |
Data< sofa::core::objectmodel::TagSet > | f_tags |
list of the subsets the object belongs to More... | |
Data< sofa::type::BoundingBox > | f_bbox |
this object bounding box More... | |
Data< sofa::core::objectmodel::ComponentState > | d_componentState |
The state of the component among (Dirty, Valid, Undefined, Loading, Invalid). More... | |
std::string | m_definitionSourceFileName {""} |
int | m_definitionSourceFilePos {-1} |
std::string | m_instanciationSourceFileName {""} |
int | m_instanciationSourceFilePos {-1} |
Public Member Functions | |
SOFA_CLASS (SOFA_TEMPLATE(SphereROI, DataTypes), SOFA_TEMPLATE(BaseROI, DataTypes)) | |
bool | roiDoUpdate () override |
void | roiDraw (const core::visual::VisualParams *vparams) override |
void | roiComputeBBox (const core::ExecParams *params, type::BoundingBox &bbox) override |
![]() | |
SOFA_CLASS (SOFA_TEMPLATE(BaseROI, DataTypes), Inherit) | |
void | init () final |
Initialization method called at graph creation and modification, during top-down traversal. More... | |
void | doUpdate () override |
Where you put your engine's impl. More... | |
void | draw (const core::visual::VisualParams *vparams) final |
Render internal data of this object, for debugging purposes. More... | |
void | computeBBox (const core::ExecParams *params, bool onlyVisible) final |
virtual void | roiInit () |
![]() | |
SOFA_ABSTRACT_CLASS (DataEngine, core::objectmodel::BaseObject) | |
void | update () final |
void | addInput (sofa::core::objectmodel::BaseData *data) |
Add a new input to this engine. More... | |
void | addOutput (objectmodel::BaseData *n) |
Add a new output to this engine. More... | |
![]() | |
DataTrackerDDGNode () | |
void | addInputs (std::initializer_list< sofa::core::objectmodel::BaseData * > datas) |
Create a DataCallback object associated with multiple Data fields. More... | |
void | addOutputs (std::initializer_list< sofa::core::objectmodel::BaseData * > datas) |
virtual void | cleanDirty (const core::ExecParams *params=nullptr) |
void | updateAllInputsIfDirty () |
![]() | |
DDGNode () | |
Constructor. More... | |
virtual | ~DDGNode () |
Destructor. Automatically remove remaining links. More... | |
void | addInput (DDGNode *n) |
Add a new input to this node. More... | |
void | delInput (DDGNode *n) |
Remove an input from this node. More... | |
void | addOutput (DDGNode *n) |
Add a new output to this node. More... | |
void | delOutput (DDGNode *n) |
Remove an output from this node. More... | |
const DDGLinkContainer & | getInputs () |
Get the list of inputs for this DDGNode. More... | |
const DDGLinkContainer & | getOutputs () |
Get the list of outputs for this DDGNode. More... | |
bool | isDirty () const |
Returns true if the DDGNode needs to be updated. More... | |
virtual void | setDirtyValue () |
Indicate the value needs to be updated. More... | |
virtual void | setDirtyOutputs () |
Indicate the outputs needs to be updated. This method must be called after changing the value of this node. More... | |
void | cleanDirty () |
Set dirty flag to false. More... | |
virtual void | notifyEndEdit () |
Notify links that the DGNode has been modified. More... | |
void | updateIfDirty () const |
Utility method to call update if necessary. This method should be called before reading of writing the value of this node. More... | |
![]() | |
SOFA_CLASS (BaseObject, Base) | |
void | setSrc (const std::string &v, std::vector< std::string > *attributeList=nullptr) |
Sets a source Object and parses it to collect dependent Data. More... | |
void | setSrc (const std::string &v, const BaseObject *loader, std::vector< std::string > *attributeList=nullptr) |
Base * | findLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link) override |
virtual std::string | getPathName () const override |
Return the full path name of this object. More... | |
virtual bool | insertInNode (BaseNode *) |
virtual bool | removeInNode (BaseNode *) |
SReal | getTime () const |
Current time. More... | |
const BaseContext * | getContext () const |
BaseContext * | getContext () |
const BaseObject * | getMaster () const |
BaseObject * | getMaster () |
const VecSlaves & | getSlaves () const |
BaseObject * | getSlave (const std::string &name) const |
virtual void | addSlave (BaseObject::SPtr s) |
virtual void | removeSlave (BaseObject::SPtr s) |
virtual void | handleEvent (Event *) |
Handle an event. More... | |
virtual void | handleTopologyChange () |
virtual void | handleTopologyChange (core::topology::Topology *t) |
void | parse (BaseObjectDescription *arg) override |
Parse the given description to assign values to this object's fields and potentially other parameters. More... | |
virtual void | bwdInit () |
Initialization method called at graph creation and modification, during bottom-up traversal. More... | |
virtual void | reinit () |
Update method called when variables used in precomputation are modified. More... | |
void | updateInternal () |
Update method called when variables (used to compute other internal variables) are modified. More... | |
virtual void | storeResetState () |
Save the initial state for later uses in reset() More... | |
virtual void | reset () |
Reset to initial state. More... | |
virtual void | cleanup () |
![]() | |
virtual const BaseClass * | getClass () const |
void | addDeprecatedAttribute (lifecycle::DeprecatedData *attribute) |
void | addUpdateCallback (const std::string &name, std::initializer_list< BaseData * > inputs, std::function< sofa::core::objectmodel::ComponentState(const DataTracker &)> function, std::initializer_list< BaseData * > outputs) |
void | addOutputsToCallback (const std::string &name, std::initializer_list< BaseData * > outputs) |
const std::string & | getName () const |
Accessor to the object name. More... | |
void | setName (const std::string &n) |
Set the name of this object. More... | |
void | setName (const std::string &n, int counter) |
Set the name of this object, adding an integer counter. More... | |
std::string | getTypeName () const |
Get the type name of this object (i.e. class and template types) More... | |
virtual std::string | getClassName () const |
Get the class name of this object. More... | |
virtual std::string | getTemplateName () const final |
Get the template type names (if any) used to instantiate this object. More... | |
std::string | getNameSpaceName () const |
Get the template type names (if any) used to instantiate this object. More... | |
void | setDefinitionSourceFileName (const std::string &sourceFileName) |
Set the source filename (where the component is implemented) More... | |
const std::string & | getDefinitionSourceFileName () const |
Get the source filename (where the component is implemented) More... | |
void | setDefinitionSourceFilePos (const int) |
Set the source location (where the component is implemented) More... | |
int | getDefinitionSourceFilePos () const |
Get the source location (where the component is implemented) More... | |
void | setInstanciationSourceFileName (const std::string &sourceFileName) |
const std::string & | getInstanciationSourceFileName () const |
void | setInstanciationSourceFilePos (const int) |
int | getInstanciationSourceFilePos () const |
void | addMessage (const sofa::helper::logging::Message &m) const |
size_t | countLoggedMessages (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
const std::deque< sofa::helper::logging::Message > & | getLoggedMessages () const |
const std::string | getLoggedMessagesAsString (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
void | clearLoggedMessages () const |
bool | notMuted () const |
const sofa::core::objectmodel::TagSet & | getTags () const |
Represents the subsets the object belongs to. More... | |
bool | hasTag (Tag t) const |
Return true if the object belong to the given subset. More... | |
void | addTag (Tag t) |
Add a subset qualification to the object. More... | |
void | removeTag (Tag t) |
Remove a subset qualification to the object. More... | |
ComponentState | getComponentState () const |
bool | isComponentStateValid () const |
bool | isComponentStateInvalid () const |
SOFA_ATTRIBUTE_DEPRECATED__TOBASECONSTRAINT () virtual const behavior | |
virtual bool | parseField (const std::string &attribute, const std::string &value) |
Assign one field value (Data or Link) More... | |
virtual bool | hasField (const std::string &attribute) const |
Check if a given Data field or Link exists. More... | |
void | parseFields (const std::list< std::string > &str) |
Assign the field values stored in the given list of name + value pairs of strings. More... | |
virtual void | parseFields (const std::map< std::string, std::string * > &str) |
Assign the field values stored in the given map of name -> value pairs. More... | |
void | writeDatas (std::map< std::string, std::string * > &str)=delete |
Write the current field values to the given map of name -> value pairs. More... | |
void | writeDatas (std::ostream &out, const std::string &separator=" ") |
BaseData * | findData (const std::string &name) const |
std::vector< BaseData * > | findGlobalField (const std::string &name) const |
Find data fields given a name: several can be found as we look into the alias map. More... | |
BaseLink * | findLink (const std::string &name) const |
std::vector< BaseLink * > | findLinks (const std::string &name) const |
Find link fields given a name: several can be found as we look into the alias map. More... | |
virtual void | updateLinks (bool logErrors=true) |
Update pointers in case the pointed-to objects have appeared. More... | |
template<class T > | |
BaseData::BaseInitData | initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags) |
Helper method used to initialize a data field containing a value of type T. More... | |
template<class T > | |
BaseData::BaseInitData | initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used to initialize a data field containing a value of type T. More... | |
template<class T > | |
Data< T >::InitData | initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used to initialize a data field containing a value of type T. More... | |
void | addData (BaseData *f, const std::string &name) |
void | addData (BaseData *f) |
void | removeData (BaseData *f) |
Remove a data field. More... | |
void | addAlias (BaseData *field, const char *alias) |
Add an alias to a Data. More... | |
void | addLink (BaseLink *l) |
Add a link. More... | |
void | addAlias (BaseLink *link, const char *alias) |
Add an alias to a Link. More... | |
const VecData & | getDataFields () const |
Accessor to the vector containing all the fields of this object. More... | |
const MapData & | getDataAliases () const |
Accessor to the map containing all the aliases of this object. More... | |
const VecLink & | getLinks () const |
Accessor to the vector containing all the fields of this object. More... | |
const MapLink & | getLinkAliases () const |
Accessor to the map containing all the aliases of this object. More... | |
virtual bool | findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link) |
template<class T > | |
bool | findLinkDest (T *&ptr, const std::string &path, const BaseLink *link) |
Protected Member Functions | |
SphereROI () | |
~SphereROI () override=default | |
bool | testEdgeAngle (const Edge &e) const |
bool | testTriangleAngle (const Triangle &t) const |
bool | isPointInSphere (const CPos &c, const Real &r, const CPos &p) const |
bool | isPointInROI (const CPos &p) const override |
bool | isEdgeInROI (const Edge &e) const override |
bool | isEdgeInStrictROI (const Edge &e) const override |
bool | isTriangleInROI (const Triangle &t) const override |
bool | isTriangleInStrictROI (const Triangle &t) const override |
![]() | |
BaseROI () | |
~BaseROI () override=default | |
bool | isPointIn (const PointID pid) const |
template<typename Element > | |
bool | isInROI (const Element &e) const |
template<typename Element > | |
bool | isInStrictROI (const Element &e) const |
virtual bool | isQuadInROI (const Quad &q) const |
virtual bool | isQuadInStrictROI (const Quad &q) const |
virtual bool | isTetrahedronInROI (const Tetra &t) const |
virtual bool | isTetrahedronInStrictROI (const Tetra &t) const |
virtual bool | isHexahedronInROI (const Hexa &t) const |
virtual bool | isHexahedronInStrictROI (const Hexa &t) const |
![]() | |
DataEngine () | |
Constructor. More... | |
~DataEngine () override | |
Destructor. Do nothing. More... | |
virtual void | doInternalUpdate () final |
Prevent engines to use the internalUpdate mechanism, so that only update/doUpdate is used. More... | |
![]() | |
virtual void | doAddInput (DDGNode *n) |
virtual void | doDelInput (DDGNode *n) |
virtual void | doAddOutput (DDGNode *n) |
virtual void | doDelOutput (DDGNode *n) |
void | cleanDirtyOutputsOfInputs () |
the dirtyOutputs flags of all the inputs will be set to false More... | |
![]() | |
BaseObject () | |
~BaseObject () override | |
virtual void | doUpdateInternal () |
Implementation of the internal update. More... | |
void | changeContextLink (BaseContext *before, BaseContext *&after) |
void | changeSlavesLink (BaseObject::SPtr ptr, std::size_t, bool add) |
This method insures that slaves objects have master and context links set correctly. More... | |
void | trackInternalData (const BaseData &data) |
Method called to add the Data to the DataTracker (listing the Data to track) More... | |
void | cleanTracker () |
bool | hasDataChanged (const BaseData &data) |
Method called to know if a tracked Data has changed. More... | |
![]() | |
Base () | |
virtual | ~Base () |
void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used by initData() More... | |
void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, BaseData::DataFlags dataFlags) |
Helper method used by initData() More... | |
template<class T > | |
void | initData0 (Data< T > *field, typename Data< T >::InitData &res, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used by initData() More... | |
![]() | |
virtual | ~IntrusiveObject ()=default |
Additional Inherited Members | |
![]() | |
DataTracker | m_dataTracker |
![]() | |
DDGLinkContainer | inputs |
DDGLinkContainer | outputs |
![]() | |
SingleLink< BaseObject, BaseContext, BaseLink::FLAG_DOUBLELINK > | l_context |
LinkSlaves | l_slaves |
SingleLink< BaseObject, BaseObject, BaseLink::FLAG_DOUBLELINK > | l_master |
![]() | |
std::map< std::string, sofa::core::DataTrackerCallback > | m_internalEngine |
VecData | m_vecData |
List of fields (Data instances) More... | |
MapData | m_aliasData |
name -> Data multi-map (includes names and aliases) More... | |
VecLink | m_vecLink |
List of links. More... | |
MapLink | m_aliasLink |
name -> Link multi-map (includes names and aliases) More... | |
![]() | |
template<class T > | |
static bool | canCreate (T *, BaseContext *, BaseObjectDescription *) |
Pre-construction check method called by ObjectFactory. More... | |
template<class T > | |
static T::SPtr | create (T *, BaseContext *context, BaseObjectDescription *arg) |
Construction method called by ObjectFactory. More... | |
![]() | |
static const BaseClass * | GetClass () |
template<class T > | |
static std::string | shortName (const T *ptr=nullptr, BaseObjectDescription *=nullptr) |
Data< type::vector<CPos> > sofa::component::engine::select::SphereROI< DataTypes >::d_centers |
Center(s) of the sphere(s)
Data< type::Vec3 > sofa::component::engine::select::SphereROI< DataTypes >::d_direction |
Edge direction(if edgeAngle > 0)
Data< Real > sofa::component::engine::select::SphereROI< DataTypes >::d_edgeAngle |
Max angle between the direction of the selected edges and the specified direction.
Data< type::Vec3 > sofa::component::engine::select::SphereROI< DataTypes >::d_normal |
Normal direction of the triangles (if triAngle > 0)
Data< type::vector<Real> > sofa::component::engine::select::SphereROI< DataTypes >::d_radii |
Radius(i) of the sphere(s)
Data< Real > sofa::component::engine::select::SphereROI< DataTypes >::d_triAngle |
Max angle between the normal of the selected triangle and the specified normal direction.
|
protected |
|
overrideprotecteddefault |
|
overrideprotectedvirtual |
Reimplemented from sofa::component::engine::select::BaseROI< DataTypes >.
|
overrideprotectedvirtual |
Reimplemented from sofa::component::engine::select::BaseROI< DataTypes >.
|
overrideprotectedvirtual |
|
protected |
|
overrideprotectedvirtual |
Reimplemented from sofa::component::engine::select::BaseROI< DataTypes >.
|
overrideprotectedvirtual |
Reimplemented from sofa::component::engine::select::BaseROI< DataTypes >.
|
overridevirtual |
Reimplemented from sofa::component::engine::select::BaseROI< DataTypes >.
|
overridevirtual |
Reimplemented from sofa::component::engine::select::BaseROI< DataTypes >.
|
overridevirtual |
Reimplemented from sofa::component::engine::select::BaseROI< DataTypes >.
sofa::component::engine::select::SphereROI< DataTypes >::SOFA_CLASS | ( | SOFA_TEMPLATE(SphereROI< DataTypes >, DataTypes) | , |
SOFA_TEMPLATE(BaseROI, DataTypes) | |||
) |
|
protected |
|
protected |