OSDN Git Service
(root)
/
qtgeoviewer
/
QtGeoViewer.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8d446d5
)
オブジェクトリロード時にオブジェクトツリーの順序を維持するように修正
author
qw_fuku
<fkhideaki@gmail.com>
Sun, 11 Sep 2016 12:34:07 +0000
(21:34 +0900)
committer
qw_fuku
<fkhideaki@gmail.com>
Sun, 11 Sep 2016 12:34:07 +0000
(21:34 +0900)
Src/LibQtGeoViewerCore/SceneMain.cpp
patch
|
blob
|
history
diff --git
a/Src/LibQtGeoViewerCore/SceneMain.cpp
b/Src/LibQtGeoViewerCore/SceneMain.cpp
index
ed031f7
..
bfa455b
100644
(file)
--- a/
Src/LibQtGeoViewerCore/SceneMain.cpp
+++ b/
Src/LibQtGeoViewerCore/SceneMain.cpp
@@
-412,22
+412,28
@@
bool SceneMain::ReloadObject(GeomObject* obj)
geom::GeomFileFormat fmt = obj->m_FileFormat;
const std::string filename = obj->m_FilePath;
geom::GeomFileFormat fmt = obj->m_FileFormat;
const std::string filename = obj->m_FilePath;
+ std::auto_ptr<GeomFileReader> reader;
+ reader.reset(GeomReaderBuilder::Create(fmt));
+ if (reader.get() == NULL)
+ return false;
+
+ GeomObject* geom = reader->LoadGeom(*this, filename);
+ if (geom == NULL)
+ return false;
+
boost::ptr_vector<GeomObject>::iterator i;
boost::ptr_vector<GeomObject>::iterator i;
+
i = m_Objects.begin();
i += idx;
m_Objects.erase(i);
i = m_Objects.begin();
i += idx;
m_Objects.erase(i);
- m_Sels.ClearSelect();
-
- std::auto_ptr<GeomFileReader> reader;
- reader.reset(GeomReaderBuilder::Create(fmt));
- if (reader.get() == NULL)
- return false;
+ i = m_Objects.begin();
+ i += idx;
+ m_Objects.insert(i, geom);
RefreshObjectIndex();
RefreshObjectIndex();
-
- if (!reader->Load(*this, filename))
- return false;
+ UpdateTransform();
+ ReportDoneEditGeometry();
UpdateCrossSectionIfRequire(false);
UpdateCrossSectionIfRequire(false);