OpenLexocad  27.1
Core Namespace Reference

Classes

class  AbstractBehaviorMode
 
class  AbstractBehaviorSubMode
 
class  AppChanges
 
struct  AttachmentEntry
 
class  AutoTransaction
 Helper class to manager transaction (i.e. undo/redo) More...
 
class  BehaviorModeFactory
 
class  BehaviorModeNotification
 
class  CBehaviorManagementInterface
 
class  CdwkAttributeData
 
class  Command
 
class  CommandFactory
 
struct  CommonGeometryDefinition
 
class  Core
 
class  CoreApplication
 
class  CoreDocument
 
class  CoreDocumentTool
 
class  CoreInit
 
class  CoreVisitor
 
class  CSnapperContext
 
struct  CStringHasher
 
class  CViewport
 
class  DbgInfo
 
class  DbgInfoLink
 
class  DbgInfoShape
 
class  DocChanges
 
class  DocObject
 
class  DocObjectObserver
 
struct  DocObjectObserverMsg
 
struct  DocProperties
 
struct  DocumentState
 
class  DoubleResult
 
class  DynamicProperty
 
struct  EdgeInfo
 
class  ExecObject
 
class  ExecuteContext
 
class  ExecuteError
 
class  FieldData
 
class  FileTool
 
class  FontTool
 
class  Geometry
 
class  GUIInterface
 
struct  ImportMessageDataType
 
class  IntegerResult
 
struct  KeyEvent
 
class  LibraryLoader
 
class  LoadedDll
 
class  LxFieldData
 
struct  MouseEvent
 
struct  MWheelEvent
 
struct  NodeInfo
 
class  Object_Hnd
 
class  ObjectFactory
 
class  ObjectGraph
 
struct  ObjectRef
 
class  PartAcis
 
class  PntResult
 
class  PostInitClass
 
class  PostSolver
 
class  PreSolver
 
class  Proj4
 
class  Proj4Detail
 
class  Property
 
class  PropertyArrowheads
 
class  PropertyAxis1
 
class  PropertyAxis2
 
class  PropertyAxis22D
 
class  PropertyAxis2D
 
class  PropertyAxis2List
 
class  PropertyBackLink
 
class  PropertyBackLinkBase
 
class  PropertyBackLinkSet
 
class  PropertyBackLinkSet_SaveV27AsBackLink
 
class  PropertyBackLinkSetBase
 
class  PropertyBoolDescriptor
 
class  PropertyBoolean
 
class  PropertyBrepData
 
class  PropertyBrepDataSet
 
class  PropertyBrush
 
class  PropertyBundle
 
class  PropertyButtonDescriptor
 
class  PropertyColor
 
class  PropertyColorDescriptor
 
class  PropertyColorList
 
class  PropertyCompoundPlaneAngle
 
class  PropertyContainer
 
class  PropertyCountMeasure
 
class  PropertyDateTime
 
class  PropertyDateTimeList
 
class  PropertyDefinition
 
class  PropertyDescriptor
 
class  PropertyDirection
 
class  PropertyDirection2d
 
class  PropertyDoubleDescriptor
 
class  PropertyDrawStyle
 
class  PropertyDynamicViscosity
 
class  PropertyEmbeddedFile
 
class  PropertyEnum
 
class  PropertyEnumDescriptor
 
class  PropertyFace
 
class  PropertyFactory
 
class  PropertyFcComplexGeoData
 
class  PropertyFcGeometry
 
class  PropertyFile
 
class  PropertyFont
 
class  PropertyGeometryList
 
class  PropertyGroupDescriptor
 
class  PropertyGTransform
 
class  PropertyGUID
 The PropertyGUID class saves and restores GUIDs. It also handles the management of GUIDs in the Document and makes sure that GUIDs are really unique within the Document and that the GUID corresponds to exactly one DocObject. More...
 
class  PropertyHeatingValue
 
class  PropertyIdentifier
 
class  PropertyIfc
 
class  PropertyIndex
 
class  PropertyIndexList
 
class  PropertyInteger
 
class  PropertyIntegerDescriptor
 
class  PropertyIonConcentration
 
class  PropertyIsothermalMoistureCapacity
 
class  PropertyLabel
 
class  PropertyLength
 
class  PropertyLengthMeasure
 
class  PropertyLengthOpt
 
class  PropertyLink
 
class  PropertyLinkBase
 
class  PropertyLinkBaseBase
 
struct  PropertyLinkDesc
 
class  PropertyLinkList
 
class  PropertyLinkListBase
 
class  PropertyLinkSet
 
class  PropertyLinkSetBase
 
class  PropertyListPointList
 
class  PropertyLogical
 
class  PropertyLong
 
class  PropertyLxAttributeDescriptor
 
class  PropertyLxFormulaDescriptor
 
class  PropertyMassDensity
 
class  PropertyMD5
 
class  PropertyMesh
 
class  PropertyModulusOfElasticity
 
class  PropertyMoistureDiffusivity
 
class  PropertyMolecularWeight
 
class  PropertyMultiLineText
 
class  PropertyNormalisedRatio
 
class  PropertyNumberOfDecimals
 
class  PropertyPen
 
class  PropertyPercent
 
class  PropertyPHMeasure
 
class  PropertyPlaneAngle
 
class  PropertyPoint
 
class  PropertyPoint2d
 
class  PropertyPoint2dList
 
class  PropertyPointList
 
class  PropertyPositiveLength
 
class  PropertyPositiveLengthMeasure
 
class  PropertyPositivePlaneAngle
 
class  PropertyPositiveRatio
 
class  PropertyPositiveRatioMeasure
 
class  PropertyPressure
 
class  PropertyProxy
 
class  PropertyRatio
 
class  PropertyRatioMeasure
 
class  PropertyReal
 
class  PropertyRealList
 
class  PropertyRelaxation
 
class  PropertyRelaxationSet
 
class  PropertyScriptParam
 Core::PropertyScriptParam is a class that can hold properties defined by the user. Its value member is a Core::Variant and can hold arbitrary information. It is used as parameters in Python Scripts. More...
 
class  PropertySearchSettings
 
class  PropertySearchSettingsVector
 
class  PropertySetManager
 
class  PropertySolverElementLinkVector
 
class  PropertySolverSolverLinkList
 
class  PropertySpecificHeatCapacity
 
class  PropertyString
 
class  PropertyStringDescriptor
 
class  PropertyText
 
class  PropertyTextList
 
class  PropertyTexture2
 
class  PropertyTexture2List
 
class  PropertyTexture2Transform
 
class  PropertyTextureCoordinateFunction
 
class  PropertyTextureCoordinateMapping
 
class  PropertyThermalConductivity
 
class  PropertyThermalExpansionCoefficient
 
class  PropertyThermalTransmittance
 
class  PropertyThermalTransmittanceMeasure
 
class  PropertyThermodynamicTemperature
 
class  PropertyTransform
 
class  PropertyTypedLinkList
 
class  PropertyUInt32
 
class  PropertyUInt64
 
class  PropertyUInt8
 
class  PropertyUInt8List
 
class  PropertyUser
 Core::PropertyUser is a class that can hold properties defined by the user. Its value member is a Core::Variant and can hold arbitrary information. More...
 
class  PropertyValue
 
class  PropertyVaporPermeability
 
class  PropertyVector
 
class  PropertyVectorList
 
class  PropertyVolumetricFlowRateMeasure
 
class  PythonClassObject
 Keeps the information about a Python class like class name, the super class etc. Also keeps the information how properties are displayed. More...
 
class  Pythonize
 
class  PythonScriptObject
 
class  RelGraph
 
struct  ResizeEvent
 
struct  SearchValue
 
class  ServiceInterface
 
class  Settings
 
class  SharedObject
 The SharedObject is an interface that must be implemented by all classes that want to share their resources when copied within the same document. More...
 
class  Solvable
 
struct  StandardManipulatorPolicy
 
class  StandardManipulatorPolicyResult
 
class  StringResult
 
class  Subject
 
class  SysInfo
 
class  Transaction
 
class  Transaction2
 
class  TransactionDocumentObject
 
class  TransactionFactory
 
class  TransactionLocker
 
class  TransactionObject
 
class  TransactionProducer
 
struct  TypeName
 
struct  TypeNameBack
 
struct  UpdateInfo
 
class  Util
 
class  Variant
 
class  Version
 A proxy class to conveniently get the automatically generated version of lexocad. More...
 
class  ViewMgrInterface
 

Typedefs

typedef std::map< std::string, bool > BehaviorAttributeMap
 
typedef std::vector< Core::DocObject * > ObjectVector
 
typedef std::vector< const Core::DocObject * > ObjectConstVector
 
typedef std::unordered_set< Core::DocObject * > ObjectSet
 
typedef std::unordered_map< DocObject::IdType, Core::DocObject * > ObjectMap
 
typedef std::vector< Core::ExecObject * > ExecObjectVector
 
typedef std::unordered_set< Core::ExecObject * > ExecObjectSet
 
typedef std::unordered_map< DocObject::IdType, Core::ExecObject * > ExecObjectMap
 
typedef std::map< Base::Type, ObjectSetObjectTypeMap
 
typedef std::multimap< Base::String, Core::AttachmentEntryAttachments
 
using RelGraph_Type = boost::adjacency_list< boost::listS, boost::setS, boost::bidirectionalS, NodeInfo, EdgeInfo >
 
using RelGraph_Vertex = RelGraph_Type::vertex_descriptor
 
using RelGraph_Edge = RelGraph_Type::edge_descriptor
 
using RelGraph_Link = std::pair< Core::PropertyLinkBaseBase *, Core::DocObject * >
 
typedef std::unordered_map< std::string, Core::Property * > PropertyMap
 
typedef std::unordered_map< std::string, PropertyValuePropertyValueMap
 
typedef std::shared_ptr< Core::CodeProtectionFlags > pCodeProtectionFlags
 

Enumerations

enum  SnapType {
  NO_SNAP = 0x00, GRID_SNAP = 0x01, ENDPOINT_SNAP = 0x02, INTERSECT_SNAP = 0x04,
  MIDPOINT_SNAP = 0x08, TANGENT_SNAP = 0x16, PERPENDICULAR_SNAP = 0x32, ALL_SNAP = 0xFF
}
 
enum  PickType {
  NO_PICK = 0x00, PICK_STRAIGHT_SEGMENTS = 0x01, PICK_ARC_SEGMENTS = 0x02, PICK_CIRCLES = 0x04,
  PICK_AUX_LINES = 0x08, PICK_ALL = 0xFF
}
 
enum  ObjectStatus {
  Touch = 0, Error = 1, New = 2, Recompute = 3,
  Restore = 4, Remove = 5, PythonCall = 6, Destroy = 7,
  Enforce = 8, Recompute2 = 9, PartialObject = 10, PendingRecompute = 11,
  PendingRemove = 12, ObjImporting = 13, NoTouch = 14, GeoExcluded = 15,
  PendingTransactionUpdate = 18
}
 
enum  Key {
  KEY_NONE = 0x00, KEY_ESCAPE = 0x01000000, KEY_ENTER = 0x01000005, KEY_RETURN = 0x01000004,
  KEY_DELETE = 0x01000007, KEY_0 = 0x30, KEY_1 = 0x31, KEY_2 = 0x32,
  KEY_3 = 0x33, KEY_4 = 0x34, KEY_5 = 0x35, KEY_6 = 0x36,
  KEY_7 = 0x37, KEY_8 = 0x38, KEY_9 = 0x39, KEY_PLUS = 0x2b,
  KEY_MINUS = 0x2d, KEY_A = 0x41, KEY_B = 0x42, KEY_C = 0x43,
  KEY_D = 0x44, KEY_E = 0x45, KEY_F = 0x46, KEY_G = 0x47,
  KEY_H = 0x48, KEY_I = 0x49, KEY_J = 0x4a, KEY_K = 0x4b,
  KEY_L = 0x4c, KEY_M = 0x4d, KEY_N = 0x4e, KEY_O = 0x4f,
  KEY_P = 0x50, KEY_Q = 0x51, KEY_R = 0x52, KEY_S = 0x53,
  KEY_T = 0x54, KEY_U = 0x55, KEY_V = 0x56, KEY_W = 0x57,
  KEY_X = 0x58, KEY_Y = 0x59, KEY_Z = 0x5a
}
 
