Class
List
Hierarchy
Links
SDF Website
Report Documentation Issues
src
sdformat
include
sdf
SemanticPose.hh
Go to the documentation of this file.
1
/*
2
* Copyright 2019 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
#ifndef SDF_SEMANTIC_POSE_HH_
18
#define SDF_SEMANTIC_POSE_HH_
19
20
#include <memory>
21
#include <string>
22
#include <ignition/math/Pose3.hh>
23
24
#include <
sdf/Error.hh
>
25
#include <
sdf/Element.hh
>
26
#include <sdf/sdf_config.h>
27
#include "
sdf/system_util.hh
"
28
29
#ifdef _WIN32
30
// Disable warning C4251 which is triggered by
31
// std::unique_ptr
32
#pragma warning(push)
33
#pragma warning(disable: 4251)
34
#endif
35
36
namespace
sdf
37
{
38
// Inline bracket to help doxygen filtering.
39
inline
namespace
SDF_VERSION_NAMESPACE {
40
//
41
42
// Forward declare private data class.
43
class
SemanticPosePrivate;
44
struct
PoseRelativeToGraph;
45
53
class
SDFORMAT_VISIBLE
SemanticPose
54
{
57
public
:
const
ignition::math::Pose3d &RawPose()
const
;
58
63
public
:
const
std::string &RelativeTo()
const
;
64
72
public
:
Errors
Resolve(ignition::math::Pose3d &_pose,
73
const
std::string &_resolveTo =
""
)
const
;
74
82
private
:
SemanticPose
(
83
const
ignition::math::Pose3d &_pose,
84
const
std::string &_relativeTo,
85
const
std::string &_defaultResolveTo,
86
std::weak_ptr<const sdf::PoseRelativeToGraph> _graph);
87
89
public
: ~
SemanticPose
();
90
93
public
:
SemanticPose
(
const
SemanticPose
&_semanticPose);
94
97
public
:
SemanticPose
(
SemanticPose
&&_semanticPose) noexcept;
98
102
public
:
SemanticPose
&operator=(
SemanticPose
&&_semanticPose);
103
107
public
:
SemanticPose
&operator=(
const
SemanticPose
&_semanticPose);
108
109
friend
class
Collision
;
110
friend
class
Frame
;
111
friend
class
Joint
;
112
friend
class
Light
;
113
friend
class
Link
;
114
friend
class
ParticleEmitter
;
115
friend
class
Model
;
116
friend
class
Sensor
;
117
friend
class
Visual
;
118
120
private
: std::unique_ptr<SemanticPosePrivate> dataPtr;
121
};
122
}
123
}
124
125
#ifdef _WIN32
126
#pragma warning(pop)
127
#endif
128
129
#endif
sdf::v10::Collision
A collision element descibes the collision properties associated with a link.
Definition:
Collision.hh:44
sdf::v10::Visual
Definition:
Visual.hh:45
Error.hh
sdf::v10::SemanticPose
SemanticPose is a data structure that can be used by different DOM objects to resolve poses on a Pose...
Definition:
SemanticPose.hh:53
sdf::v10::Joint
Definition:
Joint.hh:82
sdf
namespace for Simulation Description Format parser
Definition:
Actor.hh:32
sdf::v10::Errors
std::vector< Error > Errors
A vector of Error.
Definition:
Types.hh:95
SDFORMAT_VISIBLE
#define SDFORMAT_VISIBLE
Definition:
system_util.hh:48
sdf::v10::Frame
A Frame element descibes the properties associated with an explicit frame defined in a Model or World...
Definition:
Frame.hh:41
sdf::v10::Light
Provides a description of a light source.
Definition:
Light.hh:62
system_util.hh
sdf::v10::Link
Definition:
Link.hh:45
sdf::SDF_VERSION_NAMESPACE::Sensor
Information about an SDF sensor.
Definition:
Sensor.hh:116
Element.hh
sdf::v10::Model
Definition:
Model.hh:43
sdf::v10::ParticleEmitter
A description of a particle emitter, which can be attached to a link.
Definition:
ParticleEmitter.hh:60