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;
+
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();
-
- if (!reader->Load(*this, filename))
- return false;
+ UpdateTransform();
+ ReportDoneEditGeometry();
UpdateCrossSectionIfRequire(false);