IRRLICHT module

Description

Runtime visualization with Irrlicht.

This module can be used to provide 3D realtime rendering in Chrono::Engine.

For additional information, see:

Namespaces

 chrono::irrlicht
 Namespace with classes for the Irrlicht module.
 
 chrono::irrlicht::tools
 Utilities for interfacing Chrono and Irrlicht.
 

Classes

class  chrono::irrlicht::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  chrono::irrlicht::ChIrrGUI
 Irrlicht GUI attached to a ChVisualSystemIrrlicht. More...
 
class  chrono::irrlicht::ChIrrNodeModel
 Irrlicht scene node associated with the visual model of a physics item. More...
 
class  chrono::irrlicht::ChIrrNodeShape
 Irrlicht scene node associated with a visual shape in a visual model. More...
 
class  chrono::irrlicht::ChVisualSystemIrrlicht
 Irrlicht-based Chrono run-time visualization system. More...
 

Enumerations

enum  ContactsDrawMode {
  CONTACT_NORMALS = 0, CONTACT_DISTANCES, CONTACT_FORCES_N, CONTACT_FORCES,
  CONTACT_NONE
}
 
enum  ContactsLabelMode {
  CONTACT_DISTANCES_VAL, CONTACT_FORCES_VAL, CONTACT_FORCES_N_VAL, CONTACT_FORCES_T_VAL,
  CONTACT_TORQUES_VAL, CONTACT_TORQUES_S_VAL, CONTACT_TORQUES_R_VAL, CONTACT_NONE_VAL
}
 
enum  LinkDrawMode { LINK_REACT_FORCE = 0, LINK_REACT_TORQUE, LINK_NONE }
 
enum  LinkLabelMode {
  LINK_REACT_FORCE_VAL = 0, LINK_REACT_FORCE_X, LINK_REACT_FORCE_Y, LINK_REACT_FORCE_Z,
  LINK_REACT_TORQUE_VAL, LINK_REACT_TORQUE_X, LINK_REACT_TORQUE_Y, LINK_REACT_TORQUE_Z,
  LINK_NONE_VAL
}
 

Functions

ChApiIrr irr::scene::IAnimatedMesh * chrono::irrlicht::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. More...
 
IMesh * chrono::irrlicht::createCubeMesh (const irr::core::vector3df &size)
 Create an Irrlicht mesh representing a box. More...
 
ChApiIrr irr::scene::IMesh * chrono::irrlicht::createCylinderMesh (irr::f32 radius, irr::f32 height, irr::u32 tesselation)
 Create an Irrlicht mesh representing a cylinder. More...
 
ChApiIrr irr::scene::IMesh * chrono::irrlicht::createCapsuleMesh (irr::f32 radius, irr::f32 hlen, irr::u32 numSegV, irr::u32 numSegR)
 Create an Irrlicht mesh representing a capsule. More...
 
ChApiIrr irr::scene::IMesh * chrono::irrlicht::createTruncatedConeMesh (irr::f32 radius_top, irr::f32 radius_low, irr::f32 height, irr::u32 tesselation)
 Create an Irrlicht mesh representing a truncated cone. More...
 
ChApiIrr irr::scene::IMesh * chrono::irrlicht::createConeMesh (irr::f32 radius_low, irr::f32 height, irr::u32 tesselation)
 Create an Irrlicht mesh representing a cone. More...
 
ChApiIrr void chrono::irrlicht::fillChTrimeshFromIrlichtMesh (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. More...
 
ChApiIrr void chrono::irrlicht::fillIrlichtMeshFromChTrimesh (irr::scene::IMesh *pMesh, ChTriangleMesh *chTrimesh, irr::video::SColor clr=irr::video::SColor(255, 255, 255, 255))
 Given a ChTriangleMesh object, computes an Irrlicht mesh. More...
 

Function Documentation

◆ createCapsuleMesh()

ChApiIrr irr::scene::IMesh* chrono::irrlicht::createCapsuleMesh ( irr::f32  radius,
irr::f32  hlen,
irr::u32  numSegV,
irr::u32  numSegR 
)

Create an Irrlicht mesh representing a capsule.

Capsule axis is in Y direction, centered at origin. Capsule total length is radius + 2*hlen + radius. The hemispherical caps and cylindrical segment are all tesselated using numSegR radial segments. The hemispherical caps use numSegV vertical segments each.

◆ createConeMesh()

ChApiIrr irr::scene::IMesh* chrono::irrlicht::createConeMesh ( irr::f32  radius_low,
irr::f32  height,
irr::u32  tesselation 
)

Create an Irrlicht mesh representing a cone.

Truncated cone axis is in Y direction, centered in origin. Truncated cone tot length is 2*height, ranging from y=-height to y=+height.

◆ createCubeMesh()

ChApiIrr irr::scene::IMesh * chrono::irrlicht::createCubeMesh ( const irr::core::vector3df &  size)

Create an Irrlicht mesh representing a box.

Box is centered in origin, extending +/- size in each direction.

◆ createCylinderMesh()

ChApiIrr irr::scene::IMesh* chrono::irrlicht::createCylinderMesh ( irr::f32  radius,
irr::f32  height,
irr::u32  tesselation 
)

Create an Irrlicht mesh representing a cylinder.

Cylinder axis is in Y direction, centered in origin. Cylinder tot length is 2*height, ranging from y=-height to y=+height.

◆ createEllipticalMesh()

ChApiIrr irr::scene::IAnimatedMesh* chrono::irrlicht::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.

Create an Irrlicht mesh representing an ellipsoid. Ellispoid is centered in the origin.

◆ createTruncatedConeMesh()

ChApiIrr irr::scene::IMesh* chrono::irrlicht::createTruncatedConeMesh ( irr::f32  radius_top,
irr::f32  radius_low,
irr::f32  height,
irr::u32  tesselation 
)

Create an Irrlicht mesh representing a truncated cone.

Truncated cone axis is in Y direction, centered in origin. Truncated cone tot length is 2*height, ranging from y=-height to y=+height.

◆ fillChTrimeshFromIrlichtMesh()

ChApiIrr void chrono::irrlicht::fillChTrimeshFromIrlichtMesh ( 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.

OBSOLETE

◆ fillIrlichtMeshFromChTrimesh()

ChApiIrr void chrono::irrlicht::fillIrlichtMeshFromChTrimesh ( irr::scene::IMesh *  pMesh,
ChTriangleMesh chTrimesh,
irr::video::SColor  clr = irr::video::SColor(255, 255, 255, 255) 
)

Given a ChTriangleMesh object, computes an Irrlicht mesh.

Note: the ChTriangleMesh is a 'triangle soup', so no connectivity is used. As a consequence, no Gourad/Phong shading is possible and all triangles will look flat.

OBSOLETE