32 virtual Layer_CSPtr
layerByName(
const std::string& layerName)
const = 0;
40 virtual DxfLinePatternByValue_CSPtr
linePatternByName(
const std::string& linePatternName)
const = 0;
45 virtual std::map<std::string, Layer_CSPtr>
allLayers()
const = 0;
71 virtual std::map<std::string, DocumentMetaType_CSPtr, lc::StringHelper::cmpCaseInsensetive>
83 std::string n = T::LCMETANAME();
87 std::string myid = r->id();
88 auto dp = std::dynamic_pointer_cast<
const T>(r);
95 const std::vector<std::shared_ptr<const T>>
metaTypes()
const {
97 std::vector<std::shared_ptr<T>> matches;
100 auto castedMetaType = std::dynamic_pointer_cast<T>(metaType.second);
102 matches.push_back(castedMetaType);
virtual void insertEntityContainer(const EntityContainer< entity::CADEntity_CSPtr > &)=0
virtual std::map< std::string, DocumentMetaType_CSPtr, lc::StringHelper::cmpCaseInsensetive > allMetaTypes() const =0
virtual DxfLinePatternByValue_CSPtr linePatternByName(const std::string &linePatternName) const =0
DxfLinePattern Return a line pattern by name from the document.
virtual EntityContainer< entity::CADEntity_CSPtr > entitiesByLayer(Layer_CSPtr layer) const =0
virtual Layer_CSPtr layerByName(const std::string &layerName) const =0
layer Return a single document layer
virtual void replaceDocumentMetaType(DocumentMetaType_CSPtr oldDmt, DocumentMetaType_CSPtr newDmt)=0
remove document meta type
DECLARE_SHORT_SHARED_PTR(Document)
const std::shared_ptr< const T > metaDataTypeByName(const std::string &name) const
virtual std::map< std::string, Layer_CSPtr > allLayers() const =0
Returns all the layers present in the document.
virtual entity::CADEntity_CSPtr entityByID(ID_DATATYPE id) const =0
virtual DocumentMetaType_CSPtr _metaDataTypeByName(const std::string &id) const
const std::vector< std::shared_ptr< const T > > metaTypes() const
virtual void insertEntity(entity::CADEntity_CSPtr)=0
virtual void removeDocumentMetaType(DocumentMetaType_CSPtr dmt)=0
remove a document meta type from the document
virtual void optimise()=0
optimise the underlaying data store. Run this at a regular base, for example after each task ...
virtual EntityContainer< entity::CADEntity_CSPtr > entitiesByBlock(Block_CSPtr block) const =0
virtual void removeEntity(entity::CADEntity_CSPtr)=0
virtual EntityContainer< entity::CADEntity_CSPtr > & entityContainer()=0
entityContainer return a copy of all entities managed within the storage manager
virtual void addDocumentMetaType(DocumentMetaType_CSPtr dmt)=0
add a document meta type