Public Member Functions | |
void | addRecomputeLog (const char *why, App::DocumentObject *obj) |
void | addRecomputeLog (const std::string &why, App::DocumentObject *obj) |
void | addRecomputeLog (DocumentObjectExecReturn *returnCode) |
void | clearDocument () |
void | clearRecomputeLog (const App::DocumentObject *obj=nullptr) |
DocumentP () | |
const char * | findRecomputeLog (const App::DocumentObject *obj) |
std::vector< App::DocumentObject * > | topologicalSort (const std::vector< App::DocumentObject * > &objects) const |
Static Public Member Functions | |
static void | findAllPathsAt (const std::vector< Node > &all_nodes, size_t id, std::vector< Path > &all_paths, Path tmp) |
static std::vector< App::DocumentObject * > | partialTopologicalSort (const std::vector< App::DocumentObject * > &objects) |
Public Attributes | |
DocumentObject * | activeObject |
Transaction * | activeUndoTransaction |
bool | committing |
Py::Object | DocumentPythonObject |
int | iTransactionMode |
int | iUndoMode |
long | lastObjectId |
std::vector< DocumentObject * > | objectArray |
std::unordered_map< long, DocumentObject * > | objectIdMap |
std::unordered_map< std::string, DocumentObject * > | objectMap |
bool | opentransaction |
std::unordered_map< std::string, bool > | partialLoadObjects |
std::vector< DocumentObjectT > | pendingRemove |
std::string | programVersion |
bool | rollback |
std::bitset< 32 > | StatusBits |
std::unordered_set< App::DocumentObject * > | touchedObjs |
bool | undoing |
document in the middle of undo or redo More... | |
unsigned int | UndoMaxStackSize |
unsigned int | UndoMemSize |
App::DocumentP::DocumentP | ( | ) |
void App::DocumentP::addRecomputeLog | ( | const char * | why, |
App::DocumentObject * | obj | ||
) |
References addRecomputeLog().
Referenced by addRecomputeLog(), App::Document::afterRestore(), and App::Document::readObjects().
void App::DocumentP::addRecomputeLog | ( | const std::string & | why, |
App::DocumentObject * | obj | ||
) |
References addRecomputeLog().
void App::DocumentP::addRecomputeLog | ( | DocumentObjectExecReturn * | returnCode | ) |
References App::DocumentObject::setStatus(), and App::DocumentObjectExecReturn::Which.
void App::DocumentP::clearDocument | ( | ) |
References objectArray, objectIdMap, and objectMap.
Referenced by App::Document::clearDocument(), App::Document::restore(), and App::Document::~Document().
void App::DocumentP::clearRecomputeLog | ( | const App::DocumentObject * | obj = nullptr | ) |
|
static |
References DraftVecUtils::find(), and findAllPathsAt().
Referenced by findAllPathsAt(), and App::Document::getPathsByOutList().
const char * App::DocumentP::findRecomputeLog | ( | const App::DocumentObject * | obj | ) |
Referenced by App::Document::getErrorDescription().
|
static |
Does almost the same as topologicalSort() until no object with an input degree of zero can be found. It then searches for objects with an output degree of zero until neither an object with input or output degree can be found. The remaining objects form one or multiple cycles. An alternative to this method might be: https://en.wikipedia.org/wiki/Tarjan%E2%80%99s_strongly_connected_components_algorithm
Referenced by App::Document::getDependencyList(), and App::Document::recompute().
std::vector< App::DocumentObject * > DocumentP::topologicalSort | ( | const std::vector< App::DocumentObject * > & | objects | ) | const |
Referenced by App::Document::topologicalSort().
DocumentObject* App::DocumentP::activeObject |
Transaction* App::DocumentP::activeUndoTransaction |
Referenced by App::Document::abortTransaction(), App::Document::addObject(), App::Document::addObjects(), App::Document::addOrRemovePropertyOfObject(), App::Document::clearUndos(), App::Document::commitTransaction(), DocumentP(), App::Document::getAvailableUndoNames(), App::Document::getAvailableUndos(), App::Document::getTransactionID(), App::Document::hasPendingTransaction(), App::Document::isTransactionEmpty(), App::Document::onBeforeChangeProperty(), App::Document::redo(), App::Document::removeObject(), App::Document::renameTransaction(), and App::Document::undo().
bool App::DocumentP::committing |
Py::Object App::DocumentP::DocumentPythonObject |
Referenced by App::Document::Document(), App::Document::getPyObject(), and App::Document::~Document().
int App::DocumentP::iTransactionMode |
Referenced by DocumentP(), and App::Document::setTransactionMode().
int App::DocumentP::iUndoMode |
long App::DocumentP::lastObjectId |
std::vector<DocumentObject*> App::DocumentP::objectArray |
Referenced by App::Document::addObject(), App::Document::addObjects(), App::Document::afterRestore(), App::Document::breakDependency(), clearDocument(), App::Document::clearDocument(), App::Document::countObjects(), App::Document::findObjects(), App::Document::getDependingObjects(), App::Document::getLinksTo(), App::Document::getMemSize(), App::Document::getObjects(), App::Document::getObjectsOfType(), App::Document::getObjectsWithExtension(), App::Document::getPathsByOutList(), App::Document::getRootObjects(), App::Document::getTouched(), App::Document::isTouched(), App::Document::mustExecute(), App::Document::purgeTouched(), App::Document::recompute(), App::Document::redo(), App::Document::removeObject(), App::Document::renameObjectIdentifiers(), App::Document::restore(), App::Document::Save(), App::Document::topologicalSort(), and App::Document::undo().
std::unordered_map<long,DocumentObject*> App::DocumentP::objectIdMap |
std::unordered_map<std::string,DocumentObject*> App::DocumentP::objectMap |
Referenced by App::Document::addObject(), App::Document::addObjects(), clearDocument(), App::Document::clearDocument(), App::Document::countObjectsOfType(), App::Document::getInList(), App::Document::getObject(), App::Document::getObjectName(), App::Document::getUniqueObjectName(), App::Document::isIn(), App::Document::removeObject(), App::Document::restore(), and App::Document::writeDependencyGraphViz().
bool App::DocumentP::opentransaction |
Referenced by DocumentP().
std::unordered_map<std::string, bool> App::DocumentP::partialLoadObjects |
Referenced by App::Document::readObjects(), and App::Document::restore().
std::vector<DocumentObjectT> App::DocumentP::pendingRemove |
Referenced by App::Document::recompute(), and App::Document::removeObject().
std::string App::DocumentP::programVersion |
Referenced by App::Document::getProgramVersion(), and App::Document::restore().
bool App::DocumentP::rollback |
Referenced by App::Document::addObject(), App::Document::addObjects(), App::Document::addOrRemovePropertyOfObject(), DocumentP(), App::Document::isPerformingTransaction(), App::Document::moveObject(), App::Document::onBeforeChangeProperty(), App::Document::recompute(), and App::Document::removeObject().
std::bitset<32> App::DocumentP::StatusBits |
Referenced by App::Document::addObject(), DocumentP(), and App::Document::setStatus().
std::unordered_set<App::DocumentObject*> App::DocumentP::touchedObjs |
bool App::DocumentP::undoing |
document in the middle of undo or redo
Referenced by App::Document::addObject(), App::Document::addObjects(), DocumentP(), App::Document::isPerformingTransaction(), App::Document::recompute(), App::Document::redo(), App::Document::removeObject(), and App::Document::undo().
unsigned int App::DocumentP::UndoMaxStackSize |
Referenced by DocumentP(), App::Document::getMaxUndoStackSize(), and App::Document::setMaxUndoStackSize().
unsigned int App::DocumentP::UndoMemSize |
Referenced by DocumentP(), App::Document::getUndoMemSize(), and App::Document::setUndoLimit().