Base class for contact surfaces in FEA meshes.

Actual collision geometry is provided by derived classes (ChContactSurfaceNodeCloud or ChContactSurfaceMesh).

#include <ChContactSurface.h>

Inheritance diagram for chrono::fea::ChContactSurface:
Collaboration diagram for chrono::fea::ChContactSurface:

Public Member Functions

 ChContactSurface (std::shared_ptr< ChContactMaterial > material, ChPhysicsItem *mesh=nullptr)
ChPhysicsItemGetPhysicsItem ()
 Get the owner physics item (e.g., an FEA mesh).
void SetPhysicsItem (ChPhysicsItem *physics_item)
 Set the owner physics item (e.g., an FEA mesh).
void DisableSelfCollisions (int family)
 Disable self-collisions (default: enabled). More...
std::shared_ptr< ChContactMaterial > & GetMaterialSurface ()
 Get the surface contact material.
virtual void SyncCollisionModels () const =0
virtual void AddCollisionModelsToSystem (ChCollisionSystem *coll_sys) const =0
virtual void RemoveCollisionModelsFromSystem (ChCollisionSystem *coll_sys) const =0

Protected Attributes

std::shared_ptr< ChContactMaterialm_material
 contact material properties
 associated physics item (e.g., an FEA mesh)
bool m_self_collide
 include self-collisions?
int m_collision_family
 collision family (if no self-collisions)

Member Function Documentation

◆ DisableSelfCollisions()

void chrono::fea::ChContactSurface::DisableSelfCollisions ( int  family)

Disable self-collisions (default: enabled).

Calling this function results in all associated collision models being placed in the same collision family and disabling collisions within that family. Note: this function must be called before adding collision shapes to this contact surface.

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