chrono::irrlicht Namespace Reference

Description

Namespace with classes for the Irrlicht module.

Classes

class  ChBodySceneNode
 Irrlicht scene node for a body. More...
 
class  ChIrrApp
 Class to add some GUI to Irrlicht+Chrono::Engine applications. More...
 
class  ChIrrAppInterface
 Class to add some GUI to Irrlicht + Chrono::Engine applications. More...
 
class  ChIrrAssetConverter
 Class with static functions which allow creation of Irrlicht frequent 'scene nodes' like lights, camera, sky box etc. More...
 
class  RTSCamera
 Class to create an interactive videocamera in Irrlicht, that is similar to the Maya camera but hasn't the problems that the Maya camera has in Irrlicht 1.5. More...
 
class  CShaderPreprocessor
 CShaderPreprocessor. More...
 
class  DepthShaderCB
 DepthShaderCB. More...
 
class  ShadowShaderCB
 ShadowShaderCB. More...
 
class  ScreenQuadCB
 ScreenQuadCB. More...
 
class  CScreenQuad
 CScreenQuad. More...
 
class  EffectHandler
 Main effect handling class, use this to apply shadows and effects. More...
 
class  ChIrrNode
 Class for Irrlicht visualization. More...
 
class  ChIrrNodeAsset
 Class for adding Irrlicht visualization to a ChPhysicsItem. More...
 
class  ChIrrNodeProxyToAsset
 Class for proxy to ChAsset, it is a node with mesh in Irrlicht system and a shared pointer to the ChAsset to whom it corresponds. More...
 
class  ChIrrParticlesSceneNode
 Definition of an Irrlicht scene node for particles. More...
 
class  ChIrrTools
 Class with static functions which help with the integration of Chrono::Engine and Irrlicht 3D rendering library. More...
 
class  ChIrrWizard
 Class with static functions which allow creation of Irrlicht frequent 'scene nodes' like lights, camera, sky box etc. More...
 

Enumerations

enum  E_SHADER_EXTENSION { ESE_GLSL, ESE_HLSL, ESE_COUNT }
 
enum  E_SHADOW_MODE {
  ESM_RECEIVE, ESM_CAST, ESM_BOTH, ESM_EXCLUDE,
  ESM_COUNT
}
 Shadow mode enums, sets whether a node recieves shadows, casts shadows, or both. More...
 
enum  E_FILTER_TYPE {
  EFT_NONE, EFT_4PCF, EFT_8PCF, EFT_12PCF,
  EFT_16PCF, EFT_COUNT
}
 Various filter types, up to 16 samples PCF.
 

Functions

