chrono::vehicle::ChTrackTestRigVisualSystemVSG Class Reference

Description

Customized Chrono::VSG visualization system for track test rig simulation.

#include <ChTrackTestRigVisualSystemVSG.h>

Inheritance diagram for chrono::vehicle::ChTrackTestRigVisualSystemVSG:
Collaboration diagram for chrono::vehicle::ChTrackTestRigVisualSystemVSG:

Public Member Functions

virtual void Initialize () override
 Initialize the visualization system.
 
void AttachTTR (ChTrackTestRig *rig)
 Attach a suspension test rig to this VSG visualization system.
 
- Public Member Functions inherited from chrono::vsg3d::ChVisualSystemVSG
 ChVisualSystemVSG (int num_divs=24)
 Create the Chrono::VSG run-time visualization system. More...
 
void AttachPlugin (std::shared_ptr< ChVisualSystemVSGPlugin > plugin)
 Attach a custom plugin. More...
 
virtual void BindAll () override
 Process all visual assets in the associated ChSystem. More...
 
virtual void BindItem (std::shared_ptr< ChPhysicsItem > item) override
 Process the visual assets for the specified physics item. More...
 
virtual bool Run () override
 Check if rendering is running. More...
 
virtual void Quit () override
 Terminate the visualization system.
 
virtual void BeginScene () override
 Perform any necessary operations at the beginning of each rendering frame.
 
virtual void Render () override
 Draw all 3D shapes and GUI elements at the current frame. More...
 
virtual void EndScene () override
 End the scene draw at the end of each animation frame.
 
void SetBodyObjVisibility (bool vis, int tag=-1)
 Set the visibility of bodies with specified tag. More...
 
void SetLinkObjVisibility (bool vis, int tag=-1)
 Set the visibility of links with specified tag. More...
 
void SetFeaMeshVisibility (bool vis, int tag=-1)
 Set the visibility of FEA meshes with specified tag. More...
 
void SetSpringVisibility (bool vis, int tag=-1)
 Set the visibility of springs with specified tag. More...
 
void SetSegmentVisibility (bool vis, int tag=-1)
 Set the visibility of segments with specified tag. More...
 
void SetParticleCloudVisibility (bool vis, int tag=-1)
 Set the visibility of particle clouds with specified tag to the provided value. More...
 
void SetCollisionVisibility (bool vis, int tag=-1)
 — Collision and contact More...
 
void SetCollisionColor (const ChColor &color)
 Set color for rendering wireframe collision shapes.
 
void SetContactNormalsVisibility (bool vis, int tag=-1)
 
void SetContactNormalsColor (const ChColor &color)
 
void SetContactNormalsScale (double length)
 
void SetContactForcesVisibility (bool vis, int tag=-1)
 
void SetContactForcesColor (const ChColor &color)
 
void SetContactForcesScale (double length)
 
void SetAbsFrameScale (double axis_length)
 Render the absolute (global) reference frame.
 
void ToggleAbsFrameVisibility ()
 
void RenderRefFrames (double axis_length=1)
 Render ref frames for all objects in the system.
 
void SetRefFrameScale (double axis_length)
 
void ToggleRefFrameVisibility ()
 
void SetCOMFrameScale (double axis_length)
 Render COM frames for all bodies in the system.
 
void ToggleCOMFrameVisibility ()
 
void ToggleCOMSymbolVisibility ()
 Render COM symbol for all bodies in the system.
 
void SetJointFrameScale (double axis_length)
 Render joint frames for all links in the system.
 
void ToggleJointFrameVisibility ()
 
virtual void WriteImageToFile (const std::string &filename) override
 Create a snapshot of the frame to be rendered and save it to the provided file. More...
 
void SetWindowSize (const ChVector2i &size)
 
void SetWindowSize (int width, int height)
 
void SetWindowPosition (const ChVector2i &pos)
 
void SetWindowPosition (int from_left, int from_top)
 
void SetWindowTitle (const std::string &title)
 
void SetClearColor (const ChColor &color)
 
void SetOutputScreen (int screenNum=0)
 
void EnableFullscreen (bool val=true)
 Enable full-screen mode (default: false). More...
 
void EnableSkyBox (bool val=true)
 Enable/disable use of a sky box background (default: false). More...
 
void SetCameraVertical (CameraVerticalDir upDir)
 Set the camera up vector (default: Z).
 
virtual int AddCamera (const ChVector3d &pos, ChVector3d targ=VNULL) override
 Add a camera to the VSG scene. More...
 
virtual void SetCameraPosition (int id, const ChVector3d &pos) override
 Set the location of the specified camera.
 
virtual void SetCameraTarget (int id, const ChVector3d &target) override
 Set the target (look-at) point of the specified camera.
 
virtual void SetCameraPosition (const ChVector3d &pos) override
 Set the location of the current (active) camera.
 
virtual void SetCameraTarget (const ChVector3d &target) override
 Set the target (look-at) point of the current (active) camera.
 
