1 #ifndef __DYNAMICS_UNIVERSAL_JOINT_IMPL_H__
2 #define __DYNAMICS_UNIVERSAL_JOINT_IMPL_H__
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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.
22 #include <dali/internal/event/dynamics/dynamics-joint-impl.h>
25 #include <dali/internal/event/dynamics/dynamics-declarations.h>
38 class DynamicsUniversalJoint;
39 } // namespace SceneGraph
41 /// @copydoc Dali::DynamicsUniversalJoint
42 class DynamicsUniversalJoint : public DynamicsJoint
48 * @copydoc Dali::DynamicsJoint::NewUniversal
50 DynamicsUniversalJoint(DynamicsWorldPtr world,
51 DynamicsBodyPtr bodyA, DynamicsBodyPtr bodyB,
52 const Vector3& pointA, const Quaternion& orientationA,
53 const Vector3& pointB, const Quaternion& orientationB );
58 * A reference counted object may only be deleted by calling Unreference()
60 virtual ~DynamicsUniversalJoint();
63 // unimplemented copy constructor and assignment operator
64 DynamicsUniversalJoint(const DynamicsUniversalJoint&);
65 DynamicsUniversalJoint& operator=(const DynamicsUniversalJoint&);
69 /// @copydoc Dali::DynamicsJoint::GetTranslationLowerLimit
70 Vector3 GetTranslationLowerLimit() const;
72 /// @copydoc Dali::DynamicsJoint::SetTranslationLowerLimit
73 void SetTranslationLowerLimit( const Vector3& limit );
75 /// @copydoc Dali::DynamicsJoint::GetTranslationUpperLimit
76 Vector3 GetTranslationUpperLimit() const;
78 /// @copydoc Dali::DynamicsJoint::SetTranslationUpperLimit
79 void SetTranslationUpperLimit( const Vector3& limit );
81 /// @copydoc Dali::DynamicsJoint::GetRotationLowerLimit
82 Vector3 GetRotationLowerLimit() const;
84 /// @copydoc Dali::DynamicsJoint::SetRotationLowerLimit
85 void SetRotationLowerLimit( const Vector3& limit );
87 /// @copydoc Dali::DynamicsJoint::GetRotationUpperLimit
88 Vector3 GetRotationUpperLimit() const;
90 /// @copydoc Dali::DynamicsJoint::SetRotationUpperLimit
91 void SetRotationUpperLimit( const Vector3& limit );
93 SceneGraph::DynamicsUniversalJoint* GetSceneObject() const;
96 Vector3 mTranslationLowerLimit;
97 Vector3 mTranslationUpperLimit;
98 Vector3 mRotationLowerLimit;
99 Vector3 mRotationUpperLimit;
100 }; // class DynamicsUniversalJoint
102 } // namespace Internal
106 #endif // __DYNAMICS_UNIVERSAL_JOINT_IMPL_H__