AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
agxCollide::LocalContactPoint Class Reference

#include <LocalContactPoint.h>

+ Inheritance diagram for agxCollide::LocalContactPoint:

Public Types

enum  ContactPointState : agx::UInt8 { IMPACTING = 1 << 0 , NONHOLONOMIC = 1 << 1 }
 

Public Member Functions

 LocalContactPoint ()
 
 LocalContactPoint (const agx::Vec3 &p, const agx::Vec3 &n, agx::Real d)
 
 LocalContactPoint (const agx::Vec3 &p, const agx::Vec3f &n, agx::Real d)
 
template<typename V >
 LocalContactPoint (const agx::Vec3 &p, const V &normal, agx::Real depth, agx::Real area, agx::Real volume)
 
agx::Realarea ()
 
agx::Real area () const
 
agx::Realdepth ()
 
agx::Real depth () const
 
agx::RealelasticRestLengthShape1 ()
 
agx::Real elasticRestLengthShape1 () const
 
agx::RealelasticRestLengthShape2 ()
 
agx::Real elasticRestLengthShape2 () const
 
bool & enabled ()
 
bool enabled () const
 
agx::UInt8faceFeature1 ()
 
agx::UInt8 faceFeature1 () const
 
agx::UInt8faceFeature2 ()
 
agx::UInt8 faceFeature2 () const
 
agx::UInt32faceIndex1 ()
 
agx::UInt32 faceIndex1 () const
 
agx::UInt32faceIndex2 ()
 
agx::UInt32 faceIndex2 () const
 
bool isHolonomic () const
 
const agx::ContactMaterial *& material ()
 
const agx::ContactMaterialmaterial () const
 
agx::RealmaxNormalForce ()
 
agx::Real maxNormalForce () const
 
agx::Vec3fnormal ()
 
agx::Vec3f normal () const
 
agx::Vec3point ()
 
agx::Vec3 point () const
 
void setIsHolonomic (bool isHolonomic)
 
agx::Physics::Geometry::ShapePtrshape1 ()
 
agx::Physics::Geometry::ShapePtr shape1 () const
 
agx::Physics::Geometry::ShapePtrshape2 ()
 
agx::Physics::Geometry::ShapePtr shape2 () const
 
agx::UInt8state ()
 
agx::UInt8 state () const
 
agx::Vec3ftangentU ()
 
agx::Vec3f tangentU () const
 
agx::Vec3ftangentV ()
 
agx::Vec3f tangentV () const
 
agx::Vec3fvelocity ()
 
agx::Vec3f velocity () const
 
agx::Realvolume ()
 
agx::Real volume () const
 

Static Public Member Functions

template<typename T >
static LocalContactPoint create (const T &pointType)
 Creates an enabled copy of given pointType (agxCollide::ContactPoint).
 

Detailed Description

Definition at line 40 of file LocalContactPoint.h.

Member Enumeration Documentation

◆ ContactPointState

Enumerator
IMPACTING 

This contact point is impacting - i.e., relative speed along the normal is above some threshold.

This state is calculated by the solver and is updated in the contact point before the post/last callbacks.

NONHOLONOMIC 

This contact point is treated as a non-holonomic constraint in the normal direction - i.e.

a velocity constraint with target velocity 0 ( similar to friction ) where the contact depth is disregarded. This removes the right-hand side in the normal equation for the contact point.

Definition at line 43 of file LocalContactPoint.h.

Constructor & Destructor Documentation

◆ LocalContactPoint() [1/4]

agxCollide::LocalContactPoint::LocalContactPoint ( )
inline

Definition at line 67 of file LocalContactPoint.h.

◆ LocalContactPoint() [2/4]

agxCollide::LocalContactPoint::LocalContactPoint ( const agx::Vec3 p,
const agx::Vec3f n,
agx::Real  d 
)
inline

Definition at line 89 of file LocalContactPoint.h.

◆ LocalContactPoint() [3/4]

agxCollide::LocalContactPoint::LocalContactPoint ( const agx::Vec3 p,
const agx::Vec3 n,
agx::Real  d 
)
inline

Definition at line 111 of file LocalContactPoint.h.

◆ LocalContactPoint() [4/4]

