chrono::opengl::ChOpenGLViewer Class Reference

Description

OpenGL viewer, this class draws the system to the screen and handles input.

#include <ChOpenGLViewer.h>

Inheritance diagram for chrono::opengl::ChOpenGLViewer:
Collaboration diagram for chrono::opengl::ChOpenGLViewer:

Public Member Functions

 ChOpenGLViewer (ChSystem *system)
 
void TakeDown ()
 
bool Initialize ()
 
bool Update (double time_step)
 
void Render ()
 
void DrawObject (std::shared_ptr< ChBody > abody)
 
void DisplayHUD ()
 
void RenderContacts ()
 
void RenderAABB ()
 
void RenderGrid ()
 
void RenderFluid ()
 
void RenderFEA ()
 
void RenderPlots ()
 
void HandleInput (unsigned char key, int x, int y)
 
- Public Member Functions inherited from chrono::opengl::ChOpenGLBase
bool GLReturnedError (const char *s)
 

Public Attributes

glm::ivec2 window_size
 
glm::ivec2 window_position
 
glm::ivec2 window_physical_size
 
double dpi
 
float window_aspect
 
int interval
 
ChOpenGLCamera render_camera
 
ChOpenGLCamera ortho_camera
 
ChSystemphysics_system
 
ChOpenGLShader main_shader
 
ChOpenGLShader cloud_shader
 
ChOpenGLShader dot_shader
 
ChOpenGLShader sphere_shader
 
ChOpenGLOBJ sphere
 
ChOpenGLOBJ box
 
ChOpenGLOBJ cylinder
 
ChOpenGLOBJ cone
 
ChOpenGLCloud cloud
 
ChOpenGLCloud fluid
 
ChOpenGLWires grid
 
ChOpenGLWires mpm_grid
 
ChOpenGLCloud mpm_node
 
ChOpenGLCloud fea_nodes
 
ChOpenGLWires fea_elements
 
ChOpenGLWires line_path
 
ChOpenGLContacts contact_renderer
 
ChOpenGLHUD HUD_renderer
 
ChOpenGLGraphs graph_renderer
 
std::vector< glm::vec3 > cloud_data
 
std::vector< glm::vec3 > fluid_data
 
std::vector< glm::vec3 > fea_node_data
 
std::vector< glm::vec3 > fea_element_data
 
std::vector< glm::vec3 > grid_data
 
std::vector< glm::vec3 > mpm_grid_data
 
std::vector< glm::vec3 > mpm_node_data
 
std::vector< glm::vec3 > line_path_data
 
int simulation_frame
 
double simulation_h
 
double simulation_time
 
bool pause_sim
 
bool pause_vis
 
bool single_step
 
bool view_contacts
 
bool view_help
 
bool view_aabb
 
bool view_grid
 
bool view_info
 
bool use_vsync
 
RenderMode render_mode
 
ChTimer timer_render
 
ChTimer timer_text
 
ChTimer timer_geometry
 
glm::mat4 model
 
glm::mat4 view
 
glm::mat4 projection
 
glm::mat4 modelview
 
double old_time
 
double current_time
 
double time_total
 
double time_text
 
double time_geometry
 
double fps
 
std::vector< glm::mat4 > model_box
 
std::vector< glm::mat4 > model_sphere
 
std::vector< glm::mat4 > model_cylinder
 
std::vector< glm::mat4 > model_cone
 
std::map< std::string,
ChOpenGLMesh > 
obj_files
 
std::map< std::string,
std::vector< glm::mat4 > > 
model_obj
 

Member Function Documentation

void chrono::opengl::ChOpenGLViewer::RenderGrid ( )

======