14 if (entity->block() !=
nullptr) {
21 entity->block()->name(),
26 it->second.insert(entity);
52 return metaDataTypeByName<Layer>(layerName);
56 return metaDataTypeByName<DxfLinePatternByValue>(linePatternName);
60 std::map<std::string, Layer_CSPtr> data;
62 Layer_CSPtr layer = std::dynamic_pointer_cast<
const Layer>(iter.second);
63 if (layer !=
nullptr) {
64 data.emplace(std::make_pair(layer->name(), layer));
94 if (oldDmt->id() == newDmt->id()) {
102 std::map<std::string, DocumentMetaType_CSPtr, StringHelper::cmpCaseInsensetive>
110 return search->second;
119 catch (std::out_of_range& e) {
DocumentMetaType_CSPtr _metaDataTypeByName(const std::string &id) const override
DxfLinePatternByValue_CSPtr linePatternByName(const std::string &linePatternName) const override
returns line pattern By Name
std::map< std::string, DocumentMetaType_CSPtr, StringHelper::cmpCaseInsensetive > _documentMetaData
virtual ~StorageManagerImpl()
void insertEntity(entity::CADEntity_CSPtr) override
insertEntity
EntityContainer< entity::CADEntity_CSPtr > _entities
Layer_CSPtr layerByName(const std::string &layerName) const override
returns layer By Name
std::map< std::string, DocumentMetaType_CSPtr, lc::StringHelper::cmpCaseInsensetive > allMetaTypes() const override
EntityContainer entitiesByLayer(const Layer_CSPtr layer) const
findEntitiesByLayer Return a entities container with all entities from a specific layer ...
std::map< std::string, Layer_CSPtr > allLayers() const override
return all Layers
void optimise() override
optimise the quadtree
void optimise()
optimise this container
void removeDocumentMetaType(DocumentMetaType_CSPtr dmt) override
remove a document meta type from the document
void remove(CT entity)
remove an Entity from the document.
EntityContainer< entity::CADEntity_CSPtr > & entityContainer() override
returns entity Container
void replaceDocumentMetaType(DocumentMetaType_CSPtr oldDmt, DocumentMetaType_CSPtr newDmt) override
remove document meta type
lc::EntityContainer< entity::CADEntity_CSPtr > entitiesByBlock(Block_CSPtr block) const override
lc::EntityContainer< entity::CADEntity_CSPtr > entitiesByLayer(const Layer_CSPtr layer) const override
Returns entities By Layer.
entity::CADEntity_CSPtr entityByID(ID_DATATYPE id) const override
return entity By ID
void addDocumentMetaType(DocumentMetaType_CSPtr dmt) override
add a document meta type
void insertEntityContainer(const EntityContainer< entity::CADEntity_CSPtr > &) override
insertEntityContainer
std::map< std::string, lc::EntityContainer< entity::CADEntity_CSPtr > > _blocksEntities
StorageManagerImpl()
Entity manager implementor.
void removeEntity(entity::CADEntity_CSPtr) override
remove Entity from the container
void combine(const EntityContainer &entities)
Add all entities to this container Any entity that already exists will get replaced.
void insert(CT entity)
add an entity to the EntityContainer If the entity already exists, it will be replaced ...
CT entityByID(ID_DATATYPE id) const
entityByID return a entity by it's id, return's a empty shared ptr when not found ...