Base::Persistence Class Referenceabstract

Persistence class and root of the type system. More...

#include <Persistence.h>

Public Member Functions

void dumpToStream (std::ostream &stream, int compression)
 
virtual unsigned int getMemSize (void) const =0
 This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB? More...
 
virtual Base::Type getTypeId (void) const
 
virtual void Restore (XMLReader &)=0
 This method is used to restore properties from an XML document. More...
 
virtual void RestoreDocFile (Reader &)
 This method is used to restore large amounts of data from a file In this method you simply stream in your SaveDocFile() saved data. More...
 
void restoreFromStream (std::istream &stream)
 
virtual void Save (Writer &) const =0
 This method is used to save properties to an XML document. More...
 
virtual void SaveDocFile (Writer &) const
 This method is used to save large amounts of data to a binary file. More...
 
- Public Member Functions inherited from Base::BaseClass
 BaseClass ()
 Construction. More...
 
virtual PyObjectgetPyObject (void)
 This method returns the Python wrapper for a C++ object. More...
 
bool isDerivedFrom (const Type type) const
 
virtual void setPyObject (PyObject *)
 
virtual ~BaseClass ()
 Destruction. More...
 

Static Public Member Functions

static void * create (void)
 
static std::string encodeAttribute (const std::string &)
 Encodes an attribute upon saving. More...
 
static Base::Type getClassTypeId (void)
 
static void init (void)
 
- Static Public Member Functions inherited from Base::BaseClass
static void * create (void)
 
static Type getClassTypeId (void)
 
static void init (void)
 

Additional Inherited Members

- Static Protected Member Functions inherited from Base::BaseClass
static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr)
 

Detailed Description

Persistence class and root of the type system.

Member Function Documentation

◆ create()

void * Base::Persistence::create ( void  )
static

◆ dumpToStream()

◆ encodeAttribute()

◆ getClassTypeId()

Base::Type Base::Persistence::getClassTypeId ( void  )
static

