chrono::irrlicht::tools Namespace Reference

Description

Utilities for interfacing Chrono and Irrlicht.

Functions

void alignIrrlichtNodeToChronoCsys (scene::ISceneNode *mnode, const ChCoordsys<> &mcoords)
 
int drawAllContactPoints (std::shared_ptr< ChContactContainer > mcontactcontainer, irr::video::IVideoDriver *driver, double mlen=1.0, IrrContactsDrawMode drawtype=IrrContactsDrawMode::CONTACT_NORMALS)
 Draw contact points used by a ChSystem in the current Irrlicht viewer. More...
 
int drawAllContactLabels (std::shared_ptr< ChContactContainer > mcontactcontainer, irr::IrrlichtDevice *device, IrrContactsLabelMode labeltype=IrrContactsLabelMode::CONTACT_FORCES_N_VAL, irr::video::SColor mcol=irr::video::SColor(255, 255, 255, 255))
 Draw contact informations as labels at the contact point.
 
int drawAllLinks (ChSystem &mphysicalSystem, irr::video::IVideoDriver *driver, double mlen=1.0, IrrLinkDrawMode drawtype=IrrLinkDrawMode::LINK_REACT_FORCE)
 Draw reaction forces in all contacts in current Irrlicht viewer.
 
int drawAllLinkLabels (ChSystem &mphysicalSystem, irr::IrrlichtDevice *device, IrrLinkLabelMode labeltype=IrrLinkLabelMode::LINK_REACT_FORCE_X, irr::video::SColor mcol=irr::video::SColor(255, 255, 255, 255))
 Draw contact informations as labels at the contact point.
 
int drawAllBoundingBoxes (ChSystem &mphysicalSystem, irr::video::IVideoDriver *driver)
 Draw collision objects bounding boxes for rigid bodies (if they have a collision shape).
 
int drawAllCOGs (ChSystem &mphysicalSystem, irr::video::IVideoDriver *driver, double scale=0.01)
 Draw coordinate systems of ChBody objects.
 
int drawAllLinkframes (ChSystem &mphysicalSystem, irr::video::IVideoDriver *driver, double scale=0.01)
 Draw coordinate systems of link frames.
 
void drawHUDviolation (irr::video::IVideoDriver *driver, IrrlichtDevice *mdevice, ChSystem &asystem, int mx, int my, int sx, int sy, double spfact)
 
void drawChFunction (IrrlichtDevice *mdevice, ChFunction *fx, double xmin, double xmax, double ymin, double ymax, int mx, int my, int sx, int sy)
 
void drawSegment (irr::video::IVideoDriver *driver, ChVector<> mstart, ChVector<> mend, irr::video::SColor mcol=irr::video::SColor(255, 0, 0, 0), bool use_Zbuffer=false)
 Draw line segments in 3D space with given color.
 
void drawPolyline (irr::video::IVideoDriver *driver, std::vector< ChVector<> > &mpoints, irr::video::SColor mcol=irr::video::SColor(255, 0, 0, 0), bool use_Zbuffer=false)
 Draw a polyline in 3D space, given the array of points.
 
void drawCircle (irr::video::IVideoDriver *driver, double radius, ChCoordsys<> mpos=CSYSNORM, irr::video::SColor mcol=irr::video::SColor(255, 0, 0, 0), int mresolution=36, bool use_Zbuffer=false)
 Draw a circle line in 3D space with given color. More...
 
void drawSpring (irr::video::IVideoDriver *driver, double radius, ChVector<> start, ChVector<> end, irr::video::SColor mcol=irr::video::SColor(255, 0, 0, 0), int mresolution=65, double turns=5, bool use_Zbuffer=false)
 Draw a spring in 3D space with given color. More...
 
ChApiIrr void drawRotSpring (irr::video::IVideoDriver *driver, ChCoordsys<> pos, double radius, double start_angle, double end_angle, irr::video::SColor col, int resolution, bool use_Zbuffer)
 
void drawGrid (irr::video::IVideoDriver *driver, double ustep=0.1, double vstep=0.1, int nu=20, int nv=20, ChCoordsys<> mpos=CSYSNORM, irr::video::SColor mcol=irr::video::SColor(50, 80, 110, 110), bool use_Zbuffer=false)
 Draw grids in 3D space with given orientation, color, and spacing.
 
void drawColorbar (double vmin, double vmax, const std::string &label, IrrlichtDevice *mdevice, int mx, int my, int sx, int sy)
 Easy-to-use function to draw color map 2D legend.
 
void drawCollisionShapes (ChSystem &asystem, irr::IrrlichtDevice *mdevice, irr::video::SColor mcol=irr::video::SColor(50, 0, 0, 110))
 Draw the collision shapes as wireframe, overlayed to shapes. More...
 
void drawPlot3D (irr::video::IVideoDriver *driver, ChMatrixConstRef X, ChMatrixConstRef Y, ChMatrixConstRef Z, ChCoordsys<> mpos, irr::video::SColor mcol, bool use_Zbuffer)
 
void drawProfilerRecursive (utils::ChProfileIterator *profileIterator, irr::IrrlichtDevice *device, int mx, int my, int sx, int sy, int xspacing, int &ypos)
 
void drawProfiler (irr::IrrlichtDevice *device)
 Draw run-time profiler infos. More...
 
