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>
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< ChContactMaterial > | GetMaterial () 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< ChContactMaterial > | m_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
-
material surface contact material Y_low bottom level Y_high top level axis_vert ellipse axis in vertical direction axis_hor ellipse axis in horizontal direction R_offset lateral 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