AGX Dynamics 2.41.3.0
Loading...
Searching...
No Matches
MergeSplitUtils.h File Reference

Go to the source code of this file.

Classes

struct  agxSDK::MergeSplitUtils::ExternalForceSplitResult
 
class  agxSDK::MergeSplitUtils::WireSegmentMergedState
 Wire merged state segment along a wire. More...
 

Namespaces

namespace  agxSDK
 The agxSDK namespace contain classes to bridge the collision detection system and the dynamical simulation system including Material, event listeners etc.
 
namespace  agxSDK::MergeSplitUtils
 
namespace  agxWire
 Implements a Wire model with adaptive resolution.
 

Macros

#define REPORT_SYSTEM_JOB
 
#define REPORT_SYSTEM_JOB_ENABLE   1
 
#define REPORT_SYSTEM_JOB_EX(str)
 

Typedefs

template<typename T >
using agxSDK::MergeSplitUtils::CollectConnectingEdgesPtrContainer = agx::Vector< T * >
 
using agxSDK::MergeSplitUtils::WireSegmentMergedStateContainer = agx::VectorPOD< WireSegmentMergedState >
 

Functions

AGXPHYSICS_EXPORT agxSDK::MergedBodySolverData::ForceFrame agxSDK::MergeSplitUtils::calculateContactForceFrame (const agx::RigidBody *refRb, const agx::MergedBody::GeometryContactEdgeInteraction *contactEdge, const MergeSplitHandler *handler=nullptr)
 Calculates force frame (edge strength) given reference rigid body, contact edge and optionally an merge split handler (to use contact thresholds).
 
agx::Real agxSDK::MergeSplitUtils::calculateImpactSpeed (const agx::Vec3 &point, const agx::Vec3f &normal, const agx::Vec3 &cmPos, const agx::Vec3 &linVel, const agx::Vec3 &angVel)
 Calculates impact speed of one body given contact point and normal.
 
agx::Real agxSDK::MergeSplitUtils::calculateImpactSpeed (const agx::Vec3 &point, const agx::Vec3f &normal, const agx::Vec3 &relVel, const agx::Vec3 &cmPos1, const agx::Vec3 &angVel1, const agx::Vec3 &cmPos2, const agx::Vec3 &angVel2)
 Calculates impact speed of two rigid bodies given contact point and normal.
 
agx::Vec3 agxSDK::MergeSplitUtils::calculateRelativePointVelocity (const agx::Vec3 &point, const agx::Vec3 &cmPos, const agx::Vec3 &linVel, const agx::Vec3 &angVel)
 Calculates velocity at a given point given center of mass position, linear- and angular velocity.
 
agx::Vec3 agxSDK::MergeSplitUtils::calculateRelativePointVelocity (const agx::Vec3 &point, const agx::Vec3 &relVel, const agx::Vec3 &cmPos1, const agx::Vec3 &angVel1, const agx::Vec3 &cmPos2, const agx::Vec3 &angVel2)
 Calculates relative velocity at a point relative to two bodies.
 
template<typename T >
void agxSDK::MergeSplitUtils::collectConnectingEdges (const T &referenceEdge, agx::MergedBody::EdgeInteraction::InteractionTag edgeTag, agx::Bool bounceAtNonSplittableBodies, const agx::MergedBody &mergedBody, const MergeSplitHandler &handler, CollectConnectingEdgesPtrContainer< T > &result)
 Collects edges of given type/tag that are connected within a merged body.
 
AGXPHYSICS_EXPORT ExternalForceSplitResult agxSDK::MergeSplitUtils::shouldSplitGivenExternalForce (agxSDK::MergedBodySolverData::ForceFrame edgeStrength, const agx::RigidBody *rb, const agx::RigidBody *otherRb, const agx::Vec3 &externalForces, const agx::Vec3 &externalTorques, const agx::Vec3 &gravity, const agxSDK::MergeSplitHandler &handler)
 Checks if two bodies should split given edge strength force frame and external forces.
 

Macro Definition Documentation

◆ REPORT_SYSTEM_JOB

#define REPORT_SYSTEM_JOB

Definition at line 49 of file MergeSplitUtils.h.

◆ REPORT_SYSTEM_JOB_ENABLE

#define REPORT_SYSTEM_JOB_ENABLE   1

Definition at line 22 of file MergeSplitUtils.h.

◆ REPORT_SYSTEM_JOB_EX

#define REPORT_SYSTEM_JOB_EX (   str)

Definition at line 48 of file MergeSplitUtils.h.