Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
mvsim::DummyInvisibleBlock Class Reference

#include <Block.h>

Inheritance diagram for mvsim::DummyInvisibleBlock:
Inheritance graph
[legend]

Public Types

using Ptr = std::shared_ptr< DummyInvisibleBlock >
 
- Public Types inherited from mvsim::Simulable
using Ptr = std::shared_ptr< Simulable >
 

Public Member Functions

void add_sensor (const SensorBase::Ptr &sensor)
 
virtual void apply_force ([[maybe_unused]] const mrpt::math::TVector2D &force, [[maybe_unused]] const mrpt::math::TPoint2D &applyPoint) override
 
virtual void create_multibody_system (b2World &)
 
 DummyInvisibleBlock (World *parent)
 
virtual double getMass () const
 
virtual float getMaxBlockRadius () const
 
virtual void simul_post_timestep (const TSimulContext &context) override
 
virtual void simul_pre_timestep (const TSimulContext &context) override
 
- Public Member Functions inherited from mvsim::VisualObject
const std::optional< Shape2p5 > & collisionShape () const
 
void customVisualVisible (const bool visible)
 
bool customVisualVisible () const
 
virtual void guiUpdate (const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &viz, const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &physical)
 
Worldparent ()
 
const Worldparent () const
 
void showCollisionShape (bool show)
 
 VisualObject (World *parent, bool insertCustomVizIntoViz=true, bool insertCustomVizIntoPhysical=true)
 
virtual ~VisualObject ()
 
- Public Member Functions inherited from mvsim::Simulable
virtual void apply_force (const mrpt::math::TVector2D &force, const mrpt::math::TPoint2D &applyPoint=mrpt::math::TPoint2D(0, 0))
 
const b2Bodyb2d_body () const
 
b2Bodyb2d_body ()
 
virtual void freeOpenGLResources ()
 
mrpt::poses::CPose2D getCPose2D () const
 Alternative to getPose() More...
 
mrpt::poses::CPose3D getCPose3D () const
 Alternative to getPose() More...
 
mrpt::math::TVector3D getLinearAcceleration () const
 
const std::string & getName () const
 
mrpt::math::TPose3D getPose () const
 
mrpt::math::TPose3D getPoseNoLock () const
 No thread-safe version. Used internally only. More...
 
WorldgetSimulableWorldObject ()
 
const WorldgetSimulableWorldObject () const
 
mrpt::math::TTwist2D getTwist () const
 
mrpt::math::TTwist2D getVelocityLocal () const
 
bool hadCollision () const
 
bool isInCollision () const
 
virtual VisualObjectmeAsVisualObject ()
 
void resetCollisionFlag ()
 
void setName (const std::string &s)
 
void setPose (const mrpt::math::TPose3D &p) const
 
void setTwist (const mrpt::math::TTwist2D &dq) const
 
 Simulable (World *parent)
 

Static Public Member Functions

static Ptr factory (World *parent, const rapidxml::xml_node< char > *xml_node)
 
static Ptr factory (World *parent, const std::string &xml_text)
 
- Static Public Member Functions inherited from mvsim::VisualObject
static void FreeOpenGLResources ()
 

Protected Member Functions

void internalGuiUpdate (const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &viz, const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &physical, [[maybe_unused]] bool childrenOnly) override
 
void registerOnServer (mvsim::Client &c) override
 
- Protected Member Functions inherited from mvsim::VisualObject
void addCustomVisualization (const mrpt::opengl::CRenderizable::Ptr &glModel, const mrpt::poses::CPose3D &modelPose={}, const float modelScale=1.0f, const std::string &modelName="group", const std::optional< std::string > &modelURI=std::nullopt, const bool initialShowBoundingBox=false)
 
virtual void internalGuiUpdate (const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &viz, const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &physical, bool childrenOnly=false)=0
 
bool parseVisual (const rapidxml::xml_node< char > &rootNode)
 Returns true if there is at least one <visual>...</visual> entry. More...
 
bool parseVisual (const JointXMLnode<> &rootNode)
 
void setCollisionShape (const Shape2p5 &cs)
 

Private Attributes

