From 3616b01df5d3e2defb95e46eea9c89b98e41bd19 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 28 Sep 2026 07:32:24 +0000 Subject: [PATCH] Update documentation (latest) b7079e050b9ebe95a0319baa8151ee052175eef7 --- api/latest/DBDriverSqlite3_8h_source.html | 348 ++++++++++-------- api/latest/DBDriver_8h_source.html | 269 +++++++------- api/latest/classrtabmap_1_1DBDriver.html | 3 +- ...assrtabmap_1_1DBDriverSqlite3-members.html | 58 +-- .../classrtabmap_1_1DBDriverSqlite3.html | 77 +++- index.html | 2 +- 6 files changed, 429 insertions(+), 328 deletions(-) diff --git a/api/latest/DBDriverSqlite3_8h_source.html b/api/latest/DBDriverSqlite3_8h_source.html index 4cad602b..bf2152a3 100644 --- a/api/latest/DBDriverSqlite3_8h_source.html +++ b/api/latest/DBDriverSqlite3_8h_source.html @@ -167,174 +167,197 @@ $(document).ready(function(){initNavTree('DBDriverSqlite3_8h_source.html',''); i
156 void setTempStore(int tempStore);
157
158protected:
-
159 virtual bool connectDatabaseQuery(const std::string & url, bool overwritten = false, bool readOnly = false);
-
160 virtual void disconnectDatabaseQuery(bool save = true, const std::string & outputUrl = "");
-
161 virtual bool isConnectedQuery() const;
-
162 virtual unsigned long getMemoryUsedQuery() const; // In bytes
-
163 virtual bool getDatabaseVersionQuery(std::string & version) const;
-
164 virtual long getNodesMemoryUsedQuery() const;
-
165 virtual long getLinksMemoryUsedQuery() const;
-
166 virtual long getImagesMemoryUsedQuery() const;
-
167 virtual long getDepthImagesMemoryUsedQuery() const;
-
168 virtual long getCalibrationsMemoryUsedQuery() const;
-
169 virtual long getGridsMemoryUsedQuery() const;
-
170 virtual long getLaserScansMemoryUsedQuery() const;
-
171 virtual long getUserDataMemoryUsedQuery() const;
-
172 virtual long getWordsMemoryUsedQuery() const;
-
173 virtual long getFeaturesMemoryUsedQuery() const;
-
174 virtual long getStatisticsMemoryUsedQuery() const;
-
175 virtual int getLastNodesSizeQuery() const;
-
176 virtual int getLastDictionarySizeQuery() const;
-
177 virtual int getTotalNodesSizeQuery() const;
-
178 virtual int getTotalDictionarySizeQuery() const;
-
179 virtual ParametersMap getLastParametersQuery() const;
-
180 virtual std::map<std::string, float> getStatisticsQuery(int nodeId, double & stamp, std::vector<int> * wmState) const;
-
181 virtual std::map<int, std::pair<std::map<std::string, float>, double> > getAllStatisticsQuery() const;
-
182 virtual std::map<int, std::vector<int> > getAllStatisticsWmStatesQuery() const;
-
183
-
184 virtual void executeNoResultQuery(const std::string & sql) const;
-
185
-
186 virtual void getWeightQuery(int signatureId, int & weight) const;
-
187
-
188 virtual void saveQuery(const std::list<Signature *> & signatures);
-
189 virtual void saveQuery(const std::list<VisualWord *> & words) const;
-
190 virtual void updateQuery(const std::list<Signature *> & signatures, bool updateTimestamp) const;
-
191 virtual void updateQuery(const std::list<VisualWord *> & words, bool updateTimestamp) const;
-
192
-
193 virtual void addLinkQuery(const Link & link) const;
-
194 virtual void updateLinkQuery(const Link & link) const;
-
195
-
196 virtual void updateOccupancyGridQuery(
-
197 int nodeId,
-
198 const cv::Mat & ground,
-
199 const cv::Mat & obstacles,
-
200 const cv::Mat & empty,
-
201 float cellSize,
-
202 const cv::Point3f & viewpoint) const;
-
203
-
204 virtual void updateCalibrationQuery(
-
205 int nodeId,
-
206 const std::vector<CameraModel> & models,
-
207 const std::vector<StereoCameraModel> & stereoModels) const;
-
208
-
209 virtual void updateDepthImageQuery(
-
210 int nodeId,
-
211 const cv::Mat & image,
-
212 const std::string & format) const;
-
213
-
214 void updateLaserScanQuery(
-
215 int nodeId,
-
216 const LaserScan & scan) const;
+
168 void asyncSave(Signature * s) = delete;
+
169 void asyncSave(VisualWord * vw) = delete;
+
170 void loadSignatures(const std::list<int> & ids, std::list<Signature *> & signatures, std::set<int> * loadedFromTrash = 0, bool loadWordIdsOnly = false) = delete;
+
171 void loadWords(const std::set<int> & wordIds, std::list<VisualWord *> & vws) = delete;
+
172 void loadNodeData(Signature & signature, bool images = true, bool scan = true, bool userData = true, bool occupancyGrid = true) const = delete;
+
173 void loadNodeData(std::list<Signature *> & signatures, bool images = true, bool scan = true, bool userData = true, bool occupancyGrid = true) const = delete;
+
174 void getNodeData(int signatureId, SensorData & data, bool images = true, bool scan = true, bool userData = true, bool occupancyGrid = true) const = delete;
+
175 bool getCalibration(int signatureId, std::vector<CameraModel> & models, std::vector<StereoCameraModel> & stereoModels) const = delete;
+
176 bool getLaserScanInfo(int signatureId, LaserScan & info) const = delete;
+
177 bool getNodeInfo(int signatureId, Transform & pose, int & mapId, int & weight, std::string & label, double & stamp, Transform & groundTruthPose, std::vector<float> & velocity, GPS & gps, EnvSensors & sensors) const = delete;
+
178 void getLocalFeatures(int signatureId, std::multimap<int, int> & words, std::vector<cv::KeyPoint> & keypoints, std::vector<cv::Point3f> & points, cv::Mat & descriptors) const = delete;
+
179 void loadLinks(int signatureId, std::multimap<int, Link> & links, Link::Type type = Link::kUndef) const = delete;
+
180 void getWeight(int signatureId, int & weight) const = delete;
+
181 void getAllNodeIds(std::set<int> & ids, bool ignoreChildren = false, bool ignoreBadSignatures = false, bool ignoreIntermediateNodes = false) const = delete;
+
182 void getAllOdomPoses(std::map<int, Transform> & poses, bool ignoreChildren = false, bool ignoreIntermediateNodes = false) const = delete;
+
183 void getAllLinks(std::multimap<int, Link> & links, bool ignoreNullLinks = true, bool withLandmarks = false) const = delete;
+
184 void getLastNodeId(int & id) const = delete;
+
185 void getLastMapId(int & mapId) const = delete;
+
186 void getLastWordId(int & id) const = delete;
+
187 void getInvertedIndexNi(int signatureId, int & ni) const = delete;
+
188 void getNodesObservingLandmark(int landmarkId, std::map<int, Link> & nodes) const = delete;
+
189 void getNodeIdByLabel(const std::string & label, int & id) const = delete;
+
190 void getAllLabels(std::map<int, std::string> & labels) const = delete;
+
193 virtual bool connectDatabaseQuery(const std::string & url, bool overwritten = false, bool readOnly = false);
+
194 virtual void disconnectDatabaseQuery(bool save = true, const std::string & outputUrl = "");
+
195 virtual bool isConnectedQuery() const;
+
196 virtual unsigned long getMemoryUsedQuery() const; // In bytes
+
197 virtual bool getDatabaseVersionQuery(std::string & version) const;
+
198 virtual long getNodesMemoryUsedQuery() const;
+
199 virtual long getLinksMemoryUsedQuery() const;
+
200 virtual long getImagesMemoryUsedQuery() const;
+
201 virtual long getDepthImagesMemoryUsedQuery() const;
+
202 virtual long getCalibrationsMemoryUsedQuery() const;
+
203 virtual long getGridsMemoryUsedQuery() const;
+
204 virtual long getLaserScansMemoryUsedQuery() const;
+
205 virtual long getUserDataMemoryUsedQuery() const;
+
206 virtual long getWordsMemoryUsedQuery() const;
+
207 virtual long getFeaturesMemoryUsedQuery() const;
+
208 virtual long getStatisticsMemoryUsedQuery() const;
+
209 virtual int getLastNodesSizeQuery() const;
+
210 virtual int getLastDictionarySizeQuery() const;
+
211 virtual int getTotalNodesSizeQuery() const;
+
212 virtual int getTotalDictionarySizeQuery() const;
+
213 virtual ParametersMap getLastParametersQuery() const;
+
214 virtual std::map<std::string, float> getStatisticsQuery(int nodeId, double & stamp, std::vector<int> * wmState) const;
+
215 virtual std::map<int, std::pair<std::map<std::string, float>, double> > getAllStatisticsQuery() const;
+
216 virtual std::map<int, std::vector<int> > getAllStatisticsWmStatesQuery() const;
217
-
218 virtual void addStatisticsQuery(const Statistics & statistics, bool saveWmState) const;
-
219 virtual void savePreviewImageQuery(const cv::Mat & image) const;
-
220 virtual cv::Mat loadPreviewImageQuery() const;
-
221 virtual void saveOptimizedPosesQuery(const std::map<int, Transform> & optimizedPoses, const Transform & lastlocalizationPose) const;
-
222 virtual std::map<int, Transform> loadOptimizedPosesQuery(Transform * lastlocalizationPose = 0) const;
-
223 virtual void save2DMapQuery(const cv::Mat & map, float xMin, float yMin, float cellSize) const;
-
224 virtual cv::Mat load2DMapQuery(float & xMin, float & yMin, float & cellSize) const;
-
225 virtual void saveOptimizedMeshQuery(
-
226 const cv::Mat & cloud,
-
227 const std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > & polygons,
-
228#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
-
229 const std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > & texCoords,
-
230#else
-
231 const std::vector<std::vector<Eigen::Vector2f> > & texCoords,
-
232#endif
-
233 const cv::Mat & textures) const;
-
234 virtual cv::Mat loadOptimizedMeshQuery(
-
235 std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > * polygons,
-
236#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
-
237 std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > * texCoords,
-
238#else
-
239 std::vector<std::vector<Eigen::Vector2f> > * texCoords,
-
240#endif
-
241 cv::Mat * textures) const;
+
218 virtual void executeNoResultQuery(const std::string & sql) const;
+
219
+
220 virtual void getWeightQuery(int signatureId, int & weight) const;
+
221
+
222 virtual void saveQuery(const std::list<Signature *> & signatures);
+
223 virtual void saveQuery(const std::list<VisualWord *> & words) const;
+
224 virtual void updateQuery(const std::list<Signature *> & signatures, bool updateTimestamp) const;
+
225 virtual void updateQuery(const std::list<VisualWord *> & words, bool updateTimestamp) const;
+
226
+
227 virtual void addLinkQuery(const Link & link) const;
+
228 virtual void updateLinkQuery(const Link & link) const;
+
229
+
230 virtual void updateOccupancyGridQuery(
+
231 int nodeId,
+
232 const cv::Mat & ground,
+
233 const cv::Mat & obstacles,
+
234 const cv::Mat & empty,
+
235 float cellSize,
+
236 const cv::Point3f & viewpoint) const;
+
237
+
238 virtual void updateCalibrationQuery(
+
239 int nodeId,
+
240 const std::vector<CameraModel> & models,
+
241 const std::vector<StereoCameraModel> & stereoModels) const;
242
-
243 virtual void saveFlannIndexQuery(const std::vector<unsigned char> & indexData) const;
-
244
-
245 // Load objects
-
246 virtual void loadQuery(VWDictionary & dictionary, bool lastStateOnly = true, bool idsOnly = false) const;
-
247 virtual void loadLastNodesQuery(std::list<Signature *> & signatures, bool loadWordIdsOnly) const;
-
248 virtual void loadSignaturesQuery(const std::list<int> & ids, std::list<Signature *> & signatures, bool loadWordIdsOnly) const;
-
249 virtual void loadWordsQuery(const std::set<int> & wordIds, std::list<VisualWord *> & vws) const;
-
250 virtual void loadLinksQuery(int signatureId, std::multimap<int, Link> & links, Link::Type type = Link::kUndef) const;
+
243 virtual void updateDepthImageQuery(
+
244 int nodeId,
+
245 const cv::Mat & image,
+
246 const std::string & format) const;
+
247
+
248 void updateLaserScanQuery(
+
249 int nodeId,
+
250 const LaserScan & scan) const;
251
-
252 virtual void loadNodeDataQuery(std::list<Signature *> & signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const;
-
253 virtual bool getCalibrationQuery(int signatureId, std::vector<CameraModel> & models, std::vector<StereoCameraModel> & stereoModels) const;
-
254 virtual bool getLaserScanInfoQuery(int signatureId, LaserScan & info) const;
-
255 virtual bool getNodeInfoQuery(int signatureId, Transform & pose, int & mapId, int & weight, std::string & label, double & stamp, Transform & groundTruthPose, std::vector<float> & velocity, GPS & gps, EnvSensors & sensors) const;
-
256 virtual void getLocalFeaturesQuery(int signatureId, std::multimap<int, int> & words, std::vector<cv::KeyPoint> & keypoints, std::vector<cv::Point3f> & points, cv::Mat & descriptors) const;
-
257 virtual void getLastNodeIdsQuery(std::set<int> & ids) const;
-
258 virtual void getAllNodeIdsQuery(std::set<int> & ids, bool ignoreChildren, bool ignoreBadSignatures, bool ignoreIntermediateNodes) const;
-
259 virtual void getAllOdomPosesQuery(std::map<int, Transform> & poses, bool ignoreChildren, bool ignoreIntermediateNodes) const;
-
260 virtual void getAllLinksQuery(std::multimap<int, Link> & links, bool ignoreNullLinks, bool withLandmarks) const;
-
261 virtual void getLastIdQuery(const std::string & tableName, int & id, const std::string & fieldName="id") const;
-
262 virtual void getInvertedIndexNiQuery(int signatureId, int & ni) const;
-
263 virtual void getNodesObservingLandmarkQuery(int landmarkId, std::map<int, Link> & nodes) const;
-
264 virtual void getNodeIdByLabelQuery(const std::string & label, int & id) const;
-
265 virtual void getAllLabelsQuery(std::map<int, std::string> & labels) const;
-
266
-
267private:
-
268 std::string queryStepNode() const;
-
269 std::string queryStepImage() const;
-
270 std::string queryStepDepth() const;
-
271 std::string queryStepCalibrationUpdate() const;
-
272 std::string queryStepDepthUpdate() const;
-
273 std::string queryStepScanUpdate() const;
-
274 std::string queryStepSensorData() const;
-
275 std::string queryStepLinkUpdate() const;
-
276 std::string queryStepLink() const;
-
277 std::string queryStepWordsChanged() const;
-
278 std::string queryStepKeypoint() const;
-
279 std::string queryStepGlobalDescriptor() const;
-
280 std::string queryStepOccupancyGridUpdate() const;
-
281 void stepNode(sqlite3_stmt * ppStmt, const Signature * s) const;
-
282 void stepImage(sqlite3_stmt * ppStmt, int id, const cv::Mat & imageBytes) const;
-
283 void stepDepth(sqlite3_stmt * ppStmt, const SensorData & sensorData) const;
-
284 void stepCalibrationUpdate(sqlite3_stmt * ppStmt, int nodeId, const std::vector<CameraModel> & models, const std::vector<StereoCameraModel> & stereoModels) const;
-
285 void stepDepthUpdate(sqlite3_stmt * ppStmt, int nodeId, const cv::Mat & image, const std::string & format) const;
-
286 void stepScanUpdate(sqlite3_stmt * ppStmt, int nodeId, const LaserScan & image) const;
-
287 void stepSensorData(sqlite3_stmt * ppStmt, const SensorData & sensorData) const;
-
288 void stepLink(sqlite3_stmt * ppStmt, const Link & link) const;
-
289 void stepWordsChanged(sqlite3_stmt * ppStmt, int signatureId, int oldWordId, int newWordId) const;
-
290 void stepKeypoint(sqlite3_stmt * ppStmt, int nodeID, int wordId, const cv::KeyPoint & kp, const cv::Point3f & pt, const cv::Mat & descriptor) const;
-
291 void stepGlobalDescriptor(sqlite3_stmt * ppStmt, int nodeId, const GlobalDescriptor & descriptor) const;
-
292 void stepOccupancyGridUpdate(sqlite3_stmt * ppStmt,
-
293 int nodeId,
-
294 const cv::Mat & ground,
-
295 const cv::Mat & obstacles,
-
296 const cv::Mat & empty,
-
297 float cellSize,
-
298 const cv::Point3f & viewpoint) const;
-
299
-
300private:
-
301 void loadWordsQuery(std::list<Signature *> & signatures) const;
-
302 void loadWordIdsQuery(std::list<Signature *> & signatures) const;
-
303 void loadLinksQuery(std::list<Signature *> & signatures) const;
-
304 int loadOrSaveDb(sqlite3 *pInMemory, const std::string & fileName, int isSave) const;
-
305
-
306protected:
-
307 sqlite3 * _ppDb;
-
308 std::string _version;
-
309
-
310private:
-
311 unsigned long _memoryUsedEstimate;
-
312 bool _dbInMemory;
-
313 unsigned int _cacheSize;
-
314 int _journalMode;
-
315 int _synchronous;
-
316 int _tempStore;
-
317};
+
252 virtual void addStatisticsQuery(const Statistics & statistics, bool saveWmState) const;
+
253 virtual void savePreviewImageQuery(const cv::Mat & image) const;
+
254 virtual cv::Mat loadPreviewImageQuery() const;
+
255 virtual void saveOptimizedPosesQuery(const std::map<int, Transform> & optimizedPoses, const Transform & lastlocalizationPose) const;
+
256 virtual std::map<int, Transform> loadOptimizedPosesQuery(Transform * lastlocalizationPose = 0) const;
+
257 virtual void save2DMapQuery(const cv::Mat & map, float xMin, float yMin, float cellSize) const;
+
258 virtual cv::Mat load2DMapQuery(float & xMin, float & yMin, float & cellSize) const;
+
259 virtual void saveOptimizedMeshQuery(
+
260 const cv::Mat & cloud,
+
261 const std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > & polygons,
+
262#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
+
263 const std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > & texCoords,
+
264#else
+
265 const std::vector<std::vector<Eigen::Vector2f> > & texCoords,
+
266#endif
+
267 const cv::Mat & textures) const;
+
268 virtual cv::Mat loadOptimizedMeshQuery(
+
269 std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > * polygons,
+
270#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
+
271 std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > * texCoords,
+
272#else
+
273 std::vector<std::vector<Eigen::Vector2f> > * texCoords,
+
274#endif
+
275 cv::Mat * textures) const;
+
276
+
277 virtual void saveFlannIndexQuery(const std::vector<unsigned char> & indexData) const;
+
278
+
279 // Load objects
+
280 virtual void loadQuery(VWDictionary & dictionary, bool lastStateOnly = true, bool idsOnly = false) const;
+
281 virtual void loadLastNodesQuery(std::list<Signature *> & signatures, bool loadWordIdsOnly) const;
+
282 virtual void loadSignaturesQuery(const std::list<int> & ids, std::list<Signature *> & signatures, bool loadWordIdsOnly) const;
+
283 virtual void loadWordsQuery(const std::set<int> & wordIds, std::list<VisualWord *> & vws) const;
+
284 virtual void loadLinksQuery(int signatureId, std::multimap<int, Link> & links, Link::Type type = Link::kUndef) const;
+
285
+
286 virtual void loadNodeDataQuery(std::list<Signature *> & signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const;
+
287 virtual bool getCalibrationQuery(int signatureId, std::vector<CameraModel> & models, std::vector<StereoCameraModel> & stereoModels) const;
+
288 virtual bool getLaserScanInfoQuery(int signatureId, LaserScan & info) const;
+
289 virtual bool getNodeInfoQuery(int signatureId, Transform & pose, int & mapId, int & weight, std::string & label, double & stamp, Transform & groundTruthPose, std::vector<float> & velocity, GPS & gps, EnvSensors & sensors) const;
+
290 virtual void getLocalFeaturesQuery(int signatureId, std::multimap<int, int> & words, std::vector<cv::KeyPoint> & keypoints, std::vector<cv::Point3f> & points, cv::Mat & descriptors) const;
+
291 virtual void getLastNodeIdsQuery(std::set<int> & ids) const;
+
292 virtual void getAllNodeIdsQuery(std::set<int> & ids, bool ignoreChildren, bool ignoreBadSignatures, bool ignoreIntermediateNodes) const;
+
293 virtual void getAllOdomPosesQuery(std::map<int, Transform> & poses, bool ignoreChildren, bool ignoreIntermediateNodes) const;
+
294 virtual void getAllLinksQuery(std::multimap<int, Link> & links, bool ignoreNullLinks, bool withLandmarks) const;
+
295 virtual void getLastIdQuery(const std::string & tableName, int & id, const std::string & fieldName="id") const;
+
296 virtual void getInvertedIndexNiQuery(int signatureId, int & ni) const;
+
297 virtual void getNodesObservingLandmarkQuery(int landmarkId, std::map<int, Link> & nodes) const;
+
298 virtual void getNodeIdByLabelQuery(const std::string & label, int & id) const;
+
299 virtual void getAllLabelsQuery(std::map<int, std::string> & labels) const;
+
300
+
301private:
+
302 std::string queryStepNode() const;
+
303 std::string queryStepImage() const;
+
304 std::string queryStepDepth() const;
+
305 std::string queryStepCalibrationUpdate() const;
+
306 std::string queryStepDepthUpdate() const;
+
307 std::string queryStepScanUpdate() const;
+
308 std::string queryStepSensorData() const;
+
309 std::string queryStepLinkUpdate() const;
+
310 std::string queryStepLink() const;
+
311 std::string queryStepWordsChanged() const;
+
312 std::string queryStepKeypoint() const;
+
313 std::string queryStepGlobalDescriptor() const;
+
314 std::string queryStepOccupancyGridUpdate() const;
+
315 void stepNode(sqlite3_stmt * ppStmt, const Signature * s) const;
+
316 void stepImage(sqlite3_stmt * ppStmt, int id, const cv::Mat & imageBytes) const;
+
317 void stepDepth(sqlite3_stmt * ppStmt, const SensorData & sensorData) const;
+
318 void stepCalibrationUpdate(sqlite3_stmt * ppStmt, int nodeId, const std::vector<CameraModel> & models, const std::vector<StereoCameraModel> & stereoModels) const;
+
319 void stepDepthUpdate(sqlite3_stmt * ppStmt, int nodeId, const cv::Mat & image, const std::string & format) const;
+
320 void stepScanUpdate(sqlite3_stmt * ppStmt, int nodeId, const LaserScan & image) const;
+
321 void stepSensorData(sqlite3_stmt * ppStmt, const SensorData & sensorData) const;
+
322 void stepLink(sqlite3_stmt * ppStmt, const Link & link) const;
+
323 void stepWordsChanged(sqlite3_stmt * ppStmt, int signatureId, int oldWordId, int newWordId) const;
+
324 void stepKeypoint(sqlite3_stmt * ppStmt, int nodeID, int wordId, const cv::KeyPoint & kp, const cv::Point3f & pt, const cv::Mat & descriptor) const;
+
325 void stepGlobalDescriptor(sqlite3_stmt * ppStmt, int nodeId, const GlobalDescriptor & descriptor) const;
+
326 void stepOccupancyGridUpdate(sqlite3_stmt * ppStmt,
+
327 int nodeId,
+
328 const cv::Mat & ground,
+
329 const cv::Mat & obstacles,
+
330 const cv::Mat & empty,
+
331 float cellSize,
+
332 const cv::Point3f & viewpoint) const;
+
333
+
334private:
+
335 void loadWordsQuery(std::list<Signature *> & signatures) const;
+
336 void loadWordIdsQuery(std::list<Signature *> & signatures) const;
+
337 void loadLinksQuery(std::list<Signature *> & signatures) const;
+
338 int loadOrSaveDb(sqlite3 *pInMemory, const std::string & fileName, int isSave) const;
+
339
+
340protected:
+
341 sqlite3 * _ppDb;
+
342 std::string _version;
+
343
+
344private:
+
345 unsigned long _memoryUsedEstimate;
+
346 bool _dbInMemory;
+
347 unsigned int _cacheSize;
+
348 int _journalMode;
+
349 int _synchronous;
+
350 int _tempStore;
+
351};
-
318
-
319}
-
320
-
321#endif /* DBDRIVERSQLITE3_H_ */
+
352
+
353}
+
354
+
355#endif /* DBDRIVERSQLITE3_H_ */
SQLite3 implementation of DBDriver for RTAB-Map map databases.
void setDbInMemory(bool dbInMemory)
Enable or disable in-memory mode. If connected, the connection is closed and reopened with the new mo...
-
sqlite3 * _ppDb
Open SQLite connection (null when disconnected)
-
std::string _version
Schema version read from the database.
+
sqlite3 * _ppDb
Open SQLite connection (null when disconnected)
+
std::string _version
Schema version read from the database.
void setSynchronous(int synchronous)
Set how aggressively SQLite syncs the database file to disk (PRAGMA synchronous).
DBDriverSqlite3(const ParametersMap &parameters=ParametersMap())
Construct driver with optional SQLite-specific parameters.
void setTempStore(int tempStore)
Set where SQLite stores temporary tables and indices (PRAGMA temp_store).
@@ -353,6 +376,7 @@ $(document).ready(function(){initNavTree('DBDriverSqlite3_8h_source.html',''); i
Collects and manages runtime statistics for RTAB-Map.
Definition Statistics.h:108
Represents a 3D rigid body transformation (rotation + translation).
Definition Transform.h:53
Manages a dictionary of visual words for visual place recognition and loop closure detection.
+
Represents a visual word (feature descriptor) used in the bag-of-words (BoW) model.
Definition VisualWord.h:50
Definition BayesFilter.h:42
std::map< EnvSensor::Type, EnvSensor > EnvSensors
Map of environmental readings keyed by EnvSensor::Type (at most one per type).
Definition EnvSensor.h:114
std::map< std::string, std::string > ParametersMap
Parameter keys mapped to their values, as used by every configurable class (see Parameters).
Definition Parameters.h:44
diff --git a/api/latest/DBDriver_8h_source.html b/api/latest/DBDriver_8h_source.html index a5736641..3295c93c 100644 --- a/api/latest/DBDriver_8h_source.html +++ b/api/latest/DBDriver_8h_source.html @@ -285,140 +285,143 @@ $(document).ready(function(){initNavTree('DBDriver_8h_source.html',''); initResi
325protected:
329 DBDriver(const ParametersMap & parameters = ParametersMap());
330
-
335 virtual bool connectDatabaseQuery(const std::string & url, bool overwritten = false, bool readOnly = false) = 0;
-
336 virtual void disconnectDatabaseQuery(bool save = true, const std::string & outputUrl = "") = 0;
-
337 virtual bool isConnectedQuery() const = 0;
-
338 virtual unsigned long getMemoryUsedQuery() const = 0; // In bytes
-
339 virtual bool getDatabaseVersionQuery(std::string & version) const = 0;
-
340 virtual long getNodesMemoryUsedQuery() const = 0;
-
341 virtual long getLinksMemoryUsedQuery() const = 0;
-
342 virtual long getImagesMemoryUsedQuery() const = 0;
-
343 virtual long getDepthImagesMemoryUsedQuery() const = 0;
-
344 virtual long getCalibrationsMemoryUsedQuery() const = 0;
-
345 virtual long getGridsMemoryUsedQuery() const = 0;
-
346 virtual long getLaserScansMemoryUsedQuery() const = 0;
-
347 virtual long getUserDataMemoryUsedQuery() const = 0;
-
348 virtual long getWordsMemoryUsedQuery() const = 0;
-
349 virtual long getFeaturesMemoryUsedQuery() const = 0;
-
350 virtual long getStatisticsMemoryUsedQuery() const = 0;
-
351 virtual int getLastNodesSizeQuery() const = 0;
-
352 virtual int getLastDictionarySizeQuery() const = 0;
-
353 virtual int getTotalNodesSizeQuery() const = 0;
-
354 virtual int getTotalDictionarySizeQuery() const = 0;
-
355 virtual ParametersMap getLastParametersQuery() const = 0;
-
356 virtual std::map<std::string, float> getStatisticsQuery(int nodeId, double & stamp, std::vector<int> * wmState) const = 0;
-
357 virtual std::map<int, std::pair<std::map<std::string, float>, double> > getAllStatisticsQuery() const = 0;
-
358 virtual std::map<int, std::vector<int> > getAllStatisticsWmStatesQuery() const = 0;
-
359
-
360 virtual void executeNoResultQuery(const std::string & sql) const = 0;
-
361
-
362 virtual void getWeightQuery(int signatureId, int & weight) const = 0;
-
363
-
364 virtual void saveQuery(const std::list<Signature *> & signatures) = 0;
-
365 virtual void saveQuery(const std::list<VisualWord *> & words) const = 0;
-
366 virtual void updateQuery(const std::list<Signature *> & signatures, bool updateTimestamp) const = 0;
-
367 virtual void updateQuery(const std::list<VisualWord *> & words, bool updateTimestamp) const = 0;
-
368
-
369 virtual void addLinkQuery(const Link & link) const = 0;
-
370 virtual void updateLinkQuery(const Link & link) const = 0;
-
371
-
372 virtual void updateOccupancyGridQuery(
-
373 int nodeId,
-
374 const cv::Mat & ground,
-
375 const cv::Mat & obstacles,
-
376 const cv::Mat & empty,
-
377 float cellSize,
-
378 const cv::Point3f & viewpoint) const = 0;
-
379
-
380 virtual void updateCalibrationQuery(
-
381 int nodeId,
-
382 const std::vector<CameraModel> & models,
-
383 const std::vector<StereoCameraModel> & stereoModels) const = 0;
-
384
-
385 virtual void updateDepthImageQuery(
-
386 int nodeId,
-
387 const cv::Mat & image,
-
388 const std::string & format) const = 0;
-
389
-
390 virtual void updateLaserScanQuery(
-
391 int nodeId,
-
392 const LaserScan & scan) const = 0;
-
393
-
394 virtual void addStatisticsQuery(const Statistics & statistics, bool saveWmState) const = 0;
-
395 virtual void savePreviewImageQuery(const cv::Mat & image) const = 0;
-
396 virtual cv::Mat loadPreviewImageQuery() const = 0;
-
397 virtual void saveOptimizedPosesQuery(const std::map<int, Transform> & optimizedPoses, const Transform & lastlocalizationPose) const = 0;
-
398 virtual std::map<int, Transform> loadOptimizedPosesQuery(Transform * lastlocalizationPose = 0) const = 0;
-
399 virtual void save2DMapQuery(const cv::Mat & map, float xMin, float yMin, float cellSize) const = 0;
-
400 virtual cv::Mat load2DMapQuery(float & xMin, float & yMin, float & cellSize) const = 0;
-
401 virtual void saveOptimizedMeshQuery(
-
402 const cv::Mat & cloud,
-
403 const std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > & polygons,
-
404#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
-
405 const std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > & texCoords,
-
406#else
-
407 const std::vector<std::vector<Eigen::Vector2f> > & texCoords,
-
408#endif
-
409 const cv::Mat & textures) const = 0;
-
410 virtual cv::Mat loadOptimizedMeshQuery(
-
411 std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > * polygons,
-
412#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
-
413 std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > * texCoords,
-
414#else
-
415 std::vector<std::vector<Eigen::Vector2f> > * texCoords,
-
416#endif
-
417 cv::Mat * textures) const = 0;
-
418 virtual void saveFlannIndexQuery(const std::vector<unsigned char> & indexData) const = 0;
-
419
-
420 // Load objects
-
421 virtual void loadQuery(VWDictionary & dictionary, bool lastStateOnly = true, bool idsOnly = false) const = 0;
-
422 virtual void loadLastNodesQuery(std::list<Signature *> & signatures, bool loadWordIdsOnly) const = 0;
-
423 virtual void loadSignaturesQuery(const std::list<int> & ids, std::list<Signature *> & signatures, bool loadWordIdsOnly) const = 0;
-
424 virtual void loadWordsQuery(const std::set<int> & wordIds, std::list<VisualWord *> & vws) const = 0;
-
425 virtual void loadLinksQuery(int signatureId, std::multimap<int, Link> & links, Link::Type type = Link::kUndef) const = 0;
-
426
-
427 virtual void loadNodeDataQuery(std::list<Signature *> & signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const = 0;
-
428 virtual bool getCalibrationQuery(int signatureId, std::vector<CameraModel> & models, std::vector<StereoCameraModel> & stereoModels) const = 0;
-
429 virtual bool getLaserScanInfoQuery(int signatureId, LaserScan & info) const = 0;
-
430 virtual bool getNodeInfoQuery(int signatureId, Transform & pose, int & mapId, int & weight, std::string & label, double & stamp, Transform & groundTruthPose, std::vector<float> & velocity, GPS & gps, EnvSensors & sensors) const = 0;
-
431 virtual void getLocalFeaturesQuery(int signatureId, std::multimap<int, int> & words, std::vector<cv::KeyPoint> & keypoints, std::vector<cv::Point3f> & points, cv::Mat & descriptors) const = 0;
-
432 virtual void getLastNodeIdsQuery(std::set<int> & ids) const = 0;
-
433 virtual void getAllNodeIdsQuery(std::set<int> & ids, bool ignoreChildren, bool ignoreBadSignatures, bool ignoreIntermediateNodes) const = 0;
-
434 virtual void getAllOdomPosesQuery(std::map<int, Transform> & poses, bool ignoreChildren, bool ignoreIntermediateNodes) const = 0;
-
435 virtual void getAllLinksQuery(std::multimap<int, Link> & links, bool ignoreNullLinks, bool withLandmarks) const = 0;
-
436 virtual void getLastIdQuery(const std::string & tableName, int & id, const std::string & fieldName="id") const = 0;
-
437 virtual void getInvertedIndexNiQuery(int signatureId, int & ni) const = 0;
-
438 virtual void getNodesObservingLandmarkQuery(int landmarkId, std::map<int, Link> & nodes) const = 0;
-
439 virtual void getNodeIdByLabelQuery(const std::string & label, int & id) const = 0;
-
440 virtual void getAllLabelsQuery(std::map<int, std::string> & labels) const = 0;
-
443private:
-
445 void beginTransaction() const;
-
447 void commit() const;
-
448
-
449 //non-abstract methods
-
450 void saveOrUpdate(const std::vector<Signature *> & signatures);
-
451 void saveOrUpdate(const std::vector<VisualWord *> & words) const;
-
452
-
453 //thread stuff
-
454 virtual void mainLoop();
-
455
-
456private:
-
457 UMutex _transactionMutex;
-
458 std::map<int, Signature *> _trashSignatures;//<id, Signature*>
-
459 std::map<int, VisualWord *> _trashVisualWords; //<id, VisualWord*>
-
460 UMutex _trashesMutex;
-
461 UMutex _dbSafeAccessMutex;
-
462 USemaphore _addSem;
-
463 double _emptyTrashesTime;
-
464 std::string _url;
-
465 std::string _targetVersion;
-
466 bool _timestampUpdate;
-
467};
+
341 virtual bool connectDatabaseQuery(const std::string & url, bool overwritten = false, bool readOnly = false) = 0;
+
342 virtual void disconnectDatabaseQuery(bool save = true, const std::string & outputUrl = "") = 0;
+
343 virtual bool isConnectedQuery() const = 0;
+
344 virtual unsigned long getMemoryUsedQuery() const = 0; // In bytes
+
345 virtual bool getDatabaseVersionQuery(std::string & version) const = 0;
+
346 virtual long getNodesMemoryUsedQuery() const = 0;
+
347 virtual long getLinksMemoryUsedQuery() const = 0;
+
348 virtual long getImagesMemoryUsedQuery() const = 0;
+
349 virtual long getDepthImagesMemoryUsedQuery() const = 0;
+
350 virtual long getCalibrationsMemoryUsedQuery() const = 0;
+
351 virtual long getGridsMemoryUsedQuery() const = 0;
+
352 virtual long getLaserScansMemoryUsedQuery() const = 0;
+
353 virtual long getUserDataMemoryUsedQuery() const = 0;
+
354 virtual long getWordsMemoryUsedQuery() const = 0;
+
355 virtual long getFeaturesMemoryUsedQuery() const = 0;
+
356 virtual long getStatisticsMemoryUsedQuery() const = 0;
+
357 virtual int getLastNodesSizeQuery() const = 0;
+
358 virtual int getLastDictionarySizeQuery() const = 0;
+
359 virtual int getTotalNodesSizeQuery() const = 0;
+
360 virtual int getTotalDictionarySizeQuery() const = 0;
+
361 virtual ParametersMap getLastParametersQuery() const = 0;
+
362 virtual std::map<std::string, float> getStatisticsQuery(int nodeId, double & stamp, std::vector<int> * wmState) const = 0;
+
363 virtual std::map<int, std::pair<std::map<std::string, float>, double> > getAllStatisticsQuery() const = 0;
+
364 virtual std::map<int, std::vector<int> > getAllStatisticsWmStatesQuery() const = 0;
+
365
+
366 virtual void executeNoResultQuery(const std::string & sql) const = 0;
+
367
+
368 virtual void getWeightQuery(int signatureId, int & weight) const = 0;
+
369
+
370 virtual void saveQuery(const std::list<Signature *> & signatures) = 0;
+
371 virtual void saveQuery(const std::list<VisualWord *> & words) const = 0;
+
372 virtual void updateQuery(const std::list<Signature *> & signatures, bool updateTimestamp) const = 0;
+
373 virtual void updateQuery(const std::list<VisualWord *> & words, bool updateTimestamp) const = 0;
+
374
+
375 virtual void addLinkQuery(const Link & link) const = 0;
+
376 virtual void updateLinkQuery(const Link & link) const = 0;
+
377
+
378 virtual void updateOccupancyGridQuery(
+
379 int nodeId,
+
380 const cv::Mat & ground,
+
381 const cv::Mat & obstacles,
+
382 const cv::Mat & empty,
+
383 float cellSize,
+
384 const cv::Point3f & viewpoint) const = 0;
+
385
+
386 virtual void updateCalibrationQuery(
+
387 int nodeId,
+
388 const std::vector<CameraModel> & models,
+
389 const std::vector<StereoCameraModel> & stereoModels) const = 0;
+
390
+
391 virtual void updateDepthImageQuery(
+
392 int nodeId,
+
393 const cv::Mat & image,
+
394 const std::string & format) const = 0;
+
395
+
396 virtual void updateLaserScanQuery(
+
397 int nodeId,
+
398 const LaserScan & scan) const = 0;
+
399
+
400 virtual void addStatisticsQuery(const Statistics & statistics, bool saveWmState) const = 0;
+
401 virtual void savePreviewImageQuery(const cv::Mat & image) const = 0;
+
402 virtual cv::Mat loadPreviewImageQuery() const = 0;
+
403 virtual void saveOptimizedPosesQuery(const std::map<int, Transform> & optimizedPoses, const Transform & lastlocalizationPose) const = 0;
+
404 virtual std::map<int, Transform> loadOptimizedPosesQuery(Transform * lastlocalizationPose = 0) const = 0;
+
405 virtual void save2DMapQuery(const cv::Mat & map, float xMin, float yMin, float cellSize) const = 0;
+
406 virtual cv::Mat load2DMapQuery(float & xMin, float & yMin, float & cellSize) const = 0;
+
407 virtual void saveOptimizedMeshQuery(
+
408 const cv::Mat & cloud,
+
409 const std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > & polygons,
+
410#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
+
411 const std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > & texCoords,
+
412#else
+
413 const std::vector<std::vector<Eigen::Vector2f> > & texCoords,
+
414#endif
+
415 const cv::Mat & textures) const = 0;
+
416 virtual cv::Mat loadOptimizedMeshQuery(
+
417 std::vector<std::vector<std::vector<RTABMAP_PCL_INDEX> > > * polygons,
+
418#if PCL_VERSION_COMPARE(>=, 1, 8, 0)
+
419 std::vector<std::vector<Eigen::Vector2f, Eigen::aligned_allocator<Eigen::Vector2f> > > * texCoords,
+
420#else
+
421 std::vector<std::vector<Eigen::Vector2f> > * texCoords,
+
422#endif
+
423 cv::Mat * textures) const = 0;
+
424 virtual void saveFlannIndexQuery(const std::vector<unsigned char> & indexData) const = 0;
+
425
+
426 // Load objects
+
427 virtual void loadQuery(VWDictionary & dictionary, bool lastStateOnly = true, bool idsOnly = false) const = 0;
+
428 virtual void loadLastNodesQuery(std::list<Signature *> & signatures, bool loadWordIdsOnly) const = 0;
+
429 virtual void loadSignaturesQuery(const std::list<int> & ids, std::list<Signature *> & signatures, bool loadWordIdsOnly) const = 0;
+
430 virtual void loadWordsQuery(const std::set<int> & wordIds, std::list<VisualWord *> & vws) const = 0;
+
431 virtual void loadLinksQuery(int signatureId, std::multimap<int, Link> & links, Link::Type type = Link::kUndef) const = 0;
+
432
+
433 virtual void loadNodeDataQuery(std::list<Signature *> & signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const = 0;
+
434 virtual bool getCalibrationQuery(int signatureId, std::vector<CameraModel> & models, std::vector<StereoCameraModel> & stereoModels) const = 0;
+
435 virtual bool getLaserScanInfoQuery(int signatureId, LaserScan & info) const = 0;
+
436 virtual bool getNodeInfoQuery(int signatureId, Transform & pose, int & mapId, int & weight, std::string & label, double & stamp, Transform & groundTruthPose, std::vector<float> & velocity, GPS & gps, EnvSensors & sensors) const = 0;
+
437 virtual void getLocalFeaturesQuery(int signatureId, std::multimap<int, int> & words, std::vector<cv::KeyPoint> & keypoints, std::vector<cv::Point3f> & points, cv::Mat & descriptors) const = 0;
+
438 virtual void getLastNodeIdsQuery(std::set<int> & ids) const = 0;
+
439 virtual void getAllNodeIdsQuery(std::set<int> & ids, bool ignoreChildren, bool ignoreBadSignatures, bool ignoreIntermediateNodes) const = 0;
+
440 virtual void getAllOdomPosesQuery(std::map<int, Transform> & poses, bool ignoreChildren, bool ignoreIntermediateNodes) const = 0;
+
441 virtual void getAllLinksQuery(std::multimap<int, Link> & links, bool ignoreNullLinks, bool withLandmarks) const = 0;
+
442 virtual void getLastIdQuery(const std::string & tableName, int & id, const std::string & fieldName="id") const = 0;
+
443 virtual void getInvertedIndexNiQuery(int signatureId, int & ni) const = 0;
+
444 virtual void getNodesObservingLandmarkQuery(int landmarkId, std::map<int, Link> & nodes) const = 0;
+
445 virtual void getNodeIdByLabelQuery(const std::string & label, int & id) const = 0;
+
446 virtual void getAllLabelsQuery(std::map<int, std::string> & labels) const = 0;
+
449private:
+
451 void beginTransaction() const;
+
453 void commit() const;
+
454
+
455 //non-abstract methods
+
456 void saveOrUpdate(const std::vector<Signature *> & signatures);
+
457 void saveOrUpdate(const std::vector<VisualWord *> & words) const;
+
458
+
459 //thread stuff
+
460 virtual void mainLoop();
+
461
+
462private:
+
463 UMutex _transactionMutex;
+
464 std::map<int, Signature *> _trashSignatures;//<id, Signature*>
+
465 std::map<int, VisualWord *> _trashVisualWords; //<id, VisualWord*>
+
466 // Lock order: _trashesMutex -> _dbSafeAccessMutex -> _transactionMutex.
+
467 // emptyTrashes() locks _dbSafeAccessMutex before releasing _trashesMutex, so that
+
468 // an item not found in the trash is guaranteed to be readable from the database.
+
469 UMutex _trashesMutex;
+
470 UMutex _dbSafeAccessMutex;
+
471 USemaphore _addSem;
+
472 double _emptyTrashesTime;
+
473 std::string _url;
+
474 std::string _targetVersion;
+
475 bool _timestampUpdate;
+
476};
-
468
-
469}
-
470
-
471#endif /* DBDRIVER_H_ */
+
477
+
478}
+
479
+
480#endif /* DBDRIVER_H_ */
Backward-compatible alias header for UThread.
Definition UMutex.h:55
Definition USemaphore.h:56
diff --git a/api/latest/classrtabmap_1_1DBDriver.html b/api/latest/classrtabmap_1_1DBDriver.html index c4be4aa5..764758cd 100644 --- a/api/latest/classrtabmap_1_1DBDriver.html +++ b/api/latest/classrtabmap_1_1DBDriver.html @@ -464,7 +464,8 @@ Protected Member Functions  Protected constructor for subclasses.
 
Backend implementation (subclass responsibility)
-

Pure virtual SQL/backend hooks invoked by public wrappers above.

+

Pure virtual SQL/backend hooks invoked by public wrappers above.

+

These are called with _dbSafeAccessMutex locked. Implementations must not call public methods that look in the trash (they lock _trashesMutex), as it would invert the lock order used by emptyTrashes() and could deadlock. Call the corresponding *Query() method directly instead (e.g., getLastIdQuery("Word", id) instead of getLastWordId(id)).

virtual bool connectDatabaseQuery (const std::string &url, bool overwritten=false, bool readOnly=false)=0 diff --git a/api/latest/classrtabmap_1_1DBDriverSqlite3-members.html b/api/latest/classrtabmap_1_1DBDriverSqlite3-members.html index 4ced5acb..6863acfe 100644 --- a/api/latest/classrtabmap_1_1DBDriverSqlite3-members.html +++ b/api/latest/classrtabmap_1_1DBDriverSqlite3-members.html @@ -111,13 +111,13 @@ $(document).ready(function(){initNavTree('classrtabmap_1_1DBDriverSqlite3.html', addLinkQuery(const Link &link) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual addStatistics(const Statistics &statistics, bool saveWmState) constrtabmap::DBDriver addStatisticsQuery(const Statistics &statistics, bool saveWmState) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - asyncSave(Signature *s)rtabmap::DBDriver - asyncSave(VisualWord *vw)rtabmap::DBDriver + asyncSave(Signature *s)=delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected + asyncSave(VisualWord *vw)=delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected closeConnection(bool save=true, const std::string &outputUrl="")rtabmap::DBDriver connectDatabaseQuery(const std::string &url, bool overwritten=false, bool readOnly=false) (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual + Create(const Handler &Function, Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) (defined in UThreadC< void >)UThreadC< void >inlinestatic + Create(unsigned long &ThreadId, Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) const (defined in UThreadC< void >)UThreadC< void >inline create(const ParametersMap &parameters=ParametersMap())rtabmap::DBDriverstatic - Create(const Handler &Function, Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) (defined in UThreadC< void >)UThreadC< void >inlinestatic - Create(unsigned long &ThreadId, Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) const (defined in UThreadC< void >)UThreadC< void >inline currentThreadId() (defined in UThread)UThreadinlinestatic DBDriver(const ParametersMap &parameters=ParametersMap())rtabmap::DBDriverprotected DBDriverSqlite3(const ParametersMap &parameters=ParametersMap())rtabmap::DBDriverSqlite3 @@ -129,19 +129,19 @@ $(document).ready(function(){initNavTree('classrtabmap_1_1DBDriverSqlite3.html', Exit() (defined in UThreadC< void >)UThreadC< void >inlineprotectedstatic Exit() (defined in UThreadC< void >)UThreadC< void >inlineprotectedstatic generateGraph(const std::string &fileName, const std::set< int > &ids=std::set< int >(), const std::map< int, Signature * > &otherSignatures=std::map< int, Signature * >())rtabmap::DBDriver - getAllLabels(std::map< int, std::string > &labels) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getAllLabels(std::map< int, std::string > &labels) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getAllLabelsQuery(std::map< int, std::string > &labels) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getAllLinks(std::multimap< int, Link > &links, bool ignoreNullLinks=true, bool withLandmarks=false) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getAllLinks(std::multimap< int, Link > &links, bool ignoreNullLinks=true, bool withLandmarks=false) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getAllLinksQuery(std::multimap< int, Link > &links, bool ignoreNullLinks, bool withLandmarks) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getAllNodeIds(std::set< int > &ids, bool ignoreChildren=false, bool ignoreBadSignatures=false, bool ignoreIntermediateNodes=false) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getAllNodeIds(std::set< int > &ids, bool ignoreChildren=false, bool ignoreBadSignatures=false, bool ignoreIntermediateNodes=false) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getAllNodeIdsQuery(std::set< int > &ids, bool ignoreChildren, bool ignoreBadSignatures, bool ignoreIntermediateNodes) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getAllOdomPoses(std::map< int, Transform > &poses, bool ignoreChildren=false, bool ignoreIntermediateNodes=false) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getAllOdomPoses(std::map< int, Transform > &poses, bool ignoreChildren=false, bool ignoreIntermediateNodes=false) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getAllOdomPosesQuery(std::map< int, Transform > &poses, bool ignoreChildren, bool ignoreIntermediateNodes) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getAllStatistics() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getAllStatisticsQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getAllStatisticsWmStates() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getAllStatisticsWmStatesQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getCalibration(int signatureId, std::vector< CameraModel > &models, std::vector< StereoCameraModel > &stereoModels) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getCalibration(int signatureId, std::vector< CameraModel > &models, std::vector< StereoCameraModel > &stereoModels) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getCalibrationQuery(int signatureId, std::vector< CameraModel > &models, std::vector< StereoCameraModel > &stereoModels) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getCalibrationsMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getCalibrationsMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual @@ -156,38 +156,38 @@ $(document).ready(function(){initNavTree('classrtabmap_1_1DBDriverSqlite3.html', getGridsMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getImagesMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getImagesMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getInvertedIndexNi(int signatureId, int &ni) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getInvertedIndexNi(int signatureId, int &ni) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getInvertedIndexNiQuery(int signatureId, int &ni) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getLaserScanInfo(int signatureId, LaserScan &info) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getLaserScanInfo(int signatureId, LaserScan &info) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getLaserScanInfoQuery(int signatureId, LaserScan &info) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getLaserScansMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getLaserScansMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getLastDictionarySize() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getLastDictionarySizeQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getLastIdQuery(const std::string &tableName, int &id, const std::string &fieldName="id") const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getLastMapId(int &mapId) const (defined in rtabmap::DBDriver)rtabmap::DBDriver - getLastNodeId(int &id) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getLastMapId(int &mapId) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected + getLastNodeId(int &id) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getLastNodeIds(std::set< int > &ids) const (defined in rtabmap::DBDriver)rtabmap::DBDriver getLastNodeIdsQuery(std::set< int > &ids) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getLastNodesSize() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getLastNodesSizeQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getLastParameters() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getLastParametersQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getLastWordId(int &id) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getLastWordId(int &id) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getLinksMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getLinksMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getLocalFeatures(int signatureId, std::multimap< int, int > &words, std::vector< cv::KeyPoint > &keypoints, std::vector< cv::Point3f > &points, cv::Mat &descriptors) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getLocalFeatures(int signatureId, std::multimap< int, int > &words, std::vector< cv::KeyPoint > &keypoints, std::vector< cv::Point3f > &points, cv::Mat &descriptors) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getLocalFeaturesQuery(int signatureId, std::multimap< int, int > &words, std::vector< cv::KeyPoint > &keypoints, std::vector< cv::Point3f > &points, cv::Mat &descriptors) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getNodeData(int signatureId, SensorData &data, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const (defined in rtabmap::DBDriver)rtabmap::DBDriver - getNodeIdByLabel(const std::string &label, int &id) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getNodeData(int signatureId, SensorData &data, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected + getNodeIdByLabel(const std::string &label, int &id) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getNodeIdByLabelQuery(const std::string &label, int &id) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getNodeInfo(int signatureId, Transform &pose, int &mapId, int &weight, std::string &label, double &stamp, Transform &groundTruthPose, std::vector< float > &velocity, GPS &gps, EnvSensors &sensors) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getNodeInfo(int signatureId, Transform &pose, int &mapId, int &weight, std::string &label, double &stamp, Transform &groundTruthPose, std::vector< float > &velocity, GPS &gps, EnvSensors &sensors) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getNodeInfoQuery(int signatureId, Transform &pose, int &mapId, int &weight, std::string &label, double &stamp, Transform &groundTruthPose, std::vector< float > &velocity, GPS &gps, EnvSensors &sensors) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getNodesMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getNodesMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getNodesObservingLandmark(int landmarkId, std::map< int, Link > &nodes) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getNodesObservingLandmark(int landmarkId, std::map< int, Link > &nodes) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getNodesObservingLandmarkQuery(int landmarkId, std::map< int, Link > &nodes) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getStatistics(int nodeId, double &stamp, std::vector< int > *wmState=0) const (defined in rtabmap::DBDriver)rtabmap::DBDriver getStatisticsMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver @@ -203,7 +203,7 @@ $(document).ready(function(){initNavTree('classrtabmap_1_1DBDriverSqlite3.html', getUrl() constrtabmap::DBDriverinline getUserDataMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getUserDataMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - getWeight(int signatureId, int &weight) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + getWeight(int signatureId, int &weight) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected getWeightQuery(int signatureId, int &weight) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual getWordsMemoryUsed() const (defined in rtabmap::DBDriver)rtabmap::DBDriver getWordsMemoryUsedQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual @@ -218,10 +218,10 @@ $(document).ready(function(){initNavTree('classrtabmap_1_1DBDriverSqlite3.html', isInMemory() constrtabmap::DBDriverSqlite3inlinevirtual isKilled() constUThread isRunning() constUThread - join(bool killFirst=false)UThread - Join(const Handle &H) (defined in UThreadC< void >)UThreadC< void >inlinestatic - kill()UThread - Kill(const Handle &H) (defined in UThreadC< void >)UThreadC< void >inlinestatic + Join(const Handle &H) (defined in UThreadC< void >)UThreadC< void >inlinestatic + join(bool killFirst=false)UThread + Kill(const Handle &H) (defined in UThreadC< void >)UThreadC< void >inlinestatic + kill()UThread kPAboveNormal enum value (defined in UThread)UThread kPBelowNormal enum value (defined in UThread)UThread kPLow enum value (defined in UThread)UThread @@ -232,10 +232,10 @@ $(document).ready(function(){initNavTree('classrtabmap_1_1DBDriverSqlite3.html', load2DMapQuery(float &xMin, float &yMin, float &cellSize) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual loadLastNodes(std::list< Signature * > &signatures, bool loadWordIdsOnly=false) const (defined in rtabmap::DBDriver)rtabmap::DBDriver loadLastNodesQuery(std::list< Signature * > &signatures, bool loadWordIdsOnly) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - loadLinks(int signatureId, std::multimap< int, Link > &links, Link::Type type=Link::kUndef) constrtabmap::DBDriver + loadLinks(int signatureId, std::multimap< int, Link > &links, Link::Type type=Link::kUndef) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected loadLinksQuery(int signatureId, std::multimap< int, Link > &links, Link::Type type=Link::kUndef) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - loadNodeData(Signature &signature, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const (defined in rtabmap::DBDriver)rtabmap::DBDriver - loadNodeData(std::list< Signature * > &signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const (defined in rtabmap::DBDriver)rtabmap::DBDriver + loadNodeData(Signature &signature, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected + loadNodeData(std::list< Signature * > &signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const =delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected loadNodeDataQuery(std::list< Signature * > &signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual loadOptimizedMesh(std::vector< std::vector< std::vector< RTABMAP_PCL_INDEX > > > *polygons=0, std::vector< std::vector< Eigen::Vector2f > > *texCoords=0, cv::Mat *textures=0) const (defined in rtabmap::DBDriver)rtabmap::DBDriver loadOptimizedMeshQuery(std::vector< std::vector< std::vector< RTABMAP_PCL_INDEX > > > *polygons, std::vector< std::vector< Eigen::Vector2f > > *texCoords, cv::Mat *textures) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual @@ -245,9 +245,9 @@ $(document).ready(function(){initNavTree('classrtabmap_1_1DBDriverSqlite3.html', loadPreviewImageQuery() const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual loadQuery(VWDictionary &dictionary, bool lastStateOnly=true, bool idsOnly=false) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual loadSignature(int id, bool *loadedFromTrash=0)rtabmap::DBDriver - loadSignatures(const std::list< int > &ids, std::list< Signature * > &signatures, std::set< int > *loadedFromTrash=0, bool loadWordIdsOnly=false) (defined in rtabmap::DBDriver)rtabmap::DBDriver + loadSignatures(const std::list< int > &ids, std::list< Signature * > &signatures, std::set< int > *loadedFromTrash=0, bool loadWordIdsOnly=false)=delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected loadSignaturesQuery(const std::list< int > &ids, std::list< Signature * > &signatures, bool loadWordIdsOnly) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual - loadWords(const std::set< int > &wordIds, std::list< VisualWord * > &vws) (defined in rtabmap::DBDriver)rtabmap::DBDriver + loadWords(const std::set< int > &wordIds, std::list< VisualWord * > &vws)=delete (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protected loadWordsQuery(const std::set< int > &wordIds, std::list< VisualWord * > &vws) const (defined in rtabmap::DBDriverSqlite3)rtabmap::DBDriverSqlite3protectedvirtual openConnection(const std::string &url, bool overwritten=false, bool readOnly=false)rtabmap::DBDriver parseParameters(const ParametersMap &parameters)rtabmap::DBDriverSqlite3virtual diff --git a/api/latest/classrtabmap_1_1DBDriverSqlite3.html b/api/latest/classrtabmap_1_1DBDriverSqlite3.html index cd6595b2..69a25238 100644 --- a/api/latest/classrtabmap_1_1DBDriverSqlite3.html +++ b/api/latest/classrtabmap_1_1DBDriverSqlite3.html @@ -573,6 +573,79 @@ Protected Member Functions   virtual void getAllLabelsQuery (std::map< int, std::string > &labels) const   +
Trash-checking DBDriver methods, hidden on purpose
+

These public DBDriver methods lock the trash mutex. They are hidden here so that *Query() implementations, which are called with the database mutex already locked, cannot call them by mistake (it would invert the lock order with DBDriver::emptyTrashes() and could deadlock). Call the corresponding *Query() method instead.

+

To call them from outside, use a DBDriver pointer or reference (e.g., DBDriver::create()).

+
+ +void asyncSave (Signature *s)=delete +  + +void asyncSave (VisualWord *vw)=delete +  + +void loadSignatures (const std::list< int > &ids, std::list< Signature * > &signatures, std::set< int > *loadedFromTrash=0, bool loadWordIdsOnly=false)=delete +  + +void loadWords (const std::set< int > &wordIds, std::list< VisualWord * > &vws)=delete +  + +void loadNodeData (Signature &signature, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const =delete +  + +void loadNodeData (std::list< Signature * > &signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const =delete +  + +void getNodeData (int signatureId, SensorData &data, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const =delete +  + +bool getCalibration (int signatureId, std::vector< CameraModel > &models, std::vector< StereoCameraModel > &stereoModels) const =delete +  + +bool getLaserScanInfo (int signatureId, LaserScan &info) const =delete +  + +bool getNodeInfo (int signatureId, Transform &pose, int &mapId, int &weight, std::string &label, double &stamp, Transform &groundTruthPose, std::vector< float > &velocity, GPS &gps, EnvSensors &sensors) const =delete +  + +void getLocalFeatures (int signatureId, std::multimap< int, int > &words, std::vector< cv::KeyPoint > &keypoints, std::vector< cv::Point3f > &points, cv::Mat &descriptors) const =delete +  + +void loadLinks (int signatureId, std::multimap< int, Link > &links, Link::Type type=Link::kUndef) const =delete +  + +void getWeight (int signatureId, int &weight) const =delete +  + +void getAllNodeIds (std::set< int > &ids, bool ignoreChildren=false, bool ignoreBadSignatures=false, bool ignoreIntermediateNodes=false) const =delete +  + +void getAllOdomPoses (std::map< int, Transform > &poses, bool ignoreChildren=false, bool ignoreIntermediateNodes=false) const =delete +  + +void getAllLinks (std::multimap< int, Link > &links, bool ignoreNullLinks=true, bool withLandmarks=false) const =delete +  + +void getLastNodeId (int &id) const =delete +  + +void getLastMapId (int &mapId) const =delete +  + +void getLastWordId (int &id) const =delete +  + +void getInvertedIndexNi (int signatureId, int &ni) const =delete +  + +void getNodesObservingLandmark (int landmarkId, std::map< int, Link > &nodes) const =delete +  + +void getNodeIdByLabel (const std::string &label, int &id) const =delete +  + +void getAllLabels (std::map< int, std::string > &labels) const =delete +  - Protected Member Functions inherited from rtabmap::DBDriver  DBDriver (const ParametersMap &parameters=ParametersMap()) @@ -3256,7 +3329,7 @@ Additional Inherited Members

Open SQLite connection (null when disconnected)

-

Definition at line 307 of file DBDriverSqlite3.h.

+

Definition at line 341 of file DBDriverSqlite3.h.

@@ -3282,7 +3355,7 @@ Additional Inherited Members

Schema version read from the database.

-

Definition at line 308 of file DBDriverSqlite3.h.

+

Definition at line 342 of file DBDriverSqlite3.h.

diff --git a/index.html b/index.html index 2b9e0f53..e9968f3c 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ - + RTAB-Map | Real-Time Appearance-Based Mapping