From 68177a6a4cb4e85b839e31b7c1cc81669be0adae Mon Sep 17 00:00:00 2001 From: chapulina Date: Sat, 1 Mar 2025 06:21:48 +0000 Subject: [PATCH] deploy: a342166624bbd8158504aab467854f91eb14849c --- api/cmake/3/annotated.html | 2 +- api/cmake/3/classes.html | 2 +- api/cmake/3/developingwithcmake.html | 2 +- .../dir_67d178a995315b645380f0df5c1a23ee.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_955301e7d9daf5a4a370ec060575a3ad.html | 2 +- api/cmake/3/files.html | 2 +- api/cmake/3/functions.html | 2 +- api/cmake/3/functions_enum.html | 2 +- api/cmake/3/functions_eval.html | 2 +- api/cmake/3/functions_func.html | 2 +- api/cmake/3/functions_type.html | 2 +- api/cmake/3/functions_vars.html | 2 +- api/cmake/3/hierarchy.html | 2 +- api/cmake/3/index.html | 2 +- api/cmake/3/install.html | 2 +- ..._docs_ws_src_gz_cmake_tutorials_index.html | 2 +- api/cmake/3/namespacemembers.html | 2 +- api/cmake/3/namespacemembers_enum.html | 2 +- api/cmake/3/namespacemembers_eval.html | 2 +- api/cmake/3/namespacemembers_func.html | 2 +- api/cmake/3/namespacemembers_type.html | 2 +- api/cmake/3/namespacemembers_vars.html | 2 +- api/cmake/3/namespaces.html | 2 +- api/cmake/3/namespacestd.html | 2 +- api/cmake/3/pages.html | 2 +- api/cmake/3/sanitizersbuilds.html | 2 +- api/cmake/3/tutorials.html | 2 +- api/common/6/Event_8hh.html | 1 + api/common/6/Event_8hh_source.html | 415 +++++++++--------- api/sensors/8/thermalcameraigngazebo.html | 12 +- api/sim/8/meshtofuel.html | 4 +- 32 files changed, 245 insertions(+), 243 deletions(-) diff --git a/api/cmake/3/annotated.html b/api/cmake/3/annotated.html index 8e05daca1..dfcf48bf7 100644 --- a/api/cmake/3/annotated.html +++ b/api/cmake/3/annotated.html @@ -41,7 +41,7 @@

Gazebo Cmake

API Reference

- 3.5.5~pre1 + 3.5.5
diff --git a/api/cmake/3/classes.html b/api/cmake/3/classes.html index 8e05daca1..dfcf48bf7 100644 --- a/api/cmake/3/classes.html +++ b/api/cmake/3/classes.html @@ -41,7 +41,7 @@

Gazebo Cmake

API Reference

- 3.5.5~pre1 + 3.5.5
diff --git a/api/cmake/3/developingwithcmake.html b/api/cmake/3/developingwithcmake.html index 236186075..d18259e64 100644 --- a/api/cmake/3/developingwithcmake.html +++ b/api/cmake/3/developingwithcmake.html @@ -36,7 +36,7 @@

Gazebo Cmake

API Reference

- 3.5.5~pre1 + 3.5.5
#include <atomic>
+#include <chrono>
#include <functional>
#include <list>
#include <map>
diff --git a/api/common/6/Event_8hh_source.html b/api/common/6/Event_8hh_source.html index c3b4e363f..fc7adb3c2 100644 --- a/api/common/6/Event_8hh_source.html +++ b/api/common/6/Event_8hh_source.html @@ -162,223 +162,224 @@

API Reference

