AGX Dynamics 2.37.3.3
Loading...
Searching...
No Matches
agxSDK Namespace Reference

The agxSDK namespace contain classes to bridge the collision detection system and the dynamical simulation system including Material, event listeners etc. More...

Namespaces

namespace  MergeSplitUtils
 

Classes

class  Assembly
 An assembly is a collection of basic simulation objects, such as rigid bodies, constraints, geometries. More...
 
class  AssemblyVisitor
 Class for visiting all elements in a tree of Assemblies. More...
 
class  BoolPropertyFilter
 Class for matching bool properties. More...
 
class  Collection
 A Collection is a collection of basic simulation objects, such as rigid bodies, constraints, geometries. More...
 
class  CollisionGroupFilter
 An ExecuteFilter that is used to filter out contacts matching a specified criteria based on Collision groups. More...
 
class  ConstraintEnergyData
 
class  ConstraintLogListener
 Class that will log various properties of constraints. More...
 
class  ConstraintMergedState
 
class  ConstraintMergeSplitAlgorithm
 
class  ConstraintMergeSplitThresholds
 Specific thresholds used to split and merge objects given constraints. More...
 
class  ContactEventListener
 Derive from this class to implement a listener for Collision events. More...
 
class  ContactFilterReducerListener
 Class that execute the agxCollide::ContactReducer::reduce on contact points that are collected via a specific ExecuteFilter. More...
 
class  DoublePropertyFilter
 Class for matching double properties. More...
 
class  EnergyManager
 Keeps track of the energy flow in the system. More...
 
class  EventListener
 An EventListener can be associated to a Simulation and triggered upon various events. More...
 
class  ExecuteFilter
 Abstract base class that implements a filter that selects which events should trigger a Listener. More...
 
class  ExecuteFilterT
 Templated version of ExecuteFilter, for objects which contain geometries and inherit from agx::Referenced, such as agxCollide::Geometry, agx::RigidBody, or agxSDK::Assembly. More...
 
class  FloatPropertyFilter
 Class for matching float properties. More...
 
class  FrictionModelFilter
 Execute filter matching friction model instance of the geometry contact. More...
 
class  GeometryContactMergeSplitAlgorithm
 
class  GeometryContactMergeSplitThresholds
 Specific thresholds used to merge and split given geometry contacts. More...
 
class  GranularContactMergeSplitAlgorithm
 
class  GuiEvent
 Class for storing an Event which will be executed later inside Simulation. More...
 
class  GuiEventAdapter
 Base class for inserting mouse and keyboard event into agxSDK::Simulation. More...
 
class  GuiEventListener
 Derive from this class to implement a listener for simulation GuiEvents. More...
 
class  IntPropertyFilter
 Class for matching int properties. More...
 
class  KinematicPathListener
 Class that will update a rigid body's transformation and velocities based on a given path of transformations and time stamps. More...
 
class  LineContactEdge
 
class  LineContactPosition
 
class  LinkedSegment
 Segment object in a linked structure. More...
 
class  LinkedSegmentIterator
 Optionally unbounded linked structure segment iterator object to iterate segments in a SegmentStructure. More...
 
class  LinkedSegmentRange
 Segment range object for linked structure. More...
 
class  LinkedStructure
 Basic implementation of any structure where bodies are linked/constrained together in a well defined consecutive order. More...
 
class  LinkedStructureComponent
 Base implementation of a component (e.g., specific functionality) in linked structures. More...
 
struct  LinkedStructureObjectData
 Connection back from bodies, constraints etc. More...
 
class  LogListener
 Abstract class for logging properties per time step to a file/standard out. More...
 
class  LongPropertyFilter
 Class for matching Long int properties. More...
 
class  MaterialManager
 Simulation unique manager that handles logics around and parameters in contact materials given two agx::Materials. More...
 
class  MergedBodyMergeSplitAlgorithm
 
class  MergedBodySolverData
 Collection of external (active) interactions, interacting with merged rigid bodies. More...
 
class  MergedState
 Object holding merged bodies and state given a pair of rigid bodies. More...
 
class  MergeIgnoreFilter
 A collection of merge ignore group ID pairs for which merge should be rejected. More...
 
class  MergeIgnoreGroups
 A collection of merge ignore groups, some named and some not. More...
 
class  MergeSplitAction
 Data for merge or split actions created in an implementation of an agxSDK::MergeSplitAlgorithm. More...
 
class  MergeSplitActionContainer
 Object containing merge-split actions to be processed by the agxSDK::MergeSplitHandler. More...
 
class  MergeSplitAlgorithm
 Stateless base class for merge and split of interactions. More...
 
class  MergeSplitHandler
 Base class for a merge split algorithm handling a set of merged bodies. More...
 
class  MergeSplitParallelRaContainerKernel
 
class  MergeSplitParallelReferencedDataKernel
 
struct  MergeSplitPostSolveData
 
class  MergeSplitProperties
 
class  MergeSplitThresholds
 Base class for thresholds/constants/values used in agxSDK::MergeSplitAlgorithm. More...
 
class  MultiCollisionFilterContactHandler
 A step event listener managing N contact event listeners with different filters. More...
 
class  PickHandler
 
struct  PickResult
 
class  PropertyFilter
 A class for filtering contacts based on the geometries' properties (as in: their property container). More...
 
