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

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

#include <memory>
#include <utility>
#include <typeinfo>
#include <type_traits>
#include <playrho/InvalidArgument.hpp>
#include <playrho/Filter.hpp>
#include <playrho/NonNegative.hpp>
#include <playrho/Settings.hpp>
#include <playrho/Templates.hpp>
#include <playrho/TypeInfo.hpp>
#include <playrho/d2/DistanceProxy.hpp>
#include <playrho/d2/MassData.hpp>
#include <playrho/d2/Math.hpp>
#include <playrho/d2/detail/ShapeConcept.hpp>
#include <playrho/d2/detail/ShapeModel.hpp>
Include dependency graph for Shape.hpp:
This graph shows which files directly or indirectly include this file:

Classes

class  playrho::d2::Shape
 Shape. More...
 

Namespaces

 playrho
 
 playrho::d2
 

Functions

DistanceProxy playrho::d2::GetChild (const Shape &shape, ChildCounter index)
 Gets the "child" for the given index. More...
 
DistanceProxy playrho::d2::GetChild (Shape &&shape, ChildCounter index)=delete
 Getting the "child" for a temporary is deleted to prevent dangling references.
 
ChildCounter playrho::d2::GetChildCount (const Shape &shape) noexcept
 Gets the number of child primitives of the shape. More...
 
const void * playrho::d2::GetData (const Shape &shape) noexcept
 Gets a pointer to the underlying data. More...
 
NonNegative< AreaDensity > playrho::d2::GetDensity (const Shape &shape) noexcept
 Gets the density of the given shape. More...
 
Filter playrho::d2::GetFilter (const Shape &shape) noexcept
 Gets the filter value for the given shape. More...
 
NonNegativeFF< Real > playrho::d2::GetFriction (const Shape &shape) noexcept
 Gets the coefficient of friction. More...
 
MassData playrho::d2::GetMassData (const Shape &shape)
 Gets the mass properties of this shape using its dimensions and density. More...
 
Real playrho::d2::GetRestitution (const Shape &shape) noexcept
 Gets the coefficient of restitution value of the given shape. More...
 
TypeID playrho::d2::GetType (const Shape &shape) noexcept
 Gets the type info of the use of the given shape. More...
 
VertexCounter playrho::d2::GetVertexCount (const Shape &shape, ChildCounter index)
 Gets the vertex count for the specified child of the given shape.
 
NonNegative< Length > playrho::d2::GetVertexRadius (const Shape &shape, ChildCounter idx)
 Gets the vertex radius of the indexed child of the given shape. More...
 
auto playrho::d2::IsDestroyed (const Shape &value) noexcept -> bool
 Gets whether the given entity is in the is-destroyed state.
 
bool playrho::d2::IsSensor (const Shape &shape) noexcept
 Gets whether or not the given shape is a sensor. More...
 
bool playrho::d2::operator!= (const Shape &lhs, const Shape &rhs) noexcept
 Inequality operator for shape to shape comparisons.
 
bool playrho::d2::operator== (const Shape &lhs, const Shape &rhs) noexcept
 Equality operator for shape to shape comparisons.
 
void playrho::d2::Rotate (Shape &shape, const UnitVec &value)
 Rotates all of the given shape's vertices by the given amount. More...
 
void playrho::d2::Scale (Shape &shape, const Vec2 &value)
 Scales all of the given shape's vertices by the given amount. More...
 
void playrho::d2::SetDensity (Shape &shape, NonNegative< AreaDensity > value)
 Sets the density of the given shape. More...
 
void playrho::d2::SetFilter (Shape &shape, Filter value)
 Sets the filter value for the given shape. More...
 
void playrho::d2::SetFriction (Shape &shape, NonNegative< Real > value)
 Sets the coefficient of friction. More...
 
void playrho::d2::SetRestitution (Shape &shape, Real value)
 Sets the coefficient of restitution value of the given shape. More...
 
void playrho::d2::SetSensor (Shape &shape, bool value)
 Sets whether or not the given shape is a sensor. More...
 
void playrho::d2::SetVertexRadius (Shape &shape, ChildCounter idx, NonNegative< Length > value)
 Sets the vertex radius of the indexed child of the given shape. More...
 
bool playrho::d2::ShouldCollide (const Shape &a, const Shape &b) noexcept
 Whether contact calculations should be performed between the two instances. More...
 
bool playrho::d2::TestPoint (const Shape &shape, const Length2 &point) noexcept
 Test a point for containment in the given shape. More...
 
void playrho::d2::Translate (Shape &shape, const Length2 &value)
 Translates all of the given shape's vertices by the given amount. More...
 
template<typename T >
playrho::d2::TypeCast (const Shape &value)
 Casts the specified instance into the template specified type. More...
 
template<typename T >
std::add_pointer_t< std::add_const_t< T > > playrho::d2::TypeCast (const Shape *value) noexcept
 Converts the given shape into its current configuration value. More...
 

Detailed Description

Definition of the Shape class and closely related code.