18#define GZ_COMMON_EVENT_HH_
19
20#include <atomic>
-
21#include <functional>
-
22#include <list>
-
23#include <map>
-
24#include <memory>
-
25#include <mutex>
-
26#include <utility>
-
27
-
28#include <gz/common/config.hh>
-
29#include <gz/common/events/Export.hh>
- -
31
-
32namespace gz
-
33{
-
34 namespace common
-
35 {
-
-
38 class GZ_COMMON_EVENTS_VISIBLE Event
-
39 {
-
41 public: Event();
-
42
-
44 public: virtual ~Event();
-
45
-
48 public: virtual void Disconnect(int _id) = 0;
-
49
-
52 public: bool Signaled() const;
-
53
-
56 public: void SetSignaled(bool _sig);
-
57
-
59 private: bool signaled;
-
60 };
+
21#include <chrono>
+
22#include <functional>
+
23#include <list>
+
24#include <map>
+
25#include <memory>
+
26#include <mutex>
+
27#include <utility>
+
28
+
29#include <gz/common/config.hh>
+
30#include <gz/common/events/Export.hh>
+ +
32
+
33namespace gz
+
34{
+
35 namespace common
+
36 {
+
+
39 class GZ_COMMON_EVENTS_VISIBLE Event
+
40 {
+
42 public: Event();
+
43
+
45 public: virtual ~Event();
+
46
+
49 public: virtual void Disconnect(int _id) = 0;
+
50
+
53 public: bool Signaled() const;
+
54
+
57 public: void SetSignaled(bool _sig);
+
58
+
60 private: bool signaled;
+
61 };
-
61
-
-
63 class GZ_COMMON_EVENTS_VISIBLE Connection
-
64 {
-
68 public: Connection(Event *_e, int _i);
-
69
-
71 public: ~Connection();
-
72
-
75 public: int Id() const;
-
76
-
78 private: Event *event = nullptr;
-
79
-
81 private: int id = -1;
-
82
-
83#ifdef _WIN32
-
84// Disable warning C4251
-
85#pragma warning(push)
-
86#pragma warning(disable: 4251)
-
87#endif
- -
90#ifdef _WIN32
-
91#pragma warning(pop)
-
92#endif
-
93
-
95 public: template<typename T, typename N> friend class EventT;
-
96 };
+
62
+
+
64 class GZ_COMMON_EVENTS_VISIBLE Connection
+
65 {
+
69 public: Connection(Event *_e, int _i);
+
70
+
72 public: ~Connection();
+
73
+
76 public: int Id() const;
+
77
+
79 private: Event *event = nullptr;
+
80
+
82 private: int id = -1;
+
83
+
84#ifdef _WIN32
+
85// Disable warning C4251
+
86#pragma warning(push)
+
87#pragma warning(disable: 4251)
+
88#endif
+ +
91#ifdef _WIN32
+
92#pragma warning(pop)
+
93#endif
+
94
+
96 public: template<typename T, typename N> friend class EventT;
+
97 };
-
97
-
102 template<typename T, typename N = void>
-
-
103 class EventT : public Event
-
104 {
- - -
107 "Event callback must have void return type");
-
108
-
110 public: EventT();
-
111
-
113 public: virtual ~EventT();
-
114
-
119 public: ConnectionPtr Connect(const CallbackT &_subscriber);
-
120
-
123 public: virtual void Disconnect(int _id);
-
124
-
127 public: unsigned int ConnectionCount() const;
-
128
-
130 public: template<typename ... Args>
-
-
131 void operator()(Args && ... args)
-
132 {
-
133 this->Signal(std::forward<Args>(args)...);
-
134 }
+
98
+
103 template<typename T, typename N = void>
+
+
104 class EventT : public Event
+
105 {
+ + +
108 "Event callback must have void return type");
+
109
+
111 public: EventT();
+
112
+
114 public: virtual ~EventT();
+
115
+
120 public: ConnectionPtr Connect(const CallbackT &_subscriber);
+
121
+
124 public: virtual void Disconnect(int _id);
+
125
+
128 public: unsigned int ConnectionCount() const;
+
129
+
131 public: template<typename ... Args>
+
+
132 void operator()(Args && ... args)
+
133 {
+
134 this->Signal(std::forward<Args>(args)...);
+
135 }
-
135
-
137 public: template <typename ... Args>
-
-
138 void Signal(Args && ... args)
-
139 {
-
140 this->Cleanup();
-
141
-
142 this->SetSignaled(true);
-
143 for (const auto &iter : this->connections)
-
144 {
-
145 if (iter.second->on)
-
146 iter.second->callback(std::forward<Args>(args)...);
-
147 }
-
148 }
+
136
+
138 public: template <typename ... Args>
+
+
139 void Signal(Args && ... args)
+
140 {
+
141 this->Cleanup();
+
142
+
143 this->SetSignaled(true);
+
144 for (const auto &iter : this->connections)
+
145 {
+
146 if (iter.second->on)
+
147 iter.second->callback(std::forward<Args>(args)...);
+
148 }
+
149 }
-
149
-
153 private: void Cleanup();
-
154
-
156 private: class EventConnection
-
157 {
-
159 public: EventConnection(bool _on, const std::function<T> &_cb,
-
160 const ConnectionPtr &_publicConn)
-
161 : callback(_cb), publicConnection(_publicConn)
-
162 {
-
163 // Windows Visual Studio 2012 does not have atomic_bool constructor,
-
164 // so we have to set "on" using operator=
-
165 this->on = _on;
-
166 }
-
167
-
169 public: std::atomic_bool on;
-
170
-
172 public: std::function<T> callback;
-
173
-
177 public: std::weak_ptr<Connection> publicConnection;
-
178 };
-
179
-
182 typedef std::map<int, std::unique_ptr<EventConnection>> EvtConnectionMap;
-
183
-
185 private: EvtConnectionMap connections;
-
186
-
188 private: std::mutex mutex;
-
189
- -
192 connectionsToRemove;
-
193 };
+
150
+
154 private: void Cleanup();
+
155
+
157 private: class EventConnection
+
158 {
+
160 public: EventConnection(bool _on, const std::function<T> &_cb,
+
161 const ConnectionPtr &_publicConn)
+
162 : callback(_cb), publicConnection(_publicConn)
+
163 {
+
164 // Windows Visual Studio 2012 does not have atomic_bool constructor,
+
165 // so we have to set "on" using operator=
+
166 this->on = _on;
+
167 }
+
168
+
170 public: std::atomic_bool on;
+
171
+
173 public: std::function<T> callback;
+
174
+
178 public: std::weak_ptr<Connection> publicConnection;
+
179 };
+
180
+
183 typedef std::map<int, std::unique_ptr<EventConnection>> EvtConnectionMap;
+
184
+
186 private: EvtConnectionMap connections;
+
187
+
189 private: std::mutex mutex;
+
190
+ +
193 connectionsToRemove;
+
194 };
-
194
-
196 template<typename T, typename N>
-
- -
198 : Event()
-
199 {
-
200 }
+
195
+
197 template<typename T, typename N>
+
+ +
199 : Event()
+
200 {
+
201 }
-
201
-
203 template<typename T, typename N>
-
- -
205 {
-
206 // Clear the Event pointer on all connections so that they are not
-
207 // accessed after this Event is destructed.
-
208 for (auto &conn : this->connections)
-
209 {
-
210 auto publicCon = conn.second->publicConnection.lock();
-
211 if (publicCon)
-
212 {
-
213 publicCon->event = nullptr;
-
214 }
-
215 }
-
216 this->connections.clear();
-
217 }
+
202
+
204 template<typename T, typename N>
+
+ +
206 {
+
207 // Clear the Event pointer on all connections so that they are not
+
208 // accessed after this Event is destructed.
+
209 for (auto &conn : this->connections)
+
210 {
+
211 auto publicCon = conn.second->publicConnection.lock();
+
212 if (publicCon)
+
213 {
+
214 publicCon->event = nullptr;
+
215 }
+
216 }
+
217 this->connections.clear();
+
218 }
-
218
-
221 template<typename T, typename N>
-
- -
223 {
-
224 int index = 0;
-
225 if (!this->connections.empty())
-
226 {
-
227 auto const &iter = this->connections.rbegin();
-
228 index = iter->first + 1;
-
229 }
-
230 auto connection = ConnectionPtr(new Connection(this, index));
-
231 this->connections[index].reset(
-
232 new EventConnection(true, _subscriber, connection));
-
233 return connection;
-
234 }
+
219
+
222 template<typename T, typename N>
+
+ +
224 {
+
225 int index = 0;
+
226 if (!this->connections.empty())
+
227 {
+
228 auto const &iter = this->connections.rbegin();
+
229 index = iter->first + 1;
+
230 }
+
231 auto connection = ConnectionPtr(new Connection(this, index));
+
232 this->connections[index].reset(
+
233 new EventConnection(true, _subscriber, connection));
+
234 return connection;
+
235 }
-
235
-
238 template<typename T, typename N>
-
-
239 unsigned int EventT<T, N>::ConnectionCount() const
-
240 {
-
241 return this->connections.size();
-
242 }
+
236
+
239 template<typename T, typename N>
+
+
240 unsigned int EventT<T, N>::ConnectionCount() const
+
241 {
+
242 return this->connections.size();
+
243 }
-
243
-
246 template<typename T, typename N>
-
- -
248 {
-
249 // Find the connection
-
250 auto const &it = this->connections.find(_id);
-
251
-
252 if (it != this->connections.end())
-
253 {
-
254 it->second->on = false;
-
255 // The destructor of std::function seems to crashes if the function it
-
256 // points to is in a shared library and has been unloaded by the time
-
257 // the destructor is invoked. It's not clear whether this is a bug in
-
258 // the implementation of std::function or not. To avoid the crash,
-
259 // we call the destructor here by setting `callback = nullptr` because
-
260 // it is likely that EventT::Disconnect is called before the shared
-
261 // library is unloaded via Connection::~Connection.
-
262 it->second->callback = nullptr;
-
263 this->connectionsToRemove.push_back(it);
-
264 }
-
265 }
+
244
+
247 template<typename T, typename N>
+
+ +
249 {
+
250 // Find the connection
+
251 auto const &it = this->connections.find(_id);
+
252
+
253 if (it != this->connections.end())
+
254 {
+
255 it->second->on = false;
+
256 // The destructor of std::function seems to crashes if the function it
+
257 // points to is in a shared library and has been unloaded by the time
+
258 // the destructor is invoked. It's not clear whether this is a bug in
+
259 // the implementation of std::function or not. To avoid the crash,
+
260 // we call the destructor here by setting `callback = nullptr` because
+
261 // it is likely that EventT::Disconnect is called before the shared
+
262 // library is unloaded via Connection::~Connection.
+
263 it->second->callback = nullptr;
+
264 this->connectionsToRemove.push_back(it);
+
265 }
+
266 }
-
266
-
268 template<typename T, typename N>
- -
270 {
-
271 std::lock_guard<std::mutex> lock(this->mutex);
-
272 // Remove all queue connections.
-
273 for (auto &conn : this->connectionsToRemove)
-
274 this->connections.erase(conn);
-
275 this->connectionsToRemove.clear();
-
276 }
-
277 }
-
278}
-
279#endif
+
267
+
269 template<typename T, typename N>
+ +
271 {
+
272 std::lock_guard<std::mutex> lock(this->mutex);
+
273 // Remove all queue connections.
+
274 for (auto &conn : this->connectionsToRemove)
+
275 this->connections.erase(conn);
+
276 this->connectionsToRemove.clear();
+
277 }
+
278 }
+
279}
+
280#endif
diff --git a/api/sensors/8/thermalcameraigngazebo.html b/api/sensors/8/thermalcameraigngazebo.html index 1d5984ede..eeaff67b2 100644 --- a/api/sensors/8/thermalcameraigngazebo.html +++ b/api/sensors/8/thermalcameraigngazebo.html @@ -253,12 +253,12 @@