class  RigidBodyLogListener
 Class that will log various properties of rigid bodies. More...
 
class  Simulation
 Simulation is a class that bridges the collision space agxCollide::Space and the dynamic simulation system agx::DynamicsSystem. More...
 
class  SimulationControl
 A class for adding input and output arguments, to be used when running a co-simulation. More...
 
class  SimulationControlArgument
 Base class for input/output arguments. More...
 
class  SimulationFrameReader
 
class  SimulationFrameWriter
 
class  SimulationObject
 Deprecated, used only for internal examples*. More...
 
class  SimulationParameter
 
class  SimulationParameterT
 
class  SimulationProxy
 Interface class used by internal objects running in parallel. More...
 
class  SimulationSerializer
 class for serializing a simulation into a series for files on disk <filename>_0001.agx etc. More...
 
class  SimulationStatisticsListener
 This class will collect statistics and sizes of a simulation. More...
 
class  StatisticsData
 Store all the various statistics of a simulation. More...
 
class  StatisticsEntries
 
class  StatisticsListenerData
 Class for storing min/max values together with a ID for the associated RigidBody/Geometry. More...
 
class  StepEventListener
 Derive from this class to implement a listener for simulation step events. More...
 
class  StringPropertyFilter
 Class for matching bool properties. More...
 
class  TerrainInstance
 agxTerrain::Terrain instance in a simulation, receiving step and contact callbacks in a controllable way to avoid interference with user step and contact callbacks. More...
 
class  UuidHashCollisionFilter
 Contact event filter matching UUID of instances, such as agxCollide::Geometry, agx::RigidBody, agxWire::Wire, agxCable::Cable, agxVehicle::Track and/or agxTerrain::Terrain. More...
 
class  WireMergeSplitAlgorithm
 
class  WireMergeSplitThresholds
 Specific thresholds used to split and merge objects given wires. More...
 

Typedefs

typedef agx::observer_ptr< const AssemblyAssemblyConstObserver
 
using AssemblyConstRef = agx::ref_ptr< const agxSDK::Assembly >
 
typedef ExecuteFilterT< agxSDK::Assembly, agxSDK::AssemblyAssemblyFilter
 
typedef agx::ref_ptr< AssemblyFilterAssemblyFilterRef
 
typedef ExecuteFilterT< agxSDK::Assembly, agxCollide::GeometryAssemblyGeometryFilter
 
typedef agx::ref_ptr< AssemblyGeometryFilterAssemblyGeometryFilterRef
 
typedef agx::HashVector< agxSDK::Assembly *, agxSDK::AssemblyRefAssemblyHash
 
typedef agx::observer_ptr< AssemblyAssemblyObserver
 
using AssemblyRef = agx::ref_ptr< agxSDK::Assembly >
 
typedef agx::SetVector< agx::ref_ptr< agxSDK::Assembly > > AssemblyRefSetVector
 
typedef ExecuteFilterT< agxSDK::Assembly, agx::RigidBodyAssemblyRigidBodyFilter
 
typedef agx::ref_ptr< AssemblyRigidBodyFilterAssemblyRigidBodyFilterRef
 
using CollectionRef = agx::ref_ptr< agxSDK::Collection >
 
typedef agx::observer_ptr< const CollisionGroupFilterCollisionGroupFilterConstObserver
 
typedef agx::ref_ptr< const CollisionGroupFilterCollisionGroupFilterConstRef
 
typedef agx::observer_ptr< CollisionGroupFilterCollisionGroupFilterObserver
 
typedef agx::Vector< CollisionGroupFilterObserverCollisionGroupFilterObserverVector
 
typedef agx::VectorPOD< CollisionGroupFilter * > CollisionGroupFilterPtrVector
 
typedef agx::ref_ptr< CollisionGroupFilterCollisionGroupFilterRef
 
typedef agx::Vector< CollisionGroupFilterRefCollisionGroupFilterRefVector
 
typedef agx::ref_ptr< ConstraintLogListenerConstraintLogListenerRef
 
typedef agx::observer_ptr< const ConstraintMergeSplitAlgorithmConstraintMergeSplitAlgorithmConstObserver
 
typedef agx::ref_ptr< const ConstraintMergeSplitAlgorithmConstraintMergeSplitAlgorithmConstRef
 
typedef agx::observer_ptr< ConstraintMergeSplitAlgorithmConstraintMergeSplitAlgorithmObserver
 
typedef agx::ref_ptr< ConstraintMergeSplitAlgorithmConstraintMergeSplitAlgorithmRef
 
typedef agx::observer_ptr< const ConstraintMergeSplitThresholdsConstraintMergeSplitThresholdsConstObserver
 
typedef agx::ref_ptr< const ConstraintMergeSplitThresholdsConstraintMergeSplitThresholdsConstRef
 
typedef agx::observer_ptr< ConstraintMergeSplitThresholdsConstraintMergeSplitThresholdsObserver
 
typedef agx::ref_ptr< ConstraintMergeSplitThresholdsConstraintMergeSplitThresholdsRef
 
typedef agx::ref_ptr< ContactEventListenerContactEventListenerRef
 
typedef agx::observer_ptr< const ContactFilterReducerListenerContactFilterReducerListenerConstObserver
 
typedef agx::ref_ptr< const ContactFilterReducerListenerContactFilterReducerListenerConstRef
 