Referenced by PartDesignGui::TaskDlgFeatureParameters::accept(), PartDesignGui::TaskPipeParameters::accept(), PartDesignGui::TaskDlgSketchBasedParameters::accept(), PartGui::DlgPrimitives::accept(), Gui::Dialog::TransformStrategy::acceptDataTransform(), App::ObjectIdentifier::access(), SketcherCopy::activate(), StdCmdExport::activated(), StdCmdSelectAll::activated(), StdCmdPlacement::activated(), StdCmdTransformManip::activated(), StdCmdAlignment::activated(), StdCmdMeasurementSimple::activated(), StdCmdGroup::activated(), StdCmdToggleSelectability::activated(), StdCmdSelectVisibleObjects::activated(), StdCmdToggleObjects::activated(), StdCmdShowObjects::activated(), StdCmdHideObjects::activated(), StdCmdTreeSelectAllInstances::activated(), CmdSketcherConstrainHorizontal::activated(), CmdSketcherConstrainVertical::activated(), CmdSketcherConstrainLock::activated(), CmdSketcherConstrainBlock::activated(), CmdSketcherConstrainCoincident::activated(), CmdSketcherConstrainDistance::activated(), CmdSketcherConstrainPointOnObject::activated(), CmdSketcherConstrainDistanceX::activated(), CmdSketcherConstrainDistanceY::activated(), CmdSketcherConstrainParallel::activated(), CmdSketcherConstrainPerpendicular::activated(), CmdSketcherConstrainTangent::activated(), CmdSketcherConstrainRadius::activated(), CmdSketcherConstrainDiameter::activated(), CmdSketcherConstrainAngle::activated(), CmdSketcherConstrainEqual::activated(), CmdSketcherConstrainSymmetric::activated(), Sketcher::SketchObject::addCopy(), App::DynamicProperty::addDynamicProperty(), Sketcher::SketchObject::addGeometry(), Sketcher::SketchObjectPy::addGeometry(), PartDesign::Body::addObject(), Mesh::Exporter::addObject(), App::Document::addObject(), Path::FeaturePathCompoundPy::addObject(), App::DocumentPy::addObject(), App::Document::addObjects(), Gui::SelectionSingleton::addSelection(), Sketcher::SketchObject::addSymmetric(), TechDraw::DrawPage::addView(), MeshGui::DlgEvaluateMeshImp::addViewProvider(), Gui::ManualAlignment::alignObject(), PartGui::ShapeSelection::allow(), PartGui::DlgExtrusion::EdgeSelection::allow(), PartGui::DlgRevolution::EdgeSelection::allow(), PartGui::SweepWidget::Private::EdgeSelection::allow(), SketcherGui::FilletSelection::allow(), SketcherGui::TrimmingSelection::allow(), SketcherGui::ExtendSelection::allow(), SurfaceGui::FillingPanel::ShapeSelection::allow(), SurfaceGui::FillingEdgePanel::ShapeSelection::allow(), SurfaceGui::FillingVertexPanel::VertexSelection::allow(), SurfaceGui::SectionsPanel::ShapeSelection::allow(), PartDesignGui::ReferenceSelection::allow(), SketcherGui::ExternalSelection::allow(), SurfaceGui::GeomFillSurface::EdgeSelection::allow(), PartGui::ViewProviderPartExt::allowOverride(), Sketcher::SketchAnalysis::analyseMissingPointOnPointCoincident(), MeshPartGui::CrossSections::apply(), PartGui::CrossSections::apply(), PartGui::DlgExtrusion::apply(), Gui::QuantitySpinBox::apply(), CmdSketcherConstrainHorizontal::applyConstraint(), CmdSketcherConstrainVertical::applyConstraint(), CmdSketcherConstrainDistance::applyConstraint(), CmdSketcherConstrainPointOnObject::applyConstraint(), CmdSketcherConstrainDistanceX::applyConstraint(), CmdSketcherConstrainDistanceY::applyConstraint(), CmdSketcherConstrainParallel::applyConstraint(), CmdSketcherConstrainPerpendicular::applyConstraint(), CmdSketcherConstrainTangent::applyConstraint(), CmdSketcherConstrainRadius::applyConstraint(), CmdSketcherConstrainDiameter::applyConstraint(), CmdSketcherConstrainAngle::applyConstraint(), CmdSketcherConstrainEqual::applyConstraint(), CmdSketcherConstrainSymmetric::applyConstraint(), TechDrawGui::ViewProviderDimension::attach(), PartDesignGui::ViewProviderDatum::attach(), Gui::ViewProviderLink::attach(), TechDrawGui::MDIViewPage::attachView(), PartDesignGui::TaskFeaturePick::buildFeatures(), PartDesign::ShapeBinder::buildShapeFromReferences(), Gui::PropertyEditor::PropertyEditor::buildUp(), TechDrawGui::TaskRichAnno::calcTextStartPos(), Part::Extrusion::calculateShapeNormal(), Gui::ViewProviderLink::callDraggerProxy(), Gui::ViewProviderDocumentObject::canDelete(), FemGui::ViewProviderFemAnalysis::canDragObject(), PartGui::ViewProviderCompound::canDragObject(), PathGui::ViewProviderArea::canDragObject(), PathGui::ViewProviderAreaView::canDragObject(), PathGui::ViewProviderPathShape::canDragObject(), PartGui::ViewProviderCompound::canDropObject(), PartDesignGui::ViewProviderBody::canDropObject(), Sketcher::SketchObject::carbonCopy(), Sketcher::SketchObjectPy::carbonCopy(), PartDesignGui::TaskTransformedParameters::checkVisibility(), PartDesignGui::ViewProviderHelix::claimChildren(), PartDesignGui::ViewProviderLoft::claimChildren(), PartDesignGui::ViewProviderPipe::claimChildren(), PartDesignGui::ViewProviderSketchBased::claimChildren(), TechDrawGui::ViewProviderLeader::claimChildren(), TechDrawGui::ViewProviderViewPart::claimChildren(), TechDrawGui::ViewProviderWeld::claimChildren(), TechDrawGui::ViewProviderPage::claimChildren(), MeshGui::ViewProviderMesh::clipMeshCallback(), PointsGui::ViewProviderPoints::clipPointsCallback(), PartDesignGui::collectMovableDependencies(), TechDrawGui::MDIViewPage::compareSelections(), Gui::TreeWidget::contextMenuEvent(), Gui::PropertyEditor::PropertyEditor::contextMenuEvent(), Sketcher::SketchObject::convertToNURBS(), TechDraw::DrawViewCollection::countChildren(), TechDrawGui::TaskRichAnno::createAnnoFeature(), SketcherGui::DrawSketchHandler::createAutoConstraints(), TechDrawGui::TaskLeaderLine::createLeaderFeature(), Fem::createObjectByType(), MeshGui::ViewProviderMeshCurvature::curvatureInfo(), Gui::PointMarker::customEvent(), PointsGui::ViewProviderScattered::cut(), SpreadsheetGui::SheetModel::data(), Sketcher::SketchObject::decreaseBSplineDegree(), SketcherGui::ViewProviderSketch::deleteSelected(), Sketcher::SketchObject::deleteUnusedInternalGeometry(), Sketcher::SketchObject::delGeometry(), Sketcher::SketchAnalysis::detectDegeneratedGeometries(), Sketcher::SketchAnalysis::detectMissingEqualityConstraints(), Sketcher::SketchAnalysis::detectMissingPointOnPointConstraints(), Sketcher::SketchAnalysis::detectMissingVerticalHorizontalConstraints(), Gui::Dialog::DlgAddProperty::DlgAddProperty(), PartGui::DlgExtrusion::DlgExtrusion(), PartGui::DlgPrimitives::DlgPrimitives(), PartGui::DlgRevolution::DlgRevolution(), Gui::SoFCUnifiedSelection::doAction(), SketcherGui::ViewProviderSketch::doBoxSelection(), TechDrawGui::QGIViewDimension::draw(), SketcherGui::ViewProviderSketch::draw(), TechDrawGui::QGIViewBalloon::drawBalloon(), SketcherGui::ViewProviderSketch::drawConstraintIcons(), TechDrawGui::QGIViewPart::drawMatting(), TechDrawGui::QGIViewSymbol::drawSvg(), PartDesignGui::ViewProviderBody::dropObject(), Sketcher::SketchObject::evaluateSupport(), Drawing::FeatureClip::execute(), Drawing::FeaturePage::execute(), Drawing::FeatureProjection::execute(), Drawing::FeatureViewPart::execute(), Drawing::FeatureViewSpreadsheet::execute(), Inspection::Feature::execute(), Mesh::HarmonizeNormals::execute(), Mesh::FlipNormals::execute(), Mesh::FixNonManifolds::execute(), Mesh::FixDuplicatedFaces::execute(), Mesh::FixDuplicatedPoints::execute(), Mesh::FixDegenerations::execute(), Mesh::FixDeformations::execute(), Mesh::FixIndices::execute(), Mesh::FillHoles::execute(), Mesh::RemoveComponents::execute(), Mesh::SegmentByMesh::execute(), PartDesign::FeatureBase::execute(), PartDesign::Loft::execute(), PartDesign::Pipe::execute(), PartDesign::Transformed::execute(), Path::FeatureArea::execute(), Path::FeatureAreaView::execute(), Path::FeatureCompound::execute(), Path::FeatureShape::execute(), Raytracing::LuxFeature::execute(), Raytracing::LuxProject::execute(), Raytracing::RayFeature::execute(), Raytracing::RayProject::execute(), Robot::Edge2TracObject::execute(), Robot::TrajectoryCompound::execute(), Robot::TrajectoryDressUpObject::execute(), Surface::Cut::execute(), Surface::Filling::execute(), Surface::Sewing::execute(), TechDraw::DrawTemplate::execute(), TechDraw::DrawViewClip::execute(), TechDraw::DrawViewSpreadsheet::execute(), Part::Offset2D::execute(), PartDesign::Body::execute(), PartDesign::Boolean::execute(), Surface::Extend::execute(), Surface::Sections::execute(), TechDraw::DrawViewDetail::execute(), TechDraw::DrawViewSection::execute(), Fem::FemVTKTools::exportFreeCADResult(), App::Document::exportGraphviz(), Import::ExportOCAF::exportObject(), Gui::Application::exportTo(), Sketcher::SketchObject::exposeInternalGeometry(), Sketcher::SketchObject::extend(), PartGui::ViewProviderSplineExtension::extensionUpdateData(), MeshGui::ViewProviderMesh::faceInfoCallback(), Sketcher::SketchObject::fillet(), MeshGui::ViewProviderMesh::fillHoleCallback(), Part::BodyBase::findBodyOf(), ExportOCAFGui::findColors(), TechDrawGui::MDIViewPage::findMissingViews(), App::DocumentPy::findObjects(), TechDrawGui::DrawGuiUtil::findPage(), TechDraw::DrawView::findParentPage(), PartGui::DlgExtrusion::findShapes(), PartGui::DlgFilletEdges::findShapes(), Gui::FreeCADGui_subgraphFromObject(), PartDesign::DressUp::getAddSubShape(), TechDraw::DrawPagePy::getAllViews(), TechDraw::DrawPage::getAllViews(), PartDesign::ProfileBased::getAxis(), App::Origin::getAxis(), Sketcher::SketchObject::getAxis(), Sketcher::SketchObject::getAxisCount(), TechDraw::DrawViewPart::getBalloons(), TechDraw::DrawViewSection::getBaseDPGI(), TechDraw::DrawViewSection::getBaseDVP(), PartDesign::Feature::getBaseObject(), PartDesign::DressUp::getBaseObject(), PartDesign::ProfileBased::getBaseObject(), PartDesign::Transformed::getBaseObject(), PartDesign::Feature::getBaseShape(), PartDesign::Feature::getBaseTopoShape(), PartDesignGui::getBody(), PartDesignGui::ViewProvider::getBodyViewProvider(), Gui::AlignmentGroup::getBoundingBox(), TechDraw::DrawProjGroup::getBoundingBox(), TechDraw::DrawViewClip::getChildViewNames(), TechDraw::DrawView::getClipGroup(), MeshGui::ViewProviderMesh::getColorProperty(), App::LinkBaseExtension::getContainer(), App::PropertyContainerPy::getCustomAttributes(), TechDraw::DrawViewPart::getDetailRefs(), TechDraw::DrawViewPart::getDimensions(), Fem::Constraint::getDirection(), PointsGui::ViewProviderPoints::getDisplayModes(), App::PropertyFileIncluded::getDocTransientPath(), App::DocumentObjectExtension::getExtendedObject(), Gui::ViewProviderExtension::getExtendedViewProvider(), PartDesign::ShapeBinder::getFilteredReferences(), Spreadsheet::Cell::getFormattedQuantity(), TechDraw::DrawViewPart::getGeomHatches(), App::GeoFeatureGroupExtension::getGroupOfObject(), App::OriginGroupExtension::getGroupOfObject(), TechDraw::DrawViewPart::getHatches(), InspectionGui::ViewProviderInspection::getIcon(), Fem::FemPostFilter::getInputData(), TechDraw::DrawView::getLeaders(), Fem::getObjectByType(), Gui::View3DInventorPy::getObjectInfo(), MeshGui::MeshSelection::getObjects(), Gui::View3DInventorPy::getObjectsInfo(), App::OriginFeature::getOrigin(), App::OriginGroupExtension::getOrigin(), TechDraw::DrawPage::getPageHeight(), TechDraw::DrawPage::getPageOrientation(), TechDraw::DrawPage::getPageWidth(), TechDrawGui::QGIDrawingTemplate::getParametricTemplate(), TechDraw::DrawTemplate::getParentPage(), TechDraw::DrawProjGroupItem::getPGroup(), App::PropertyPlacementLink::getPlacementObject(), App::Origin::getPlane(), Sketcher::SketchObject::getPoint(), PartDesign::ProfileBased::getProfileNormal(), PartDesign::ProfileBased::getProfileWires(), App::PropertyContainerPy::getPropertyTouchList(), PartDesignGui::getReferencedSelection(), PartDesignGui::ViewProviderDatum::getRelevantBoundBox(), Gui::Dialog::TransformStrategy::getRotationCenter(), TechDraw::DrawViewPart::getSectionRefs(), Gui::SelectionSingleton::getSelection(), Path::FeatureAreaView::getShapes(), TechDraw::ShapeExtractor::getShapes(), TechDraw::ShapeExtractor::getShapes2d(), TechDraw::ShapeExtractor::getShapesFromObject(), TechDraw::DrawViewSpreadsheet::getSheetImage(), PartDesign::Transformed::getSketchObject(), PartDesign::Body::getSubObject(), PartDesign::ProfileBased::getSupportFace(), TechDrawGui::QGISVGTemplate::getSVGTemplate(), TechDraw::DrawWeldSymbol::getTiles(), PartDesignGui::TaskTransformedParameters::getTopTransformedObject(), PartDesign::MultiTransform::getTransformations(), PartDesign::Scaled::getTransformations(), PartDesign::LinearPattern::getTransformations(), PartDesign::Mirrored::getTransformations(), PartDesign::PolarPattern::getTransformations(), PartDesign::ProfileBased::getUpToFaceFromLinkSub(), PartDesign::ProfileBased::getVerifiedFace(), PartDesign::ProfileBased::getVerifiedObject(), PartDesign::ProfileBased::getVerifiedSketch(), Gui::LinkInfo::getView(), Gui::DocumentItem::getViewProvider(), MeshGui::MeshSelection::getViewProviders(), Gui::ViewProviderDocumentObjectGroup::getViewProviders(), PartDesign::BodyPy::getVisibleFeature(), Surface::GeomFillSurface::getWire(), TechDraw::ShapeExtractor::getXShapes(), Gui::GraphicsView3D::GraphicsView3D(), Part::BodyBase::handleChangedPropertyName(), PartDesign::Boolean::handleChangedPropertyName(), Surface::Extend::handleChangedPropertyName(), TechDraw::DrawViewBalloon::handleChangedPropertyName(), PartGui::ViewProvider2DObjectGrid::handleChangedPropertyType(), Part::Part2DObject::handleChangedPropertyType(), TechDraw::DrawView::handleChangedPropertyType(), Gui::SelectionSingleton::hasSelection(), TechDraw::DrawPage::hasValidTemplate(), DrawingGui::ViewProviderDrawingView::hide(), DrawingGui::ViewProviderDrawingClip::hide(), TechDrawGui::ViewProviderViewClip::hide(), TechDrawGui::ViewProviderDrawingView::hide(), PartDesignGui::ViewProviderShapeBinder::highlightReferences(), Fem::FemPostPipelinePy::holdsPostObject(), Sketcher::SketchObject::increaseBSplineDegree(), Gui::Dialog::DlgPropertyLink::init(), Gui::ViewProviderLink::initDraggingPlacement(), App::GeoFeatureGroupExtension::initExtension(), App::Application::initTypes(), Gui::Application::initTypes(), PartDesign::Body::insertObject(), InspectionGui::ViewProviderInspection::inspectCallback(), InspectionGui::ViewProviderInspection::inspectDistance(), StdCmdTransformManip::isActive(), StdCmdAlignment::isActive(), StdCmdTreeSelectAllInstances::isActive(), StdCmdMeasureDistance::isActive(), PartDesign::Body::isAllowed(), PartDesignGui::isAnyNonPartDesignLinksTo(), Sketcher::SketchObject::isCarbonCopyAllowed(), PartDesign::Feature::isDatum(), PartDesignGui::isFeatureMovable(), TechDraw::DrawView::isInClip(), App::GeoFeatureGroupExtension::isLinkValid(), PartDesign::Body::isMemberOfMultiTransform(), PartDesignGui::isPartDesignAwareObjecta(), TechDraw::ShapeExtractor::isPointType(), PartDesign::Body::isSolidFeature(), Sketcher::SketchObject::isSupportedGeometry(), TechDrawGui::QGIProjGroup::itemChange(), TechDrawGui::QGIView::itemChange(), Fem::FemPostPipeline::load(), Fem::FemPostPipelinePy::load(), TechDrawGui::TaskLinkDim::loadAvailDims(), Import::ImportOCAF2::loadShapes(), PartDesignGui::TaskFeaturePick::makeCopy(), SketcherGui::makeTangentToArcOfEllipseviaNewPoint(), SketcherGui::makeTangentToArcOfHyperbolaviaNewPoint(), SketcherGui::makeTangentToArcOfParabolaviaNewPoint(), SketcherGui::makeTangentToEllipseviaNewPoint(), MeshGui::ViewProviderMesh::markPartCallback(), Sketcher::SketchObject::migrateSketch(), PartGui::Mirroring::Mirroring(), Sketcher::SketchObject::modifyBSplineKnotMultiplicity(), SketcherGui::ViewProviderSketch::mouseButtonPressed(), Gui::TreeView::mouseDoubleClickEvent(), DrawSketchHandlerExtend::mouseMove(), SketcherGui::ViewProviderSketch::mouseMove(), SketcherGui::ViewProviderSketch::moveConstraint(), TechDrawGui::DrawGuiUtil::needPage(), TechDrawGui::DrawGuiUtil::needView(), PartGui::OffsetWidget::OffsetWidget(), Gui::Dialog::DlgMaterialPropertiesImp::on_ambientColor_changed(), Gui::Dialog::DlgMaterialPropertiesImp::on_diffuseColor_changed(), Gui::Dialog::DlgMaterialPropertiesImp::on_emissiveColor_changed(), SketcherGui::TaskSketcherElements::on_listWidgetElements_filterShortcutPressed(), SketcherGui::TaskSketcherElements::on_listWidgetElements_itemEntered(), MeshGui::DlgEvaluateMeshImp::on_meshNameButton_activated(), Gui::Dialog::DlgMaterialPropertiesImp::on_shininess_valueChanged(), Gui::Dialog::DlgMaterialPropertiesImp::on_specularColor_changed(), App::Document::onBeforeChangeProperty(), Gui::ViewProviderAnnotationLabel::onChanged(), Fem::FemPostClipFilter::onChanged(), Fem::FemPostCutFilter::onChanged(), PartDesign::Body::onChanged(), PartDesignGui::ViewProvider::onChanged(), SketcherGui::ViewProviderSketch::onDelete(), TechDrawGui::MDIViewPage::onDeleteObject(), PartDesign::Body::onDocumentRestored(), App::OriginGroupExtension::onExtendedSetupObject(), Gui::ElementColors::Private::onSelectionChanged(), PartDesignGui::TaskBooleanParameters::onSelectionChanged(), PartDesignGui::TaskLinearPatternParameters::onSelectionChanged(), PartDesignGui::TaskMirroredParameters::onSelectionChanged(), PartDesignGui::TaskPolarPatternParameters::onSelectionChanged(), DrawSketchHandlerExternal::onSelectionChanged(), DrawSketchHandlerCarbonCopy::onSelectionChanged(), TechDrawGui::MDIViewPage::onSelectionChanged(), Gui::PropertyView::onTimer(), PartGui::PropertyEnumAttacherItem::openTask(), App::DocumentObjectT::operator=(), PartDesignGui::TaskTransformedParameters::originalSelected(), TechDrawGui::MDIViewPage::orphanExists(), MeshGui::ViewProviderMesh::partMeshCallback(), App::PropertyPythonObject::Paste(), App::PropertyLink::Paste(), App::PropertyLinkList::Paste(), App::PropertyLinkSub::Paste(), App::PropertyLinkSubList::Paste(), App::PropertyXLink::Paste(), App::PropertyXLinkSubList::Paste(), Sketcher::SketchObject::port_reversedExternalArcs(), PartDesign::DressUp::positionByBaseFeature(), PartDesign::ProfileBased::positionByPrevious(), PartDesign::MultiTransform::positionBySupport(), DrawSketchHandlerLineSet::pressButton(), Gui::ManualAlignment::probePickedCallback(), Part::CurveConstraintPy::PyInit(), Attacher::AttachEngine::readLinks(), Import::ExportOCAF::reallocateFreeShape(), SketcherGui::ViewProviderSketch::rebuildConstraintsVisual(), Sketcher::SketchObject::rebuildExternalGeometry(), Sketcher::SketchObject::rebuildVertexIndex(), TechDraw::DrawViewCollection::rebuildViewList(), PartDesignGui::ViewProviderTransformed::recomputeFeature(), PartDesignGui::TaskShapeBinder::referenceSelected(), MeshGui::DlgEvaluateMeshImp::refreshList(), DrawSketchHandlerLineSet::registerPressedKey(), DrawSketchHandlerFillet::releaseButton(), DrawSketchHandlerTrimming::releaseButton(), DrawSketchHandlerExtend::releaseButton(), SketcherGui::ReleaseHandler(), PartDesignGui::relinkToBody(), PartDesignGui::relinkToOrigin(), App::OriginGroupExtension::relinkToOrigin(), PartDesign::ProfileBased::remapSupportShape(), Sketcher::SketchAnalysis::removeDegeneratedGeometries(), PartDesign::Body::removeObject(), Path::FeaturePathCompoundPy::removeObject(), TechDraw::DrawPage::removeView(), App::PropertyLink::resetLink(), PartDesign::Transformed::Restore(), App::PropertyLink::Restore(), App::PropertyLinkList::Restore(), App::PropertyLinkSub::Restore(), App::PropertyXLink::Restore(), Part::Primitive::Restore(), Fem::PropertyPostDataObject::RestoreDocFile(), Part::PropertyPartShape::RestoreDocFile(), Path::PropertyPath::RestoreDocFile(), Fem::PropertyPostDataObject::SaveDocFile(), Part::PropertyPartShape::SaveDocFile(), PartGui::DlgSettings3DViewPart::saveSettings(), SketcherGui::DrawSketchHandler::seekAutoConstraint(), Part::Part2DObject::seekTrimPoints(), MeshGui::ViewProviderMesh::segmMeshCallback(), Gui::View3DInventorViewer::selectAll(), MeshGui::ViewProviderMesh::selectGLCallback(), PartGui::FaceColors::Private::selectionCallback(), Gui::SelectionSingleton::selStackGet(), App::PropertyLinkList::set1Value(), PartDesign::Body::setBaseProperty(), Sketcher::ExternalGeometryFacadePy::setConstruction(), PointsGui::ViewProviderPoints::setDisplayMode(), InspectionGui::ViewProviderInspection::setDistances(), Gui::Document::setEdit(), Gui::ViewProviderDragger::setEdit(), Gui::Document::setHide(), Gui::Dialog::DlgInspector::setNodeNames(), Gui::View3DInventorViewer::setOverrideMode(), TechDrawGui::QGVPage::setPageTemplate(), App::LinkBaseExtension::setProperty(), Gui::PropertyEditor::PropertyItem::setPropertyValue(), Spreadsheet::Sheet::setQuantityProperty(), Gui::AlignmentGroup::setRandomColor(), Gui::Document::setShow(), SketcherGui::SketchSelection::setUp(), MeshGui::Workbench::setupContextMenu(), PartDesignGui::Workbench::setupContextMenu(), Gui::StdWorkbench::setupContextMenu(), App::Origin::setupObject(), PartDesignGui::TaskSketchBasedParameters::setUpToFace(), MeshGui::ViewProviderMeshCurvature::setVertexCurvatureMode(), Gui::Dialog::DlgMaterialPropertiesImp::setViewProviders(), PartDesignGui::ViewProviderBody::setVisualBodyMode(), Gui::SelectionSingleton::sGetSelectionEx(), Gui::RecoveryWriter::shouldWrite(), MeshGui::Annotation::show(), DrawingGui::ViewProviderDrawingView::show(), DrawingGui::ViewProviderDrawingClip::show(), TechDrawGui::ViewProviderViewClip::show(), TechDrawGui::ViewProviderDrawingView::show(), PartGui::ViewProviderSpline::showControlPoints(), PartGui::ViewProviderSplineExtension::showControlPoints(), Gui::Document::slotActivatedObject(), Gui::Document::slotChangedObject(), PartDesignGui::ViewProviderBody::slotChangedObjectApp(), Gui::ViewProviderOriginGroupExtension::slotChangedObjectGui(), PartDesignGui::ViewProviderBody::slotChangedObjectGui(), Gui::Document::slotDeletedObject(), Gui::ManualAlignment::slotDeletedObject(), Gui::Document::slotFinishRestoreDocument(), Gui::Document::slotRelabelObject(), Gui::Document::slotTransactionAppend(), PartDesignGui::ViewProviderTransformed::startEditing(), App::DocumentObjectPy::supportedProperties(), Gui::ViewProviderPy::supportedProperties(), App::DocumentPy::supportedTypes(), App::PropertyXLink::supportXLink(), PartDesignGui::TaskFeaturePick::TaskFeaturePick(), FemGui::TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary(), TechDrawGui::TaskLeaderLine::TaskLeaderLine(), DrawingGui::TaskOrthoViews::TaskOrthoViews(), FemGui::TaskPostClip::TaskPostClip(), FemGui::TaskPostCut::TaskPostCut(), FemGui::TaskPostDataAlongLine::TaskPostDataAlongLine(), FemGui::TaskPostDataAtPoint::TaskPostDataAtPoint(), FemGui::TaskPostFunction::TaskPostFunction(), FemGui::TaskPostScalarClip::TaskPostScalarClip(), FemGui::TaskPostWarpVector::TaskPostWarpVector(), PartDesignGui::TaskRevolutionParameters::TaskRevolutionParameters(), TechDrawGui::TaskRichAnno::TaskRichAnno(), Gui::TaskView::TaskSelectLinkProperty::TaskSelectLinkProperty(), MeshGui::TaskSmoothing::TaskSmoothing(), TechDrawGui::TaskWeldingSymbol::TaskWeldingSymbol(), Sketcher::SketchObject::toggleDriving(), Gui::PropertyEditor::PropertyMatrixItem::toolTip(), Gui::PropertyEditor::PropertyPlacementItem::toolTip(), Gui::PropertyEditor::PropertyMaterialItem::toolTip(), Gui::PropertyEditor::PropertyMaterialListItem::toolTip(), Sketcher::SketchObject::transferFilletConstraints(), Sketcher::SketchObject::trim(), MeshGui::ViewProviderMesh::trimMeshCallback(), PartDesignGui::ViewProviderBody::unifyVisualProperty(), PartDesign::SubShapeBinder::update(), SketcherGui::ViewProviderSketch::updateColor(), Gui::ViewProviderAnnotation::updateData(), Gui::ViewProviderAnnotationLabel::updateData(), Gui::ViewProviderGeometryObject::updateData(), Gui::ViewProviderInventorObject::updateData(), Gui::ViewProviderMeasureDistance::updateData(), Gui::ViewProviderVRMLObject::updateData(), DrawingGui::ViewProviderDrawingPage::updateData(), FemGui::ViewProviderFemMesh::updateData(), InspectionGui::ViewProviderInspection::updateData(), MeshGui::ViewProviderMesh::updateData(), MeshGui::ViewProviderIndexedFaceSet::updateData(), MeshGui::ViewProviderMeshObject::updateData(), MeshGui::ViewProviderMeshCurvature::updateData(), MeshGui::ViewProviderMeshFaceSet::updateData(), PartGui::ViewProvider2DObjectGrid::updateData(), PartGui::ViewProviderBoolean::updateData(), PartGui::ViewProviderMultiFuse::updateData(), PartGui::ViewProviderMultiCommon::updateData(), PartGui::ViewProviderCompound::updateData(), PartGui::ViewProviderCurveNet::updateData(), PartGui::ViewProviderFillet::updateData(), PartGui::ViewProviderChamfer::updateData(), PartGui::ViewProviderCustom::updateData(), PartGui::ViewProviderRuledSurface::updateData(), PathGui::ViewProviderArea::updateData(), PathGui::ViewProviderAreaView::updateData(), PathGui::ViewProviderPathShape::updateData(), PointsGui::ViewProviderScattered::updateData(), PointsGui::ViewProviderStructured::updateData(), RobotGui::ViewProviderRobotObject::updateData(), SketcherGui::ViewProviderCustom::updateData(), Gui::ViewProviderDragger::updateData(), PartDesignGui::ViewProvider::updateData(), TechDrawGui::ViewProviderTemplate::updateData(), PartGui::ViewProviderSpline::updateData(), PartDesignGui::ViewProviderBody::updateData(), FemGui::ViewProviderFemPostPipeline::updateFunctionSize(), PartDesignGui::ViewProviderBody::updateOriginDatumSize(), Gui::ViewProviderOriginGroupExtension::updateOriginSize(), FemGui::ViewProviderFemPostFunctionProvider::updateSize(), TechDrawGui::MDIViewPage::updateTemplate(), DrawSketchHandlerLineSet::updateTransitionData(), App::PropertyXLink::upgrade(), App::PropertyXLinkSubList::upgrade(), App::PropertyXLinkSub::upgrade(), Sketcher::SketchObject::validateExternalLinks(), Gui::PropertyEditor::PropertyStringItem::value(), Gui::PropertyEditor::PropertyFontItem::value(), Gui::PropertyEditor::PropertyIntegerItem::value(), Gui::PropertyEditor::PropertyIntegerConstraintItem::value(), Gui::PropertyEditor::PropertyFloatItem::value(), Gui::PropertyEditor::PropertyUnitItem::value(), Gui::PropertyEditor::PropertyFloatConstraintItem::value(), Gui::PropertyEditor::PropertyBoolItem::value(), Gui::PropertyEditor::PropertyVectorItem::value(), Gui::PropertyEditor::PropertyVectorListItem::value(), Gui::PropertyEditor::PropertyVectorDistanceItem::value(), Gui::PropertyEditor::PropertyMatrixItem::value(), Gui::PropertyEditor::PropertyPlacementItem::value(), Gui::PropertyEditor::PropertyEnumItem::value(), Gui::PropertyEditor::PropertyStringListItem::value(), Gui::PropertyEditor::PropertyFloatListItem::value(), Gui::PropertyEditor::PropertyIntegerListItem::value(), Gui::PropertyEditor::PropertyColorItem::value(), Gui::PropertyEditor::PropertyMaterialItem::value(), Gui::PropertyEditor::PropertyMaterialListItem::value(), Gui::PropertyEditor::PropertyFileItem::value(), Gui::PropertyEditor::PropertyPathItem::value(), Gui::PropertyEditor::PropertyTransientFileItem::value(), SketcherGui::PropertyConstraintListItem::value(), MeshPartGui::CurveOnMeshHandler::Private::vertexCallback(), Gui::RecoveryWriter::writeFiles(), App::PropertyLinkList::~PropertyLinkList(), App::PropertyLinkSub::~PropertyLinkSub(), App::PropertyLinkSubList::~PropertyLinkSubList(), PartDesignGui::TaskDatumParameters::~TaskDatumParameters(), and App::Transaction::~Transaction().

