Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moves non d2 code up to playrho #420

Merged
merged 20 commits into from
Jul 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
793fa1e
Moves island code up from d2 namespace
louis-langholtz Jul 18, 2021
e907d0e
Removes no longer appropriate warnings
louis-langholtz Jul 19, 2021
cac0658
Moves Contact up from playrho::d2 to playrho
louis-langholtz Jul 19, 2021
581291f
Moves KeyedContactPtr up from playrho::d2 to playrho
louis-langholtz Jul 19, 2021
8398f11
Removes no longer used JointKey
louis-langholtz Jul 19, 2021
4833450
Removes unnecessary includes
louis-langholtz Jul 19, 2021
463905a
Moves PointState out to its own file.
louis-langholtz Jul 19, 2021
4f1bfa9
Updates doxygen docs
louis-langholtz Jul 19, 2021
d7e117f
Marks the code constexpr
louis-langholtz Jul 19, 2021
6094b06
Moves RayCastOpcode out to its own file.
louis-langholtz Jul 19, 2021
6bc7203
Moves ToiConf out to its own files
louis-langholtz Jul 19, 2021
12060bb
Renames TOIOutput to ToiOutput.
louis-langholtz Jul 19, 2021
1d5e81c
Moves ToiOutput out to its own files
louis-langholtz Jul 19, 2021
d53994d
Renames variables to be more consistent
louis-langholtz Jul 19, 2021
45133cc
Makes various classes move outside of the DynamicTree
louis-langholtz Jul 19, 2021
873e060
Moves DynamicTreeSize type alias to Settings.hpp file
louis-langholtz Jul 19, 2021
5c32414
Moves DynamicTree data types into their own files.
louis-langholtz Jul 19, 2021
f6efbee
Replaces TOIOutput with new name of ToiOutput in places missed before.
louis-langholtz Jul 20, 2021
d59eb42
Updates doxygen reference to Contact to work properly now that its pl…
louis-langholtz Jul 20, 2021
264ad27
Provides more complete test coverage of SetShape
louis-langholtz Jul 21, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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