ISceneNode * addChBodySceneNode (ChSystem *asystem, ISceneManager *amanager, IAnimatedMesh *amesh, double mmass, const ChVector<> &position, const ChQuaternion<> &rotation, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_offsetCOG (ChSystem *asystem, ISceneManager *amanager, IAnimatedMesh *amesh, double mmass, const ChVector<> &mesh_position, const ChQuaternion<> &rotation, const ChVector<> &COG_offset, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easySphere (ChSystem *asystem, ISceneManager *amanager, double mmass, const ChVector<> &position, double mradius, int Hslices, int Vslices, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easyBox (ChSystem *asystem, ISceneManager *amanager, double mmass, const ChVector<> &position, const ChQuaternion<> &rotation, const ChVector<> &size, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easyCylinder (ChSystem *asystem, ISceneManager *amanager, double mmass, const ChVector<> &position, const ChQuaternion<> &rotation, const ChVector<> &size, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easyBarrel (ChSystem *asystem, ISceneManager *amanager, double mmass, const ChVector<> &position, double mradiusH, double mradiusV, double mYlow, double mYhigh, double mOffset, int Hslices, int Vslices, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easyClone (ChSystem *asystem, ISceneManager *amanager, ChBodySceneNode *source, const ChVector<> &position, const ChQuaternion<> &rotation, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easyGenericMesh (ChSystem *asystem, ISceneManager *amanager, double mmass, const ChVector<> &position, const ChQuaternion<> &rotation, const char *mesh_filemane, bool is_static, bool is_convex, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easyStaticMesh (ChSystem *asystem, ISceneManager *amanager, const char *mesh_filename, const ChVector<> &position, const ChQuaternion<> &rotation, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easyConvexMesh (ChSystem *asystem, ISceneManager *amanager, const char *mesh_filename, double mmass, const ChVector<> &position, const ChQuaternion<> &rotation, ISceneNode *aparent, s32 mid)
 
ISceneNode * addChBodySceneNode_easyConcaveMesh (ChSystem *asystem, ISceneManager *amanager, const char *mesh_filename, double mmass, const ChVector<> &position, const ChQuaternion<> &rotation, ISceneNode *aparent, s32 mid)
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode (ChSystem *asystem, irr::scene::ISceneManager *amanager, irr::scene::IAnimatedMesh *amesh, double mmass=1.0, const ChVector<> &position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode with given position of COG, inserts it into the Irrlicht scene etc. More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_offsetCOG (ChSystem *asystem, irr::scene::ISceneManager *amanager, irr::scene::IAnimatedMesh *amesh, double mmass=1.0, const ChVector<> &mesh_position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), const ChVector<> &COG_offset=ChVector<>(0, 0, 0), irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Same as above, but allow user to specify an offset distance between COG and mesh location. More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easySphere (ChSystem *asystem, irr::scene::ISceneManager *amanager, double mmass=1.0, const ChVector<> &position=ChVector<>(0, 0, 0), double mradius=1.0, int Hslices=15, int Vslices=8, irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode representing a sphere, ready to use for collisions (otherwise you could use addChBodySceneNode() and add collision geometry by hand, but the following is easier). More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easyBox (ChSystem *asystem, irr::scene::ISceneManager *amanager, double mmass=1.0, const ChVector<> &position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), const ChVector<> &size=ChVector<>(1, 1, 1), irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode representing a box, ready to use for collisions (otherwise you could use addChBodySceneNode() and add collision geometry by hand, but the following is easier). More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easyCylinder (ChSystem *asystem, irr::scene::ISceneManager *amanager, double mmass=1.0, const ChVector<> &position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), const ChVector<> &size=ChVector<>(1, 1, 1), irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode representing a cylinder, ready to use for collisions (otherwise you could use addChBodySceneNode() and add collision geometry by hand, but the following is easier). More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easyBarrel (ChSystem *asystem, irr::scene::ISceneManager *amanager, double mmass=1.0, const ChVector<> &position=ChVector<>(0, 0, 0), double mradiusH=1.0, double mradiusV=1.0, double mYlow=-0.5, double mYhigh=0.8, double mOffset=0.0, int Hslices=15, int Vslices=10, irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode representing a barrel, ready to use for collisions (otherwise you could use addChBodySceneNode() and add collision geometry by hand, but the following is easier). More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easyClone (ChSystem *asystem, irr::scene::ISceneManager *amanager, ChBodySceneNode *source, const ChVector<> &position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function that creates a ChBodySceneNode representing a clone of another ChBodySceneNode, but at a different position and rotation. More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easyGenericMesh (ChSystem *asystem, irr::scene::ISceneManager *amanager, double mmass=1.0, const ChVector<> &position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), const char *mesh_filemane=0, bool is_static=true, bool is_convex=true, irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode representing a GENERIC mesh of arbitrary shape, loaded from file using the Irrlicht formats (.obj, .3ds, .X, etc) ready to use for collisions. More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easyStaticMesh (ChSystem *asystem, irr::scene::ISceneManager *amanager, const char *mesh_filename, const ChVector<> &position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode representing a STATIC shape, as a mesh loaded from file using the Irrlicht formats (.obj, .3ds, .X, etc). More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easyConvexMesh (ChSystem *asystem, irr::scene::ISceneManager *amanager, const char *mesh_filename, double mmass, const ChVector<> &position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode representing a CONVEX shape, as a mesh loaded from file using the Irrlicht formats (.obj, .3ds, .X, etc). More...
 
ChApiIrr irr::scene::ISceneNode * addChBodySceneNode_easyConcaveMesh (ChSystem *asystem, irr::scene::ISceneManager *amanager, const char *mesh_filename, double mmass, const ChVector<> &position=ChVector<>(0, 0, 0), const ChQuaternion<> &rotation=ChQuaternion<>(1, 0, 0, 0), irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChBodySceneNode representing a CONCAVE shape, as a mesh loaded from file using the Irrlicht formats (.obj, .3ds, .X, etc). More...
 
irr::core::array< SDefineExp > grabDefineExpressions (irr::core::stringc &shaderProgram)
 
std::string getFileContent (const std::string pFile)
 
IAnimatedMesh * createEllipticalMesh (f32 radiusH, f32 radiusV, f32 Ylow, f32 Yhigh, f32 offset, u32 polyCountX, u32 polyCountY)
 
IMesh * createCubeMesh (const irr::core::vector3df &size)
 Same as irr::CGeomentryCreator::createCubeMesh(), but with no shared normals between faces. More...
 
IMesh * createCylinderMesh (f32 radius, f32 length, u32 tesselation)
 
void fillChTrimeshFromIrlichtMesh (chrono::geometry::ChTriangleMesh *chTrimesh, IMesh *pMesh)
 
void fillIrlichtMeshFromChTrimesh (IMesh *pMesh, chrono::geometry::ChTriangleMesh *chTrimesh, irr::video::SColor clr)
 
ChApiIrr
irr::scene::IAnimatedMesh * 
createEllipticalMesh (irr::f32 radiusH, irr::f32 radiusV, irr::f32 Ylow, irr::f32 Yhigh, irr::f32 offset, irr::u32 polyCountX, irr::u32 polyCountY)
 Some functions to allow easy creation of meshes for Irrlicht visualization.
 
ChApiIrr irr::scene::IMesh * createCylinderMesh (irr::f32 radius, irr::f32 length, irr::u32 tesselation)
 Same as irr::CGeomentryCreator::createCylinderMesh(), but with no shared normals between caps and hull.
 
ChApiIrr void fillChTrimeshFromIrlichtMesh (geometry::ChTriangleMesh *chTrimesh, irr::scene::IMesh *pMesh)
 This function is based on a modified version of the irrlicht_bullet demo, see http://www.continuousphysics.com It is used to convert an Irrlicht mesh into a ChTriangleMesh, which is used for collision detection in Chrono::Engine. More...
 
ChApiIrr void fillIrlichtMeshFromChTrimesh (irr::scene::IMesh *pMesh, geometry::ChTriangleMesh *chTrimesh, irr::video::SColor clr=irr::video::SColor(255, 255, 255, 255))
 Given a ChTriangleMesh object, computes an Irrlicht mesh. More...
 
scene::ISceneNode * addChParticlesSceneNode (ChSystem *asystem, scene::ISceneManager *amanager, scene::IAnimatedMesh *amesh, irr::core::vector3df amesh_scale, double mmass, scene::ISceneNode *aparent, s32 mid)
 
scene::ISceneNode * addChParticlesSceneNode_easySpheres (ChSystem *asystem, scene::ISceneManager *amanager, double mmass, double mradius, int Hslices, int Vslices, scene::ISceneNode *aparent, s32 mid)
 
ChApiIrr irr::scene::ISceneNode * addChParticlesSceneNode (ChSystem *asystem, irr::scene::ISceneManager *amanager, irr::scene::IAnimatedMesh *amesh, irr::core::vector3df amesh_scale, double mmass=1.0, irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChIrrParticlesSceneNode and inserts it into the Irrlicht scene. More...
 
ChApiIrr irr::scene::ISceneNode * addChParticlesSceneNode_easySpheres (ChSystem *asystem, irr::scene::ISceneManager *amanager, double mmass=1.0, double mradius=1.0, int Hslices=12, int Vslices=6, irr::scene::ISceneNode *aparent=0, irr::s32 mid=-1)
 Easy-to-use function which creates a ChIrrParticlesSceneNode representing a cluster of particles, ready to use for collisions (otherwise you could use addChBodySceneNode() and add collision geometry by hand, but the following is easier). More...
 

Variables

const char *const LIGHT_MODULATE_P [ESE_COUNT]
 
const char *const SHADOW_PASS_1P [ESE_COUNT]
 
const char *const SHADOW_PASS_1PT [ESE_COUNT]
 
const char *const SHADOW_PASS_1V [ESE_COUNT]
 
const char *const SHADOW_PASS_2P [ESE_COUNT]
 
const char *const SHADOW_PASS_2V [ESE_COUNT]
 
const char *const SIMPLE_P [ESE_COUNT]
 
const char *const WHITE_WASH_P [ESE_COUNT]
 
const char *const WHITE_WASH_P_ADD [ESE_COUNT]
 
const char *const SCREEN_QUAD_V [ESE_COUNT]
 
const char *const VSM_BLUR_P [ESE_COUNT]