enum  MouseButton { NONE_BUTTON = 0x00000000, LEFT_BUTTON = 0x00000001, RIGHT_BUTTON = 0x00000002, MIDDLE_BUTTON = 0x00000004 }
 
enum  KeyboardModifiers {
  NO_MOD = 0x00000000, SHIFT = 0x02000000, CONTROL = 0x04000000, ALT = 0x08000000,
  META = 0x10000000, KEYPAD = 0x20000000, GROUP_SWITCH = 0x40000000
}
 
enum  ExecuteStatus { EXECUTE_OK = 0, EXECUTE_FAILED = 1 }
 
enum  PropertyKind {
  P_NO_MODIFICATION = 0, P_MODIFY_PLACEMENT = 1 << 0, P_LINK = 1 << 1, P_MODIFY_VISIBLITY = 1 << 3,
  P_MODIFY_SHAPE = 1 << 4, P_MODIFY_APPEARANCE = 1 << 5, P_BACKLINK = 1 << 6
}
 
enum  PropertyType {
  Prop_None = 0, Prop_ReadOnly = 1, Prop_Transient = 2, Prop_Hidden = 4,
  Prop_Output = 8, Prop_NoRecompute = 16, Prop_NoPersist = 32
}
 
enum  ViewerType { ViewerType::MAIN_VIEWER = 0, ViewerType::SECOND_VIEWER = 1, ViewerType::THIRD_VIEWER = 2 }
 
enum  ViewType { ViewType::MAIN_VIEW = 0, ViewType::TOP_VIEW = 1, ViewType::VERTICAL_VIEW = 2, ViewType::CROSSSECTION_VIEW = 3 }
 
enum  SpecialCursor { CURSOR_DOT, CURSOR_DELETE }
 

Functions

LX_CORE_EXPORT Base::String getLastImportedFilePath ()
 General. More...
 
LX_CORE_EXPORT Base::String getCurrentScriptFilePath ()
 
LX_CORE_EXPORT Base::GlobalId getCurrentScriptId ()
 
Core::CoreDocument Core::PropertyContainer, Base::Subject recompute (std::function< void(DOCOBJECTS newObj, DOCOBJECTS updatedObj, DOCOBJECTS deletedObj, DOCOBJECTS_ERROR_MAP errorObj)> onRecomputedCB)
 
virtual bool saveAs (const Base::String &filename)
 Saves the document under this name. More...
 
Base::String getTmpDirectory ()
 Returns the temporary directory. More...
 
bool isActive () const
 Returns 'true' if the Document is the active Document. Otherwise returns 'false'. More...
 
virtual bool isChanged ()
 Returns 'true' if the document is changed. More...
 
Core::DocObjectgetObjectByGlobalId (const Base::GlobalId &guid) const
 Returns the DocObject with this GUID. More...
 
std::string getDocXMLAsString ()
 
bool testStatusBits (Status pos) const
 return the status bits More...
 
void setStatusBits (Status pos, bool on)
 set the status bits More...
 
virtual Core::DocObjectgetObjectById (const DocObject::IdType &id) const
 Returns the object with this id. More...
 
Core::DocObjectgetObjectByUserName (const Base::String &s) const
 Returns the object with this userName. More...
 
void emitAndNotify (Core::DocChanges &aDocChanges)
 
template<typename T >
T * createObject ()
 
template<typename T >
T * addImmutableObject (Core::PropertyBundle< T > *po)
 
template<typename T >
T * addImmutableObject_NoCheck (Core::PropertyBundle< T > *po)
 
template<typename T >
std::vector< T * > getObjectsByType () const
 Return all object of given type and all derived classes. More...
 
template<typename T >
void getObjectsByType (std::vector< T * > &objs) const
 Returns all objects of type 'T'. More...
 
void getObjectsFromTypeMap (Base::Type t, std::vector< Core::DocObject * > &ret) const
 Returns all objects of type 'T'. More...
 
const ObjectTypeMapgetTypeMap () const
 
void addPropertyLinkError (const std::string &from, const std::string &to)
 
const DocumentStategetDocumentState () const
 
bool checkObjectLinks (const std::vector< const 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. More...
 
bool checkObjectLinks (const std::vector< const Core::DocObject * > &objvec, const std::vector< const Core::DocObject * > &objToCheck, std::vector< std::pair< const Core::DocObject *, const Core::DocObject * >> *errors=nullptr)
 
bool checkDeletedObjectLinks (const std::vector< const Core::DocObject * > &objToCheck, std::vector< std::pair< const Core::DocObject *, const Core::DocObject * >> *errors)
 
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. More...
 
std::vector< const Core::DocObject * > getOuter (const Core::DocObject *me)
 Get ALL Links from me, also indirect. More...
 
std::vector< const Core::DocObject * > getLinksByProperties (const Core::DocObject *o) const
 
std::vector< PropertyLinkDescgetLinkDescByProperties (const Core::DocObject *o) const
 
std::vector< const Core::DocObject * > getBackLinksByProperties (const Core::DocObject *source) const
 
void removeLinkInProperties (const Core::DocObject *source, Core::DocObject *link)
 
void removeBackLinkInProperties (const Core::DocObject *source, Core::DocObject *link)
 
std::string dumpGraph (void)
 Returns a string representation of the graph. More...
 
std::vector< std::string > check_graph ()
 
std::vector< const Core::DocObject * > getLinksToMe (const Core::DocObject *o)
 Returns all objects that directly linked to 'o'. More...
 
std::vector< const Core::DocObject * > getBackLinksToMe (const Core::DocObject *o)
 Returns all objects that directly linked to 'o'. More...
 
std::vector< const Core::DocObject * > getLinksFromMe (const Core::DocObject *o)
 Returns all objects 'o' directly linked from 'o'. More...
 
std::vector< const Core::DocObject * > getBackLinksFromMe (const Core::DocObject *o)
 Returns all objects 'o' directly linked from 'o'. More...
 
virtual bool maybeSave ()
 Can be overwritten to check if the undo stack is clean etc. More...
 
std::vector< Core::DocObject * > getObjectsToSave ()
 Returns all objects that will be saved in document. Basically interface for build_savemap(). More...
 
bool saveFile (bool toExport=false, bool saveBackupCopy=false)
 Saves the file. More...
 
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. More...
 
bool saveCopy (const Base::String &filename)
 Saves a copy of the current document, no notify, only store the doc under this name. More...
 
bool saveAsFileVersion (int aMajorVersion, int aMinorVersion, 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. More...
 
void setOnSaveChangeToDefaultUser (bool onoff)
 If true: Change to default user on next change. Usually from IFC User to Lexocad User. More...
 
bool getOnSaveChangeToDefaultUser () const
 Return whether the user get changed to default user on next save. More...
 
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. Returns false if user cancelled the save. More...
 
void setSaveBlocksUntilFinished (bool onoff)
 If true, saving will block until the whole save is finished and file is ready. More...
 
bool getSaveBlocksUntilFinished () const
 Returns whether saving will block until the whole save is finished and file is ready. More...
 
virtual void addInventorDirectory (const Base::String &)
 Inventor search directories - needs to be stored for IV/Z export, but SoInput is not OK... More...
 
virtual void createGroundPlate_deprecated ()
 To overwrite. Deprecated, do not use. More...
 
void setGuidPolicy (const Base::GlobalId_Policy &policy)
 Sets the default GUID policy. This determines what should be done if identical GUIDs are imported. More...
 
void setGuidPolicy (const Base::String &suffix, const Base::GlobalId_Policy &policy)
 Sets the GUID policy for a file suffix. This determines what should be done if identical GUIDs are imported from files with this suffix. More...
 
Base::GlobalId_Policy getGuidPolicy () const
 Returns the default GUID policy. More...
 
bool getGuidPolicy (const Base::String &suffix, Base::GlobalId_Policy &policy) const
 Returns the GUID policy for a file suffix. More...
 
void addReferenceFrom (Core::DocObject *from)
 
void removeReferenceFrom (Core::DocObject *from)
 
bool hasReferencesFrom (Core::DocObject *from) const
 
const std::set< Core::DocObject * > & getReferences () const
 
void setFullFileName (const Base::String &fullfilename)
 Sets the full file name including the path. More...
 
virtual const char * subject_name (void)
 
virtual bool restoreGlobalAttachment (Base::GlobalAttachment *gAtta, std::istream *, uint64_t streamsize, const Base::String &entryName)
 
bool addFileToZip (const Base::String &entryName, const Base::String &path)
 
bool restoreFileFromZip (const Base::String &entryName, const Base::String &targetpath, bool binaryMode)
 
void forceBackupOnNextSave ()
 Modifies the _lastBackupFileTime to force backup when the document is saved next time. More...
 
bool hasErrorObjectsInRecompute ()
 get result of last recompute More...
 
void resetHasErrorObjectsInRecompute ()
 reset result of last recompute(); More...
 
size_t getRecomputeCount () const
 get count of recomputes() More...
 
virtual void setChanged (bool changed)
 
bool getImmutableObjects (Base::Type t, ObjectSet &set) const
 
virtual Core::DocObjectaddImmutableObjectMaterial (Core::PropertyContainer *pc)
 
void setImportedIFCFile (QString a)
 
QString getImportedIFCFile ()
 
void test_graph ()
 
void onAddLink (PropertyLinkBaseBase *p, Core::DocObject *from, Core::DocObject *o)
 
void onRemoveLink (PropertyLinkBaseBase *p, Core::DocObject *from, Core::DocObject *o)
 
void onAddLinks (PropertyLinkBaseBase *p, Core::DocObject *from, const std::list< Core::DocObject * > &linkList)
 
void onRemoveLinks (PropertyLinkBaseBase *p, Core::DocObject *from, const std::list< Core::DocObject * > &linkList)
 
void onAddLinks (PropertyLinkBaseBase *p, Core::DocObject *from, const std::unordered_set< Core::DocObject * > &linkSet)
 
void onRemoveLinks (PropertyLinkBaseBase *p, Core::DocObject *from, const std::unordered_set< Core::DocObject * > &linkSet)
 
void onAddBackLink (PropertyLinkBaseBase *p, Core::DocObject *from, Core::DocObject *o)
 
void onRemoveBackLink (PropertyLinkBaseBase *p, Core::DocObject *from, Core::DocObject *o)
 
void onAddBackLinks (PropertyLinkBaseBase *p, Core::DocObject *from, const std::list< Core::DocObject * > &linkList)
 
void onRemoveBackLinks (PropertyLinkBaseBase *p, Core::DocObject *from, const std::list< Core::DocObject * > &linkList)
 
void onAddBackLinks (PropertyLinkBaseBase *p, Core::DocObject *from, const std::unordered_set< Core::DocObject * > &linkSet)
 
void onRemoveBackLinks (PropertyLinkBaseBase *p, Core::DocObject *from, const std::unordered_set< Core::DocObject * > &linkSet)
 
Core::DocObject::IdType getUniqueObjectIdFromInteger (size_t input) const
 
void breakLinks (Core::DocObject *from)
 
std::vector< std::pair< Core::PropertyLinkBaseBase *, Core::DocObject * > > getInLinks (Core::DocObject *docObj)
 
std::vector< std::pair< Core::PropertyLinkBaseBase *, Core::DocObject * > > getInBackLinks (Core::DocObject *docObj)
 
std::vector< std::pair< Core::PropertyLinkBaseBase *, Core::DocObject * > > getOutLinks (Core::DocObject *docObj)
 
std::vector< std::pair< Core::PropertyLinkBaseBase *, Core::DocObject * > > getOutBackLinks (Core::DocObject *docObj)
 
 CoreDocument ()
 
 CoreDocument (const CoreDocument &rhs)
 
virtual ~CoreDocument ()
 
virtual void deleteObject (Core::DocObject *o)
 Physically deletes an object without informing the object maps. More...
 
Core::DocObject::IdType getUniqueObjectId () const
 Returns the next available unique id. More...
 
void addToDocumentMaps (Core::DocObject *o)
 Adds the object to all relevant maps. More...
 
Core::DocObjectgetImmutableObjectWithSameValues (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. More...
 
virtual Core::DocObjectrestoreObject (const std::string &typeName, const std::string &typeHierarchy, const std::string &id)
 Tries to restore an object from a given type name. More...
 
void restoreProperty (Core::Property *property, const Base::String &name, Base::AbstractXMLReader &reader, Base::PersistenceVersion &version) override
 
virtual void saveDocument (std::shared_ptr< Base::AbstractWriter > writer, int versionMajor2save, int versionMinor2save, bool showProgress)
 Saves the document. More...
 
virtual int restoreDocument (Base::XMLReader &reader, Core::Attachments &attachments)
 Restores the document. Returns the doc version of the restored document. More...
 
virtual std::vector< Core::DocObject * > build_savemap (std::vector< std::string > &delete_log)
 Build a map of the objects that get saved. Objects that are marked for delete get removed. More...
 
void addNewObjectsToGraph ()
 Adds objects with status 'New' to the graph. More...
 
bool checkDeletedObjectLinks (const std::vector< const Core::DocObject * > &objvec, const std::vector< const Core::DocObject * > &objToCheck, std::vector< std::pair< const Core::DocObject *, const Core::DocObject * >> *errors)
 
void resolveLinkInDocument (Core::PropertyLinkBase *link)
 After opening a document this method restores the links declared in the document header. More...
 
virtual bool renameTypeFromOlderVersions (int, Base::String &)
 
virtual void checkBeforeObjectRestoring (int, int)
 Is called before restoring objects of a document. More...
 
virtual void checkAndConfigureOpenedDocument ()
 Is called when opening a document. Can be overwritten to do some custom check routines. More...
 
virtual void checkAndConfigureOpenedDocumentAfterRecompute (int, int)
 Is called when opening a document after recompute. Can be overwritten to do some custom check routines. More...
 
virtual bool convertFromOlderVersions (int docVersion, int appVersion)
 
virtual bool getPatchedUserTypes (const Base::String &filename, std::map< QString, QString > &id2TypeMap)
 
virtual void cleanUndoStack ()
 Cleans the undo stack. Must be overwritten. More...
 
virtual void storeDirectory (const QString &, Base::AbstractWriter &)
 Stores directory at given path to zip stream. More...
 
virtual void restoreDirectory (const QString &)
 Restores directory to temp. More...
 
virtual void initDocument (bool)
 Initialize document.. Can be overwritten to do some custom initialization. More...
 
const ObjectMapgetObjectMap () const
 Returns the object map. More...
 
void createTempDirectory ()
 Creates the temporary directory. More...
 
void cleanTempDirectory ()
 Cleans the temporary directory. More...
 
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. More...
 
void add_GUID (const Base::GlobalId &guid, Core::DocObject *o)
 Adds a guid without checking. More...
 
void remove_GUID (const Base::GlobalId &guid, Core::DocObject *o)
 Removes a guid without checking. More...
 
void waitForSaveIsFinished ()
 Saving runs in Threads, wait for finish. More...
 
bool isCatalogFile () const
 Returns true if this document's file is part of catalog. More...
 
bool createBackupFile (const Base::String &path, bool savePath)
 
bool createBackupFileAfterOpeningDoc (const Base::String &path, bool savePath)
 
void __setEnableTimeStamps__ (bool aOnOff)
 
bool __getEnableTimeStamps__ () const
 
void _checkTransaction (Core::DocObject *pcDelObj, const Property *What, int line)
 checks if a valid transaction is open More...
 
int _openTransaction (const char *name=0, int id=0)
 
void _commitTransaction (bool notify=false)
 Internally called by App::Application to commit the Command transaction. More...
 
void _abortTransaction ()
 Internally called by App::Application to abort the running transaction. More...
 
void _clearRedos ()
 
 DECLARE_PROPERTY_FACTORY (PropertyAxis1_Factory, Core::PropertyAxis1)
 
 DECLARE_PROPERTY_FACTORY (PropertyAxis2D_Factory, PropertyAxis2D)
 
 DECLARE_PROPERTY_FACTORY (PropertyAxis2_Factory, Core::PropertyAxis2)
 
 DECLARE_PROPERTY_FACTORY (PropertyAxis22D_Factory, Core::PropertyAxis22D)
 
 DECLARE_PROPERTY_FACTORY (PropertyAxis2List_Factory, Core::PropertyAxis2List)
 
 DECLARE_PROPERTY_FACTORY (PropertyBackLinkBase_Factory, Core::PropertyBackLinkBase)
 
 DECLARE_PROPERTY_FACTORY (PropertyBackLinkSetBase_Factory, Core::PropertyBackLinkSetBase)
 
 DECLARE_PROPERTY_FACTORY (PropertyBackLinkSet_SaveV27AsBackLink_Factory, Core::PropertyBackLinkSetBase)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyBoolDescriptor_Factory, PropertyBoolDescriptor)
 
 DECLARE_PROPERTY_FACTORY (PropertyBoolean_Factory, Core::PropertyBoolean)
 
 DECLARE_PROPERTY_FACTORY (PropertyBrepData_Factory, Core::PropertyBrepData)
 
 DECLARE_PROPERTY_FACTORY (PropertyBrepDataSet_Factory, Core::PropertyBrepDataSet)
 
 DECLARE_PROPERTY_FACTORY (PropertyBrush_Factory, Core::PropertyBrush)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyButtonDescriptor_Factory, PropertyButtonDescriptor)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyColorOpt, Core::PropertyColor)
 
 DECLARE_PROPERTY_FACTORY (PropertyColor_Factory, Core::PropertyColor)
 
 DECLARE_PROPERTY_FACTORY (PropertyColorOpt_Factory, Core::PropertyColorOpt)
 
 DECLARE_PROPERTY_FACTORY (PropertyColorList_Factory, Core::PropertyColorList)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyColorDescriptor_Factory, PropertyColorDescriptor)
 
 DECLARE_PROPERTY_FACTORY (PropertyCompoundPlaneAngle_Factory, Core::PropertyCompoundPlaneAngle)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyCompoundPlaneAngleOpt, Core::PropertyCompoundPlaneAngle)
 
 DECLARE_PROPERTY_FACTORY (PropertyDateTime_Factory, Core::PropertyDateTime)
 
 DECLARE_PROPERTY_FACTORY (PropertyDateTimeList_Factory, Core::PropertyDateTimeList)
 
 DECLARE_PROPERTY_TEMPLATES (Core::PropertyDescriptor, LX_CORE_EXPORT)
 
 DECLARE_PROPERTY_FACTORY (PropertyDirection_Factory, Core::PropertyDirection)
 
 DECLARE_PROPERTY_FACTORY (PropertyDirection2d_Factory, Core::PropertyDirection2d)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyDoubleDescriptor_Factory, PropertyDoubleDescriptor)
 
 DECLARE_PROPERTY_FACTORY (PropertyDrawStyle_Factory, Core::PropertyDrawStyle)
 
 DECLARE_PROPERTY_FACTORY (PropertyArrowheads_Factory, Core::PropertyArrowheads)
 
 DECLARE_PROPERTY_FACTORY (PropertyEmbeddedFile_Factory, Core::PropertyEmbeddedFile)
 
 DECLARE_PROPERTY_TEMPLATES (Core::PropertyEnumDescriptor, LX_CORE_EXPORT)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyEnumDescriptor_Factory, PropertyEnumDescriptor)
 
 DECLARE_PROPERTY_FACTORY (PropertyFile_Factory, Core::PropertyFile)
 
 DECLARE_PROPERTY_FACTORY (PropertyFont_Factory, Core::PropertyFont)
 
 DECLARE_PROPERTY_TEMPLATES (Core::PropertyGroupDescriptor, LX_CORE_EXPORT)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyGroupDescriptor_Factory, PropertyGroupDescriptor)
 
 DECLARE_PROPERTY_FACTORY (PropertyGUID_Factory, Core::PropertyGUID)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyIdentifierOpt, Core::PropertyIdentifier)
 
 DECLARE_PROPERTY_FACTORY (PropertyIdentifier_Factory, Core::PropertyIdentifier)
 
 DECLARE_PROPERTY_FACTORY (PropertyInteger_Factory, Core::PropertyInteger)
 
 DECLARE_PROPERTY_FACTORY (PropertyNumberOfDecimals_Factory, Core::PropertyNumberOfDecimals)
 
 DECLARE_PROPERTY_FACTORY (PropertyIndex_Factory, Core::PropertyIndex)
 
 DECLARE_PROPERTY_FACTORY (PropertyIndexList_Factory, Core::PropertyIndexList)
 
 DECLARE_PROPERTY_FACTORY (PropertyEnum_Factory, Core::PropertyEnum)
 
 DECLARE_PROPERTY_FACTORY (PropertyCountMeasure_Factory, Core::PropertyCountMeasure)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyIntegerOpt, Core::PropertyInteger)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyEnumOpt, Core::PropertyEnum)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyIntegerDescriptor_Factory, PropertyIntegerDescriptor)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyLabelOpt, Core::PropertyLabel)
 
 DECLARE_PROPERTY_FACTORY (PropertyLabel_Factory, Core::PropertyLabel)
 
 DECLARE_PROPERTY_FACTORY (PropertyLinkBase_Factory, Core::PropertyLinkBase)
 
 DECLARE_PROPERTY_FACTORY (PropertyLinkSetBase_Factory, Core::PropertyLinkSetBase)
 
 DECLARE_PROPERTY_FACTORY (PropertyLinkList_Factory, Core::PropertyLinkList)
 
 DECLARE_PROPERTY_FACTORY (PropertyLogical_Factory, Core::PropertyLogical)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyLxAttributeDescriptor_Factory, PropertyLxAttributeDescriptor)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyLxFormulaDescriptor_Factory, PropertyLxFormulaDescriptor)
 
 DECLARE_PROPERTY_FACTORY (PropertyMD5_Factory, Core::PropertyMD5)
 
 DECLARE_PROPERTY_FACTORY (PropertyMesh_Factory, Core::PropertyMesh)
 
 DECLARE_PROPERTY_FACTORY (PropertyPen_Factory, Core::PropertyPen)
 
 DECLARE_PROPERTY_FACTORY (PropertyPercent_Factory, Core::PropertyPercent)
 
 DECLARE_PROPERTY_FACTORY (PropertyPoint_Factory, Core::PropertyPoint)
 
 DECLARE_PROPERTY_FACTORY (PropertyPointList_Factory, Core::PropertyPointList)
 
 DECLARE_PROPERTY_FACTORY (PropertyListPointList_Factory, Core::PropertyListPointList)
 
 DECLARE_PROPERTY_FACTORY (PropertyPoint2d_Factory, Core::PropertyPoint2d)
 
 DECLARE_PROPERTY_FACTORY (PropertyPoint2dList_Factory, Core::PropertyPoint2dList)
 
 DECLARE_PROPERTY_FACTORY (PropertyProxy_Factory, Core::PropertyProxy)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyRealOpt, Core::PropertyReal)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyPositiveLengthOpt, Core::PropertyPositiveLength)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyPlaneAngleOpt, Core::PropertyPlaneAngle)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyPositivePlaneAngleOpt, Core::PropertyPositivePlaneAngle)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyNormalisedRatioOpt, Core::PropertyNormalisedRatio)
 
 DECLARE_PROPERTY_FACTORY (PropertyReal_Factory, Core::PropertyReal)
 
 DECLARE_PROPERTY_FACTORY (PropertyRealOpt_Factory, Core::PropertyRealOpt)
 
 DECLARE_PROPERTY_FACTORY (PropertyRealList_Factory, Core::PropertyRealList)
 
 DECLARE_PROPERTY_FACTORY (PropertyLength_Factory, Core::PropertyLength)
 
 DECLARE_PROPERTY_FACTORY (PropertyLengthMeasure_Factory, Core::PropertyLengthMeasure)
 
 DECLARE_PROPERTY_FACTORY (PropertyPositiveLength_Factory, Core::PropertyPositiveLength)
 
 DECLARE_PROPERTY_FACTORY (PropertyLengthOpt_Factory, Core::PropertyLengthOpt)
 
 DECLARE_PROPERTY_FACTORY (PropertyPlaneAngle_Factory, Core::PropertyPlaneAngle)
 
 DECLARE_PROPERTY_FACTORY (PropertyPositivePlaneAngle_Factory, Core::PropertyPositivePlaneAngle)
 
 DECLARE_PROPERTY_FACTORY (PropertyRatio_Factory, Core::PropertyRatio)
 
 DECLARE_PROPERTY_FACTORY (PropertyPositiveRatio_Factory, Core::PropertyPositiveRatio)
 
 DECLARE_PROPERTY_FACTORY (PropertyRatioMeasure_Factory, Core::PropertyRatioMeasure)
 
 DECLARE_PROPERTY_FACTORY (PropertyPositiveRatioMeasure_Factory, Core::PropertyPositiveRatioMeasure)
 
 DECLARE_PROPERTY_FACTORY (PropertyNormalisedRatio_Factory, Core::PropertyNormalisedRatio)
 
 DECLARE_PROPERTY_FACTORY (PropertyDynamicViscosity_Factory, Core::PropertyDynamicViscosity)
 
 DECLARE_PROPERTY_FACTORY (PropertyModulusOfElasticity_Factory, Core::PropertyModulusOfElasticity)
 
 DECLARE_PROPERTY_FACTORY (PropertyThermalExpansionCoefficient_Factory, Core::PropertyThermalExpansionCoefficient)
 
 DECLARE_PROPERTY_FACTORY (PropertyPressure_Factory, Core::PropertyPressure)
 
 DECLARE_PROPERTY_FACTORY (PropertyThermodynamicTemperature_Factory, Core::PropertyThermodynamicTemperature)
 
 DECLARE_PROPERTY_FACTORY (PropertySpecificHeatCapacity_Factory, Core::PropertySpecificHeatCapacity)
 
 DECLARE_PROPERTY_FACTORY (PropertyThermalConductivity_Factory, Core::PropertyThermalConductivity)
 
 DECLARE_PROPERTY_FACTORY (PropertyIsothermalMoistureCapacity_Factory, Core::PropertyIsothermalMoistureCapacity)
 
 DECLARE_PROPERTY_FACTORY (PropertyVaporPermeability_Factory, Core::PropertyVaporPermeability)
 
 DECLARE_PROPERTY_FACTORY (PropertyMoistureDiffusivity_Factory, Core::PropertyMoistureDiffusivity)
 
 DECLARE_PROPERTY_FACTORY (PropertyMolecularWeight_Factory, Core::PropertyMolecularWeight)
 
 DECLARE_PROPERTY_FACTORY (PropertyMassDensity_Factory, Core::PropertyMassDensity)
 
 DECLARE_PROPERTY_FACTORY (PropertyIonConcentration_Factory, Core::PropertyIonConcentration)
 
 DECLARE_PROPERTY_FACTORY (PropertyPHMeasure_Factory, Core::PropertyPHMeasure)
 
 DECLARE_PROPERTY_FACTORY (PropertyHeatingValue_Factory, Core::PropertyHeatingValue)
 
 DECLARE_PROPERTY_FACTORY (PropertyThermalTransmittance_Factory, Core::PropertyThermalTransmittance)
 
 DECLARE_PROPERTY_FACTORY (PropertyThermalTransmittanceMeasure_Factory, Core::PropertyThermalTransmittanceMeasure)
 
 DECLARE_PROPERTY_FACTORY (PropertyVolumetricFlowRateMeasure_Factory, Core::PropertyVolumetricFlowRateMeasure)
 
 DECLARE_PROPERTY_FACTORY (PropertyPositiveLengthMeasure_Factory, Core::PropertyPositiveLengthMeasure)
 
 DECLARE_PROPERTY_FACTORY (PropertyRelaxation_Factory, Core::PropertyRelaxation)
 
 DECLARE_PROPERTY_FACTORY (PropertyRelaxationSet_Factory, Core::PropertyRelaxationSet)
 
 DECLARE_PROPERTY_FACTORY (PropertyScriptParam_Factory, Core::PropertyScriptParam)
 
 DECLARE_PROPERTY_FACTORY (PropertySearchSettings_Factory, Core::PropertySearchSettings)
 
 DECLARE_PROPERTY_FACTORY (PropertySearchSettingsVector_Factory, Core::PropertySearchSettingsVector)
 
 DECLARE_PROPERTY_FACTORY (PropertySolverElementLinkList_Factory, Core::PropertySolverElementLinkVector)
 
 DECLARE_PROPERTY_FACTORY (PropertySolverSolverLinkList_Factory, Core::PropertySolverSolverLinkList)
 
 DECLARE_OPTIONAL_PROPERTY_HEADER (PropertyStringOpt, Core::PropertyString)
 
 DECLARE_PROPERTY_FACTORY (PropertyString_Factory, Core::PropertyString)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PropertyStringDescriptor_Factory, PropertyStringDescriptor)
 
 DECLARE_PROPERTY_FACTORY (PropertyText_Factory, Core::PropertyText)
 
 DECLARE_PROPERTY_FACTORY (PropertyTextList_Factory, Core::PropertyTextList)
 
 DECLARE_PROPERTY_FACTORY (PropertyMultiLineText_Factory, Core::PropertyMultiLineText)
 
 DECLARE_PROPERTY_FACTORY (PropertyTexture2_Factory, Core::PropertyTexture2)
 
 DECLARE_PROPERTY_FACTORY (PropertyTexture2Transform_Factory, Core::PropertyTexture2Transform)
 
 DECLARE_PROPERTY_FACTORY (PropertyTextureCoordinateMapping_Factory, Core::PropertyTextureCoordinateMapping)
 
 DECLARE_PROPERTY_FACTORY (PropertyTextureCoordinateFunction_Factory, Core::PropertyTextureCoordinateFunction)
 
 DECLARE_PROPERTY_FACTORY (PropertyTexture2List_Factory, Core::PropertyTexture2List)
 
 DECLARE_PROPERTY_FACTORY (PropertyTransform_Factory, Core::PropertyTransform)
 
 DECLARE_PROPERTY_FACTORY (PropertyGTransform_Factory, PropertyGTransform)
 
 DECLARE_PROPERTY_FACTORY (PropertyUser_Factory, Core::PropertyUser)
 
 DECLARE_PROPERTY_FACTORY (PropertyIfc_Factory, Core::PropertyIfc)
 
 DECLARE_PROPERTY_FACTORY (PropertyVector_Factory, Core::PropertyVector)
 
 DECLARE_PROPERTY_FACTORY (PropertyVectorList_Factory, Core::PropertyVectorList)
 
 DECLARE_OBJECT_FACTORY_NOIFC (Core::PythonClassObject_Factory, Core::PythonClassObject)
 
 DECLARE_OBJECT_FACTORY_NOIFC (PythonScriptObject_Factory, PythonScriptObject)
 
