Gazebo Physics

API Reference

2.6.2
gz/physics/ConstructEmpty.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 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 
18 #ifndef GZ_PHYSICS_CONSTRUCTEMPTY_HH_
19 #define GZ_PHYSICS_CONSTRUCTEMPTY_HH_
20 
21 #include <string>
22 
24 
25 namespace ignition {
26 namespace physics {
27 
32 class ConstructEmptyWorldFeature : public virtual Feature
33 {
34  public: template <typename PolicyT, typename FeaturesT>
35  class Engine : public virtual Feature::Engine<PolicyT, FeaturesT>
36  {
37  public: using WorldPtrType = WorldPtr<PolicyT, FeaturesT>;
38 
42  public: WorldPtrType ConstructEmptyWorld(const std::string &_name);
43  };
44 
45  public: template <typename PolicyT>
46  class Implementation : public virtual Feature::Implementation<PolicyT>
47  {
48  public: virtual Identity ConstructEmptyWorld(
49  const Identity &_engineID, const std::string &_name) = 0;
50  };
51 };
53 
57 class ConstructEmptyModelFeature : public virtual Feature
58 {
59  public: template <typename PolicyT, typename FeaturesT>
60  class World : public virtual Feature::World<PolicyT, FeaturesT>
61  {
62  public: using ModelPtrType = ModelPtr<PolicyT, FeaturesT>;
63 
67  public: ModelPtrType ConstructEmptyModel(const std::string &_name);
68  };
69 
70  public: template <typename PolicyT>
71  class Implementation : public virtual Feature::Implementation<PolicyT>
72  {
73  public: virtual Identity ConstructEmptyModel(
74  const Identity &_worldID, const std::string &_name) = 0;
75  };
76 };
77 
81 class ConstructEmptyLinkFeature : public virtual Feature
82 {
83  public: template <typename PolicyT, typename FeaturesT>
84  class Model : public virtual Feature::Model<PolicyT, FeaturesT>
85  {
86  public: using LinkPtrType = LinkPtr<PolicyT, FeaturesT>;
87 
91  public: LinkPtrType ConstructEmptyLink(const std::string &_name);
92  };
93 
94  public: template <typename PolicyT>
95  class Implementation : public virtual Feature::Implementation<PolicyT>
96  {
97  public: virtual Identity ConstructEmptyLink(
98  const Identity &_modelID, const std::string &_name) = 0;
99  };
100 };
101 
102 }
103 }
104 
105 #include <gz/physics/detail/ConstructEmpty.hh>
106 
107 #endif
WorldPtr< PolicyT, FeaturesT > WorldPtrType
Definition: gz/physics/ConstructEmpty.hh:37
STL class.
WorldPtrType ConstructEmptyWorld(const std::string &_name)
Construct an empty world and attach a given name to it.
ModelPtrType ConstructEmptyModel(const std::string &_name)
Construct an empty model and attach a given name to it.
Definition: gz/physics/ConstructEmpty.hh:46
This feature constructs an empty world and return its pointer from the current physics engine in use.
Definition: gz/physics/ConstructEmpty.hh:32
Definition: gz/physics/ConstructEmpty.hh:95
virtual Identity ConstructEmptyWorld(const Identity &_engineID, const std::string &_name)=0
Definition: gz/physics/Feature.hh:92
This class defines the concept of a Feature. It should be inherited by classes that define some plugi...
Definition: gz/physics/Feature.hh:35
LinkPtrType ConstructEmptyLink(const std::string &_name)
Construct an empty link and attach a given name to it.
virtual Identity ConstructEmptyModel(const Identity &_worldID, const std::string &_name)=0
Definition: gz/physics/ConstructEmpty.hh:84
Definition: gz/physics/ConstructEmpty.hh:71
ModelPtr< PolicyT, FeaturesT > ModelPtrType
Definition: gz/physics/ConstructEmpty.hh:62
LinkPtr< PolicyT, FeaturesT > LinkPtrType
Definition: gz/physics/ConstructEmpty.hh:86
Placeholder class in case a Feature does not define its own Model API.
Definition: gz/physics/Feature.hh:58
Placeholder class in case a Feature does not define its own World API.
Definition: gz/physics/Feature.hh:49
This feature constructs an empty link and return its pointer from the given model.
Definition: gz/physics/ConstructEmpty.hh:81
virtual Identity ConstructEmptyLink(const Identity &_modelID, const std::string &_name)=0
[ConstructEmptyWorld]
Definition: gz/physics/ConstructEmpty.hh:57
Placeholder class for the Engine API. Every Engine feature MUST inherit this class.
Definition: gz/physics/Feature.hh:40
Definition: gz/physics/ConstructEmpty.hh:35
Definition: gz/physics/ConstructEmpty.hh:60