typedef agx::observer_ptr< ContactFilterReducerListenerContactFilterReducerListenerObserver
 
typedef agx::ref_ptr< ContactFilterReducerListenerContactFilterReducerListenerRef
 
typedef agx::ContactMaterial *(* ContactMaterialFunction) (const agx::Material *m1, const agx::Material *m2)
 
typedef agx::observer_ptr< const EnergyManagerEnergyManagerConstObserver
 
typedef agx::ref_ptr< const EnergyManagerEnergyManagerConstRef
 
typedef agx::observer_ptr< EnergyManagerEnergyManagerObserver
 
typedef agx::ref_ptr< EnergyManagerEnergyManagerRef
 
typedef agx::observer_ptr< const EventListenerEventListenerConstObserver
 
typedef agx::ref_ptr< const EventListenerEventListenerConstRef
 
typedef agx::observer_ptr< EventListenerEventListenerObserver
 
typedef agx::Vector< EventListener * > EventListenerPtrVector
 
typedef agx::ref_ptr< EventListenerEventListenerRef
 
typedef agx::SetVector< agx::ref_ptr< agxSDK::EventListener > > EventListenerRefSetVector
 
typedef agx::observer_ptr< const ExecuteFilterExecuteFilterConstObserver
 
typedef agx::ref_ptr< const ExecuteFilterExecuteFilterConstRef
 
typedef agx::observer_ptr< ExecuteFilterExecuteFilterObserver
 
typedef agx::ref_ptr< ExecuteFilterExecuteFilterRef
 
typedef agx::observer_ptr< const GeometryContactMergeSplitAlgorithmGeometryContactMergeSplitAlgorithmConstObserver
 
typedef agx::ref_ptr< const GeometryContactMergeSplitAlgorithmGeometryContactMergeSplitAlgorithmConstRef
 
typedef agx::observer_ptr< GeometryContactMergeSplitAlgorithmGeometryContactMergeSplitAlgorithmObserver
 
typedef agx::ref_ptr< GeometryContactMergeSplitAlgorithmGeometryContactMergeSplitAlgorithmRef
 
typedef agx::observer_ptr< const GeometryContactMergeSplitThresholdsGeometryContactMergeSplitThresholdsConstObserver
 
typedef agx::ref_ptr< const GeometryContactMergeSplitThresholdsGeometryContactMergeSplitThresholdsConstRef
 
typedef agx::observer_ptr< GeometryContactMergeSplitThresholdsGeometryContactMergeSplitThresholdsObserver
 
typedef agx::ref_ptr< GeometryContactMergeSplitThresholdsGeometryContactMergeSplitThresholdsRef
 
typedef ExecuteFilterT< agxCollide::Geometry, agxCollide::GeometryGeometryFilter
 
typedef agx::ref_ptr< GeometryFilterGeometryFilterRef
 
typedef agx::observer_ptr< const GranularContactMergeSplitAlgorithmGranularContactMergeSplitAlgorithmConstObserver
 
typedef agx::ref_ptr< const GranularContactMergeSplitAlgorithmGranularContactMergeSplitAlgorithmConstRef
 
typedef agx::observer_ptr< GranularContactMergeSplitAlgorithmGranularContactMergeSplitAlgorithmObserver
 
typedef agx::ref_ptr< GranularContactMergeSplitAlgorithmGranularContactMergeSplitAlgorithmRef
 
typedef agx::ref_ptr< GuiEventListenerGuiEventListenerRef
 
typedef agx::ref_ptr< KinematicPathListenerKinematicPathListenerRef
 
typedef agx::observer_ptr< const LinkedSegmentLinkedSegmentConstObserver
 
typedef agx::ref_ptr< const LinkedSegmentLinkedSegmentConstRef
 
using LinkedSegmentContainer = agx::Vector< agxSDK::LinkedSegmentRef >
 
typedef agx::observer_ptr< LinkedSegmentLinkedSegmentObserver
 
typedef agx::ref_ptr< LinkedSegmentLinkedSegmentRef
 
typedef agx::observer_ptr< const LinkedStructureComponentLinkedStructureComponentConstObserver
 
typedef agx::ref_ptr< const LinkedStructureComponentLinkedStructureComponentConstRef
 
using LinkedStructureComponentContainer = agx::Vector< LinkedStructureComponentRef >
 
typedef agx::observer_ptr< LinkedStructureComponentLinkedStructureComponentObserver
 
typedef agx::ref_ptr< LinkedStructureComponentLinkedStructureComponentRef
 
typedef agx::observer_ptr< const LinkedStructureLinkedStructureConstObserver
 
typedef agx::ref_ptr< const LinkedStructureLinkedStructureConstRef
 
typedef agx::observer_ptr< LinkedStructureLinkedStructureObserver
 
typedef agx::ref_ptr< LinkedStructureLinkedStructureRef
 
typedef agx::ref_ptr< LogListenerLogListenerRef
 
typedef agx::observer_ptr< const MaterialManagerMaterialManagerConstObserver
 
typedef agx::ref_ptr< const MaterialManagerMaterialManagerConstRef
 
typedef agx::observer_ptr< MaterialManagerMaterialManagerObserver
 
typedef agx::ref_ptr< MaterialManagerMaterialManagerRef
 
typedef agx::SymmetricPair< const agx::Material * > MaterialPair
 
