Description
Class for Irrlicht visualization.
It will be managed by a ChIrrNodeAsset asset to be added among the ChBody assets. Such ChIrrNode can automatically be populated with Irrlicht meshes, each inside a ChIrrNodeProxyToAsset, that will correspond to shapes that have been added as ChVisualization assets in ChBody.
Example: (with ascii art, with --> shared pointer, ...> raw pointer)
CHRONO side IRRLICHT side ChBody <....................... ChIrrNodeAsset -----—> ChIrrNode ChBoxShape <-----------— ChIrrNodeProxyToAsset IMeshSceneNode ChSphereShape <---------— ChIrrNodeProxyToAsset IMeshSceneNode
#include <ChIrrNode.h>
Inherits ISceneNode.
Public Member Functions | |
ChIrrNode (std::weak_ptr< ChPhysicsItem > mphysicsitem, irr::scene::ISceneNode *parent, irr::scene::ISceneManager *mgr, irr::s32 id) | |
Build a scene node for the Irrlicht Engine. More... | |
~ChIrrNode () | |
Destructor. | |
virtual void | OnRegisterSceneNode () |
virtual void | render () |
virtual const irr::core::aabbox3d< irr::f32 > & | getBoundingBox () const |
virtual void | setMaterialTexture (irr::s32 textureLayer, irr::video::ITexture *texture) |
ISceneNode * | clone (ISceneNode *newParent, irr::scene::ISceneManager *newManager) |
bool | SetupClones () |
This function is needed only when using the 'clones' feature, i.e. More... | |
void | OnAnimate (irr::u32 timeMs) |
std::weak_ptr< ChPhysicsItem > | GetPhysicsItem () |
Returns reference to the pointer which references the ChPhysicsItem (ex. More... | |
virtual bool | IsChronoControlled () const |
Returns true if the node is moved by Chrono simulation system. | |
virtual void | SetChronoControlled (const bool &controlled) |
Set true if the node must be moved by Chrono simulation system (it follows a ChPhysicsItem that contains a ChIrrNodeAsset, proxy to this). | |
virtual void | UpdateAssetsProxies () |
Updates the children Irr mesh nodes to reflect the ChVisualization assets, by spawning the Update() command to all children ChIrrNodeProxyToAsset. | |
virtual irr::scene::ESCENE_NODE_TYPE | getType () const |
Constructor & Destructor Documentation
◆ ChIrrNode()
chrono::irrlicht::ChIrrNode::ChIrrNode | ( | std::weak_ptr< ChPhysicsItem > | mphysicsitem, |
irr::scene::ISceneNode * | parent, | ||
irr::scene::ISceneManager * | mgr, | ||
irr::s32 | id | ||
) |
Build a scene node for the Irrlicht Engine.
This scene node also has a pointer to a rigid body for the Chrono multibody simulation. To delete a ChIrrSceneNode node from an Irrlicht scene, use the remove() function from the Irrlicht side (it won't delete the C::E body, though), or better delete the corresponding ChIrrlichtObj asset from the C::E side, or delete the full C::E body.
- Parameters
-
mphysicsitem pointer to the Chrono item (es. rigid body) parent the parent node in Irrlicht hierarchy mgr the Irrlicht scene manager id the Irrlicht identifier
Member Function Documentation
◆ GetPhysicsItem()
|
inline |
Returns reference to the pointer which references the ChPhysicsItem (ex.
a ChBody) wrapped by this scene node.
◆ SetupClones()
bool chrono::irrlicht::ChIrrNode::SetupClones | ( | ) |
This function is needed only when using the 'clones' feature, i.e.
shapes in assets define a sample that must be cloned (ex in ChParticleClones)
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_irrlicht/ChIrrNode.h
- /builds/uwsbel/chrono/src/chrono_irrlicht/ChIrrNode.cpp