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::TaskDlgSketchBasedParameters::accept(), PartDesignGui::TaskDlgFeatureParameters::accept(), Gui::Dialog::TransformStrategy::acceptDataTransform(), App::ObjectIdentifier::access(), SketcherCopy::activate(), StdCmdGroup::activated(), StdCmdExport::activated(), StdCmdMeasurementSimple::activated(), StdCmdToggleSelectability::activated(), StdCmdSelectVisibleObjects::activated(), StdCmdToggleObjects::activated(), StdCmdShowObjects::activated(), StdCmdHideObjects::activated(), StdCmdSelectAll::activated(), CmdSketcherConstrainHorizontal::activated(), CmdSketcherConstrainVertical::activated(), StdCmdPlacement::activated(), StdCmdTransformManip::activated(), StdCmdAlignment::activated(), CmdSketcherConstrainLock::activated(), CmdSketcherConstrainBlock::activated(), CmdSketcherConstrainCoincident::activated(), CmdSketcherConstrainDistance::activated(), CmdSketcherConstrainPointOnObject::activated(), StdCmdTreeSelectAllInstances::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::SketchObjectPy::addGeometry(), Sketcher::SketchObject::addGeometry(), Path::FeaturePathCompoundPy::addObject(), PartDesign::Body::addObject(), App::DocumentPy::addObject(), App::Document::addObject(), App::Document::addObjects(), Mesh::MergeExporter::addPartFeat(), Mesh::AmfExporter::addPartFeat(), Gui::SelectionSingleton::addSelection(), Sketcher::SketchObject::addSymmetric(), TechDraw::DrawPage::addView(), MeshGui::DlgEvaluateMeshImp::addViewProvider(), Gui::ManualAlignment::alignObject(), SurfaceGui::FillingVertexPanel::VertexSelection::allow(), SurfaceGui::FillingUnboundPanel::ShapeSelection::allow(), PartGui::ShapeSelection::allow(), PartGui::DlgExtrusion::EdgeSelection::allow(), PartGui::DlgRevolution::EdgeSelection::allow(), PartGui::SweepWidget::Private::EdgeSelection::allow(), PartDesignGui::ReferenceSelection::allow(), SurfaceGui::GeomFillSurface::EdgeSelection::allow(), SurfaceGui::FillingPanel::ShapeSelection::allow(), SketcherGui::FilletSelection::allow(), SketcherGui::TrimmingSelection::allow(), SketcherGui::ExtendSelection::allow(), SketcherGui::ExternalSelection::allow(), PartGui::ViewProviderPartExt::allowOverride(), Sketcher::SketchAnalysis::analyseMissingPointOnPointCoincident(), PartGui::DlgExtrusion::apply(), MeshPartGui::CrossSections::apply(), PartGui::CrossSections::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(), CmdSketcherConstrainSymmetric::applyConstraint(), PartDesignGui::ViewProviderDatum::attach(), TechDrawGui::ViewProviderDimension::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(), PathGui::ViewProviderPathShape::canDragObject(), PartGui::ViewProviderCompound::canDragObject(), PathGui::ViewProviderArea::canDragObject(), PathGui::ViewProviderAreaView::canDragObject(), FemGui::ViewProviderFemAnalysis::canDragObject(), PartDesignGui::ViewProviderBody::canDropObject(), PartGui::ViewProviderCompound::canDropObject(), Sketcher::SketchObjectPy::carbonCopy(), Sketcher::SketchObject::carbonCopy(), PartDesignGui::TaskTransformedParameters::checkVisibility(), TechDrawGui::ViewProviderPage::claimChildren(), TechDrawGui::ViewProviderLeader::claimChildren(), PartDesignGui::ViewProviderLoft::claimChildren(), PartDesignGui::ViewProviderPipe::claimChildren(), PartDesignGui::ViewProviderSketchBased::claimChildren(), TechDrawGui::ViewProviderWeld::claimChildren(), TechDrawGui::ViewProviderViewPart::claimChildren(), MeshGui::ViewProviderMesh::clipMeshCallback(), PointsGui::ViewProviderPoints::clipPointsCallback(), PartDesignGui::collectMovableDependencies(), TechDrawGui::MDIViewPage::compareSelections(), Gui::PropertyEditor::PropertyEditor::contextMenuEvent(), Gui::TreeWidget::contextMenuEvent(), Sketcher::SketchObject::convertToNURBS(), TechDraw::DrawViewCollection::countChildren(), TechDrawGui::TaskRichAnno::createAnnoFeature(), SketcherGui::DrawSketchHandler::createAutoConstraints(), TechDrawGui::TaskLeaderLine::createLeaderFeature(), MeshGui::ViewProviderMeshCurvature::curvatureInfo(), Gui::PointMarker::customEvent(), PointsGui::ViewProviderScattered::cut(), SpreadsheetGui::SheetModel::data(), SketcherGui::ViewProviderSketch::deleteSelected(), Sketcher::SketchObject::deleteUnusedInternalGeometry(), Sketcher::SketchObject::delGeometry(), Sketcher::SketchAnalysis::detectMissingEqualityConstraints(), Sketcher::SketchAnalysis::detectMissingPointOnPointConstraints(), Sketcher::SketchAnalysis::detectMissingVerticalHorizontalConstraints(), Gui::Dialog::DlgAddProperty::DlgAddProperty(), PartGui::DlgExtrusion::DlgExtrusion(), PartGui::DlgRevolution::DlgRevolution(), Gui::SoFCUnifiedSelection::doAction(), SketcherGui::ViewProviderSketch::doBoxSelection(), SketcherGui::ViewProviderSketch::draw(), TechDrawGui::QGIViewBalloon::draw(), TechDrawGui::QGIViewDimension::draw(), SketcherGui::ViewProviderSketch::drawConstraintIcons(), TechDrawGui::QGIViewPart::drawMatting(), TechDrawGui::QGIViewSymbol::drawSvg(), PartDesignGui::ViewProviderBody::dropObject(), Sketcher::SketchObject::evaluateSupport(), PartDesign::Body::execute(), TechDraw::DrawViewDetail::execute(), Surface::Filling::execute(), Raytracing::LuxProject::execute(), Raytracing::RayProject::execute(), Raytracing::LuxFeature::execute(), Raytracing::RayFeature::execute(), Surface::Cut::execute(), TechDraw::DrawTemplate::execute(), TechDraw::DrawViewSection::execute(), PartDesign::Loft::execute(), Surface::Extend::execute(), Surface::Sewing::execute(), PartDesign::Pipe::execute(), Path::FeatureArea::execute(), Robot::TrajectoryCompound::execute(), Part::Offset2D::execute(), PartDesign::Boolean::execute(), Drawing::FeaturePage::execute(), Path::FeatureCompound::execute(), Drawing::FeatureClip::execute(), Drawing::FeatureViewSpreadsheet::execute(), TechDraw::DrawViewSpreadsheet::execute(), Mesh::SegmentByMesh::execute(), Robot::Edge2TracObject::execute(), Mesh::HarmonizeNormals::execute(), Path::FeatureShape::execute(), Robot::TrajectoryDressUpObject::execute(), TechDraw::DrawViewClip::execute(), Drawing::FeatureViewPart::execute(), Drawing::FeatureProjection::execute(), Path::FeatureAreaView::execute(), Mesh::FlipNormals::execute(), PartDesign::Transformed::execute(), Mesh::FixNonManifolds::execute(), Mesh::FixDuplicatedFaces::execute(), Mesh::FixDuplicatedPoints::execute(), Mesh::FixDegenerations::execute(), Mesh::FixDeformations::execute(), Inspection::Feature::execute(), Mesh::FixIndices::execute(), Mesh::FillHoles::execute(), Mesh::RemoveComponents::execute(), App::Document::exportGraphviz(), Import::ExportOCAF::exportObject(), Gui::Application::exportTo(), Sketcher::SketchObject::exposeInternalGeometry(), Sketcher::SketchObject::extend(), MeshGui::ViewProviderMesh::faceInfoCallback(), PartDesign::FeatureBase::FeatureBase(), Sketcher::SketchObject::fillet(), MeshGui::ViewProviderMesh::fillHoleCallback(), ExportOCAFGui::findColors(), TechDrawGui::MDIViewPage::findMissingViews(), App::DocumentPy::findObjects(), TechDrawGui::DrawGuiUtil::findPage(), TechDraw::DrawView::findParentPage(), PartGui::DlgExtrusion::findShapes(), PartGui::DlgFilletEdges::findShapes(), Gui::FreeCADGui_subgraphFromObject(), TechDraw::DrawPagePy::getAllViews(), TechDraw::DrawPage::getAllViews(), App::Origin::getAxis(), PartDesign::ProfileBased::getAxis(), Sketcher::SketchObject::getAxis(), Sketcher::SketchObject::getAxisCount(), TechDraw::DrawViewPart::getBalloons(), TechDraw::DrawViewSection::getBaseDPGI(), TechDraw::DrawViewSection::getBaseDVP(), PartDesign::DressUp::getBaseObject(), PartDesign::Transformed::getBaseObject(), PartDesign::ProfileBased::getBaseObject(), PartDesignGui::getBody(), PartDesignGui::ViewProvider::getBodyViewProvider(), TechDraw::DrawProjGroup::getBoundingBox(), Gui::AlignmentGroup::getBoundingBox(), TechDraw::DrawViewClip::getChildViewNames(), TechDraw::DrawView::getClipGroup(), MeshGui::ViewProviderMesh::getColorProperty(), App::LinkBaseExtension::getContainer(), App::PropertyContainerPy::getCustomAttributes(), TechDraw::DrawViewPart::getDetailRefs(), TechDraw::DrawViewPart::getDimensions(), PointsGui::ViewProviderPoints::getDisplayModes(), App::PropertyFileIncluded::getDocTransientPath(), App::DocumentObjectExtension::getExtendedObject(), Gui::ViewProviderExtension::getExtendedViewProvider(), PartDesign::ShapeBinder::getFilteredReferences(), Spreadsheet::Cell::getFormattedQuantity(), Sketcher::SketchObject::getGeometryWithDependentParameters(), TechDraw::DrawViewPart::getGeomHatches(), App::OriginGroupExtension::getGroupOfObject(), App::GeoFeatureGroupExtension::getGroupOfObject(), TechDraw::DrawViewPart::getHatches(), InspectionGui::ViewProviderInspection::getIcon(), Fem::FemPostFilter::getInputData(), TechDraw::DrawView::getLeaders(), Gui::View3DInventorPy::getObjectInfo(), MeshGui::MeshSelection::getObjects(), Gui::View3DInventorPy::getObjectsInfo(), App::OriginGroupExtension::getOrigin(), App::OriginFeature::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::Feature::getPointFromFace(), PartDesign::ProfileBased::getProfileNormal(), PartDesign::ProfileBased::getProfileWires(), PartDesignGui::getReferencedSelection(), PartDesignGui::ViewProviderDatum::getRelevantBoundBox(), Gui::Dialog::TransformStrategy::getRotationCenter(), TechDraw::DrawViewPart::getSectionRefs(), Gui::SelectionSingleton::getSelection(), TechDraw::ShapeExtractor::getShapes(), Path::FeatureAreaView::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::Mirrored::getTransformations(), PartDesign::MultiTransform::getTransformations(), PartDesign::Scaled::getTransformations(), PartDesign::LinearPattern::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(), Surface::GeomFillSurface::getWire(), TechDraw::ShapeExtractor::getXShapes(), Gui::GraphicsView3D::GraphicsView3D(), TechDraw::DrawViewBalloon::handleChangedPropertyName(), PartDesign::Boolean::handleChangedPropertyName(), PartGui::ViewProvider2DObject::handleChangedPropertyType(), TechDraw::DrawView::handleChangedPropertyType(), Part::Part2DObject::handleChangedPropertyType(), Gui::SelectionSingleton::hasSelection(), TechDraw::DrawPage::hasValidTemplate(), TechDrawGui::ViewProviderDrawingView::hide(), DrawingGui::ViewProviderDrawingView::hide(), TechDrawGui::ViewProviderViewClip::hide(), DrawingGui::ViewProviderDrawingClip::hide(), PartDesignGui::ViewProviderShapeBinder::highlightReferences(), Fem::FemPostPipelinePy::holdsPostObject(), Sketcher::SketchObject::increaseBSplineDegree(), Gui::Dialog::DlgPropertyLink::init(), Gui::ViewProviderLink::initDraggingPlacement(), App::GeoFeatureGroupExtension::initExtension(), Gui::Application::initTypes(), App::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(), SketcherGui::isConstructionPoint(), 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::FemPostPipelinePy::load(), Fem::FemPostPipeline::load(), TechDrawGui::TaskLinkDim::loadAvailDims(), Import::ImportOCAF2::loadShapes(), PartDesignGui::TaskFeaturePick::makeCopy(), SketcherGui::makeTangentToArcOfEllipseviaNewPoint(), SketcherGui::makeTangentToArcOfHyperbolaviaNewPoint(), SketcherGui::makeTangentToArcOfParabolaviaNewPoint(), SketcherGui::makeTangentToEllipseviaNewPoint(), MeshGui::ViewProviderMesh::markPartCallback(), PartGui::Mirroring::Mirroring(), Sketcher::SketchObject::modifyBSplineKnotMultiplicity(), FemGui::Module::Module(), SketcherGui::ViewProviderSketch::mouseButtonPressed(), Gui::TreeView::mouseDoubleClickEvent(), SketcherGui::ViewProviderSketch::mouseMove(), DrawSketchHandlerExtend::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(), Part::BodyBase::onBeforeChange(), App::Document::onBeforeChangeProperty(), PartDesignGui::ViewProvider::onChanged(), Fem::FemPostClipFilter::onChanged(), Gui::ViewProviderAnnotationLabel::onChanged(), PartDesign::Body::onChanged(), Fem::FemPostCutFilter::onChanged(), SketcherGui::ViewProviderSketch::onDelete(), TechDrawGui::MDIViewPage::onDeleteObject(), PartDesign::Body::onDocumentRestored(), App::OriginGroupExtension::onExtendedSetupObject(), TechDrawGui::MDIViewPage::onSelectionChanged(), PartDesignGui::TaskBooleanParameters::onSelectionChanged(), PartDesignGui::TaskMirroredParameters::onSelectionChanged(), PartDesignGui::TaskPolarPatternParameters::onSelectionChanged(), PartDesignGui::TaskLinearPatternParameters::onSelectionChanged(), Gui::ElementColors::Private::onSelectionChanged(), DrawSketchHandlerExternal::onSelectionChanged(), DrawSketchHandlerCarbonCopy::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(), 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(), PartDesignGui::relinkToBody(), App::OriginGroupExtension::relinkToOrigin(), PartDesignGui::relinkToOrigin(), PartDesign::ProfileBased::remapSupportShape(), Path::FeaturePathCompoundPy::removeObject(), PartDesign::Body::removeObject(), TechDraw::DrawPage::removeView(), App::PropertyLink::resetLink(), Part::Primitive::Restore(), PartDesign::Transformed::Restore(), App::PropertyLink::Restore(), App::PropertyLinkList::Restore(), App::PropertyLinkSub::Restore(), App::PropertyXLink::Restore(), Path::PropertyPath::RestoreDocFile(), Fem::PropertyPostDataObject::RestoreDocFile(), Part::PropertyPartShape::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(), Part::GeometryPy::setConstruction(), Sketcher::SketchObject::setConstruction(), PointsGui::ViewProviderPoints::setDisplayMode(), InspectionGui::ViewProviderInspection::setDistances(), Gui::ViewProviderDragger::setEdit(), Gui::Document::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(), PartDesignGui::Workbench::setupContextMenu(), MeshGui::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(), TechDrawGui::ViewProviderDrawingView::show(), DrawingGui::ViewProviderDrawingView::show(), TechDrawGui::ViewProviderViewClip::show(), DrawingGui::ViewProviderDrawingClip::show(), MeshGui::Annotation::show(), PartGui::ViewProviderSpline::showControlPoints(), Gui::Document::slotActivatedObject(), Gui::Document::slotChangedObject(), PartDesignGui::ViewProviderBody::slotChangedObjectApp(), PartDesignGui::ViewProviderBody::slotChangedObjectGui(), Gui::ViewProviderOriginGroupExtension::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::toggleConstruction(), Sketcher::SketchObject::toggleDriving(), Gui::PropertyEditor::PropertyMatrixItem::toolTip(), Gui::PropertyEditor::PropertyPlacementItem::toolTip(), Gui::PropertyEditor::PropertyMaterialItem::toolTip(), Gui::PropertyEditor::PropertyMaterialListItem::toolTip(), Sketcher::SketchObject::trim(), MeshGui::ViewProviderMesh::trimMeshCallback(), PartDesignGui::ViewProviderBody::unifyVisualProperty(), PartDesign::SubShapeBinder::update(), Gui::ViewProviderVRMLObject::updateData(), TechDrawGui::ViewProviderTemplate::updateData(), RobotGui::ViewProviderRobotObject::updateData(), Gui::ViewProviderDragger::updateData(), PartGui::ViewProviderCurveNet::updateData(), PartGui::ViewProvider2DObject::updateData(), Gui::ViewProviderAnnotation::updateData(), DrawingGui::ViewProviderDrawingPage::updateData(), InspectionGui::ViewProviderInspection::updateData(), Gui::ViewProviderGeometryObject::updateData(), PartDesignGui::ViewProviderBody::updateData(), PartDesignGui::ViewProvider::updateData(), MeshGui::ViewProviderMeshFaceSet::updateData(), PathGui::ViewProviderPathShape::updateData(), SketcherGui::ViewProviderCustom::updateData(), MeshGui::ViewProviderMeshCurvature::updateData(), PartGui::ViewProviderCustom::updateData(), FemGui::ViewProviderFemMesh::updateData(), PathGui::ViewProviderArea::updateData(), PartGui::ViewProviderMultiFuse::updateData(), PartGui::ViewProviderBoolean::updateData(), PartGui::ViewProviderSpline::updateData(), PathGui::ViewProviderAreaView::updateData(), Gui::ViewProviderInventorObject::updateData(), PartGui::ViewProviderRuledSurface::updateData(), Gui::ViewProviderMeasureDistance::updateData(), PartGui::ViewProviderFillet::updateData(), PartGui::ViewProviderCompound::updateData(), Gui::ViewProviderAnnotationLabel::updateData(), PartGui::ViewProviderMultiCommon::updateData(), PartGui::ViewProviderChamfer::updateData(), MeshGui::ViewProviderMesh::updateData(), PointsGui::ViewProviderScattered::updateData(), PointsGui::ViewProviderStructured::updateData(), MeshGui::ViewProviderIndexedFaceSet::updateData(), MeshGui::ViewProviderMeshObject::updateData(), FemGui::ViewProviderFemPostPipeline::updateFunctionSize(), PartDesignGui::ViewProviderBody::updateOriginDatumSize(), Gui::ViewProviderOriginGroupExtension::updateOriginSize(), FemGui::ViewProviderFemPostFunctionProvider::updateSize(), TechDrawGui::MDIViewPage::updateTemplate(), DrawSketchHandlerLineSet::updateTransitionData(), App::PropertyXLink::upgrade(), App::PropertyXLinkSub::upgrade(), App::PropertyXLinkSubList::upgrade(), Sketcher::SketchObject::validateExternalLinks(), SketcherGui::PropertyConstraintListItem::value(), 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::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(), 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 App::PropertyXLinkSubList, App::PropertyPersistentObject, App::PropertyMaterialList, App::PropertyLinkSubList, App::PropertyColorList, App::PropertyLinkSub, App::PropertyBoolList, App::PropertyStringList, App::PropertyLinkList, App::PropertyLink, App::PropertyFloatList, App::PropertyPlacementList, App::PropertyPlacement, App::PropertyIntegerList, Gui::DocumentItem, App::Document, App::PropertyVectorList, Spreadsheet::PropertySheet, Sketcher::Constraint, Sketcher::PropertyConstraintList, App::Property, App::PropertyExpressionEngine, App::PropertyVector, Sketcher::ExternalGeometryExtension, Part::GeometryDefaultExtension< T >, Sketcher::SketchGeometryExtension, Part::GeomArcOfConic, Part::GeomConic, Part::Geom2dArcOfConic, Part::Geom2dConic, Part::GeometryExtension, Part::GeomSurfaceOfExtrusion, Part::GeomSurfaceOfRevolution, Part::GeomTrimmedSurface, Part::GeomPlateSurface, Part::GeomOffsetSurface, App::PropertyMaterial, Part::GeomPlane, Part::GeomToroid, Part::GeomSphere, Part::GeomCone, App::PropertyColor, Part::GeomCylinder, Part::GeomBSplineSurface, Part::GeomBezierSurface, App::PropertyBool, Part::GeomOffsetCurve, Part::GeomLineSegment, Part::GeomLine, App::PropertyUUID, Part::GeomArcOfParabola, App::PropertyString, Part::GeomParabola, Part::GeomArcOfHyperbola, Part::GeomHyperbola, Part::Geom2dTrimmedCurve, Part::GeomArcOfEllipse, Part::Geom2dOffsetCurve, Part::Geom2dLineSegment, Part::GeomEllipse, Part::Geom2dLine, Part::GeomArcOfCircle, App::PropertyFloat, Part::Geom2dArcOfParabola, Part::GeomCircle, Part::Geom2dParabola, App::PropertyMap, Part::Geom2dArcOfHyperbola, Part::Geom2dHyperbola, Part::GeomTrimmedCurve, App::PropertyIntegerSet, Part::Geom2dArcOfEllipse, Part::Geom2dEllipse, Sketcher::SketchObject, Part::GeomBSplineCurve, Part::Geom2dArcOfCircle, TechDraw::GeomFormat, Part::Geom2dCircle, App::PropertyMatrix, Part::GeomBezierCurve, Points::PropertyCurvatureList, Mesh::PropertyMeshKernel, Part::PropertyFilletEdges, Inspection::PropertyDistanceList, TechDraw::CenterLine, Part::Geom2dBSplineCurve, Mesh::PropertyCurvatureList, Part::TopoShape, Points::PropertyNormalList, Part::PropertyShapeHistory, App::PropertyContainer, Part::GeomPoint, Mesh::MeshObject, Part::Geom2dBezierCurve, App::TransactionObject, Gui::Document, TechDraw::CosmeticEdge, Points::PointKernel, Part::PropertyPartShape, App::PropertyPath, Fem::PropertyFemMesh, Path::Tool, Part::Geometry, Points::PropertyGreyValueList, Fem::PropertyPostDataObject, Robot::PropertyTrajectory, Mesh::PropertyNormalList, Points::PropertyPointKernel, Path::PropertyPath, Robot::Waypoint, App::PropertyFileIncluded, Path::PropertyTool, Path::PropertyTooltable, Part::Geom2dPoint, TechDraw::DrawSVGTemplate, TechDraw::DrawTemplate, Part::Geometry2d, Path::Toolpath, TechDraw::CosmeticVertex, App::Transaction, TechDraw::PropertyCosmeticEdgeList, Sketcher::Sketch, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyGeomFormatList, Path::Command, Part::PropertyGeometryList, Path::Tooltable, Robot::Robot6Axis, App::PropertyInteger, TechDraw::PropertyCenterLineList, Fem::FemMesh, App::PropertyPythonObject, TechDraw::DrawParametricTemplate, Robot::Trajectory, Gui::Thumbnail, Gui::MergeDocuments, and App::MergeDocuments.

