RTAB-Map 0.23.10
Real-Time Appearance-Based Mapping
Loading...
Searching...
No Matches
rtabmap::DBDriverSqlite3 Class Reference

SQLite3 implementation of DBDriver for RTAB-Map map databases. More...

#include <DBDriverSqlite3.h>

Inheritance diagram for rtabmap::DBDriverSqlite3:
Collaboration diagram for rtabmap::DBDriverSqlite3:

Public Member Functions

 DBDriverSqlite3 (const ParametersMap &parameters=ParametersMap())
 Construct driver with optional SQLite-specific parameters.
 
virtual void parseParameters (const ParametersMap &parameters)
 Apply SQLite parameters from the map; forwards to DBDriver::parseParameters().
 
virtual bool isInMemory () const
 True when the database runs in RAM instead of on disk.
 
void setDbInMemory (bool dbInMemory)
 Enable or disable in-memory mode. If connected, the connection is closed and reopened with the new mode.
 
void setJournalMode (int journalMode)
 Set SQLite rollback journal mode (PRAGMA journal_mode).
 
void setCacheSize (unsigned int cacheSize)
 Set the number of database pages kept in SQLite's page cache (PRAGMA cache_size).
 
void setSynchronous (int synchronous)
 Set how aggressively SQLite syncs the database file to disk (PRAGMA synchronous).
 
void setTempStore (int tempStore)
 Set where SQLite stores temporary tables and indices (PRAGMA temp_store).
 
- Public Member Functions inherited from rtabmap::DBDriver
const std::string & getUrl () const
 
const std::string & getTargetVersion () const
 
void asyncSave (Signature *s)
 Queue a signature for deferred save; ownership is transferred.
 
void asyncSave (VisualWord *vw)
 Queue a visual word for deferred save; ownership is transferred.
 
void emptyTrashes (bool async=false)
 Flush queued signatures and visual words to the database.
 
double getEmptyTrashesTime () const
 
void setTimestampUpdateEnabled (bool enabled)
 
void generateGraph (const std::string &fileName, const std::set< int > &ids=std::set< int >(), const std::map< int, Signature * > &otherSignatures=std::map< int, Signature * >())
 Export the pose graph to a Graphviz DOT file for visualization.
 
void executeNoResult (const std::string &sql) const
 Run a SQL statement that does not return result rows.
 
void addLink (const Link &link)
 Insert or replace a link in the database.
 
void removeLink (int from, int to)
 Remove a link between two nodes.
 
void updateLink (const Link &link)
 Update an existing link in the database.
 
void updateOccupancyGrid (int nodeId, const cv::Mat &ground, const cv::Mat &obstacles, const cv::Mat &empty, float cellSize, const cv::Point3f &viewpoint)
 Update occupancy grid cells for a node.
 
void updateCalibration (int nodeId, const std::vector< CameraModel > &models, const std::vector< StereoCameraModel > &stereoModels)
 Update camera calibration stored for a node.
 
void updateDepthImage (int nodeId, const cv::Mat &image, const std::string &format)
 Update the depth image stored for a node.
 
void updateLaserScan (int nodeId, const LaserScan &scan)
 Update the laser scan stored for a node.
 
void addInfoAfterRun (int stMemSize, int lastSignAdded, int processMemUsed, int databaseMemUsed, int dictionarySize, const ParametersMap &parameters) const
 
void addStatistics (const Statistics &statistics, bool saveWmState) const
 Append a Statistics record for a processed node.
 
void savePreviewImage (const cv::Mat &image) const
 Save the map preview thumbnail in the Admin table.
 
cv::Mat loadPreviewImage () const
 Load and uncompress the map preview thumbnail from the Admin table.
 
void saveOptimizedPoses (const std::map< int, Transform > &optimizedPoses, const Transform &lastlocalizationPose) const
 Persist graph-optimized poses and last localization pose.
 
std::map< int, TransformloadOptimizedPoses (Transform *lastlocalizationPose=0) const
 Load optimized poses; optional last localization pose output.
 
void save2DMap (const cv::Mat &map, float xMin, float yMin, float cellSize) const
 Save the assembled 2D occupancy grid and its origin metadata.
 
cv::Mat load2DMap (float &xMin, float &yMin, float &cellSize) const
 Load the 2D map and fill origin/cell size outputs.
 