template<typename V >
agxCollide::LocalContactPoint::LocalContactPoint ( const agx::Vec3 p,
const V &  normal,
agx::Real  depth,
agx::Real  area,
agx::Real  volume 
)
inline

Definition at line 117 of file LocalContactPoint.h.

References area(), and volume().

Member Function Documentation

◆ area() [1/2]

agx::Real & agxCollide::LocalContactPoint::area ( )
inline

Definition at line 132 of file LocalContactPoint.h.

Referenced by LocalContactPoint().

◆ area() [2/2]

agx::Real agxCollide::LocalContactPoint::area ( ) const
inline

Definition at line 165 of file LocalContactPoint.h.

◆ create()

template<typename T >
LocalContactPoint agxCollide::LocalContactPoint::create ( const T &  pointType)
static

Creates an enabled copy of given pointType (agxCollide::ContactPoint).

Parameters
pointType- source contact point

Definition at line 204 of file LocalContactPoint.h.

◆ depth() [1/2]

agx::Real & agxCollide::LocalContactPoint::depth ( )
inline

Definition at line 130 of file LocalContactPoint.h.

◆ depth() [2/2]

agx::Real agxCollide::LocalContactPoint::depth ( ) const
inline

Definition at line 163 of file LocalContactPoint.h.

◆ elasticRestLengthShape1() [1/2]

agx::Real & agxCollide::LocalContactPoint::elasticRestLengthShape1 ( )
inline

Definition at line 134 of file LocalContactPoint.h.

◆ elasticRestLengthShape1() [2/2]

agx::Real agxCollide::LocalContactPoint::elasticRestLengthShape1 ( ) const
inline

Definition at line 167 of file LocalContactPoint.h.

◆ elasticRestLengthShape2() [1/2]

agx::Real & agxCollide::LocalContactPoint::elasticRestLengthShape2 ( )
inline

Definition at line 135 of file LocalContactPoint.h.

◆ elasticRestLengthShape2() [2/2]

agx::Real agxCollide::LocalContactPoint::elasticRestLengthShape2 ( ) const
inline

Definition at line 168 of file LocalContactPoint.h.

◆ enabled() [1/2]

bool & agxCollide::LocalContactPoint::enabled ( )
inline

Definition at line 142 of file LocalContactPoint.h.

◆ enabled() [2/2]

bool agxCollide::LocalContactPoint::enabled ( ) const
inline

Definition at line 175 of file LocalContactPoint.h.

◆ faceFeature1() [1/2]

agx::UInt8 & agxCollide::LocalContactPoint::faceFeature1 ( )
inline

Definition at line 138 of file LocalContactPoint.h.

◆ faceFeature1() [2/2]

agx::UInt8 agxCollide::LocalContactPoint::faceFeature1 ( ) const
inline

Definition at line 171 of file LocalContactPoint.h.

◆ faceFeature2() [1/2]

agx::UInt8 & agxCollide::LocalContactPoint::faceFeature2 ( )
inline

Definition at line 139 of file LocalContactPoint.h.

◆ faceFeature2() [2/2]

agx::UInt8 agxCollide::LocalContactPoint::faceFeature2 ( ) const
inline

Definition at line 172 of file LocalContactPoint.h.

◆ faceIndex1() [1/2]

agx::UInt32 & agxCollide::LocalContactPoint::faceIndex1 ( )
inline

Definition at line 136 of file LocalContactPoint.h.

◆ faceIndex1() [2/2]

agx::UInt32 agxCollide::LocalContactPoint::faceIndex1 ( ) const
inline

Definition at line 169 of file LocalContactPoint.h.

◆ faceIndex2() [1/2]

agx::UInt32 & agxCollide::LocalContactPoint::faceIndex2 ( )
inline

Definition at line 137 of file LocalContactPoint.h.

◆ faceIndex2() [2/2]

agx::UInt32 agxCollide::LocalContactPoint::faceIndex2 ( ) const
inline

Definition at line 170 of file LocalContactPoint.h.

◆ isHolonomic()

bool agxCollide::LocalContactPoint::isHolonomic ( ) const
inline

Definition at line 178 of file LocalContactPoint.h.

References NONHOLONOMIC.

Referenced by setIsHolonomic().

◆ material() [1/2]

const agx::ContactMaterial *& agxCollide::LocalContactPoint::material ( )
inline

Definition at line 143 of file LocalContactPoint.h.

◆ material() [2/2]

const agx::ContactMaterial * agxCollide::LocalContactPoint::material ( ) const
inline

Definition at line 176 of file LocalContactPoint.h.

◆ maxNormalForce() [1/2]

agx::Real & agxCollide::LocalContactPoint::maxNormalForce ( )
inline

Definition at line 131 of file LocalContactPoint.h.

◆ maxNormalForce() [2/2]

agx::Real agxCollide::LocalContactPoint::maxNormalForce ( ) const
inline

Definition at line 164 of file LocalContactPoint.h.

◆ normal() [1/2]

agx::Vec3f & agxCollide::LocalContactPoint::normal ( )
inline

Definition at line 126 of file LocalContactPoint.h.

◆ normal() [2/2]

agx::Vec3f agxCollide::LocalContactPoint::normal ( ) const
inline

Definition at line 159 of file LocalContactPoint.h.

◆ point() [1/2]

agx::Vec3 & agxCollide::LocalContactPoint::point ( )
inline

◆ point() [2/2]

agx::Vec3 agxCollide::LocalContactPoint::point ( ) const
inline

Definition at line 158 of file LocalContactPoint.h.

◆ setIsHolonomic()

void agxCollide::LocalContactPoint::setIsHolonomic ( bool  isHolonomic)
inline

Definition at line 146 of file LocalContactPoint.h.

References isHolonomic(), and NONHOLONOMIC.

◆ shape1() [1/2]

agx::Physics::Geometry::ShapePtr & agxCollide::LocalContactPoint::shape1 ( )
inline

Definition at line 140 of file LocalContactPoint.h.

◆ shape1() [2/2]

agx::Physics::Geometry::ShapePtr agxCollide::LocalContactPoint::shape1 ( ) const
inline

Definition at line 173 of file LocalContactPoint.h.

◆ shape2() [1/2]

agx::Physics::Geometry::ShapePtr & agxCollide::LocalContactPoint::shape2 ( )
inline

Definition at line 141 of file LocalContactPoint.h.

◆ shape2() [2/2]

agx::Physics::Geometry::ShapePtr agxCollide::LocalContactPoint::shape2 ( ) const
inline

Definition at line 174 of file LocalContactPoint.h.

◆ state() [1/2]

agx::UInt8 & agxCollide::LocalContactPoint::state ( )
inline

Definition at line 144 of file LocalContactPoint.h.

◆ state() [2/2]

agx::UInt8 agxCollide::LocalContactPoint::state ( ) const
inline

Definition at line 177 of file LocalContactPoint.h.

◆ tangentU() [1/2]

agx::Vec3f & agxCollide::LocalContactPoint::tangentU ( )
inline

Definition at line 127 of file LocalContactPoint.h.

◆ tangentU() [2/2]

agx::Vec3f agxCollide::LocalContactPoint::tangentU ( ) const
inline

Definition at line 160 of file LocalContactPoint.h.

◆ tangentV() [1/2]

agx::Vec3f & agxCollide::LocalContactPoint::tangentV ( )
inline

Definition at line 128 of file LocalContactPoint.h.

◆ tangentV() [2/2]

agx::Vec3f agxCollide::LocalContactPoint::tangentV ( ) const
inline

Definition at line 161 of file LocalContactPoint.h.

◆ velocity() [1/2]

agx::Vec3f & agxCollide::LocalContactPoint::velocity ( )
inline

◆ velocity() [2/2]

agx::Vec3f agxCollide::LocalContactPoint::velocity ( ) const
inline

Definition at line 162 of file LocalContactPoint.h.

◆ volume() [1/2]

agx::Real & agxCollide::LocalContactPoint::volume ( )
inline

Definition at line 133 of file LocalContactPoint.h.

Referenced by LocalContactPoint().

◆ volume() [2/2]

agx::Real agxCollide::LocalContactPoint::volume ( ) const
inline

Definition at line 166 of file LocalContactPoint.h.


The documentation for this class was generated from the following file: