mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 09:30:25 +08:00
Refactoring of Export/View actions:
Added ExportCloudsDialog class for convenience when Viewing or Exporting clouds/meshes Added Export grid map action Clouds shown in the 3D Map view can be directly saved without cloud regeneration. git-svn-id: http://rtabmap.googlecode.com/svn/trunk/rtabmap@1621 f169173b-cf89-36c8-b27e-44dbe73f0c83
This commit is contained in:
@@ -149,10 +149,9 @@ private slots:
|
||||
void setAspectRatio480p();
|
||||
void setAspectRatio720p();
|
||||
void setAspectRatio1080p();
|
||||
void savePointClouds();
|
||||
void saveMeshes();
|
||||
void viewPointClouds();
|
||||
void viewMeshes();
|
||||
void exportGridMap();
|
||||
void exportPointClouds();
|
||||
void viewClouds();
|
||||
void resetOdometry();
|
||||
void triggerNewMap();
|
||||
void dataRecorder();
|
||||
@@ -184,7 +183,13 @@ private:
|
||||
void updateSelectSourceDatabase(bool used);
|
||||
void updateSelectSourceRGBDMenu(bool used, PreferencesDialog::Src src);
|
||||
|
||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr createAssembledCloud(const std::map<int, Transform> & poses) const;
|
||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr getAssembledCloud(
|
||||
const std::map<int, Transform> & poses,
|
||||
float assembledVoxelSize,
|
||||
bool regenerateClouds,
|
||||
int regenerateDecimation,
|
||||
float regenerateVoxelSize,
|
||||
float regenerateMaxDepth) const;
|
||||
pcl::PointCloud<pcl::PointXYZRGB>::Ptr createCloud(
|
||||
int id,
|
||||
const cv::Mat & rgb,
|
||||
@@ -198,10 +203,15 @@ private:
|
||||
float voxelSize,
|
||||
int decimation,
|
||||
float maxDepth) const;
|
||||
std::map<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr > createPointClouds(const std::map<int, Transform> & poses, bool applyMLS) const;
|
||||
std::map<int, pcl::PolygonMesh::Ptr> createMeshes(const std::map<int, Transform> & poses, bool applyMLS) const;
|
||||
std::map<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr > getClouds(
|
||||
const std::map<int, Transform> & poses,
|
||||
bool regenerateClouds,
|
||||
int regenerateDecimation,
|
||||
float regenerateVoxelSize,
|
||||
float regenerateMaxDepth) const;
|
||||
|
||||
void savePointClouds(const std::map<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr> & clouds);
|
||||
bool getExportedClouds(std::map<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr> & clouds, std::map<int, pcl::PolygonMesh::Ptr> & meshes, bool toSave);
|
||||
void saveClouds(const std::map<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr> & clouds);
|
||||
void saveMeshes(const std::map<int, pcl::PolygonMesh::Ptr> & meshes);
|
||||
|
||||
private:
|
||||
@@ -233,6 +243,7 @@ private:
|
||||
QMap<int, float> _depthCysMap;
|
||||
QMap<int, Transform> _localTransformsMap;
|
||||
std::map<int, Transform> _currentPosesMap;
|
||||
QMap<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr > _createdClouds;
|
||||
Transform _odometryCorrection;
|
||||
Transform _lastOdomPose;
|
||||
bool _lastOdometryProcessed;
|
||||
|
||||
@@ -113,22 +113,22 @@ public:
|
||||
int getKeypointsOpacity() const;
|
||||
int getOdomQualityWarnThr() const;
|
||||
|
||||
bool isCloudMeshing(int index) const; // 0=map
|
||||
bool isCloudsShown(int index) const; // 0=map, 1=odom, 2=save
|
||||
double getCloudVoxelSize(int index) const; // 0=map, 1=odom, 2=save
|
||||
int getCloudDecimation(int index) const; // 0=map, 1=odom, 2=save
|
||||
double getCloudMaxDepth(int index) const; // 0=map, 1=odom, 2=save
|
||||
bool isCloudMeshing() const;
|
||||
bool isCloudsShown(int index) const; // 0=map, 1=odom
|
||||
double getCloudVoxelSize(int index) const; // 0=map, 1=odom
|
||||
int getCloudDecimation(int index) const; // 0=map, 1=odom
|
||||
double getCloudMaxDepth(int index) const; // 0=map, 1=odom
|
||||
double getCloudOpacity(int index) const; // 0=map, 1=odom
|
||||
int getCloudPointSize(int index) const; // 0=map, 1=odom
|
||||
|
||||
bool isScansShown(int index) const; // 0=map, 1=odom, 2=save
|
||||
bool isScansShown(int index) const; // 0=map, 1=odom
|
||||
double getScanOpacity(int index) const; // 0=map, 1=odom
|
||||
int getScanPointSize(int index) const; // 0=map, 1=odom
|
||||
|
||||
int getMeshNormalKSearch(int index) const; // 0=map, 1=save
|
||||
double getMeshGP3Radius(int index) const; // 0=map, 1=save
|
||||
bool getMeshSmoothing(int index) const; // 0=map, 1=save
|
||||
double getMeshSmoothingRadius(int index) const; // 0=map, 1=save
|
||||
int getMeshNormalKSearch() const;
|
||||
double getMeshGP3Radius() const;
|
||||
bool getMeshSmoothing() const;
|
||||
double getMeshSmoothingRadius() const;
|
||||
|
||||
bool isCloudFiltering() const;
|
||||
double getCloudFilteringRadius() const;
|
||||
@@ -284,11 +284,6 @@ private:
|
||||
QVector<QCheckBox*> _3dRenderingShowScans;
|
||||
QVector<QDoubleSpinBox*> _3dRenderingOpacityScan;
|
||||
QVector<QSpinBox*> _3dRenderingPtSizeScan;
|
||||
QVector<QCheckBox*> _3dRenderingMeshing;
|
||||
QVector<QSpinBox*> _3dRenderingNormalKSearch;
|
||||
QVector<QDoubleSpinBox*> _3dRenderingGP3Radius;
|
||||
QVector<QCheckBox*> _3dRenderingSmoothing;
|
||||
QVector<QDoubleSpinBox*> _3dRenderingSmoothingRadius;
|
||||
};
|
||||
|
||||
Q_DECLARE_OPERATORS_FOR_FLAGS(PreferencesDialog::PANEL_FLAGS)
|
||||
|
||||
Reference in New Issue
Block a user