Commit Graph

57 Commits

Author SHA1 Message Date
Dander7BD bbc489eac9 RigidBody improved and Gimbal lock proofed 2013-12-20 12:08:25 +01:00
Dander7BD ff52977dcf Bug fixes
including a hack
2013-12-20 12:08:24 +01:00
Dander7BD 461fecd1d2 Bug fixing
SimpleRigidBody::GetNormal returned wrong results.
Second bounce impulse in OnPossibleCollision, should be subtracted
instead of added.
2013-12-20 12:08:24 +01:00
Dander7BD 840f000ec9 Bug fix in API_Impl OnPossibleCollision(...) 2013-12-20 12:08:22 +01:00
Dander7BD 4ebb8cd9b8 Minor edit in CustomBodyState 2013-12-20 12:08:21 +01:00
Dander7BD 4e21e2b0c0 Renamed Formula::CollisionResponse::Impulse to..
.. Formula::CollisionResponse::Bounce
2013-12-20 12:08:20 +01:00
Dander7BD 24418603ad ICustomBody::GetNormal returns Float4::null if..
.. no normal can be decided.
2013-12-20 12:08:20 +01:00
Dander7BD 76c83add3d Added sanity check to SphericalRigidBody::GetNormalAt 2013-12-20 12:08:19 +01:00
Dander7BD 42418257cb CustomBodies now aware of it's scene
+ other minor changes
2013-12-20 12:08:18 +01:00
Robin Engman 59d5a3dc1e Created function for friction 2013-12-20 12:08:17 +01:00
Dander7BD 9cee69edd6 Extended friction content of the ICustomBody::State struct 2013-12-20 12:08:17 +01:00
Robin Engman 56dec6cf5d Added "alpha" friction
Alpha means that the friction is not tested and most likely needs
tweaking.
2013-12-20 12:08:16 +01:00
Dander7BD 09e55ddc30 SimpleRigidBody::GetNormalAt Done
implemented by using RayVsPlane tests
2013-12-20 12:07:46 +01:00
Dander7BD 5051a9e767 Major StateStruct and API update 2013-12-20 12:07:45 +01:00
Dander7BD dbb0c38432 Big patch
Loads of collision response related implementations/edits
2013-12-20 12:07:43 +01:00
Dander7BD c854b1af58 Stuff 2013-12-20 11:59:35 +01:00
Robin Engman c740bd5935 Added some data to PhysicsAPI
GetRigidLinearVelocity() and void* as reference to game object.
2013-12-12 10:02:35 +01:00
Dander7BD 5835a72acc Setstruct introduction done
Can be found as:
Physics::Struct::CustomBodyState
Physics::ICustomBody::State
Is all inline thus no expensive API calls, as intended.
Will be expanded to move API call methods from Physics::ICustomBody to
it.
2013-12-06 09:46:30 +01:00
Dander7BD 202ee23b25 Octtree::leafData Container should be kept updated now 2013-12-04 11:49:33 +01:00
Dander7BD 1d94ed0ddc Fixed MomentOfInertia methods 2013-12-04 11:30:56 +01:00
Robin Engman f2548c43ce Merge branch 'Physics' of https://github.com/dean11/Danbias into Physics 2013-12-04 09:52:03 +01:00
Robin Engman b03e9af027 Fixed octree and API
Rewrote AddObject function in octree and OnPossibleCollision in
PhysocsAPI_Impl
2013-12-04 09:51:48 +01:00
Dander7BD e4476f7757 Added function for ICustomBody
void ICustomBody::SetMomentum( const ::Oyster::Math::Float3 &worldG )
- Added and implemented
2013-12-03 15:11:24 +01:00
Dander7BD 026b427deb Implemented a temporary collision test update
Will only call the subscribed CollisioEventAction whenevera collision is
detected.
2013-11-29 10:00:07 +01:00
Robin Engman 1a06c7c7e6 Changed from pointer to reference
Did it in sample and visit functions
2013-11-29 10:00:06 +01:00
Robin Engman c31ea9730b Added overloads for visitor and sample functions
They now have an overload for accepting ICollideable
2013-11-29 10:00:05 +01:00
Dander7BD 5d5f684ad6 minor compilation error fix
Forgot that UniquePointer had a special operator for checking if it is
not NULL >.<
2013-11-29 10:00:04 +01:00
Dander7BD ec7185f463 Bunch of implementations 2013-11-29 10:00:03 +01:00
Robin Engman 4672984b51 Merge remote-tracking branch 'origin/Octree' into Physics 2013-11-28 14:19:11 +01:00
Robin Engman 632d412f9c Fixed sample and added visit. 2013-11-28 14:18:44 +01:00
Robin Engman 35f66da760 Merge branch 'Physics' of https://github.com/dean11/Danbias into Physics 2013-11-28 13:43:38 +01:00
Dander7BD f379ed49e5 inertiaTensor removed from API::SphericalBodyDescription
was redundant. struct already have everything that the factory needs to
generate one.
2013-11-28 12:18:06 +01:00
Dander7BD 2928e08252 SphericalRigidBody factory done
not tested though
2013-11-28 12:13:14 +01:00
Dander7BD 3a6cb98b08 SimpleRigidBody factory done
not tested though
2013-11-28 11:58:46 +01:00
Robin Engman 28dc57cf38 Added basic functionality for container 2013-11-28 11:18:07 +01:00
Robin Engman ecbb606544 Added basic functionality for container. 2013-11-28 11:14:24 +01:00
Dander7BD 07e3aa1697 Improved Collision Event Subscription
From now on, will each ICustomBody instance have it's own
collisionAction function.
2013-11-28 10:26:29 +01:00
Dander7BD 3a444aaae8 Moved Octree.h into the Implementation Filter 2013-11-28 10:24:32 +01:00
Dander7BD 62b1c68479 Created SphericalRigidBody
A rotateable rigidbody that represents something spherical.
2013-11-26 13:28:47 +01:00
Dander7BD 29362c8c60 Added more API & ICustomBody methods
API::Init
ICustomBody::SetSubscription
Gravity related calls
moved DLLMain.cpp
2013-11-26 13:28:46 +01:00
Robin Engman 2890c2a9ea Added beginning of Octree class. 2013-11-26 10:21:20 +01:00
Dander7BD 26e5fde8b0 Some PhysicsAPI implementations
Nothing related to the oct tree though. That will have be done next
2013-11-25 16:57:38 +01:00
Dander7BD a869771ffa Simple Rigid Body implementation
Second Iteration
[iteration 1]: stubs
[iteration 2]: implementations with shortcuts
[iteration final]: implementations with real solutions
2013-11-25 16:35:56 +01:00
Dander7BD bc988eff0d ICustomBody Documented 2013-11-25 13:46:05 +01:00
Dander7BD bf3dcd088b Moar dll fixes for Physics 2013-11-25 12:21:44 +01:00
Dander7BD cc67d227ab Dll fixes
API::Instance were not properly implemented
Added __stdcall
2013-11-25 12:03:41 +01:00
Dander7BD 46abe2c8c6 namespace Physics::Error removed
No need for it anymore.
2013-11-25 11:55:58 +01:00
Dander7BD 4072bf50fb Fixed DLL support for physics Engine
.. hopefully
2013-11-25 11:47:42 +01:00
Dander7BD d33d1f41bc Some documentation 2013-11-25 11:35:38 +01:00
Robin Engman c3e3f9e461 Changed API.
Replaced unsigned int references with ICustomBody pointers and replaced
documentation as needed.
2013-11-25 10:54:27 +01:00