It is recommended to specify the ambient temperature and world's temperature gradient, since this dictates how objects with no specified temperature appear. Here's an example that sets the ambient temperature to 300 kelvin, and the temperature gradient to 0.1 Kelvin/meter:

<atmosphere type="adiabatic">
<temperature>300</temperature>
-
×␞µ
-
—(␟µ␋V
-
—(␟µ␋V
-
àìÊi/
-
—(␟µ␋V
-
’␁␙µ␋V
+
û mëV
+
û;lë?V
+
û;lë?V
+
àŒ¢ÎZ
+
û;lë?V
+
v␓në?V
-->
<temperature_gradient>0.1</temperature_gradient>
</atmosphere>
diff --git a/api/sim/8/meshtofuel.html b/api/sim/8/meshtofuel.html index 2bbda7d06..032d0e99c 100644 --- a/api/sim/8/meshtofuel.html +++ b/api/sim/8/meshtofuel.html @@ -224,8 +224,8 @@

Copy this example world code into a text editor and save it as import_mesh.sdf. This is a simple world SDF file, which you can learn more about on the SDF website.

Scroll all the way to the bottom of the file until you see the include tag section following the <!-- mesh --> comment line.

<?xml version="1.0" ?>
-
-Ilk
-
ÙQñd0V
+
{>-␖
+
␇*ÊëU
-->
<sdf version="1.6">
<world name="fuel">