2 #pragma warning(disable : 4251) 16 #include <boost/unordered_map.hpp> 17 #include <boost/unordered_set.hpp> 22 #define DIR_NAME_INTERNAL_CATALOG "__internalCatalog__" 23 #define DIR_NAME_WEBGL_GT "webgl" 24 #define DIR_NAME_GEOID "geoid" 25 #define FILE_NAME_CAMERA_ANIMATION "CameraAnimation.ivc" 46 class PropertyLinkBase;
47 class CoreDocumentImpl;
52 typedef boost::unordered_set<Core::DocObject*>
ObjectSet;
53 typedef boost::unordered_map<DocObject::IdType, Core::DocObject*>
ObjectMap;
56 typedef boost::unordered_map<DocObject::IdType, Core::ExecObject*>
ExecObjectMap;
64 typedef std::multimap<Base::String, Core::AttachmentEntry>
Attachments;
109 std::string MsgName =
"";
153 DocumentState() =
default;
154 DocumentState(
const DocumentState& rhs)
156 PropertyErrors = rhs.PropertyErrors;
157 LastErroneousObjects = rhs.LastErroneousObjects;
158 LastRecomputeTime = rhs.LastRecomputeTime;
159 LastNotifyTime = rhs.LastNotifyTime;
172 PropertyLinkDesc(std::string sourceDocObjectID, std::string sourcePropertyName,
Base::Type sourcePropertyTypeID, std::string targetDocObjectID)
173 : m_SourceDocObjectID(sourceDocObjectID)
174 , m_SourcePropertyName(sourcePropertyName)
175 , m_SourcePropertyTypeID(sourcePropertyTypeID)
176 , m_TargetDocObjectID(m_TargetDocObjectID)
205 friend class ::App::ElementTool;
258 template <
typename Type>
262 assert(copy &&
"Document::copyObjectShallow could not copy object");
267 Type typedCopy = dynamic_cast<Type>(copy);
268 assert(typedCopy &&
"Document::copyObjectShallow could not cast object");
274 std::vector<Core::DocObject*>
getObjects(
bool includeDeletedObjects =
false)
const;
278 std::vector<Core::ExecObject*>
getExecObjects(
bool includeDeletedObjects =
false)
const;
320 template <
typename T>
325 return static_cast<T*>(o);
332 template <
typename T>
336 if (T::isMutableStatic())
342 return static_cast<T*>(check);
349 o->_setPropertyValues(po,
true);
352 return static_cast<T*>(o);
360 template <
typename T>
364 if (T::isMutableStatic())
372 o->_setPropertyValues(po,
true);
375 return static_cast<T*>(o);
382 template <
typename T>
387 std::set<Base::Type> typeset;
391 std::vector<T*> returnObjs{};
392 for (
const auto& type : typeset)
398 const auto& docObjects = type2objects->second;
399 for (
const auto& obj : docObjects)
401 if (!obj->isDeleted())
402 returnObjs.push_back(static_cast<T*>(obj));
410 template <
typename T>
414 for (
const auto& it : objectMap)
416 if (!it.second->isDeleted() && it.second->isDerivedFrom<T>())
417 objs.push_back((T*)it.second);
429 std::vector<std::pair<const Core::DocObject*, const Core::DocObject*>>* errors =
nullptr);
431 std::vector<Core::DocObject*>& objToCheck,
432 std::vector<std::pair<const Core::DocObject*, const Core::DocObject*>>* errors =
nullptr);
464 bool saveFile(
bool toExport =
false,
bool saveBackupCopy =
false);
467 bool toExport =
false,
468 bool saveBackupCopy =
false,
473 bool toExport =
false,
474 bool saveBackupCopy =
false,
476 bool dontRename =
false);
559 virtual void saveDocument(std::shared_ptr<Base::AbstractWriter> writer,
int version2save,
bool showProgress);
653 bool close(
bool dontNotify =
false);
654 void _cleanTempDirectory_Helper(
const Base::String& dir);
656 bool _saveFile(
int version,
bool toExport,
bool saveBackupCopy);
658 void _saveDocFiles(std::shared_ptr<Base::AbstractWriter> writer);
659 bool _docWrite(std::shared_ptr<Base::AbstractWriter> mainwriter,
665 std::vector<Base::String> tempFilesToDelete);
666 void cleanOldTempDirectories();
674 bool restoreDocuments(
int& docVersion,
int& appVersion);
677 QString m_importedIFCFile;
678 QDateTime _lastBackupFileTime;
679 int _backupFilesCounter;
680 int _numOfExistBackupFiles;
681 bool _onSaveChangeToDefaultUser =
false;
682 bool _saveBlocksUntilFinished =
false;
686 std::map<Base::String, Base::GlobalId_Policy> _guidPolicyMap;
688 std::map<Base::String, Base::String> _additionalFiles;
690 CoreDocumentImpl* _pimpl{};
703 mOldEnableTimeStamps = mDoc->__getEnableTimeStamps__();
704 mDoc->__setEnableTimeStamps__(
false);
709 mDoc->__setEnableTimeStamps__(mOldEnableTimeStamps);
712 bool mOldEnableTimeStamps =
true;
722 static std::map<std::string, Core::DocumentFactory*>
registry;
743 #define DECLARE_DOCUMENT_FACTORY(_factoryName_, _class_) \ 744 class _factoryName_ : public Core::DocumentFactory \ 747 virtual Core::CoreDocument* createByFactory() \ 749 Core::CoreDocument* doc = new _class_; \ 754 #define REGISTER_DOCUMENT_FACTORY(_factoryName_, _class_) Core::DocumentFactory::registry[#_class_] = (Core::DocumentFactory*)new _factoryName_(); Core::PropertyText compatibleInfo
Definition: CoreDocument.h:219
Definition: CoreApplication.h:94
bool saveAsFileVersion(int version, const Base::String &filename=Base::String(), bool toExport=false, bool saveBackupCopy=false, const Base::String &initialDir=Base::String(), bool dontRename=false)
Saves a new file under this name.
bool mSolvingEnabled
Definition: CoreDocument.h:644
std::string getDocXMLAsString()
bool checkObjectLinks(std::vector< Core::DocObject * > &objvec, std::vector< std::pair< const Core::DocObject *, const Core::DocObject * >> *errors=nullptr)
Checks the document for errors. Returns false if there is an error.
#define CORE_EXPORT
Definition: core_defines2.h:10
Core::PropertyText createdBy
Definition: CoreDocument.h:226
void removeObject(Core::DocObject *e)
Removes an object from the document.
unsigned long LastNotifyTime
Definition: CoreDocument.h:165
std::vector< Core::ExecObject * > getExecObjects(bool includeDeletedObjects=false) const
Returns all executable objects.
virtual void checkBeforeObjectRestoring(int, int)
Is called before restoring objects of a document.
Definition: CoreDocument.h:572
Core::DocObject * copyToDifferentType(Core::DocObject *o, Base::Type typeToCreate, DocObjectMap ©Map)
Creates an object of type 'typeToCreate' and copy properties from 'o' to it. Provides map of pairs or...
DocumentState _state
Definition: CoreDocument.h:619
Core::PropertyText projectNumber
Definition: CoreDocument.h:232
std::map< Core::DocObject *, std::vector< std::string > > DOCOBJECTS_ERROR_MAP
Definition: CoreDocument.h:28
std::map< Base::GlobalId, Core::DocObject * > _guid_map
Definition: CoreDocument.h:638
bool restoreFileFromZip(const Base::String &entryName, const Base::String &targetpath, bool binaryMode)
std::vector< Core::DocObject * > ObjectVector
Definition: core_gt.h:56
std::map< long, Core::DocObject * > _ifcId_map
Definition: CoreDocument.h:639
virtual void initDocument(bool)
Initialize document.. Can be overwritten to do some custom initialization.
Definition: CoreDocument.h:593
T * addImmutableObject(Core::PropertyBundle< T > *po)
Definition: CoreDocument.h:333
FileOpened
Definition: CoreDocument.h:131
void forceBackupOnNextSave()
Modifies the _lastBackupFileTime to force backup when the document is saved next time.
Closing
Definition: CoreDocument.h:143
virtual int restoreDocument(Base::XMLReader &reader, Core::Attachments &attachments)
Restores the document. Returns the doc version of the restored document.
std::vector< Core::DocObject * > getObjectsSorted() const
Returns all objects topologically sorted.
size_t getRecomputeCount() const
get count of recomputes()
T * addImmutableObject_NoCheck(Core::PropertyBundle< T > *po)
Definition: CoreDocument.h:361
std::string dumpGraph(void)
Returns a string representation of the graph.
AfterSave
Definition: CoreDocument.h:133
AddDirectoryPath
Definition: CoreDocument.h:135
Core::PropertyText name
Definition: CoreDocument.h:217
bool _needRestoreBeforeRecompute
Definition: CoreDocument.h:642
Definition: PropertyContainer.h:101
Core::DocObject * copyObject(Core::DocObject *o, DocObjectMap ©Map=DocObjectMap())
Creates a copy of 'o' and adds it to the document, provides map of pairs original-copy to see which o...
std::multimap< Base::String, Core::AttachmentEntry > Attachments
Definition: CoreDocument.h:64
Core::PropertyIndex application_mainversion
Definition: CoreDocument.h:223
std::vector< Core::DocObject * > NewObjects
Definition: CoreDocument.h:114
void clearCopyType()
Sets the copy type to Base::Type::badType(), next copied object will be copied as its own type.
void removeBackLinkInProperties(const Core::DocObject *source, Core::DocObject *link)
Definition: PropertyBundle.h:16
virtual bool convertFromOlderVersions(int docVersion, int appVersion)
Core::PropertyText documentTypeName
Definition: CoreDocument.h:224
GUID_Conflict
Definition: CoreDocument.h:139
virtual Core::DocObject * restoreObject(const std::string &typeName, const std::string &typeHierarchy, const std::string &id)
Tries to restore an object from a given type name.
bool askAndSetNewFilename(QString &newFilename, const Base::String &initialDir=Base::String())
Ask user for filename (if not already passed in as newFilename) and set it to document....
Core::PropertyText name
Definition: CoreDocument.h:143
virtual void addInventorDirectory(const Base::String &)
Inventor search directories - needs to be stored for IV/Z export, but SoInput is not OK....
Definition: CoreDocument.h:489
std::vector< const Core::DocObject * > getInner(const Core::DocObject *me, std::function< bool(const Core::DocObject *)> *allowToAddObject=0)
Get ALL Links to me, also indirect.
PriceCalculationChanged
Definition: CoreDocument.h:144
Core::CoreDocument * Document
Definition: CoreDocument.h:112
DocumentFactory()
Definition: CoreDocument.h:719
The PropertyGUID class saves and restores GUIDs. It also handles the management of GUIDs in the Docum...
Definition: PropertyGUID.h:25
PropertyLinkDesc(std::string sourceDocObjectID, std::string sourcePropertyName, Base::Type sourcePropertyTypeID, std::string targetDocObjectID)
Definition: CoreDocument.h:172
const ObjectTypeMap & getTypeMap() const
Base::String FileName
Definition: CoreDocument.h:61
std::vector< const Core::DocObject * > getLinksByProperties(const Core::DocObject *o)
DocumentTimeStampSentinel(Core::CoreDocument *aDoc)
Definition: CoreDocument.h:701
Definition: PropertyText.h:12
bool __getEnableTimeStamps__() const
void resetHasErrorObjectsInRecompute()
reset result of last recompute();
virtual void setChanged(bool changed)
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
Definition: Persistance.h:20
void waitForSaveIsFinished()
Saving runs in Threads, wait for finish.
virtual void deleteObject(Core::DocObject *o)
Physically deletes an object without informing the object maps.
std::vector< std::string > PropertyErrors
Definition: CoreDocument.h:162
Definition: CoreDocument.h:150
virtual bool saveAs(const Base::String &filename)
Saves the document under this name.
LX_CORE_EXPORT Version & version
virtual Core::DocObject * addImmutableObjectMaterial(Core::PropertyContainer *pc)
why
Definition: CoreDocument.h:102
void setImportedIFCFile(QString a)
void getObjectsFromTypeMap(Base::Type t, std::vector< Core::DocObject * > &ret) const
Returns all objects of type 'T'.
Definition: CoreDocument.h:197
bool saveAsFile(const Base::String &filename=Base::String(), bool toExport=false, bool saveBackupCopy=false, const Base::String &initialDir=Base::String())
Saves a new file under this name.
std::vector< Core::DocObject * > UpdatedObjects
Definition: CoreDocument.h:115
void cleanTempDirectory()
Cleans the temporary directory.
std::vector< Core::DocObject * > DOCOBJECTS
Definition: CoreDocument.h:27
RecomputeFinished
Definition: CoreDocument.h:136
Core::DocObject * getObjectByUserName(const Base::String &s) const
Returns the object with this userName.
Base::Type m_SourcePropertyTypeID
Definition: CoreDocument.h:191
void getAllChildren(std::set< Type > &children) const
bool addObject(Core::DocObject *e)
Adds an existing object to the document.
void setNew()
Sets the status to 'New'.
ObjectMap _non_exec_objects_map
Definition: CoreDocument.h:627
void setSaveBlocksUntilFinished(bool onoff)
If true, saving will block until the whole save is finished and file is ready.
Core::PropertyText documentVersion
Definition: CoreDocument.h:218
bool getImmutableObjects(Base::Type t, ObjectSet &set) const
virtual void createGroundPlate_deprecated()
To overwrite. Deprecated, do not use.
Definition: CoreDocument.h:491
virtual std::vector< Core::DocObject * > build_savemap()
Build a map of the objects that get saved. Objects that are marked for delete get removed.
boost::unordered_map< DocObject::IdType, Core::ExecObject * > ExecObjectMap
Definition: CoreDocument.h:56
const ObjectMap & getObjectMap() const
Returns the object map.
virtual void restoreDirectory(const QString &)
Restores directory to temp.
Definition: CoreDocument.h:590
unsigned long LastRecomputeTime
Definition: CoreDocument.h:164
ObjectTypeMap _immutableObjectsMap
Definition: CoreDocument.h:629
Core::CoreDocument * mDoc
Definition: CoreDocument.h:711
void restoreProperty(Core::Property *property, const Base::String &name, Base::AbstractXMLReader &reader, Base::PersistanceVersion &version) override
std::vector< std::string > check_graph()
Core::PropertyIndex documentMaxID
Definition: CoreDocument.h:222
const DocumentState & getDocumentState() const
Core::PropertyText filename
Definition: CoreDocument.h:225
~DocumentTimeStampSentinel()
Definition: CoreDocument.h:707
Definition: AbstractXMLReader.h:10
ObjectMap _all_objects_map
Definition: CoreDocument.h:621
virtual void cleanUndoStack()
Cleans the undo stack. Must be overwritten.
Definition: CoreDocument.h:586
Definition: PropertyLinkBase.h:15
Core::DocObject * getImmutableObjectWithSameValues(Base::Type t, Core::PropertyContainer *pc) const
Returns the object that has the same values as 'pc'. Returns '0' if there is no such object.
std::vector< Core::DocObject * > getObjectsByTypeName(const std::string &typeName) const
Returns all objects of typeName.
void remove_GUID(const Base::GlobalId &guid, Core::DocObject *o)
Removes a guid without checking.
Core::PropertyIndex documentChanges
Definition: CoreDocument.h:221
void getBackLinksByProperties(const Core::DocObject *source, std::vector< const Core::DocObject * > &links)
Core::PropertyText company
Definition: CoreDocument.h:230
Definition: GlobalId.h:32
ErrorCanNotOpenFile
Definition: CoreDocument.h:137
DocChanges(Core::CoreDocument *doc)
Definition: CoreDocument.h:100
virtual bool maybeSave()
Can be overwritten to check if the undo stack is clean etc.
Definition: CoreDocument.h:460
Core::Variant Value
Definition: CoreDocument.h:111
std::vector< const Core::DocObject * > getBackLinksFromMe(const Core::DocObject *o)
Returns all objects 'o' directly linked from 'o'.
std::map< Core::DocObject *, std::vector< std::string > > LastErroneousObjects
Definition: CoreDocument.h:163
std::map< Base::Type, ObjectSet > ObjectTypeMap
Definition: CoreDocument.h:57
virtual void onFileOpened()
Is called when the file was opened, but before the message FileOpened gets emitted....
Definition: CoreDocument.h:578
QString getImportedIFCFile()
Core::PropertyText architect
Definition: CoreDocument.h:233
virtual Core::DocObject * getObjectById(const DocObject::IdType &id) const
Returns the object with this id.
Definition: Observer.h:18
std::string m_SourceDocObjectID
Definition: CoreDocument.h:189
Definition: CoreDocument.h:97
SaveStart
Definition: CoreDocument.h:142
Core::PropertyText filename
Definition: CoreDocument.h:151
BeforeSave
Definition: CoreDocument.h:132
virtual void checkAndConfigureOpenedDocumentAfterRecompute(int, int)
Is called when opening a document after recompute. Can be overwritten to do some custom check routine...
Definition: CoreDocument.h:576
bool hasErrorObjectsInRecompute()
get result of last recompute
std::vector< Core::DocObject * > DeletedObjects
Definition: CoreDocument.h:116
bool getSaveBlocksUntilFinished() const
Returns whether saving will block until the whole save is finished and file is ready.
virtual void storeDirectory(const QString &, Base::AbstractWriter &)
Stores directory at given path to zip stream.
Definition: CoreDocument.h:588
T * createObject()
Definition: CoreDocument.h:321
Definition: CoreDocument.h:697
Definition: GlobalId_Policy.h:8
std::vector< Core::DocObject * > getObjectsToSave()
Returns all objects that will be saved in document. Basically interface for build_savemap().
size_t _recomputeCnt
Definition: CoreDocument.h:643
bool maybe_add_GUID(const Base::GlobalId &guid, Core::DocObject *o)
Adds a guid to the map IF this id is not in use yet.
void addPropertyLinkError(const std::string &from, const std::string &to)
std::vector< const Core::DocObject * > getBackLinksToMe(const Core::DocObject *o)
Returns all objects that directly linked to 'o'.
std::set< Core::DocObject * > _references
Definition: CoreDocument.h:637
bool createBackupFile(const Base::String &path, bool savePath)
Definition: CoreDocument.h:730
PropertyLinkDesc(const PropertyLinkDesc &rhs)
Definition: CoreDocument.h:181
void createTempDirectory()
Creates the temporary directory.
const int LEXOCAD_CORE_MSGID
Definition: CoreDocument.h:124
Base::String getTmpDirectory()
Returns the temporary directory.
boost::unordered_map< DocObject::IdType, Core::DocObject * > ObjectMap
Definition: CoreDocument.h:53
virtual DocObject * shallowCopy(Core::CoreDocument *toDoc)
Copies the object to the specified document. Provide only shallow copy. Do not copy objects on link.
std::vector< const Core::DocObject * > getOuter(const Core::DocObject *me)
Get ALL Links from me, also indirect.
Definition: GlobalAttachment.h:11
friend class DocumentTimeStampSentinel
Definition: CoreDocument.h:133
void removeObjectFinal(Core::DocObject *e, bool deep=false)
Removes an object from the document.
bool addFileToZip(const Base::String &entryName, const Base::String &path)
Import
Definition: CoreDocument.h:141
void add_GUID(const Base::GlobalId &guid, Core::DocObject *o)
Adds a guid without checking.
int getDocumentVersion() const
Returns the version of the document.
~DocumentFactory()
Definition: CoreDocument.h:720
ObjectMap _solvable_objects_map
Definition: CoreDocument.h:631
virtual bool renameTypeFromOlderVersions(int, Base::String &)
Definition: CoreDocument.h:570
virtual void setStatus(Status status)
Core::CoreDocument Core::PropertyContainer, Base::Subject recompute(std::function< void(DOCOBJECTS newObj, DOCOBJECTS updatedObj, DOCOBJECTS deletedObj, DOCOBJECTS_ERROR_MAP errorObj)> onRecomputedCB)
std::string IdType
Definition: DocObject.h:46
void addReferenceFrom(Core::DocObject *from)
virtual bool isChanged()
Returns 'true' if the document is changed.
std::vector< T * > getObjectsByType() const
Return all object of given type and all derived classes.
Definition: CoreDocument.h:383
std::map< Core::DocObject *, std::vector< std::string > > ErroneousObjects
Definition: CoreDocument.h:117
const std::set< Core::DocObject * > & getReferences() const
boost::unordered_set< Core::ExecObject * > ExecObjectSet
Definition: CoreDocument.h:55
Core::DocObject * createObjectFromType(Base::Type type)
Creates an object from type and adds it to the document.
bool isCatalogFile() const
Returns true if this document's file is part of catalog.
Core::PropertyText documentGUID
Definition: CoreDocument.h:220
Definition: CoreDocument.h:59
Export
Definition: CoreDocument.h:140
Core::PropertyText comment
Definition: CoreDocument.h:231
Core::DocObject * copySharedObject(Core::DocObject *o, DocObjectMap ©Map)
Copy shared object. This is violating of the share, but in some cases this is useful....
std::vector< PropertyLinkDesc > getLinkDescByProperties(const Core::DocObject *o)
bool hasReferencesFrom(Core::DocObject *from) const
ObjectVector _all_objects_vector
Definition: CoreDocument.h:623
Type copyObjectShallow(Type o)
Creates a copy of 'o' and adds it to the document. Performs shallow copy.
Definition: CoreDocument.h:259
bool _hasErrorObjectsInRecompute
Definition: CoreDocument.h:641
NewFile
Definition: CoreDocument.h:130
virtual bool getPatchedUserTypes(Base::String filename, std::map< QString, QString > &id2TypeMap)
Definition: CoreDocument.h:105
Base::String fileName
Definition: CoreDocument.h:235
Core::DocObject::IdType getUniqueObjectId() const
Returns the next available unique id.
Definition: CoreDocument.h:170
void setGuidPolicy(const Base::GlobalId_Policy &policy)
Sets the default GUID policy. This determines what should be done if identical GUIDs are imported.
virtual void saveDocument(std::shared_ptr< Base::AbstractWriter > writer, int version2save, bool showProgress)
Saves the document.
bool isActive() const
Returns 'true' if the Document is the active Document. Otherwise returns 'false'.
std::string m_SourcePropertyName
Definition: CoreDocument.h:190
Core::DocObject * createObjectFromTypeName(const char *typeName)
Creates an object from type name and adds it to the document.
void addNewObjectsToGraph()
Adds objects with status 'New' to the graph.
static const Type badType(void)
Definition: Type.h:103
bool saveFile(bool toExport=false, bool saveBackupCopy=false)
Saves the file.
void addToDocumentMaps(Core::DocObject *o)
Adds the object to all relevant maps.
Definition: Property.h:81
virtual void initDocObject()
Base::String FeatName
Definition: CoreDocument.h:62
virtual const char * subject_name(void)
Definition: CoreDocument.h:510
std::string m_TargetDocObjectID
Definition: CoreDocument.h:193
void __setEnableTimeStamps__(bool aOnOff)
std::vector< const Core::DocObject * > getLinksFromMe(const Core::DocObject *o)
Returns all objects 'o' directly linked from 'o'.
bool getOnSaveChangeToDefaultUser() const
Return whether the user get changed to default user on next save.
bool createBackupFileAfterOpeningDoc(const Base::String &path, bool savePath)
ObjectGraph * _graph
Definition: CoreDocument.h:633
std::vector< Core::DocObject * > getObjects(bool includeDeletedObjects=false) const
Returns all objects in the document.
void setDocument(Core::CoreDocument *doc)
Sets the CoreDocument of this DocObject.
CleanAll
Definition: CoreDocument.h:134
Base::GlobalId_Policy getGuidPolicy() const
Returns the default GUID policy.
friend class CoreApplication
Definition: CoreDocument.h:129
Definition: PropertyInteger.h:140
static std::map< std::string, Core::DocumentFactory * > registry
Definition: CoreDocument.h:722
std::vector< const Core::DocObject * > getLinksToMe(const Core::DocObject *o)
Returns all objects that directly linked to 'o'.
RecomputeError
Definition: CoreDocument.h:128
Base::String fileName
Definition: CoreDocument.h:161
Base::Type getCopyType() const
Definition: CoreDocument.h:104
Rename
Definition: CoreDocument.h:129
void setFullFileName(const Base::String &fullfilename)
Sets the full file name including the path.
std::map< Core::DocObject *, Core::DocObject * > DocObjectMap
Definition: DocObject.h:11
Core::DocObject * getObjectByGlobalId(const Base::GlobalId &guid) const
Returns the DocObject with this GUID.
virtual void checkAndConfigureOpenedDocument()
Is called when opening a document. Can be overwritten to do some custom check routines.
Definition: CoreDocument.h:574
Definition: CoreDocument.h:715
Definition: GraphBuilder.h:47
void removeReferenceFrom(Core::DocObject *from)
void resolveLinkInDocument(Core::PropertyLinkBase *link)
After opening a document this method restores the links declared in the document header.
Core::PropertyText lastModifiedDate
Definition: CoreDocument.h:229
auto onRecomputedCB
Definition: CoreDocument.h:213
std::vector< Core::ExecObject * > ExecObjectVector
Definition: CoreDocument.h:54
virtual bool restoreGlobalAttachment(Base::GlobalAttachment *gAtta, std::istream *, uint64_t streamsize, const Base::String &entryName)
ExecObjectMap _exec_objects_map
Definition: CoreDocument.h:625
Core::PropertyText lastModifiedBy
Definition: CoreDocument.h:228
Definition: DocObject.h:28
void setOnSaveChangeToDefaultUser(bool onoff)
If true: Change to default user on next change. Usually from IFC User to Lexocad User.
boost::unordered_set< Core::DocObject * > ObjectSet
Definition: core_gt.h:58
Core::PropertyText creationDate
Definition: CoreDocument.h:227
friend class PropertyGUID
Definition: CoreDocument.h:132
ChangeToDefaultUser
Definition: CoreDocument.h:138
ObjectTypeMap _typeObjects
Definition: CoreDocument.h:635
void removeLinkInProperties(const Core::DocObject *source, Core::DocObject *link)