chrono::fea::ChContactNodeXYZsphere Class Reference


Proxy to FEA nodes for collisions, with spheres associated to nodes, for point-cloud type of collisions.

#include <ChContactSurfaceNodeCloud.h>

Inheritance diagram for chrono::fea::ChContactNodeXYZsphere:
Collaboration diagram for chrono::fea::ChContactNodeXYZsphere:

Public Member Functions

 ChContactNodeXYZsphere (ChNodeFEAxyz *anode=0, ChContactSurface *acontainer=0)
collision::ChCollisionModelGetCollisionModel ()
- Public Member Functions inherited from chrono::fea::ChContactNodeXYZ
 ChContactNodeXYZ (ChNodeFEAxyz *anode=0, ChContactSurface *acontainer=0)
ChNodeFEAxyzGetNode ()
 Access the FEA node to whom this is is a proxy.
void SetNode (ChNodeFEAxyz *mn)
 Set the FEA node to whom this is a proxy.
ChContactSurfaceGetContactSurface () const
 Get the contact surface container.
void GetContactSurface (ChContactSurface *mc)
 Set the contact surface container.
virtual ChContactable::eChContactableType GetContactableType () const override
 This must return the proper eChContactableType enum, for allowing a faster collision dispatcher in ChContactContainer classes (this enum will be used instead of slow dynamic_cast<> to infer the type of ChContactable, if possible)
virtual ChVariablesGetVariables1 () override
 Access variables.
virtual bool IsContactActive () override
 Tell if the object must be considered in collision detection.
virtual int ContactableGet_ndof_x () override
 Get the number of DOFs affected by this object (position part)
virtual int ContactableGet_ndof_w () override
 Get the number of DOFs affected by this object (speed part)
virtual void ContactableGetStateBlock_x (ChState &x) override
 Get all the DOFs packed in a single vector (position part)
virtual void ContactableGetStateBlock_w (ChStateDelta &w) override
 Get all the DOFs packed in a single vector (speed part)
virtual void ContactableIncrementState (const ChState &x, const ChStateDelta &dw, ChState &x_new) override
 Increment the provided state of this object by the given state-delta increment. More...
virtual ChVector GetContactPoint (const ChVector<> &loc_point, const ChState &state_x) override
 Express the local point in absolute frame, for the given state position.
virtual ChVector GetContactPointSpeed (const ChVector<> &loc_point, const ChState &state_x, const ChStateDelta &state_w) override
 Get the absolute speed of a local point attached to the contactable. More...
virtual ChVector GetContactPointSpeed (const ChVector<> &abs_point) override
 Get the absolute speed of point abs_point if attached to the surface. More...
virtual ChCoordsys GetCsysForCollisionModel () override
 Return the coordinate system for the associated collision model. More...
virtual void ContactForceLoadResidual_F (const ChVector<> &F, const ChVector<> &abs_point, ChVectorDynamic<> &R) override
 Apply the force, expressed in absolute reference, applied in pos, to the coordinates of the variables. More...
virtual void ContactForceLoadQ (const ChVector<> &F, const ChVector<> &point, const ChState &state_x, ChVectorDynamic<> &Q, int offset) override
 Apply the given force at the given point and load the generalized force array. More...
virtual void ComputeJacobianForContactPart (const ChVector<> &abs_point, ChMatrix33<> &contact_plane, type_constraint_tuple &jacobian_tuple_N, type_constraint_tuple &jacobian_tuple_U, type_constraint_tuple &jacobian_tuple_V, bool second) override
 Compute the jacobian(s) part(s) for this contactable item. More...
virtual double GetContactableMass () override
 This can be useful in some SMC code:
virtual std::shared_ptr< ChMaterialSurface > & GetMaterialSurface () override
 Return the pointer to the surface material.
virtual ChPhysicsItemGetPhysicsItem () override
 This is only for backward compatibility.