Project Chrono: chrono::vehicle::ChVehicleGeometry Class Reference

Classes | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
chrono::vehicle::ChVehicleGeometry Class Reference
VEHICLE module

## 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:
[legend]

## Classes
struct | BoxShape
| Box shape for visualization and/or collision. More...
struct | SphereShape
| Sphere shape for visualization and/or collision. More...
struct | CylinderShape
| Cylinder shape for visualization and/or collision. More...
struct | LineShape
| Line shape for visualization. More...
struct | ConvexHullsShape
| Convex hulls shape for 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< ChVisualShape > | AddVisualizationCylinder (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.

## Public Attributes
bool | m_has_collision
| true if body has a collision model
std::vector< ChContactMaterialData > | m_materials
| list of contact materials
std::vector< BoxShape > | m_coll_boxes
| list of collision boxes
std::vector< SphereShape > | m_coll_spheres
| list of collision spheres
std::vector< CylinderShape > | m_coll_cylinders
| list of collision cylinders
std::vector< ConvexHullsShape > | m_coll_hulls
| list of collision convex hulls
std::vector< TrimeshShape > | m_coll_meshes
| list of collision trimeshes
bool | m_has_primitives
| true if the body uses visualization primitives
std::vector< BoxShape > | m_vis_boxes
| list of visualization boxes
std::vector< SphereShape > | m_vis_spheres
| list of visualization spheres
std::vector< CylinderShape > | m_vis_cylinders
| list of visualization cylinders
std::vector< LineShape > | m_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:

- D:/W/B/src/chrono-9.0.1/src/chrono_vehicle/ChVehicleGeometry.h
- D:/W/B/src/chrono-9.0.1/src/chrono_vehicle/ChVehicleGeometry.cpp