MCPcopy Create free account
hub / github.com/FreeCAD/FreeCAD / Save

Method Save

src/App/ComplexGeoData.cpp:457–482  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

455}
456
457void ComplexGeoData::Save(Base::Writer& writer) const
458{
459
460 if (getElementMapSize() == 0U) {
461 writer.Stream() << writer.ind() << "<ElementMap/>\n";
462 return;
463 }
464
465 // Store some dummy map entry to trigger recompute in older version.
466 writer.Stream() << writer.ind() << R"(<ElementMap new="1" count="1">)"
467 << R"(<Element key="Dummy" value="Dummy"/>)"
468 << "</ElementMap>\n";
469
470 // New layout of element map, so we use new xml tag, ElementMap2
471 writer.Stream() << writer.ind() << "<ElementMap2";
472
473 if (!_persistenceName.empty()) {
474 writer.Stream() << " file=\"" << writer.addFile((_persistenceName + ".txt").c_str(), this)
475 << "\"/>\n";
476 return;
477 }
478 writer.Stream() << " count=\"" << _elementMap->size() << "\">\n";
479 _elementMap->save(writer.beginCharStream(Base::CharStreamFormat::Raw) << '\n');
480 writer.endCharStream() << '\n';
481 writer.Stream() << writer.ind() << "</ElementMap2>\n";
482}
483
484void ComplexGeoData::Restore(Base::XMLReader& reader)
485{

Callers

nothing calls this directly

Calls 6

endCharStreamMethod · 0.80
emptyMethod · 0.45
addFileMethod · 0.45
c_strMethod · 0.45
sizeMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected