mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Prototype of copy/paste of reservoir case
p4#: 20962
This commit is contained in:
@@ -72,6 +72,34 @@ void PdmObjectGroup::addObject(PdmObject * obj)
|
||||
objects.push_back(obj);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void PdmObjectGroup::initAfterReadTraversal(PdmObject* object)
|
||||
{
|
||||
if (object == NULL) return;
|
||||
|
||||
std::vector<PdmFieldHandle*> fields;
|
||||
object->fields(fields);
|
||||
|
||||
std::vector<PdmObject*> children;
|
||||
size_t fIdx;
|
||||
for (fIdx = 0; fIdx < fields.size(); ++fIdx)
|
||||
{
|
||||
if (fields[fIdx]) fields[fIdx]->childObjects(&children);
|
||||
}
|
||||
|
||||
size_t cIdx;
|
||||
for (cIdx = 0; cIdx < children.size(); ++cIdx)
|
||||
{
|
||||
PdmObjectGroup::initAfterReadTraversal(children[cIdx]);
|
||||
if (children[cIdx]) children[cIdx]->initAfterRead();
|
||||
}
|
||||
|
||||
object->initAfterRead();
|
||||
}
|
||||
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(PdmDocument, "PdmDocument");
|
||||
|
||||
@@ -157,29 +185,6 @@ void PdmDocument::writeFile(QIODevice* xmlFile)
|
||||
xmlStream.writeEndDocument();
|
||||
}
|
||||
|
||||
void PdmDocument::initAfterReadTraversal(PdmObject* object)
|
||||
{
|
||||
if (object == NULL) return;
|
||||
|
||||
std::vector<PdmFieldHandle*> fields;
|
||||
object->fields(fields);
|
||||
|
||||
std::vector<PdmObject*> children;
|
||||
size_t fIdx;
|
||||
for (fIdx = 0; fIdx < fields.size(); ++fIdx)
|
||||
{
|
||||
if (fields[fIdx]) fields[fIdx]->childObjects(&children);
|
||||
}
|
||||
|
||||
size_t cIdx;
|
||||
for (cIdx = 0; cIdx < children.size(); ++cIdx)
|
||||
{
|
||||
PdmDocument::initAfterReadTraversal(children[cIdx]);
|
||||
if (children[cIdx]) children[cIdx]->initAfterRead();
|
||||
}
|
||||
|
||||
object->initAfterRead();
|
||||
}
|
||||
|
||||
void PdmDocument::setupBeforeSaveTraversal(PdmObject * object)
|
||||
{
|
||||
|
||||
@@ -44,6 +44,8 @@ public:
|
||||
void removeNullPtrs();
|
||||
void addObject(PdmObject * obj);
|
||||
|
||||
static void initAfterReadTraversal(PdmObject * root);
|
||||
|
||||
template <typename T>
|
||||
void objectsByType(std::vector<PdmPointer<T> >* typedObjects ) const
|
||||
{
|
||||
@@ -115,7 +117,6 @@ class PdmDocument: public PdmObjectGroup
|
||||
void writeFile(QIODevice* device);
|
||||
|
||||
private:
|
||||
static void initAfterReadTraversal(PdmObject * root);
|
||||
static void setupBeforeSaveTraversal(PdmObject * root);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user