chrono::irrlicht::ChIrrParticlesSceneNode Class Reference

Description

Definition of an Irrlicht scene node for particles.

#include <ChIrrParticlesSceneNode.h>

Inherits ISceneNode.

Public Member Functions

 ChIrrParticlesSceneNode (ChSystem *msystem, irr::scene::IAnimatedMesh *mesh, irr::core::vector3df mmesh_scale, ISceneNode *parent, irr::scene::ISceneManager *mgr, irr::s32 id)
 Build a scene node for the Irrlicht Engine. More...
 
 ~ChIrrParticlesSceneNode ()
 Destructor. More...
 
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)
 
virtual irr::u32 getMaterialCount ()
 
virtual irr::video::SMaterial & getMaterial (irr::u32 i)
 
void OnAnimate (irr::u32 timeMs)
 
virtual
irr::scene::IShadowVolumeSceneNode * 
addShadowVolumeSceneNode (const irr::scene::IMesh *shadowMesh=0, irr::s32 id=-1, bool zfailmethod=true, irr::f32 infinity=10000.0f)
 
virtual
irr::scene::ESCENE_NODE_TYPE 
getType () const
 
std::shared_ptr
< ChParticlesClones > & 
GetParticles ()
 Returns reference to the shared pointer which references the rigid body wrapped by this scene node. More...
 
virtual bool IsChronoControlled () const
 Returns true if the node is moved by Chrono::Engine simulation system.
 
virtual void SetChronoControlled (const bool &controlled)
 Set true if you want Chrono::Engine to include this body in simulation.
 

Constructor & Destructor Documentation

chrono::irrlicht::ChIrrParticlesSceneNode::ChIrrParticlesSceneNode ( ChSystem msystem,
irr::scene::IAnimatedMesh *  mesh,
irr::core::vector3df  mmesh_scale,
ISceneNode *  parent,
irr::scene::ISceneManager *  mgr,
irr::s32  id 
)

Build a scene node for the Irrlicht Engine.

This scene node is also a rigid body for the Chrono::Engine multibody simulation. As soon as created, the wrapped ChParticlesClones is also added to the Chrono::Engine To delete a ChParticlesClonesScene node from an Irrlicht scene, use the remove() function only! (it will also be removed from the Chrono::Engine) the Irrlicht identifier

Parameters
msystempointer to the Chrono::Engine physical simulation system
mesha sample 3D mesh for representing the shape of each particle
mmesh_scalescale of the sample mesh
parentthe parent node in Irrlicht hierarchy
mgrthe Irrlicht scene manager
chrono::irrlicht::ChIrrParticlesSceneNode::~ChIrrParticlesSceneNode ( )

Destructor.

Note: as this Irrlicht node is destructed, it also automatically removes the wrapped ChParticlesClones from the ChronoEngine.

Member Function Documentation

std::shared_ptr<ChParticlesClones>& chrono::irrlicht::ChIrrParticlesSceneNode::GetParticles ( )

Returns reference to the shared pointer which references the rigid body wrapped by this scene node.