◆ getMemSize()

unsigned int Persistence::getMemSize ( void  ) const
pure virtual

This method is used to get the size of objects It is not meant to have the exact size, it is more or less an estimation which runs fast! Is it two bytes or a GB?

Implemented in Spreadsheet::PropertySheet, Sketcher::SketchObject, Sketcher::PropertyConstraintList, Sketcher::Constraint, Gui::DocumentItem, App::PropertyPersistentObject, App::PropertyMaterialList, App::PropertyColorList, App::PropertyBoolList, App::PropertyStringList, App::PropertyFloatList, App::PropertyIntegerList, App::PropertyXLinkSubList, App::PropertyLinkSubList, App::PropertyLinkSub, App::PropertyLinkList, App::PropertyLink, App::PropertyPlacementList, App::PropertyPlacement, App::PropertyVectorList, App::PropertyVector, App::PropertyExpressionEngine, App::Property, App::Document, Part::Geom2dArcOfConic, Part::Geom2dConic, Part::GeomArcOfConic, Part::GeomConic, TechDraw::PropertyGeomFormatList, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyCosmeticEdgeList, TechDraw::PropertyCenterLineList, TechDraw::DrawTemplate, TechDraw::DrawSVGTemplate, TechDraw::DrawParametricTemplate, TechDraw::GeomFormat, TechDraw::CenterLine, TechDraw::CosmeticEdge, TechDraw::CosmeticVertex, Sketcher::Sketch, Robot::Waypoint, Robot::Trajectory, Robot::Robot6Axis, Robot::PropertyTrajectory, Points::PropertyPointKernel, Points::PropertyCurvatureList, Points::PropertyNormalList, Points::PropertyGreyValueList, Points::PointKernel, Path::Tooltable, Path::Tool, Path::PropertyTooltable, Path::PropertyTool, Path::PropertyPath, Path::Toolpath, Path::Command, Part::TopoShape, Part::PropertyFilletEdges, Part::PropertyShapeHistory, Part::PropertyPartShape, Part::PropertyGeometryList, Part::Geom2dTrimmedCurve, Part::Geom2dOffsetCurve, Part::Geom2dLineSegment, Part::Geom2dLine, Part::Geom2dArcOfParabola, Part::Geom2dParabola, Part::Geom2dArcOfHyperbola, Part::Geom2dHyperbola, Part::Geom2dArcOfEllipse, Part::Geom2dEllipse, Part::Geom2dArcOfCircle, Part::Geom2dCircle, Part::Geom2dBSplineCurve, Part::Geom2dBezierCurve, Part::Geom2dPoint, Part::Geometry2d, Part::GeomSurfaceOfExtrusion, Part::GeomSurfaceOfRevolution, Part::GeomTrimmedSurface, Part::GeomPlateSurface, Part::GeomOffsetSurface, Part::GeomPlane, Part::GeomToroid, Part::GeomSphere, Part::GeomCone, Part::GeomCylinder, Part::GeomBSplineSurface, Part::GeomBezierSurface, Part::GeomOffsetCurve, Part::GeomLineSegment, Part::GeomLine, Part::GeomArcOfParabola, Part::GeomParabola, Part::GeomArcOfHyperbola, Part::GeomHyperbola, Part::GeomArcOfEllipse, Part::GeomEllipse, Part::GeomArcOfCircle, Part::GeomCircle, Part::GeomTrimmedCurve, Part::GeomBSplineCurve, Part::GeomBezierCurve, Part::GeomPoint, Part::Geometry, Mesh::PropertyMeshKernel, Mesh::PropertyCurvatureList, Mesh::PropertyNormalList, Mesh::MeshObject, Inspection::PropertyDistanceList, Fem::PropertyPostDataObject, Fem::PropertyFemMesh, Fem::FemMesh, Gui::Thumbnail, Gui::MergeDocuments, Gui::Document, App::TransactionObject, App::Transaction, App::PropertyMaterial, App::PropertyColor, App::PropertyBool, App::PropertyUUID, App::PropertyString, App::PropertyFloat, App::PropertyMap, App::PropertyIntegerSet, App::PropertyPath, App::PropertyInteger, App::PropertyPythonObject, App::PropertyMatrix, App::PropertyFileIncluded, App::PropertyContainer, and App::MergeDocuments.

