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>
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< 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. More... | |
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()
|
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