◆ getTypeId()

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

Reimplemented from Base::BaseClass.

Referenced by PartDesignGui::TaskDlgSketchBasedParameters::accept(), PartDesignGui::TaskDlgFeatureParameters::accept(), SketcherCopy::activate(), StdCmdGroup::activated(), CmdSketcherConstrainHorizontal::activated(), CmdSketcherConstrainVertical::activated(), StdCmdPlacement::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::SketchObjectPy::addGeometry(), Sketcher::Sketch::addGeometry(), Sketcher::SketchObject::addGeometry(), Path::FeaturePathCompoundPy::addObject(), App::Document::addObject(), App::Transaction::addObjectChange(), App::Transaction::addObjectDel(), App::Transaction::addObjectNew(), App::Transaction::addOrRemoveProperty(), App::TransactionObject::addOrRemoveProperty(), Sketcher::SketchObject::addSymmetric(), MeshGui::DlgEvaluateMeshImp::addViewProvider(), PartGui::SweepWidget::Private::EdgeSelection::allow(), PartDesignGui::ReferenceSelection::allow(), SketcherGui::FilletSelection::allow(), SketcherGui::TrimmingSelection::allow(), SketcherGui::ExtendSelection::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(), CmdSketcherConstrainSymmetric::applyConstraint(), TechDraw::CosmeticVertex::assignTag(), Part::Geometry::assignTag(), TechDraw::CosmeticEdge::assignTag(), TechDraw::CenterLine::assignTag(), TechDraw::GeomFormat::assignTag(), Sketcher::SketchObjectPy::carbonCopy(), Sketcher::SketchObject::carbonCopy(), PartDesignGui::collectMovableDependencies(), Sketcher::SketchObject::convertToNURBS(), SketcherGui::DrawSketchHandler::createAutoConstraints(), MeshGui::ViewProviderMeshCurvature::curvatureInfo(), MeshGui::ViewProviderMeshCurvature::curvatureInfoCallback(), Sketcher::SketchObject::deleteUnusedInternalGeometry(), Sketcher::SketchObject::delGeometry(), Gui::DocumentObjectItem::displayStatusInfo(), SketcherGui::ViewProviderSketch::draw(), SketcherGui::ViewProviderSketch::drawConstraintIcons(), Sketcher::SketchObject::evaluateSupport(), PartDesign::Body::execute(), TechDraw::DrawViewDetail::execute(), Surface::Filling::execute(), Raytracing::LuxFeature::execute(), Raytracing::RayFeature::execute(), Surface::Cut::execute(), Surface::Extend::execute(), PartDesign::Pipe::execute(), Drawing::FeatureViewSpreadsheet::execute(), TechDraw::DrawViewSpreadsheet::execute(), Mesh::SegmentByMesh::execute(), Robot::Edge2TracObject::execute(), Mesh::HarmonizeNormals::execute(), Robot::TrajectoryDressUpObject::execute(), Drawing::FeatureViewPart::execute(), Drawing::FeatureProjection::execute(), Mesh::FlipNormals::execute(), Mesh::FixNonManifolds::execute(), Mesh::FixDuplicatedFaces::execute(), Mesh::FixDuplicatedPoints::execute(), Mesh::FixDegenerations::execute(), Mesh::FixDeformations::execute(), Inspection::Feature::execute(), Mesh::FixIndices::execute(), Mesh::FillHoles::execute(), Mesh::RemoveComponents::execute(), Sketcher::SketchObject::exposeInternalGeometry(), Sketcher::SketchObject::extend(), MeshGui::ViewProviderMesh::faceInfoCallback(), Sketcher::SketchObject::fillet(), MeshGui::ViewProviderMesh::fillHoleCallback(), PartDesign::ProfileBased::getAxis(), InspectionGui::ViewProviderInspection::getIcon(), App::OriginGroupExtension::getOrigin(), Sketcher::SketchObject::getPoint(), PartDesign::Feature::getPointFromFace(), TechDraw::ShapeExtractor::getShapesFromObject(), PartDesign::Transformed::getSketchObject(), PartDesign::ProfileBased::getSupportFace(), PartDesign::Mirrored::getTransformations(), PartDesign::MultiTransform::getTransformations(), PartDesign::Scaled::getTransformations(), PartDesign::LinearPattern::getTransformations(), PartDesign::PolarPattern::getTransformations(), App::PropertyContainerPy::getTypeIdOfProperty(), Gui::DAG::FilterOrigin::goFilter(), Gui::DAG::FilterTyped::goFilter(), PartGui::ViewProvider2DObject::handleChangedPropertyType(), TechDraw::DrawView::handleChangedPropertyType(), Part::Part2DObject::handleChangedPropertyType(), TechDraw::DrawPage::handleChangedPropertyType(), Sketcher::SketchObject::increaseBSplineDegree(), InspectionGui::ViewProviderInspection::inspectCallback(), InspectionGui::ViewProviderInspection::inspectDistance(), Sketcher::SketchObject::isCarbonCopyAllowed(), SketcherGui::isConstructionPoint(), 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(), SketcherGui::ViewProviderSketch::mouseMove(), DrawSketchHandlerExtend::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(), SketcherGui::ViewProviderSketch::rebuildConstraintsVisual(), Sketcher::SketchObject::rebuildExternalGeometry(), DrawSketchHandlerLineSet::registerPressedKey(), DrawSketchHandlerFillet::releaseButton(), DrawSketchHandlerTrimming::releaseButton(), DrawSketchHandlerExtend::releaseButton(), PartDesignGui::relinkToOrigin(), Path::FeaturePathCompoundPy::removeObject(), Mesh::MeshFeaturePy::representation(), Part::Primitive::Restore(), PartDesign::Fillet::Restore(), PartDesign::Chamfer::Restore(), PartDesign::ProfileBased::Restore(), PartDesign::Transformed::Restore(), App::PropertyLink::Restore(), App::PropertyLinkList::Restore(), App::PropertyLinkSub::Restore(), App::PropertyXLink::Restore(), Sketcher::SketchGeometryExtension::Save(), Sketcher::ExternalGeometryExtension::Save(), 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(), Gui::Document::slotDeletedObject(), Gui::ManualAlignment::slotDeletedObject(), FemGui::TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary(), Gui::TaskView::TaskSelectLinkProperty::TaskSelectLinkProperty(), Gui::SelectionFilter::test(), Sketcher::SketchObject::toggleDriving(), Gui::PropertyEditor::PropertyMatrixItem::toolTip(), Gui::PropertyEditor::PropertyPlacementItem::toolTip(), Gui::PropertyEditor::PropertyMaterialItem::toolTip(), Gui::PropertyEditor::PropertyMaterialListItem::toolTip(), Sketcher::SketchObject::trim(), Spreadsheet::Sheet::updateAlias(), PartGui::ViewProviderCurveNet::updateData(), PartGui::ViewProvider2DObject::updateData(), Gui::ViewProviderAnnotation::updateData(), DrawingGui::ViewProviderDrawingPage::updateData(), InspectionGui::ViewProviderInspection::updateData(), PartDesignGui::ViewProvider::updateData(), MeshGui::ViewProviderMeshFaceSet::updateData(), PathGui::ViewProviderPathShape::updateData(), PartGui::ViewProviderCustom::updateData(), SketcherGui::ViewProviderCustom::updateData(), MeshGui::ViewProviderMeshCurvature::updateData(), PathGui::ViewProviderArea::updateData(), PartGui::ViewProviderMultiFuse::updateData(), PartGui::ViewProviderBoolean::updateData(), PathGui::ViewProviderAreaView::updateData(), PartGui::ViewProviderSpline::updateData(), PartGui::ViewProviderRuledSurface::updateData(), Gui::ViewProviderMeasureDistance::updateData(), PartGui::ViewProviderCompound::updateData(), PartGui::ViewProviderFillet::updateData(), Gui::ViewProviderAnnotationLabel::updateData(), PartGui::ViewProviderMultiCommon::updateData(), PartGui::ViewProviderChamfer::updateData(), MeshGui::ViewProviderMesh::updateData(), PointsGui::ViewProviderScattered::updateData(), PointsGui::ViewProviderStructured::updateData(), MeshGui::ViewProviderIndexedFaceSet::updateData(), MeshGui::ViewProviderMeshObject::updateData(), DrawSketchHandlerLineSet::updateTransitionData(), Sketcher::SketchObject::validateExternalLinks(), SketcherGui::PropertyConstraintListItem::value(), 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::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(), 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");
}

