Description
Class with static functions which allow creation of Irrlicht frequent 'scene nodes' like lights, camera, sky box etc.
with very simple statements.
#include <ChIrrAssetConverter.h>
Public Member Functions | |
ChIrrAssetConverter (ChIrrAppInterface &ainterface) | |
Constructor. | |
~ChIrrAssetConverter () | |
Destructor. | |
std::shared_ptr< ChIrrNodeAsset > | GetIrrNodeAsset (std::shared_ptr< ChPhysicsItem > mitem) |
Returns the proxy to the ChIrrNode, by scanning all assets. More... | |
void | Bind (std::shared_ptr< ChPhysicsItem > mitem) |
Shortcut to add and bind a ChIrrNodeAsset to an item, if it has not been added previously. | |
void | BindAll () |
Shortcut to add and bind a ChIrrNodeAsset to all items in a ChSystem. More... | |
void | Update (std::shared_ptr< ChPhysicsItem > mitem) |
This function sets up the Irrlicht nodes corresponding to the geometric assets that are found in the ChPhysicsItem 'mitem'. More... | |
void | UpdateAll () |
For all items in a ChSystem, this function sets up the Irrlicht nodes corresponding to the geometric assets that have been added to the items. More... | |
void | CleanIrrlicht (std::shared_ptr< ChPhysicsItem > mitem) |
Clean all Irrlicht stuff that has been put in the ChIrrNode in a previous Update or PopulateIrrlicht operation. | |
Public Attributes | |
irr::scene::IAnimatedMesh * | sphereMesh |
irr::scene::IMesh * | cubeMesh |
irr::scene::IMesh * | cylinderMesh |
irr::scene::IMesh * | capsuleMesh |
irr::scene::ISceneManager * | scenemanager |
irr::IrrlichtDevice * | mdevice |
ChIrrAppInterface * | minterface |
ChCamera * | mcamera |
bool | camera_found_in_assets |
Member Function Documentation
◆ BindAll()
void chrono::irrlicht::ChIrrAssetConverter::BindAll | ( | ) |
Shortcut to add and bind a ChIrrNodeAsset to all items in a ChSystem.
If it has been already added, the existing ChIrrNodeAsset is used. NOTE. If you want a finer control on which item has an Irrlicht proxy, and which other does not need it, just use Bind() on a per-item basis.. NOTE. This conversion should be done only if needed (e.g. at the beginning of an animation), i.e. not too often, for performance reasons.
◆ GetIrrNodeAsset()
std::shared_ptr< ChIrrNodeAsset > chrono::irrlicht::ChIrrAssetConverter::GetIrrNodeAsset | ( | std::shared_ptr< ChPhysicsItem > | mitem | ) |
Returns the proxy to the ChIrrNode, by scanning all assets.
Note, check for the returned pointer, just in case a proxy has not been added.
◆ Update()
void chrono::irrlicht::ChIrrAssetConverter::Update | ( | std::shared_ptr< ChPhysicsItem > | mitem | ) |
This function sets up the Irrlicht nodes corresponding to the geometric assets that are found in the ChPhysicsItem 'mitem'.
For example, if one has added a ChSphereShape and a ChBoxShape to the assets of a ChBody, and a ChIrrNodeAsset too, this Update() function will prepare a ISceneNode in Irrlicht (precisely, a ChIrrNode node) and it will fill it with a spherical triangle mesh, and a box triangle mesh. NOTE. This must be done after the ChIrrNodeAsset has been created and bound, for example via Bind(). NOTE. This conversion should be done only if needed (e.g. at the beginning of an animation or when a shape changes), i.e. not too often, for performance reasons.
◆ UpdateAll()
void chrono::irrlicht::ChIrrAssetConverter::UpdateAll | ( | ) |
For all items in a ChSystem, this function sets up the Irrlicht nodes corresponding to the geometric assets that have been added to the items.
NOTE. This must be done after the ChIrrNodeAsset has been created and bound, for example via Bind(). NOTE. This conversion should be done only if needed (e.g. at the beginning of an animation), i.e. not too often, for performance reasons.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_irrlicht/ChIrrAssetConverter.h
- /builds/uwsbel/chrono/src/chrono_irrlicht/ChIrrAssetConverter.cpp