1 #ifndef __DYNAMICS_SLIDER_JOINT_IMPL_H__
2 #define __DYNAMICS_SLIDER_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 DynamicsSliderJoint;
39 } // namespace SceneGraph
41 class DynamicsSliderJoint : public DynamicsJoint
46 * @copydoc Dali::DynamicsJoint::NewSlider
48 DynamicsSliderJoint(DynamicsWorldPtr world,
49 DynamicsBodyPtr bodyA, DynamicsBodyPtr bodyB,
50 const Vector3& pointA, const Vector3& pointB, const Vector3& axis,
51 const float translationLowerLimit, const float translationUpperLimit,
52 const Radian& rotationLowerLimit, const Radian& rotationUpperLimit );
57 * A reference counted object may only be deleted by calling Unreference()
59 virtual ~DynamicsSliderJoint();
62 // unimplemented copy constructor and assignment operator
63 DynamicsSliderJoint(const DynamicsSliderJoint&);
64 DynamicsSliderJoint& operator=(const DynamicsSliderJoint&);
68 /// @copydoc Dali::DynamicsSliderJoint::GetTranslationLowerLimit
69 float GetTranslationLowerLimit() const;
71 /// @copydoc Dali::DynamicsSliderJoint::SetTranslationLowerLimit
72 void SetTranslationLowerLimit( const float limit );
74 /// @copydoc Dali::DynamicsSliderJoint::GetTranslationUpperLimit
75 float GetTranslationUpperLimit() const;
77 /// @copydoc Dali::DynamicsSliderJoint::SetTranslationUpperLimit
78 void SetTranslationUpperLimit( const float limit );
80 /// @copydoc Dali::DynamicsSliderJoint::GetRotationLowerLimit
81 Radian GetRotationLowerLimit() const;
83 /// @copydoc Dali::DynamicsSliderJoint::SetRotationLowerLimit
84 void SetRotationLowerLimit( const Radian& limit );
86 /// @copydoc Dali::DynamicsSliderJoint::GetRotationUpperLimit
87 Radian GetRotationUpperLimit() const;
89 /// @copydoc Dali::DynamicsSliderJoint::SetRotationUpperLimit
90 void SetRotationUpperLimit( const Radian& limit );
92 SceneGraph::DynamicsSliderJoint* GetSceneObject() const;
95 float mTranslationLowerLimit;
96 float mTranslationUpperLimit;
97 Radian mRotationLowerLimit;
98 Radian mRotationUpperLimit;
99 }; // class DynamicsSliderJoint
101 } // namespace Internal
105 #endif // __DYNAMICS_SLIDER_JOINT_IMPL_H__