Description

Utility class defining geometry (visualization and collision) and contact materials for a rigid vehicle body.

Holds vectors of primitive shapes (any one of which may be empty) and a list of contact materials. Each shape defines its position and orientation relative to the parent body, geometric dimensions, and an index into the list of contact materials.

#include <ChVehicleGeometry.h>

Collaboration diagram for chrono::vehicle::ChVehicleGeometry:

Classes

struct  BoxShape
 Box shape for visualization and/or collision. More...
 
struct  ConvexHullsShape
 Convex hulls shape for collision. More...
 
struct  CylinderShape
 Cylinder shape for visualization and/or collision. More...
 
struct  LineShape
 Line shape for visualization. More...
 
struct  SphereShape
 Sphere shape for visualization and/or collision. More...
 
struct  TrimeshShape
 Tri-mesh shape for collision. More...
 

Public Member Functions

void CreateVisualizationAssets (std::shared_ptr< ChBody > body, VisualizationType vis, bool visualize_collision=false)
 Create visualization assets for the specified body.
 
void CreateCollisionShapes (std::shared_ptr< ChBody > body, int collision_family, ChContactMethod contact_method)
 Create collision shapes for the specified body.
 
ChAABB CalculateAABB ()
 Calculate axis-aligned bounding box of all collision shapes.
 

Static Public Member Functions

static std::shared_ptr< ChVisualShapeAddVisualizationCylinder (std::shared_ptr< ChBody > body, const ChVector3d &p1, const ChVector3d &p2, double radius, ChVisualMaterialSharedPtr mat=nullptr)
 Utility function for adding a cylinder visualization shape defined by the end points and a radius. More...
 

Public Attributes

bool m_has_collision
 true if body has a collision model
 
std::vector< ChContactMaterialDatam_materials
 list of contact materials
 
std::vector< BoxShapem_coll_boxes
 list of collision boxes
 
std::vector< SphereShapem_coll_spheres
 list of collision spheres
 
std::vector< CylinderShapem_coll_cylinders
 list of collision cylinders
 
std::vector< ConvexHullsShapem_coll_hulls
 list of collision convex hulls
 
std::vector< TrimeshShapem_coll_meshes
 list of collision trimeshes
 
bool m_has_primitives
 true if the body uses visualization primitives
 
std::vector< BoxShapem_vis_boxes
 list of visualization boxes
 
std::vector< SphereShapem_vis_spheres
 list of visualization spheres
 
std::vector< CylinderShapem_vis_cylinders
 list of visualization cylinders
 
std::vector< LineShapem_vis_lines
 list of visualization lines
 
bool m_has_colors
 true if primitive colors were provided
 
ChColor m_color_boxes
 visualization color
 
ChColor m_color_spheres
 visualization color
 
ChColor m_color_cylinders
 visualization color
 
bool m_has_obj
 true if the body uses visualization from an OBJ
 
bool m_has_mesh
 true if the body uses a visualization mesh
 
std::string m_vis_mesh_file
 name of Wavefront OBJ file with visualization mesh
 

Member Function Documentation

◆ AddVisualizationCylinder()

std::shared_ptr< ChVisualShape > chrono::vehicle::ChVehicleGeometry::AddVisualizationCylinder ( std::shared_ptr< ChBody body,
const ChVector3d p1,
const ChVector3d p2,
double  radius,
ChVisualMaterialSharedPtr  mat = nullptr 
)
static

Utility function for adding a cylinder visualization shape defined by the end points and a radius.

This function adds the visualization shape to the body's visual model and returns the shape.


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