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

Method writeObjectType

src/App/Document.cpp:1435–1466  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1433}
1434
1435void Document::writeObjectType(const std::vector<DocumentObject*>& objs,
1436 Base::Writer& writer) const
1437{
1438 for (auto it : objs) {
1439 writer.Stream() << writer.ind() << "<Object "
1440 << "type=\"" << it->getTypeId().getName() << "\" "
1441 << "name=\"" << it->getExportName() << "\" "
1442 << "id=\"" << it->getID() << "\" ";
1443
1444 // Only write out custom view provider types
1445 std::string viewType = it->getViewProviderNameStored();
1446 if (viewType != it->getViewProviderName()) {
1447 writer.Stream() << "ViewType=\"" << viewType << "\" ";
1448 }
1449
1450 // See DocumentObjectPy::getState
1451 if (it->testStatus(ObjectStatus::Touch)) {
1452 writer.Stream() << "Touched=\"1\" ";
1453 }
1454 if (it->testStatus(ObjectStatus::Error)) {
1455 writer.Stream() << "Invalid=\"1\" ";
1456 auto desc = getErrorDescription(it);
1457 if (desc) {
1458 writer.Stream() << "Error=\"" << Property::encodeAttribute(desc) << "\" ";
1459 }
1460 }
1461 if (it->isFreezed()) {
1462 writer.Stream() << "Freeze=\"1\" ";
1463 }
1464 writer.Stream() << "/>\n";
1465 }
1466}
1467
1468void Document::writeObjectData(const std::vector<DocumentObject*>& objs,
1469 Base::Writer& writer) const

Callers

nothing calls this directly

Calls 6

getExportNameMethod · 0.80
getNameMethod · 0.45
getTypeIdMethod · 0.45
getIDMethod · 0.45
getViewProviderNameMethod · 0.45
testStatusMethod · 0.45

Tested by

no test coverage detected