ChApiIrr void alignIrrlichtNodeToChronoCsys (irr::scene::ISceneNode *mnode, const ChCoordsys<> &mcoords)
 Align an Irrlicht object to a Chrono coordsys.
 
ChApiIrr void drawHUDviolation (irr::video::IVideoDriver *driver, irr::IrrlichtDevice *mdevice, ChSystem &asystem, int mx=10, int my=290, int sx=300, int sy=100, double spfact=100.0)
 
ChApiIrr void drawChFunction (irr::IrrlichtDevice *mdevice, ChFunction *fx, double xmin=0, double xmax=1, double ymin=-1, double ymax=1, int mx=10, int my=290, int sx=300, int sy=100)
 
ChApiIrr void drawColorbar (double vmin, double vmax, const std::string &label, irr::IrrlichtDevice *mdevice, int mx=740, int my=20, int sx=30, int sy=300)
 Draw color bar with a color map and 2D legend.
 
void add_typical_Logo (IrrlichtDevice *device, const std::string &mlogofilename)
 
void add_typical_Lights (IrrlichtDevice *device, irr::core::vector3df pos1, irr::core::vector3df pos2, double rad1, double rad2, irr::video::SColorf col1, irr::video::SColorf col2)
 
void add_typical_Sky (IrrlichtDevice *device, bool y_up, const std::string &mtexturedir)
 
void add_typical_Camera (IrrlichtDevice *device, irr::core::vector3df pos, irr::core::vector3df targ, bool y_up)
 
ChApiIrr void add_typical_Logo (irr::IrrlichtDevice *device, const std::string &mlogofilename=GetChronoDataFile("logo_chronoengine_alpha.png"))
 A very basic and simple function which is just a shortcut to avoid lot of typing when someone wants to add a logo in a 3D scene, using Irrlicht.
 
ChApiIrr void add_typical_Lights (irr::IrrlichtDevice *device, irr::core::vector3df pos1=irr::core::vector3df(30.f, 100.f, 30.f), irr::core::vector3df pos2=irr::core::vector3df(30.f, 80.f, -30.f), double rad1=290, double rad2=190, irr::video::SColorf col1=irr::video::SColorf(0.7f, 0.7f, 0.7f, 1.0f), irr::video::SColorf col2=irr::video::SColorf(0.7f, 0.8f, 0.8f, 1.0f))
 A very basic and simple function which is just a shortcut to avoid lot of typing when someone wants to add two lights in a 3D scene, using Irrlicht. More...
 
ChApiIrr void add_typical_Sky (irr::IrrlichtDevice *device, bool y_up=true, const std::string &mtexturedir=GetChronoDataFile("skybox/"))
 A very basic and simple function which is just a shortcut to avoid lot of typing when someone wants to add a sky dome (sky box) in a 3D scene, using Irrlicht. More...
 
ChApiIrr void add_typical_Camera (irr::IrrlichtDevice *device, irr::core::vector3df pos=irr::core::vector3df(0, 0, -8), irr::core::vector3df targ=irr::core::vector3df(0, 0, 0), bool y_up=true)
 A very basic and simple function which is just a shortcut to avoid lot of typing when someone wants to add a Maya-like camera in a Irrlicht 3D scene. More...
 

Function Documentation

◆ drawAllContactPoints()

ChApiIrr int chrono::irrlicht::tools::drawAllContactPoints ( std::shared_ptr< ChContactContainer mcontactcontainer,
irr::video::IVideoDriver *  driver,
double  mlen = 1.0,
IrrContactsDrawMode  drawtype = IrrContactsDrawMode::CONTACT_NORMALS 
)

Draw contact points used by a ChSystem in the current Irrlicht viewer.

The contact points are visually represented with short lines, of length mlen, aligned to contact normals.

◆ drawCircle()

ChApiIrr void chrono::irrlicht::tools::drawCircle ( irr::video::IVideoDriver *  driver,
double  radius,
ChCoordsys<>  mpos = CSYSNORM,
irr::video::SColor  mcol = irr::video::SColor(255, 0, 0, 0),
int  mresolution = 36,
bool  use_Zbuffer = false 
)

Draw a circle line in 3D space with given color.

The circle is centered in the X-Y plane of the provided coordinate system.

◆ drawCollisionShapes()

ChApiIrr void chrono::irrlicht::tools::drawCollisionShapes ( ChSystem asystem,
irr::IrrlichtDevice *  mdevice,
irr::video::SColor  mcol = irr::video::SColor(50, 0, 0, 110) 
)

Draw the collision shapes as wireframe, overlayed to shapes.

Note: this works only for the Bullet collision system.

◆ drawProfiler()

ChApiIrr void chrono::irrlicht::tools::drawProfiler ( irr::IrrlichtDevice *  device)

Draw run-time profiler infos.

Render run-time profiler info.

◆ drawSpring()

ChApiIrr void chrono::irrlicht::tools::drawSpring ( irr::video::IVideoDriver *  driver,
double  radius,
ChVector<>  start,
ChVector<>  end,
irr::video::SColor  mcol = irr::video::SColor(255, 0, 0, 0),
int  mresolution = 65,
double  turns = 5,
bool  use_Zbuffer = false 
)

Draw a spring in 3D space with given color.

Specify the radius, the end points in absolute space, the resolution (i.e. the number of segments approximating the helix) and the number of turns.