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 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 , 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)

Member Function Documentation

◆ ArchiveIn()

void chrono::ChCollisionShapeBarrel::ArchiveIn ( ChArchiveIn & archive_in)
overridevirtual

Method to allow de-serialization of transient data from archives.

Reimplemented from chrono::ChCollisionShape.

◆ ArchiveOut()

void chrono::ChCollisionShapeBarrel::ArchiveOut ( ChArchiveOut & archive_out)
overridevirtual

Method to allow serialization of transient data to archives.

Reimplemented from chrono::ChCollisionShape.


The documentation for this class was generated from the following files:
  • C:/M/B/src/chrono-9.0.1/src/chrono/collision/ChCollisionShapeBarrel.h
  • C:/M/B/src/chrono-9.0.1/src/chrono/collision/ChCollisionShapeBarrel.cpp