Description

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
 
ChPhysicsItemm_physics_item
 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