virtual ChVector3d GetCameraPosition () const override
 Get the location of the current (active) camera.
 
virtual ChVector3d GetCameraTarget () const override
 Get the target (look-at) point of the current (active) camera.
 
double GetRenderingFPS () const
 Get estimated FPS.
 
void EnableShadows (bool val=true)
 Enable/disable rendering of shadows (default: false). More...
 
bool AreShadowsEnabled () const
 Indicate whether or not shadows are enabled.
 
void SetLightIntensity (float intensity)
 
void SetLightDirection (double azimuth, double elevation)
 
void SetCameraAngleDeg (double angleDeg)
 
void SetGuiFontSize (float theSize)
 
virtual void AddGrid (double x_step, double y_step, int nx, int ny, ChCoordsys<> pos=CSYSNORM, ChColor col=ChColor(0.1f, 0.1f, 0.1f)) override
 Add a grid with specified parameters in the x-y plane of the given frame. More...
 
virtual int AddVisualModel (std::shared_ptr< ChVisualModel > model, const ChFrame<> &frame) override
 Add a visual model not associated with a physical item. More...
 
virtual int AddVisualModel (std::shared_ptr< ChVisualShape > model, const ChFrame<> &frame) override
 Add a visual model not associated with a physical item. More...
 
virtual void UpdateVisualModel (int id, const ChFrame<> &frame) override
 Update the position of the specified visualization-only model.
 
size_t AddGuiComponent (std::shared_ptr< ChGuiComponentVSG > gc)
 Add a user-defined GUI component. More...
 
size_t AddGuiColorbar (const std::string &title, double min_val, double max_val)
 Add a colorbar as a GUI component. More...
 
std::shared_ptr< ChGuiComponentVSGGetGuiComponent (size_t id)
 Access the specified GUI component. More...
 
void SetGuiVisibility (bool show_gui)
 Set visibility for all GUI components (default: true).
 
void ToggleGuiVisibility ()
 Toggle GUI visibility for all GUI components.
 
bool IsGuiVisible () const
 Indicate whether or not GUI is visible.
 
void SetBaseGuiVisibility (bool show_gui)
 Set visibility for the default (base) GUI component (default: true).
 
void ToggleBaseGuiVisibility ()
 Toggle GUI visibility for the default (base) GUI component.
 
bool IsBaseGuiVisible () const
 Indicate whether or not the default (base) GUI is visible.
 
void HideLogo ()
 Disable showing the Chrono logo (default: true).
 
void SetLogoHeight (float height)
 Set logo display height (in pixels, default: 64).
 
void SetLogoPosition (const ChVector2f &position)
 Set logo position (default: [10,10]). More...
 
bool IsLogoVisible () const
 Indicate whether or not logo is visible.
 
void AddEventHandler (std::shared_ptr< ChEventHandlerVSG > eh)
 Add a user-defined VSG event handler.
 
- Public Member Functions inherited from chrono::ChVisualSystem
void SetVerbose (bool verbose)
 Enable/disable information terminal output during initialization (default: false).
 
virtual void AttachSystem (ChSystem *sys)
 Attach a Chrono system to this visualization system.
 
virtual void UnbindItem (std::shared_ptr< ChPhysicsItem > item)
 Remove the visual assets for the specified physics item from this visualization system.
 
void UpdateCamera (int id, const ChVector3d &pos, ChVector3d target)
 Update the location and/or target points of the specified camera.
 
void UpdateCamera (const ChVector3d &pos, ChVector3d target)
 
virtual void RenderFrame (const ChFrame<> &frame, double axis_length=1)
 Render the specified reference frame.
 
virtual void RenderCOGFrames (double axis_length=1)
 Render COG frames for all bodies in the system.
 
std::vector< ChSystem * > GetSystems () const
 Get the list of associated Chrono systems.
 
ChSystemGetSystem (int i) const
 Get the specified associated Chrono system.
 
double GetSimulationTime () const
 Return the current simulated time. More...
 
double GetRTF () const
 Return the overall real time factor. More...
 
double GetSimulationRTF (unsigned int i) const
 Return the simulation real-time factor (simulation time / simulated time) for the specified associated system. More...
 
std::vector< double > GetSimulationRTFs () const
 Return the simulation real-time factor (simulation time / simulated time) for all associated system. More...
 
unsigned int GetNumBodies () const
 Get the number of bodies (across all visualized systems). More...
 
unsigned int GetNumLinks () const
 Get the number of links (across all visualized systems). More...
 
unsigned int GetNumMeshes () const
 Get the number of meshes (across all visualized systems).
 
unsigned int GetNumShafts () const
 Get the number of shafts (across all visualized systems).
 
unsigned int GetNumStates () const
 Get the number of coordinates at the velocity level (across all visualized systems).
 
unsigned int GetNumConstraints () const
 Get the number of scalar constraints (across all visualized systems).
 
unsigned int GetNumContacts () const
 Gets the number of contacts.
 
