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 () 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...
 
 BaseClass (const BaseClass &)=default
 
virtual PyObjectgetPyObject ()
 This method returns the Python wrapper for a C++ object. More...
 
virtual Type getTypeId () const
 
bool isDerivedFrom (const Type type) const
 
BaseClassoperator= (const BaseClass &)=default
 
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 ()
 
static Type getClassTypeId ()
 
static void init ()
 

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()

void Persistence::dumpToStream ( std::ostream &  stream,
int  compression 
)

◆ encodeAttribute()

◆ getClassTypeId()

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

Referenced by MeshPartGui::Tessellation::accept(), 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(), 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(), CmdSketcherConstrainRadiam::activated(), CmdSketcherConstrainAngle::activated(), CmdSketcherConstrainEqual::activated(), CmdSketcherConstrainSymmetric::activated(), SketcherGui::ActivateHandler(), Sketcher::SketchObject::addCopy(), App::DynamicProperty::addDynamicProperty(), Sketcher::SketchObject::addGeometry(), PartDesign::Body::addObject(), Mesh::Exporter::addObject(), App::Document::addObject(), App::Document::addObjects(), Gui::SelectionSingleton::addSelection(), Sketcher::SketchObject::addSymmetric(), TechDraw::DrawPage::addView(), MeshGui::DlgEvaluateMeshImp::addViewProvider(), Gui::ManualAlignment::alignObject(), PartGui::ShapeSelection::allow(), SketcherGui::ExtendSelection::allow(), SketcherGui::FilletSelection::allow(), SketcherGui::SplittingSelection::allow(), SketcherGui::TrimmingSelection::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(), 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(), CmdSketcherConstrainRadiam::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(), 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(), SketcherGui::EditModeInformationOverlayCoinConverter::convert(), SketcherGui::EditModeGeometryCoinConverter::convert(), Sketcher::SketchObject::convertToNURBS(), TechDraw::DrawViewCollection::countChildren(), TechDraw::DrawView::countParentPages(), TechDrawGui::TaskRichAnno::createAnnoFeature(), SketcherGui::DrawSketchHandler::createAutoConstraints(), TechDrawGui::TaskLeaderLine::createLeaderFeature(), Fem::createObjectByType(), MeshGui::ViewProviderMeshCurvature::curvatureInfo(), MeshGui::ViewProviderMeshCurvature::curvatureInfoCallback(), Gui::PointMarker::customEvent(), PointsGui::ViewProviderScattered::cut(), SpreadsheetGui::SheetModel::data(), Sketcher::SketchObject::decreaseBSplineDegree(), Sketcher::SketchObject::deleteUnusedInternalGeometry(), Sketcher::SketchObject::delGeometry(), Sketcher::SketchAnalysis::detectDegeneratedGeometries(), Sketcher::SketchAnalysis::detectMissingEqualityConstraints(), Sketcher::SketchAnalysis::detectMissingPointOnPointConstraints(), Sketcher::SketchAnalysis::detectMissingVerticalHorizontalConstraints(), PartDesignGui::DlgActiveBody::DlgActiveBody(), Gui::Dialog::DlgAddProperty::DlgAddProperty(), PartGui::DlgExtrusion::DlgExtrusion(), PartGui::DlgPrimitives::DlgPrimitives(), PartGui::DlgRevolution::DlgRevolution(), Gui::SoFCUnifiedSelection::doAction(), TechDrawGui::QGIViewDimension::draw(), TechDrawGui::QGIViewBalloon::drawBalloon(), SketcherGui::EditModeConstraintCoinManager::drawConstraintIcons(), TechDrawGui::QGIViewPart::drawMatting(), TechDrawGui::QGIViewSymbol::drawSvg(), PartDesignGui::ViewProviderBody::dropObject(), Sketcher::SketchObject::evaluateSupport(), 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(), Drawing::FeatureClip::execute(), Drawing::FeaturePage::execute(), Drawing::FeatureProjection::execute(), Drawing::FeatureViewPart::execute(), Drawing::FeatureViewSpreadsheet::execute(), Inspection::Feature::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(), TechDraw::FeatureProjection::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(), Part::AttachExtension::extHandleChangedPropertyName(), MeshGui::ViewProviderMesh::faceInfoCallback(), Sketcher::SketchObject::fillet(), MeshGui::ViewProviderMesh::fillHoleCallback(), TechDraw::DrawView::findAllParentPages(), Part::BodyBase::findBodyOf(), ImportGui::ExportOCAFGui::findColors(), TechDrawGui::MDIViewPage::findMissingViews(), TechDrawGui::DrawGuiUtil::findPage(), TechDraw::DrawView::findParentPage(), PartGui::DlgFilletEdges::findShapes(), Gui::FreeCADGui_subgraphFromObject(), PartDesign::DressUp::getAddSubShape(), TechDraw::DrawPage::getAllViews(), Sketcher::SolverGeometryExtension::getArc(), Sketcher::SolverGeometryExtension::getArcOfEllipse(), Sketcher::SolverGeometryExtension::getArcOfHyperbola(), Sketcher::SolverGeometryExtension::getArcOfParabola(), 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(), Sketcher::SolverGeometryExtension::getBSpline(), TechDraw::DrawViewClip::getChildViewNames(), Sketcher::SolverGeometryExtension::getCircle(), TechDraw::DrawView::getClipGroup(), MeshGui::ViewProviderMesh::getColorProperty(), App::LinkBaseExtension::getContainer(), TechDraw::DrawViewPart::getDetailRefs(), TechDraw::DrawViewPart::getDimensions(), Fem::Constraint::getDirection(), PointsGui::ViewProviderPoints::getDisplayModes(), App::PropertyFileIncluded::getDocTransientPath(), Sketcher::SolverGeometryExtension::getEllipse(), 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(), Sketcher::SolverGeometryExtension::getLine(), 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::SolverGeometryExtension::getPoint(), Sketcher::SketchObject::getPoint(), PartDesign::ProfileBased::getProfileNormal(), PartDesign::ProfileBased::getProfileWires(), PartDesignGui::getReferencedSelection(), PartDesignGui::ViewProviderDatum::getRelevantBoundBox(), Gui::Dialog::TransformStrategy::getRotationCenter(), TechDraw::DrawViewPart::getSectionRefs(), TechDrawGui::TaskAlignViews::getSelectedEdges(), Gui::SelectionSingleton::getSelection(), Path::FeatureAreaView::getShapes(), TechDraw::ShapeExtractor::getShapes(), TechDraw::ShapeExtractor::getShapes2d(), TechDraw::ShapeExtractor::getShapesFromObject(), PartGui::getShapesFromSelection(), TechDraw::DrawViewSpreadsheet::getSheetImage(), PartDesign::Transformed::getSketchObject(), SketcherGui::getSketchViewprovider(), 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(), MeshGui::MeshSelection::getViewProviders(), Gui::ViewProviderDocumentObjectGroup::getViewProviders(), Surface::GeomFillSurface::getWire(), TechDraw::ShapeExtractor::getXShapes(), Gui::GraphicsView3D::GraphicsView3D(), Fem::FemAnalysis::handleChangedPropertyName(), Part::BodyBase::handleChangedPropertyName(), PartDesign::Boolean::handleChangedPropertyName(), Surface::Extend::handleChangedPropertyName(), TechDraw::DrawViewBalloon::handleChangedPropertyName(), PartGui::ViewProvider2DObjectGrid::handleChangedPropertyType(), PartDesign::Transformed::handleChangedPropertyType(), Part::Part2DObject::handleChangedPropertyType(), Part::Primitive::handleChangedPropertyType(), TechDraw::DrawView::handleChangedPropertyType(), Gui::SelectionSingleton::hasSelection(), PartGui::hasShapesInSelection(), TechDraw::DrawPage::hasValidTemplate(), DrawingGui::ViewProviderDrawingView::hide(), DrawingGui::ViewProviderDrawingClip::hide(), TechDrawGui::ViewProviderViewClip::hide(), TechDrawGui::ViewProviderDrawingView::hide(), PartDesignGui::ViewProviderShapeBinder::highlightReferences(), PartDesignGui::ViewProviderLoft::highlightSection(), Sketcher::SketchObject::increaseBSplineDegree(), Gui::Dialog::DlgPropertyLink::init(), Gui::ViewProviderLink::initDraggingPlacement(), App::GeoFeatureGroupExtension::initExtension(), App::Application::initTypes(), Gui::Application::initTypes(), Sketcher::SketchObject::insertBSplineKnot(), PartDesign::Body::insertObject(), InspectionGui::ViewProviderInspection::inspectCallback(), InspectionGui::ViewProviderInspection::inspectDistance(), StdCmdPlacement::isActive(), StdCmdTransformManip::isActive(), StdCmdAlignment::isActive(), StdCmdTreeSelectAllInstances::isActive(), StdCmdMeasureDistance::isActive(), PartDesign::Body::isAllowed(), PartDesignGui::isAnyNonPartDesignLinksTo(), SketcherGui::isBsplineKnotOrEndPoint(), Sketcher::SketchObject::isCarbonCopyAllowed(), SketcherGui::isCommandActive(), PartDesign::Feature::isDatum(), PartDesignGui::isFeatureMovable(), TechDraw::DrawView::isInClip(), App::GeoFeatureGroupExtension::isLinkValid(), PartDesign::Body::isMemberOfMultiTransform(), PartDesignGui::isPartDesignAwareObjecta(), TechDraw::ShapeExtractor::isPointType(), App::PropertyLinkBase::isSame(), PartDesign::Body::isSolidFeature(), Sketcher::SketchObject::isSupportedGeometry(), TechDrawGui::QGIProjGroup::itemChange(), TechDrawGui::QGIView::itemChange(), Fem::FemPostPipeline::load(), TechDrawGui::TaskLinkDim::loadAvailDims(), Import::ImportOCAF2::loadShapes(), PartDesignGui::TaskSketchBasedParameters::make2DLabel(), 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(), SketcherGui::DrawSketchHandlerExtend::mouseMove(), SketcherGui::ViewProviderSketch::mouseMove(), TechDrawGui::DrawGuiUtil::needPage(), TechDrawGui::DrawGuiUtil::needView(), Sketcher::SolverGeometryExtension::notifyAttachment(), 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(), TechDrawGui::MDIViewPage::onSelectionChanged(), SketcherGui::DrawSketchHandlerCarbonCopy::onSelectionChanged(), SketcherGui::DrawSketchHandlerExternal::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(), SpreadsheetGui::DlgSheetConf::prepare(), SketcherGui::DrawSketchHandlerLineSet::pressButton(), Gui::ManualAlignment::probePickedCallback(), SketcherGui::EditModeConstraintCoinManager::processConstraints(), Attacher::AttachEngine::readLinks(), Import::ExportOCAF::reallocateFreeShape(), Sketcher::SketchObject::rebuildExternalGeometry(), Sketcher::SketchObject::rebuildVertexIndex(), TechDraw::DrawViewCollection::rebuildViewList(), PartDesignGui::TaskShapeBinder::referenceSelected(), MeshGui::DlgEvaluateMeshImp::refreshList(), SketcherGui::DrawSketchHandlerLineSet::registerPressedKey(), SketcherGui::DrawSketchHandlerExtend::releaseButton(), SketcherGui::DrawSketchHandlerFillet::releaseButton(), SketcherGui::DrawSketchHandlerSplitting::releaseButton(), SketcherGui::DrawSketchHandlerTrimming::releaseButton(), SketcherGui::ReleaseHandler(), PartDesignGui::relinkToBody(), PartDesignGui::relinkToOrigin(), App::OriginGroupExtension::relinkToOrigin(), PartDesign::ProfileBased::remapSupportShape(), Sketcher::SketchAnalysis::removeDegeneratedGeometries(), PartDesign::Body::removeObject(), TechDraw::DrawPage::removeView(), App::PropertyLink::resetLink(), App::PropertyLink::Restore(), App::PropertyLinkList::Restore(), App::PropertyLinkSub::Restore(), App::PropertyXLink::Restore(), Fem::PropertyPostDataObject::RestoreDocFile(), Path::PropertyPath::RestoreDocFile(), Fem::PropertyPostDataObject::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(), PointsGui::ViewProviderPoints::setDisplayMode(), InspectionGui::ViewProviderInspection::setDistances(), Gui::Document::setEdit(), Gui::ViewProviderDragger::setEdit(), Gui::Document::setHide(), Gui::Dialog::DlgInspector::setNodeNames(), Gui::View3DInventorViewer::setOverrideMode(), TechDrawGui::QGSPage::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(), 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::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::slotNewObject(), Gui::Document::slotRelabelObject(), Gui::Document::slotTransactionAppend(), Sketcher::SketchObject::split(), PartDesignGui::ViewProviderTransformed::startEditing(), 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::PropertyRotationItem::toolTip(), Gui::PropertyEditor::PropertyPlacementItem::toolTip(), Gui::PropertyEditor::PropertyMaterialItem::toolTip(), Gui::PropertyEditor::PropertyMaterialListItem::toolTip(), SketcherGui::CurveConverter::toVector2D(), Sketcher::SketchObject::transferFilletConstraints(), Sketcher::SketchObject::trim(), MeshGui::ViewProviderMesh::trimMeshCallback(), PartDesignGui::ViewProviderBody::unifyVisualProperty(), 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(), PartDesignGui::ViewProviderBody::updateData(), FemGui::ViewProviderFemPostPipeline::updateFunctionSize(), SketcherGui::EditModeGeometryCoinManager::updateGeometryColor(), PartDesignGui::ViewProviderBody::updateOriginDatumSize(), Gui::ViewProviderOriginGroupExtension::updateOriginSize(), FemGui::ViewProviderFemPostFunctionProvider::updateSize(), TechDrawGui::MDIViewPage::updateTemplate(), SketcherGui::DrawSketchHandlerLineSet::updateTransitionData(), App::PropertyLinkSubList::upgrade(), 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::PropertyRotationItem::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 App::PropertyFileIncluded, Mesh::MeshObject, Mesh::PropertyNormalList, Mesh::PropertyCurvatureList, Mesh::PropertyMeshKernel, Points::PointKernel, Points::PropertyGreyValueList, Points::PropertyNormalList, Points::PropertyCurvatureList, Points::PropertyPointKernel, App::PropertyRotation, App::MergeDocuments, App::PropertyContainer, App::PropertyMatrix, App::PropertyPythonObject, App::PropertyInteger, App::PropertyPath, App::PropertyIntegerSet, App::PropertyMap, App::PropertyFloat, App::PropertyString, App::PropertyUUID, App::PropertyBool, App::PropertyColor, App::PropertyMaterial, App::Transaction, App::TransactionObject, Gui::Document, Gui::MergeDocuments, Gui::Thumbnail, Fem::FemMesh, Fem::PropertyFemMesh, Fem::PropertyPostDataObject, Inspection::PropertyDistanceList, Part::Geometry, Part::GeomPoint, Part::GeomBezierCurve, Part::GeomBSplineCurve, Part::GeomTrimmedCurve, Part::GeomCircle, Part::GeomArcOfCircle, Part::GeomEllipse, Part::GeomArcOfEllipse, Part::GeomHyperbola, Part::GeomArcOfHyperbola, Part::GeomParabola, Part::GeomArcOfParabola, Part::GeomLine, Part::GeomLineSegment, Part::GeomOffsetCurve, Part::GeomBezierSurface, Part::GeomBSplineSurface, Part::GeomCylinder, Part::GeomCone, Part::GeomSphere, Part::GeomToroid, Part::GeomPlane, Part::GeomOffsetSurface, Part::GeomPlateSurface, Part::GeomTrimmedSurface, Part::GeomSurfaceOfRevolution, Part::GeomSurfaceOfExtrusion, Part::Geometry2d, Part::Geom2dPoint, Part::Geom2dBezierCurve, Part::Geom2dBSplineCurve, Part::Geom2dCircle, Part::Geom2dArcOfCircle, Part::Geom2dEllipse, Part::Geom2dArcOfEllipse, Part::Geom2dHyperbola, Part::Geom2dArcOfHyperbola, Part::Geom2dParabola, Part::Geom2dArcOfParabola, Part::Geom2dLine, Part::Geom2dLineSegment, Part::Geom2dOffsetCurve, Part::Geom2dTrimmedCurve, Part::PropertyGeometryList, Part::PropertyPartShape, Part::PropertyShapeHistory, Part::PropertyFilletEdges, Part::TopoShape, Path::Command, Path::Toolpath, Path::PropertyPath, Path::PropertyTool, Path::PropertyTooltable, Path::Tool, Path::Tooltable, Robot::PropertyTrajectory, Robot::Robot6Axis, Robot::Trajectory, Robot::Waypoint, Sketcher::Sketch, TechDraw::CosmeticVertex, TechDraw::CosmeticEdge, TechDraw::CenterLine, TechDraw::GeomFormat, TechDraw::DrawParametricTemplate, TechDraw::DrawSVGTemplate, TechDraw::DrawTemplate, TechDraw::PropertyCenterLineList, TechDraw::PropertyCosmeticEdgeList, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyGeomFormatList, Part::GeomConic, Part::GeomArcOfConic, Part::Geom2dConic, Part::Geom2dArcOfConic, App::Document, App::Property, App::PropertyExpressionEngine, App::PropertyVector, App::PropertyVectorList, App::PropertyPlacement, App::PropertyPlacementList, App::PropertyLink, App::PropertyLinkList, App::PropertyLinkSub, App::PropertyLinkSubList, App::PropertyXLinkSubList, App::PropertyIntegerList, App::PropertyFloatList, App::PropertyStringList, App::PropertyBoolList, App::PropertyColorList, App::PropertyMaterialList, App::PropertyPersistentObject, Gui::DocumentItem, Sketcher::Constraint, Sketcher::PropertyConstraintList, Sketcher::SketchObject, and Spreadsheet::PropertySheet.