typedef agx::QuadraticProbingHashTable< SymmetricMaterialPair, agx::ContactMaterialRefMaterialSPairContactMaterialRefTable
 
typedef agx::observer_ptr< const MergeSplitAlgorithmMergeSplitAlgorithmConstObserver
 
typedef agx::ref_ptr< const MergeSplitAlgorithmMergeSplitAlgorithmConstRef
 
typedef agx::observer_ptr< MergeSplitAlgorithmMergeSplitAlgorithmObserver
 
typedef agx::ref_ptr< MergeSplitAlgorithmMergeSplitAlgorithmRef
 
typedef agx::observer_ptr< const MergeSplitPropertiesMergeSplitPropertiesConstObserver
 
typedef agx::ref_ptr< const MergeSplitPropertiesMergeSplitPropertiesConstRef
 
typedef agx::observer_ptr< MergeSplitPropertiesMergeSplitPropertiesObserver
 
typedef agx::ref_ptr< MergeSplitPropertiesMergeSplitPropertiesRef
 
typedef agx::observer_ptr< const MergeSplitThresholdsMergeSplitThresholdsConstObserver
 
typedef agx::ref_ptr< const MergeSplitThresholdsMergeSplitThresholdsConstRef
 
typedef agx::observer_ptr< MergeSplitThresholdsMergeSplitThresholdsObserver
 
typedef agx::ref_ptr< MergeSplitThresholdsMergeSplitThresholdsRef
 
typedef agx::observer_ptr< const MultiCollisionFilterContactHandlerMultiCollisionFilterContactHandlerConstObserver
 
typedef agx::ref_ptr< const MultiCollisionFilterContactHandlerMultiCollisionFilterContactHandlerConstRef
 
typedef agx::observer_ptr< MultiCollisionFilterContactHandlerMultiCollisionFilterContactHandlerObserver
 
typedef agx::ref_ptr< MultiCollisionFilterContactHandlerMultiCollisionFilterContactHandlerRef
 
typedef agx::ref_ptr< PickHandlerPickHandlerRef
 
typedef agx::ref_ptr< PropertyFilterPropertyFilterRef
 
typedef StatisticsListenerData< agx::RealRealStatisticsListenerData
 
typedef ExecuteFilterT< agx::RigidBody, agx::RigidBodyRigidBodyFilter
 
typedef agx::ref_ptr< RigidBodyFilterRigidBodyFilterRef
 
typedef ExecuteFilterT< agx::RigidBody, agxCollide::GeometryRigidBodyGeometryFilter
 
typedef agx::ref_ptr< RigidBodyGeometryFilterRigidBodyGeometryFilterRef
 
typedef agx::ref_ptr< RigidBodyLogListenerRigidBodyLogListenerRef
 
typedef agx::observer_ptr< const SimulationSimulationConstObserver
 
typedef agx::ref_ptr< const SimulationSimulationConstRef
 
typedef agx::observer_ptr< const SimulationControlArgumentSimulationControlArgumentConstObserver
 
typedef agx::ref_ptr< const SimulationControlArgumentSimulationControlArgumentConstRef
 
typedef agx::observer_ptr< SimulationControlArgumentSimulationControlArgumentObserver
 
typedef agx::ref_ptr< SimulationControlArgumentSimulationControlArgumentRef
 
typedef agx::observer_ptr< const SimulationFrameReaderSimulationFrameReaderConstObserver
 
typedef agx::ref_ptr< const SimulationFrameReaderSimulationFrameReaderConstRef
 
typedef agx::observer_ptr< SimulationFrameReaderSimulationFrameReaderObserver
 
typedef agx::ref_ptr< SimulationFrameReaderSimulationFrameReaderRef
 
typedef agx::observer_ptr< const SimulationFrameWriterSimulationFrameWriterConstObserver
 
typedef agx::ref_ptr< const SimulationFrameWriterSimulationFrameWriterConstRef
 
typedef agx::observer_ptr< SimulationFrameWriterSimulationFrameWriterObserver
 
typedef agx::ref_ptr< SimulationFrameWriterSimulationFrameWriterRef
 
typedef agx::observer_ptr< SimulationSimulationObserver
 
typedef agx::observer_ptr< const SimulationParameterSimulationParameterConstObserver
 
typedef agx::ref_ptr< const SimulationParameterSimulationParameterConstRef
 
typedef agx::observer_ptr< SimulationParameterSimulationParameterObserver
 
typedef agx::Vector< SimulationParameterObserverSimulationParameterObserverVector
 
typedef agx::VectorPOD< SimulationParameter * > SimulationParameterPtrVector
 
typedef agx::ref_ptr< SimulationParameterSimulationParameterRef
 
typedef agx::Vector< SimulationParameterRefSimulationParameterRefVector
 
typedef agx::ref_ptr< SimulationProxySimulationProxyRef
 
using SimulationRef = agx::ref_ptr< Simulation >
 
typedef agx::ref_ptr< SimulationSerializerSimulationSerializerRef
 
typedef agx::ref_ptr< SimulationStatisticsListenerSimulationStatisticsListenerRef
 
typedef agx::ref_ptr< StatisticsDataStatisticsDataRef
 
typedef agx::observer_ptr< const StepEventListenerStepEventListenerConstObserver
 
typedef agx::ref_ptr< const StepEventListenerStepEventListenerConstRef
 
typedef agx::observer_ptr< StepEventListenerStepEventListenerObserver
 
