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 <gz/math/Pose3.hh>
23
#include <gz/utils/ImplPtr.hh>
24
25
#include <
sdf/Error.hh
>
26
#include <
sdf/Element.hh
>
27
#include <
sdf/sdf_config.h
>
28
#include "
sdf/system_util.hh
"
29
30
#ifdef _WIN32
31
// Disable warning C4251 which is triggered by
32
// std::unique_ptr
33
#pragma warning(push)
34
#pragma warning(disable: 4251)
35
#endif
36
37
namespace
sdf
38
{
39
// Inline bracket to help doxygen filtering.
40
inline
namespace
SDF_VERSION_NAMESPACE {
41
//
42
43
// Forward declare private data class.
44
struct
PoseRelativeToGraph;
45
template
<
typename
T>
class
ScopedGraph;
46
54
class
SDFORMAT_VISIBLE
SemanticPose
55
{
58
public
:
const
gz::math::Pose3d &RawPose()
const
;
59
64
public
:
const
std::string &RelativeTo()
const
;
65
73
public
:
Errors
Resolve(gz::math::Pose3d &_pose,
74
const
std::string &_resolveTo =
""
)
const
;
75
83
private
:
SemanticPose
(
84
const
gz::math::Pose3d &_pose,
85
const
std::string &_relativeTo,
86
const
std::string &_defaultResolveTo,
87
const
sdf::ScopedGraph<sdf::PoseRelativeToGraph>
&_graph);
88
100
private
:
SemanticPose
(
101
const
std::string &_name,
102
const
gz::math::Pose3d &_pose,
103
const
std::string &_relativeTo,
104
const
std::string &_defaultResolveTo,
105
const
sdf::ScopedGraph<sdf::PoseRelativeToGraph>
&_graph);
106
107
friend
class
Collision
;
108
friend
class
Frame
;
109
friend
class
Joint
;
110
friend
class
Light
;
111
friend
class
Link
;
112
friend
class
ParticleEmitter
;
113
friend
class
Model
;
114
friend
class
Sensor
;
115
friend
class
Visual
;
116
118
IGN_UTILS_IMPL_PTR(dataPtr)
119
};
120
}
121
}
122
123
#ifdef _WIN32
124
#pragma warning(pop)
125
#endif
126
127
#endif
sdf::SDF_VERSION_NAMESPACE::Link
Definition:
Link.hh:45
Error.hh
sdf::SDF_VERSION_NAMESPACE::Model
Definition:
Model.hh:54
sdf
namespace for Simulation Description Format parser
Definition:
Actor.hh:34
sdf::SDF_VERSION_NAMESPACE::ParticleEmitter
A description of a particle emitter, which can be attached to a link.
Definition:
ParticleEmitter.hh:60
sdf::SDF_VERSION_NAMESPACE::Collision
A collision element descibes the collision properties associated with a link.
Definition:
Collision.hh:45
sdf::SDF_VERSION_NAMESPACE::Frame
A Frame element descibes the properties associated with an explicit frame defined in a Model or World...
Definition:
Frame.hh:42
sdf_config.h
SDFORMAT_VISIBLE
#define SDFORMAT_VISIBLE
Definition:
system_util.hh:25
sdf::SDF_VERSION_NAMESPACE::Light
Provides a description of a light source.
Definition:
Light.hh:63
sdf::SDF_VERSION_NAMESPACE::Joint
Definition:
Joint.hh:85
sdf::SDF_VERSION_NAMESPACE::SemanticPose
SemanticPose is a data structure that can be used by different DOM objects to resolve poses on a Pose...
Definition:
SemanticPose.hh:54
sdf::SDF_VERSION_NAMESPACE::Errors
std::vector< Error > Errors
A vector of Error.
Definition:
Types.hh:106
sdf::SDF_VERSION_NAMESPACE::ScopedGraph
Definition:
Collision.hh:39
sdf::SDF_VERSION_NAMESPACE::Visual
Definition:
Visual.hh:47
system_util.hh
sdf::SDF_VERSION_NAMESPACE::Sensor
Information about an SDF sensor.
Definition:
Sensor.hh:136
Element.hh