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 | clearRecomputeLog (const App::DocumentObject *obj=0) |
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 |
int | iTransactionMode |
int | iUndoMode |
long | lastObjectId |
std::vector< DocumentObject * > | objectArray |
std::unordered_map< long, DocumentObject * > | objectIdMap |
std::unordered_map< std::string, DocumentObject * > | objectMap |
std::unordered_map< std::string, bool > | partialLoadObjects |
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 |
Constructor & Destructor Documentation
◆ DocumentP()
App::DocumentP::DocumentP | ( | ) |
Member Function Documentation
◆ addRecomputeLog() [1/3]
void App::DocumentP::addRecomputeLog | ( | const char * | why, |
App::DocumentObject * | obj | ||
) |
Referenced by addRecomputeLog(), App::Document::afterRestore(), and App::Document::readObjects().
◆ addRecomputeLog() [2/3]
void App::DocumentP::addRecomputeLog | ( | const std::string & | why, |
App::DocumentObject * | obj | ||
) |
References addRecomputeLog().
◆ addRecomputeLog() [3/3]
void App::DocumentP::addRecomputeLog | ( | DocumentObjectExecReturn * | returnCode | ) |
References App::DocumentObject::setStatus(), and App::DocumentObjectExecReturn::Which.
◆ clearRecomputeLog()
void App::DocumentP::clearRecomputeLog | ( | const App::DocumentObject * | obj = 0 | ) |
◆ findAllPathsAt()
|
static |
References DraftVecUtils::find().
Referenced by App::Document::getPathsByOutList().
◆ findRecomputeLog()
const char* App::DocumentP::findRecomputeLog | ( | const App::DocumentObject * | obj | ) |
Referenced by App::Document::getErrorDescription().
◆ partialTopologicalSort()
|
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().
◆ topologicalSort()
std::vector< App::DocumentObject * > DocumentP::topologicalSort | ( | const std::vector< App::DocumentObject * > & | objects | ) | const |
Referenced by App::Document::topologicalSort().
Member Data Documentation
◆ activeObject
DocumentObject* App::DocumentP::activeObject |
◆ activeUndoTransaction
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().
◆ committing
bool App::DocumentP::committing |
◆ iTransactionMode
int App::DocumentP::iTransactionMode |
Referenced by DocumentP(), and App::Document::setTransactionMode().
◆ iUndoMode
int App::DocumentP::iUndoMode |
◆ lastObjectId
long App::DocumentP::lastObjectId |
◆ objectArray
std::vector<DocumentObject*> App::DocumentP::objectArray |
Referenced by App::Document::addObject(), App::Document::addObjects(), App::Document::afterRestore(), App::Document::breakDependency(), 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::removeObject(), App::Document::renameObjectIdentifiers(), App::Document::restore(), App::Document::Save(), App::Document::topologicalSort(), and App::Document::~Document().
◆ objectIdMap
std::unordered_map<long,DocumentObject*> App::DocumentP::objectIdMap |
◆ objectMap
std::unordered_map<std::string,DocumentObject*> App::DocumentP::objectMap |
Referenced by App::Document::addObject(), App::Document::addObjects(), 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(), App::Document::writeDependencyGraphViz(), and App::Document::~Document().
◆ partialLoadObjects
std::unordered_map<std::string, bool> App::DocumentP::partialLoadObjects |
Referenced by App::Document::readObjects(), and App::Document::restore().
◆ rollback
bool App::DocumentP::rollback |
◆ StatusBits
std::bitset<32> App::DocumentP::StatusBits |
Referenced by App::Document::addObject(), DocumentP(), and App::Document::setStatus().
◆ touchedObjs
std::unordered_set<App::DocumentObject*> App::DocumentP::touchedObjs |
◆ undoing
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().
◆ UndoMaxStackSize
unsigned int App::DocumentP::UndoMaxStackSize |
Referenced by DocumentP(), App::Document::getMaxUndoStackSize(), and App::Document::setMaxUndoStackSize().
◆ UndoMemSize
unsigned int App::DocumentP::UndoMemSize |
Referenced by DocumentP(), App::Document::getUndoMemSize(), and App::Document::setUndoLimit().
The documentation for this struct was generated from the following file:
- src/App/Document.cpp