void saveOptimizedMesh (const cv::Mat &cloud, const std::vector< std::vector< std::vector< RTABMAP_PCL_INDEX > > > &polygons=std::vector< std::vector< std::vector< RTABMAP_PCL_INDEX > > >(), const std::vector< std::vector< Eigen::Vector2f > > &texCoords=std::vector< std::vector< Eigen::Vector2f > >(), const cv::Mat &textures=cv::Mat()) const
 Persist the global optimized 3D mesh to the database.
 
cv::Mat 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
 
void saveFlannIndex (const std::vector< unsigned char > &indexData) const
 Persist the visual word dictionary FLANN index (serialized blob).
 
bool openConnection (const std::string &url, bool overwritten=false, bool readOnly=false)
 Open or create the database at url (empty url uses an in-memory database).
 
void closeConnection (bool save=true, const std::string &outputUrl="")
 Close the connection; optionally flush trashes and save in-memory DB to outputUrl.
 
bool isConnected () const
 
unsigned long getMemoryUsed () const
 
std::string getDatabaseVersion () const
 
long getNodesMemoryUsed () const
 
long getLinksMemoryUsed () const
 
long getImagesMemoryUsed () const
 
long getDepthImagesMemoryUsed () const
 
long getCalibrationsMemoryUsed () const
 
long getGridsMemoryUsed () const
 
long getLaserScansMemoryUsed () const
 
long getUserDataMemoryUsed () const
 
long getWordsMemoryUsed () const
 
long getFeaturesMemoryUsed () const
 
long getStatisticsMemoryUsed () const
 
int getLastNodesSize () const
 
int getLastDictionarySize () const
 
int getTotalNodesSize () const
 
int getTotalDictionarySize () const
 
ParametersMap getLastParameters () const
 
std::map< std::string, float > getStatistics (int nodeId, double &stamp, std::vector< int > *wmState=0) const
 
std::map< int, std::pair< std::map< std::string, float >, double > > getAllStatistics () const
 
std::map< int, std::vector< int > > getAllStatisticsWmStates () const
 
void load (VWDictionary &dictionary, bool lastStateOnly=true, bool idsOnly=false) const
 
void loadLastNodes (std::list< Signature * > &signatures, bool loadWordIdsOnly=false) const
 
SignatureloadSignature (int id, bool *loadedFromTrash=0)
 Load one signature by id; caller must delete the returned pointer.
 
void loadSignatures (const std::list< int > &ids, std::list< Signature * > &signatures, std::set< int > *loadedFromTrash=0, bool loadWordIdsOnly=false)
 
void loadWords (const std::set< int > &wordIds, std::list< VisualWord * > &vws)
 