typedef agx::Vector< StepEventListenerObserverStepEventListenerObserverVector
 
typedef agx::VectorPOD< StepEventListener * > StepEventListenerPtrVector
 
typedef agx::ref_ptr< StepEventListenerStepEventListenerRef
 
typedef agx::Vector< StepEventListenerRefStepEventListenerRefVector
 
typedef agx::HashTable< agx::String, agx::MaterialRefStringMaterialRefTable
 
typedef agx::SymmetricPair< const agx::Material * > SymmetricMaterialPair
 
typedef StatisticsListenerData< agx::UInt32UInt32StatisticsListenerData
 
typedef agx::observer_ptr< const WireMergeSplitThresholdsWireMergeSplitThresholdsConstObserver
 
typedef agx::ref_ptr< const WireMergeSplitThresholdsWireMergeSplitThresholdsConstRef
 
typedef agx::observer_ptr< WireMergeSplitThresholdsWireMergeSplitThresholdsObserver
 
typedef agx::ref_ptr< WireMergeSplitThresholdsWireMergeSplitThresholdsRef
 

Functions

static agx::Vec3 calculateBoxOffset (const agx::Vec3 &shapeEdge, const agx::Vec3 &shapeContactPosition, agx::Real radius)
 
static agx::Vec3 calculateCylinderOffset (const agx::Vec3 &shapeEdge, const agx::Vec3 &shapeContactPosition, agx::Real radius)
 
static agx::Vec3 calculateMeshOffset (const agxCollide::Mesh *mesh, const size_t triangleIndex, const uint8_t edgeIndex, const agx::Vec3 &, const agx::Real radius)
 
static void copyVectors (agx::Vec3Vector &newContactShapeTranslates, const agx::Vec3Vector &newContactShapeTranslatesB, agx::Vector< size_t > &newTriangleIndices, const agx::Vector< size_t > &newTriangleIndicesB, agx::Vector< size_t > &newEdgeIndices, const agx::Vector< size_t > &newEdgeIndicesB)
 
static void fillEdgeVector (agx::Vector< std::pair< agx::Vec3, agx::Vec3 > > &v, const agx::Vec3 &halfExtent)
 
static agx::Real findAdjustmentForMeshEdge (const agx::Vec3 &lineEndW, const agx::Vec3 &lineStartW, const agx::Vec3 &edgeStart, const agx::Vec3 &edgeEnd, agx::Real lineRadius)
 Shorten the movement range due to neighboring triangles.
 
static agx::Real findDistanceFromPointToLine (const agx::Vec3 &L1, const agx::Vec3 &L2, const agx::Vec3 &P)
 
static void findMostParallelEdgeAmongNeighboringTriangles (const agxCollide::Mesh *mesh, const agx::Vec3 &, const size_t triangleIndex, const uint8_t edgeIndex, size_t &tempNewTriangleStartIndex, size_t &tempNewEdgeLocalStartIndex, const bool atBegin)
 
static bool findPlaneLineSegmentIntersection (const agx::Vec3 &A, const agx::Vec3 &B, const agx::Vec3 &planeOrigin, const agx::Vec3 &planeNormal, agx::Real nearEndsThreshold, agx::Vec3 &Q)
 
static bool findSegmentCircleIntersection3D (const agx::Vec3 &A, const agx::Vec3 &B, const agx::Vec3 &circleOrigin, const agx::Vec3 &circleNormal, agx::Real circleRadius, agx::Real nearEndsThreshold, agx::Vec3 &intersectionPoint)
 
static bool findSegmentCircleIntersections2D (const agx::Vec3 &A, const agx::Vec3 &B, const agx::Vec3 &circlePos, agx::Real radius, agx::Vec3 &Q1, agx::Vec3 &Q2, bool &Q1Found, bool &Q2Found, const agx::Real epsilon=agx::AGX_EQUIVALENT_EPSILON)
 
static uint8_t getEdgeEndLocalVertexIndex (const uint8_t localEdgeIndex, const bool atBegin)
 
static uint8_t getEdgeStartLocalVertexIndex (const uint8_t localEdgeIndex, const bool atBegin)
 
static agx::AffineMatrix4x4 getFuturePosition (const agx::Vec3 &velocity, const agx::Vec3 &angularVelocity, const agx::Vec3 &position, const agx::Quat &rotation, agx::Real time)
 
static uint8_t getLocalEdgeIndexFromVertexIndices (const size_t iteratedVertexIndex, const size_t oppositeVertexIndex)
 
static agx::Vec3 getProjection (const agx::Vec3 contactPoint, agx::Vec3 edge, bool normalizedEdge=false)
 
static agx::Vec3 getSigned (const agx::Vec3 &v)
 
static agx::Real getTotalAngleShapeCoordinates (agx::Vec3 edge, agx::Vec3 contactToCenter, const agx::Vec3 &pos1, const agx::Vec3 &pos2, const agx::Vec3 &pos3, bool &onSameEdge)
 
static bool inBound (agx::Real val, agx::Real boundLower, agx::Real boundUpper, agx::Real threshold=agx::Real(1E-6))
 
template<typename T >
bool matchFilter (const agxCollide::Geometry *, const T *)
 For templated version of ExecuteFilter. Has to be specialized for each class.
 
template<>
bool matchFilter (const agxCollide::Geometry *geo, const agx::RigidBody *rb)
 