methods for the UNDO REDO and Transaction handling

Introduce a new concept of transaction ID. Each transaction must be unique inside the document. Multiple transactions from different documents can be grouped together with the same transaction ID.

When undo, Gui component can query getAvailableUndo(id) to see if it is possible to undo with a given ID. If there more than one undo transactions, meaning that there are other transactions before the given ID. The Gui component shall ask user if he wants to undo multiple steps. And if the user agrees, call undo(id) to unroll all transaction before and including the the one with the give ID. Same applies for redo.

The new transaction ID describe here is fully backward compatible. Calling the APIs with a default id=0 gives the original behavior.

void setUndoMode (int iMode)
 switch the level of Undo/Redo More...
 
int getUndoMode (void) const
 switch the level of Undo/Redo More...
 
void setTransactionMode (int iMode)
 switch the transaction mode More...
 
int openTransaction (const char *name=0)
 
void renameTransaction (const char *name, int id)
 Rename the current transaction if the id matches. More...
 
void commitTransaction ()
 Commit the Command transaction. Do nothing If there is no Command transaction open. More...
 
void abortTransaction ()
 Abort the actually running transaction. More...
 
bool hasPendingTransaction () const
 Check if a transaction is open. More...
 
int getTransactionID (bool undo, unsigned pos=0) const
 Return the undo/redo transaction ID starting from the back. More...
 
bool isTransactionEmpty () const
 
void setUndoLimit (unsigned int UndoMemSize=0)
 Set the Undo limit in Byte! More...
 
void setMaxUndoStackSize (unsigned int UndoMaxStackSize=20)
 Set the Undo limit as stack size. More...
 
unsigned int getMaxUndoStackSize (void) const
 Set the Undo limit as stack size. More...
 
void clearUndos ()
 Remove all stored Undos and Redos. More...
 
int getAvailableUndos (int id=0) const
 Returns the number of stored Undos. If greater than 0 Undo will be effective. More...
 
std::vector< std::string > getAvailableUndoNames () const
 Returns a list of the Undo names. More...
 
bool undo (int id=0)
 Will UNDO one step, returns False if no undo was done (Undos == 0). More...
 
int getAvailableRedos (int id=0) const
 Returns the number of stored Redos. If greater than 0 Redo will be effective. More...
 
std::vector< std::string > getAvailableRedoNames () const
 Returns a list of the Redo names. More...
 
bool redo (int id=0)
 Will REDO one step, returns False if no redo was done (Redos == 0). More...
 
bool isPerformingTransaction () const
 returns true if the document is in an Transaction phase, e.g. currently performing a redo/undo or rollback More...
 

Variables

const int LEXOCAD_CORE_MSGID = 1000
 
DocumentState _state
 
ObjectMap _all_objects_map
 
ObjectVector _all_objects_vector
 
ObjectTypeMap _immutableObjectsMap
 
ObjectGraph_graph
 
ObjectTypeMap _typeObjects
 
RelGraph_relGraph
 
RelGraph_relGraphBackLink
 
std::set< Core::DocObject * > _references
 
std::map< Base::GlobalId, Core::DocObject * > _guid_map
 
std::map< long, Core::DocObject * > _ifcId_map
 
bool _hasErrorObjectsInRecompute = false
 
bool _needRestoreBeforeRecompute = false
 
size_t _recomputeCnt = 0
 
bool mSolvingEnabled = true
 
LX_CORE_EXPORT Versionversion
 
Signals of the document
boost::signals2::signal< void(Core::DocChanges &)> signalDocChanges
 Signals DocChanges (To be removed) More...
 
boost::signals2::signal< void(const Core::DocObject &)> signalNewObject
 signal on new Object More...
 
boost::signals2::signal< void(const Core::DocObject &)> signalDeletedObject
 signal on deleted Object More...
 
boost::signals2::signal< void(const Core::DocObject &, const Core::Property &)> signalBeforeChangeObject
 signal before changing an Object More...
 
boost::signals2::signal< void(const Core::DocObject &, const Core::Property &)> signalChangedObject
 signal on changed Object More...
 
boost::signals2::signal< void()> signalBeforeRecompute
 Signals before recompute. More...
 
boost::signals2::signal< void(const std::vector< Core::DocObject * > &, const std::vector< Core::DocObject * > &, const std::vector< Core::DocObject * > &)> signalRecomputed
 Signals NewObjects, UpdatedObjects, DeletedObjects being recomputed. More...
 
boost::signals2::signal< void()> signalRecomputeError
 Signals a recompute error. More...
 
boost::signals2::signal< void(const std::map< Core::DocObject *, std::vector< std::string >> &)> signalRecomputedErrorObjects
 Signals recomputed error DocObjects. More...
 
boost::signals2::signal< void(const std::vector< std::pair< const Core::DocObject *, const Core::DocObject * >> &)> signalDefectLinks
 Signals defect links from object1 to object2. More...
 
boost::signals2::signal< void()> signalNewFile
 Signals new file. More...
 

Typedef Documentation

◆ Attachments

◆ BehaviorAttributeMap

typedef std::map<std::string, bool> Core::BehaviorAttributeMap

◆ ExecObjectMap

◆ ExecObjectSet

typedef std::unordered_set<Core::ExecObject*> Core::ExecObjectSet

◆ ExecObjectVector

◆ ObjectConstVector

typedef std::vector<const Core::DocObject*> Core::ObjectConstVector

◆ ObjectMap

typedef std::unordered_map<DocObject::IdType, Core::DocObject*> Core::ObjectMap

◆ ObjectSet

typedef std::unordered_set< Core::DocObject * > Core::ObjectSet

◆ ObjectTypeMap

◆ ObjectVector

typedef std::vector< Core::DocObject * > Core::ObjectVector

◆ pCodeProtectionFlags

typedef std::shared_ptr<Core::CodeProtectionFlags> Core::pCodeProtectionFlags

