14#ifndef MOMENTUM_GRANULARCONTACTS_H
15#define MOMENTUM_GRANULARCONTACTS_H
17#include "momentum_namespace.h"
18#include "momentum_export.h"
21#include <agx/Physics/ParticlePairContactEntity.h>
22#include <agx/Physics/ParticleGeometryContactEntity.h>
129 agx::Physics::ParticlePairContactPtr m_granularContactPtr;
130 agxSDK::Simulation* m_simulation;
225 agx::Physics::ParticleGeometryContactPtr m_granularContactPtr;
226 agxSDK::Simulation* m_simulation;
A class describing a contact point between a GranularBody and a RigidBody.
Definition: GranularContacts.h:141
Vec3 getNormal() const
Get the normal of this contact.
double getNormalImpactForceMagnitude() const
Returns the magnitude of the normal impact force if the contact is impacting.
Vec3 getForce() const
Get the force that this contact applies to its bodies in Newton.
std::shared_ptr< MaterialPair > getContactMaterial() const
Get the contact material that the collision is using.
double getDepth()
Get the depth of the contact in meters, describing the size of the overlap.
Vec3 getPoint() const
Get the point of the contact in the world.
std::shared_ptr< GranularBody > getGranularBody() const
Get the GranularBody in the contact.
bool isImpacting() const
Returns true/false if the contact is impacting.
GranularRigidBodyContact()
Null-constructor.
Vec3 getFrictionalForce() const
Get the tangential force that this contact applies to its bodies in Newton.
Vec3 getNormalForce() const
Get the normal that this contact applies to its bodies in Newton.
std::shared_ptr< RigidBody > getRigidBody() const
Get the Rigid Body in the contact.
GranularRigidBodyContact(agx::Physics::ParticleGeometryContactPtr, agxSDK::Simulation *)
Create a wrapper around an agx::Physics::GranularBodyPtr.
A 3 dimensional vector which can be used to define a point or a vector and contains basic arithmetic.
Definition: Vec3.h:40
Namespace for Momentum Scripting API.
Definition: AffineMatrix4x4.h:29
Definition: SceneGraph.h:29