TListSensors sensors_
 Sensors aboard. More...
 

Additional Inherited Members

- Static Public Attributes inherited from mvsim::VisualObject
static double GeometryEpsilon = 1e-3
 
- Protected Attributes inherited from mvsim::VisualObject
std::shared_ptr< mrpt::opengl::CSetOfObjects > glCollision_
 
std::shared_ptr< mrpt::opengl::CSetOfObjects > glCustomVisual_
 
int32_t glCustomVisualId_ = -1
 
const bool insertCustomVizIntoPhysical_ = true
 
const bool insertCustomVizIntoViz_ = true
 
Worldworld_
 
- Protected Attributes inherited from mvsim::Simulable
std::string name_
 

Detailed Description

An invisible block which can be used as an auxiliary anchor object.

Definition at line 191 of file Block.h.

Member Typedef Documentation

◆ Ptr

Definition at line 194 of file Block.h.

Constructor & Destructor Documentation

◆ DummyInvisibleBlock()

DummyInvisibleBlock::DummyInvisibleBlock ( World parent)

Definition at line 452 of file Block.cpp.

Member Function Documentation

◆ add_sensor()

void mvsim::DummyInvisibleBlock::add_sensor ( const SensorBase::Ptr sensor)
inline

Definition at line 229 of file Block.h.

◆ apply_force()

virtual void mvsim::DummyInvisibleBlock::apply_force ( [[maybe_unused] ] const mrpt::math::TVector2D &  force,
[[maybe_unused] ] const mrpt::math::TPoint2D &  applyPoint 
)
inlineoverridevirtual

Definition at line 216 of file Block.h.

◆ create_multibody_system()

virtual void mvsim::DummyInvisibleBlock::create_multibody_system ( b2World )
inlinevirtual

Definition at line 222 of file Block.h.

◆ factory() [1/2]

static Ptr mvsim::DummyInvisibleBlock::factory ( World parent,
const rapidxml::xml_node< char > *  xml_node 
)
static

Class factory: Creates a block from XML description of type "<block>...</block>".

◆ factory() [2/2]

static Ptr mvsim::DummyInvisibleBlock::factory ( World parent,
const std::string &  xml_text 
)
static

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ getMass()

virtual double mvsim::DummyInvisibleBlock::getMass ( ) const
inlinevirtual

Get the block mass

Definition at line 227 of file Block.h.

◆ getMaxBlockRadius()

virtual float mvsim::DummyInvisibleBlock::getMaxBlockRadius ( ) const
inlinevirtual

Definition at line 224 of file Block.h.

◆ internalGuiUpdate()

void DummyInvisibleBlock::internalGuiUpdate ( const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &  viz,
const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &  physical,
[[maybe_unused] ] bool  childrenOnly 
)
overrideprotected

Definition at line 457 of file Block.cpp.

◆ registerOnServer()

void mvsim::DummyInvisibleBlock::registerOnServer ( mvsim::Client c)
inlineoverrideprotectedvirtual

Reimplemented from mvsim::Simulable.

Definition at line 240 of file Block.h.

◆ simul_post_timestep()

virtual void mvsim::DummyInvisibleBlock::simul_post_timestep ( const TSimulContext context)
inlineoverridevirtual

Override to do any required process right after the integration of dynamic equations for each timestep. IMPORTANT: Reimplementations MUST also call this base method, since it is in charge of important tasks (e.g. update q_, dq_)

Reimplemented from mvsim::Simulable.

Definition at line 210 of file Block.h.

◆ simul_pre_timestep()

virtual void mvsim::DummyInvisibleBlock::simul_pre_timestep ( const TSimulContext context)
inlineoverridevirtual

Process right before the integration of dynamic equations for each timestep: set action forces from motors, update friction models, etc.

Reimplemented from mvsim::Simulable.

Definition at line 205 of file Block.h.

Member Data Documentation

◆ sensors_

TListSensors mvsim::DummyInvisibleBlock::sensors_
private

Sensors aboard.

Definition at line 248 of file Block.h.


The documentation for this class was generated from the following files:


mvsim
Author(s):
autogenerated on Tue Jul 4 2023 03:08:23