void SetImageOutputDirectory (const std::string &dir)
 Set output directory for saving frame snapshots (default: ".").
 
void SetImageOutput (bool val)
 Enable/disable writing of frame snapshots to file.
 

Friends

class ChTTRGuiComponentVSG
 
class ChTTRKeyboardHandlerVSG
 

Additional Inherited Members

- Public Types inherited from chrono::ChVisualSystem
enum  Type { Type::IRRLICHT, Type::VSG, Type::OptiX, NONE }
 Supported run-time visualization systems. More...
 
- Protected Member Functions inherited from chrono::vsg3d::ChVisualSystemVSG
virtual void OnSetup (ChSystem *sys) override
 Perform necessary setup operations at the beginning of a time step.
 
void Update ()
 Update all VSG scenes with the current state of the associated Chrono systems.
 
- Protected Member Functions inherited from chrono::ChVisualSystem
virtual void OnUpdate (ChSystem *sys)
 Perform any necessary update operations at the end of a time step. More...
 
virtual void OnClear (ChSystem *sys)
 Remove all visualization objects from this visualization system. More...
 
- Protected Attributes inherited from chrono::vsg3d::ChVisualSystemVSG
int m_screen_num = -1
 
bool m_use_fullscreen
 
bool m_use_shadows
 
vsg::ref_ptr< vsg::Window > m_window
 
vsg::ref_ptr< vsg::Viewer > m_viewer
 high-level VSG rendering manager
 
vsg::ref_ptr< vsg::RenderGraph > m_renderGraph
 
bool m_show_logo
 
float m_logo_height
 
ChVector2f m_logo_pos
 
std::string m_logo_filename
 
bool m_show_gui
 flag to toggle global GUI visibility
 
bool m_show_base_gui
 flag to toggle base GUI visibility
 
size_t m_camera_gui
 identifier for the camera info GUI component
 
std::shared_ptr< ChGuiComponentVSGm_base_gui
 default (base) GUI component
 
std::vector< std::shared_ptr< ChGuiComponentVSG > > m_gui
 list of all additional GUI components
 
std::vector< std::shared_ptr< ChEventHandlerVSG > > m_evhandler
 list of all additional event handlers
 
vsg::dvec3 m_vsg_cameraEye = vsg::dvec3(-10.0, 0.0, 0.0)
 
vsg::dvec3 m_vsg_cameraTarget = vsg::dvec3(0.0, 0.0, 0.0)
 
vsg::ref_ptr< vsg::LookAt > m_lookAt
 
vsg::ref_ptr< vsg::Camera > m_vsg_camera
 
bool m_camera_trackball
 create a camera trackball control?
 
vsg::ref_ptr< vsg::Group > m_scene
 
vsg::ref_ptr< vsg::Switch > m_objScene
 
vsg::ref_ptr< vsg::Switch > m_pointpointScene
 
vsg::ref_ptr< vsg::Switch > m_deformableScene
 
vsg::ref_ptr< vsg::Switch > m_particleScene
 
vsg::ref_ptr< vsg::Switch > m_collisionScene
 
vsg::ref_ptr< vsg::Switch > m_contactNormalsScene
 
vsg::ref_ptr< vsg::Switch > m_contactForcesScene
 
vsg::ref_ptr< vsg::Switch > m_absFrameScene
 
vsg::ref_ptr< vsg::Switch > m_refFrameScene
 
vsg::ref_ptr< vsg::Switch > m_comFrameScene
 
vsg::ref_ptr< vsg::Switch > m_comSymbolScene
 
vsg::ref_ptr< vsg::Switch > m_jointFrameScene
 
vsg::ref_ptr< vsg::Group > m_decoScene
 
vsg::ref_ptr< vsg::Options > m_options
 I/O related options for vsg::read/write calls.
 
vsg::ref_ptr< vsg::Builder > m_vsgBuilder
 
vsg::ref_ptr< ShapeBuilder > m_shapeBuilder
 
bool m_capture_image
 export current frame to image file
 
std::string m_imageFilename
 name of file to export current frame
 
std::vector< DeformableMeshm_def_meshes
 
std::vector< ParticleCloudm_clouds
 
bool m_show_visibility_controls
 enable/disable global visibility controls
 
std::vector< std::shared_ptr< ChVisualSystemVSGPlugin > > m_plugins
 
- Protected Attributes inherited from chrono::ChVisualSystem
bool m_verbose
 terminal output
 
bool m_initialized
 visual system initialized
 
ChTimer m_timer
 timer for evaluating RTF
 
double m_rtf
 overall real time factor
 
std::vector< ChSystem * > m_systems
 associated Chrono system(s)
 
bool m_write_images
 if true, save snapshots
 
std::string m_image_dir
 directory for image files
 

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_vehicle/tracked_vehicle/test_rig/ChTrackTestRigVisualSystemVSG.h
  • /builds/uwsbel/chrono/src/chrono_vehicle/tracked_vehicle/test_rig/ChTrackTestRigVisualSystemVSG.cpp