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

#include <BaseClass.h>

Public Member Functions

 BaseClass ()
 Construction. More...
 
virtual PyObjectgetPyObject (void)
 This method returns the Python wrapper for a C++ object. More...
 
virtual Type getTypeId (void) const
 
bool isDerivedFrom (const Type type) const
 
virtual void setPyObject (PyObject *)
 
virtual ~BaseClass ()
 Destruction. More...
 

Static Public Member Functions

static void * create (void)
 
static Type getClassTypeId (void)
 
static void init (void)
 

Static Protected Member Functions

static void initSubclass (Base::Type &toInit, const char *ClassName, const char *ParentName, Type::instantiationMethod method=nullptr)
 

Detailed Description

BaseClass class and root of the type system.

Constructor & Destructor Documentation

◆ BaseClass()

BaseClass::BaseClass ( )

Construction.

A constructor.

A more elaborate description of the constructor.

◆ ~BaseClass()

BaseClass::~BaseClass ( )
virtual

Destruction.

A destructor.

A more elaborate description of the destructor.

Member Function Documentation

◆ create()

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

◆ getClassTypeId()

Type BaseClass::getClassTypeId ( void  )
static

Referenced by DrawingGui::TaskProjection::accept(), StdCmdImport::activated(), StdCmdEdit::activated(), StdCmdToggleNavigation::activated(), Gui::Application::activateWorkbench(), SketcherGui::DrawSketchHandler::addCursorTail(), InspectionGui::ViewProviderProxyObject::addFlag(), SketcherGui::DrawSketchHandler::applyCursor(), SpreadsheetGui::ViewProviderSheet::beforeDelete(), Gui::Document::cloneView(), Part::FaceMaker::ConstructFromType(), Gui::Document::createView(), Gui::WorkbenchManager::createWorkbench(), SketcherGui::DrawSketchHandler::devicePixelRatio(), SketcherGui::ViewProviderSketch::draw(), SketcherGui::ViewProviderSketch::drawConstraintIcons(), Sketcher::GeometryFacade::ensureSketchGeometryExtension(), Sketcher::ExternalGeometryFacade::ensureSketchGeometryExtensions(), App::FunctionExpression::evalAggregate(), App::FunctionExpression::evaluate(), MeshGui::ViewProviderMesh::faceInfoCallback(), Gui::Document::getActiveView(), Gui::ViewProvider::getBoundingBox(), Gui::Document::getEditingViewOfViewProvider(), Part::TopoShape::getFacesFromSubelement(), Sketcher::SketchObject::getGeometryWithDependentParameters(), Part::TopoShape::getLinesFromSubelement(), Gui::ViewProviderTextDocument::getMDIView(), SketcherGui::ViewProviderSketch::getScaleFactor(), AttacherGui::getUIStrings(), Gui::UserNavigationStyle::getUserFriendlyNames(), MeshGui::MeshSelection::getViewer(), Gui::Document::getViewOfNode(), StdViewScreenShot::isActive(), StdCmdToggleNavigation::isActive(), StdCmdMeasureDistance::isActive(), StdCmdTextureMapping::isActive(), Gui::View3DInventorPy::listNavigationTypes(), Gui::Dialog::DlgSettingsNavigation::loadSettings(), Sketcher::SketchObject::migrateSketch(), SketcherGui::ViewProviderSketch::mouseButtonPressed(), Gui::TreeWidget::mouseDoubleClickEvent(), SketcherGui::ViewProviderSketch::mouseMove(), SketcherGui::ViewProviderSketch::moveConstraint(), Gui::TreeWidget::onActivateDocument(), Gui::View3DInventor::OnChange(), Gui::GraphicsView3D::OnChange(), Gui::Application::onLastWindowClosed(), Attacher::AttachEnginePy::PyInit(), Gui::Application::reopen(), Part::Geometry::Restore(), Gui::Application::sActiveView(), Part::Geometry::Save(), Gui::Document::Save(), SketcherGui::ViewProviderSketch::seekConstraintPosition(), Gui::Document::setActiveView(), SketcherGui::DrawSketchHandler::setCursor(), Gui::View3DInventorViewer::setNavigationType(), Gui::Application::setupContextMenu(), AttacherGui::AttacherGuiPy::sGetModeStrings(), Gui::Application::slotNewDocument(), SketcherGui::DrawSketchHandler::suggestedConstraintsPixmaps(), SketcherGui::DrawSketchHandler::unsetCursor(), SketcherGui::ViewProviderSketch::updateColor(), and SketcherGui::ViewProviderSketch::updateData().

◆ getPyObject()

PyObject * BaseClass::getPyObject ( void  )
virtual

This method returns the Python wrapper for a C++ object.

It's in the responsibility of the programmer to do the correct reference counting. Basically there are two ways how to implement that: Either always return a new Python object then reference counting is not a matter or return always the same Python object then the reference counter must be incremented by one. However, it's absolutely forbidden to return always the same Python object without incrementing the reference counter.

The default implementation returns 'None'.

Reimplemented in Part::GeometryExtension, Part::Geom2dArcOfConic, Part::Geom2dConic, Part::GeomArcOfConic, Part::GeomConic, TechDraw::DrawViewSymbol, TechDraw::DrawViewPart, TechDraw::DrawViewDimension, TechDraw::DrawView, TechDraw::DrawProjGroupItem, TechDraw::DrawProjGroup, TechDraw::DrawPage, TechDraw::DrawLeaderLine, TechDraw::DrawHatch, TechDraw::DrawGeomHatch, Spreadsheet::PropertySheet, SketcherGui::ViewProviderSketchGeometryExtension, Sketcher::SolverGeometryExtension, Sketcher::SketchObject, Sketcher::SketchGeometryExtension, Sketcher::PropertyConstraintList, Sketcher::GeometryFacade, Sketcher::ExternalGeometryFacade, Sketcher::ExternalGeometryExtension, Sketcher::Constraint, PartDesignGui::ViewProvider, PartDesign::Body, Part::GeometryMigrationExtension, Part::GeometryDefaultExtension< T >, Gui::LinkView, Base::FileException, App::PropertyPersistentObject, App::PropertyMaterialList, App::PropertyColorList, App::PropertyBoolList, App::PropertyStringList, App::PropertyFloatList, App::PropertyIntegerList, App::PropertyXLinkList, App::PropertyXLinkSubList, App::PropertyXLinkSub, App::PropertyXLink, App::PropertyLinkSubList, App::PropertyLinkSub, App::PropertyLinkList, App::PropertyLink, App::PropertyPlacementList, App::PropertyPlacement, App::PropertyVectorList, App::PropertyVector, App::PropertyExpressionEngine, App::Part, App::DocumentObjectGroup, App::DocumentObject, App::Document, WebGui::BrowserView, TechDraw::PropertyGeomFormatList, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyCosmeticEdgeList, TechDraw::PropertyCenterLineList, TechDraw::DrawWeldSymbol, TechDraw::DrawViewDimExtent, TechDraw::DrawViewClip, TechDraw::DrawTileWeld, TechDraw::DrawTile, TechDraw::DrawTemplate, TechDraw::DrawSVGTemplate, TechDraw::DrawRichAnno, TechDraw::DrawParametricTemplate, TechDraw::GeomFormat, TechDraw::CenterLine, TechDraw::CosmeticEdge, TechDraw::CosmeticVertex, SpreadsheetGui::SheetView, Spreadsheet::PropertyRowHeights, Spreadsheet::PropertyColumnWidths, Robot::TrajectoryObject, Robot::RobotObject, Robot::PropertyTrajectory, Points::PropertyPointKernel, Points::PropertyCurvatureList, Points::PropertyNormalList, Points::PropertyGreyValueList, Path::PropertyTooltable, Path::PropertyTool, Path::PropertyPath, Path::FeatureCompound, Path::Feature, Path::FeatureArea, PartDesign::Feature, Part::PropertyFilletEdges, Part::PropertyShapeHistory, Part::PropertyPartShape, Part::PropertyGeometryList, Part::GeometryDefaultExtension< T >, Part::GeometryDefaultExtension< T >, Part::GeometryDefaultExtension< T >, Part::GeometryDefaultExtension< T >, Part::Geom2dTrimmedCurve, Part::Geom2dOffsetCurve, Part::Geom2dLineSegment, Part::Geom2dLine, Part::Geom2dArcOfParabola, Part::Geom2dParabola, Part::Geom2dArcOfHyperbola, Part::Geom2dHyperbola, Part::Geom2dArcOfEllipse, Part::Geom2dEllipse, Part::Geom2dArcOfCircle, Part::Geom2dCircle, Part::Geom2dBSplineCurve, Part::Geom2dBezierCurve, Part::Geom2dPoint, Part::GeomSurfaceOfExtrusion, Part::GeomSurfaceOfRevolution, Part::GeomTrimmedSurface, Part::GeomPlateSurface, Part::GeomOffsetSurface, Part::GeomPlane, Part::GeomToroid, Part::GeomSphere, Part::GeomCone, Part::GeomCylinder, Part::GeomBSplineSurface, Part::GeomBezierSurface, Part::GeomOffsetCurve, Part::GeomLineSegment, Part::GeomLine, Part::GeomArcOfParabola, Part::GeomParabola, Part::GeomArcOfHyperbola, Part::GeomHyperbola, Part::GeomArcOfEllipse, Part::GeomEllipse, Part::GeomArcOfCircle, Part::GeomCircle, Part::GeomTrimmedCurve, Part::GeomBSplineCurve, Part::GeomBezierCurve, Part::GeomPoint, Mesh::PropertyMeshKernel, Mesh::PropertyCurvatureList, Mesh::PropertyNormalList, Mesh::Feature, Measure::Measurement, Inspection::PropertyDistanceList, Fem::PropertyPostDataObject, Fem::FemSolverObject, Fem::FemSetObject, Fem::FemSetNodesObject, Fem::FemSetGeometryObject, Fem::FemSetFacesObject, Fem::FemSetElementsObject, Fem::FemResultObject, Fem::PropertyFemMesh, Fem::FemMeshObject, Gui::View3DInventor, Gui::AbstractSplitView, Gui::Document, Base::Exception, App::VRMLObject, App::PropertyQuantity, App::PropertyMaterial, App::PropertyColor, App::PropertyBool, App::PropertyUUID, App::PropertyString, App::PropertyFloat, App::PropertyMap, App::PropertyIntegerSet, App::PropertyEnumeration, App::PropertyPath, App::PropertyInteger, App::PropertyPythonObject, App::PropertyMatrix, App::PropertyFileIncluded, App::InventorObject, App::GeoFeature, PartDesign::FeaturePrimitive, Part::Primitive, Part::Feature, Part::BodyBase, Gui::ViewProviderLink, Gui::ViewProviderDocumentObject, TechDrawGui::MDIViewPage, Spreadsheet::Sheet, Part::TopoShape, MeshGui::ViewProviderMesh, FemGui::ViewProviderFemMesh, Fem::FemPostPipeline, DrawingGui::DrawingView, Gui::PythonBaseWorkbench, Gui::Workbench, Gui::ViewProvider, Gui::SelectionObject, Gui::MDIView, and Gui::AlignmentView.

Referenced by Spreadsheet::SheetPy::get(), Sandbox::DocumentObjectProtectorPy::getattr(), App::DocumentObjectPy::getCustomAttributes(), App::PropertyContainerPy::getCustomAttributes(), Gui::ViewProviderPy::getCustomAttributes(), Spreadsheet::SheetPy::getCustomAttributes(), App::LinkBaseExtensionPy::getLinkExtProperty(), and App::PropertyContainerPy::getPropertyByName().

◆ getTypeId()

◆ init()

◆ initSubclass()

void BaseClass::initSubclass ( Base::Type toInit,
const char *  ClassName,
const char *  ParentName,
Type::instantiationMethod  method = nullptr 
)
staticprotected

◆ isDerivedFrom()

bool Base::BaseClass::isDerivedFrom ( const Type  type) const

References Base::Type::isDerivedFrom().

Referenced by StdCmdToggleSelectability::activated(), Gui::Application::activateView(), PartDesign::Body::addObject(), TechDraw::DrawPage::addView(), PartGui::DlgExtrusion::EdgeSelection::allow(), PartGui::DlgRevolution::EdgeSelection::allow(), SurfaceGui::FillingPanel::ShapeSelection::allow(), SurfaceGui::FillingEdgePanel::ShapeSelection::allow(), SurfaceGui::FillingVertexPanel::VertexSelection::allow(), SurfaceGui::SectionsPanel::ShapeSelection::allow(), SurfaceGui::GeomFillSurface::EdgeSelection::allow(), Gui::ViewProviderLink::attach(), TechDrawGui::TaskRichAnno::calcTextStartPos(), Part::Extrusion::calculateShapeNormal(), Gui::ViewProviderDocumentObject::canDelete(), App::PropertyExpressionEngine::canonicalPath(), PartDesignGui::ViewProviderHelix::claimChildren(), PartDesignGui::ViewProviderPipe::claimChildren(), PartDesignGui::ViewProviderSketchBased::claimChildren(), TechDrawGui::ViewProviderPage::claimChildren(), Gui::TreeWidget::contextMenuEvent(), Sketcher::SketchObject::convertToNURBS(), SpreadsheetGui::SheetModel::data(), Gui::SoFCUnifiedSelection::doAction(), TechDrawGui::QGIViewDimension::draw(), SketcherGui::ViewProviderSketch::draw(), TechDrawGui::QGIViewBalloon::drawBalloon(), SketcherGui::ViewProviderSketch::drawConstraintIcons(), Drawing::FeatureViewSpreadsheet::execute(), PartDesign::FeatureBase::execute(), Path::FeatureAreaView::execute(), Surface::Cut::execute(), TechDraw::DrawViewDetail::execute(), Fem::FemVTKTools::exportFreeCADResult(), App::Document::exportGraphviz(), Spreadsheet::Sheet::exportToFile(), Sketcher::SketchObject::fillet(), ExportOCAFGui::findColors(), App::Origin::getAxis(), PartDesign::ProfileBased::getBaseObject(), PartDesign::Transformed::getBaseObject(), PartDesign::Feature::getBaseShape(), PartDesign::Feature::getBaseTopoShape(), App::PropertyFileIncluded::getDocTransientPath(), Spreadsheet::Cell::getFormattedQuantity(), App::OriginGroupExtension::getGroupOfObject(), Gui::View3DInventorPy::getObjectInfo(), Gui::View3DInventorPy::getObjectsInfo(), App::OriginGroupExtension::getOrigin(), TechDrawGui::QGIDrawingTemplate::getParametricTemplate(), App::Origin::getPlane(), PartDesign::ProfileBased::getProfileWires(), App::PropertyContainerPy::getPropertyTouchList(), PartDesignGui::getReferencedSelection(), SketcherGui::ViewProviderSketch::getScaleFactor(), Path::FeatureAreaView::getShapes(), TechDraw::DrawViewSpreadsheet::getSheetImage(), PartDesign::Transformed::getSketchObject(), TechDrawGui::QGISVGTemplate::getSVGTemplate(), Gui::LinkInfo::getView(), Gui::DocumentItem::getViewProvider(), Part::Part2DObject::handleChangedPropertyType(), TechDraw::DrawView::handleChangedPropertyType(), PartDesignGui::ViewProviderShapeBinder::highlightReferences(), PartDesign::Body::insertObject(), App::GeoFeatureGroupExtension::isLinkValid(), Import::ImportOCAF2::loadShapes(), PartGui::OffsetWidget::OffsetWidget(), App::Document::onBeforeChangeProperty(), App::OriginGroupExtension::onExtendedSetupObject(), PartDesignGui::TaskLinearPatternParameters::onSelectionChanged(), PartDesignGui::TaskMirroredParameters::onSelectionChanged(), PartDesignGui::TaskPolarPatternParameters::onSelectionChanged(), Gui::PropertyView::onTimer(), Gui::Dialog::find_placement::operator()(), App::DocumentObjectT::operator=(), PartDesignGui::TaskTransformedParameters::originalSelected(), App::PropertyLink::Paste(), App::PropertyLinkList::Paste(), App::PropertyLinkSub::Paste(), App::PropertyLinkSubList::Paste(), App::PropertyXLink::Paste(), App::PropertyXLinkSubList::Paste(), PartDesign::ProfileBased::positionByPrevious(), Attacher::AttachEngine::readLinks(), PartDesign::Body::removeObject(), TechDraw::DrawPage::removeView(), App::PropertyLink::resetLink(), App::PropertyLink::Restore(), App::PropertyLinkSub::Restore(), App::PropertyXLink::Restore(), Fem::PropertyPostDataObject::RestoreDocFile(), Part::PropertyPartShape::RestoreDocFile(), Path::PropertyPath::RestoreDocFile(), Gui::Application::sActiveView(), Fem::PropertyPostDataObject::SaveDocFile(), Part::PropertyPartShape::SaveDocFile(), SketcherGui::ViewProviderSketch::seekConstraintPosition(), Part::Part2DObject::seekTrimPoints(), App::PropertyLinkList::set1Value(), PartDesign::Body::setBaseProperty(), Gui::ViewProviderDragger::setEdit(), App::LinkBaseExtension::setProperty(), Gui::PropertyEditor::PropertyItem::setPropertyValue(), PartDesignGui::Workbench::setupContextMenu(), App::Origin::setupObject(), Gui::RecoveryWriter::shouldWrite(), Gui::Document::slotActivatedObject(), Gui::Document::slotChangedObject(), Gui::ViewProviderOriginGroupExtension::slotChangedObjectGui(), PartDesignGui::ViewProviderBody::slotChangedObjectGui(), Gui::Document::slotFinishRestoreDocument(), Gui::Document::slotRelabelObject(), Gui::Document::slotTransactionAppend(), App::PropertyXLink::supportXLink(), PartDesignGui::TaskRevolutionParameters::TaskRevolutionParameters(), Gui::ViewProviderGeometryObject::updateData(), Gui::ViewProviderInventorObject::updateData(), Gui::ViewProviderVRMLObject::updateData(), FemGui::ViewProviderFemMesh::updateData(), Gui::ViewProviderDragger::updateData(), SketcherGui::ViewProviderSketch::updateData(), TechDrawGui::ViewProviderTemplate::updateData(), PartDesignGui::ViewProviderBody::updateData(), PartDesignGui::ViewProviderBody::updateOriginDatumSize(), Gui::ViewProviderOriginGroupExtension::updateOriginSize(), TechDrawGui::MDIViewPage::updateTemplate(), Gui::RecoveryWriter::writeFiles(), App::PropertyLinkList::~PropertyLinkList(), App::PropertyLinkSub::~PropertyLinkSub(), App::PropertyLinkSubList::~PropertyLinkSubList(), and PartDesignGui::TaskDatumParameters::~TaskDatumParameters().

◆ setPyObject()

void BaseClass::setPyObject ( PyObject )
virtual

Reimplemented in App::PropertyListsT< T, ListT, ParentT >, App::PropertyListsT< Base::Vector3d >, App::PropertyListsT< long >, App::PropertyListsT< double >, App::PropertyListsT< Color >, App::PropertyListsT< std::string >, App::PropertyListsT< bool, boost::dynamic_bitset<> >, App::PropertyListsT< DocumentObject *, std::vector< DocumentObject * >, PropertyLinkListBase >, App::PropertyListsT< Material >, App::PropertyListsT< Base::Placement >, Robot::PropertyTrajectory, Points::PropertyPointKernel, Path::PropertyTooltable, Path::PropertyTool, Path::PropertyPath, Part::PropertyPartShape, Mesh::PropertyMeshKernel, Mesh::PropertyCurvatureList, Fem::PropertyPostDataObject, Fem::PropertyFemMesh, Base::FileException, Base::Exception, App::PropertyLinkListBase, App::PropertyLists, Spreadsheet::PropertySheet, Sketcher::PropertyConstraintList, App::PropertyBoolList, App::PropertyXLinkList, App::PropertyXLinkSubList, App::PropertyXLink, App::PropertyLinkSubList, App::PropertyLinkSub, App::PropertyLink, App::PropertyPlacement, App::PropertyVector, App::PropertyExpressionEngine, TechDraw::PropertyGeomFormatList, TechDraw::PropertyCosmeticVertexList, TechDraw::PropertyCosmeticEdgeList, TechDraw::PropertyCenterLineList, Points::PropertyCurvatureList, Points::PropertyNormalList, Points::PropertyGreyValueList, Part::TopoShape, Part::PropertyFilletEdges, Part::PropertyShapeHistory, Part::PropertyGeometryList, Mesh::PropertyNormalList, Inspection::PropertyDistanceList, Gui::AbstractSplitView, App::PropertyQuantityConstraint, App::PropertyQuantity, App::PropertyMaterial, App::PropertyColor, App::PropertyBool, App::PropertyUUID, App::PropertyString, App::PropertyFloatConstraint, App::PropertyFloat, App::PropertyMap, App::PropertyIntegerSet, App::PropertyIntegerConstraint, App::PropertyEnumeration, App::PropertyPath, App::PropertyInteger, App::PropertyPythonObject, App::PropertyMatrix, and App::PropertyFileIncluded.

Referenced by App::DocumentObjectPy::setCustomAttributes(), App::PropertyContainerPy::setCustomAttributes(), Gui::ViewProviderPy::setCustomAttributes(), Sketcher::SketchObjectPy::setCustomAttributes(), TechDraw::DrawParametricTemplatePy::setCustomAttributes(), TechDraw::DrawSVGTemplatePy::setCustomAttributes(), and TechDraw::DrawTemplatePy::setCustomAttributes().


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