template<>
bool matchFilter (const agxCollide::Geometry *geo, const agxSDK::Assembly *a)
 
template<>
bool matchFilter (const agxCollide::Geometry *geo1, const agxCollide::Geometry *geo2)
 
static bool pointInsideCircle (const agx::Vec3 &point, const agx::Vec3 &circleOrigin, agx::Real radius)
 
static agx::Real scalarTripleProduct (const agx::Vec3 &p, const agx::Vec3 &q, const agx::Vec3 &r)
 

Detailed Description

The agxSDK namespace contain classes to bridge the collision detection system and the dynamical simulation system including Material, event listeners etc.

Typedef Documentation

◆ AssemblyConstObserver

Definition at line 41 of file Assembly.h.

◆ AssemblyConstRef

Definition at line 55 of file InverseDynamics.h.

◆ AssemblyFilter

◆ AssemblyFilterRef

◆ AssemblyGeometryFilter

◆ AssemblyGeometryFilterRef

◆ AssemblyHash

◆ AssemblyObserver

Definition at line 41 of file Assembly.h.

◆ AssemblyRef

Definition at line 54 of file InverseDynamics.h.

◆ AssemblyRefSetVector

◆ AssemblyRigidBodyFilter

◆ AssemblyRigidBodyFilterRef

◆ CollectionRef

Definition at line 58 of file InverseDynamics.h.

◆ CollisionGroupFilterConstObserver

◆ CollisionGroupFilterConstRef

◆ CollisionGroupFilterObserver

◆ CollisionGroupFilterObserverVector

◆ CollisionGroupFilterPtrVector

◆ CollisionGroupFilterRef

◆ CollisionGroupFilterRefVector

◆ ConstraintLogListenerRef

◆ ConstraintMergeSplitAlgorithmConstObserver

◆ ConstraintMergeSplitAlgorithmConstRef

◆ ConstraintMergeSplitAlgorithmObserver

◆ ConstraintMergeSplitAlgorithmRef

◆ ConstraintMergeSplitThresholdsConstObserver

◆ ConstraintMergeSplitThresholdsConstRef

◆ ConstraintMergeSplitThresholdsObserver

◆ ConstraintMergeSplitThresholdsRef

◆ ContactEventListenerRef

◆ ContactFilterReducerListenerConstObserver

◆ ContactFilterReducerListenerConstRef

◆ ContactFilterReducerListenerObserver

◆ ContactFilterReducerListenerRef

◆ ContactMaterialFunction

typedef agx::ContactMaterial *(* agxSDK::ContactMaterialFunction) (const agx::Material *m1, const agx::Material *m2)

Definition at line 37 of file MaterialManager.h.

◆ EnergyManagerConstObserver

◆ EnergyManagerConstRef

◆ EnergyManagerObserver

◆ EnergyManagerRef

◆ EventListenerConstObserver

◆ EventListenerConstRef

Definition at line 31 of file EventListener.h.

◆ EventListenerObserver

◆ EventListenerPtrVector

◆ EventListenerRef

Definition at line 31 of file EventListener.h.

◆ EventListenerRefSetVector

◆ ExecuteFilterConstObserver

◆ ExecuteFilterConstRef

Definition at line 28 of file ExecuteFilter.h.

◆ ExecuteFilterObserver

◆ ExecuteFilterRef

Definition at line 28 of file ExecuteFilter.h.

◆ GeometryContactMergeSplitAlgorithmConstObserver

◆ GeometryContactMergeSplitAlgorithmConstRef

◆ GeometryContactMergeSplitAlgorithmObserver

◆ GeometryContactMergeSplitAlgorithmRef

◆ GeometryContactMergeSplitThresholdsConstObserver

◆ GeometryContactMergeSplitThresholdsConstRef

◆ GeometryContactMergeSplitThresholdsObserver

◆ GeometryContactMergeSplitThresholdsRef

◆ GeometryFilter

◆ GeometryFilterRef

◆ GranularContactMergeSplitAlgorithmConstObserver

◆ GranularContactMergeSplitAlgorithmConstRef

◆ GranularContactMergeSplitAlgorithmObserver

◆ GranularContactMergeSplitAlgorithmRef

◆ GuiEventListenerRef

◆ KinematicPathListenerRef

◆ LinkedSegmentConstObserver

◆ LinkedSegmentConstRef

Definition at line 28 of file LinkedSegment.h.

◆ LinkedSegmentContainer

◆ LinkedSegmentObserver

◆ LinkedSegmentRef

Definition at line 28 of file LinkedSegment.h.

◆ LinkedStructureComponentConstObserver

◆ LinkedStructureComponentConstRef

◆ LinkedStructureComponentContainer

◆ LinkedStructureComponentObserver

◆ LinkedStructureComponentRef

◆ LinkedStructureConstObserver

◆ LinkedStructureConstRef

◆ LinkedStructureObserver

◆ LinkedStructureRef

◆ LogListenerRef

Definition at line 86 of file LogListener.h.

◆ MaterialManagerConstObserver

◆ MaterialManagerConstRef

◆ MaterialManagerObserver

◆ MaterialManagerRef

◆ MaterialPair

Definition at line 36 of file MaterialManager.h.

◆ MaterialSPairContactMaterialRefTable

◆ MergeSplitAlgorithmConstObserver

