PlayRho  2.0.0
An interactive physics engine & library.
Manifold.hpp File Reference

Definition of the Manifold class and closely related code. More...

#include <cassert>
#include <cstddef>
#include <cstdint>
#include <type_traits>
#include <playrho/ContactFeature.hpp>
#include <playrho/Vector.hpp>
#include <playrho/Vector2.hpp>
#include <playrho/d2/IndexPair.hpp>
#include <playrho/d2/UnitVec.hpp>
Include dependency graph for Manifold.hpp:
This graph shows which files directly or indirectly include this file:

Classes

struct  playrho::d2::Manifold::Conf
 Configuration data for manifold calculation. More...
 
class  playrho::d2::Manifold
 A collision response oriented description of the intersection of two convex shapes. More...
 
struct  playrho::d2::Manifold::Point
 Data for a point of collision in a Manifold. More...
 

Namespaces

 playrho
 
 playrho::d2
 

Functions

Manifold playrho::d2::CollideShapes (const DistanceProxy &shapeA, const Transformation &xfA, const DistanceProxy &shapeB, const Transformation &xfB, const Manifold::Conf &conf=GetDefaultManifoldConf())
 Calculates the relevant collision manifold. More...
 
constexpr Manifold::Conf playrho::d2::GetDefaultManifoldConf () noexcept
 Gets the default manifold configuration.
 
Manifold playrho::d2::GetManifold (bool flipped, const DistanceProxy &shape0, const Transformation &xf0, VertexCounter idx0, const DistanceProxy &shape1, const Transformation &xf1, VertexCounter2 indices1, const Manifold::Conf &conf)
 Gets a face-to-face based manifold. More...
 
Manifold playrho::d2::GetManifold (bool flipped, Length totalRadius, const DistanceProxy &shape, const Transformation &sxf, const Length2 &point, const Transformation &xfm)
 Computes manifolds for face-to-point collision. More...
 
Manifold playrho::d2::GetManifold (const Length2 &locationA, const Transformation &xfA, const Length2 &locationB, const Transformation &xfB, Length totalRadius) noexcept
 Gets a point-to-point based manifold.
 
Manifold::Conf playrho::d2::GetManifoldConf (const StepConf &conf) noexcept
 Gets the manifold configuration for the given step configuration.
 
const char * playrho::d2::GetName (Manifold::Type type) noexcept
 Gets a unique name for the given manifold type. More...
 
constexpr auto playrho::IsValid (const d2::Manifold &value) noexcept -> bool
 Gets whether the given manifold is valid.
 
bool playrho::d2::operator!= (const Manifold &lhs, const Manifold &rhs) noexcept
 Manifold inequality operator. More...
 
bool playrho::d2::operator!= (const Manifold::Point &lhs, const Manifold::Point &rhs) noexcept
 Determines whether the two given manifold points are not equal.
 
bool playrho::d2::operator== (const Manifold &lhs, const Manifold &rhs) noexcept
 Manifold equality operator. More...
 
bool playrho::d2::operator== (const Manifold::Point &lhs, const Manifold::Point &rhs) noexcept
 Determines whether the two given manifold points are equal.
 

Detailed Description

Definition of the Manifold class and closely related code.