17#ifndef AGXCOLLIDE_PLANE_H
18#define AGXCOLLIDE_PLANE_H
#define AGX_DECLARE_POINTER_TYPES(type)
#define AGXSTREAM_DECLARE_SERIALIZABLE(T)
Use this in a Serializable class to add the required methods Important: Use full namespace in the dec...
#define AGXPHYSICS_EXPORT
Axis aligned bounding box implementation.
agx::Physics::Geometry::PlanePtr getEntity() const
virtual const BoundingAABB & updateBoundingVolume() override
Calculate the bounding volume based on the current Shape parameters including transformation.
agx::Vec4 calculatePlane(const agx::AffineMatrix4x4 &transform) const
Plane()
Default constructor.
void setDistance(agx::Real distance)
Set the distance d (from plane equation ax+by+cz+d=0).
Plane(agx::Real const a, agx::Real const b, agx::Real const c, agx::Real d)
Constructor, using plane equation ax+by+cz+d=0.
Plane & operator=(const Plane &)
void set(const agx::Vec3 &p1, const agx::Vec3 &p2, const agx::Vec3 &p3)
static BoundingAABB calculateBound(const agx::AffineMatrix4x4 &transform, const agx::Plane &plane)
Plane(const agx::Vec3 p1, const agx::Vec3 p2, const agx::Vec3 p3)
Create a plane which is spanned using three distinct points.
virtual Shape * clone() const override
Create a clone.
void set(const agx::Vec4 &plane)
virtual agx::Real getVolume() const override
Return the volume of the shape.
agx::Real signedDistanceToPoint(const agx::Vec3 &point) const
Calculates the distance from the plane to a point.
virtual agx::SPDMatrix3x3 calculateInertia(agx::Real mass) const override
Calculate the inertia for the shape given a mass.
virtual BoundingAABB calculateLocalBound() const override
Calculate the bounding volume in the local coordinate system.
Plane(const agx::Vec3 normal, const agx::Vec3 point)
Constructor.
void setNormal(const agx::Vec3 &normal)
Set the normal (a, b, c) from plane equation ax+by+cz+d=0.
agx::Real getDistance() const
Get the distance d (from plane equation ax+by+cz+d=0).
const agx::Vec3 getNormal() const
Get the normal (a, b, c) from plane equation ax+by+cz+d=0.
Plane(const agx::Vec4 plane)
Plane(const agx::Vec3 normal, agx::Real d)
Constructor.
agx::Physics::Geometry::ShapeRef m_entity
Pointer to a entity instance of type Physics.Geometry.Plane.
AGXPHYSICS_EXPORT agx::Plane & plane()
Class representing the mathematical concept of a plane, also called a half- space.
agx::Vec3T< T > getNormal() const
Specialized type of matrices for holding symmetric positive definite matrices.
A class holding 4 dimensional vectors and providing basic arithmetic.
This namespace consists of a set of classes for handling geometric intersection tests including boole...
Vec3T< Real > Vec3
The object holding 3 dimensional vectors and providing basic arithmetic.
AGXCORE_EXPORT const Real RealMax