◆ MergeSplitAlgorithmConstRef

◆ MergeSplitAlgorithmObserver

◆ MergeSplitAlgorithmRef

◆ MergeSplitPropertiesConstObserver

◆ MergeSplitPropertiesConstRef

◆ MergeSplitPropertiesObserver

◆ MergeSplitPropertiesRef

◆ MergeSplitThresholdsConstObserver

◆ MergeSplitThresholdsConstRef

◆ MergeSplitThresholdsObserver

◆ MergeSplitThresholdsRef

◆ MultiCollisionFilterContactHandlerConstObserver

◆ MultiCollisionFilterContactHandlerConstRef

◆ MultiCollisionFilterContactHandlerObserver

◆ MultiCollisionFilterContactHandlerRef

◆ PickHandlerRef

◆ PropertyFilterRef

◆ RealStatisticsListenerData

◆ RigidBodyFilter

◆ RigidBodyFilterRef

◆ RigidBodyGeometryFilter

◆ RigidBodyGeometryFilterRef

◆ RigidBodyLogListenerRef

◆ SimulationConstObserver

◆ SimulationConstRef

Definition at line 26 of file StatisticsTrack.h.

◆ SimulationControlArgumentConstObserver

◆ SimulationControlArgumentConstRef

◆ SimulationControlArgumentObserver

◆ SimulationControlArgumentRef

◆ SimulationFrameReaderConstObserver

◆ SimulationFrameReaderConstRef

◆ SimulationFrameReaderObserver

◆ SimulationFrameReaderRef

◆ SimulationFrameWriterConstObserver

◆ SimulationFrameWriterConstRef

◆ SimulationFrameWriterObserver

◆ SimulationFrameWriterRef

◆ SimulationObserver

◆ SimulationParameterConstObserver

◆ SimulationParameterConstRef

◆ SimulationParameterObserver

◆ SimulationParameterObserverVector

◆ SimulationParameterPtrVector

◆ SimulationParameterRef

◆ SimulationParameterRefVector

◆ SimulationProxyRef

◆ SimulationRef

Definition at line 26 of file StatisticsTrack.h.

◆ SimulationSerializerRef

◆ SimulationStatisticsListenerRef

◆ StatisticsDataRef

◆ StepEventListenerConstObserver

◆ StepEventListenerConstRef

◆ StepEventListenerObserver

◆ StepEventListenerObserverVector

◆ StepEventListenerPtrVector

◆ StepEventListenerRef

◆ StepEventListenerRefVector

◆ StringMaterialRefTable

◆ SymmetricMaterialPair

◆ UInt32StatisticsListenerData

◆ WireMergeSplitThresholdsConstObserver

◆ WireMergeSplitThresholdsConstRef

◆ WireMergeSplitThresholdsObserver

◆ WireMergeSplitThresholdsRef

Function Documentation

◆ calculateBoxOffset()

static agx::Vec3 agxSDK::calculateBoxOffset ( const agx::Vec3 shapeEdge,
const agx::Vec3 shapeContactPosition,
agx::Real  radius 
)
inlinestatic

◆ calculateCylinderOffset()

static agx::Vec3 agxSDK::calculateCylinderOffset ( const agx::Vec3 shapeEdge,
const agx::Vec3 shapeContactPosition,
agx::Real  radius 
)
inlinestatic

◆ calculateMeshOffset()

static agx::Vec3 agxSDK::calculateMeshOffset ( const agxCollide::Mesh mesh,
const size_t  triangleIndex,
const uint8_t  edgeIndex,
const agx::Vec3 ,
const agx::Real  radius 
)
inlinestatic

◆ copyVectors()

static void agxSDK::copyVectors ( agx::Vec3Vector newContactShapeTranslates,
const agx::Vec3Vector newContactShapeTranslatesB,
agx::Vector< size_t > &  newTriangleIndices,
const agx::Vector< size_t > &  newTriangleIndicesB,
agx::Vector< size_t > &  newEdgeIndices,
const agx::Vector< size_t > &  newEdgeIndicesB 
)
inlinestatic

◆ fillEdgeVector()

static void agxSDK::fillEdgeVector ( agx::Vector< std::pair< agx::Vec3, agx::Vec3 > > &  v,
const agx::Vec3 halfExtent 
)
inlinestatic

◆ findAdjustmentForMeshEdge()

static agx::Real agxSDK::findAdjustmentForMeshEdge ( const agx::Vec3 lineEndW,
const agx::Vec3 lineStartW,
const agx::Vec3 edgeStart,
const agx::Vec3 edgeEnd,
agx::Real  lineRadius 
)
inlinestatic

Shorten the movement range due to neighboring triangles.

This function does not consider if the actual edge is in start - end direction, all it assumes is that the two startpositions is at same position

Parameters
lineEndW- end position for the edge linecontact is located on
lineStartW- start position for the edge linecontact is located on
edgeStart- start position for edge on next triangle ( should be same position as lineStartW )
edgeEnd- end position for edge on next triangle
Returns
t - the clamp position on the parametrized edge between lineEndW (0) and lineStartW( 0)

Definition at line 648 of file LineCollisionUtils.h.

References agx::clamp(), and agx::Vec3T< T >::normalize().

◆ findDistanceFromPointToLine()