Implemented in App::PropertyXLinkContainer, App::PropertyXLinkSubList, App::PropertyXLink, App::PropertyPersistentObject, App::PropertyMaterialList, App::PropertyLinkSubList, App::PropertyColorList, App::PropertyLinkSub, App::PropertyBoolList, App::PropertyStringList, App::PropertyLinkList, App::PropertyLink, App::PropertyFloatList, App::PropertyPlacementList, App::PropertyPlacement, App::PropertyIntegerList, App::Document, App::ExtensionContainer, App::PropertyVectorList, App::PropertyExpressionEngine, Sketcher::PropertyConstraintList, PartDesign::Chamfer, Part::Part2DObject, App::PropertyVector, Spreadsheet::PropertySheet, Part::Primitive, App::PropertyMaterial, App::PropertyColor, App::PropertyBool, App::PropertyUUID, App::PropertyString, Gui::ViewProvider, App::PropertyFloat, App::PropertyMap, App::PropertyIntegerSet, App::PropertyMatrix, Mesh::PropertyMeshKernel, Points::PropertyCurvatureList, App::PropertyContainer, Part::PropertyFilletEdges, App::PropertyEnumeration, Inspection::PropertyDistanceList, Part::GeometryDefaultExtension< T >, Part::TopoShape, Mesh::PropertyCurvatureList, Points::PropertyNormalList, Part::PropertyShapeHistory, Gui::Document, Mesh::MeshObject, Part::GeometryDefaultExtension< T >, App::TransactionObject, Points::PointKernel, PartDesign::Transformed, Part::GeometryDefaultExtension< T >, Part::PropertyPartShape, App::PropertyPath, Fem::PropertyFemMesh, Points::PropertyPointKernel, PartDesign::ProfileBased, Points::PropertyGreyValueList, Robot::PropertyTrajectory, Fem::PropertyPostDataObject, Mesh::PropertyNormalList, Path::PropertyPath, Path::PropertyTool, Path::PropertyTooltable, Spreadsheet::PropertyColumnWidths, Spreadsheet::PropertyRowHeights, App::PropertyFileIncluded, PartDesign::Fillet, Part::Box, App::VRMLObject, App::Transaction, PartDesign::Hole, TechDraw::PropertyCosmeticEdgeList, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyGeomFormatList, Part::PropertyGeometryList, App::PropertyInteger, TechDraw::PropertyCenterLineList, PartGui::ViewProvider2DObject, App::PropertyPythonObject, Points::Feature, Gui::Thumbnail, Gui::MergeDocuments, App::MergeDocuments, Part::GeometryExtension, Gui::DocumentItem, Sketcher::Constraint, Sketcher::ExternalGeometryExtension, Part::GeometryDefaultExtension< T >, Sketcher::SketchGeometryExtension, 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::Geom2dTrimmedCurve, Part::GeomArcOfEllipse, Part::Geom2dOffsetCurve, Part::Geom2dLineSegment, Part::GeomEllipse, Part::Geom2dLine, Part::GeomArcOfCircle, Part::Geom2dArcOfParabola, Part::GeomCircle, Part::Geom2dParabola, Part::Geom2dArcOfHyperbola, Part::Geom2dHyperbola, Part::GeomTrimmedCurve, Part::Geom2dArcOfEllipse, Part::Geom2dEllipse, Sketcher::SketchObject, Part::GeomBSplineCurve, Part::Geom2dArcOfCircle, TechDraw::GeomFormat, Part::Geom2dCircle, Part::GeomBezierCurve, TechDraw::CenterLine, Part::Geom2dBSplineCurve, Part::GeomPoint, Part::Geom2dBezierCurve, TechDraw::CosmeticEdge, Path::Tool, Part::Geometry, Robot::Waypoint, Part::Geom2dPoint, Part::Geometry2d, Robot::RobotObject, Path::Toolpath, TechDraw::CosmeticVertex, Sketcher::Sketch, Path::Command, Path::Tooltable, Robot::Robot6Axis, Fem::FemMesh, and Robot::Trajectory.