◆ PropertyMap

typedef std::unordered_map<std::string, Core::Property*> Core::PropertyMap

◆ PropertyValueMap

typedef std::unordered_map<std::string, PropertyValue> Core::PropertyValueMap

◆ RelGraph_Edge

using Core::RelGraph_Edge = typedef RelGraph_Type::edge_descriptor

◆ RelGraph_Link

◆ RelGraph_Type

using Core::RelGraph_Type = typedef boost::adjacency_list<boost::listS, boost::setS, boost::bidirectionalS,NodeInfo,EdgeInfo >

◆ RelGraph_Vertex

using Core::RelGraph_Vertex = typedef RelGraph_Type::vertex_descriptor

Enumeration Type Documentation

◆ ExecuteStatus

Enumerator
EXECUTE_OK 
EXECUTE_FAILED 

◆ Key

enum Core::Key
Enumerator
KEY_NONE 
KEY_ESCAPE 
KEY_ENTER 
KEY_RETURN 
KEY_DELETE 
KEY_0 
KEY_1 
KEY_2 
KEY_3 
KEY_4 
KEY_5 
KEY_6 
KEY_7 
KEY_8 
KEY_9 
KEY_PLUS 
KEY_MINUS 
KEY_A 
KEY_B 
KEY_C 
KEY_D 
KEY_E 
KEY_F 
KEY_G 
KEY_H 
KEY_I 
KEY_J 
KEY_K 
KEY_L 
KEY_M 
KEY_N 
KEY_O 
KEY_P 
KEY_Q 
KEY_R 
KEY_S 
KEY_T 
KEY_U 
KEY_V 
KEY_W 
KEY_X 
KEY_Y 
KEY_Z 

◆ KeyboardModifiers

Enumerator
NO_MOD 
SHIFT 
CONTROL 
ALT 
META 
KEYPAD 
GROUP_SWITCH 

◆ MouseButton

Enumerator
NONE_BUTTON 
LEFT_BUTTON 
RIGHT_BUTTON 
MIDDLE_BUTTON 

◆ ObjectStatus

Enumerator
Touch 
Error 
New 
Recompute 
Restore 
Remove 
PythonCall 
Destroy 
Enforce 
Recompute2 
PartialObject 
PendingRecompute 
PendingRemove 
ObjImporting 
NoTouch 
GeoExcluded 
PendingTransactionUpdate 

◆ PickType

Enumerator
NO_PICK 
PICK_STRAIGHT_SEGMENTS 
PICK_ARC_SEGMENTS 
PICK_CIRCLES 
PICK_AUX_LINES 
PICK_ALL 

◆ PropertyKind

The PropertyKind enum determines what a modification of this property does to the object it is contained in. The setting of the PropertyKind has direct influence on the recompute of an object:

Enumerator
P_NO_MODIFICATION 
P_MODIFY_PLACEMENT 

P_NO_MODIFICATION -> triggers NO RECOMPUTE.

P_LINK 
P_MODIFY_VISIBLITY 
P_MODIFY_SHAPE 
P_MODIFY_APPEARANCE 
P_BACKLINK 

◆ PropertyType

Enumerator
Prop_None 

No special property type

Prop_ReadOnly 

Property is read-only in the editor

Prop_Transient 

Property content won't be saved to file, but still saves name, type and status

Prop_Hidden 

Property won't appear in the editor

Prop_Output 

Modified property doesn't touch its parent container

Prop_NoRecompute 

Modified property doesn't touch its container for recompute

Prop_NoPersist 

Property won't be saved to file at all

◆ SnapType

Enumerator
NO_SNAP 
GRID_SNAP 
ENDPOINT_SNAP 
INTERSECT_SNAP 
MIDPOINT_SNAP 
TANGENT_SNAP 
PERPENDICULAR_SNAP 
ALL_SNAP 

◆ SpecialCursor

Enumerator
CURSOR_DOT 
CURSOR_DELETE 

◆ ViewerType

enum Core::ViewerType
strong
Enumerator
MAIN_VIEWER 
SECOND_VIEWER 
THIRD_VIEWER 

◆ ViewType

enum Core::ViewType
strong
Enumerator
MAIN_VIEW 
TOP_VIEW 
VERTICAL_VIEW 
CROSSSECTION_VIEW 

Function Documentation

◆ __getEnableTimeStamps__()

bool Core::__getEnableTimeStamps__ ( ) const
protected

◆ __setEnableTimeStamps__()

void Core::__setEnableTimeStamps__ ( bool  aOnOff)
protected

◆ _abortTransaction()

void Core::_abortTransaction ( )
protected

Internally called by App::Application to abort the running transaction.

◆ _checkTransaction()

void Core::_checkTransaction ( Core::DocObject pcDelObj,
const Property What,
int  line 
)
protected

checks if a valid transaction is open

◆ _clearRedos()

void Core::_clearRedos ( )
protected

◆ _commitTransaction()

void Core::_commitTransaction ( bool  notify = false)
protected

Internally called by App::Application to commit the Command transaction.

◆ _openTransaction()

int Core::_openTransaction ( const char *  name = 0,
int  id = 0 
)
protected

Open a new command Undo/Redo, an UTF-8 name can be specified

Parameters
nametransaction name
idtransaction ID, if 0 then the ID is auto generated.
Returns
: Return the ID of the new transaction.

This function creates an actual transaction regardless of Application AutoTransaction setting.

◆ abortTransaction()

void Core::abortTransaction ( )

Abort the actually running transaction.

◆ add_GUID()

void Core::add_GUID ( const Base::GlobalId guid,
Core::DocObject o 
)
protected

Adds a guid without checking.

◆ addFileToZip()

bool Core::addFileToZip ( const Base::String entryName,
const Base::String path 
)

◆ addImmutableObject()

template<typename T >
T* Core::addImmutableObject ( Core::PropertyBundle< T > *  po)

Adds an immutable object to the document using templates. The Core::PropertyBundle is taken to compare the values with all existing immutable objects.

◆ addImmutableObject_NoCheck()

template<typename T >
T* Core::addImmutableObject_NoCheck ( Core::PropertyBundle< T > *  po)

Adds an immutable object to the document using templates. The Core::PropertyBundle is taken to compare the values with all existing immutable objects.

◆ addImmutableObjectMaterial()

virtual Core::DocObject* Core::addImmutableObjectMaterial ( Core::PropertyContainer pc)
virtual

◆ addInventorDirectory()

virtual void Core::addInventorDirectory ( const Base::String )
virtual

Inventor search directories - needs to be stored for IV/Z export, but SoInput is not OK...

◆ addNewObjectsToGraph()

void Core::addNewObjectsToGraph ( )
protected

Adds objects with status 'New' to the graph.

◆ addPropertyLinkError()

void Core::addPropertyLinkError ( const std::string &  from,
const std::string &  to 
)

◆ addReferenceFrom()

void Core::addReferenceFrom ( Core::DocObject from)

◆ addToDocumentMaps()

void Core::addToDocumentMaps ( Core::DocObject o)
protected

Adds the object to all relevant maps.

◆ askAndSetNewFilename()

bool Core::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. Returns false if user cancelled the save.

◆ breakLinks()

void Core::breakLinks ( Core::DocObject from)

◆ build_savemap()

virtual std::vector<Core::DocObject*> Core::build_savemap ( std::vector< std::string > &  delete_log)
protectedvirtual

Build a map of the objects that get saved. Objects that are marked for delete get removed.

◆ check_graph()

std::vector<std::string> Core::check_graph ( )

◆ checkAndConfigureOpenedDocument()

virtual void Core::checkAndConfigureOpenedDocument ( )
protectedvirtual

Is called when opening a document. Can be overwritten to do some custom check routines.

◆ checkAndConfigureOpenedDocumentAfterRecompute()

virtual void Core::checkAndConfigureOpenedDocumentAfterRecompute ( int  ,
int   
)
protectedvirtual

Is called when opening a document after recompute. Can be overwritten to do some custom check routines.

◆ checkBeforeObjectRestoring()

virtual void Core::checkBeforeObjectRestoring ( int  ,
int   
)
protectedvirtual

Is called before restoring objects of a document.

◆ checkDeletedObjectLinks() [1/2]

bool Core::checkDeletedObjectLinks ( const std::vector< const Core::DocObject * > &  objToCheck,
std::vector< std::pair< const Core::DocObject *, const Core::DocObject * >> *  errors 
)

◆ checkDeletedObjectLinks() [2/2]

bool Core::checkDeletedObjectLinks ( const std::vector< const Core::DocObject * > &  objvec,
const std::vector< const Core::DocObject * > &  objToCheck,
std::vector< std::pair< const Core::DocObject *, const Core::DocObject * >> *  errors 
)
protected

◆ checkObjectLinks() [1/2]

