Skip to content

Commit

Permalink
Merge 264ad27 into 5482d88
Browse files Browse the repository at this point in the history
  • Loading branch information
louis-langholtz committed Jul 21, 2021
2 parents 5482d88 + 264ad27 commit 5a258d7
Show file tree
Hide file tree
Showing 42 changed files with 1,186 additions and 1,172 deletions.
40 changes: 32 additions & 8 deletions Build/xcode5/PlayRho.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
470F94B41EC4CB6C00AA3C82 /* Filter.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 470F94B11EC4CB6C00AA3C82 /* Filter.hpp */; };
470F94D21EC6376F00AA3C82 /* ContactKey.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 470F94CF1EC6376F00AA3C82 /* ContactKey.hpp */; };
470F94D51EC649B300AA3C82 /* ContactKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 470F94D41EC649B300AA3C82 /* ContactKey.cpp */; };
470F94D91EC8C37500AA3C82 /* JointKey.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 470F94D71EC8C37500AA3C82 /* JointKey.cpp */; };
470F94DB1EC8C37500AA3C82 /* JointKey.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 470F94D81EC8C37500AA3C82 /* JointKey.hpp */; };
470F94DE1ECB94D600AA3C82 /* UnitVec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 470F94DD1ECB94D600AA3C82 /* UnitVec.cpp */; };
470F9B061EDB8F62007EF7B6 /* Shape.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 470F9B051EDB8F62007EF7B6 /* Shape.cpp */; };
470F9B0C1EDE6340007EF7B6 /* Vector3.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 470F9B091EDE6340007EF7B6 /* Vector3.hpp */; };
Expand Down Expand Up @@ -205,6 +203,14 @@
478869101D78BF7200AEC7F1 /* VelocityConstraint.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4788690D1D78BF7200AEC7F1 /* VelocityConstraint.hpp */; };
478E67C71E760AB7009B9AD5 /* BodyType.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 478E67C41E760AB7009B9AD5 /* BodyType.hpp */; };
478E67CD1E777A43009B9AD5 /* StepStats.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 478E67CA1E777A43009B9AD5 /* StepStats.hpp */; };
479132DF26A52AAF0011707B /* PointState.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 479132DD26A52AAF0011707B /* PointState.hpp */; };
479132F226A52FD00011707B /* RayCastOpcode.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 479132F026A52FD00011707B /* RayCastOpcode.hpp */; };
479132FF26A5344B0011707B /* ToiConf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 479132FD26A5344A0011707B /* ToiConf.cpp */; };
4791330026A5344B0011707B /* ToiConf.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 479132FE26A5344B0011707B /* ToiConf.hpp */; };
4791330D26A5B90C0011707B /* ToiOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4791330B26A5B90C0011707B /* ToiOutput.cpp */; };
4791330E26A5B90C0011707B /* ToiOutput.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4791330C26A5B90C0011707B /* ToiOutput.hpp */; };
4791332526A5F58C0011707B /* DynamicTreeData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4791332326A5F58C0011707B /* DynamicTreeData.cpp */; };
4791332626A5F58C0011707B /* DynamicTreeData.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 4791332426A5F58C0011707B /* DynamicTreeData.hpp */; };
47928F351E5FE19C00EE6E9E /* BodyConstraint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47928F341E5FE19C00EE6E9E /* BodyConstraint.cpp */; };
47928F371E66539000EE6E9E /* FrictionJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47928F361E66539000EE6E9E /* FrictionJoint.cpp */; };
47928F391E66586400EE6E9E /* DistanceJoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 47928F381E66586400EE6E9E /* DistanceJoint.cpp */; };
Expand Down Expand Up @@ -476,8 +482,6 @@
470F94B11EC4CB6C00AA3C82 /* Filter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Filter.hpp; sourceTree = "<group>"; };
470F94CF1EC6376F00AA3C82 /* ContactKey.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = ContactKey.hpp; sourceTree = "<group>"; };
470F94D41EC649B300AA3C82 /* ContactKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContactKey.cpp; sourceTree = "<group>"; };
470F94D71EC8C37500AA3C82 /* JointKey.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JointKey.cpp; sourceTree = "<group>"; };
470F94D81EC8C37500AA3C82 /* JointKey.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = JointKey.hpp; sourceTree = "<group>"; };
470F94DD1ECB94D600AA3C82 /* UnitVec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnitVec.cpp; sourceTree = "<group>"; };
470F9B051EDB8F62007EF7B6 /* Shape.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Shape.cpp; sourceTree = "<group>"; };
470F9B091EDE6340007EF7B6 /* Vector3.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = Vector3.hpp; sourceTree = "<group>"; };
Expand Down Expand Up @@ -679,6 +683,14 @@
4788690D1D78BF7200AEC7F1 /* VelocityConstraint.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = VelocityConstraint.hpp; sourceTree = "<group>"; };
478E67C41E760AB7009B9AD5 /* BodyType.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = BodyType.hpp; sourceTree = "<group>"; };
478E67CA1E777A43009B9AD5 /* StepStats.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = StepStats.hpp; sourceTree = "<group>"; };
479132DD26A52AAF0011707B /* PointState.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = PointState.hpp; sourceTree = "<group>"; };
479132F026A52FD00011707B /* RayCastOpcode.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = RayCastOpcode.hpp; sourceTree = "<group>"; };
479132FD26A5344A0011707B /* ToiConf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ToiConf.cpp; sourceTree = "<group>"; };
479132FE26A5344B0011707B /* ToiConf.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ToiConf.hpp; sourceTree = "<group>"; };
4791330B26A5B90C0011707B /* ToiOutput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ToiOutput.cpp; sourceTree = "<group>"; };
4791330C26A5B90C0011707B /* ToiOutput.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = ToiOutput.hpp; sourceTree = "<group>"; };
4791332326A5F58C0011707B /* DynamicTreeData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicTreeData.cpp; sourceTree = "<group>"; };
4791332426A5F58C0011707B /* DynamicTreeData.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = DynamicTreeData.hpp; sourceTree = "<group>"; };
47928F341E5FE19C00EE6E9E /* BodyConstraint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BodyConstraint.cpp; sourceTree = "<group>"; };
47928F361E66539000EE6E9E /* FrictionJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FrictionJoint.cpp; sourceTree = "<group>"; };
47928F381E66586400EE6E9E /* DistanceJoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DistanceJoint.cpp; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1051,14 +1063,18 @@
475039901D2180D600D32047 /* DistanceProxy.hpp */,
80BB8930141C3E5900F1753A /* DynamicTree.cpp */,
80BB8931141C3E5900F1753A /* DynamicTree.hpp */,
4791332326A5F58C0011707B /* DynamicTreeData.cpp */,
4791332426A5F58C0011707B /* DynamicTreeData.hpp */,
4726DD0C1D3014990012A882 /* IndexPair.hpp */,
4731DE661DF0A73000E7F931 /* Manifold.cpp */,
4726DD351D387D630012A882 /* Manifold.hpp */,
4731DE2E1DDF9B6900E7F931 /* MassData.cpp */,
47CB343D1D6F3A8500828126 /* MassData.hpp */,
479132DD26A52AAF0011707B /* PointState.hpp */,
4731DE261DDF84A900E7F931 /* RayCastInput.hpp */,
4726DD281D31B4090012A882 /* RayCastOutput.cpp */,
4731DE201DDF83A500E7F931 /* RayCastOutput.hpp */,
479132F026A52FD00011707B /* RayCastOpcode.hpp */,
4731DE631DEF841600E7F931 /* SeparationScenario.cpp */,
4731DE5B1DEE3F0600E7F931 /* SeparationScenario.hpp */,
80BB8934141C3E5900F1753A /* Shapes */,
Expand All @@ -1069,6 +1085,10 @@
4734B2241DC29F7C00F15E29 /* SimplexEdge.hpp */,
80BB8932141C3E5900F1753A /* TimeOfImpact.cpp */,
80BB8933141C3E5900F1753A /* TimeOfImpact.hpp */,
479132FD26A5344A0011707B /* ToiConf.cpp */,
479132FE26A5344B0011707B /* ToiConf.hpp */,
4791330B26A5B90C0011707B /* ToiOutput.cpp */,
4791330C26A5B90C0011707B /* ToiOutput.hpp */,
47578BE31D886FED0078CD40 /* WorldManifold.cpp */,
47578BDE1D8869110078CD40 /* WorldManifold.hpp */,
);
Expand Down Expand Up @@ -1253,8 +1273,6 @@
4787D6BC1F2E968E008C115E /* JointConf.cpp */,
4787D6BD1F2E968E008C115E /* JointConf.hpp */,
4764087025105DD90090F711 /* JointID.hpp */,
470F94D71EC8C37500AA3C82 /* JointKey.cpp */,
470F94D81EC8C37500AA3C82 /* JointKey.hpp */,
4706451E25336323006E69AA /* LimitState.cpp */,
4706451C25336237006E69AA /* LimitState.hpp */,
4787D6CC1F2EC902008C115E /* MotorJointConf.cpp */,
Expand Down Expand Up @@ -1439,6 +1457,7 @@
4764086F250EA5DE0090F711 /* ArrayAllocator.hpp in Headers */,
80BB8987141C3E5900F1753A /* PlayRho.hpp in Headers */,
4764085325045B3C0090F711 /* UnitInterval.hpp in Headers */,
479132DF26A52AAF0011707B /* PointState.hpp in Headers */,
47D28D9D1F6F28C70094C032 /* WrongState.hpp in Headers */,
4706451B252CE27B006E69AA /* TypeInfo.hpp in Headers */,
476408932522698E0090F711 /* WorldMisc.hpp in Headers */,
Expand All @@ -1459,6 +1478,7 @@
4787D6BB1F2E946E008C115E /* PrismaticJointConf.hpp in Headers */,
47C85D1B1F0D9D8D00F70C56 /* Units.hpp in Headers */,
470F9B181EDF2959007EF7B6 /* Transformation.hpp in Headers */,
4791332626A5F58C0011707B /* DynamicTreeData.hpp in Headers */,
4764088D252268A40090F711 /* WorldBody.hpp in Headers */,
80BB8992141C3E5900F1753A /* DynamicTree.hpp in Headers */,
80BB8994141C3E5900F1753A /* TimeOfImpact.hpp in Headers */,
Expand All @@ -1471,6 +1491,7 @@
47C85D211F0DA14500F70C56 /* Templates.hpp in Headers */,
80BB899A141C3E5900F1753A /* EdgeShapeConf.hpp in Headers */,
80BB899C141C3E5900F1753A /* PolygonShapeConf.hpp in Headers */,
4791330E26A5B90C0011707B /* ToiOutput.hpp in Headers */,
470F9B0C1EDE6340007EF7B6 /* Vector3.hpp in Headers */,
47D61F761F1F1F2500E702BD /* DroidSansTtfData.h in Headers */,
4764086B250C86640090F711 /* BodyID.hpp in Headers */,
Expand All @@ -1484,11 +1505,13 @@
4787D6CB1F2EA3A1008C115E /* GearJointConf.hpp in Headers */,
4734B22D1DC2B11D00F15E29 /* Simplex.hpp in Headers */,
80BB899F141C3E5900F1753A /* BlockAllocator.hpp in Headers */,
4791330026A5344B0011707B /* ToiConf.hpp in Headers */,
476408942522698E0090F711 /* WorldJoint.hpp in Headers */,
4726DD381D387D630012A882 /* Manifold.hpp in Headers */,
4731DE5E1DEE3F0600E7F931 /* SeparationScenario.hpp in Headers */,
80BB89A2141C3E5900F1753A /* GrowableStack.hpp in Headers */,
474BAB301E5D00960058E08A /* BodyConstraint.hpp in Headers */,
479132F226A52FD00011707B /* RayCastOpcode.hpp in Headers */,
80BB89A4141C3E5900F1753A /* Math.hpp in Headers */,
47E36F501FE8477000C10B79 /* FixedLimits.hpp in Headers */,
47E36F541FE8534500C10B79 /* FixedMath.hpp in Headers */,
Expand Down Expand Up @@ -1528,7 +1551,6 @@
4768D3FD1E414A0100574143 /* Vector2.hpp in Headers */,
477DB2AD1D1C4BE800846ED6 /* PositionSolverManifold.hpp in Headers */,
470463EE250305C900614373 /* CheckedValue.hpp in Headers */,
470F94DB1EC8C37500AA3C82 /* JointKey.hpp in Headers */,
4731DE291DDF84A900E7F931 /* RayCastInput.hpp in Headers */,
478E67C71E760AB7009B9AD5 /* BodyType.hpp in Headers */,
4787D6D31F2ECB8E008C115E /* TargetJointConf.hpp in Headers */,
Expand Down Expand Up @@ -1910,6 +1932,7 @@
47E7060B255CDBEE00A55BC1 /* ConstraintSolverConf.cpp in Sources */,
470F94D51EC649B300AA3C82 /* ContactKey.cpp in Sources */,
80BB898F141C3E5900F1753A /* Distance.cpp in Sources */,
4791332526A5F58C0011707B /* DynamicTreeData.cpp in Sources */,
4764089F25226E180090F711 /* WorldContact.cpp in Sources */,
4787D6D61F2ECD87008C115E /* PulleyJointConf.cpp in Sources */,
80BB8991141C3E5900F1753A /* DynamicTree.cpp in Sources */,
Expand All @@ -1930,7 +1953,6 @@
80BB89A3141C3E5900F1753A /* Math.cpp in Sources */,
47B58F551F570E2C00354C34 /* DynamicMemory.cpp in Sources */,
4764088B251FA6360090F711 /* StepStats.cpp in Sources */,
470F94D91EC8C37500AA3C82 /* JointKey.cpp in Sources */,
476162C81E245C9D002C7FB0 /* CodeDumper.cpp in Sources */,
47363E8620027FE2005912B1 /* ContactImpulsesList.cpp in Sources */,
80BB89A7141C3E5900F1753A /* StackAllocator.cpp in Sources */,
Expand All @@ -1942,6 +1964,7 @@
4731DE641DEF841600E7F931 /* SeparationScenario.cpp in Sources */,
47578BE41D886FED0078CD40 /* WorldManifold.cpp in Sources */,
80BB89B1141C3E5900F1753A /* Island.cpp in Sources */,
479132FF26A5344B0011707B /* ToiConf.cpp in Sources */,
47D6D59E2672B5CA00AF32B4 /* DistanceConf.cpp in Sources */,
47640887251F11630090F711 /* WorldImplJoint.cpp in Sources */,
475039911D2180D600D32047 /* DistanceProxy.cpp in Sources */,
Expand All @@ -1955,6 +1978,7 @@
80BB89BE141C3E5900F1753A /* Contact.cpp in Sources */,
80BB89C0141C3E5900F1753A /* ContactSolver.cpp in Sources */,
4787D6C21F2E9DC0008C115E /* DistanceJointConf.cpp in Sources */,
4791330D26A5B90C0011707B /* ToiOutput.cpp in Sources */,
479DEBAD268155E50070497D /* Sweep.cpp in Sources */,
4787D6DE1F2ED2D6008C115E /* RopeJointConf.cpp in Sources */,
4764089C25226E180090F711 /* WorldJoint.cpp in Sources */,
Expand Down
3 changes: 2 additions & 1 deletion PlayRho/Collision/AABB.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@

namespace playrho {

class Contact;

namespace detail {

template <std::size_t N>
Expand Down Expand Up @@ -378,7 +380,6 @@ inline ::std::ostream& operator<<(::std::ostream& os, const AABB<N>& value)
namespace d2 {

class Shape;
class Contact;
class DistanceProxy;
struct Transformation;
class World;
Expand Down
1 change: 1 addition & 0 deletions PlayRho/Collision/Collision.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

#include <PlayRho/Collision/Collision.hpp>
#include <PlayRho/Collision/Manifold.hpp>

#include <cmath>

namespace playrho {
Expand Down
14 changes: 1 addition & 13 deletions PlayRho/Collision/Collision.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,22 +27,10 @@
#include <PlayRho/Common/Math.hpp>
#include <PlayRho/Common/ArrayList.hpp>
#include <PlayRho/Collision/ContactFeature.hpp>

#include <array>
#include <type_traits>
#include <PlayRho/Collision/PointState.hpp>

namespace playrho {

/// @brief Point state enumeration.
/// @note This is used for determining the state of contact points.
enum class PointState
{
NullState, ///< point does not exist
AddState, ///< point was added in the update
PersistState, ///< point persisted across the update
RemoveState ///< point was removed in the update
};

/// @brief Point states.
/// @details The states pertain to the transition from an old manifold to a new manifold.
/// So state 1 is either persist or remove while state 2 is either add or persist.
Expand Down
4 changes: 2 additions & 2 deletions PlayRho/Collision/ContactFeature.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

namespace playrho {

/// @brief Contact Feature.
/// @brief The contact feature.
/// @details The features that intersect to form the contact point.
/// @note This structure is designed to be compact and passed-by-value.
/// @note This data structure is 4-bytes large.
Expand Down Expand Up @@ -110,7 +110,7 @@ constexpr bool operator!=(ContactFeature lhs, ContactFeature rhs) noexcept
}

/// @brief Gets the human readable name for the given contact feature type.
inline const char* GetName(ContactFeature::Type type) noexcept
constexpr const char* GetName(ContactFeature::Type type) noexcept
{
switch (type)
{
Expand Down
Loading

0 comments on commit 5a258d7

Please sign in to comment.