Referenced by Part::Primitive::Restore(), PartDesign::Fillet::Restore(), PartDesign::Chamfer::Restore(), PartDesign::ProfileBased::Restore(), PartDesign::Transformed::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);
}
}

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

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

Reimplemented in App::PropertyMaterialList, App::PropertyColorList, App::PropertyFloatList, App::PropertyPlacementList, App::PropertyVectorList, Mesh::PropertyMeshKernel, Points::PropertyCurvatureList, Part::PropertyFilletEdges, Inspection::PropertyDistanceList, Part::TopoShape, Mesh::PropertyCurvatureList, Points::PropertyNormalList, Part::PropertyShapeHistory, Gui::Document, Mesh::MeshObject, Points::PointKernel, Part::PropertyPartShape, Fem::PropertyFemMesh, Points::PropertyPointKernel, Points::PropertyGreyValueList, Fem::PropertyPostDataObject, Mesh::PropertyNormalList, Path::PropertyPath, App::PropertyFileIncluded, App::VRMLObject, Path::Toolpath, Fem::FemMesh, App::PropertyPythonObject, Points::Feature, Gui::Thumbnail, 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 App::PropertyXLinkContainer, App::PropertyXLinkSubList, App::PropertyXLink, App::PropertyPersistentObject, App::PropertyMaterialList, App::PropertyLinkSubList, App::PropertyColorList, App::PropertyLinkSub, App::PropertyBoolList, App::PropertyStringList, App::PropertyLinkList, App::PropertyLink, App::PropertyFloatList, App::DocumentObject, App::PropertyPlacementList, App::PropertyPlacement, App::PropertyIntegerList, App::Document, App::ExtensionContainer, App::PropertyVectorList, App::PropertyExpressionEngine, Sketcher::PropertyConstraintList, App::PropertyVector, Spreadsheet::PropertySheet, App::PropertyMaterial, App::PropertyColor, App::PropertyBool, App::PropertyUUID, App::PropertyString, App::PropertyFloat, App::PropertyMap, App::PropertyIntegerSet, App::PropertyMatrix, Mesh::PropertyMeshKernel, Points::PropertyCurvatureList, App::PropertyContainer, Part::PropertyFilletEdges, App::PropertyEnumeration, Inspection::PropertyDistanceList, Part::TopoShape, Mesh::PropertyCurvatureList, Points::PropertyNormalList, Part::PropertyShapeHistory, Gui::Document, Mesh::MeshObject, App::TransactionObject, Points::PointKernel, Part::PropertyPartShape, App::PropertyPath, Fem::PropertyFemMesh, Points::PropertyPointKernel, Points::PropertyGreyValueList, Robot::PropertyTrajectory, Fem::PropertyPostDataObject, Mesh::PropertyNormalList, Path::PropertyPath, Path::PropertyTool, Path::PropertyTooltable, Spreadsheet::PropertyColumnWidths, Spreadsheet::PropertyRowHeights, App::PropertyFileIncluded, App::VRMLObject, App::Transaction, TechDraw::PropertyCosmeticEdgeList, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyGeomFormatList, Part::PropertyGeometryList, App::PropertyInteger, TechDraw::PropertyCenterLineList, App::PropertyPythonObject, Gui::Thumbnail, Gui::MergeDocuments, App::MergeDocuments, Gui::DocumentItem, Sketcher::Constraint, Sketcher::ExternalGeometryExtension, Part::GeometryDefaultExtension< T >, Sketcher::SketchGeometryExtension, Part::GeometryExtension, 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::Geom2dTrimmedCurve, Part::GeomArcOfEllipse, Part::Geom2dOffsetCurve, Part::Geom2dLineSegment, Part::GeomEllipse, Part::Geom2dLine, Part::GeomArcOfCircle, Part::Geom2dArcOfParabola, Part::GeomCircle, Part::Geom2dParabola, Part::Geom2dArcOfHyperbola, Part::Geom2dHyperbola, Part::GeomTrimmedCurve, Part::Geom2dArcOfEllipse, Part::Geom2dEllipse, Sketcher::SketchObject, Part::GeomBSplineCurve, Part::Geom2dArcOfCircle, TechDraw::GeomFormat, Part::Geom2dCircle, Part::GeomBezierCurve, TechDraw::CenterLine, Part::Geom2dBSplineCurve, Part::GeomPoint, Part::Geom2dBezierCurve, TechDraw::CosmeticEdge, Path::Tool, Part::Geometry, Robot::Waypoint, Part::Geom2dPoint, Part::Geometry2d, Robot::RobotObject, Path::Toolpath, TechDraw::CosmeticVertex, Sketcher::Sketch, Path::Command, Path::Tooltable, Robot::Robot6Axis, Fem::FemMesh, and Robot::Trajectory.

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.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, Mesh::PropertyMeshKernel, Points::PropertyCurvatureList, Part::PropertyFilletEdges, Inspection::PropertyDistanceList, Part::TopoShape, Mesh::PropertyCurvatureList, Points::PropertyNormalList, Part::PropertyShapeHistory, Gui::Document, Mesh::MeshObject, Points::PointKernel, Part::PropertyPartShape, Fem::PropertyFemMesh, Points::PropertyPointKernel, Points::PropertyGreyValueList, Fem::PropertyPostDataObject, Mesh::PropertyNormalList, Path::PropertyPath, App::PropertyFileIncluded, App::VRMLObject, Path::Toolpath, Fem::FemMesh, App::PropertyPythonObject, Gui::Thumbnail, Gui::MergeDocuments, and App::MergeDocuments.

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


The documentation for this class was generated from the following files:
  • src/Base/Persistence.h
  • src/Base/Persistence.cpp
Definition: Reader.h:295
const char * addFile(const char *Name, Base::Persistence *Object)
add a read request of a persistent object
Definition: Reader.cpp:372
double getAttributeAsFloat(const char *AttrName) const
return the named attribute as a double floating point (does type checking)
Definition: Reader.cpp:159
const char * ind(void) const
get the current indentation
Definition: Writer.h:129
bool isForceXML(void)
check on state
Definition: Writer.cpp:97
file
Definition: DrawingExample.py:75
std::string addFile(const char *Name, const Base::Persistence *Object)
add a write request of a persistent object
Definition: Writer.cpp:165
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:241
const char * getAttribute(const char *AttrName) const
return the named attribute as a double floating point (does type checking)
Definition: Reader.cpp:174
The XML reader class This is an important helper class for the store and retrieval system of objects ...
Definition: Reader.h:117
The Writer class This is an important helper class for the store and retrieval system of persistent o...
Definition: Writer.h:77