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
 
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 ()
 

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 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)
 

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 29 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 264 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 54 of file VisualObject.h.

◆ customVisualVisible() [1/2]

void VisualObject::customVisualVisible ( const bool  visible)

Definition at line 252 of file VisualObject.cpp.

◆ customVisualVisible() [2/2]

bool VisualObject::customVisualVisible ( ) const

Definition at line 259 of file VisualObject.cpp.

◆ FreeOpenGLResources()

void VisualObject::FreeOpenGLResources ( )
static

Definition at line 154 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 45 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 187 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 46 of file VisualObject.h.

◆ parent() [2/2]

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

Definition at line 47 of file VisualObject.h.

◆ parseVisual() [1/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 156 of file VisualObject.cpp.

◆ parseVisual() [2/2]

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

Definition at line 172 of file VisualObject.cpp.

◆ setCollisionShape()

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

Definition at line 94 of file VisualObject.h.

◆ showCollisionShape()

void VisualObject::showCollisionShape ( bool  show)

Definition at line 246 of file VisualObject.cpp.

Member Data Documentation

◆ collisionShape_

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

Definition at line 97 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 64 of file VisualObject.h.

◆ glCollision_

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

Definition at line 76 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 75 of file VisualObject.h.

◆ glCustomVisualId_

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

Definition at line 77 of file VisualObject.h.

◆ insertCustomVizIntoPhysical_

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

Definition at line 80 of file VisualObject.h.

◆ insertCustomVizIntoViz_

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

Definition at line 79 of file VisualObject.h.

◆ world_

World* mvsim::VisualObject::world_
protected

Definition at line 71 of file VisualObject.h.


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


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