void loadNodeData (Signature &signature, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const
 
void loadNodeData (std::list< Signature * > &signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const
 
void getNodeData (int signatureId, SensorData &data, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const
 
bool getCalibration (int signatureId, std::vector< CameraModel > &models, std::vector< StereoCameraModel > &stereoModels) const
 
bool getLaserScanInfo (int signatureId, LaserScan &info) const
 
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
 
void getLocalFeatures (int signatureId, std::multimap< int, int > &words, std::vector< cv::KeyPoint > &keypoints, std::vector< cv::Point3f > &points, cv::Mat &descriptors) const
 
void loadLinks (int signatureId, std::multimap< int, Link > &links, Link::Type type=Link::kUndef) const
 Load outgoing links from signatureId, optionally filtered by type.
 
void getWeight (int signatureId, int &weight) const
 
void getLastNodeIds (std::set< int > &ids) const
 
void getAllNodeIds (std::set< int > &ids, bool ignoreChildren=false, bool ignoreBadSignatures=false, bool ignoreIntermediateNodes=false) const
 
void getAllOdomPoses (std::map< int, Transform > &poses, bool ignoreChildren=false, bool ignoreIntermediateNodes=false) const
 
void getAllLinks (std::multimap< int, Link > &links, bool ignoreNullLinks=true, bool withLandmarks=false) const
 
void getLastNodeId (int &id) const
 
void getLastMapId (int &mapId) const
 
void getLastWordId (int &id) const
 
void getInvertedIndexNi (int signatureId, int &ni) const
 
void getNodesObservingLandmark (int landmarkId, std::map< int, Link > &nodes) const
 
void getNodeIdByLabel (const std::string &label, int &id) const
 
void getAllLabels (std::map< int, std::string > &labels) const
 
- Public Member Functions inherited from UThread
 UThread (Priority priority=kPNormal)
 
virtual ~UThread ()
 
void start ()
 
void kill ()
 
void join (bool killFirst=false)
 
void setPriority (Priority priority)
 
void setAffinity (int cpu=0)
 
bool isCreating () const
 
bool isRunning () const
 
bool isIdle () const
 
bool isKilled () const
 
Handle getThreadHandle () const
 
unsigned long getThreadId () const
 
- Public Member Functions inherited from UThreadC< void >
int Create (Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) const
 
int 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
 
int Create (Handle *const &H=0, const bool &CreateDetached=false, const unsigned int &StackSize=0, const bool &CancelEnable=false, const bool &CancelAsync=false) const
 
int 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
 

Protected Member Functions

virtual bool connectDatabaseQuery (const std::string &url, bool overwritten=false, bool readOnly=false)
 
virtual void disconnectDatabaseQuery (bool save=true, const std::string &outputUrl="")
 
virtual bool isConnectedQuery () const
 
virtual unsigned long getMemoryUsedQuery () const
 
virtual bool getDatabaseVersionQuery (std::string &version) const
 
virtual long getNodesMemoryUsedQuery () const
 
virtual long getLinksMemoryUsedQuery () const
 
virtual long getImagesMemoryUsedQuery () const
 
virtual long getDepthImagesMemoryUsedQuery () const
 
virtual long getCalibrationsMemoryUsedQuery () const
 
virtual long getGridsMemoryUsedQuery () const
 
virtual long getLaserScansMemoryUsedQuery () const
 
virtual long getUserDataMemoryUsedQuery () const
 
virtual long getWordsMemoryUsedQuery () const
 
virtual long getFeaturesMemoryUsedQuery () const
 
virtual long getStatisticsMemoryUsedQuery () const
 
virtual int getLastNodesSizeQuery () const
 
virtual int getLastDictionarySizeQuery () const
 
virtual int getTotalNodesSizeQuery () const
 
virtual int getTotalDictionarySizeQuery () const
 
virtual ParametersMap getLastParametersQuery () const
 
virtual std::map< std::string, float > getStatisticsQuery (int nodeId, double &stamp, std::vector< int > *wmState) const
 
virtual std::map< int, std::pair< std::map< std::string, float >, double > > getAllStatisticsQuery () const
 
virtual std::map< int, std::vector< int > > getAllStatisticsWmStatesQuery () const
 
virtual void executeNoResultQuery (const std::string &sql) const
 
virtual void getWeightQuery (int signatureId, int &weight) const
 
virtual void saveQuery (const std::list< Signature * > &signatures)
 
virtual void saveQuery (const std::list< VisualWord * > &words) const
 
virtual void updateQuery (const std::list< Signature * > &signatures, bool updateTimestamp) const
 
virtual void updateQuery (const std::list< VisualWord * > &words, bool updateTimestamp) const
 
virtual void addLinkQuery (const Link &link) const
 
virtual void updateLinkQuery (const Link &link) const
 
virtual void updateOccupancyGridQuery (int nodeId, const cv::Mat &ground, const cv::Mat &obstacles, const cv::Mat &empty, float cellSize, const cv::Point3f &viewpoint) const
 
virtual void updateCalibrationQuery (int nodeId, const std::vector< CameraModel > &models, const std::vector< StereoCameraModel > &stereoModels) const
 
virtual void updateDepthImageQuery (int nodeId, const cv::Mat &image, const std::string &format) const
 
void updateLaserScanQuery (int nodeId, const LaserScan &scan) const
 
virtual void addStatisticsQuery (const Statistics &statistics, bool saveWmState) const
 
virtual void savePreviewImageQuery (const cv::Mat &image) const
 
virtual cv::Mat loadPreviewImageQuery () const
 
virtual void saveOptimizedPosesQuery (const std::map< int, Transform > &optimizedPoses, const Transform &lastlocalizationPose) const
 
virtual std::map< int, TransformloadOptimizedPosesQuery (Transform *lastlocalizationPose=0) const
 
virtual void save2DMapQuery (const cv::Mat &map, float xMin, float yMin, float cellSize) const
 
virtual cv::Mat load2DMapQuery (float &xMin, float &yMin, float &cellSize) const
 
virtual void saveOptimizedMeshQuery (const cv::Mat &cloud, const std::vector< std::vector< std::vector< RTABMAP_PCL_INDEX > > > &polygons, const std::vector< std::vector< Eigen::Vector2f > > &texCoords, const cv::Mat &textures) const
 
virtual cv::Mat loadOptimizedMeshQuery (std::vector< std::vector< std::vector< RTABMAP_PCL_INDEX > > > *polygons, std::vector< std::vector< Eigen::Vector2f > > *texCoords, cv::Mat *textures) const
 
virtual void saveFlannIndexQuery (const std::vector< unsigned char > &indexData) const
 
virtual void loadQuery (VWDictionary &dictionary, bool lastStateOnly=true, bool idsOnly=false) const
 
virtual void loadLastNodesQuery (std::list< Signature * > &signatures, bool loadWordIdsOnly) const
 
virtual void loadSignaturesQuery (const std::list< int > &ids, std::list< Signature * > &signatures, bool loadWordIdsOnly) const
 
virtual void loadWordsQuery (const std::set< int > &wordIds, std::list< VisualWord * > &vws) const
 
virtual void loadLinksQuery (int signatureId, std::multimap< int, Link > &links, Link::Type type=Link::kUndef) const
 
virtual void loadNodeDataQuery (std::list< Signature * > &signatures, bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true) const
 
virtual bool getCalibrationQuery (int signatureId, std::vector< CameraModel > &models, std::vector< StereoCameraModel > &stereoModels) const
 
virtual bool getLaserScanInfoQuery (int signatureId, LaserScan &info) const
 
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
 
virtual void getLocalFeaturesQuery (int signatureId, std::multimap< int, int > &words, std::vector< cv::KeyPoint > &keypoints, std::vector< cv::Point3f > &points, cv::Mat &descriptors) const
 
virtual void getLastNodeIdsQuery (std::set< int > &ids) const
 
virtual void getAllNodeIdsQuery (std::set< int > &ids, bool ignoreChildren, bool ignoreBadSignatures, bool ignoreIntermediateNodes) const
 
virtual void getAllOdomPosesQuery (std::map< int, Transform > &poses, bool ignoreChildren, bool ignoreIntermediateNodes) const
 
virtual void getAllLinksQuery (std::multimap< int, Link > &links, bool ignoreNullLinks, bool withLandmarks) const
 
virtual void getLastIdQuery (const std::string &tableName, int &id, const std::string &fieldName="id") const
 
virtual void getInvertedIndexNiQuery (int signatureId, int &ni) const
 
virtual void getNodesObservingLandmarkQuery (int landmarkId, std::map< int, Link > &nodes) const
 
virtual void getNodeIdByLabelQuery (const std::string &label, int &id) const
 
virtual void getAllLabelsQuery (std::map< int, std::string > &labels) const
 
- Protected Member Functions inherited from rtabmap::DBDriver
 DBDriver (const ParametersMap &parameters=ParametersMap())
 Protected constructor for subclasses.
 

Protected Attributes

sqlite3 * _ppDb
 Open SQLite connection (null when disconnected)
 
std::string _version
 Schema version read from the database.
 

Additional Inherited Members

- Public Types inherited from UThread
enum  Priority {
  kPLow , kPBelowNormal , kPNormal , kPAboveNormal ,
  kPRealTime
}
 
- Public Types inherited from UThreadC< void >
typedef THREAD_HANDLE Handle
 
typedef void(* Handler) ()
 
typedef THREAD_HANDLE Handle
 
typedef void(* Handler) ()
 
- Static Public Member Functions inherited from rtabmap::DBDriver
static DBDrivercreate (const ParametersMap &parameters=ParametersMap())
 Factory: returns a SQLite database driver (DBDriverSqlite3).
 
- Static Public Member Functions inherited from UThread
static unsigned long currentThreadId ()
 
- Static Public Member Functions inherited from UThreadC< void >
static int 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)
 
static int Join (Handle H)
 
static int Kill (Handle H)
 
static int Detach (Handle H)
 
static int 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)
 
static int Join (const Handle &H)
 
static int Kill (const Handle &H)
 
static int Detach (const Handle &H)
 
- Static Protected Member Functions inherited from UThreadC< void >
static void Exit ()
 
static void TestCancel ()
 
static Handle Self ()
 
static void Exit ()
 
static void TestCancel ()
 
static int Self ()
 

Detailed Description

SQLite3 implementation of DBDriver for RTAB-Map map databases.

This is the default driver returned by DBDriver::create(). It stores signatures, links, visual words, statistics and sensor payloads in a single .db file using the SQLite C API.

Storage modes

  • File-backed (default): the database is read/written directly on disk at getUrl().
  • In-memory: when isInMemory() is true, SQLite uses :memory: and the file at getUrl() (if any) is loaded at open and optionally saved on closeConnection().

SQLite PRAGMA tuning (applied on connect and when setters are called while connected):

Configure via Parameters::kDbSqlite3InMemory(), Parameters::kDbSqlite3CacheSize(), Parameters::kDbSqlite3JournalMode(), Parameters::kDbSqlite3Synchronous() and Parameters::kDbSqlite3TempStore(), or call the setters directly.

See also
DBDriver
DBDriver::create()

Definition at line 70 of file DBDriverSqlite3.h.

Constructor & Destructor Documentation

◆ DBDriverSqlite3()

rtabmap::DBDriverSqlite3::DBDriverSqlite3 ( const ParametersMap parameters = ParametersMap())

Construct driver with optional SQLite-specific parameters.

Parameters
parametersMap of parameters (see class description).

Member Function Documentation

◆ parseParameters()

virtual void rtabmap::DBDriverSqlite3::parseParameters ( const ParametersMap parameters)
virtual

Apply SQLite parameters from the map; forwards to DBDriver::parseParameters().

Reimplemented from rtabmap::DBDriver.

◆ isInMemory()

virtual bool rtabmap::DBDriverSqlite3::isInMemory ( ) const
inlinevirtual

True when the database runs in RAM instead of on disk.

Returns
True if getUrl() is empty or setDbInMemory() was used.

Reimplemented from rtabmap::DBDriver.

Definition at line 85 of file DBDriverSqlite3.h.

◆ setJournalMode()

void rtabmap::DBDriverSqlite3::setJournalMode ( int  journalMode)

Set SQLite rollback journal mode (PRAGMA journal_mode).

Controls how SQLite stores the transaction journal used for atomic commit and rollback. See https://www.sqlite.org/pragma.html#pragma_journal_mode

Parameters
journalModeAccepted values (invalid values are ignored). RTAB-Map default: Parameters::defaultDbSqlite3JournalMode() = 3 (MEMORY) (Parameters::kDbSqlite3JournalMode()).
  • 0 — DELETE (SQLite default): the journal file is deleted at the end of each transaction. Good general-purpose balance of safety and speed.
  • 1 — TRUNCATE: the journal is truncated to zero length instead of being unlinked; can be faster on some filesystems than DELETE.
  • 2 — PERSIST: the journal file is not deleted; only its header is zeroed after commit, reducing create/delete overhead at the cost of always keeping a journal file on disk.
  • 3 — MEMORY (RTAB-Map default): the journal is held in RAM only (not written to disk). Faster, but the database cannot be rolled back after a crash and may corrupt if the process dies mid-write.
  • 4 — OFF: no rollback journal. Fastest, but a crash or power loss during a write can leave the database inconsistent; transactions cannot be rolled back atomically.

◆ setCacheSize()

void rtabmap::DBDriverSqlite3::setCacheSize ( unsigned int  cacheSize)

Set the number of database pages kept in SQLite's page cache (PRAGMA cache_size).

A larger cache reduces disk I/O when the working set fits in memory. The effective memory is approximately cacheSize * page_size bytes (page size is usually 4096 bytes unless changed with PRAGMA page_size). Only positive values are used (page count); see https://www.sqlite.org/pragma.html#pragma_cache_size

Parameters
cacheSizeNumber of pages to cache. RTAB-Map default: Parameters::defaultDbSqlite3CacheSize() = 10000 (Parameters::kDbSqlite3CacheSize()).

◆ setSynchronous()

void rtabmap::DBDriverSqlite3::setSynchronous ( int  synchronous)

Set how aggressively SQLite syncs the database file to disk (PRAGMA synchronous).

Trade-off between durability after a crash or power loss and write performance. See https://www.sqlite.org/pragma.html#pragma_synchronous

Parameters
synchronousAccepted values (invalid values are ignored). RTAB-Map default: Parameters::defaultDbSqlite3Synchronous() = 0 (OFF) (Parameters::kDbSqlite3Synchronous()).
  • 0 — OFF (RTAB-Map default): SQLite does not wait for data to reach persistent storage. Fastest; a system crash or power loss during a transaction may corrupt the database.
  • 1 — NORMAL: syncs at the most critical moments (SQLite default in many builds). A crash may lose the last transaction but the database file structure usually stays valid.
  • 2 — FULL: syncs after every transaction commit. Slowest; strongest guarantee that a committed transaction survives a power loss (when the OS honors fsync).

◆ setTempStore()

void rtabmap::DBDriverSqlite3::setTempStore ( int  tempStore)

Set where SQLite stores temporary tables and indices (PRAGMA temp_store).

Affects internal temp storage used for some queries and operations, not RTAB-Map map data. See https://www.sqlite.org/pragma.html#pragma_temp_store

Parameters
tempStoreAccepted values (invalid values are ignored). RTAB-Map default: Parameters::defaultDbSqlite3TempStore() = 2 (MEMORY) (Parameters::kDbSqlite3TempStore()).
  • 0 — DEFAULT: use SQLite's compile-time default (often FILE, i.e. on-disk temp files).
  • 1 — FILE: store temporary tables and indices in temporary files in the directory given by PRAGMA temp_store_directory or the system temp folder.
  • 2 — MEMORY (RTAB-Map default): store temporary tables and indices in RAM. Can speed up heavy queries but increases memory use; large temp structures may still spill to disk depending on build.

◆ connectDatabaseQuery()

virtual bool rtabmap::DBDriverSqlite3::connectDatabaseQuery ( const std::string &  url,
bool  overwritten = false,
bool  readOnly = false 
)
protectedvirtual

Implements rtabmap::DBDriver.

◆ disconnectDatabaseQuery()

virtual void rtabmap::DBDriverSqlite3::disconnectDatabaseQuery ( bool  save = true,
const std::string &  outputUrl = "" 
)
protectedvirtual

Implements rtabmap::DBDriver.

◆ isConnectedQuery()

virtual bool rtabmap::DBDriverSqlite3::isConnectedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getMemoryUsedQuery()

virtual unsigned long rtabmap::DBDriverSqlite3::getMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getDatabaseVersionQuery()

virtual bool rtabmap::DBDriverSqlite3::getDatabaseVersionQuery ( std::string &  version) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getNodesMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getNodesMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLinksMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getLinksMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getImagesMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getImagesMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getDepthImagesMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getDepthImagesMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getCalibrationsMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getCalibrationsMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getGridsMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getGridsMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLaserScansMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getLaserScansMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getUserDataMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getUserDataMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getWordsMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getWordsMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getFeaturesMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getFeaturesMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getStatisticsMemoryUsedQuery()

virtual long rtabmap::DBDriverSqlite3::getStatisticsMemoryUsedQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLastNodesSizeQuery()

virtual int rtabmap::DBDriverSqlite3::getLastNodesSizeQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLastDictionarySizeQuery()

virtual int rtabmap::DBDriverSqlite3::getLastDictionarySizeQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getTotalNodesSizeQuery()

virtual int rtabmap::DBDriverSqlite3::getTotalNodesSizeQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getTotalDictionarySizeQuery()

virtual int rtabmap::DBDriverSqlite3::getTotalDictionarySizeQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLastParametersQuery()

virtual ParametersMap rtabmap::DBDriverSqlite3::getLastParametersQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getStatisticsQuery()

virtual std::map< std::string, float > rtabmap::DBDriverSqlite3::getStatisticsQuery ( int  nodeId,
double &  stamp,
std::vector< int > *  wmState 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getAllStatisticsQuery()

virtual std::map< int, std::pair< std::map< std::string, float >, double > > rtabmap::DBDriverSqlite3::getAllStatisticsQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getAllStatisticsWmStatesQuery()

virtual std::map< int, std::vector< int > > rtabmap::DBDriverSqlite3::getAllStatisticsWmStatesQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ executeNoResultQuery()

virtual void rtabmap::DBDriverSqlite3::executeNoResultQuery ( const std::string &  sql) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getWeightQuery()

virtual void rtabmap::DBDriverSqlite3::getWeightQuery ( int  signatureId,
int &  weight 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ saveQuery() [1/2]

virtual void rtabmap::DBDriverSqlite3::saveQuery ( const std::list< Signature * > &  signatures)
protectedvirtual

Implements rtabmap::DBDriver.

◆ saveQuery() [2/2]

virtual void rtabmap::DBDriverSqlite3::saveQuery ( const std::list< VisualWord * > &  words) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ updateQuery() [1/2]

virtual void rtabmap::DBDriverSqlite3::updateQuery ( const std::list< Signature * > &  signatures,
bool  updateTimestamp 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ updateQuery() [2/2]

virtual void rtabmap::DBDriverSqlite3::updateQuery ( const std::list< VisualWord * > &  words,
bool  updateTimestamp 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ addLinkQuery()

virtual void rtabmap::DBDriverSqlite3::addLinkQuery ( const Link link) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ updateLinkQuery()

virtual void rtabmap::DBDriverSqlite3::updateLinkQuery ( const Link link) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ updateOccupancyGridQuery()

virtual void rtabmap::DBDriverSqlite3::updateOccupancyGridQuery ( int  nodeId,
const cv::Mat &  ground,
const cv::Mat &  obstacles,
const cv::Mat &  empty,
float  cellSize,
const cv::Point3f &  viewpoint 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ updateCalibrationQuery()

virtual void rtabmap::DBDriverSqlite3::updateCalibrationQuery ( int  nodeId,
const std::vector< CameraModel > &  models,
const std::vector< StereoCameraModel > &  stereoModels 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ updateDepthImageQuery()

virtual void rtabmap::DBDriverSqlite3::updateDepthImageQuery ( int  nodeId,
const cv::Mat &  image,
const std::string &  format 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ updateLaserScanQuery()

void rtabmap::DBDriverSqlite3::updateLaserScanQuery ( int  nodeId,
const LaserScan scan 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ addStatisticsQuery()

virtual void rtabmap::DBDriverSqlite3::addStatisticsQuery ( const Statistics statistics,
bool  saveWmState 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ savePreviewImageQuery()

virtual void rtabmap::DBDriverSqlite3::savePreviewImageQuery ( const cv::Mat &  image) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadPreviewImageQuery()

virtual cv::Mat rtabmap::DBDriverSqlite3::loadPreviewImageQuery ( ) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ saveOptimizedPosesQuery()

virtual void rtabmap::DBDriverSqlite3::saveOptimizedPosesQuery ( const std::map< int, Transform > &  optimizedPoses,
const Transform lastlocalizationPose 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadOptimizedPosesQuery()

virtual std::map< int, Transform > rtabmap::DBDriverSqlite3::loadOptimizedPosesQuery ( Transform lastlocalizationPose = 0) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ save2DMapQuery()

virtual void rtabmap::DBDriverSqlite3::save2DMapQuery ( const cv::Mat &  map,
float  xMin,
float  yMin,
float  cellSize 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ load2DMapQuery()

virtual cv::Mat rtabmap::DBDriverSqlite3::load2DMapQuery ( float &  xMin,
float &  yMin,
float &  cellSize 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ saveOptimizedMeshQuery()

virtual void rtabmap::DBDriverSqlite3::saveOptimizedMeshQuery ( const cv::Mat &  cloud,
const std::vector< std::vector< std::vector< RTABMAP_PCL_INDEX > > > &  polygons,
const std::vector< std::vector< Eigen::Vector2f > > &  texCoords,
const cv::Mat &  textures 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadOptimizedMeshQuery()

virtual cv::Mat rtabmap::DBDriverSqlite3::loadOptimizedMeshQuery ( std::vector< std::vector< std::vector< RTABMAP_PCL_INDEX > > > *  polygons,
std::vector< std::vector< Eigen::Vector2f > > *  texCoords,
cv::Mat *  textures 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ saveFlannIndexQuery()

virtual void rtabmap::DBDriverSqlite3::saveFlannIndexQuery ( const std::vector< unsigned char > &  indexData) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadQuery()

virtual void rtabmap::DBDriverSqlite3::loadQuery ( VWDictionary dictionary,
bool  lastStateOnly = true,
bool  idsOnly = false 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadLastNodesQuery()

virtual void rtabmap::DBDriverSqlite3::loadLastNodesQuery ( std::list< Signature * > &  signatures,
bool  loadWordIdsOnly 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadSignaturesQuery()

virtual void rtabmap::DBDriverSqlite3::loadSignaturesQuery ( const std::list< int > &  ids,
std::list< Signature * > &  signatures,
bool  loadWordIdsOnly 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadWordsQuery()

virtual void rtabmap::DBDriverSqlite3::loadWordsQuery ( const std::set< int > &  wordIds,
std::list< VisualWord * > &  vws 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadLinksQuery()

virtual void rtabmap::DBDriverSqlite3::loadLinksQuery ( int  signatureId,
std::multimap< int, Link > &  links,
Link::Type  type = Link::kUndef 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ loadNodeDataQuery()

virtual void rtabmap::DBDriverSqlite3::loadNodeDataQuery ( std::list< Signature * > &  signatures,
bool  images = true,
bool  scan = true,
bool  userData = true,
bool  occupancyGrid = true 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getCalibrationQuery()

virtual bool rtabmap::DBDriverSqlite3::getCalibrationQuery ( int  signatureId,
std::vector< CameraModel > &  models,
std::vector< StereoCameraModel > &  stereoModels 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLaserScanInfoQuery()

virtual bool rtabmap::DBDriverSqlite3::getLaserScanInfoQuery ( int  signatureId,
LaserScan info 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getNodeInfoQuery()

virtual bool rtabmap::DBDriverSqlite3::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
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLocalFeaturesQuery()

virtual void rtabmap::DBDriverSqlite3::getLocalFeaturesQuery ( int  signatureId,
std::multimap< int, int > &  words,
std::vector< cv::KeyPoint > &  keypoints,
std::vector< cv::Point3f > &  points,
cv::Mat &  descriptors 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLastNodeIdsQuery()

virtual void rtabmap::DBDriverSqlite3::getLastNodeIdsQuery ( std::set< int > &  ids) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getAllNodeIdsQuery()

virtual void rtabmap::DBDriverSqlite3::getAllNodeIdsQuery ( std::set< int > &  ids,
bool  ignoreChildren,
bool  ignoreBadSignatures,
bool  ignoreIntermediateNodes 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getAllOdomPosesQuery()

virtual void rtabmap::DBDriverSqlite3::getAllOdomPosesQuery ( std::map< int, Transform > &  poses,
bool  ignoreChildren,
bool  ignoreIntermediateNodes 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getAllLinksQuery()

virtual void rtabmap::DBDriverSqlite3::getAllLinksQuery ( std::multimap< int, Link > &  links,
bool  ignoreNullLinks,
bool  withLandmarks 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getLastIdQuery()

virtual void rtabmap::DBDriverSqlite3::getLastIdQuery ( const std::string &  tableName,
int &  id,
const std::string &  fieldName = "id" 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getInvertedIndexNiQuery()

virtual void rtabmap::DBDriverSqlite3::getInvertedIndexNiQuery ( int  signatureId,
int &  ni 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getNodesObservingLandmarkQuery()

virtual void rtabmap::DBDriverSqlite3::getNodesObservingLandmarkQuery ( int  landmarkId,
std::map< int, Link > &  nodes 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getNodeIdByLabelQuery()

virtual void rtabmap::DBDriverSqlite3::getNodeIdByLabelQuery ( const std::string &  label,
int &  id 
) const
protectedvirtual

Implements rtabmap::DBDriver.

◆ getAllLabelsQuery()

virtual void rtabmap::DBDriverSqlite3::getAllLabelsQuery ( std::map< int, std::string > &  labels) const
protectedvirtual

Implements rtabmap::DBDriver.

Member Data Documentation

◆ _ppDb

sqlite3* rtabmap::DBDriverSqlite3::_ppDb
protected

Open SQLite connection (null when disconnected)

Definition at line 307 of file DBDriverSqlite3.h.

◆ _version

std::string rtabmap::DBDriverSqlite3::_version
protected

Schema version read from the database.

Definition at line 308 of file DBDriverSqlite3.h.


The documentation for this class was generated from the following file: