Class
List
Hierarchy
Modules
Common
Events
Math
Messages
Physics
Rendering
Sensors
Transport
Links
Gazebo Website
Wiki
Tutorials
Download
Report Documentation Issues
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
gazebo
physics
ScrewJoint.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012-2014 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
/* Desc: A screw or primastic/rotational joint
18
* Author: Nate Koenig, John Hsu
19
* Date: 21 May 2003
20
*/
21
22
#ifndef _SCREWJOINT_HH_
23
#define _SCREWJOINT_HH_
24
25
#include "
gazebo/physics/Joint.hh
"
26
#include "
gazebo/common/Console.hh
"
27
#include "
gazebo/util/system.hh
"
28
29
namespace
gazebo
30
{
31
namespace
physics
32
{
35
38
template
<
class
T>
39
class
GAZEBO_VISIBLE
ScrewJoint
:
public
T
40
{
43
public
:
explicit
ScrewJoint
(
BasePtr
_parent) : T(_parent), threadPitch(0)
44
{this->AddType(
Base::SCREW_JOINT
);}
45
47
public
:
virtual
~ScrewJoint
()
48
{ }
49
50
// Documentation inherited.
51
public
:
virtual
unsigned
int
GetAngleCount
()
const
52
{
return
2;}
53
56
public
:
virtual
void
Load
(sdf::ElementPtr _sdf)
57
{
58
T::Load(_sdf);
59
60
this->threadPitch =
61
_sdf->GetElement(
"thread_pitch"
)->Get<
double
>();
62
}
63
72
public
:
virtual
void
SetThreadPitch(
unsigned
int
_index,
73
double
_threadPitch)
GAZEBO_DEPRECATED
(3.0) = 0;
74
84
public
:
virtual
void
SetThreadPitch(
double
_threadPitch) = 0;
85
92
public
:
virtual
double
GetThreadPitch(
unsigned
int
_index)
93
GAZEBO_DEPRECATED
(3.0) = 0;
94
100
public
:
virtual
double
GetThreadPitch() = 0;
101
103
protected
:
double
threadPitch
;
104
106
protected
:
virtual
void
Init
()
107
{
108
T::Init
();
109
}
110
};
112
}
113
}
114
#endif