Description

Collision barrel shape.

When added to a collision model, the shape is aligned with its main axis in the Y direction of the shape frame. The barrel shape is made by lathing an arc of an ellipse around the vertical Y axis. The center of the ellipse is on Y=0 level, and it is offsetted by R_offset from the Y axis in radial direction. The two axes of the ellipse are axis_vert (for the vertical direction, i.e. the axis parallel to Y) and axis_hor (for the axis that is perpendicular to Y). Also, the solid is clamped with two discs on the top and the bottom, at levels Y_low and Y_high.

#include <ChCollisionShapeBarrel.h>

Inheritance diagram for chrono::ChCollisionShapeBarrel:
Collaboration diagram for chrono::ChCollisionShapeBarrel:

Public Member Functions

 ChCollisionShapeBarrel (std::shared_ptr< ChContactMaterial > material, double Y_low, double Y_high, double axis_vert, double axis_hor, double R_offset)
 
virtual ChAABB GetBoundingBox () const override
 Get the shape bounding box.
 
virtual void ArchiveOut (ChArchiveOut &archive_out) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIn (ChArchiveIn &archive_in) override
 Method to allow de-serialization of transient data from archives.
 
- Public Member Functions inherited from chrono::ChCollisionShape
 ChCollisionShape (Type type=Type::UNKNOWN_SHAPE)
 
 ChCollisionShape (Type type, std::shared_ptr< ChContactMaterial > material)
 
Type GetType () const
 
std::shared_ptr< ChContactMaterialGetMaterial () const
 
ChContactMethod GetContactMethod () const
 

Public Attributes

double Y_low
 
double Y_high
 
double axis_vert
 
double axis_hor
 
double R_offset
 

Additional Inherited Members

- Public Types inherited from chrono::ChCollisionShape
enum  Type {
  SPHERE, ELLIPSOID, BOX, CYLINDER,
  CYLSHELL, CONVEXHULL, TRIANGLEMESH, BARREL,
  POINT, SEGMENT, TRIANGLE, MESHTRIANGLE,
  CAPSULE, CONE, ROUNDEDBOX, ROUNDEDCYL,
  TETRAHEDRON, PATH2D, SEGMENT2D, ARC2D,
  UNKNOWN_SHAPE
}
 Supported collision shape types.
 
- Protected Attributes inherited from chrono::ChCollisionShape
Type m_type
 type of collision shape
 
std::shared_ptr< ChContactMaterialm_material
 surface contact material
 

Constructor & Destructor Documentation

◆ ChCollisionShapeBarrel()

chrono::ChCollisionShapeBarrel::ChCollisionShapeBarrel ( std::shared_ptr< ChContactMaterial material,
double  Y_low,
double  Y_high,
double  axis_vert,
double  axis_hor,
double  R_offset 
)
Parameters
materialsurface contact material
Y_lowbottom level
Y_hightop level
axis_vertellipse axis in vertical direction
axis_horellipse axis in horizontal direction
R_offsetlateral offset (radius at top and bottom)

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