This class adds the ability to track the axis-aligned bounding box for the entire model so that an entire body can be classified by which sub-domains it intersects.
|
virtual int | ClearModel () override |
| Delete all inserted geometry.
|
|
virtual bool | AddBox (std::shared_ptr< ChMaterialSurface > material, double size_x, double size_y, double size_z, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Adds a box collision shape to the model and calculates the model's new AABB. More...
|
|
virtual bool | AddSphere (std::shared_ptr< ChMaterialSurface > material, double radius, const ChVector<> &pos=ChVector<>()) override |
| Adds a sphere collision shape to the model and calculates the model's new AABB. More...
|
|
virtual bool | AddTriangle (std::shared_ptr< ChMaterialSurface > material, ChVector<> A, ChVector<> B, ChVector<> C, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Adds a triangle collision shape to the model. More...
|
|
virtual void | GetAABB (ChVector<> &bbmin, ChVector<> &bbmax) const override |
| Gets the axis-aligned bounding box for the entire model Only valid at beginning of simulation.
|
|
virtual ChCollisionSystemType | GetType () const override |
| Return the type of this collision model.
|
|
virtual int | BuildModel () override |
| Builds the BV hierarchy. More...
|
|
virtual void | SyncPosition () override |
| Sets the position and orientation of the collision model as the rigid body current position.
|
|
virtual void | SetContactable (ChContactable *mc) override |
| Sets the pointer to the contactable object.
|
|
virtual bool | AddEllipsoid (std::shared_ptr< ChMaterialSurface > material, double axis_x, double axis_y, double axis_z, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add an ellipsoid shape to this collision model. More...
|
|
virtual bool | AddRoundedBox (std::shared_ptr< ChMaterialSurface > material, double size_x, double size_y, double size_z, double sphere_r, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add a rounded box shape to this collision model. More...
|
|
virtual bool | AddCylinder (std::shared_ptr< ChMaterialSurface > material, double radius, double height, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add a cylinder to this collision model (axis in Z direction). More...
|
|
virtual bool | AddCylindricalShell (std::shared_ptr< ChMaterialSurface > material, double radius, double height, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add a cylindrical shell to this collision model (axis in Z direction). More...
|
|
virtual bool | AddRoundedCylinder (std::shared_ptr< ChMaterialSurface > material, double radius, double height, double sphere_r, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add a rounded cylinder to this collision model (axis in Z direction). More...
|
|
virtual bool | AddCone (std::shared_ptr< ChMaterialSurface > material, double radius, double height, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add a cone to this collision model (axis in Z direction). More...
|
|
virtual bool | AddCapsule (std::shared_ptr< ChMaterialSurface > material, double radius, double height, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add a capsule to this collision model (axis in Z direction). More...
|
|
virtual bool | AddConvexHull (std::shared_ptr< ChMaterialSurface > material, const std::vector< ChVector< double >> &pointlist, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add a convex hull to this collision model. More...
|
|
virtual bool | AddTriangleMesh (std::shared_ptr< ChMaterialSurface > material, std::shared_ptr< geometry::ChTriangleMesh > trimesh, bool is_static, bool is_convex, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1), double sphereswept_thickness=0.0) override |
| Add a triangle mesh to this collision model. More...
|
|
virtual bool | AddBarrel (std::shared_ptr< ChMaterialSurface > material, double Y_low, double Y_high, double axis_vert, double axis_hor, double R_offset, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) override |
| Add a barrel-like shape to this collision model (main axis on Y direction). More...
|
|
virtual bool | AddCopyOfAnotherModel (ChCollisionModel *another) override |
| Add all shapes already contained in another model.
|
|
virtual ChCoordsys | GetShapePos (int index) const override |
| Return the position and orientation of the collision shape with specified index, relative to the model frame.
|
|
virtual std::vector< double > | GetShapeDimensions (int index) const override |
| Return shape characteristic dimensions. More...
|
|
ChBody * | GetBody () const |
| Return a pointer to the associated body.
|
|
void | SetBody (ChBody *body) |
| Set the pointer to the owner rigid body.
|
|
bool | AddCylinder (std::shared_ptr< ChMaterialSurface > material, double radius, const ChVector<> &p1, const ChVector<> &p2) |
| Add a cylinder specified through a radius and end points. More...
|
|
virtual bool | Add2Dpath (std::shared_ptr< ChMaterialSurface > material, std::shared_ptr< geometry::ChLinePath > mpath, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1), const double thickness=0.001) |
| Add a 2D closed line, defined on the XY plane passing by pos and aligned as rot, that defines a 2D collision shape that will collide with another 2D line of the same type if aligned on the same plane. More...
|
|
virtual bool | AddPoint (std::shared_ptr< ChMaterialSurface > material, double radius=0, const ChVector<> &pos=ChVector<>()) |
| Add a point-like sphere, that will collide with other geometries, but won't ever create contacts between them. More...
|
|
virtual bool | AddConvexHullsFromFile (std::shared_ptr< ChMaterialSurface > material, ChStreamInAscii &mstream, const ChVector<> &pos=ChVector<>(), const ChMatrix33<> &rot=ChMatrix33<>(1)) |
| Add a cluster of convex hulls specified in a '.chulls' file description. More...
|
|
ChContactable * | GetContactable () |
| Get the pointer to the contactable object.
|
|
virtual ChPhysicsItem * | GetPhysicsItem () |
| Get the pointer to the client owner ChPhysicsItem. More...
|
|
virtual void | SetFamily (int mfamily) |
| By default, all collision objects belong to family n.0, but you can set family in range 0..15. More...
|
|
virtual int | GetFamily () |
|
virtual void | SetFamilyMaskNoCollisionWithFamily (int mfamily) |
| By default, family mask is all turned on, so all families can collide with this object, but you can turn on-off some bytes of this mask so that some families do not collide. More...
|
|
virtual void | SetFamilyMaskDoCollisionWithFamily (int mfamily) |
|
virtual bool | GetFamilyMaskDoesCollisionWithFamily (int mfamily) |
| Tells if the family mask of this collision object allows for the collision with another collision object belonging to a given family. More...
|
|
virtual short int | GetFamilyGroup () const |
| Return the collision family group of this model. More...
|
|
virtual void | SetFamilyGroup (short int group) |
| Set the collision family group of this model. More...
|
|
virtual short int | GetFamilyMask () const |
| Return the collision mask for this model. More...
|
|
virtual void | SetFamilyMask (short int mask) |
| Set the collision mask for this model. More...
|
|
virtual void | SetSafeMargin (double amargin) |
| Set the suggested collision 'inward safe margin' for the shapes to be added from now on. More...
|
|
virtual float | GetSafeMargin () |
| Returns the inward safe margin (see SetSafeMargin() )
|
|
virtual void | SetEnvelope (double amargin) |
| Set the suggested collision outward 'envelope' used from shapes added from now on. More...
|
|
virtual float | GetEnvelope () |
| Return the outward safe margin (see SetEnvelope() )
|
|
virtual void | ArchiveOut (ChArchiveOut &marchive) |
| Method to allow serialization of transient data to archives.
|
|
virtual void | ArchiveIn (ChArchiveIn &marchive) |
| Method to allow de-serialization of transient data from archives.
|
|
int | GetNumShapes () const |
| Return the number of collision shapes in this model.
|
|
const std::vector< std::shared_ptr< ChCollisionShape > > & | GetShapes () const |
| Get the list of collision shapes in this model.
|
|
std::shared_ptr< ChCollisionShape > | GetShape (int index) |
| Get the collision shape with specified index.
|
|
void | SetShapeMaterial (int index, std::shared_ptr< ChMaterialSurface > mat) |
| Set the contact material for the collision shape with specified index.
|
|
void | SetAllShapesMaterial (std::shared_ptr< ChMaterialSurface > mat) |
| Set the contact material for all collision shapes in the model (all shapes will share the material). More...
|
|