static agx::Real agxSDK::findDistanceFromPointToLine ( const agx::Vec3 L1,
const agx::Vec3 L2,
const agx::Vec3 P 
)
inlinestatic

◆ findMostParallelEdgeAmongNeighboringTriangles()

◆ findPlaneLineSegmentIntersection()

static bool agxSDK::findPlaneLineSegmentIntersection ( const agx::Vec3 A,
const agx::Vec3 B,
const agx::Vec3 planeOrigin,
const agx::Vec3 planeNormal,
agx::Real  nearEndsThreshold,
agx::Vec3 Q 
)
static

◆ findSegmentCircleIntersection3D()

static bool agxSDK::findSegmentCircleIntersection3D ( const agx::Vec3 A,
const agx::Vec3 B,
const agx::Vec3 circleOrigin,
const agx::Vec3 circleNormal,
agx::Real  circleRadius,
agx::Real  nearEndsThreshold,
agx::Vec3 intersectionPoint 
)
inlinestatic

Definition at line 257 of file LineCollisionUtils.h.

References agx::equalsZero(), and findPlaneLineSegmentIntersection().

◆ findSegmentCircleIntersections2D()

static bool agxSDK::findSegmentCircleIntersections2D ( const agx::Vec3 A,
const agx::Vec3 B,
const agx::Vec3 circlePos,
agx::Real  radius,
agx::Vec3 Q1,
agx::Vec3 Q2,
bool &  Q1Found,
bool &  Q2Found,
const agx::Real  epsilon = agx::AGX_EQUIVALENT_EPSILON 
)
inlinestatic

◆ getEdgeEndLocalVertexIndex()

static uint8_t agxSDK::getEdgeEndLocalVertexIndex ( const uint8_t  localEdgeIndex,
const bool  atBegin 
)
inlinestatic

Definition at line 456 of file LineCollisionUtils.h.

References getEdgeStartLocalVertexIndex().

◆ getEdgeStartLocalVertexIndex()

static uint8_t agxSDK::getEdgeStartLocalVertexIndex ( const uint8_t  localEdgeIndex,
const bool  atBegin 
)
inlinestatic

◆ getFuturePosition()

static agx::AffineMatrix4x4 agxSDK::getFuturePosition ( const agx::Vec3 velocity,
const agx::Vec3 angularVelocity,
const agx::Vec3 position,
const agx::Quat rotation,
agx::Real  time 
)
inlinestatic

◆ getLocalEdgeIndexFromVertexIndices()

static uint8_t agxSDK::getLocalEdgeIndexFromVertexIndices ( const size_t  iteratedVertexIndex,
const size_t  oppositeVertexIndex 
)
inlinestatic

Definition at line 469 of file LineCollisionUtils.h.

Referenced by findMostParallelEdgeAmongNeighboringTriangles().

◆ getProjection()

static agx::Vec3 agxSDK::getProjection ( const agx::Vec3  contactPoint,
agx::Vec3  edge,
bool  normalizedEdge = false 
)
inlinestatic

Definition at line 47 of file LineCollisionUtils.h.

References agx::Vec3T< T >::normalize().

◆ getSigned()

static agx::Vec3 agxSDK::getSigned ( const agx::Vec3 v)
inlinestatic

◆ getTotalAngleShapeCoordinates()

static agx::Real agxSDK::getTotalAngleShapeCoordinates ( agx::Vec3  edge,
agx::Vec3  contactToCenter,
const agx::Vec3 pos1,
const agx::Vec3 pos2,
const agx::Vec3 pos3,
bool &  onSameEdge 
)
inlinestatic

◆ inBound()

static bool agxSDK::inBound ( agx::Real  val,
agx::Real  boundLower,
agx::Real  boundUpper,
agx::Real  threshold = agx::Real( 1E-6 ) 
)
inlinestatic

Definition at line 30 of file LineCollisionUtils.h.

Referenced by findPlaneLineSegmentIntersection().

◆ matchFilter() [1/4]

template<typename T >
bool agxSDK::matchFilter ( const agxCollide::Geometry ,
const T *   
)
inline

For templated version of ExecuteFilter. Has to be specialized for each class.

◆ matchFilter() [2/4]

template<>
bool agxSDK::matchFilter ( const agxCollide::Geometry geo,
const agx::RigidBody rb 
)
inline

Definition at line 34 of file RigidBodyFilter.h.

References agxCollide::Geometry::getRigidBody().

◆ matchFilter() [3/4]

template<>
bool agxSDK::matchFilter ( const agxCollide::Geometry geo,
const agxSDK::Assembly a 
)
inline

◆ matchFilter() [4/4]

template<>
bool agxSDK::matchFilter ( const agxCollide::Geometry geo1,
const agxCollide::Geometry geo2 
)
inline

Definition at line 32 of file GeometryFilter.h.

◆ pointInsideCircle()

static bool agxSDK::pointInsideCircle ( const agx::Vec3 point,
const agx::Vec3 circleOrigin,
agx::Real  radius 
)
inlinestatic

Definition at line 268 of file LineCollisionUtils.h.

References agx::Vec3T< T >::distance2(), agx::equalsZero(), and agx::leq().

◆ scalarTripleProduct()

static agx::Real agxSDK::scalarTripleProduct ( const agx::Vec3 p,
const agx::Vec3 q,
const agx::Vec3 r 
)
inlinestatic

Definition at line 42 of file LineCollisionUtils.h.