AGX Dynamics 2.38.0.0
|
This namespace consists of a set of classes for handling geometric intersection tests including boolean tests, penetration and contact sets. More...
Namespaces | |
namespace | agxGeometryQueries |
Implementations. | |
namespace | deprecated |
namespace | ElasticRestLengthCalculator |
Classes | |
class | BoundingAABB |
Axis aligned bounding box implementation. More... | |
class | Box |
A box shape for geometric intersection tests. More... | |
class | Capsule |
Implements a Capsule shape for geometric intersection tests. More... | |
class | ColliderTable |
class | ColliderTableCleanup |
class | CollisionGroupManager |
class | CollisionMeshData |
Class for data sharing only to be used by Mesh, its internal classes and children. More... | |
class | Cone |
A right circular cone shape for geometric intersection tests. More... | |
class | ContactPoint |
A contact point in a contact data. More... | |
class | ContactReducer |
Class for contact reduction. More... | |
class | ContactRegionManager |
Class for merging contact regions and computing their normals. More... | |
class | Convex |
A convex class for geometric intersection tests. More... | |
class | ConvexFactory |
Class for creating convex meshes from a set of vertices and indices. More... | |
class | Cylinder |
A cylinder shape for geometric intersection tests. More... | |
class | DisabledCollisionsState |
Complete disabled collisions state in a simulation including disabled given name, group id (integer) and geometry pair. More... | |
class | FallbackConvexCollider |
This template class can be instantiated to use Convex-Convex for shape pairs where no explicit collider exists. More... | |
class | Geometry |
The geometry representation used by the collision detection engine. More... | |
class | GeometryCollider |
The geometry collider is responsible for finding contacts between two geometries. More... | |
class | GeometryContact |
A contact between two geometries. More... | |
struct | GeometryPtrPair |
class | GroupIdCollection |
Collection of geometry group names and id's. More... | |
struct | GroupIdPair |
class | HeightField |
A HeightField is a collision shape that can be created from a grid structure, like an image. More... | |
class | HeightFieldMeshData |
Class for data sharing only to be used by HeightField. More... | |
class | HierarchicalGrid |
class | HollowCone |
A right circular hollow cone shape for geometric intersection tests. More... | |
class | HollowCylinder |
A hollow cylinder shape for geometric intersection tests. More... | |
class | Line |
A line shape for intersection tests, mostly for depth sensing and picking. More... | |
class | LineSegmentIntersectionFinder |
class | LocalContactPoint |
class | LocalGeometryContact |
class | LocalParticleGeometryContact |
class | LocalParticlePairContact |
class | Mesh |
Mesh is a common base class for triangle meshes, such as Mesh or HeightField. More... | |
class | MeshData |
Stores triangle mesh data as triangle lists, i.e. More... | |
struct | NamePair |
class | Plane |
class | Polynomial |
class | RegressionPlane |
A plane created from points using least squares minimization. More... | |
class | RenderData |
Class for storing rendering information for a Shape. More... | |
class | RenderMaterial |
Class for storing rendering material. More... | |
class | Shape |
Base class for a shape. More... | |
class | Space |
This class contains all Geometries and performs Broad Phase and Narrow Phase collision detection to calculate overlapping Geometry pairs. More... | |
class | SpaceListener |
Class for listening for add/remove geometry events for an associated Space. More... | |
class | Sphere |
A sphere class for geometric intersection tests. More... | |
class | SweepAndPrune |
class | TriangleVoronoiRegion |
Class containing the Voronoi region of a triangle as an uint8_t. More... | |
class | Trimesh |
Triangle mesh for geometric intersection tests. More... | |
class | VoronoiGenerator |
class | WireShape |
Internal class used by agxWire::Wire. More... | |
Enumerations | |
enum class | ShapeDistanceResult : std::uint8_t { SUCCESS , OVERLAPPING_SHAPES , UNSUPPORTED_SHAPE_TYPES , FAILURE } |
Status values that can be returned when performing shape-shape distance computation. More... | |
Functions | |
AGX_DECLARE_POINTER_TYPES (SpaceListener) | |
AGX_STATIC_ASSERT (sizeof(ContactPoint)==sizeof(agx::Physics::ContactPointPtr)) | |
AGXPHYSICS_EXPORT void | collideConvexConvex (const Shape *convexShape1, const Shape *convexShape2, const agx::AffineMatrix4x4 &transform1, const agx::AffineMatrix4x4 &transform2, ShapeCollider::LocalContactPointVector &result, const agx::Real epaAccuracy=agx::AGX_EQUIVALENT_EPSILON) |
Collides two convex shapes (Box, Capsule, Convex, Cylinder, Sphere). | |
AGXPHYSICS_EXPORT agxCollide::ShapeDistanceResult | computeGeometryDistance (const agxCollide::Geometry *geometry1, const agx::AffineMatrix4x4 &transform1, const agxCollide::Geometry *geometry2, const agx::AffineMatrix4x4 &transform2, agx::Vec3 &point1, agx::Vec3 &point2) |
Utility method to perform shape-shape minimum distance test between all compatible shape pairs, where one shape is taken from each geometry. | |
AGXPHYSICS_EXPORT agxCollide::ShapeDistanceResult | computeShapeDistance (const agxCollide::Shape *shape1, const agx::AffineMatrix4x4 &transform1, const agxCollide::Shape *shape2, const agx::AffineMatrix4x4 &transform2, agx::Vec3 &point1, agx::Vec3 &point2) |
Utility function to compute the minimum distance between two shapes. | |
template void | copyContactPoint (const agx::Physics::ContactPointPtr &, LocalContactPoint &) |
template void | copyContactPoint (const ContactPoint &, LocalContactPoint &) |
template void | copyContactPoint (const LocalContactPoint &, agx::Physics::ContactPointPtr &) |
template void | copyContactPoint (const LocalContactPoint &, ContactPoint &) |
template<typename T1 , typename T2 > | |
void | copyContactPoint (const T1 &from, T2 &to) |
Copy between the different kinds of contact points. | |
AGXPHYSICS_EXPORT void | createSupportContactPoints (const agxCollide::Shape *shape1, const agxCollide::Shape *shape2, const agx::AffineMatrix4x4 &transform1, const agx::AffineMatrix4x4 &transform2, const agx::Vec3 &point, const agx::Vec3 &normal, const agx::Real deepestDepth, agxCollide::ShapeCollider::LocalContactPointVector &result, bool &keepOriginalPoint) |
Given 2 convex shapes and 1 contact point (which is assumed to be the deepest possible point) this function will create extra contact points. | |
AGXPHYSICS_EXPORT bool | isPointInsideConvex (const agx::Vec3 &point, const agxCollide::Convex *convex) |
Check if a point in world coordinates is inside a given convex. | |
AGXPHYSICS_EXPORT std::ostream & | operator<< (std::ostream &output, const agx::Physics::CollisionGroupPtr &group) |
AGXPHYSICS_EXPORT std::ostream & | operator<< (std::ostream &output, const agx::Physics::CollisionGroupSetPtr &set) |
std::ostream & | operator<< (std::ostream &output, const BoundingAABB &bound) |
std::ostream & | operator<< (std::ostream &output, const DisabledCollisionsState &state) |
This namespace consists of a set of classes for handling geometric intersection tests including boolean tests, penetration and contact sets.
typedef agx::observer_ptr< const Box > agxCollide::BoxConstObserver |
typedef agx::ref_ptr< const Box > agxCollide::BoxConstRef |
typedef agx::observer_ptr< Box > agxCollide::BoxObserver |
typedef agx::ref_ptr< Box > agxCollide::BoxRef |
typedef agx::Vector<agx::Physics::BroadPhasePairPtr, agxData::BufferProxyAllocator> agxCollide::BroadPhasePairVector |
typedef agx::observer_ptr< const Capsule > agxCollide::CapsuleConstObserver |
typedef agx::ref_ptr< const Capsule > agxCollide::CapsuleConstRef |
typedef agx::observer_ptr< Capsule > agxCollide::CapsuleObserver |
typedef agx::ref_ptr< Capsule > agxCollide::CapsuleRef |
typedef agx::observer_ptr< const CollisionGroupManager > agxCollide::CollisionGroupManagerConstObserver |
Definition at line 29 of file CollisionGroupManager.h.
typedef agx::ref_ptr< const CollisionGroupManager > agxCollide::CollisionGroupManagerConstRef |
Definition at line 29 of file CollisionGroupManager.h.
Definition at line 29 of file CollisionGroupManager.h.
Definition at line 29 of file CollisionGroupManager.h.
Definition at line 136 of file MeshData.h.
typedef agx::observer_ptr< const Cone > agxCollide::ConeConstObserver |
typedef agx::ref_ptr< const Cone > agxCollide::ConeConstRef |
typedef agx::observer_ptr< Cone > agxCollide::ConeObserver |
typedef agx::ref_ptr< Cone > agxCollide::ConeRef |
typedef agx::ref_ptr<const CollisionMeshData> agxCollide::ConstCollisionMeshDataRef |
Definition at line 137 of file MeshData.h.
Definition at line 173 of file MeshData.h.
typedef agx::ref_ptr<const MeshData> agxCollide::ConstMeshDataRef |
Definition at line 71 of file MeshData.h.
Definition at line 265 of file Contacts.h.
typedef agx::observer_ptr< const Convex > agxCollide::ConvexConstObserver |
typedef agx::ref_ptr< const Convex > agxCollide::ConvexConstRef |
typedef agx::observer_ptr< const ConvexFactory > agxCollide::ConvexFactoryConstObserver |
Definition at line 32 of file ConvexFactory.h.
typedef agx::ref_ptr< const ConvexFactory > agxCollide::ConvexFactoryConstRef |
Definition at line 32 of file ConvexFactory.h.
Definition at line 32 of file ConvexFactory.h.
Definition at line 32 of file ConvexFactory.h.
typedef agx::observer_ptr< Convex > agxCollide::ConvexObserver |
typedef agx::ref_ptr< Convex > agxCollide::ConvexRef |
Definition at line 30 of file ConvexFactory.h.
typedef agx::observer_ptr< const Cylinder > agxCollide::CylinderConstObserver |
Definition at line 31 of file Cylinder.h.
typedef agx::ref_ptr< const Cylinder > agxCollide::CylinderConstRef |
Definition at line 31 of file Cylinder.h.
Definition at line 31 of file Cylinder.h.
typedef agx::ref_ptr< Cylinder > agxCollide::CylinderRef |
Definition at line 31 of file Cylinder.h.
typedef agx::observer_ptr< const Geometry > agxCollide::GeometryConstObserver |
Definition at line 77 of file Geometry.h.
typedef agx::ref_ptr< const Geometry > agxCollide::GeometryConstRef |
Definition at line 77 of file Geometry.h.
Definition at line 40 of file agxcollide_vector_types.h.
Definition at line 41 of file agxcollide_vector_types.h.
typedef agx::HashSet<const Geometry * > agxCollide::GeometryHashSet |
Definition at line 80 of file Geometry.h.
typedef agx::HashVector<const Geometry *, agx::observer_ptr<const Geometry> > agxCollide::GeometryHashVector |
Definition at line 79 of file Geometry.h.
Definition at line 77 of file Geometry.h.
Definition at line 78 of file Geometry.h.
typedef agx::Vector<agxCollide::GeometryPair > agxCollide::GeometryPairVector |
Definition at line 37 of file agxcollide_vector_types.h.
Definition at line 45 of file DisabledCollisionsState.h.
typedef agx::VectorPOD< Geometry * > agxCollide::GeometryPtrVector |
Definition at line 36 of file agxcollide_vector_types.h.
typedef agx::ref_ptr< Geometry > agxCollide::GeometryRef |
Definition at line 77 of file Geometry.h.
Definition at line 81 of file Geometry.h.
typedef agx::Vector< GeometryRef > agxCollide::GeometryRefVector |
Definition at line 38 of file agxcollide_vector_types.h.
Definition at line 27 of file agxcollide_hash_types.h.
Definition at line 38 of file DisabledCollisionsState.h.
Definition at line 24 of file GroupIdCollection.h.
typedef agx::observer_ptr< const HeightField > agxCollide::HeightFieldConstObserver |
Definition at line 38 of file agxCollide/HeightField.h.
typedef agx::ref_ptr< const HeightField > agxCollide::HeightFieldConstRef |
Definition at line 38 of file agxCollide/HeightField.h.
Definition at line 172 of file MeshData.h.
Definition at line 38 of file agxCollide/HeightField.h.
typedef agx::ref_ptr< HeightField > agxCollide::HeightFieldRef |
Definition at line 38 of file agxCollide/HeightField.h.
typedef agx::observer_ptr< const HierarchicalGrid > agxCollide::HierarchicalGridConstObserver |
Definition at line 29 of file HierarchicalGrid.h.
typedef agx::ref_ptr< const HierarchicalGrid > agxCollide::HierarchicalGridConstRef |
Definition at line 29 of file HierarchicalGrid.h.
Definition at line 29 of file HierarchicalGrid.h.
Definition at line 29 of file HierarchicalGrid.h.
typedef agx::observer_ptr< const HollowCone > agxCollide::HollowConeConstObserver |
Definition at line 29 of file HollowCone.h.
typedef agx::ref_ptr< const HollowCone > agxCollide::HollowConeConstRef |
Definition at line 29 of file HollowCone.h.
Definition at line 29 of file HollowCone.h.
typedef agx::ref_ptr< HollowCone > agxCollide::HollowConeRef |
Definition at line 29 of file HollowCone.h.
typedef agx::observer_ptr< const HollowCylinder > agxCollide::HollowCylinderConstObserver |
Definition at line 29 of file HollowCylinder.h.
typedef agx::ref_ptr< const HollowCylinder > agxCollide::HollowCylinderConstRef |
Definition at line 29 of file HollowCylinder.h.
Definition at line 29 of file HollowCylinder.h.
Definition at line 29 of file HollowCylinder.h.
typedef agx::observer_ptr< const Line > agxCollide::LineConstObserver |
Definition at line 28 of file agxCollide/Line.h.
typedef agx::ref_ptr< const Line > agxCollide::LineConstRef |
Definition at line 28 of file agxCollide/Line.h.
typedef agx::observer_ptr< Line > agxCollide::LineObserver |
Definition at line 28 of file agxCollide/Line.h.
typedef agx::ref_ptr< Line > agxCollide::LineRef |
Definition at line 28 of file agxCollide/Line.h.
Definition at line 207 of file LocalContactPoint.h.
Definition at line 300 of file LocalContactPoint.h.
Definition at line 324 of file LocalContactPoint.h.
Definition at line 349 of file LocalContactPoint.h.
typedef agx::Vector<agx::Physics::GeometryPairPtr> agxCollide::LocalSeparationPairVector |
typedef agx::observer_ptr< const Mesh > agxCollide::MeshConstObserver |
typedef agx::ref_ptr< const Mesh > agxCollide::MeshConstRef |
typedef agx::ref_ptr<MeshData> agxCollide::MeshDataRef |
Definition at line 70 of file MeshData.h.
typedef agx::observer_ptr< Mesh > agxCollide::MeshObserver |
typedef agx::ref_ptr< Mesh > agxCollide::MeshRef |
Definition at line 31 of file DisabledCollisionsState.h.
typedef agx::Vector<agx::Physics::ParticleGeometryContactPtr> agxCollide::ParticleGeometryContactVector |
typedef std::pair<agx::Physics::ParticlePtr, agx::Physics::GeometryPtr> agxCollide::ParticleGeometryPair |
typedef agx::Vector<agx::Physics::ParticlePairContactPtr> agxCollide::ParticlePairContactVector |
typedef agx::observer_ptr< const Plane > agxCollide::PlaneConstObserver |
Definition at line 33 of file agxCollide/Plane.h.
typedef agx::ref_ptr< const Plane > agxCollide::PlaneConstRef |
Definition at line 33 of file agxCollide/Plane.h.
typedef agx::observer_ptr< Plane > agxCollide::PlaneObserver |
Definition at line 33 of file agxCollide/Plane.h.
typedef agx::ref_ptr< Plane > agxCollide::PlaneRef |
Definition at line 33 of file agxCollide/Plane.h.
typedef agx::observer_ptr< const RenderData > agxCollide::RenderDataConstObserver |
Definition at line 30 of file RenderData.h.
typedef agx::ref_ptr< const RenderData > agxCollide::RenderDataConstRef |
Definition at line 30 of file RenderData.h.
Definition at line 30 of file RenderData.h.
typedef agx::ref_ptr< RenderData > agxCollide::RenderDataRef |
Definition at line 30 of file RenderData.h.
typedef agx::observer_ptr< const RenderMaterial > agxCollide::RenderMaterialConstObserver |
Definition at line 27 of file RenderMaterial.h.
typedef agx::ref_ptr< const RenderMaterial > agxCollide::RenderMaterialConstRef |
Definition at line 27 of file RenderMaterial.h.
Definition at line 27 of file RenderMaterial.h.
Definition at line 27 of file RenderMaterial.h.
Definition at line 188 of file RenderMaterial.h.
typedef agx::Vector<agx::Physics::GeometryPairPtr, agxData::BufferProxyAllocator> agxCollide::SeparationPairVector |
typedef agx::observer_ptr< const Shape > agxCollide::ShapeConstObserver |
typedef agx::ref_ptr< const Shape > agxCollide::ShapeConstRef |
typedef agx::observer_ptr< const ShapeGroup > agxCollide::ShapeGroupConstObserver |
typedef agx::ref_ptr< const ShapeGroup > agxCollide::ShapeGroupConstRef |
typedef agx::observer_ptr< ShapeGroup > agxCollide::ShapeGroupObserver |
typedef agx::ref_ptr< ShapeGroup > agxCollide::ShapeGroupRef |
typedef agx::observer_ptr< Shape > agxCollide::ShapeObserver |
typedef agx::VectorPOD< Shape *> agxCollide::ShapePtrVector |
typedef agx::ref_ptr< Shape > agxCollide::ShapeRef |
typedef agx::Vector< ShapeRef > agxCollide::ShapeRefVector |
Definition at line 39 of file agxcollide_vector_types.h.
typedef agx::observer_ptr< const Space > agxCollide::SpaceConstObserver |
typedef agx::ref_ptr< const Space > agxCollide::SpaceConstRef |
typedef agx::observer_ptr< Space > agxCollide::SpaceObserver |
typedef agx::ref_ptr< Space > agxCollide::SpaceRef |
typedef agx::observer_ptr< const Sphere > agxCollide::SphereConstObserver |
typedef agx::ref_ptr< const Sphere > agxCollide::SphereConstRef |
typedef agx::observer_ptr< Sphere > agxCollide::SphereObserver |
typedef agx::ref_ptr< Sphere > agxCollide::SphereRef |
typedef agx::observer_ptr< const SweepAndPrune > agxCollide::SweepAndPruneConstObserver |
Definition at line 35 of file SweepAndPrune.h.
typedef agx::ref_ptr< const SweepAndPrune > agxCollide::SweepAndPruneConstRef |
Definition at line 35 of file SweepAndPrune.h.
Definition at line 35 of file SweepAndPrune.h.
Definition at line 35 of file SweepAndPrune.h.
typedef agx::observer_ptr< const Trimesh > agxCollide::TrimeshConstObserver |
typedef agx::ref_ptr< const Trimesh > agxCollide::TrimeshConstRef |
typedef agx::observer_ptr< Trimesh > agxCollide::TrimeshObserver |
typedef agx::ref_ptr< Trimesh > agxCollide::TrimeshRef |
typedef agx::observer_ptr< const VoronoiGenerator > agxCollide::VoronoiGeneratorConstObserver |
Definition at line 33 of file VoronoiGenerator.h.
typedef agx::ref_ptr< const VoronoiGenerator > agxCollide::VoronoiGeneratorConstRef |
Definition at line 33 of file VoronoiGenerator.h.
Definition at line 33 of file VoronoiGenerator.h.
Definition at line 33 of file VoronoiGenerator.h.
typedef agx::observer_ptr< const WireShape > agxCollide::WireShapeConstObserver |
Definition at line 27 of file WireShape.h.
typedef agx::ref_ptr< const WireShape > agxCollide::WireShapeConstRef |
Definition at line 27 of file WireShape.h.
Definition at line 27 of file WireShape.h.
typedef agx::ref_ptr< WireShape > agxCollide::WireShapeRef |
Definition at line 27 of file WireShape.h.
|
strong |
Status values that can be returned when performing shape-shape distance computation.
Enumerator | |
---|---|
SUCCESS | Distance measurement successful. |
OVERLAPPING_SHAPES | Shapes overlap. |
UNSUPPORTED_SHAPE_TYPES | One or more input shapes is of a non-supported type (Shape::hasSupportFunction() returns false) |
FAILURE | Generic error, e.g supported shapes but invalid values such as some negative shape size. |
Definition at line 35 of file ShapeDistance.h.
agxCollide::AGX_DECLARE_POINTER_TYPES | ( | SpaceListener | ) |
agxCollide::AGX_STATIC_ASSERT | ( | sizeof(ContactPoint) | = =sizeof(agx::Physics::ContactPointPtr) | ) |
AGXPHYSICS_EXPORT void agxCollide::collideConvexConvex | ( | const Shape * | convexShape1, |
const Shape * | convexShape2, | ||
const agx::AffineMatrix4x4 & | transform1, | ||
const agx::AffineMatrix4x4 & | transform2, | ||
ShapeCollider::LocalContactPointVector & | result, | ||
const agx::Real | epaAccuracy = agx::AGX_EQUIVALENT_EPSILON |
||
) |
Collides two convex shapes (Box, Capsule, Convex, Cylinder, Sphere).
convexShape1 | The first convex shape. |
convexShape2 | The second convex shape. |
transform1 | The transformation matrix from the first convex shape's local frame to world frame. |
transform2 | The transformation matrix from the second convex shape's local frame to world frame. |
result | The contact point vector (probably non-empty from start) where resulting contact points get added. |
epaAccuracy | Which accuracy does EPA have to reach in order to accept the found point as the deepest one? |
Referenced by agxCollide::FallbackConvexCollider< ShapeType1, ShapeType2 >::_calculateContacts().
AGXPHYSICS_EXPORT agxCollide::ShapeDistanceResult agxCollide::computeGeometryDistance | ( | const agxCollide::Geometry * | geometry1, |
const agx::AffineMatrix4x4 & | transform1, | ||
const agxCollide::Geometry * | geometry2, | ||
const agx::AffineMatrix4x4 & | transform2, | ||
agx::Vec3 & | point1, | ||
agx::Vec3 & | point2 | ||
) |
Utility method to perform shape-shape minimum distance test between all compatible shape pairs, where one shape is taken from each geometry.
The tests will use computeShapeDistance and the smallest distance will be returned in point1 and point2 if the return status is SUCCESS.
geometry1 | - First geometry (with shapes) to be tested |
transform1 | - Transform that transform the first geometry to the world coordinate system |
geometry2 | - Second geometry (with shapes) to be tested |
transform2 | - Transform that transform the second geometry to the world coordinate system |
point1 | - The closest point on shape1 |
point2 | - The closest point on shape2 |
AGXPHYSICS_EXPORT agxCollide::ShapeDistanceResult agxCollide::computeShapeDistance | ( | const agxCollide::Shape * | shape1, |
const agx::AffineMatrix4x4 & | transform1, | ||
const agxCollide::Shape * | shape2, | ||
const agx::AffineMatrix4x4 & | transform2, | ||
agx::Vec3 & | point1, | ||
agx::Vec3 & | point2 | ||
) |
Utility function to compute the minimum distance between two shapes.
This method supports convex shapes for which Shape::hasSupportFunction() returns true. The function works directly on the shapes and does not need for the shapes to be part of agxCollide::Space or that e.g. BoundingBoxes are updated.
When the shapes do not overlap, SUCCESS IS returned and the position on each shape in global coordinates are written to point1 and point2. The distance is the magnitude of the vector between point1 and point2.
If the shapes do overlap, OVERLAPPING_SHAPES is returned and point1 and point2 are unchanged. More detailed contact information for this case, use the regular collision detection via Space.
For unsupported shape types or an unspecified error, two other return codes are also possible.
shape1 | - First shape to be tested |
transform1 | - Transform that transform the first shape to the world coordinate system |
shape2 | - Second shape to be tested |
transform2 | - Transform that transform the second shape to the world coordinate system |
point1 | - The closest point on shape1 |
point2 | - The closest point on shape2 |
template void agxCollide::copyContactPoint | ( | const agx::Physics::ContactPointPtr & | , |
LocalContactPoint & | |||
) |
template void agxCollide::copyContactPoint | ( | const ContactPoint & | , |
LocalContactPoint & | |||
) |
template void agxCollide::copyContactPoint | ( | const LocalContactPoint & | , |
agx::Physics::ContactPointPtr & | |||
) |
template void agxCollide::copyContactPoint | ( | const LocalContactPoint & | , |
ContactPoint & | |||
) |
void agxCollide::copyContactPoint | ( | const T1 & | from, |
T2 & | to | ||
) |
Copy between the different kinds of contact points.
Note that only the common members between all 3 classes are copied (so not e.g. material or localForce).
Definition at line 236 of file Contacts.h.
AGXPHYSICS_EXPORT void agxCollide::createSupportContactPoints | ( | const agxCollide::Shape * | shape1, |
const agxCollide::Shape * | shape2, | ||
const agx::AffineMatrix4x4 & | transform1, | ||
const agx::AffineMatrix4x4 & | transform2, | ||
const agx::Vec3 & | point, | ||
const agx::Vec3 & | normal, | ||
const agx::Real | deepestDepth, | ||
agxCollide::ShapeCollider::LocalContactPointVector & | result, | ||
bool & | keepOriginalPoint | ||
) |
Given 2 convex shapes and 1 contact point (which is assumed to be the deepest possible point) this function will create extra contact points.
shape1 | The first convex shape. |
shape2 | The second convex shape. |
transform1 | The transformation matrix from the first convex shape's local frame to world frame. |
transform2 | The transformation matrix from the second convex shape's local frame to world frame. |
point | The first, deepest contact point. |
normal | The contact normal belonging to the first, deepest contact point. |
deepestDepth | The depth belonging to the first, deepest contact point. |
result | The contact point vector (probably non-empty from start) where resulting contact points get added. |
keepOriginalPoint | Result: Should the original point be kept, or have we found better ones? |
AGXPHYSICS_EXPORT bool agxCollide::isPointInsideConvex | ( | const agx::Vec3 & | point, |
const agxCollide::Convex * | convex | ||
) |
Check if a point in world coordinates is inside a given convex.
point | The point in world coordinates. |
convex | The convex. |
AGXPHYSICS_EXPORT std::ostream & agxCollide::operator<< | ( | std::ostream & | output, |
const agx::Physics::CollisionGroupPtr & | group | ||
) |
AGXPHYSICS_EXPORT std::ostream & agxCollide::operator<< | ( | std::ostream & | output, |
const agx::Physics::CollisionGroupSetPtr & | set | ||
) |
|
inline |
Definition at line 224 of file BoundingAABB.h.
References agx::BoundT< T >::max(), and agx::BoundT< T >::min().
std::ostream & agxCollide::operator<< | ( | std::ostream & | output, |
const DisabledCollisionsState & | state | ||
) |