Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
mvsim::VisualObject Class Referenceabstract

#include <VisualObject.h>

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

Public Member Functions

const std::optional< Shape2p5 > & collisionShape () const
 
bool customVisualVisible () const
 
void customVisualVisible (const bool visible)
 
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 ()
 

Static Public Member Functions

static void FreeOpenGLResources ()
 

Static Public Attributes

static double GeometryEpsilon = 1e-3
 

Protected Member Functions

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 JointXMLnode<> &rootNode)
 
bool parseVisual (const rapidxml::xml_node< char > &rootNode)
 Returns true if there is at least one <visual>...</visual> entry. More...
 
void setCollisionShape (const Shape2p5 &cs)
 

Protected Attributes

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_
 

Private Member Functions

bool implParseVisual (const rapidxml::xml_node< char > &visual_node)
 Called by parseVisual once per "visual" block. More...
 

Private Attributes

std::optional< Shape2p5collisionShape_
 

Detailed Description

Virtual base class for any entity that can be shown in the 3D viewer (or sent out to RViz)

Definition at line 35 of file VisualObject.h.

Constructor & Destructor Documentation

◆ VisualObject()

VisualObject::VisualObject ( World parent,
bool  insertCustomVizIntoViz = true,
bool  insertCustomVizIntoPhysical = true 
)

Definition at line 32 of file VisualObject.cpp.

◆ ~VisualObject()

VisualObject::~VisualObject ( )
virtualdefault

Member Function Documentation

◆ addCustomVisualization()

void VisualObject::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 
)
protected

Definition at line 262 of file VisualObject.cpp.

◆ collisionShape()

const std::optional<Shape2p5>& mvsim::VisualObject::collisionShape ( ) const
inline

Returns the collision shape, if defined (should be for regular entities after correct initialization).

Definition at line 59 of file VisualObject.h.

◆ customVisualVisible() [1/2]

bool VisualObject::customVisualVisible ( ) const

Definition at line 257 of file VisualObject.cpp.

◆ customVisualVisible() [2/2]

void VisualObject::customVisualVisible ( const bool  visible)

Definition at line 250 of file VisualObject.cpp.

◆ FreeOpenGLResources()

void VisualObject::FreeOpenGLResources ( )
static

Definition at line 153 of file VisualObject.cpp.

◆ guiUpdate()

void VisualObject::guiUpdate ( const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &  viz,
const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &  physical 
)
virtual

This creates a new object in the scene and/or update it according to the current state of the object. If none of the scenes are passed, the poses of existing visual objects are updated, but no new ones are created.

Definition at line 44 of file VisualObject.cpp.

◆ implParseVisual()

bool VisualObject::implParseVisual ( const rapidxml::xml_node< char > &  visual_node)
private

Called by parseVisual once per "visual" block.

Definition at line 185 of file VisualObject.cpp.

◆ internalGuiUpdate()

virtual void mvsim::VisualObject::internalGuiUpdate ( const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &  viz,
const mrpt::optional_ref< mrpt::opengl::COpenGLScene > &  physical,
bool  childrenOnly = false 
)
protectedpure virtual

◆ parent() [1/2]

World* mvsim::VisualObject::parent ( )
inline

Definition at line 51 of file VisualObject.h.

◆ parent() [2/2]

const World* mvsim::VisualObject::parent ( ) const
inline

Definition at line 52 of file VisualObject.h.

◆ parseVisual() [1/2]

bool VisualObject::parseVisual ( const JointXMLnode<> &  rootNode)
protected

Definition at line 170 of file VisualObject.cpp.

◆ parseVisual() [2/2]

bool VisualObject::parseVisual ( const rapidxml::xml_node< char > &  rootNode)
protected

Returns true if there is at least one <visual>...</visual> entry.

Definition at line 155 of file VisualObject.cpp.

◆ setCollisionShape()

void mvsim::VisualObject::setCollisionShape ( const Shape2p5 cs)
inlineprotected

Definition at line 95 of file VisualObject.h.

◆ showCollisionShape()

void VisualObject::showCollisionShape ( bool  show)

Definition at line 244 of file VisualObject.cpp.

Member Data Documentation

◆ collisionShape_

std::optional<Shape2p5> mvsim::VisualObject::collisionShape_
private

Definition at line 98 of file VisualObject.h.

◆ GeometryEpsilon

double VisualObject::GeometryEpsilon = 1e-3
static

Epsilon for geometry checks related to bounding boxes (default:1e-3)

Definition at line 66 of file VisualObject.h.

◆ glCollision_

std::shared_ptr<mrpt::opengl::CSetOfObjects> mvsim::VisualObject::glCollision_
protected

Definition at line 78 of file VisualObject.h.

◆ glCustomVisual_

std::shared_ptr<mrpt::opengl::CSetOfObjects> mvsim::VisualObject::glCustomVisual_
protected

If not empty, will override the derived-class visualization for this object.

Definition at line 77 of file VisualObject.h.

◆ glCustomVisualId_

int32_t mvsim::VisualObject::glCustomVisualId_ = -1
protected

Definition at line 79 of file VisualObject.h.

◆ insertCustomVizIntoPhysical_

const bool mvsim::VisualObject::insertCustomVizIntoPhysical_ = true
protected

Definition at line 82 of file VisualObject.h.

◆ insertCustomVizIntoViz_

const bool mvsim::VisualObject::insertCustomVizIntoViz_ = true
protected

Definition at line 81 of file VisualObject.h.

◆ world_

World* mvsim::VisualObject::world_
protected

Definition at line 73 of file VisualObject.h.


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


mvsim
Author(s):
autogenerated on Wed May 28 2025 02:13:10