bool Core::checkObjectLinks ( const std::vector< const 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.

◆ checkObjectLinks() [2/2]

bool Core::checkObjectLinks ( const std::vector< const Core::DocObject * > &  objvec,
const std::vector< const Core::DocObject * > &  objToCheck,
std::vector< std::pair< const Core::DocObject *, const Core::DocObject * >> *  errors = nullptr 
)

◆ cleanTempDirectory()

void Core::cleanTempDirectory ( )
protected

Cleans the temporary directory.

◆ cleanUndoStack()

virtual void Core::cleanUndoStack ( )
protectedvirtual

Cleans the undo stack. Must be overwritten.

◆ clearUndos()

void Core::clearUndos ( )

Remove all stored Undos and Redos.

◆ commitTransaction()

void Core::commitTransaction ( )

Commit the Command transaction. Do nothing If there is no Command transaction open.

◆ convertFromOlderVersions()

virtual bool Core::convertFromOlderVersions ( int  docVersion,
int  appVersion 
)
protectedvirtual

Converts document from older version. Is called when a document with an older version number is opened. Returns true if successful, false if failed to convert.

◆ CoreDocument() [1/2]

Core::CoreDocument ( )
protected

◆ CoreDocument() [2/2]

Core::CoreDocument ( const CoreDocument rhs)
protected

◆ createBackupFile()

bool Core::createBackupFile ( const Base::String path,
bool  savePath 
)
protected

◆ createBackupFileAfterOpeningDoc()

bool Core::createBackupFileAfterOpeningDoc ( const Base::String path,
bool  savePath 
)
protected

◆ createGroundPlate_deprecated()

virtual void Core::createGroundPlate_deprecated ( )
virtual

To overwrite. Deprecated, do not use.

◆ createObject()

template<typename T >
T* Core::createObject ( )

Creates and adds a new object to the document using templates. If a Core::PropertyBundle is given the object is initialized with these properties.

◆ createTempDirectory()

void Core::createTempDirectory ( )
protected

Creates the temporary directory.

◆ DECLARE_OBJECT_FACTORY_NOIFC() [1/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyColorDescriptor_Factory  ,
PropertyColorDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [2/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyButtonDescriptor_Factory  ,
PropertyButtonDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [3/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyLxAttributeDescriptor_Factory  ,
PropertyLxAttributeDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [4/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyStringDescriptor_Factory  ,
PropertyStringDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [5/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyGroupDescriptor_Factory  ,
PropertyGroupDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [6/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyLxFormulaDescriptor_Factory  ,
PropertyLxFormulaDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [7/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyDoubleDescriptor_Factory  ,
PropertyDoubleDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [8/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyIntegerDescriptor_Factory  ,
PropertyIntegerDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [9/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyBoolDescriptor_Factory  ,
PropertyBoolDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [10/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PropertyEnumDescriptor_Factory  ,
PropertyEnumDescriptor   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [11/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( PythonScriptObject_Factory  ,
PythonScriptObject   
)

◆ DECLARE_OBJECT_FACTORY_NOIFC() [12/12]

Core::DECLARE_OBJECT_FACTORY_NOIFC ( Core::PythonClassObject_Factory  ,
Core::PythonClassObject   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [1/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyIdentifierOpt  ,
Core::PropertyIdentifier   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [2/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyLabelOpt  ,
Core::PropertyLabel   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [3/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyRealOpt  ,
Core::PropertyReal   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [4/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyCompoundPlaneAngleOpt  ,
Core::PropertyCompoundPlaneAngle   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [5/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyStringOpt  ,
Core::PropertyString   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [6/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyColorOpt  ,
Core::PropertyColor   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [7/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyPositiveLengthOpt  ,
Core::PropertyPositiveLength   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [8/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyPlaneAngleOpt  ,
Core::PropertyPlaneAngle   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [9/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyPositivePlaneAngleOpt  ,
Core::PropertyPositivePlaneAngle   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [10/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyIntegerOpt  ,
Core::PropertyInteger   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [11/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyEnumOpt  ,
Core::PropertyEnum   
)

◆ DECLARE_OPTIONAL_PROPERTY_HEADER() [12/12]

Core::DECLARE_OPTIONAL_PROPERTY_HEADER ( PropertyNormalisedRatioOpt  ,
Core::PropertyNormalisedRatio   
)

◆ DECLARE_PROPERTY_FACTORY() [1/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyIdentifier_Factory  ,
Core::PropertyIdentifier   
)

◆ DECLARE_PROPERTY_FACTORY() [2/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyLabel_Factory  ,
Core::PropertyLabel   
)

◆ DECLARE_PROPERTY_FACTORY() [3/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyScriptParam_Factory  ,
Core::PropertyScriptParam   
)

◆ DECLARE_PROPERTY_FACTORY() [4/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPercent_Factory  ,
Core::PropertyPercent   
)

◆ DECLARE_PROPERTY_FACTORY() [5/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPen_Factory  ,
Core::PropertyPen   
)

◆ DECLARE_PROPERTY_FACTORY() [6/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyBoolean_Factory  ,
Core::PropertyBoolean   
)

◆ DECLARE_PROPERTY_FACTORY() [7/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyBrush_Factory  ,
Core::PropertyBrush   
)

◆ DECLARE_PROPERTY_FACTORY() [8/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyFile_Factory  ,
Core::PropertyFile   
)

◆ DECLARE_PROPERTY_FACTORY() [9/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyDrawStyle_Factory  ,
Core::PropertyDrawStyle   
)

◆ DECLARE_PROPERTY_FACTORY() [10/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyCompoundPlaneAngle_Factory  ,
Core::PropertyCompoundPlaneAngle   
)

◆ DECLARE_PROPERTY_FACTORY() [11/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyFont_Factory  ,
Core::PropertyFont   
)

◆ DECLARE_PROPERTY_FACTORY() [12/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyLogical_Factory  ,
Core::PropertyLogical   
)

◆ DECLARE_PROPERTY_FACTORY() [13/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyMesh_Factory  ,
Core::PropertyMesh   
)

◆ DECLARE_PROPERTY_FACTORY() [14/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyUser_Factory  ,
Core::PropertyUser   
)

◆ DECLARE_PROPERTY_FACTORY() [15/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyProxy_Factory  ,
Core::PropertyProxy   
)

◆ DECLARE_PROPERTY_FACTORY() [16/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyString_Factory  ,
Core::PropertyString   
)

◆ DECLARE_PROPERTY_FACTORY() [17/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertySolverElementLinkList_Factory  ,
Core::PropertySolverElementLinkVector   
)

◆ DECLARE_PROPERTY_FACTORY() [18/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertySolverSolverLinkList_Factory  ,
Core::PropertySolverSolverLinkList   
)

◆ DECLARE_PROPERTY_FACTORY() [19/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyEmbeddedFile_Factory  ,
Core::PropertyEmbeddedFile   
)

◆ DECLARE_PROPERTY_FACTORY() [20/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyIfc_Factory  ,
Core::PropertyIfc   
)

◆ DECLARE_PROPERTY_FACTORY() [21/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyMD5_Factory  ,
Core::PropertyMD5   
)

◆ DECLARE_PROPERTY_FACTORY() [22/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertySearchSettings_Factory  ,
Core::PropertySearchSettings   
)

◆ DECLARE_PROPERTY_FACTORY() [23/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyRelaxation_Factory  ,
Core::PropertyRelaxation   
)

◆ DECLARE_PROPERTY_FACTORY() [24/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertySearchSettingsVector_Factory  ,
Core::PropertySearchSettingsVector   
)

◆ DECLARE_PROPERTY_FACTORY() [25/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyRelaxationSet_Factory  ,
Core::PropertyRelaxationSet   
)

◆ DECLARE_PROPERTY_FACTORY() [26/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyDateTime_Factory  ,
Core::PropertyDateTime   
)

◆ DECLARE_PROPERTY_FACTORY() [27/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyVector_Factory  ,
Core::PropertyVector   
)

◆ DECLARE_PROPERTY_FACTORY() [28/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyDateTimeList_Factory  ,
Core::PropertyDateTimeList   
)

◆ DECLARE_PROPERTY_FACTORY() [29/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyDirection_Factory  ,
Core::PropertyDirection   
)

◆ DECLARE_PROPERTY_FACTORY() [30/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyVectorList_Factory  ,
Core::PropertyVectorList   
)

◆ DECLARE_PROPERTY_FACTORY() [31/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyDirection2d_Factory  ,
Core::PropertyDirection2d   
)

◆ DECLARE_PROPERTY_FACTORY() [32/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyTransform_Factory  ,
Core::PropertyTransform   
)

◆ DECLARE_PROPERTY_FACTORY() [33/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyAxis1_Factory  ,
Core::PropertyAxis1   
)

◆ DECLARE_PROPERTY_FACTORY() [34/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyBrepData_Factory  ,
Core::PropertyBrepData   
)

◆ DECLARE_PROPERTY_FACTORY() [35/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyArrowheads_Factory  ,
Core::PropertyArrowheads   
)

◆ DECLARE_PROPERTY_FACTORY() [36/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyGTransform_Factory  ,
PropertyGTransform   
)

◆ DECLARE_PROPERTY_FACTORY() [37/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyAxis2D_Factory  ,
PropertyAxis2D   
)

◆ DECLARE_PROPERTY_FACTORY() [38/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyBrepDataSet_Factory  ,
Core::PropertyBrepDataSet   
)

◆ DECLARE_PROPERTY_FACTORY() [39/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyColor_Factory  ,
Core::PropertyColor   
)

◆ DECLARE_PROPERTY_FACTORY() [40/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyColorOpt_Factory  ,
Core::PropertyColorOpt   
)

◆ DECLARE_PROPERTY_FACTORY() [41/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyGUID_Factory  ,
Core::PropertyGUID   
)

◆ DECLARE_PROPERTY_FACTORY() [42/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyColorList_Factory  ,
Core::PropertyColorList   
)

◆ DECLARE_PROPERTY_FACTORY() [43/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyText_Factory  ,
Core::PropertyText   
)

◆ DECLARE_PROPERTY_FACTORY() [44/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyTextList_Factory  ,
Core::PropertyTextList   
)

◆ DECLARE_PROPERTY_FACTORY() [45/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyMultiLineText_Factory  ,
Core::PropertyMultiLineText   
)

◆ DECLARE_PROPERTY_FACTORY() [46/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyAxis2_Factory  ,
Core::PropertyAxis2   
)

◆ DECLARE_PROPERTY_FACTORY() [47/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyAxis22D_Factory  ,
Core::PropertyAxis22D   
)

◆ DECLARE_PROPERTY_FACTORY() [48/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyAxis2List_Factory  ,
Core::PropertyAxis2List   
)

◆ DECLARE_PROPERTY_FACTORY() [49/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyTexture2_Factory  ,
Core::PropertyTexture2   
)

◆ DECLARE_PROPERTY_FACTORY() [50/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyTexture2Transform_Factory  ,
Core::PropertyTexture2Transform   
)

◆ DECLARE_PROPERTY_FACTORY() [51/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyTextureCoordinateMapping_Factory  ,
Core::PropertyTextureCoordinateMapping   
)

◆ DECLARE_PROPERTY_FACTORY() [52/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyTextureCoordinateFunction_Factory  ,
Core::PropertyTextureCoordinateFunction   
)

◆ DECLARE_PROPERTY_FACTORY() [53/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyTexture2List_Factory  ,
Core::PropertyTexture2List   
)

◆ DECLARE_PROPERTY_FACTORY() [54/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPoint_Factory  ,
Core::PropertyPoint   
)

◆ DECLARE_PROPERTY_FACTORY() [55/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPointList_Factory  ,
Core::PropertyPointList   
)

◆ DECLARE_PROPERTY_FACTORY() [56/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyListPointList_Factory  ,
Core::PropertyListPointList   
)

◆ DECLARE_PROPERTY_FACTORY() [57/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPoint2d_Factory  ,
Core::PropertyPoint2d   
)

◆ DECLARE_PROPERTY_FACTORY() [58/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPoint2dList_Factory  ,
Core::PropertyPoint2dList   
)

◆ DECLARE_PROPERTY_FACTORY() [59/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyBackLinkBase_Factory  ,
Core::PropertyBackLinkBase   
)

◆ DECLARE_PROPERTY_FACTORY() [60/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyBackLinkSetBase_Factory  ,
Core::PropertyBackLinkSetBase   
)

◆ DECLARE_PROPERTY_FACTORY() [61/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyBackLinkSet_SaveV27AsBackLink_Factory  ,
Core::PropertyBackLinkSetBase   
)

◆ DECLARE_PROPERTY_FACTORY() [62/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyInteger_Factory  ,
Core::PropertyInteger   
)

◆ DECLARE_PROPERTY_FACTORY() [63/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyNumberOfDecimals_Factory  ,
Core::PropertyNumberOfDecimals   
)

◆ DECLARE_PROPERTY_FACTORY() [64/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyIndex_Factory  ,
Core::PropertyIndex   
)

◆ DECLARE_PROPERTY_FACTORY() [65/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyIndexList_Factory  ,
Core::PropertyIndexList   
)

◆ DECLARE_PROPERTY_FACTORY() [66/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyEnum_Factory  ,
Core::PropertyEnum   
)

◆ DECLARE_PROPERTY_FACTORY() [67/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyCountMeasure_Factory  ,
Core::PropertyCountMeasure   
)

◆ DECLARE_PROPERTY_FACTORY() [68/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyLinkBase_Factory  ,
Core::PropertyLinkBase   
)

◆ DECLARE_PROPERTY_FACTORY() [69/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyLinkSetBase_Factory  ,
Core::PropertyLinkSetBase   
)

◆ DECLARE_PROPERTY_FACTORY() [70/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyLinkList_Factory  ,
Core::PropertyLinkList   
)

◆ DECLARE_PROPERTY_FACTORY() [71/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyReal_Factory  ,
Core::PropertyReal   
)

◆ DECLARE_PROPERTY_FACTORY() [72/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyRealOpt_Factory  ,
Core::PropertyRealOpt   
)

◆ DECLARE_PROPERTY_FACTORY() [73/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyRealList_Factory  ,
Core::PropertyRealList   
)

◆ DECLARE_PROPERTY_FACTORY() [74/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyLength_Factory  ,
Core::PropertyLength   
)

◆ DECLARE_PROPERTY_FACTORY() [75/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyLengthMeasure_Factory  ,
Core::PropertyLengthMeasure   
)

◆ DECLARE_PROPERTY_FACTORY() [76/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPositiveLength_Factory  ,
Core::PropertyPositiveLength   
)

◆ DECLARE_PROPERTY_FACTORY() [77/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyLengthOpt_Factory  ,
Core::PropertyLengthOpt   
)

◆ DECLARE_PROPERTY_FACTORY() [78/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPlaneAngle_Factory  ,
Core::PropertyPlaneAngle   
)

◆ DECLARE_PROPERTY_FACTORY() [79/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPositivePlaneAngle_Factory  ,
Core::PropertyPositivePlaneAngle   
)

◆ DECLARE_PROPERTY_FACTORY() [80/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyRatio_Factory  ,
Core::PropertyRatio   
)

◆ DECLARE_PROPERTY_FACTORY() [81/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPositiveRatio_Factory  ,
Core::PropertyPositiveRatio   
)

◆ DECLARE_PROPERTY_FACTORY() [82/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyRatioMeasure_Factory  ,
Core::PropertyRatioMeasure   
)

◆ DECLARE_PROPERTY_FACTORY() [83/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPositiveRatioMeasure_Factory  ,
Core::PropertyPositiveRatioMeasure   
)

◆ DECLARE_PROPERTY_FACTORY() [84/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyNormalisedRatio_Factory  ,
Core::PropertyNormalisedRatio   
)

◆ DECLARE_PROPERTY_FACTORY() [85/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyDynamicViscosity_Factory  ,
Core::PropertyDynamicViscosity   
)

◆ DECLARE_PROPERTY_FACTORY() [86/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyModulusOfElasticity_Factory  ,
Core::PropertyModulusOfElasticity   
)

◆ DECLARE_PROPERTY_FACTORY() [87/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyThermalExpansionCoefficient_Factory  ,
Core::PropertyThermalExpansionCoefficient   
)

◆ DECLARE_PROPERTY_FACTORY() [88/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPressure_Factory  ,
Core::PropertyPressure   
)

◆ DECLARE_PROPERTY_FACTORY() [89/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyThermodynamicTemperature_Factory  ,
Core::PropertyThermodynamicTemperature   
)

◆ DECLARE_PROPERTY_FACTORY() [90/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertySpecificHeatCapacity_Factory  ,
Core::PropertySpecificHeatCapacity   
)

◆ DECLARE_PROPERTY_FACTORY() [91/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyThermalConductivity_Factory  ,
Core::PropertyThermalConductivity   
)

◆ DECLARE_PROPERTY_FACTORY() [92/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyIsothermalMoistureCapacity_Factory  ,
Core::PropertyIsothermalMoistureCapacity   
)

◆ DECLARE_PROPERTY_FACTORY() [93/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyVaporPermeability_Factory  ,
Core::PropertyVaporPermeability   
)

◆ DECLARE_PROPERTY_FACTORY() [94/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyMoistureDiffusivity_Factory  ,
Core::PropertyMoistureDiffusivity   
)

◆ DECLARE_PROPERTY_FACTORY() [95/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyMolecularWeight_Factory  ,
Core::PropertyMolecularWeight   
)

◆ DECLARE_PROPERTY_FACTORY() [96/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyMassDensity_Factory  ,
Core::PropertyMassDensity   
)

◆ DECLARE_PROPERTY_FACTORY() [97/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyIonConcentration_Factory  ,
Core::PropertyIonConcentration   
)

◆ DECLARE_PROPERTY_FACTORY() [98/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPHMeasure_Factory  ,
Core::PropertyPHMeasure   
)

◆ DECLARE_PROPERTY_FACTORY() [99/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyHeatingValue_Factory  ,
Core::PropertyHeatingValue   
)

◆ DECLARE_PROPERTY_FACTORY() [100/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyThermalTransmittance_Factory  ,
Core::PropertyThermalTransmittance   
)

◆ DECLARE_PROPERTY_FACTORY() [101/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyThermalTransmittanceMeasure_Factory  ,
Core::PropertyThermalTransmittanceMeasure   
)

◆ DECLARE_PROPERTY_FACTORY() [102/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyVolumetricFlowRateMeasure_Factory  ,
Core::PropertyVolumetricFlowRateMeasure   
)

◆ DECLARE_PROPERTY_FACTORY() [103/103]

Core::DECLARE_PROPERTY_FACTORY ( PropertyPositiveLengthMeasure_Factory  ,
Core::PropertyPositiveLengthMeasure   
)

◆ DECLARE_PROPERTY_TEMPLATES() [1/3]

Core::DECLARE_PROPERTY_TEMPLATES ( Core::PropertyGroupDescriptor  ,
LX_CORE_EXPORT   
)

◆ DECLARE_PROPERTY_TEMPLATES() [2/3]

Core::DECLARE_PROPERTY_TEMPLATES ( Core::PropertyEnumDescriptor  ,
LX_CORE_EXPORT   
)

◆ DECLARE_PROPERTY_TEMPLATES() [3/3]

Core::DECLARE_PROPERTY_TEMPLATES ( Core::PropertyDescriptor  ,
LX_CORE_EXPORT   
)

◆ deleteObject()

virtual void Core::deleteObject ( Core::DocObject o)
protectedvirtual

Physically deletes an object without informing the object maps.

◆ dumpGraph()

std::string Core::dumpGraph ( void  )

Returns a string representation of the graph.

◆ emitAndNotify()

void Core::emitAndNotify ( Core::DocChanges aDocChanges)

◆ forceBackupOnNextSave()

void Core::forceBackupOnNextSave ( )

Modifies the _lastBackupFileTime to force backup when the document is saved next time.

◆ getAvailableRedoNames()

std::vector<std::string> Core::getAvailableRedoNames ( ) const

Returns a list of the Redo names.

◆ getAvailableRedos()

int Core::getAvailableRedos ( int  id = 0) const

Returns the number of stored Redos. If greater than 0 Redo will be effective.

◆ getAvailableUndoNames()

std::vector<std::string> Core::getAvailableUndoNames ( ) const

Returns a list of the Undo names.

◆ getAvailableUndos()

int Core::getAvailableUndos ( int  id = 0) const

Returns the number of stored Undos. If greater than 0 Undo will be effective.

◆ getBackLinksByProperties()

std::vector<const Core::DocObject*> Core::getBackLinksByProperties ( const Core::DocObject source) const

◆ getBackLinksFromMe()

std::vector<const Core::DocObject*> Core::getBackLinksFromMe ( const Core::DocObject o)

Returns all objects 'o' directly linked from 'o'.

◆ getBackLinksToMe()

std::vector<const Core::DocObject*> Core::getBackLinksToMe ( const Core::DocObject o)

Returns all objects that directly linked to 'o'.

◆ getCurrentScriptFilePath()

LX_CORE_EXPORT Base::String Core::getCurrentScriptFilePath ( )

◆ getCurrentScriptId()

LX_CORE_EXPORT Base::GlobalId Core::getCurrentScriptId ( )

◆ getDocumentState()

const DocumentState& Core::getDocumentState ( ) const

◆ getDocXMLAsString()

std::string Core::getDocXMLAsString ( )

◆ getGuidPolicy() [1/2]

Base::GlobalId_Policy Core::getGuidPolicy ( ) const

Returns the default GUID policy.

◆ getGuidPolicy() [2/2]

bool Core::getGuidPolicy ( const Base::String suffix,
Base::GlobalId_Policy policy 
) const

Returns the GUID policy for a file suffix.

◆ getImmutableObjects()

bool Core::getImmutableObjects ( Base::Type  t,
ObjectSet set 
) const

◆ getImmutableObjectWithSameValues()

Core::DocObject* Core::getImmutableObjectWithSameValues ( Base::Type  t,
Core::PropertyContainer pc 
) const
protected

Returns the object that has the same values as 'pc'. Returns '0' if there is no such object.

◆ getImportedIFCFile()

QString Core::getImportedIFCFile ( )

◆ getInBackLinks()

std::vector<std::pair<Core::PropertyLinkBaseBase*,Core::DocObject*> > Core::getInBackLinks ( Core::DocObject docObj)

◆ getInLinks()

std::vector<std::pair<Core::PropertyLinkBaseBase*,Core::DocObject*> > Core::getInLinks ( Core::DocObject docObj)

◆ getInner()

std::vector<const Core::DocObject*> Core::getInner ( const Core::DocObject me,
std::function< bool(const Core::DocObject *)> *  allowToAddObject = 0 
)

Get ALL Links to me, also indirect.

◆ getLastImportedFilePath()

LX_CORE_EXPORT Base::String Core::getLastImportedFilePath ( )

General.

◆ getLinkDescByProperties()

std::vector<PropertyLinkDesc> Core::getLinkDescByProperties ( const Core::DocObject o) const

◆ getLinksByProperties()

std::vector<const Core::DocObject*> Core::getLinksByProperties ( const Core::DocObject o) const

◆ getLinksFromMe()

std::vector<const Core::DocObject*> Core::getLinksFromMe ( const Core::DocObject o)

Returns all objects 'o' directly linked from 'o'.

◆ getLinksToMe()

std::vector<const Core::DocObject*> Core::getLinksToMe ( const Core::DocObject o)

Returns all objects that directly linked to 'o'.

◆ getMaxUndoStackSize()

unsigned int Core::getMaxUndoStackSize ( void  ) const

Set the Undo limit as stack size.

◆ getObjectByGlobalId()

Core::DocObject* Core::getObjectByGlobalId ( const Base::GlobalId guid) const

Returns the DocObject with this GUID.

◆ getObjectById()

virtual Core::DocObject* Core::getObjectById ( const DocObject::IdType id) const
virtual

Returns the object with this id.

◆ getObjectByUserName()

Core::DocObject* Core::getObjectByUserName ( const Base::String s) const

Returns the object with this userName.

◆ getObjectMap()

const ObjectMap& Core::getObjectMap ( ) const
protected

Returns the object map.

◆ getObjectsByType() [1/2]

template<typename T >
std::vector<T*> Core::getObjectsByType ( ) const

Return all object of given type and all derived classes.

◆ getObjectsByType() [2/2]

template<typename T >
void Core::getObjectsByType ( std::vector< T * > &  objs) const

Returns all objects of type 'T'.

◆ getObjectsFromTypeMap()

void Core::getObjectsFromTypeMap ( Base::Type  t,
std::vector< Core::DocObject * > &  ret 
) const

Returns all objects of type 'T'.

◆ getObjectsToSave()

std::vector<Core::DocObject*> Core::getObjectsToSave ( )

Returns all objects that will be saved in document. Basically interface for build_savemap().

◆ getOnSaveChangeToDefaultUser()

bool Core::getOnSaveChangeToDefaultUser ( ) const

Return whether the user get changed to default user on next save.

◆ getOutBackLinks()

std::vector<std::pair<Core::PropertyLinkBaseBase*,Core::DocObject*> > Core::getOutBackLinks ( Core::DocObject docObj)

◆ getOuter()

std::vector<const Core::DocObject*> Core::getOuter ( const Core::DocObject me)

Get ALL Links from me, also indirect.

◆ getOutLinks()

std::vector<std::pair<Core::PropertyLinkBaseBase*,Core::DocObject*> > Core::getOutLinks ( Core::DocObject docObj)

◆ getPatchedUserTypes()

virtual bool Core::getPatchedUserTypes ( const Base::String filename,
std::map< QString, QString > &  id2TypeMap 
)
protectedvirtual

◆ getRecomputeCount()

size_t Core::getRecomputeCount ( ) const

get count of recomputes()

◆ getReferences()

const std::set<Core::DocObject*>& Core::getReferences ( ) const

◆ getSaveBlocksUntilFinished()

bool Core::getSaveBlocksUntilFinished ( ) const

Returns whether saving will block until the whole save is finished and file is ready.

◆ getTmpDirectory()

Base::String Core::getTmpDirectory ( )

Returns the temporary directory.

◆ getTransactionID()

int Core::getTransactionID ( bool  undo,
unsigned  pos = 0 
) const

Return the undo/redo transaction ID starting from the back.

◆ getTypeMap()

const ObjectTypeMap& Core::getTypeMap ( ) const

◆ getUndoMode()

int Core::getUndoMode ( void  ) const

switch the level of Undo/Redo

◆ getUniqueObjectId()

Core::DocObject::IdType Core::getUniqueObjectId ( ) const
protected

Returns the next available unique id.

◆ getUniqueObjectIdFromInteger()

Core::DocObject::IdType Core::getUniqueObjectIdFromInteger ( size_t  input) const

◆ hasErrorObjectsInRecompute()

bool Core::hasErrorObjectsInRecompute ( )

get result of last recompute

◆ hasPendingTransaction()

bool Core::hasPendingTransaction ( ) const

Check if a transaction is open.

◆ hasReferencesFrom()

bool Core::hasReferencesFrom ( Core::DocObject from) const

◆ initDocument()

virtual void Core::initDocument ( bool  )
protectedvirtual

Initialize document.. Can be overwritten to do some custom initialization.

◆ isActive()

bool Core::isActive ( ) const

Returns 'true' if the Document is the active Document. Otherwise returns 'false'.

◆ isCatalogFile()

bool Core::isCatalogFile ( ) const
protected

Returns true if this document's file is part of catalog.

◆ isChanged()

virtual bool Core::isChanged ( )
virtual

Returns 'true' if the document is changed.

◆ isPerformingTransaction()

bool Core::isPerformingTransaction ( ) const

returns true if the document is in an Transaction phase, e.g. currently performing a redo/undo or rollback

◆ isTransactionEmpty()

bool Core::isTransactionEmpty ( ) const

Check if a transaction is open and its list is empty. If no transaction is open true is returned.

◆ maybe_add_GUID()

bool Core::maybe_add_GUID ( const Base::GlobalId guid,
Core::DocObject o 
)
protected

Adds a guid to the map IF this id is not in use yet.

◆ maybeSave()

virtual bool Core::maybeSave ( )
virtual

Can be overwritten to check if the undo stack is clean etc.

◆ onAddBackLink()

void Core::onAddBackLink ( PropertyLinkBaseBase p,
Core::DocObject from,
Core::DocObject o 
)

◆ onAddBackLinks() [1/2]

void Core::onAddBackLinks ( PropertyLinkBaseBase p,
Core::DocObject from,
const std::list< Core::DocObject * > &  linkList 
)

◆ onAddBackLinks() [2/2]

void Core::onAddBackLinks ( PropertyLinkBaseBase p,
Core::DocObject from,
const std::unordered_set< Core::DocObject * > &  linkSet 
)

◆ onAddLink()

void Core::onAddLink ( PropertyLinkBaseBase p,
Core::DocObject from,
Core::DocObject o 
)

◆ onAddLinks() [1/2]

void Core::onAddLinks ( PropertyLinkBaseBase p,
Core::DocObject from,
const std::list< Core::DocObject * > &  linkList 
)

◆ onAddLinks() [2/2]

void Core::onAddLinks ( PropertyLinkBaseBase p,
Core::DocObject from,
const std::unordered_set< Core::DocObject * > &  linkSet 
)

◆ onRemoveBackLink()

void Core::onRemoveBackLink ( PropertyLinkBaseBase p,
Core::DocObject from,
Core::DocObject o 
)

◆ onRemoveBackLinks() [1/2]

void Core::onRemoveBackLinks ( PropertyLinkBaseBase p,
Core::DocObject from,
const std::list< Core::DocObject * > &  linkList 
)

◆ onRemoveBackLinks() [2/2]

void Core::onRemoveBackLinks ( PropertyLinkBaseBase p,
Core::DocObject from,
const std::unordered_set< Core::DocObject * > &  linkSet 
)

◆ onRemoveLink()

void Core::onRemoveLink ( PropertyLinkBaseBase p,
Core::DocObject from,
Core::DocObject o 
)

◆ onRemoveLinks() [1/2]

void Core::onRemoveLinks ( PropertyLinkBaseBase p,
Core::DocObject from,
const std::list< Core::DocObject * > &  linkList 
)

◆ onRemoveLinks() [2/2]

void Core::onRemoveLinks ( PropertyLinkBaseBase p,
Core::DocObject from,
const std::unordered_set< Core::DocObject * > &  linkSet 
)

◆ openTransaction()

int Core::openTransaction ( const char *  name = 0)

Open a new command Undo/Redo, an UTF-8 name can be specified

Parameters
nametransaction name

This function calls App::Application::setActiveTransaction(name) instead to setup a potential transaction which will only be created if there is actual changes.

◆ recompute()

Core::CoreDocument Core::PropertyContainer, Base::Subject Core::recompute ( std::function< void(DOCOBJECTS newObj, DOCOBJECTS updatedObj, DOCOBJECTS deletedObj, DOCOBJECTS_ERROR_MAP errorObj)>  onRecomputedCB)

◆ redo()

bool Core::redo ( int  id = 0)

Will REDO one step, returns False if no redo was done (Redos == 0).

◆ remove_GUID()

void Core::remove_GUID ( const Base::GlobalId guid,
Core::DocObject o 
)
protected

Removes a guid without checking.

◆ removeBackLinkInProperties()

void Core::removeBackLinkInProperties ( const Core::DocObject source,
Core::DocObject link 
)

◆ removeLinkInProperties()

void Core::removeLinkInProperties ( const Core::DocObject source,
Core::DocObject link 
)

◆ removeReferenceFrom()

void Core::removeReferenceFrom ( Core::DocObject from)

◆ renameTransaction()

void Core::renameTransaction ( const char *  name,
int  id 
)

Rename the current transaction if the id matches.

◆ renameTypeFromOlderVersions()

virtual bool Core::renameTypeFromOlderVersions ( int  ,
Base::String  
)
protectedvirtual

Handles renaming of types between versions. This method looks whether it is necessary to create object of different type when restoring objects. Returns True if something was changed, false when there is no change.

◆ resetHasErrorObjectsInRecompute()

void Core::resetHasErrorObjectsInRecompute ( )

reset result of last recompute();

◆ resolveLinkInDocument()

void Core::resolveLinkInDocument ( Core::PropertyLinkBase link)
protected

After opening a document this method restores the links declared in the document header.

◆ restoreDirectory()

virtual void Core::restoreDirectory ( const QString &  )
protectedvirtual

Restores directory to temp.

◆ restoreDocument()

virtual int Core::restoreDocument ( Base::XMLReader reader,
Core::Attachments attachments 
)
protectedvirtual

Restores the document. Returns the doc version of the restored document.

◆ restoreFileFromZip()

bool Core::restoreFileFromZip ( const Base::String entryName,
const Base::String targetpath,
bool  binaryMode 
)

◆ restoreGlobalAttachment()

virtual bool Core::restoreGlobalAttachment ( Base::GlobalAttachment gAtta,
std::istream *  ,
uint64_t  streamsize,
const Base::String entryName 
)
virtual

◆ restoreObject()

virtual Core::DocObject* Core::restoreObject ( const std::string &  typeName,
const std::string &  typeHierarchy,
const std::string &  id 
)
protectedvirtual

Tries to restore an object from a given type name.

◆ restoreProperty()

void Core::restoreProperty ( Core::Property property,
const Base::String name,
Base::AbstractXMLReader reader,
Base::PersistenceVersion version 
)
overrideprotected

◆ saveAs()

virtual bool Core::saveAs ( const Base::String filename)
virtual

Saves the document under this name.

◆ saveAsFile()

bool Core::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.

◆ saveAsFileVersion()

bool Core::saveAsFileVersion ( int  aMajorVersion,
int  aMinorVersion,
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.

◆ saveCopy()

bool Core::saveCopy ( const Base::String filename)

Saves a copy of the current document, no notify, only store the doc under this name.

◆ saveDocument()

virtual void Core::saveDocument ( std::shared_ptr< Base::AbstractWriter writer,
int  versionMajor2save,
int  versionMinor2save,
bool  showProgress 
)
protectedvirtual

Saves the document.

◆ saveFile()

bool Core::saveFile ( bool  toExport = false,
bool  saveBackupCopy = false 
)

Saves the file.

◆ setChanged()

virtual void Core::setChanged ( bool  changed)
virtual

◆ setFullFileName()

void Core::setFullFileName ( const Base::String fullfilename)

Sets the full file name including the path.

◆ setGuidPolicy() [1/2]

void Core::setGuidPolicy ( const Base::GlobalId_Policy policy)

Sets the default GUID policy. This determines what should be done if identical GUIDs are imported.

◆ setGuidPolicy() [2/2]

void Core::setGuidPolicy ( const Base::String suffix,
const Base::GlobalId_Policy policy 
)

Sets the GUID policy for a file suffix. This determines what should be done if identical GUIDs are imported from files with this suffix.

◆ setImportedIFCFile()

void Core::setImportedIFCFile ( QString  a)

◆ setMaxUndoStackSize()

void Core::setMaxUndoStackSize ( unsigned int  UndoMaxStackSize = 20)

Set the Undo limit as stack size.

◆ setOnSaveChangeToDefaultUser()

void Core::setOnSaveChangeToDefaultUser ( bool  onoff)

If true: Change to default user on next change. Usually from IFC User to Lexocad User.

◆ setSaveBlocksUntilFinished()

void Core::setSaveBlocksUntilFinished ( bool  onoff)

If true, saving will block until the whole save is finished and file is ready.

◆ setStatusBits()

void Core::setStatusBits ( Status  pos,
bool  on 
)

set the status bits

◆ setTransactionMode()

void Core::setTransactionMode ( int  iMode)

switch the transaction mode

◆ setUndoLimit()

void Core::setUndoLimit ( unsigned int  UndoMemSize = 0)

Set the Undo limit in Byte!

◆ setUndoMode()

void Core::setUndoMode ( int  iMode)

switch the level of Undo/Redo

◆ storeDirectory()

virtual void Core::storeDirectory ( const QString &  ,
Base::AbstractWriter  
)
protectedvirtual

Stores directory at given path to zip stream.

◆ subject_name()

virtual const char* Core::subject_name ( void  )
virtual

◆ test_graph()

void Core::test_graph ( )

◆ testStatusBits()

bool Core::testStatusBits ( Status  pos) const

return the status bits

◆ undo()

bool Core::undo ( int  id = 0)

Will UNDO one step, returns False if no undo was done (Undos == 0).

◆ waitForSaveIsFinished()

void Core::waitForSaveIsFinished ( )
protected

Saving runs in Threads, wait for finish.

◆ ~CoreDocument()

virtual Core::~CoreDocument ( )
protectedvirtual

Variable Documentation

◆ _all_objects_map

ObjectMap Core::_all_objects_map
protected

◆ _all_objects_vector

ObjectVector Core::_all_objects_vector
protected

◆ _graph

ObjectGraph* Core::_graph
protected

◆ _guid_map

std::map<Base::GlobalId, Core::DocObject*> Core::_guid_map
protected

◆ _hasErrorObjectsInRecompute

bool Core::_hasErrorObjectsInRecompute = false
protected

◆ _ifcId_map

std::map<long, Core::DocObject*> Core::_ifcId_map
protected

◆ _immutableObjectsMap

ObjectTypeMap Core::_immutableObjectsMap
protected

◆ _needRestoreBeforeRecompute

bool Core::_needRestoreBeforeRecompute = false
protected

◆ _recomputeCnt

size_t Core::_recomputeCnt = 0
protected

◆ _references

std::set<Core::DocObject*> Core::_references
protected

◆ _relGraph

RelGraph* Core::_relGraph
protected

◆ _relGraphBackLink

RelGraph* Core::_relGraphBackLink
protected

◆ _state

DocumentState Core::_state
protected

◆ _typeObjects

ObjectTypeMap Core::_typeObjects
protected

◆ LEXOCAD_CORE_MSGID

const int Core::LEXOCAD_CORE_MSGID = 1000

◆ mSolvingEnabled

bool Core::mSolvingEnabled = true
protected

◆ signalBeforeChangeObject

boost::signals2::signal<void(const Core::DocObject&, const Core::Property&)> Core::signalBeforeChangeObject

signal before changing an Object

◆ signalBeforeRecompute

boost::signals2::signal<void()> Core::signalBeforeRecompute

Signals before recompute.

◆ signalChangedObject

boost::signals2::signal<void(const Core::DocObject&, const Core::Property&)> Core::signalChangedObject

signal on changed Object

◆ signalDefectLinks

boost::signals2::signal<void(const std::vector<std::pair<const Core::DocObject*, const Core::DocObject*>>&)> Core::signalDefectLinks

Signals defect links from object1 to object2.

◆ signalDeletedObject

boost::signals2::signal<void(const Core::DocObject&)> Core::signalDeletedObject

signal on deleted Object

◆ signalDocChanges

boost::signals2::signal<void(Core::DocChanges&)> Core::signalDocChanges

Signals DocChanges (To be removed)

◆ signalNewFile

boost::signals2::signal<void()> Core::signalNewFile

Signals new file.

◆ signalNewObject

boost::signals2::signal<void(const Core::DocObject&)> Core::signalNewObject

signal on new Object

◆ signalRecomputed

boost::signals2::signal<void(const std::vector<Core::DocObject*>&, const std::vector<Core::DocObject*>&,const std::vector<Core::DocObject*>&)> Core::signalRecomputed

Signals NewObjects, UpdatedObjects, DeletedObjects being recomputed.

◆ signalRecomputedErrorObjects

boost::signals2::signal<void(const std::map<Core::DocObject*, std::vector<std::string>>&)> Core::signalRecomputedErrorObjects

Signals recomputed error DocObjects.

◆ signalRecomputeError

boost::signals2::signal<void()> Core::signalRecomputeError

Signals a recompute error.

◆ version

LX_CORE_EXPORT Version& Core::version