gitextract_5wzurjy7/ ├── .gitignore ├── BEPUbenchmark/ │ ├── AllBenchmarks.cs │ ├── App.config │ ├── BEPUbenchmark.csproj │ ├── Benchmark.cs │ ├── Benchmarks/ │ │ ├── DiscreteVsContinuousBenchmark.cs │ │ ├── InverseKinematicsBenchmark.cs │ │ ├── PathFollowingBenchmark.cs │ │ ├── PyramidBenchmark.cs │ │ └── SelfCollidingClothBenchmark.cs │ ├── Program.cs │ └── Properties/ │ └── AssemblyInfo.cs ├── BEPUfloatBenchmark/ │ ├── AllBenchmarks.cs │ ├── App.config │ ├── BEPUfloatBenchmark.csproj │ ├── Benchmark.cs │ ├── Benchmarks/ │ │ ├── DiscreteVsContinuousBenchmark.cs │ │ ├── InverseKinematicsBenchmark.cs │ │ ├── PathFollowingBenchmark.cs │ │ ├── PyramidBenchmark.cs │ │ └── SelfCollidingClothBenchmark.cs │ ├── Program.cs │ └── Properties/ │ └── AssemblyInfo.cs ├── BEPUik/ │ ├── ActiveSet.cs │ ├── AngularPlaneControl.cs │ ├── BEPUik.csproj │ ├── Bone.cs │ ├── Control.cs │ ├── DragControl.cs │ ├── IKAngularJoint.cs │ ├── IKBallSocketJoint.cs │ ├── IKConstraint.cs │ ├── IKDistanceJoint.cs │ ├── IKDistanceLimit.cs │ ├── IKJoint.cs │ ├── IKLimit.cs │ ├── IKLinearAxisLimit.cs │ ├── IKPointOnLineJoint.cs │ ├── IKPointOnPlaneJoint.cs │ ├── IKRevoluteJoint.cs │ ├── IKSolver.cs │ ├── IKSwingLimit.cs │ ├── IKSwivelHingeJoint.cs │ ├── IKTwistJoint.cs │ ├── IKTwistLimit.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── RevoluteControl.cs │ ├── SingleBoneAngularMotor.cs │ ├── SingleBoneAngularPlaneConstraint.cs │ ├── SingleBoneConstraint.cs │ ├── SingleBoneLinearMotor.cs │ ├── SingleBoneRevoluteConstraint.cs │ └── StateControl.cs ├── BEPUphysics/ │ ├── BEPUphysics.csproj │ ├── BroadPhaseEntries/ │ │ ├── BroadPhaseEntry.cs │ │ ├── Collidable.cs │ │ ├── CollidableCollection.cs │ │ ├── CollidablePair.cs │ │ ├── DetectorVolume.cs │ │ ├── EntityCollidableCollection.cs │ │ ├── Events/ │ │ │ ├── CollisionEventTypes.cs │ │ │ ├── CompoundEventManager.cs │ │ │ ├── ContactEventManager.cs │ │ │ ├── EntryEventManager.cs │ │ │ ├── IContactEventTriggerer.cs │ │ │ └── IEntryEventTriggerer.cs │ │ ├── InstancedMesh.cs │ │ ├── MobileCollidables/ │ │ │ ├── CompoundCollidable.cs │ │ │ ├── CompoundHelper.cs │ │ │ ├── CompoundHierarchy.cs │ │ │ ├── ConvexCollidable.cs │ │ │ ├── EntityCollidable.cs │ │ │ ├── MobileCollidable.cs │ │ │ ├── MobileMeshCollidable.cs │ │ │ └── TriangleCollidable.cs │ │ ├── StaticCollidable.cs │ │ ├── StaticGroup.cs │ │ ├── StaticMesh.cs │ │ └── Terrain.cs │ ├── BroadPhaseSystems/ │ │ ├── BroadPhase.cs │ │ ├── BroadPhaseOverlap.cs │ │ ├── BruteForce.cs │ │ ├── Hierarchies/ │ │ │ ├── DynamicHierarchy.cs │ │ │ ├── DynamicHierarchyNode.cs │ │ │ └── DynamicHierarchyQueryAccelerator.cs │ │ ├── IBoundingBoxOwner.cs │ │ ├── IBroadPhaseEntryOwner.cs │ │ ├── IQueryAccelerator.cs │ │ └── SortAndSweep/ │ │ ├── Grid2DEntry.cs │ │ ├── Grid2DSortAndSweep.cs │ │ ├── Grid2DSortAndSweepQueryAccelerator.cs │ │ ├── GridCell2D.cs │ │ ├── SortAndSweep1D.cs │ │ └── SortedGrid2DSet.cs │ ├── Character/ │ │ ├── CharacterContactCategorizer.cs │ │ ├── CharacterContactPositionState.cs │ │ ├── CharacterController.cs │ │ ├── CharacterPairLocker.cs │ │ ├── HorizontalMotionConstraint.cs │ │ ├── ICharacterTag.cs │ │ ├── MovementMode.cs │ │ ├── QueryManager.cs │ │ ├── SphereCharacterController.cs │ │ ├── StanceManager.cs │ │ ├── StepManager.cs │ │ ├── SupportFinder.cs │ │ └── VerticalMotionConstraint.cs │ ├── CollisionRuleManagement/ │ │ ├── CollisionGroup.cs │ │ ├── CollisionGroupPair.cs │ │ ├── CollisionRule.cs │ │ ├── CollisionRules.cs │ │ └── ICollisionRulesOwner.cs │ ├── CollisionShapes/ │ │ ├── CollisionShape.cs │ │ ├── CompoundShape.cs │ │ ├── ConvexShapes/ │ │ │ ├── BoxShape.cs │ │ │ ├── CapsuleShape.cs │ │ │ ├── ConeShape.cs │ │ │ ├── ConvexHullShape.cs │ │ │ ├── ConvexShape.cs │ │ │ ├── ConvexShapeDescription.cs │ │ │ ├── CylinderShape.cs │ │ │ ├── InertiaHelper.cs │ │ │ ├── MinkowskiSumShape.cs │ │ │ ├── SphereShape.cs │ │ │ ├── TransformableShape.cs │ │ │ ├── TriangleShape.cs │ │ │ └── WrappedShape.cs │ │ ├── EntityShape.cs │ │ ├── EntityShapeVolumeDescription.cs │ │ ├── InstancedMeshShape.cs │ │ ├── MobileMeshShape.cs │ │ ├── ShapeDistributionInformation.cs │ │ ├── StaticGroupShape.cs │ │ ├── StaticMeshShape.cs │ │ └── TerrainShape.cs │ ├── CollisionTests/ │ │ ├── CollisionAlgorithms/ │ │ │ ├── BoxBoxCollider.cs │ │ │ ├── BoxSphereTester.cs │ │ │ ├── GJK/ │ │ │ │ ├── GJKToolbox.cs │ │ │ │ ├── PairSimplex.cs │ │ │ │ ├── RaySimplex.cs │ │ │ │ └── SimpleSimplex.cs │ │ │ ├── GeneralConvexPairTester.cs │ │ │ ├── MPRToolbox.cs │ │ │ ├── MinkowskiToolbox.cs │ │ │ ├── SphereTester.cs │ │ │ ├── TriangleConvexPairTester.cs │ │ │ ├── TrianglePairTester.cs │ │ │ ├── TriangleSpherePairTester.cs │ │ │ └── TriangleTrianglePairTester.cs │ │ ├── Contact.cs │ │ ├── ContactData.cs │ │ ├── ContactReducer.cs │ │ ├── ContactRefresher.cs │ │ ├── ContactSupplementData.cs │ │ └── Manifolds/ │ │ ├── BoxContactManifold.cs │ │ ├── BoxSphereContactManifold.cs │ │ ├── ContactManifold.cs │ │ ├── GeneralConvexContactManifold.cs │ │ ├── InstancedMeshContactManifold.cs │ │ ├── InstancedMeshConvexContactManifold.cs │ │ ├── InstancedMeshSphereContactManifold.cs │ │ ├── MobileMeshContactManifold.cs │ │ ├── MobileMeshConvexContactManifold.cs │ │ ├── MobileMeshSphereContactManifold.cs │ │ ├── MobileMeshTriangleContactManifold.cs │ │ ├── SphereContactManifold.cs │ │ ├── StaticMeshContactManifold.cs │ │ ├── StaticMeshConvexContactManifold.cs │ │ ├── StaticMeshSphereContactManifold.cs │ │ ├── TerrainContactManifold.cs │ │ ├── TerrainConvexContactManifold.cs │ │ ├── TerrainSphereContactManifold.cs │ │ ├── TerrainVertexIndices.cs │ │ ├── TriangleConvexContactManifold.cs │ │ └── TriangleMeshConvexContactManifold.cs │ ├── Constraints/ │ │ ├── Collision/ │ │ │ ├── ContactFrictionConstraint.cs │ │ │ ├── ContactManifoldConstraint.cs │ │ │ ├── ContactManifoldConstraintGroup.cs │ │ │ ├── ContactPenetrationConstraint.cs │ │ │ ├── ConvexContactManifoldConstraint.cs │ │ │ ├── NonConvexContactManifoldConstraint.cs │ │ │ ├── SlidingFrictionTwoAxis.cs │ │ │ └── TwistFrictionConstraint.cs │ │ ├── IJacobians.cs │ │ ├── ISolverSettings.cs │ │ ├── ISpringConstraint.cs │ │ ├── IXDImpulseConstraint.cs │ │ ├── JointTransform.cs │ │ ├── SingleEntity/ │ │ │ ├── MaximumAngularVelocityConstraint.cs │ │ │ ├── MaximumLinearVelocityConstraint.cs │ │ │ ├── SingleEntityAngularMotor.cs │ │ │ ├── SingleEntityConstraint.cs │ │ │ └── SingleEntityLinearMotor.cs │ │ ├── Solver.cs │ │ ├── SolverGroups/ │ │ │ ├── CustomizableSolverGroup.cs │ │ │ ├── LineSliderJoint.cs │ │ │ ├── PlaneSliderJoint.cs │ │ │ ├── PrismaticJoint.cs │ │ │ ├── RevoluteJoint.cs │ │ │ ├── SolverGroup.cs │ │ │ ├── SwivelHingeJoint.cs │ │ │ ├── UniversalJoint.cs │ │ │ └── WeldJoint.cs │ │ ├── SolverSettings.cs │ │ ├── SolverUpdateable.cs │ │ ├── SolverUpdateableChange.cs │ │ ├── SpringSettings.cs │ │ └── TwoEntity/ │ │ ├── JointLimits/ │ │ │ ├── DistanceLimit.cs │ │ │ ├── EllipseSwingLimit.cs │ │ │ ├── JointLimit.cs │ │ │ ├── LinearAxisLimit.cs │ │ │ ├── RevoluteLimit.cs │ │ │ ├── SwingLimit.cs │ │ │ └── TwistLimit.cs │ │ ├── Joints/ │ │ │ ├── BallSocketJoint.cs │ │ │ ├── DistanceJoint.cs │ │ │ ├── Joint.cs │ │ │ ├── NoRotationJoint.cs │ │ │ ├── PointOnLineJoint.cs │ │ │ ├── PointOnPlaneJoint.cs │ │ │ ├── RevoluteAngularJoint.cs │ │ │ ├── SwivelHingeAngularJoint.cs │ │ │ └── TwistJoint.cs │ │ ├── Motors/ │ │ │ ├── AngularMotor.cs │ │ │ ├── LinearAxisMotor.cs │ │ │ ├── Motor.cs │ │ │ ├── MotorSettings.cs │ │ │ ├── RevoluteMotor.cs │ │ │ └── TwistMotor.cs │ │ └── TwoEntityConstraint.cs │ ├── DataStructures/ │ │ ├── BoundingBoxTree.cs │ │ ├── MeshBoundingBoxTree.cs │ │ ├── MeshBoundingBoxTreeData.cs │ │ ├── StaticMeshData.cs │ │ ├── TransformableMeshData.cs │ │ ├── TreeOverlapPair.cs │ │ └── TriangleMesh.cs │ ├── DeactivationManagement/ │ │ ├── DeactivationManager.cs │ │ ├── ISimulationIslandConnection.cs │ │ ├── ISimulationIslandConnectionOwner.cs │ │ ├── ISimulationIslandMemberOwner.cs │ │ ├── SimulationIsland.cs │ │ ├── SimulationIslandConnection.cs │ │ ├── SimulationIslandMember.cs │ │ └── SimulationIslandMemberList.cs │ ├── Entities/ │ │ ├── Entity.cs │ │ ├── EntityBase.cs │ │ ├── EntityConstraintCollection.cs │ │ ├── EntitySolverUpdateableCollection.cs │ │ ├── MorphableEntity.cs │ │ └── Prefabs/ │ │ ├── Box.cs │ │ ├── Capsule.cs │ │ ├── CompoundBody.cs │ │ ├── Cone.cs │ │ ├── ConvexHull.cs │ │ ├── Cylinder.cs │ │ ├── MinkowskiSum.cs │ │ ├── MobileMesh.cs │ │ ├── Sphere.cs │ │ ├── TransformableEntity.cs │ │ ├── Triangle.cs │ │ └── WrappedBody.cs │ ├── EntityStateManagement/ │ │ ├── BufferedStatesAccessor.cs │ │ ├── BufferedStatesManager.cs │ │ ├── EntityBufferedStates.cs │ │ ├── EntityStateReadBuffers.cs │ │ ├── EntityStateWriteBuffer.cs │ │ ├── InterpolatedStatesAccessor.cs │ │ ├── InterpolatedStatesManager.cs │ │ └── MotionState.cs │ ├── ISpaceObject.cs │ ├── Materials/ │ │ ├── IMaterialOwner.cs │ │ ├── InteractionProperties.cs │ │ ├── Material.cs │ │ ├── MaterialManager.cs │ │ └── MaterialPair.cs │ ├── MultithreadedProcessingStage.cs │ ├── NarrowPhaseSystems/ │ │ ├── NarrowPhase.cs │ │ ├── NarrowPhaseHelper.cs │ │ ├── NarrowPhasePairFactory.cs │ │ └── Pairs/ │ │ ├── BoxPairHandler.cs │ │ ├── BoxSpherePairHandler.cs │ │ ├── CollidablePairHandler.cs │ │ ├── CompoundConvexPairHandler.cs │ │ ├── CompoundGroupPairHandler.cs │ │ ├── CompoundInstancedMeshPairHandler.cs │ │ ├── CompoundMobileMeshPairHandler.cs │ │ ├── CompoundPairHandler.cs │ │ ├── CompoundStaticMeshPairHandler.cs │ │ ├── CompoundTerrainPairHandler.cs │ │ ├── ContactCollection.cs │ │ ├── ContactInformation.cs │ │ ├── ConvexConstraintPairHandler.cs │ │ ├── ConvexPairHandler.cs │ │ ├── DetectorVolumeCompoundPairHandler.cs │ │ ├── DetectorVolumeConvexPairHandler.cs │ │ ├── DetectorVolumeGroupPairHandler.cs │ │ ├── DetectorVolumeMobileMeshPairHandler.cs │ │ ├── DetectorVolumePairHandler.cs │ │ ├── GeneralConvexPairHandler.cs │ │ ├── GroupPairHandler.cs │ │ ├── IDetectorVolumePairHandlerParent.cs │ │ ├── IPairHandlerParent.cs │ │ ├── InstancedMeshConvexPairHandler.cs │ │ ├── InstancedMeshPairHandler.cs │ │ ├── InstancedMeshSpherePairHandler.cs │ │ ├── MeshGroupPairHandler.cs │ │ ├── MobileMeshConvexPairHandler.cs │ │ ├── MobileMeshInstancedMeshPairHandler.cs │ │ ├── MobileMeshMeshPairHandler.cs │ │ ├── MobileMeshMobileMeshPairHandler.cs │ │ ├── MobileMeshPairHandler.cs │ │ ├── MobileMeshSpherePairHandler.cs │ │ ├── MobileMeshStaticMeshPairHandler.cs │ │ ├── MobileMeshTerrainPairHandler.cs │ │ ├── MobileMeshTrianglePairHandler.cs │ │ ├── NarrowPhasePair.cs │ │ ├── SpherePairHandler.cs │ │ ├── StandardPairHandler.cs │ │ ├── StaticGroupCompoundPairHandler.cs │ │ ├── StaticGroupConvexPairHandler.cs │ │ ├── StaticGroupMobileMeshPairHandler.cs │ │ ├── StaticGroupPairHandler.cs │ │ ├── StaticMeshConvexPairHandler.cs │ │ ├── StaticMeshPairHandler.cs │ │ ├── StaticMeshSpherePairHandler.cs │ │ ├── TerrainConvexPairHandler.cs │ │ ├── TerrainPairHandler.cs │ │ ├── TerrainSpherePairHandler.cs │ │ └── TriangleConvexPairHandler.cs │ ├── OtherSpaceStages/ │ │ ├── BoundingBoxUpdater.cs │ │ ├── DeferredEventDispatcher.cs │ │ ├── ForceUpdater.cs │ │ ├── IDeferredEventCreator.cs │ │ ├── IDeferredEventCreatorOwner.cs │ │ ├── IForceUpdateable.cs │ │ └── SpaceObjectBuffer.cs │ ├── Paths/ │ │ ├── CardinalSpline3D.cs │ │ ├── ConstantAngularSpeedCurve.cs │ │ ├── ConstantLinearSpeedCurve.cs │ │ ├── ConstantSpeedCurve.cs │ │ ├── Curve.cs │ │ ├── CurveControlPoint.cs │ │ ├── CurveControlPointList.cs │ │ ├── CurveEndpointBehavior.cs │ │ ├── FiniteDifferenceSpline3D.cs │ │ ├── HermiteCurve3D.cs │ │ ├── LinearInterpolationCurve3D.cs │ │ ├── Path following/ │ │ │ ├── EntityMover.cs │ │ │ └── EntityRotator.cs │ │ ├── Path.cs │ │ ├── QuaternionSlerpCurve.cs │ │ ├── SpeedControlledCurve.cs │ │ ├── StepCurve1D.cs │ │ ├── VariableAngularSpeedCurve.cs │ │ ├── VariableLinearSpeedCurve.cs │ │ └── VariableSpeedCurve.cs │ ├── PhysicsChecker.cs │ ├── PhysicsResources.cs │ ├── PhysicsThreadResources.cs │ ├── PositionUpdating/ │ │ ├── ContinuousPositionUpdater.cs │ │ ├── ICCDPositionUpdateable.cs │ │ ├── IPositionUpdateable.cs │ │ └── PositionUpdater.cs │ ├── ProcessingStage.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── RayCastResult.cs │ ├── Settings/ │ │ ├── CollisionDetectionSettings.cs │ │ ├── CollisionResponseSettings.cs │ │ └── MotionSettings.cs │ ├── Space.cs │ ├── TimeStepSettings.cs │ ├── UpdateableSystems/ │ │ ├── CombinedUpdateable.cs │ │ ├── FluidVolume.cs │ │ ├── ForceFields/ │ │ │ ├── BoundingBoxForceFieldShape.cs │ │ │ ├── BoundingSphereForceFieldShape.cs │ │ │ ├── ForceField.cs │ │ │ ├── ForceFieldShape.cs │ │ │ ├── InfiniteForceFieldShape.cs │ │ │ └── VolumeForceFieldShape.cs │ │ ├── IBeforeNarrowPhaseUpdateable.cs │ │ ├── IBeforePositionUpdateUpdateable.cs │ │ ├── IBeforeSolverUpdateable.cs │ │ ├── IDuringForcesUpdateable.cs │ │ ├── IEndOfFrameUpdateable.cs │ │ ├── IEndOfTimeStepUpdateable.cs │ │ ├── ISpaceUpdateable.cs │ │ ├── Updateable.cs │ │ ├── UpdateableManager.cs │ │ └── UpdateableManagers.cs │ └── Vehicle/ │ ├── CylinderCastWheelShape.cs │ ├── RaycastWheelShape.cs │ ├── Vehicle.cs │ ├── Wheel.cs │ ├── WheelBrake.cs │ ├── WheelDrivingMotor.cs │ ├── WheelFrictionBlender.cs │ ├── WheelShape.cs │ ├── WheelSlidingFriction.cs │ └── WheelSuspension.cs ├── BEPUphysics.sln ├── BEPUphysicsDemos/ │ ├── Alternate Movement/ │ │ ├── CharacterControllerInput.cs │ │ ├── SphereCharacterControllerInput.cs │ │ ├── TankInput.cs │ │ └── VehicleInput.cs │ ├── BEPUphysicsDemos.csproj │ ├── Camera.cs │ ├── CameraControlScheme.cs │ ├── CharacterCameraControlScheme.cs │ ├── ChaseCameraControlScheme.cs │ ├── ConfigurationHelper.cs │ ├── Content/ │ │ ├── 360 thick sphere.fbx │ │ ├── BEPUphysicsDemosContent.mgcb │ │ ├── CharacterControllerTestTerrain.fbx │ │ ├── DataFont.spritefont │ │ ├── TinyFont.spritefont │ │ ├── barrelandplatform.fbx │ │ ├── bepubox.fbx │ │ ├── carWheel.fbx │ │ ├── cube.fbx │ │ ├── cylinder.fbx │ │ ├── fish.fbx │ │ ├── guy.fbx │ │ ├── hollowsphere.fbx │ │ ├── playground.fbx │ │ └── tube.fbx │ ├── Demos/ │ │ ├── ActionFigureDemo.cs │ │ ├── Base types/ │ │ │ ├── Demo.cs │ │ │ └── StandardDemo.cs │ │ ├── BridgeDemo.cs │ │ ├── BroadPhaseDemo.cs │ │ ├── BuoyancyDemo.cs │ │ ├── CharacterPlaygroundDemo.cs │ │ ├── CoefficientsDemo.cs │ │ ├── CollisionFilteringDemo.cs │ │ ├── ColosseumDemo.cs │ │ ├── CompoundBodiesDemo.cs │ │ ├── DetectorVolumeDemo.cs │ │ ├── DiscreteVsContinuousDemo.cs │ │ ├── DogbotDemo.cs │ │ ├── EarthquakeDemo.cs │ │ ├── EntityConstructionDemo.cs │ │ ├── Extras/ │ │ │ ├── ClothJointLatticeDemo.cs │ │ │ ├── GraphicMatchingDemo.cs │ │ │ ├── IncomingDemo.cs │ │ │ ├── ReverseTrikeDemo.cs │ │ │ ├── ScaleDemo.cs │ │ │ ├── SimpleVoxelCollidableDemo.cs │ │ │ ├── SolidPyramidDemo.cs │ │ │ ├── Solver Type Tests/ │ │ │ │ ├── Constraint.cs │ │ │ │ ├── DistanceConstraint.cs │ │ │ │ ├── JacobiSimulator.cs │ │ │ │ ├── LinearDynamic.cs │ │ │ │ ├── PlaneCollisionConstraint.cs │ │ │ │ ├── SequentialImpulsesSimulator.cs │ │ │ │ ├── Simulator.cs │ │ │ │ └── SimulatorTestDemo.cs │ │ │ ├── SuspensionCarDemo.cs │ │ │ ├── SuspensionCarDemo2.cs │ │ │ ├── Tests/ │ │ │ │ ├── AccumulationTestDemo.cs │ │ │ │ ├── AddRemoveStressDemo.cs │ │ │ │ ├── BooleanConvexTestDemo.cs │ │ │ │ ├── BoxBoxTestDemo.cs │ │ │ │ ├── BroadPhaseMultithreadingTestDemo.cs │ │ │ │ ├── BroadPhaseRemovalTestDemo.cs │ │ │ │ ├── BroadPhasesTestDemo.cs │ │ │ │ ├── CharacterAddRemoveStressTestDemo.cs │ │ │ │ ├── CharacterStressTestDemo.cs │ │ │ │ ├── CharacterStressierTestDemo.cs │ │ │ │ ├── ConvexHullTestDemo.cs │ │ │ │ ├── DeterminismTestDemo.cs │ │ │ │ ├── GeneralConvexPairStressDemo.cs │ │ │ │ ├── InverseKinematicsTestDemo.cs │ │ │ │ ├── InverseKinematicsTestDemo2.cs │ │ │ │ ├── JointLimitTestDemo.cs │ │ │ │ ├── KinematicActivityTestDemo.cs │ │ │ │ ├── LotsOfBoxesTestDemo.cs │ │ │ │ ├── MPRCastingDemo.cs │ │ │ │ ├── MPRTestDemo.cs │ │ │ │ ├── MobileMeshSolidityTestDemo.cs │ │ │ │ ├── MoreConstraintsTestDemo.cs │ │ │ │ ├── MultithreadedScalingTestDemo.cs │ │ │ │ ├── MutableCompoundDemo.cs │ │ │ │ ├── MutableStaticGroupTestDemo.cs │ │ │ │ ├── ParallelSpaceTestDemo.cs │ │ │ │ ├── PermutationTestDemo.cs │ │ │ │ ├── PersistentManifoldStressTestDemo.cs │ │ │ │ ├── RayCastTestDemo.cs │ │ │ │ ├── SimulationIslandStressTestDemo.cs │ │ │ │ ├── StackDemo.cs │ │ │ │ ├── TerrainTestDemo.cs │ │ │ │ ├── ThreadManagerTestDemo.cs │ │ │ │ ├── ThreadingTestDemo.cs │ │ │ │ └── TwistTestDemo.cs │ │ │ └── UnfortunateGuyDemo.cs │ │ ├── FancyShapesDemo.cs │ │ ├── FishInABarrelDemo.cs │ │ ├── InstancedMeshDemo.cs │ │ ├── JengaDemo.cs │ │ ├── LotsOSpheresDemo.cs │ │ ├── MobileMeshDemo.cs │ │ ├── PathFollowingDemo.cs │ │ ├── PlanetDemo.cs │ │ ├── PyramidDemo.cs │ │ ├── RagdollDemo.cs │ │ ├── RobotArmDemo.cs │ │ ├── SawContraptionDemo.cs │ │ ├── SelfCollidingClothDemo.cs │ │ ├── SleepModeDemo.cs │ │ ├── SpaceshipDemo.cs │ │ ├── SpiderDemo.cs │ │ ├── StaticGroupDemo.cs │ │ ├── StaticMeshDemo.cs │ │ ├── TankDemo.cs │ │ ├── TerrainDemo.cs │ │ ├── TornadoDemo.cs │ │ └── WallDemo.cs │ ├── DemosGame.cs │ ├── Extra Display Types/ │ │ ├── DisplayGrabSpring.cs │ │ └── DisplayMotorizedGrabSpring.cs │ ├── FixedOffsetCameraControlScheme.cs │ ├── FreeCameraControlScheme.cs │ ├── ModelDataExtractor.cs │ ├── Program.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Sample Code/ │ │ ├── Explosion.cs │ │ ├── Force Fields/ │ │ │ ├── GravitationalField.cs │ │ │ ├── PushField.cs │ │ │ └── Tornado.cs │ │ ├── GrabSpring.cs │ │ ├── MotorizedGrabSpring.cs │ │ ├── Thruster.cs │ │ └── UprightSpring.cs │ └── app.config ├── BEPUphysicsDemos.sln ├── BEPUphysicsDrawer/ │ ├── BEPUphysicsDrawer.csproj │ ├── Content/ │ │ ├── BEPUphysicsDrawerContent.mgcb │ │ └── InstancedEffect.fx │ ├── Font/ │ │ └── TextDrawer.cs │ ├── Lines/ │ │ ├── BoundingBoxDrawer.cs │ │ ├── ContactDrawer.cs │ │ ├── Display types/ │ │ │ ├── DisplayBallSocketJoint.cs │ │ │ ├── DisplayDistanceJoint.cs │ │ │ ├── DisplayDistanceLimit.cs │ │ │ ├── DisplayEllipseSwingLimit.cs │ │ │ ├── DisplayLinearAxisLimit.cs │ │ │ ├── DisplayPointOnLineJoint.cs │ │ │ ├── DisplayPointOnPlaneJoint.cs │ │ │ ├── DisplayRevoluteLimit.cs │ │ │ ├── DisplaySingleEntityLinearMotor.cs │ │ │ ├── DisplaySwivelHingeAngularJoint.cs │ │ │ ├── DisplayTwistJoint.cs │ │ │ └── DisplayTwistMotor.cs │ │ ├── Line.cs │ │ ├── LineDisplayObject.cs │ │ ├── LineDisplayObjectBase.cs │ │ ├── LineDrawer.cs │ │ ├── SimulationIslandDrawer.cs │ │ └── SolverDisplayObject.cs │ ├── Models/ │ │ ├── BatchInformation.cs │ │ ├── Display types/ │ │ │ ├── DisplayEntityModel.cs │ │ │ ├── DisplayFluid.cs │ │ │ ├── DisplayInstancedMesh.cs │ │ │ ├── DisplayModel.cs │ │ │ ├── DisplayStaticMesh.cs │ │ │ ├── DisplayTerrain.cs │ │ │ ├── DisplayTriangleMesh.cs │ │ │ ├── Entity types/ │ │ │ │ ├── DisplayBox.cs │ │ │ │ ├── DisplayCapsule.cs │ │ │ │ ├── DisplayCompoundBody.cs │ │ │ │ ├── DisplayCone.cs │ │ │ │ ├── DisplayConvex.cs │ │ │ │ ├── DisplayConvexHull.cs │ │ │ │ ├── DisplayCylinder.cs │ │ │ │ ├── DisplayEntityCollidable.cs │ │ │ │ ├── DisplayMobileMesh.cs │ │ │ │ ├── DisplaySphere.cs │ │ │ │ └── DisplayTriangle.cs │ │ │ ├── ModelDisplayObject.cs │ │ │ ├── ModelDisplayObjectBase.cs │ │ │ └── SelfDrawingModelDisplayObject.cs │ │ ├── InstancedModelDrawer.cs │ │ ├── ModelDisplayObjectBatch.cs │ │ └── ModelDrawer.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── app.config ├── BEPUtests/ │ ├── BEPUtests.csproj │ ├── CrossPlatformDeterminismExpectedHashes.cs │ ├── CrossPlatformDeterminismTests.cs │ ├── Matrix3x3Tests.cs │ ├── MatrixTests.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── packages.config │ └── util/ │ └── MathConverter.cs ├── BEPUutilities/ │ ├── AffineTransform.cs │ ├── BEPUutilities.csproj │ ├── BoundingBox.cs │ ├── BoundingSphere.cs │ ├── ContainmentType.cs │ ├── ConvexHullHelper.Pruning.cs │ ├── ConvexHullHelper.cs │ ├── DataStructures/ │ │ ├── ConcurrentDeque.cs │ │ ├── HashSet.cs │ │ ├── ObservableDictionary.cs │ │ ├── ObservableList.cs │ │ ├── QuickDictionary.cs │ │ ├── QuickList.cs │ │ ├── QuickQueue.cs │ │ ├── QuickSet.cs │ │ ├── RawList.cs │ │ ├── RawValueList.cs │ │ ├── ReadOnlyDictionary.cs │ │ ├── ReadOnlyEnumerable.cs │ │ ├── ReadOnlyList.cs │ │ ├── TinyList.cs │ │ └── TinyStructList.cs │ ├── F64.cs │ ├── Int2.cs │ ├── MathChecker.cs │ ├── MathHelper.cs │ ├── Matrix.cs │ ├── Matrix2x2.cs │ ├── Matrix2x3.cs │ ├── Matrix3x2.cs │ ├── Matrix3x3.cs │ ├── Matrix3x6.cs │ ├── Matrix4x8.cs │ ├── PermutationMapper.cs │ ├── Plane.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Quaternion.cs │ ├── Ray.cs │ ├── RayHit.cs │ ├── ResourceManagement/ │ │ ├── BufferPool.cs │ │ ├── BufferPools.cs │ │ ├── CommonResources.cs │ │ ├── LockingBufferPool.cs │ │ ├── LockingResourcePool.cs │ │ ├── ResourcePool.cs │ │ └── UnsafeResourcePool.cs │ ├── RigidTransform.cs │ ├── SpinLock.cs │ ├── Threading/ │ │ ├── IParallelLooper.cs │ │ ├── ParallelLoopWorker.cs │ │ └── ParallelLooper.cs │ ├── Toolbox.cs │ ├── TriangleSidedness.cs │ ├── Vector2.cs │ ├── Vector3.cs │ ├── Vector4.cs │ └── VoronoiRegion.cs ├── ConversionHelper/ │ ├── ConversionHelper.csproj │ ├── MathConverter.cs │ └── Properties/ │ └── AssemblyInfo.cs ├── Dependencies/ │ ├── .gitignore │ └── MonoGame/ │ ├── MonoGame.Common.props │ ├── MonoGame.Content.Builder.targets │ └── Tools/ │ ├── ATI.TextureConverter.dll.config │ ├── AssimpNet.dll.config │ ├── MGCB.exe.config │ ├── Nvidia.TextureTools.dll.config │ ├── PVRTexLibNET.dll.config │ ├── Pipeline.exe.config │ ├── SharpFont.dll.config │ └── Templates/ │ ├── Effect.fx │ ├── Effect.template │ ├── SpriteEffect.fx │ ├── SpriteEffect.template │ ├── SpriteFont.spritefont │ ├── SpriteFont.template │ └── XmlContent.template ├── Documentation/ │ ├── CollisionEvents.md │ ├── CollisionRules.md │ ├── Documentation.md │ ├── GettingStarted.md │ ├── InternalMultithreading.md │ ├── Isolated Demos/ │ │ ├── AsynchronousUpdateDemo/ │ │ │ ├── AsynchronousUpdateDemo.csproj │ │ │ ├── AsynchronousUpdateDemo.sln │ │ │ ├── AsynchronousUpdateGame.cs │ │ │ ├── Camera.cs │ │ │ ├── Content/ │ │ │ │ └── InstancedEffect.xnb │ │ │ ├── Dependencies/ │ │ │ │ ├── BEPUphysics.xml │ │ │ │ ├── BEPUphysicsDrawer.xml │ │ │ │ ├── BEPUutilities.xml │ │ │ │ ├── Content/ │ │ │ │ │ └── InstancedEffect.xnb │ │ │ │ ├── ConversionHelper.xml │ │ │ │ ├── MonoGame.Framework.xml │ │ │ │ ├── SharpDX.DXGI.xml │ │ │ │ ├── SharpDX.Direct2D1.xml │ │ │ │ ├── SharpDX.Direct3D11.xml │ │ │ │ ├── SharpDX.Direct3D9.xml │ │ │ │ ├── SharpDX.MediaFoundation.xml │ │ │ │ ├── SharpDX.RawInput.xml │ │ │ │ ├── SharpDX.XAudio2.xml │ │ │ │ ├── SharpDX.XInput.xml │ │ │ │ └── SharpDX.xml │ │ │ ├── ModelDataExtractor.cs │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── app.config │ │ ├── BasicSetupDemo/ │ │ │ ├── BasicSetupDemo.csproj │ │ │ ├── BasicSetupDemo.sln │ │ │ ├── BasicSetupGame.cs │ │ │ ├── Camera.cs │ │ │ ├── Content/ │ │ │ │ ├── Content.mgcb │ │ │ │ └── cube.fbx │ │ │ ├── Dependencies/ │ │ │ │ ├── BEPUphysics.xml │ │ │ │ ├── BEPUutilities.xml │ │ │ │ └── ConversionHelper.xml │ │ │ ├── EntityModel.cs │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── app.config │ │ ├── GettingStartedDemo/ │ │ │ ├── Camera.cs │ │ │ ├── Content/ │ │ │ │ ├── Content.mgcb │ │ │ │ ├── cube.fbx │ │ │ │ └── playground.fbx │ │ │ ├── Dependencies/ │ │ │ │ ├── BEPUphysics.xml │ │ │ │ ├── BEPUutilities.xml │ │ │ │ └── ConversionHelper.xml │ │ │ ├── EntityModel.cs │ │ │ ├── GettingStartedDemo.csproj │ │ │ ├── GettingStartedDemo.sln │ │ │ ├── GettingStartedGame.cs │ │ │ ├── ModelDataExtractor.cs │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── StaticModel.cs │ │ │ └── app.config │ │ └── MultithreadingDemo/ │ │ ├── Camera.cs │ │ ├── Content/ │ │ │ └── InstancedEffect.xnb │ │ ├── Dependencies/ │ │ │ ├── BEPUphysics.xml │ │ │ ├── BEPUphysicsDrawer.xml │ │ │ ├── BEPUutilities.xml │ │ │ ├── Content/ │ │ │ │ └── InstancedEffect.xnb │ │ │ ├── ConversionHelper.xml │ │ │ ├── MonoGame.Framework.xml │ │ │ ├── SharpDX.DXGI.xml │ │ │ ├── SharpDX.Direct2D1.xml │ │ │ ├── SharpDX.Direct3D11.xml │ │ │ ├── SharpDX.Direct3D9.xml │ │ │ ├── SharpDX.MediaFoundation.xml │ │ │ ├── SharpDX.RawInput.xml │ │ │ ├── SharpDX.XAudio2.xml │ │ │ ├── SharpDX.XInput.xml │ │ │ └── SharpDX.xml │ │ ├── ModelDataExtractor.cs │ │ ├── MultithreadingDemo.csproj │ │ ├── MultithreadingDemo.sln │ │ ├── MultithreadingGame.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── app.config │ ├── JointsAndConstraints.md │ ├── ReleaseNotes.txt │ ├── ShapeRecentering.md │ └── UpdatingAsynchronously.md ├── Fix64Analyzer/ │ ├── Fix64Analyzer/ │ │ ├── BatchFixer.cs │ │ ├── Fix64Analyzer.csproj │ │ ├── Fix64AnalyzerAnalyzer.cs │ │ ├── Fix64AnalyzerCodeFixProvider.cs │ │ └── tools/ │ │ ├── install.ps1 │ │ └── uninstall.ps1 │ └── Fix64Analyzer.Vsix/ │ ├── Fix64Analyzer.Vsix.csproj │ └── source.extension.vsixmanifest ├── Fix64Analyzer.sln ├── FixedMath.Net/ │ ├── LICENSE.txt │ ├── README.txt │ ├── src/ │ │ ├── Fix64.cs │ │ ├── Fix64Random.cs │ │ ├── Fix64SinLut.cs │ │ ├── Fix64TanLut.cs │ │ ├── FixedMath.NET.csproj │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── packages.config │ └── tests/ │ ├── ConsoleTestOutputHelper.cs │ ├── Experimental/ │ │ ├── Fix16.cs │ │ ├── Fix16SinLut.cs │ │ ├── Fix16Test.cs │ │ ├── Fix8.cs │ │ └── Fix8Tests.cs │ ├── Fix64RandomExpectedValues.cs │ ├── Fix64RandomTests.cs │ ├── Fix64Tests.cs │ ├── Fix64tests.csproj │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── packages.config ├── LICENSE.md └── README.md