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

Types and default settings file. More...

#include <cstdint>
#include <limits>
#include <type_traits>
#include <playrho/Real.hpp>
#include <playrho/RealConstants.hpp>
#include <playrho/Units.hpp>
#include <playrho/WiderType.hpp>
Include dependency graph for Settings.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

 playrho
 

Typedefs

using playrho::BodyCounter = std::remove_const_t< decltype(MaxBodies)>
 Count type for bodies. More...
 
using playrho::ChildCounter = std::remove_const_t< decltype(MaxChildCount)>
 Child counter type. More...
 
using playrho::ContactCounter = WiderType< BodyCounter >
 Count type for contacts. More...
 
using playrho::DynamicTreeSize = ContactCounter
 Dynamic tree size type.
 
using playrho::JointCounter = std::remove_const_t< decltype(MaxJoints)>
 Counter type for joints. More...
 
using playrho::ShapeCounter = std::remove_const_t< decltype(MaxShapes)>
 Count type for shapes. More...
 
using playrho::TimestepIters = std::uint8_t
 Time step iterations type. More...
 
using playrho::VertexCounter = std::remove_const_t< decltype(MaxShapeVertices)>
 Vertex count type. More...
 

Variables

constexpr auto playrho::DefaultAabbExtension = DefaultLinearSlop * Real(20)
 Default AABB extension amount.
 
constexpr auto playrho::DefaultAngularSleepTolerance = Real((Pi * 2) / 180) * RadianPerSecond
 Default angular sleep tolerance. More...
 
constexpr auto playrho::DefaultAngularSlop = (Pi * 2_rad) / Real(180)
 Default angular slop. More...
 
constexpr auto playrho::DefaultCirclesRatio = Real(10)
 Default circles ratio. More...
 
constexpr auto playrho::DefaultDistanceMultiplier = Real(2)
 Default distance multiplier.
 
constexpr auto playrho::DefaultLinearSleepTolerance = 0.01_mps
 Default linear sleep tolerance. More...
 
constexpr auto playrho::DefaultLinearSlop = 0.005_m
 Default linear slop. More...
 
constexpr auto playrho::DefaultMaxAngularCorrection = Real(8.0f / 180.0f) * Pi * 1_rad
 Default maximum angular correction. More...
 
constexpr auto playrho::DefaultMaxDistanceIters = std::uint8_t{20}
 Default max number of distance iterations.
 
constexpr auto playrho::DefaultMaxLinearCorrection = 0.2_m
 Default maximum linear correction. More...
 
constexpr auto playrho::DefaultMaxRotation = Angle{179_deg}
 Default maximum rotation per world step. More...
 
constexpr auto playrho::DefaultMaxSubSteps = std::uint8_t{8}
 Default maximum number of sub steps. More...
 
constexpr auto playrho::DefaultMaxToiIters = std::uint8_t{20}
 Default maximum time of impact iterations.
 
constexpr auto playrho::DefaultMaxToiRootIters = std::uint8_t{30}
 Default maximum time of impact root iterator count.
 
constexpr auto playrho::DefaultMaxTranslation = 2_m
 Default maximum translation amount. More...
 
constexpr auto playrho::DefaultMaxVertexRadius = 255_m
 Default maximum vertex radius. More...
 
constexpr auto playrho::DefaultMinStillTimeToSleep = Time{1_s / 2}
 Default minimum still time to sleep. More...
 
constexpr auto playrho::DefaultMinVertexRadius = 0.01_m
 Default minimum vertex radius. More...
 
constexpr auto playrho::DefaultRegMinMomentum = Momentum{0_Ns / 100}
 Default regular-phase minimum momentum. More...
 
constexpr auto playrho::DefaultStepFrequency = 60_Hz
 Default step frequency. More...
 
constexpr auto playrho::DefaultStepTime = Time{1_s / 60}
 Default step time. More...
 
constexpr auto playrho::DefaultToiMinMomentum = Momentum{0_Ns / 100}
 Default TOI-phase minimum momentum. More...
 
constexpr auto playrho::DefaultVelocityThreshold = 1_mps
 Default velocity threshold.
 
template<class T , std::enable_if_t< std::numeric_limits< T >::has_signaling_NaN||std::numeric_limits< T >::has_quiet_NaN, int > = 0>
constexpr auto playrho::Invalid
 Invalid value of the template's instantiated numeric type. More...
 
constexpr auto playrho::InvalidVertex = static_cast<VertexCounter>(-1)
 Invalid vertex index. More...
 
constexpr auto playrho::MaxBodies
 Maximum number of bodies in a world. More...
 
constexpr auto playrho::MaxChildCount = std::numeric_limits<std::uint32_t>::max() >> 6
 Max child count.
 
constexpr auto playrho::MaxContacts = ContactCounter{MaxBodies} * ContactCounter{MaxBodies - 1} / ContactCounter{2}
 Maximum number of contacts in a world (2147319811). More...
 
constexpr auto playrho::MaxFloat = std::numeric_limits<Real>::max()
 Maximum float value.
 
constexpr auto playrho::MaxJoints
 Maximum number of joints in a world. More...
 
constexpr auto playrho::MaxManifoldPoints = std::uint8_t{2}
 Maximum manifold points. More...
 
constexpr auto playrho::MaxShapes
 Maximum number of shapes in a world. More...
 
constexpr auto playrho::MaxShapeVertices = std::uint8_t{254}
 Maximum number of vertices for any shape type. More...
 
constexpr auto playrho::MaxSimplexEdges = std::uint8_t{3}
 Maximum number of supportable edges in a simplex.
 

Detailed Description

Types and default settings file.

Note
This file intentionally doesn't use any checked values to avoid imposing those for these base values.