|
From: <a-...@us...> - 2010-01-28 07:14:04
|
Revision: 152
http://simspark.svn.sourceforge.net/simspark/?rev=152&view=rev
Author: a-held
Date: 2010-01-28 07:13:43 +0000 (Thu, 28 Jan 2010)
Log Message:
-----------
Created a factory for implementation objects that also uses the bridge pattern. Instead of each physics object
having its own implementation object, all objects of the same type get a reference to the same implementation
object. This saves some memory and (I think) makes good use of the processor cache; there was a noteable increase
on the average FPS after the implementation (before: 23.3 to 23.8, after: 24.1 to 24.8).
Modified Paths:
--------------
branches/multiphys/spark/lib/oxygen/CMakeLists.txt
branches/multiphys/spark/lib/oxygen/physicsserver/angularmotor.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/balljoint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/body.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/boxcollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/capsulecollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/collider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/compoundcollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/concavecollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/conecollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/conetwistjoint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/contactjointhandler.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/convexcollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/cylindercollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/dynamicbody.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/emptycollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/fixedjoint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/hinge2joint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/hingejoint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/int/colliderint.h
branches/multiphys/spark/lib/oxygen/physicsserver/joint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/physicsobject.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/physicsserver.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/planecollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/raycollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/rigidbody.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/sliderjoint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/softbody.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/space.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/spherecollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/staticbody.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/transformcollider.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/universaljoint.cpp
branches/multiphys/spark/lib/oxygen/physicsserver/world.cpp
Modified: branches/multiphys/spark/lib/oxygen/CMakeLists.txt
===================================================================
--- branches/multiphys/spark/lib/oxygen/CMakeLists.txt 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/CMakeLists.txt 2010-01-28 07:13:43 UTC (rev 152)
@@ -15,6 +15,7 @@
oxygen.h
oxygen_defines.h
physicsserver/genericphysicsobjects.h
+ physicsserver/impfactory.h
physicsserver/physicsobject.h
physicsserver/body.h
physicsserver/rigidbody.h
@@ -75,6 +76,7 @@
physicsserver/int/generic6dofjointint.h
physicsserver/int/hingejointint.h
physicsserver/int/hinge2jointint.h
+ physicsserver/int/impfactoryint.h
physicsserver/int/jointint.h
physicsserver/int/physicsobjectint.h
physicsserver/int/physicsserverint.h
@@ -111,6 +113,7 @@
physicsserver/ode/odegeneric6dofjoint.h
physicsserver/ode/odehingejoint.h
physicsserver/ode/odehinge2joint.h
+ physicsserver/ode/odeimpfactory.h
physicsserver/ode/odejoint.h
physicsserver/ode/odephysicsobject.h
physicsserver/ode/odephysicsserver.h
@@ -190,6 +193,7 @@
oxygen.cpp
physicsserver/physicsobject.cpp
physicsserver/physicsobject_c.cpp
+ physicsserver/impfactory.cpp
physicsserver/body.cpp
physicsserver/body_c.cpp
physicsserver/rigidbody.cpp
@@ -285,6 +289,7 @@
physicsserver/ode/odegeneric6dofjoint.cpp
physicsserver/ode/odehingejoint.cpp
physicsserver/ode/odehinge2joint.cpp
+ physicsserver/ode/odeimpfactory.cpp
physicsserver/ode/odejoint.cpp
physicsserver/ode/odephysicsobject.cpp
physicsserver/ode/odephysicsserver.cpp
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/angularmotor.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/angularmotor.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/angularmotor.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -18,7 +18,9 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/angularmotor.h>
-#include <oxygen/physicsserver/ode/odeangularmotor.h>
+#include <oxygen/physicsserver/int/angularmotorint.h>
+#include <oxygen/physicsserver/int/jointint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
@@ -27,7 +29,7 @@
AngularMotor::AngularMotor() : Joint()
{
- mAngularMotorImp = boost::shared_ptr<ODEAngularMotor>(new ODEAngularMotor());
+ mAngularMotorImp = ImpFactory::GetInstance()->GetAngularMotorImp();
}
AngularMotor::~AngularMotor()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/balljoint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/balljoint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/balljoint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -17,8 +17,10 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <oxygen/physicsserver/ode/odeballjoint.h>
+#include <oxygen/physicsserver/int/balljointint.h>
+#include <oxygen/physicsserver/int/jointint.h>
#include <oxygen/physicsserver/balljoint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
@@ -27,7 +29,7 @@
BallJoint::BallJoint() : Generic6DOFJoint()
{
- mBallJointImp = boost::shared_ptr<ODEBallJoint>(new ODEBallJoint());
+ mBallJointImp = ImpFactory::GetInstance()->GetBallJointImp();
}
BallJoint::~BallJoint()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/body.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/body.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/body.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,14 +20,15 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/body.h>
-#include <oxygen/physicsserver/ode/odebody.h>
+#include <oxygen/physicsserver/int/bodyint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
Body::Body() : PhysicsObject(), mBodyID(0), mMassTransformed(false),
mMassTrans(0,0,0)
{
- mBodyImp = boost::shared_ptr<ODEBody>(new ODEBody());
+ mBodyImp = ImpFactory::GetInstance()->GetBodyImp();
}
Body::~Body(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/boxcollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/boxcollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/boxcollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -21,14 +21,15 @@
*/
#include <oxygen/physicsserver/boxcollider.h>
-#include <oxygen/physicsserver/ode/odeboxcollider.h>
+#include <oxygen/physicsserver/int/boxcolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
using namespace salt;
BoxCollider::BoxCollider() : ConvexCollider()
{
- mBoxColliderImp = boost::shared_ptr<ODEBoxCollider>(new ODEBoxCollider());
+ mBoxColliderImp = ImpFactory::GetInstance()->GetBoxColliderImp();
}
void BoxCollider::SetBoxLengths(const Vector3f& extents)
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/capsulecollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/capsulecollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/capsulecollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,14 +20,15 @@
*/
#include <oxygen/physicsserver/capsulecollider.h>
-#include <oxygen/physicsserver/ode/odecapsulecollider.h>
+#include <oxygen/physicsserver/int/capsulecolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
using namespace salt;
CapsuleCollider::CapsuleCollider() : ConvexCollider()
{
- mCapsuleColliderImp = boost::shared_ptr<ODECapsuleCollider>(new ODECapsuleCollider());
+ mCapsuleColliderImp = ImpFactory::GetInstance()->GetCapsuleColliderImp();
}
void CapsuleCollider::SetParams(float radius, float length)
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/collider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/collider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/collider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,7 +20,8 @@
*/
#include <oxygen/physicsserver/genericphysicsobjects.h>
#include <oxygen/physicsserver/collider.h>
-#include <oxygen/physicsserver/ode/odecollider.h>
+#include <oxygen/physicsserver/int/colliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <oxygen/physicsserver/collisionhandler.h>
#include <oxygen/physicsserver/space.h>
#include <oxygen/physicsserver/staticphysicsmethods.h>
@@ -37,7 +38,7 @@
Collider::Collider() : PhysicsObject(), mGeomID(0)
{
- mColliderImp = boost::shared_ptr<ODECollider>(new ODECollider());
+ mColliderImp = ImpFactory::GetInstance()->GetColliderImp();
}
Collider::~Collider()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/compoundcollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/compoundcollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/compoundcollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/compoundcollider.h>
-#include <oxygen/physicsserver/ode/odecompoundcollider.h>
+#include <oxygen/physicsserver/int/compoundcolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
CompoundCollider::CompoundCollider() : Collider(){
- mCompoundColliderImp = boost::shared_ptr<ODECompoundCollider>(new ODECompoundCollider());
+ mCompoundColliderImp = ImpFactory::GetInstance()->GetCompoundColliderImp();
}
CompoundCollider::~CompoundCollider(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/concavecollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/concavecollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/concavecollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/concavecollider.h>
-#include <oxygen/physicsserver/ode/odeconcavecollider.h>
+#include <oxygen/physicsserver/int/concavecolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
ConcaveCollider::ConcaveCollider() : Collider(){
- mConcaveColliderImp = boost::shared_ptr<ODEConcaveCollider>(new ODEConcaveCollider());
+ mConcaveColliderImp = ImpFactory::GetInstance()->GetConcaveColliderImp();
}
ConcaveCollider::~ConcaveCollider(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/conecollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/conecollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/conecollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/conecollider.h>
-#include <oxygen/physicsserver/ode/odeconecollider.h>
+#include <oxygen/physicsserver/int/conecolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
ConeCollider::ConeCollider() : ConvexCollider(){
- mConeColliderImp = boost::shared_ptr<ODEConeCollider>(new ODEConeCollider());
+ mConeColliderImp = ImpFactory::GetInstance()->GetConeColliderImp();
}
ConeCollider::~ConeCollider(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/conetwistjoint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/conetwistjoint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/conetwistjoint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -21,12 +21,13 @@
*/
#include <oxygen/physicsserver/conetwistjoint.h>
-#include <oxygen/physicsserver/ode/odeconetwistjoint.h>
+#include <oxygen/physicsserver/int/conetwistjointint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
ConeTwistJoint::ConeTwistJoint() : Generic6DOFJoint(){
- mConeTwistJointImp = boost::shared_ptr<ODEConeTwistJoint>(new ODEConeTwistJoint());
+ mConeTwistJointImp = ImpFactory::GetInstance()->GetConeTwistJointImp();
}
ConeTwistJoint::~ConeTwistJoint(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/contactjointhandler.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/contactjointhandler.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/contactjointhandler.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,7 +20,8 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/contactjointhandler.h>
-#include <oxygen/physicsserver/ode/odecontactjointhandler.h>
+#include <oxygen/physicsserver/int/contactjointhandlerint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <oxygen/physicsserver/collider.h>
#include <oxygen/physicsserver/space.h>
#include <oxygen/physicsserver/world.h>
@@ -31,7 +32,7 @@
ContactJointHandler::ContactJointHandler() : CollisionHandler()
{
- mContactJointHandlerImp = boost::shared_ptr<ODEContactJointHandler>(new ODEContactJointHandler());
+ mContactJointHandlerImp = ImpFactory::GetInstance()->GetContactJointHandlerImp();
mSurfaceParameter = mContactJointHandlerImp->Initialize();
}
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/convexcollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/convexcollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/convexcollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/convexcollider.h>
-#include <oxygen/physicsserver/ode/odeconvexcollider.h>
+#include <oxygen/physicsserver/int/convexcolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
ConvexCollider::ConvexCollider() : Collider(){
- mConvexColliderImp = boost::shared_ptr<ODEConvexCollider>(new ODEConvexCollider());
+ mConvexColliderImp = ImpFactory::GetInstance()->GetConvexColliderImp();
}
ConvexCollider::~ConvexCollider(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/cylindercollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/cylindercollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/cylindercollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/cylindercollider.h>
-#include <oxygen/physicsserver/ode/odecylindercollider.h>
+#include <oxygen/physicsserver/int/cylindercolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
CylinderCollider::CylinderCollider() : ConvexCollider(){
- mCylinderColliderImp = boost::shared_ptr<ODECylinderCollider>(new ODECylinderCollider());
+ mCylinderColliderImp = ImpFactory::GetInstance()->GetCylinderColliderImp();
}
CylinderCollider::~CylinderCollider(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/dynamicbody.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/dynamicbody.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/dynamicbody.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/dynamicbody.h>
-#include <oxygen/physicsserver/ode/odedynamicbody.h>
+#include <oxygen/physicsserver/int/dynamicbodyint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
DynamicBody::DynamicBody() : Body(){
- mDynamicBodyImp = boost::shared_ptr<ODEDynamicBody>(new ODEDynamicBody());
+ mDynamicBodyImp = ImpFactory::GetInstance()->GetDynamicBodyImp();
}
DynamicBody::~DynamicBody(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/emptycollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/emptycollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/emptycollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/emptycollider.h>
-#include <oxygen/physicsserver/ode/odeemptycollider.h>
+#include <oxygen/physicsserver/int/emptycolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
EmptyCollider::EmptyCollider() : Collider(){
- mEmptyColliderImp = boost::shared_ptr<ODEEmptyCollider>(new ODEEmptyCollider());
+ mEmptyColliderImp = ImpFactory::GetInstance()->GetEmptyColliderImp();
}
EmptyCollider::~EmptyCollider(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/fixedjoint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/fixedjoint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/fixedjoint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -18,14 +18,15 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/fixedjoint.h>
-#include <oxygen/physicsserver/ode/odefixedjoint.h>
+#include <oxygen/physicsserver/int/fixedjointint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
FixedJoint::FixedJoint() : Generic6DOFJoint()
{
- mFixedJointImp = boost::shared_ptr<ODEFixedJoint>(new ODEFixedJoint());
+ mFixedJointImp = ImpFactory::GetInstance()->GetFixedJointImp();
}
FixedJoint::~FixedJoint()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/generic6dofjoint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -21,12 +21,13 @@
*/
#include <oxygen/physicsserver/generic6dofjoint.h>
-#include <oxygen/physicsserver/ode/odegeneric6dofjoint.h>
+#include <oxygen/physicsserver/int/generic6dofjointint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
Generic6DOFJoint::Generic6DOFJoint() : Joint(){
- mGeneric6DOFJointImp = boost::shared_ptr<ODEGeneric6DOFJoint>(new ODEGeneric6DOFJoint());
+ mGeneric6DOFJointImp = ImpFactory::GetInstance()->GetGeneric6DOFJointImp();
}
Generic6DOFJoint::~Generic6DOFJoint(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/hinge2joint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/hinge2joint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/hinge2joint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -18,7 +18,8 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/hinge2joint.h>
-#include <oxygen/physicsserver/ode/odehinge2joint.h>
+#include <oxygen/physicsserver/int/hinge2jointint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
@@ -27,7 +28,7 @@
Hinge2Joint::Hinge2Joint() : Generic6DOFJoint()
{
- mHinge2JointImp = boost::shared_ptr<ODEHinge2Joint>(new ODEHinge2Joint());
+ mHinge2JointImp = ImpFactory::GetInstance()->GetHinge2JointImp();
}
Hinge2Joint::~Hinge2Joint()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/hingejoint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/hingejoint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/hingejoint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -18,7 +18,9 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/hingejoint.h>
-#include <oxygen/physicsserver/ode/odehingejoint.h>
+#include <oxygen/physicsserver/int/hingejointint.h>
+#include <oxygen/physicsserver/int/jointint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
@@ -27,7 +29,7 @@
HingeJoint::HingeJoint() : Generic6DOFJoint()
{
- mHingeJointImp = boost::shared_ptr<ODEHingeJoint>(new ODEHingeJoint());
+ mHingeJointImp = ImpFactory::GetInstance()->GetHingeJointImp();
}
HingeJoint::~HingeJoint()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/int/colliderint.h
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/int/colliderint.h 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/int/colliderint.h 2010-01-28 07:13:43 UTC (rev 152)
@@ -25,6 +25,7 @@
#include <oxygen/physicsserver/ode/odewrapper.h>
#include <oxygen/oxygen_defines.h>
+#include <salt/matrix.h>
#include <set>
#include <string>
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/joint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/joint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/joint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,7 +20,8 @@
#include <oxygen/physicsserver/joint.h>
#include <oxygen/physicsserver/rigidbody.h>
#include <oxygen/physicsserver/staticphysicsmethods.h>
-#include <oxygen/physicsserver/ode/odejoint.h>
+#include <oxygen/physicsserver/impfactory.h>
+#include <oxygen/physicsserver/int/jointint.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
@@ -33,7 +34,7 @@
mJointMaxSpeed1(0), mJointMaxSpeed2(0),
mIsLimitJointMaxSpeed1(false), mIsLimitJointMaxSpeed2(false)
{
- mJointImp = boost::shared_ptr<ODEJoint>(new ODEJoint());
+ mJointImp = ImpFactory::GetInstance()->GetJointImp();
}
Joint::~Joint()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/physicsobject.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/physicsobject.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/physicsobject.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -24,7 +24,8 @@
#include <oxygen/physicsserver/physicsobject.h>
#include <oxygen/physicsserver/space.h>
#include <oxygen/physicsserver/world.h>
-#include <oxygen/physicsserver/ode/odephysicsobject.h>
+#include <oxygen/physicsserver/int/physicsobjectint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <oxygen/sceneserver/scene.h>
#include <zeitgeist/logserver/logserver.h>
@@ -33,7 +34,7 @@
PhysicsObject::PhysicsObject() : BaseNode()
{
- mPhysicsObjectImp = shared_ptr<ODEPhysicsObject>(new ODEPhysicsObject());
+ mPhysicsObjectImp = ImpFactory::GetInstance()->GetPhysicsObjectImp();
}
PhysicsObject::~PhysicsObject()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/physicsserver.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/physicsserver.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/physicsserver.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,11 +20,12 @@
*/
#include <oxygen/physicsserver/physicsserver.h>
-#include <oxygen/physicsserver/ode/odephysicsserver.h>
+#include <oxygen/physicsserver/int/physicsserverint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
PhysicsServer::PhysicsServer() : Leaf()
{
- mPhysicsServerImp = boost::shared_ptr<ODEPhysicsServer>(new ODEPhysicsServer());
+ mPhysicsServerImp = ImpFactory::GetInstance()->GetPhysicsServerImp();
}
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/planecollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/planecollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/planecollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,7 +20,8 @@
*/
#include <oxygen/physicsserver/planecollider.h>
-#include <oxygen/physicsserver/ode/odeplanecollider.h>
+#include <oxygen/physicsserver/int/planecolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
@@ -28,7 +29,7 @@
PlaneCollider::PlaneCollider() : Collider()
{
- mPlaneColliderImp = boost::shared_ptr<ODEPlaneCollider>(new ODEPlaneCollider());
+ mPlaneColliderImp = ImpFactory::GetInstance()->GetPlaneColliderImp();
}
void PlaneCollider::SetParams(float a, float b, float c, float d)
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/raycollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/raycollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/raycollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -19,14 +19,15 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <oxygen/physicsserver/ode/oderaycollider.h>
+#include <oxygen/physicsserver/int/raycolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <oxygen/physicsserver/raycollider.h>
using namespace oxygen;
RayCollider::RayCollider() : Collider()
{
- mRayColliderImp = boost::shared_ptr<ODERayCollider>(new ODERayCollider());
+ mRayColliderImp = ImpFactory::GetInstance()->GetRayColliderImp();
}
void RayCollider::SetParams(salt::Vector3f pos,
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/rigidbody.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/rigidbody.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/rigidbody.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -21,7 +21,8 @@
#include <oxygen/physicsserver/transformcollider.h>
#include <oxygen/physicsserver/staticphysicsmethods.h>
#include <oxygen/physicsserver/world.h>
-#include <oxygen/physicsserver/ode/oderigidbody.h>
+#include <oxygen/physicsserver/int/rigidbodyint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <oxygen/sceneserver/scene.h>
#include <oxygen/sceneserver/transform.h>
#include <zeitgeist/logserver/logserver.h>
@@ -33,7 +34,7 @@
RigidBody::RigidBody() : Body()
{
- mRigidBodyImp = boost::shared_ptr<ODERigidBody>(new ODERigidBody());
+ mRigidBodyImp = ImpFactory::GetInstance()->GetRigidBodyImp();
}
RigidBody::~RigidBody()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/sliderjoint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/sliderjoint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/sliderjoint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -18,7 +18,8 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/sliderjoint.h>
-#include <oxygen/physicsserver/ode/odesliderjoint.h>
+#include <oxygen/physicsserver/int/sliderjointint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
@@ -27,7 +28,7 @@
SliderJoint::SliderJoint() : Generic6DOFJoint()
{
- mSliderJointImp = boost::shared_ptr<ODESliderJoint>(new ODESliderJoint());
+ mSliderJointImp = ImpFactory::GetInstance()->GetSliderJointImp();
}
SliderJoint::~SliderJoint()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/softbody.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/softbody.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/softbody.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/softbody.h>
-#include <oxygen/physicsserver/ode/odesoftbody.h>
+#include <oxygen/physicsserver/int/softbodyint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
SoftBody::SoftBody() : Body(){
- mSoftBodyImp = boost::shared_ptr<ODESoftBody>(new ODESoftBody());
+ mSoftBodyImp = ImpFactory::GetInstance()->GetSoftBodyImp();
}
SoftBody::~SoftBody(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/space.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/space.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/space.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,7 +20,8 @@
*/
#include <oxygen/physicsserver/space.h>
-#include <oxygen/physicsserver/ode/odespace.h>
+#include <oxygen/physicsserver/int/spaceint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <oxygen/physicsserver/collider.h>
#include <oxygen/physicsserver/world.h>
#include <oxygen/sceneserver/scene.h>
@@ -33,7 +34,7 @@
Space::Space() : PhysicsObject(), mSpaceID(0)
{
- mSpaceImp = shared_ptr<ODESpace>(new ODESpace());
+ mSpaceImp = ImpFactory::GetInstance()->GetSpaceImp();
}
Space::~Space()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/spherecollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/spherecollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/spherecollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,14 +20,15 @@
*/
#include <oxygen/physicsserver/spherecollider.h>
-#include <oxygen/physicsserver/ode/odespherecollider.h>
+#include <oxygen/physicsserver/int/spherecolliderint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
using namespace salt;
SphereCollider::SphereCollider() : ConvexCollider()
{
- mSphereColliderImp = boost::shared_ptr<ODESphereCollider>(new ODESphereCollider());
+ mSphereColliderImp = ImpFactory::GetInstance()->GetSphereColliderImp();
}
void SphereCollider::SetRadius(float r)
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/staticbody.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/staticbody.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/staticbody.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,12 +20,13 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/staticbody.h>
-#include <oxygen/physicsserver/ode/odestaticbody.h>
+#include <oxygen/physicsserver/int/staticbodyint.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
StaticBody::StaticBody() : Body(){
- mStaticBodyImp = boost::shared_ptr<ODEStaticBody>(new ODEStaticBody());
+ mStaticBodyImp = ImpFactory::GetInstance()->GetStaticBodyImp();
}
StaticBody::~StaticBody(){
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/transformcollider.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/transformcollider.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/transformcollider.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -20,15 +20,16 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <oxygen/physicsserver/ode/odetransformcollider.h>
+#include <oxygen/physicsserver/int/transformcolliderint.h>
#include <oxygen/physicsserver/transformcollider.h>
+#include <oxygen/physicsserver/impfactory.h>
using namespace oxygen;
using namespace salt;
TransformCollider::TransformCollider() : Collider()
{
- mTransformColliderImp = boost::shared_ptr<ODETransformCollider>(new ODETransformCollider());
+ mTransformColliderImp = ImpFactory::GetInstance()->GetTransformColliderImp();
}
bool TransformCollider::ConstructInternal()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/universaljoint.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/universaljoint.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/universaljoint.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -18,7 +18,9 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <oxygen/physicsserver/universaljoint.h>
-#include <oxygen/physicsserver/ode/odeuniversaljoint.h>
+#include <oxygen/physicsserver/int/universaljointint.h>
+#include <oxygen/physicsserver/int/jointint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <zeitgeist/logserver/logserver.h>
using namespace oxygen;
@@ -27,7 +29,7 @@
UniversalJoint::UniversalJoint() : Generic6DOFJoint()
{
- mUniversalJointImp = boost::shared_ptr<ODEUniversalJoint>(new ODEUniversalJoint());
+ mUniversalJointImp = ImpFactory::GetInstance()->GetUniversalJointImp();
}
UniversalJoint::~UniversalJoint()
Modified: branches/multiphys/spark/lib/oxygen/physicsserver/world.cpp
===================================================================
--- branches/multiphys/spark/lib/oxygen/physicsserver/world.cpp 2010-01-26 11:23:42 UTC (rev 151)
+++ branches/multiphys/spark/lib/oxygen/physicsserver/world.cpp 2010-01-28 07:13:43 UTC (rev 152)
@@ -19,7 +19,8 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-#include <oxygen/physicsserver/ode/odeworld.h>
+#include <oxygen/physicsserver/int/worldint.h>
+#include <oxygen/physicsserver/impfactory.h>
#include <oxygen/physicsserver/space.h>
#include <oxygen/physicsserver/world.h>
#include <oxygen/sceneserver/scene.h>
@@ -30,7 +31,7 @@
World::World() : PhysicsObject()
{
- mWorldImp = shared_ptr<ODEWorld>(new ODEWorld());
+ mWorldImp = ImpFactory::GetInstance()->GetWorldImp();
}
World::~World()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|