◆ getTypeId()

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

Reimplemented from Base::BaseClass.

Referenced by PartDesignGui::TaskDlgFeatureParameters::accept(), PartDesignGui::TaskDlgSketchBasedParameters::accept(), PartGui::DlgPrimitives::accept(), Sketcher::PropertyConstraintList::acceptGeometry(), 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(), CmdSketcherConstrainRadiam::activated(), CmdSketcherConstrainAngle::activated(), CmdSketcherConstrainEqual::activated(), CmdSketcherConstrainSymmetric::activated(), Sketcher::SketchObject::addCopy(), Sketcher::SketchObject::addGeometry(), Sketcher::Sketch::addGeometry(), App::Document::addObject(), App::Transaction::addObjectChange(), App::Transaction::addObjectDel(), App::Transaction::addObjectNew(), App::TransactionObject::addOrRemoveProperty(), App::Transaction::addOrRemoveProperty(), Sketcher::SketchObject::addSymmetric(), MeshGui::DlgEvaluateMeshImp::addViewProvider(), SketcherGui::ExtendSelection::allow(), SketcherGui::FilletSelection::allow(), SketcherGui::SplittingSelection::allow(), SketcherGui::TrimmingSelection::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(), CmdSketcherConstrainPerpendicular::applyConstraint(), CmdSketcherConstrainTangent::applyConstraint(), CmdSketcherConstrainRadius::applyConstraint(), CmdSketcherConstrainDiameter::applyConstraint(), CmdSketcherConstrainRadiam::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(), App::LinkBaseExtension::checkCopyOnChange(), PartDesign::SubShapeBinder::checkCopyOnChange(), 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::EditModeConstraintCoinManager::drawConstraintIcons(), Sketcher::SketchObject::evaluateSupport(), Gui::ViewProvider::eventCallback(), 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(), Drawing::FeatureProjection::execute(), Drawing::FeatureViewPart::execute(), Drawing::FeatureViewSpreadsheet::execute(), Inspection::Feature::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(), TechDraw::FeatureProjection::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(), Fem::FemPostFilter::getInputData(), 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(), Gui::DAG::FilterOrigin::goFilter(), Gui::DAG::FilterTyped::goFilter(), Part::Circle::handleChangedPropertyName(), Part::Ellipse::handleChangedPropertyName(), PartGui::ViewProvider2DObjectGrid::handleChangedPropertyType(), PartDesign::Fillet::handleChangedPropertyType(), PartDesign::Transformed::handleChangedPropertyType(), Part::Part2DObject::handleChangedPropertyType(), Part::Primitive::handleChangedPropertyType(), PartDesign::Chamfer::handleChangedPropertyType(), TechDraw::DrawPage::handleChangedPropertyType(), TechDraw::DrawView::handleChangedPropertyType(), Sketcher::SketchObject::increaseBSplineDegree(), Sketcher::SketchObject::insertBSplineKnot(), InspectionGui::ViewProviderInspection::inspectCallback(), InspectionGui::ViewProviderInspection::inspectDistance(), SketcherGui::isBsplineKnotOrEndPoint(), Sketcher::SketchObject::isCarbonCopyAllowed(), PartDesign::Feature::isDatum(), PartDesignGui::isFeatureMovable(), App::Property::isSame(), App::PropertyFileIncluded::isSame(), App::PropertyMatrix::isSame(), App::PropertyInteger::isSame(), App::PropertyPath::isSame(), App::PropertyEnumeration::isSame(), App::PropertyIntegerSet::isSame(), App::PropertyMap::isSame(), App::PropertyFloat::isSame(), App::PropertyString::isSame(), App::PropertyUUID::isSame(), App::PropertyFont::isSame(), App::PropertyBool::isSame(), App::PropertyColor::isSame(), App::PropertyMaterial::isSame(), App::PropertyQuantity::isSame(), App::PropertyListsT< T, ListT, ParentT >::isSame(), App::PropertyVector::isSame(), App::PropertyPlacement::isSame(), Sketcher::SketchObject::isSupportedGeometry(), TechDrawGui::QGIProjGroup::itemChange(), SketcherGui::makeTangentToArcOfEllipseviaNewPoint(), SketcherGui::makeTangentToArcOfHyperbolaviaNewPoint(), SketcherGui::makeTangentToArcOfParabolaviaNewPoint(), SketcherGui::makeTangentToEllipseviaNewPoint(), MeshGui::ViewProviderMesh::markPartCallback(), Sketcher::SketchObject::modifyBSplineKnotMultiplicity(), SketcherGui::ViewProviderSketch::mouseButtonPressed(), SketcherGui::DrawSketchHandlerExtend::mouseMove(), SketcherGui::ViewProviderSketch::mouseMove(), Sketcher::SolverGeometryExtension::notifyAttachment(), 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(), FemGui::ViewProviderFemPostObject::onChanged(), Gui::ViewProviderLink::onChanged(), SketcherGui::ViewProviderSketch::onDelete(), PartDesignGui::TaskBooleanParameters::onSelectionChanged(), Gui::PropertyView::onTimer(), App::PropertyPythonObject::Paste(), SketcherGui::DrawSketchHandlerLineSet::pressButton(), Gui::ManualAlignment::probePickedCallback(), SketcherGui::EditModeConstraintCoinManager::processConstraints(), Sketcher::SketchObject::rebuildExternalGeometry(), SketcherGui::DrawSketchHandlerLineSet::registerPressedKey(), SketcherGui::DrawSketchHandlerExtend::releaseButton(), SketcherGui::DrawSketchHandlerFillet::releaseButton(), SketcherGui::DrawSketchHandlerSplitting::releaseButton(), SketcherGui::DrawSketchHandlerTrimming::releaseButton(), PartDesignGui::relinkToOrigin(), App::PropertyLink::Restore(), App::PropertyLinkList::Restore(), App::PropertyLinkSub::Restore(), App::PropertyXLink::Restore(), SketcherGui::DrawSketchHandler::seekAutoConstraint(), Part::Part2DObject::seekTrimPoints(), PartGui::FaceColors::Private::selectionCallback(), 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::ViewProviderSplineExtension::showControlPoints(), Gui::Document::slotDeletedObject(), Gui::ManualAlignment::slotDeletedObject(), Sketcher::SketchObject::split(), FemGui::TaskFemConstraintFluidBoundary::TaskFemConstraintFluidBoundary(), Gui::TaskView::TaskSelectLinkProperty::TaskSelectLinkProperty(), Gui::SelectionFilter::test(), Gui::PropertyEditor::PropertyMatrixItem::toolTip(), Gui::PropertyEditor::PropertyRotationItem::toolTip(), Gui::PropertyEditor::PropertyPlacementItem::toolTip(), Gui::PropertyEditor::PropertyMaterialItem::toolTip(), Gui::PropertyEditor::PropertyMaterialListItem::toolTip(), Sketcher::SketchObject::transferFilletConstraints(), Sketcher::SketchObject::trim(), PartDesign::SubShapeBinder::update(), 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(), SketcherGui::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::PropertyRotationItem::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");
}

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

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

◆ restoreFromStream()

void Persistence::restoreFromStream ( std::istream &  stream)

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

Referenced by dumpToStream(), and App::Property::isSame().

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

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: