Base class of all Classes handled in the Document. More...
#include <DocumentObject.h>
Public Member Functions | |
DocumentObject (void) | |
Constructor. | |
App::Document * | getDocument (void) const |
gets the document in which this Object is handled | |
std::vector < App::DocumentObject * > | getInList (void) const |
get all objects link to this object | |
const char * | getNameInDocument (void) const |
returns the name which is set in the document for this object (not the name property!) | |
std::vector < App::DocumentObject * > | getOutList (void) const |
returns a list of objects this object is pointing to by Links | |
virtual PyObject * | getPyObject (void) |
This method returns the Python wrapper for a C++ object. | |
virtual std::vector< PyObject * > | getPySubObjects (const std::vector< std::string > &) const |
its used to get the python sub objects by name (e.g. by the selection) | |
const char * | getStatusString (void) const |
get the status Message | |
virtual const char * | getViewProviderName (void) const |
returns the type name of the ViewProvider | |
virtual short | mustExecute (void) const |
mustExecute We call this method to check if the object was modified to be invoked. | |
virtual void | onLostLinkToObject (DocumentObject *) |
Called in case of loosing a link Get called by the document when a object got deleted a link property of this object ist pointing to. | |
virtual void | Save (Base::Writer &writer) const |
This method is used to save properties to an XML document. | |
virtual | ~DocumentObject () |
unsigned long | getStatus () const |
return the status bits | |
bool | isError (void) const |
set this feature to error | |
bool | isRecomputing () const |
returns true if this objects is currently recomputing | |
bool | isRestoring () const |
returns true if this objects is currently restoring from file | |
bool | isTouched (void) const |
test if this feature is touched | |
bool | isValid (void) const |
void | purgeError (void) |
remove the error from the object | |
void | purgeTouched (void) |
reset this feature touched | |
App::DocumentObjectExecReturn * | recompute (void) |
recompute only this object | |
void | touch (void) |
Set the property touched -> changed, cause recomputation in Update(). | |
Public Attributes | |
PropertyString | Label |
Static Public Attributes | |
static DocumentObjectExecReturn * | StdReturn |
Protected Member Functions | |
virtual App::DocumentObjectExecReturn * | execute (void) |
get called by the document to recompute this feature Normaly this method get called in the processing of Document::recompute(). | |
virtual void | onBeforeChange (const Property *prop) |
get called before the value is changed | |
virtual void | onChanged (const Property *prop) |
get called by the container when a property was changed | |
void | resetError (void) |
void | setDocument (App::Document *doc) |
void | setError (void) |
Protected Attributes | |
App::Document * | _pDoc |
pointer to the document this object belongs to | |
const std::string * | pcNameInDocument |
Py::Object | PythonObject |
python object of this class and all descendend | |
std::bitset< 32 > | StatusBits |
Status bits of the document object The first 8 bits are used for the base system the rest can be used in descendent classes to to mark special stati on the objects. | |
Friends | |
class | Document |
class | ObjectExecution |
class | Transaction |
Base class of all Classes handled in the Document.
Definition at line 65 of file DocumentObject.h.
App::DocumentObject::DocumentObject | ( | void | ) |
Constructor.
virtual App::DocumentObject::~DocumentObject | ( | ) | [virtual] |
virtual App::DocumentObjectExecReturn* App::DocumentObject::execute | ( | void | ) | [protected, virtual] |
get called by the document to recompute this feature Normaly this method get called in the processing of Document::recompute().
In execute() the outpupt properties get recomputed with the data from linked objects and objects own properties.
Reimplemented in App::FeatureTest, App::FeatureTestException, App::InventorObject, App::MeasureDistance, App::VRMLObject, Drawing::FeaturePage, Drawing::FeatureProjection, Drawing::FeatureView, Drawing::FeatureViewPart, Fem::FemMeshObject, Inspection::Feature, Mesh::Curvature, Mesh::FixDefects, Mesh::HarmonizeNormals, Mesh::FlipNormals, Mesh::FixNonManifolds, Mesh::FixDuplicatedFaces, Mesh::FixDuplicatedPoints, Mesh::FixDegenerations, Mesh::FixDeformations, Mesh::FixIndices, Mesh::FillHoles, Mesh::RemoveComponents, Mesh::Export, Mesh::Import, Mesh::SegmentByMesh, Mesh::SetOperations, Mesh::Sphere, Mesh::Ellipsoid, Mesh::Cylinder, Mesh::Cone, Mesh::Torus, Mesh::Cube, Mesh::Transform, Mesh::TransformDemolding, Mesh::Feature, Part::CustomFeature, Part::Chamfer, Part::Extrusion, Part::Fillet, Part::FeatureGeometrySet, Part::Mirroring, Part::Boolean, Part::Box, Part::Circle, Part::MultiCommon, Part::CurveNet, Part::MultiFuse, Part::ImportBrep, Part::ImportIges, Part::ImportStep, Part::Polygon, Part::Revolution, Part::Part2DObject, Part::Feature, Part::FeatureReference, Part::RuledSurface, Part::Loft, Part::Primitive, Part::Vertex, Part::Plane, Part::Sphere, Part::Ellipsoid, Part::Cylinder, Part::Cone, Part::Torus, Part::Helix, Part::Wedge, PartDesign::Chamfer, PartDesign::Face, PartDesign::Fillet, PartDesign::Hole, PartDesign::MainPart, PartDesign::Pad, PartDesign::PatternRectangular, PartDesign::Pocket, PartDesign::Revolution, Points::ImportAscii, Points::Feature, Points::Export, Raytracing::RayFeature, Raytracing::RayProject, Raytracing::RaySegment, Robot::Edge2TracObject, Robot::RobotObject, Robot::TrajectoryCompound, Robot::TrajectoryDressUpObject, Robot::TrajectoryObject, Sandbox::SandboxObject, Sketcher::SketchObject, and Sketcher::SketchObjectSF.
App::Document* App::DocumentObject::getDocument | ( | void | ) | const |
gets the document in which this Object is handled
Referenced by App::Document::_copyObject(), PartGui::FaceColors::accept(), Gui::Dialog::TransformStrategy::acceptDataTransform(), Sketcher::SketchObjectPy::addExternal(), App::DocumentObjectGroupPy::addObject(), App::DocumentObjectGroup::addObject(), Gui::Dialog::TransformStrategy::applyViewTransform(), Gui::ViewProviderVRMLObject::attach(), RobotGui::ViewProviderTrajectory::attach(), RobotGui::ViewProviderRobotObject::attach(), Gui::ViewProviderMeasureDistance::attach(), Gui::ViewProviderGeometryObject::attach(), MeshGui::ViewProviderMeshCurvature::attach(), Gui::ViewProviderAnnotation::attach(), PartGui::ViewProviderPartBase::computeEdges(), PartGui::ViewProviderPartBase::computeFaces(), PartGui::ViewProviderPartBase::computeVertices(), Gui::ViewProviderIndex::data(), Gui::TreeWidget::dragMoveEvent(), Gui::TreeWidget::dropEvent(), Gui::ViewProviderDocumentObject::findFrontRootOfType(), Gui::ViewProviderDocumentObject::getActiveView(), App::DocumentObjectGroup::getGroupOfObject(), InspectionGui::ViewProviderInspection::getIcon(), App::DocumentObjectGroup::getObject(), Gui::View3DInventorPy::getObjectInfo(), Gui::View3DInventorPy::getObjectsInfo(), Gui::Application::getViewProvider(), Gui::ViewProviderDocumentObjectGroup::getViewProviders(), Gui::SoFCUnifiedSelection::handleEvent(), App::DocumentObjectGroupPy::hasObject(), Gui::ViewProviderDocumentObjectGroup::hide(), Gui::TreeWidget::mimeData(), App::Document::moveObject(), SketcherGui::TaskSketcherConstrains::on_listWidgetConstraints_itemSelectionChanged(), MeshGui::DlgEvaluateMeshImp::on_repairAllTogether_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairDegeneratedButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairDuplicatedFacesButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairDuplicatedPointsButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairFoldsButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairIndicesButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairNonmanifoldsButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairOrientationButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairSelfIntersectionButton_clicked(), Gui::TreeWidget::onCreateGroup(), Gui::TreeWidget::onFinishEditing(), SketcherGui::TaskSketcherConstrains::onSelectionChanged(), PartGui::FaceColors::onSelectionChanged(), Gui::TreeWidget::onStartEditing(), Gui::PropertyEditor::PropertyItem::pythonIdentifier(), PartGui::FaceColors::reject(), DrawSketchHandlerFillet::releaseButton(), App::DocumentObjectGroupPy::removeObject(), Gui::Dialog::TransformStrategy::resetViewTransform(), App::PropertyLinkSubList::Restore(), App::PropertyLinkList::Restore(), Gui::SelectionSingleton::sAddSelection(), MeshGui::DlgEvaluateMeshImp::setMesh(), Gui::Application::sExport(), Gui::ViewProviderDocumentObjectGroup::show(), Gui::ViewProviderPythonFeatureObserver::slotAppendObject(), Gui::SelectionSingleton::slotDeletedObject(), Gui::ViewProviderPythonFeatureObserver::slotDeleteObject(), Gui::ObjectLabelObserver::slotRelabelObject(), Gui::SelectionSingleton::slotRenamedObject(), Gui::SelectionSingleton::sRemoveSelection(), SketcherGui::ViewProviderSketch::unsetEdit(), Gui::ViewProviderInventorObject::updateData(), and MeshGui::ViewProviderMeshCurvature::updateData().
std::vector<App::DocumentObject*> App::DocumentObject::getInList | ( | void | ) | const |
get all objects link to this object
Referenced by App::DocumentObjectPy::getInList().
const char* App::DocumentObject::getNameInDocument | ( | void | ) | const |
returns the name which is set in the document for this object (not the name property!)
Referenced by App::Document::_copyObject(), App::Document::_recomputeFeature(), App::Document::_remObject(), PartDesignGui::TaskDlgRevolutionParameters::accept(), PartDesignGui::TaskDlgPocketParameters::accept(), PartDesignGui::TaskDlgPadParameters::accept(), PartDesignGui::TaskDlgFilletParameters::accept(), CmdRobotTrajectoryCompound::activated(), CmdRobotTrajectoryDressUp::activated(), CmdRobotEdge2Trac::activated(), CmdRobotInsertWaypointPreselect::activated(), CmdRobotInsertWaypoint::activated(), CmdRobotExportKukaFull::activated(), CmdRobotExportKukaCompact::activated(), CmdSketcherViewSketch::activated(), CmdSketcherNewSketch::activated(), CmdRobotRestoreHomePos::activated(), CmdRobotSetHomePos::activated(), CmdPartDesignRevolution::activated(), CmdPartDesignPocket::activated(), CmdPartDesignPad::activated(), CmdPartRuledSurface::activated(), CmdMeshToolMesh::activated(), CmdMeshVertexCurvature::activated(), CmdMeshExport::activated(), App::DocumentObjectGroupPy::addObject(), App::Transaction::addObjectNew(), Gui::ViewProviderVRMLObject::attach(), RobotGui::ViewProviderTrajectory::attach(), RobotGui::ViewProviderRobotObject::attach(), Gui::ViewProviderMeasureDistance::attach(), Gui::ViewProviderGeometryObject::attach(), Gui::ViewProviderAnnotation::attach(), PartGui::ViewProviderPartBase::computeEdges(), PartGui::ViewProviderPartBase::computeFaces(), PartGui::ViewProviderPartBase::computeVertices(), SketcherGui::DrawSketchHandler::createAutoConstraints(), PartDesignGui::ViewProvider::doubleClicked(), Gui::TreeWidget::dropEvent(), SketcherGui::EditDatumDialog::exec(), Sketcher::SketchObjectSF::execute(), Points::Export::execute(), Gui::Document::exportObjects(), MeshGui::ViewProviderMesh::faceInfo(), Gui::SelectionObject::getAsPropertyLinkSubString(), Gui::View3DInventorPy::getObjectInfo(), Gui::View3DInventorPy::getObjectsInfo(), Gui::SoFCUnifiedSelection::handleEvent(), App::DocumentObjectGroupPy::hasObject(), Gui::MergeDocuments::importObjects(), App::Document::importObjects(), App::Document::moveObject(), SketcherGui::TaskSketcherConstrains::on_listWidgetConstraints_itemSelectionChanged(), MeshGui::DlgEvaluateMeshImp::on_repairAllTogether_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairDegeneratedButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairDuplicatedFacesButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairDuplicatedPointsButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairFoldsButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairIndicesButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairNonmanifoldsButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairOrientationButton_clicked(), MeshGui::DlgEvaluateMeshImp::on_repairSelfIntersectionButton_clicked(), Gui::TreeWidget::onCreateGroup(), SketcherGui::TaskSketcherConstrains::onSelectionChanged(), PartGui::FaceColors::onSelectionChanged(), Gui::ItemViewSelection::MatchName::operator()(), Gui::PropertyEditor::PropertyItem::pythonIdentifier(), App::Document::recompute(), DrawSketchHandlerTrimming::releaseButton(), DrawSketchHandlerFillet::releaseButton(), DrawSketchHandlerCircle::releaseButton(), DrawSketchHandlerArc::releaseButton(), DrawSketchHandlerLineSet::releaseButton(), DrawSketchHandlerBox::releaseButton(), DrawSketchHandlerLine::releaseButton(), App::DocumentObjectGroupPy::removeObject(), Gui::SelectionSingleton::sAddSelection(), App::PropertyLinkSub::Save(), App::PropertyLink::Save(), Gui::Document::SaveDocFile(), MeshGui::DlgEvaluateMeshImp::setMesh(), Gui::DocumentItem::slotActiveObject(), Gui::Document::slotChangedObject(), Gui::DocumentItem::slotChangeObject(), Gui::SelectionSingleton::slotDeletedObject(), Gui::DocumentItem::slotDeleteObject(), Gui::DocumentItem::slotInEdit(), Gui::DocumentItem::slotNewObject(), Gui::Document::slotNewObject(), Gui::DocumentItem::slotRenameObject(), Gui::DocumentItem::slotResetEdit(), MeshGui::ViewProviderMesh::splitMesh(), Gui::SelectionSingleton::sRemoveSelection(), SketcherGui::ViewProviderSketch::unsetEdit(), Gui::ViewProviderInventorObject::updateData(), PartGui::ViewProviderPartBase::updateData(), and PartGui::ViewProviderPartExt::updateVisual().
std::vector<App::DocumentObject*> App::DocumentObject::getOutList | ( | void | ) | const |
returns a list of objects this object is pointing to by Links
Referenced by App::DocumentObjectPy::getOutList().
virtual PyObject* App::DocumentObject::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 from Base::BaseClass.
Reimplemented in App::DocumentObjectGroup, App::InventorObject, App::VRMLObject, Fem::FemMeshObject, Mesh::Feature, Part::Feature, Robot::RobotObject, Robot::TrajectoryObject, and Sketcher::SketchObject.
Referenced by App::DocumentPy::addObject(), App::DocumentPy::copyObject(), App::FeaturePythonImp::execute(), App::DocumentPy::getActiveObject(), App::DocumentPy::getCustomAttributes(), Gui::ViewProviderDocumentObjectPy::getObject(), App::DocumentPy::getObject(), App::DocumentObjectGroupPy::getObject(), App::PropertyLinkSub::getPyObject(), App::PropertyLink::getPyObject(), App::DocumentPy::moveObject(), App::DocumentObjectGroupPy::newObject(), App::FeaturePythonImp::onChanged(), and Gui::ViewProviderPythonFeatureImp::updateData().
virtual std::vector<PyObject *> App::DocumentObject::getPySubObjects | ( | const std::vector< std::string > & | ) | const [virtual] |
its used to get the python sub objects by name (e.g. by the selection)
Reimplemented in Part::Feature.
Referenced by Gui::SelectionObjectPy::getSubObjects().
unsigned long App::DocumentObject::getStatus | ( | ) | const [inline] |
return the status bits
Definition at line 107 of file DocumentObject.h.
const char* App::DocumentObject::getStatusString | ( | void | ) | const |
get the status Message
Referenced by Gui::DocumentObjectItem::displayStatusInfo().
virtual const char* App::DocumentObject::getViewProviderName | ( | void | ) | const [inline, virtual] |
returns the type name of the ViewProvider
Reimplemented in App::Annotation, App::AnnotationLabel, App::DocumentObjectFileIncluded, App::DocumentObjectGroup, App::FeatureTest, App::FeatureTestException, App::InventorObject, App::MeasureDistance, App::VRMLObject, Drawing::FeaturePage, Drawing::FeatureView, Drawing::FeatureViewPart, Drawing::PageGroup, Fem::FemMeshObject, Image::ImagePlane, Inspection::Feature, Inspection::Group, Mesh::Curvature, Mesh::Export, Mesh::Transform, Mesh::TransformDemolding, Mesh::Feature, Part::CustomFeature, Part::Chamfer, Part::Extrusion, Part::Fillet, Part::FeatureGeometrySet, Part::Mirroring, Part::Boolean, Part::Box, Part::MultiCommon, Part::CurveNet, Part::MultiFuse, Part::ImportBrep, Part::ImportIges, Part::ImportStep, Part::Part2DObject, Part::Feature, Part::FeatureExt, Part::FeatureReference, Part::Ellipsoid, PartDesign::Chamfer, PartDesign::Fillet, PartDesign::Hole, PartDesign::Pad, PartDesign::PatternRectangular, PartDesign::Pocket, PartDesign::Revolution, Points::Feature, Raytracing::RayFeature, Robot::Edge2TracObject, Robot::RobotObject, Robot::TrajectoryCompound, Robot::TrajectoryDressUpObject, Robot::TrajectoryObject, Sandbox::SandboxObject, and Sketcher::SketchObject.
Definition at line 74 of file DocumentObject.h.
Referenced by Gui::FreeCADGui_subgraphFromObject(), and Gui::Document::slotNewObject().
bool App::DocumentObject::isError | ( | void | ) | const [inline] |
set this feature to error
Definition at line 96 of file DocumentObject.h.
Referenced by Mesh::SegmentByMesh::execute(), Mesh::Export::execute(), Mesh::Curvature::execute(), App::DocumentObjectPy::getState(), and Gui::DocumentObjectItem::testStatus().
bool App::DocumentObject::isRecomputing | ( | ) | const [inline] |
returns true if this objects is currently recomputing
Definition at line 101 of file DocumentObject.h.
Referenced by Part::Feature::onChanged().
bool App::DocumentObject::isRestoring | ( | ) | const [inline] |
returns true if this objects is currently restoring from file
Definition at line 103 of file DocumentObject.h.
Referenced by Part::Wedge::onChanged(), Part::Vertex::onChanged(), Part::Primitive::onChanged(), App::MeasureDistance::onChanged(), Part::Circle::onChanged(), Part::Box::onChanged(), Drawing::FeaturePage::onChanged(), and Part::Mirroring::onChanged().
bool App::DocumentObject::isTouched | ( | void | ) | const [inline] |
test if this feature is touched
Definition at line 92 of file DocumentObject.h.
Referenced by App::DocumentObjectPy::getState(), Mesh::SegmentByMesh::mustExecute(), Mesh::Curvature::mustExecute(), PartDesign::Fillet::mustExecute(), PartDesign::Chamfer::mustExecute(), and App::Document::recompute().
bool App::DocumentObject::isValid | ( | void | ) | const [inline] |
Definition at line 97 of file DocumentObject.h.
virtual short App::DocumentObject::mustExecute | ( | void | ) | const [virtual] |
mustExecute We call this method to check if the object was modified to be invoked.
If the object label or an argument is modified. If we must recompute the object - to call the method execute(). 0: no recompution is needed 1: recompution needed -1: the document examine all links of this object and if one is touched -> recompute
Reimplemented in App::InventorObject, App::VRMLObject, Fem::FemMeshObject, Inspection::Feature, Mesh::Curvature, Mesh::FixDefects, Mesh::Export, Mesh::Import, Mesh::SegmentByMesh, Mesh::SetOperations, Mesh::Sphere, Mesh::Ellipsoid, Mesh::Cylinder, Mesh::Cone, Mesh::Torus, Mesh::Cube, Part::CustomFeature, Part::Chamfer, Part::Extrusion, Part::Fillet, Part::Mirroring, Part::Boolean, Part::Box, Part::Circle, Part::MultiCommon, Part::CurveNet, Part::MultiFuse, Part::ImportBrep, Part::ImportIges, Part::ImportStep, Part::Polygon, Part::Revolution, Part::Feature, Part::FeatureReference, Part::RuledSurface, Part::Loft, Part::Primitive, Part::Vertex, Part::Plane, Part::Sphere, Part::Ellipsoid, Part::Cylinder, Part::Cone, Part::Torus, Part::Helix, Part::Wedge, PartDesign::Chamfer, PartDesign::Face, PartDesign::Fillet, PartDesign::MainPart, PartDesign::Pad, PartDesign::Pocket, PartDesign::Revolution, Points::ImportAscii, Raytracing::RayProject, Robot::RobotObject, Robot::TrajectoryObject, Sandbox::SandboxObject, and Sketcher::SketchObjectSF.
Referenced by Gui::DocumentObjectItem::displayStatusInfo(), App::Document::recompute(), and Gui::DocumentObjectItem::testStatus().
virtual void App::DocumentObject::onBeforeChange | ( | const Property * | prop | ) | [protected, virtual] |
get called before the value is changed
Reimplemented from App::PropertyContainer.
virtual void App::DocumentObject::onChanged | ( | const Property * | prop | ) | [protected, virtual] |
get called by the container when a property was changed
Reimplemented from App::PropertyContainer.
Reimplemented in App::MeasureDistance, Drawing::FeaturePage, Fem::FemMeshObject, Mesh::Feature, Part::Mirroring, Part::Box, Part::Circle, Part::Feature, Part::RuledSurface, Part::Loft, Part::Primitive, Part::Vertex, Part::Wedge, Points::Feature, Robot::Edge2TracObject, Robot::RobotObject, Robot::TrajectoryDressUpObject, Robot::TrajectoryObject, Sandbox::SandboxObject, and Sketcher::SketchObject.
virtual void App::DocumentObject::onLostLinkToObject | ( | DocumentObject * | ) | [virtual] |
Called in case of loosing a link Get called by the document when a object got deleted a link property of this object ist pointing to.
The standard behaivour of the DocumentObject implementation is to reset the links to nothing. You may overide this method to implement additional or different behavior.
void App::DocumentObject::purgeError | ( | void | ) | [inline] |
remove the error from the object
Definition at line 99 of file DocumentObject.h.
void App::DocumentObject::purgeTouched | ( | void | ) | [inline] |
reset this feature touched
Definition at line 94 of file DocumentObject.h.
Referenced by App::Document::_copyObject(), CmdSandboxMeshLoaderFuture::activated(), CmdSandboxMeshLoaderBoost::activated(), CmdSandboxMeshLoader::activated(), PartGui::CrossSections::apply(), PointsGui::ViewProviderPoints::cut(), MeshGui::ViewProviderMesh::cutMesh(), MeshGui::ViewProviderMesh::deleteSelection(), importer(), open(), and App::DocumentObjectPy::purgeTouched().
App::DocumentObjectExecReturn* App::DocumentObject::recompute | ( | void | ) |
recompute only this object
Referenced by App::Document::_recomputeFeature(), RobotGui::TaskDlgTrajectoryDressUp::accept(), RobotGui::TaskDlgEdge2Trac::accept(), RobotGui::TaskDlgTrajectoryDressUp::clicked(), Part::Wedge::onChanged(), Part::Vertex::onChanged(), Part::Primitive::onChanged(), App::MeasureDistance::onChanged(), Part::Circle::onChanged(), Part::Box::onChanged(), and Part::Mirroring::onChanged().
void App::DocumentObject::resetError | ( | void | ) | [inline, protected] |
Definition at line 175 of file DocumentObject.h.
Referenced by App::Document::_recomputeFeature().
virtual void App::DocumentObject::Save | ( | Base::Writer & | ) | const [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 indention, 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.
Reimplemented from App::PropertyContainer.
Reimplemented in Robot::RobotObject, and Sketcher::SketchObject.
void App::DocumentObject::setDocument | ( | App::Document * | doc | ) | [protected] |
Referenced by App::Document::addObject(), and App::Document::moveObject().
void App::DocumentObject::setError | ( | void | ) | [inline, protected] |
Definition at line 174 of file DocumentObject.h.
Referenced by App::Document::_recomputeFeature(), and Import::FeatureImportStep::Execute().
void App::DocumentObject::touch | ( | void | ) |
Set the property touched -> changed, cause recomputation in Update().
set this feature touched (cause recomputation on depndend features)
Referenced by App::DocumentObjectPy::touch().
friend class Document [friend] |
Definition at line 141 of file DocumentObject.h.
friend class ObjectExecution [friend] |
Definition at line 143 of file DocumentObject.h.
friend class Transaction [friend] |
Definition at line 142 of file DocumentObject.h.
App::Document* App::DocumentObject::_pDoc [protected] |
pointer to the document this object belongs to
Definition at line 187 of file DocumentObject.h.
Definition at line 71 of file DocumentObject.h.
Referenced by CmdMeshEvaluateSolid::activated(), CmdMeshExport::activated(), App::Document::addObject(), Gui::PointMarker::customEvent(), Gui::ViewProviderIndex::data(), Raytracing::RayFeature::execute(), Inspection::Feature::execute(), Drawing::FeatureViewPart::execute(), exporter(), PartGui::FaceColors::FaceColors(), importer(), Part::ImportIgesParts(), App::FeaturePythonImp::onChanged(), open(), Part::PropertyPartShape::RestoreDocFile(), Part::PropertyPartShape::SaveDocFile(), Gui::DocumentObjectItem::setData(), RobotGui::TaskEdge2TracParameter::setHideShowObject(), MeshGui::Annotation::show(), Gui::Application::sInsert(), Gui::DocumentItem::slotChangeObject(), Gui::DocumentItem::slotNewObject(), and Gui::ObjectLabelObserver::slotRelabelObject().
const std::string* App::DocumentObject::pcNameInDocument [protected] |
Definition at line 190 of file DocumentObject.h.
Referenced by App::Document::_addObject(), App::Document::addObject(), and App::Transaction::addObjectNew().
Py::Object App::DocumentObject::PythonObject [protected] |
python object of this class and all descendend
Definition at line 185 of file DocumentObject.h.
Referenced by App::VRMLObject::getPyObject(), Robot::TrajectoryObject::getPyObject(), Sketcher::SketchObject::getPyObject(), Robot::RobotObject::getPyObject(), Part::Feature::getPyObject(), Mesh::Feature::getPyObject(), App::InventorObject::getPyObject(), Fem::FemMeshObject::getPyObject(), App::DocumentObjectGroup::getPyObject(), and Part::FeatureExt::init().
std::bitset<32> App::DocumentObject::StatusBits [protected] |
Status bits of the document object The first 8 bits are used for the base system the rest can be used in descendent classes to to mark special stati on the objects.
The bits and their meaning are listed below: 0 - object is marked as 'touched' 1 - object is marked as 'erroneous' 2 - object is marked as 'new' 3 - object is marked as 'recompute', i.e. the object gets recomputed now 4 - object is marked as 'restoring', i.e. the object gets loaded at the moment 5 - reserved 6 - reserved 7 - reserved
Definition at line 172 of file DocumentObject.h.
Referenced by App::Document::addObject(), App::Document::importObjects(), and App::Document::Restore().
Definition at line 145 of file DocumentObject.h.
Referenced by App::Document::_recomputeFeature(), App::VRMLObject::execute(), Robot::TrajectoryObject::execute(), Robot::TrajectoryDressUpObject::execute(), Robot::TrajectoryCompound::execute(), Sketcher::SketchObjectSF::execute(), Sketcher::SketchObject::execute(), Robot::RobotObject::execute(), Raytracing::RaySegment::execute(), Raytracing::RayProject::execute(), Raytracing::RayFeature::execute(), Part::Wedge::execute(), Part::Helix::execute(), Part::Torus::execute(), Part::Cone::execute(), Part::Cylinder::execute(), Part::Ellipsoid::execute(), Part::Sphere::execute(), Part::Plane::execute(), Part::Vertex::execute(), Points::Export::execute(), Points::Feature::execute(), Part::Loft::execute(), Part::RuledSurface::execute(), Part::FeatureReference::execute(), Part::Feature::execute(), Part::Part2DObject::execute(), Mesh::Feature::execute(), App::MeasureDistance::execute(), App::InventorObject::execute(), Fem::FemMeshObject::execute(), Drawing::FeatureViewPart::execute(), Drawing::FeatureView::execute(), App::FeatureTest::execute(), PartDesign::Revolution::execute(), Part::Revolution::execute(), App::FeaturePythonImp::execute(), Drawing::FeatureProjection::execute(), Points::ImportAscii::execute(), PartDesign::Pocket::execute(), PartDesign::PatternRectangular::execute(), Part::Polygon::execute(), Part::ImportStep::execute(), Part::ImportIges::execute(), Part::ImportBrep::execute(), Part::MultiFuse::execute(), Part::CurveNet::execute(), Part::MultiCommon::execute(), Part::Circle::execute(), Part::Box::execute(), Part::Boolean::execute(), Drawing::FeaturePage::execute(), PartDesign::Pad::execute(), Part::Mirroring::execute(), Mesh::TransformDemolding::execute(), Mesh::Transform::execute(), Mesh::Cube::execute(), Mesh::Torus::execute(), Mesh::Cone::execute(), Mesh::Cylinder::execute(), Mesh::Ellipsoid::execute(), Mesh::Sphere::execute(), Mesh::SetOperations::execute(), Mesh::SegmentByMesh::execute(), Mesh::Import::execute(), Mesh::Export::execute(), Mesh::RemoveComponents::execute(), Mesh::FillHoles::execute(), Mesh::FixIndices::execute(), Mesh::FixDeformations::execute(), Mesh::FixDegenerations::execute(), Mesh::FixDuplicatedPoints::execute(), Mesh::FixDuplicatedFaces::execute(), Mesh::FixNonManifolds::execute(), Mesh::FlipNormals::execute(), Mesh::HarmonizeNormals::execute(), Mesh::FixDefects::execute(), Mesh::Curvature::execute(), PartDesign::MainPart::execute(), PartDesign::Hole::execute(), Part::FeatureGeometrySet::execute(), PartDesign::Fillet::execute(), Part::Fillet::execute(), PartDesign::Face::execute(), Part::Extrusion::execute(), PartDesign::Chamfer::execute(), Part::Chamfer::execute(), Robot::Edge2TracObject::execute(), and Part::CustomFeature::execute().