◆ getTypeId()

Base::Type Base::Persistence::getTypeId ( void  ) const
virtual

Reimplemented from Base::BaseClass.

Referenced by PartDesignGui::TaskDlgFeatureParameters::accept(), PartDesignGui::TaskDlgSketchBasedParameters::accept(), PartGui::DlgPrimitives::accept(), SketcherCopy::activate(), StdCmdPlacement::activated(), StdCmdGroup::activated(), CmdSketcherConstrainHorizontal::activated(), CmdSketcherConstrainVertical::activated(), CmdSketcherConstrainDistance::activated(), CmdSketcherConstrainPointOnObject::activated(), CmdSketcherConstrainDistanceX::activated(), CmdSketcherConstrainDistanceY::activated(), CmdSketcherConstrainParallel::activated(), CmdSketcherConstrainPerpendicular::activated(), CmdSketcherConstrainTangent::activated(), CmdSketcherConstrainRadius::activated(), CmdSketcherConstrainDiameter::activated(), CmdSketcherConstrainAngle::activated(), CmdSketcherConstrainEqual::activated(), CmdSketcherConstrainSymmetric::activated(), Sketcher::SketchObject::addCopy(), Sketcher::SketchObject::addGeometry(), Sketcher::Sketch::addGeometry(), Sketcher::SketchObjectPy::addGeometry(), App::Document::addObject(), Path::FeaturePathCompoundPy::addObject(), App::Transaction::addObjectChange(), App::Transaction::addObjectDel(), App::Transaction::addObjectNew(), App::TransactionObject::addOrRemoveProperty(), App::Transaction::addOrRemoveProperty(), Sketcher::SketchObject::addSymmetric(), MeshGui::DlgEvaluateMeshImp::addViewProvider(), PartGui::SweepWidget::Private::EdgeSelection::allow(), SketcherGui::FilletSelection::allow(), SketcherGui::TrimmingSelection::allow(), SketcherGui::ExtendSelection::allow(), PartDesignGui::ReferenceSelection::allow(), SketcherGui::ExternalSelection::allow(), PartGui::ViewProviderPartExt::allowOverride(), Gui::QuantitySpinBox::apply(), CmdSketcherConstrainHorizontal::applyConstraint(), CmdSketcherConstrainVertical::applyConstraint(), CmdSketcherConstrainDistance::applyConstraint(), CmdSketcherConstrainPointOnObject::applyConstraint(), CmdSketcherConstrainDistanceX::applyConstraint(), CmdSketcherConstrainDistanceY::applyConstraint(), CmdSketcherConstrainParallel::applyConstraint(), CmdSketcherConstrainPerpendicular::applyConstraint(), CmdSketcherConstrainTangent::applyConstraint(), CmdSketcherConstrainRadius::applyConstraint(), CmdSketcherConstrainDiameter::applyConstraint(), CmdSketcherConstrainAngle::applyConstraint(), CmdSketcherConstrainEqual::applyConstraint(), CmdSketcherConstrainSymmetric::applyConstraint(), Part::Geometry::assignTag(), TechDraw::CenterLine::assignTag(), TechDraw::CosmeticEdge::assignTag(), TechDraw::CosmeticVertex::assignTag(), TechDraw::GeomFormat::assignTag(), Sketcher::SketchObject::carbonCopy(), Sketcher::SketchObjectPy::carbonCopy(), PartDesignGui::collectMovableDependencies(), Sketcher::SketchObject::convertToNURBS(), SketcherGui::DrawSketchHandler::createAutoConstraints(), MeshGui::ViewProviderMeshCurvature::curvatureInfo(), MeshGui::ViewProviderMeshCurvature::curvatureInfoCallback(), Sketcher::SketchObject::decreaseBSplineDegree(), Sketcher::SketchObject::deleteUnusedInternalGeometry(), Sketcher::SketchObject::delGeometry(), Gui::DocumentObjectItem::displayStatusInfo(), PartGui::DlgPrimitives::DlgPrimitives(), SketcherGui::ViewProviderSketch::draw(), SketcherGui::ViewProviderSketch::drawConstraintIcons(), Sketcher::SketchObject::evaluateSupport(), Drawing::FeatureProjection::execute(), Drawing::FeatureViewPart::execute(), Drawing::FeatureViewSpreadsheet::execute(), Inspection::Feature::execute(), Mesh::HarmonizeNormals::execute(), Mesh::FlipNormals::execute(), Mesh::FixNonManifolds::execute(), Mesh::FixDuplicatedFaces::execute(), Mesh::FixDuplicatedPoints::execute(), Mesh::FixDegenerations::execute(), Mesh::FixDeformations::execute(), Mesh::FixIndices::execute(), Mesh::FillHoles::execute(), Mesh::RemoveComponents::execute(), Mesh::SegmentByMesh::execute(), PartDesign::Pipe::execute(), Raytracing::LuxFeature::execute(), Raytracing::RayFeature::execute(), Robot::Edge2TracObject::execute(), Robot::TrajectoryDressUpObject::execute(), Surface::Cut::execute(), Surface::Filling::execute(), TechDraw::DrawViewSpreadsheet::execute(), PartDesign::Body::execute(), Surface::Extend::execute(), TechDraw::DrawViewDetail::execute(), Sketcher::SketchObject::exposeInternalGeometry(), Sketcher::SketchObject::extend(), PartGui::ViewProviderSplineExtension::extensionUpdateData(), MeshGui::ViewProviderMesh::faceInfoCallback(), Sketcher::SketchObject::fillet(), MeshGui::ViewProviderMesh::fillHoleCallback(), Gui::FreeCADGui_subgraphFromObject(), PartDesign::ProfileBased::getAxis(), PartDesign::Feature::getBaseObject(), InspectionGui::ViewProviderInspection::getIcon(), App::OriginGroupExtension::getOrigin(), Sketcher::SketchObject::getPoint(), TechDraw::ShapeExtractor::getShapesFromObject(), PartDesign::Transformed::getSketchObject(), PartDesign::ProfileBased::getSupportFace(), PartDesign::MultiTransform::getTransformations(), PartDesign::Scaled::getTransformations(), PartDesign::LinearPattern::getTransformations(), PartDesign::Mirrored::getTransformations(), PartDesign::PolarPattern::getTransformations(), App::PropertyContainerPy::getTypeIdOfProperty(), Gui::DAG::FilterOrigin::goFilter(), Gui::DAG::FilterTyped::goFilter(), PartGui::ViewProvider2DObjectGrid::handleChangedPropertyType(), Part::Part2DObject::handleChangedPropertyType(), TechDraw::DrawPage::handleChangedPropertyType(), TechDraw::DrawView::handleChangedPropertyType(), Sketcher::SketchObject::increaseBSplineDegree(), InspectionGui::ViewProviderInspection::inspectCallback(), InspectionGui::ViewProviderInspection::inspectDistance(), Sketcher::SketchObject::isCarbonCopyAllowed(), PartDesign::Feature::isDatum(), PartDesignGui::isFeatureMovable(), Sketcher::SketchObject::isSupportedGeometry(), TechDrawGui::QGIProjGroup::itemChange(), SketcherGui::makeTangentToArcOfEllipseviaNewPoint(), SketcherGui::makeTangentToArcOfHyperbolaviaNewPoint(), SketcherGui::makeTangentToArcOfParabolaviaNewPoint(), SketcherGui::makeTangentToEllipseviaNewPoint(), MeshGui::ViewProviderMesh::markPartCallback(), Sketcher::SketchObject::modifyBSplineKnotMultiplicity(), SketcherGui::ViewProviderSketch::mouseButtonPressed(), DrawSketchHandlerExtend::mouseMove(), SketcherGui::ViewProviderSketch::mouseMove(), SketcherGui::ViewProviderSketch::moveConstraint(), Gui::Dialog::DlgMaterialPropertiesImp::on_ambientColor_changed(), Gui::Dialog::DlgMaterialPropertiesImp::on_diffuseColor_changed(), Gui::Dialog::DlgMaterialPropertiesImp::on_emissiveColor_changed(), Gui::Dialog::DlgMaterialPropertiesImp::on_shininess_valueChanged(), Gui::Dialog::DlgMaterialPropertiesImp::on_specularColor_changed(), Gui::ViewProviderLink::onChanged(), PartDesignGui::TaskBooleanParameters::onSelectionChanged(), Gui::PropertyView::onTimer(), App::PropertyPythonObject::Paste(), DrawSketchHandlerLineSet::pressButton(), Gui::ManualAlignment::probePickedCallback(), Part::CurveConstraintPy::PyInit(), SketcherGui::ViewProviderSketch::rebuildConstraintsVisual(), Sketcher::SketchObject::rebuildExternalGeometry(), DrawSketchHandlerLineSet::registerPressedKey(), DrawSketchHandlerFillet::releaseButton(), DrawSketchHandlerTrimming::releaseButton(), DrawSketchHandlerExtend::releaseButton(), PartDesignGui::relinkToOrigin(), Path::FeaturePathCompoundPy::removeObject(), Mesh::MeshFeaturePy::representation(), PartDesign::Fillet::Restore(), PartDesign::ProfileBased::Restore(), PartDesign::Transformed::Restore(), App::PropertyLink::Restore(), App::PropertyLinkList::Restore(), App::PropertyLinkSub::Restore(), App::PropertyXLink::Restore(), Part::Primitive::Restore(), PartDesign::Chamfer::Restore(), SketcherGui::DrawSketchHandler::seekAutoConstraint(), Part::Part2DObject::seekTrimPoints(), Sandbox::DocumentObjectProtectorPy::setattr(), InspectionGui::ViewProviderInspection::setDistances(), Spreadsheet::Sheet::setFloatProperty(), Gui::Document::setHide(), Spreadsheet::Sheet::setIntegerProperty(), App::TransactionObject::setProperty(), Spreadsheet::Sheet::setQuantityProperty(), Gui::Document::setShow(), Gui::Dialog::DlgMaterialPropertiesImp::setViewProviders(), PartGui::ViewProviderSpline::showControlPoints(), PartGui::ViewProviderSplineExtension::showControlPoints(), Gui::Document::slotDeletedObject(), Gui::ManualAlignment::slotDeletedObject(), FemGui::TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary(), Gui::TaskView::TaskSelectLinkProperty::TaskSelectLinkProperty(), Gui::SelectionFilter::test(), Gui::PropertyEditor::PropertyMatrixItem::toolTip(), Gui::PropertyEditor::PropertyPlacementItem::toolTip(), Gui::PropertyEditor::PropertyMaterialItem::toolTip(), Gui::PropertyEditor::PropertyMaterialListItem::toolTip(), Sketcher::SketchObject::transferFilletConstraints(), Sketcher::SketchObject::trim(), Spreadsheet::Sheet::updateAlias(), SketcherGui::ViewProviderSketch::updateColor(), Gui::ViewProviderAnnotation::updateData(), Gui::ViewProviderAnnotationLabel::updateData(), Gui::ViewProviderMeasureDistance::updateData(), DrawingGui::ViewProviderDrawingPage::updateData(), InspectionGui::ViewProviderInspection::updateData(), MeshGui::ViewProviderMesh::updateData(), MeshGui::ViewProviderIndexedFaceSet::updateData(), MeshGui::ViewProviderMeshObject::updateData(), MeshGui::ViewProviderMeshCurvature::updateData(), MeshGui::ViewProviderMeshFaceSet::updateData(), PartGui::ViewProvider2DObjectGrid::updateData(), PartGui::ViewProviderBoolean::updateData(), PartGui::ViewProviderMultiFuse::updateData(), PartGui::ViewProviderMultiCommon::updateData(), PartGui::ViewProviderCompound::updateData(), PartGui::ViewProviderCurveNet::updateData(), PartGui::ViewProviderFillet::updateData(), PartGui::ViewProviderChamfer::updateData(), PartGui::ViewProviderCustom::updateData(), PartGui::ViewProviderRuledSurface::updateData(), PathGui::ViewProviderArea::updateData(), PathGui::ViewProviderAreaView::updateData(), PathGui::ViewProviderPathShape::updateData(), PointsGui::ViewProviderScattered::updateData(), PointsGui::ViewProviderStructured::updateData(), SketcherGui::ViewProviderCustom::updateData(), PartDesignGui::ViewProvider::updateData(), PartGui::ViewProviderSpline::updateData(), DrawSketchHandlerLineSet::updateTransitionData(), Sketcher::SketchObject::validateExternalLinks(), Gui::PropertyEditor::PropertyStringItem::value(), Gui::PropertyEditor::PropertyFontItem::value(), Gui::PropertyEditor::PropertyIntegerItem::value(), Gui::PropertyEditor::PropertyIntegerConstraintItem::value(), Gui::PropertyEditor::PropertyFloatItem::value(), Gui::PropertyEditor::PropertyUnitItem::value(), Gui::PropertyEditor::PropertyFloatConstraintItem::value(), Gui::PropertyEditor::PropertyBoolItem::value(), Gui::PropertyEditor::PropertyVectorItem::value(), Gui::PropertyEditor::PropertyVectorListItem::value(), Gui::PropertyEditor::PropertyVectorDistanceItem::value(), Gui::PropertyEditor::PropertyMatrixItem::value(), Gui::PropertyEditor::PropertyPlacementItem::value(), Gui::PropertyEditor::PropertyEnumItem::value(), Gui::PropertyEditor::PropertyStringListItem::value(), Gui::PropertyEditor::PropertyFloatListItem::value(), Gui::PropertyEditor::PropertyIntegerListItem::value(), Gui::PropertyEditor::PropertyColorItem::value(), Gui::PropertyEditor::PropertyMaterialItem::value(), Gui::PropertyEditor::PropertyMaterialListItem::value(), Gui::PropertyEditor::PropertyFileItem::value(), Gui::PropertyEditor::PropertyPathItem::value(), Gui::PropertyEditor::PropertyTransientFileItem::value(), SketcherGui::PropertyConstraintListItem::value(), and MeshPartGui::CurveOnMeshHandler::Private::vertexCallback().

◆ init()

◆ Restore()

void Persistence::Restore ( XMLReader )
pure virtual

This method is used to restore properties from an XML document.

It uses the XMLReader class, which bases on SAX, to read the in Save() written information. Again the Vector as an example:

void PropertyVector::Restore(Base::XMLReader &reader)
{
// read my Element
reader.readElement("PropertyVector");
// get the value of my Attribute
_cVec.x = reader.getAttributeAsFloat("valueX");
_cVec.y = reader.getAttributeAsFloat("valueY");
_cVec.z = reader.getAttributeAsFloat("valueZ");
}
The XML reader class This is an important helper class for the store and retrieval system of objects ...
Definition: Reader.h:118
void readElement(const char *ElementName=0)
read until a start element is found (<name>) or start-end element (<name/>) (with special name if giv...
Definition: Reader.cpp:240
double getAttributeAsFloat(const char *AttrName) const
return the named attribute as a double floating point (does type checking)
Definition: Reader.cpp:158

Implemented in TechDraw::DrawViewDimension, Spreadsheet::PropertySheet, Sketcher::PropertyConstraintList, PartDesign::Chamfer, Part::Primitive, Part::Part2DObject, App::PropertyPersistentObject, App::PropertyMaterialList, App::PropertyColorList, App::PropertyBoolList, App::PropertyStringList, App::PropertyFloatList, App::PropertyIntegerList, App::PropertyXLinkContainer, App::PropertyXLinkSubList, App::PropertyXLink, App::PropertyLinkSubList, App::PropertyLinkSub, App::PropertyLinkList, App::PropertyLink, App::PropertyPlacementList, App::PropertyPlacement, App::PropertyVectorList, App::PropertyVector, App::PropertyExpressionEngine, App::ExtensionContainer, App::Document, TechDraw::PropertyGeomFormatList, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyCosmeticEdgeList, TechDraw::PropertyCenterLineList, Spreadsheet::PropertyRowHeights, Spreadsheet::PropertyColumnWidths, Robot::PropertyTrajectory, Points::PropertyPointKernel, Points::PropertyCurvatureList, Points::PropertyNormalList, Points::PropertyGreyValueList, Points::Feature, Points::PointKernel, Path::PropertyTooltable, Path::PropertyTool, Path::PropertyPath, PartDesign::Transformed, PartDesign::ProfileBased, PartDesign::Hole, PartDesign::Fillet, PartDesign::Plane, PartGui::ViewProvider2DObjectGrid, Part::TopoShape, Part::PropertyFilletEdges, Part::PropertyShapeHistory, Part::PropertyPartShape, Part::PropertyGeometryList, Part::Box, Mesh::PropertyMeshKernel, Mesh::PropertyCurvatureList, Mesh::PropertyNormalList, Mesh::MeshObject, Inspection::PropertyDistanceList, Fem::PropertyPostDataObject, Fem::PropertyFemMesh, Gui::ViewProvider, Gui::Thumbnail, Gui::Document, App::VRMLObject, App::TransactionObject, App::Transaction, App::PropertyMaterial, App::PropertyColor, App::PropertyBool, App::PropertyUUID, App::PropertyString, App::PropertyFloat, App::PropertyMap, App::PropertyIntegerSet, App::PropertyEnumeration, App::PropertyPath, App::PropertyInteger, App::PropertyPythonObject, App::PropertyMatrix, App::PropertyFileIncluded, App::PropertyContainer, Gui::MergeDocuments, App::MergeDocuments, Sketcher::SketchObject, Sketcher::Constraint, Gui::DocumentItem, TechDraw::GeomFormat, TechDraw::CenterLine, TechDraw::CosmeticEdge, TechDraw::CosmeticVertex, Sketcher::Sketch, Robot::Waypoint, Robot::Trajectory, Robot::RobotObject, Robot::Robot6Axis, Path::Tooltable, Path::Tool, Path::Toolpath, Path::Command, Part::Geom2dTrimmedCurve, Part::Geom2dOffsetCurve, Part::Geom2dLineSegment, Part::Geom2dLine, Part::Geom2dArcOfParabola, Part::Geom2dParabola, Part::Geom2dArcOfHyperbola, Part::Geom2dHyperbola, Part::Geom2dArcOfEllipse, Part::Geom2dEllipse, Part::Geom2dArcOfCircle, Part::Geom2dCircle, Part::Geom2dBSplineCurve, Part::Geom2dBezierCurve, Part::Geom2dPoint, Part::Geometry2d, Part::GeomSurfaceOfExtrusion, Part::GeomSurfaceOfRevolution, Part::GeomTrimmedSurface, Part::GeomPlateSurface, Part::GeomOffsetSurface, Part::GeomPlane, Part::GeomToroid, Part::GeomSphere, Part::GeomCone, Part::GeomCylinder, Part::GeomBSplineSurface, Part::GeomBezierSurface, Part::GeomOffsetCurve, Part::GeomLineSegment, Part::GeomLine, Part::GeomArcOfParabola, Part::GeomParabola, Part::GeomArcOfHyperbola, Part::GeomHyperbola, Part::GeomArcOfEllipse, Part::GeomEllipse, Part::GeomArcOfCircle, Part::GeomCircle, Part::GeomTrimmedCurve, Part::GeomBSplineCurve, Part::GeomBezierCurve, Part::GeomPoint, Part::Geometry, and Fem::FemMesh.

Referenced by PartDesign::Fillet::Restore(), PartDesign::ProfileBased::Restore(), PartDesign::Transformed::Restore(), Part::Primitive::Restore(), PartDesign::Chamfer::Restore(), and restoreFromStream().

◆ RestoreDocFile()

void Persistence::RestoreDocFile ( Reader )
virtual

This method is used to restore large amounts of data from a file In this method you simply stream in your SaveDocFile() saved data.

Again you have to apply for the call of this method in the Restore() call:

void PropertyMeshKernel::Restore(Base::XMLReader &reader)
{
reader.readElement("Mesh");
std::string file (reader.getAttribute("file") );
if(file == "")
{
// read XML
MeshCore::MeshDocXML restorer(*_pcMesh);
restorer.Restore(reader);
}else{
// initiate a file read
reader.addFile(file.c_str(),this);
}
}
const char * getAttribute(const char *AttrName) const
return the named attribute as a double floating point (does type checking)
Definition: Reader.cpp:173
const char * addFile(const char *Name, Base::Persistence *Object)
add a read request of a persistent object
Definition: Reader.cpp:371
file
Definition: DrawingExample.py:75

After you issued the reader.addFile() your RestoreDocFile() is called:

void PropertyMeshKernel::RestoreDocFile(Base::Reader &reader)
{
_pcMesh->Read( reader );
}
Definition: Reader.h:296
See also
Base::Reader,Base::XMLReader

Reimplemented in App::PropertyMaterialList, App::PropertyColorList, App::PropertyFloatList, App::PropertyPlacementList, App::PropertyVectorList, Points::PropertyPointKernel, Points::PropertyCurvatureList, Points::PropertyNormalList, Points::PropertyGreyValueList, Points::Feature, Points::PointKernel, Path::PropertyPath, Path::Toolpath, Part::TopoShape, Part::PropertyFilletEdges, Part::PropertyShapeHistory, Part::PropertyPartShape, Mesh::PropertyMeshKernel, Mesh::PropertyCurvatureList, Mesh::PropertyNormalList, Mesh::MeshObject, Inspection::PropertyDistanceList, Fem::PropertyPostDataObject, Fem::PropertyFemMesh, Fem::FemMesh, Gui::Thumbnail, Gui::Document, App::VRMLObject, App::PropertyPythonObject, App::PropertyFileIncluded, Gui::MergeDocuments, and App::MergeDocuments.

◆ restoreFromStream()

◆ Save()

void Persistence::Save ( Writer ) const
pure virtual

This method is used to save properties to an XML document.

A good example you'll find in PropertyStandard.cpp, e.g. the vector:

void PropertyVector::Save (Writer &writer) const
{
writer << writer.ind() << "<PropertyVector valueX=\"" << _cVec.x <<
"\" valueY=\"" << _cVec.y <<
"\" valueZ=\"" << _cVec.z <<"\"/>" << endl;
}

The writer.ind() expression writes the indentation, just for pretty printing of the XML. As you see, the writing of the XML document is not done with a DOM implementation because of performance reasons. Therefore the programmer has to take care that a valid XML document is written. This means closing tags and writing UTF-8.

See also
Base::Writer

Implemented in Spreadsheet::PropertySheet, Sketcher::PropertyConstraintList, App::PropertyPersistentObject, App::PropertyMaterialList, App::PropertyColorList, App::PropertyBoolList, App::PropertyStringList, App::PropertyFloatList, App::PropertyIntegerList, App::PropertyXLinkContainer, App::PropertyXLinkSubList, App::PropertyXLink, App::PropertyLinkSubList, App::PropertyLinkSub, App::PropertyLinkList, App::PropertyLink, App::PropertyPlacementList, App::PropertyPlacement, App::PropertyVectorList, App::PropertyVector, App::PropertyExpressionEngine, App::ExtensionContainer, App::DocumentObject, App::Document, TechDraw::PropertyGeomFormatList, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyCosmeticEdgeList, TechDraw::PropertyCenterLineList, Spreadsheet::PropertyRowHeights, Spreadsheet::PropertyColumnWidths, Robot::PropertyTrajectory, Points::PropertyPointKernel, Points::PropertyCurvatureList, Points::PropertyNormalList, Points::PropertyGreyValueList, Points::PointKernel, Path::PropertyTooltable, Path::PropertyTool, Path::PropertyPath, Part::TopoShape, Part::PropertyFilletEdges, Part::PropertyShapeHistory, Part::PropertyPartShape, Part::PropertyGeometryList, Mesh::PropertyMeshKernel, Mesh::PropertyCurvatureList, Mesh::PropertyNormalList, Mesh::MeshObject, Inspection::PropertyDistanceList, Fem::PropertyPostDataObject, Fem::PropertyFemMesh, Gui::Thumbnail, Gui::Document, App::VRMLObject, App::TransactionObject, App::Transaction, App::PropertyMaterial, App::PropertyColor, App::PropertyBool, App::PropertyUUID, App::PropertyString, App::PropertyFloat, App::PropertyMap, App::PropertyIntegerSet, App::PropertyEnumeration, App::PropertyPath, App::PropertyInteger, App::PropertyPythonObject, App::PropertyMatrix, App::PropertyFileIncluded, App::PropertyContainer, Gui::MergeDocuments, App::MergeDocuments, Sketcher::SketchObject, Sketcher::Constraint, Gui::DocumentItem, TechDraw::GeomFormat, TechDraw::CenterLine, TechDraw::CosmeticEdge, TechDraw::CosmeticVertex, Sketcher::Sketch, Robot::Waypoint, Robot::Trajectory, Robot::RobotObject, Robot::Robot6Axis, Path::Tooltable, Path::Tool, Path::Toolpath, Path::Command, Part::Geom2dTrimmedCurve, Part::Geom2dOffsetCurve, Part::Geom2dLineSegment, Part::Geom2dLine, Part::Geom2dArcOfParabola, Part::Geom2dParabola, Part::Geom2dArcOfHyperbola, Part::Geom2dHyperbola, Part::Geom2dArcOfEllipse, Part::Geom2dEllipse, Part::Geom2dArcOfCircle, Part::Geom2dCircle, Part::Geom2dBSplineCurve, Part::Geom2dBezierCurve, Part::Geom2dPoint, Part::Geometry2d, Part::GeomSurfaceOfExtrusion, Part::GeomSurfaceOfRevolution, Part::GeomTrimmedSurface, Part::GeomPlateSurface, Part::GeomOffsetSurface, Part::GeomPlane, Part::GeomToroid, Part::GeomSphere, Part::GeomCone, Part::GeomCylinder, Part::GeomBSplineSurface, Part::GeomBezierSurface, Part::GeomOffsetCurve, Part::GeomLineSegment, Part::GeomLine, Part::GeomArcOfParabola, Part::GeomParabola, Part::GeomArcOfHyperbola, Part::GeomHyperbola, Part::GeomArcOfEllipse, Part::GeomEllipse, Part::GeomArcOfCircle, Part::GeomCircle, Part::GeomTrimmedCurve, Part::GeomBSplineCurve, Part::GeomBezierCurve, Part::GeomPoint, Part::Geometry, and Fem::FemMesh.

Referenced by dumpToStream(), and Base::PersistencePy::getContent().

◆ SaveDocFile()

void Persistence::SaveDocFile ( Writer ) const
virtual

This method is used to save large amounts of data to a binary file.

Sometimes it makes no sense to write property data as XML. In case the amount of data is too big or the data type has a more effective way to save itself. In this cases it is possible to write the data in a separate file inside the document archive. In case you want do so you have to re-implement SaveDocFile(). First, you have to inform the framework in Save() that you want do so. Here an example from the Mesh module which can save a (pontetionaly big) triangle mesh:

void PropertyMeshKernel::Save (Base::Writer &writer) const
{
if (writer.isForceXML())
{
writer << writer.ind() << "<Mesh>" << std::endl;
MeshCore::MeshDocXML saver(*_pcMesh);
saver.Save(writer);
}else{
writer << writer.ind() << "<Mesh file=\"" << writer.addFile("MeshKernel.bms", this) << "\"/>" << std::endl;
}
The Writer class This is an important helper class for the store and retrieval system of persistent o...
Definition: Writer.h:58
const char * ind(void) const
get the current indentation
Definition: Writer.h:109
std::string addFile(const char *Name, const Base::Persistence *Object)
add a write request of a persistent object
Definition: Writer.cpp:165
bool isForceXML(void)
check on state
Definition: Writer.cpp:97

The writer.isForceXML() is an indication to force you to write XML. Regardless of size and effectiveness. The second part informs the Base::writer through writer.addFile("MeshKernel.bms", this) that this object wants to write a file with the given name. The method addFile() returns a unique name that then is written in the XML stream. This allows your RestoreDocFile() method to identify and read the file again. Later your SaveDocFile() method is called as many times as you issued the addFile() call:

void PropertyMeshKernel::SaveDocFile (Base::Writer &writer) const
{
_pcMesh->Write( writer );
}

In this method you can simply stream your content to the file (Base::Writer inheriting from ostream).

Reimplemented in App::PropertyMaterialList, App::PropertyColorList, App::PropertyFloatList, App::PropertyPlacementList, App::PropertyVectorList, Points::PropertyPointKernel, Points::PropertyCurvatureList, Points::PropertyNormalList, Points::PropertyGreyValueList, Points::PointKernel, Path::PropertyPath, Path::Toolpath, Part::TopoShape, Part::PropertyFilletEdges, Part::PropertyShapeHistory, Part::PropertyPartShape, Mesh::PropertyMeshKernel, Mesh::PropertyCurvatureList, Mesh::PropertyNormalList, Mesh::MeshObject, Inspection::PropertyDistanceList, Fem::PropertyPostDataObject, Fem::PropertyFemMesh, Fem::FemMesh, Gui::Thumbnail, Gui::Document, App::VRMLObject, App::PropertyPythonObject, App::PropertyFileIncluded, Gui::MergeDocuments, and App::MergeDocuments.

Referenced by Gui::RecoveryRunnable::run(), Base::ZipWriter::writeFiles(), Base::FileWriter::writeFiles(), Gui::RecoveryWriter::writeFiles(), and Cloud::CloudWriter::writeFiles().


The documentation for this class was generated from the following files:
  • Sources/FreeCAD/src/Base/Persistence.h
  • Sources/FreeCAD/src/Base/Persistence.cpp