1 #ifndef __DYNAMICS_FACTORY_H__
2 #define __DYNAMICS_FACTORY_H__
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://floralicense.org/license/
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
21 #include <dali/integration-api/dynamics/dynamics-factory-intf.h>
34 class DynamicsFactory : public Integration::DynamicsFactory
45 virtual ~DynamicsFactory();
48 * @copydoc Dali::Integration::DynamicsFactory::InitializeDynamics
50 bool InitializeDynamics( const Integration::DynamicsWorldSettings& worldSettings );
53 * @copydoc Dali::Integration::DynamicsFactory::TerminateDynamics
55 void TerminateDynamics();
58 * @copydoc Dali::Integration::DynamicsFactory::CreateDynamicsWorld
60 Integration::DynamicsWorld* CreateDynamicsWorld();
63 * @copydoc Dali::Integration::DynamicsFactory::CreateDynamicsBody
65 virtual Integration::DynamicsBody* CreateDynamicsBody();
68 * @copydoc Dali::Integration::DynamicsFactory::CreateDynamicsJoint
70 virtual Integration::DynamicsJoint* CreateDynamicsJoint();
73 * @copydoc Dali::Integration::DynamicsFactory::CreateDynamicsShape
75 virtual Integration::DynamicsShape* CreateDynamicsShape();
78 void* mHandle; ///< The handle to the open shared object library
80 typedef Integration::DynamicsWorld* (*CreateDynamicsWorldFunction)();
81 typedef Integration::DynamicsBody* (*CreateDynamicsBodyFunction)();
82 typedef Integration::DynamicsJoint* (*CreateDynamicsJointFunction)();
83 typedef Integration::DynamicsShape* (*CreateDynamicsShapeFunction)();
85 CreateDynamicsWorldFunction mCreateDynamicsWorld;
86 CreateDynamicsBodyFunction mCreateDynamicsBody;
87 CreateDynamicsJointFunction mCreateDynamicsJoint;
88 CreateDynamicsShapeFunction mCreateDynamicsShape;
90 }; // class DynamicsFactory
92 } // namespace SlpPlatform
96 #endif // __DYNAMICS_FACTORY_H__