Go to the documentation of this file.
2 #include <LxIfc4/IFC4_impl/LxIfc4EntityEnums.h>
19 class ObjectDefinition;
52 static std::vector<std::shared_ptr<Product>>
aProducts(
const std::vector<App::Product*> aProduct);
53 static std::shared_ptr<Product>
aProduct(App::Product* aProduct);
55 static std::vector<std::shared_ptr<Element>>
aElements(
const std::vector<App::Element*> aElem);
56 static std::vector<std::shared_ptr<Element>>
aElements(std::unordered_set<App::Element*> aElems);
57 static std::shared_ptr<Element>
aElement(App::Element* aElem);
60 static std::shared_ptr<Geometry>
aGeometry(App::Geometry* aGeom);
61 static std::shared_ptr<ProfileDef>
aProfile(Part::ProfileDef* aProfileDef);
64 static std::shared_ptr<Object>
aObject(App::Object* aObj);
65 static std::shared_ptr<Process>
aProcess(App::Process* aProcess);
66 static std::shared_ptr<Root>
aRoot(App::Root* aObj);
67 static std::shared_ptr<Task>
aTask(App::Task* aTask);
68 static std::shared_ptr<MaterialSelect>
aMaterialSelect(App::MaterialSelect* aMatSel);
70 template <
typename OpenLxClass>
73 return OpenLxClass::createIn(_doc);
76 template <
typename OpenLxClass>
77 static std::shared_ptr<OpenLxClass>
aObject(std::shared_ptr<Document> aDoc)
79 return OpenLxClass::createIn(aDoc);
87 static std::shared_ptr<Product> _createProduct(LxIfc4::LxIfc4EntityEnum aType, App::Product* aProduct, std::shared_ptr<Document> aDoc);
89 std::shared_ptr<Document> _doc;
Definition: ActiveScript.h:10
static std::shared_ptr< Task > aTask(App::Task *aTask)
Definition: CoreDocument.h:269
static std::vector< std::shared_ptr< Element > > aElements(const std::vector< App::Element * > aElem)
static std::shared_ptr< Root > aRoot(App::Root *aObj)
static std::vector< std::shared_ptr< Product > > aProducts(const std::vector< App::Product * > aProduct)
DocObjectFactory(std::shared_ptr< Document > aDoc)
static std::shared_ptr< ProfileDef > aProfile(Part::ProfileDef *aProfileDef)
std::shared_ptr< Element > aTmpElement()
static LxIfc4::LxIfc4EntityEnum getEntityTypeFromTypeName(const std::string &aType)
static std::shared_ptr< Object > aObject(App::Object *aObj)
Definition: DocObjectFactory.h:24
DocObjectFactory to create DocObjects.
Definition: DocObjectFactory.h:44
static std::shared_ptr< DocObject > aDocObject(Core::DocObject *aObj)
static std::shared_ptr< Process > aProcess(App::Process *aProcess)
Definition: DocObject.h:54
Document holding all persistent DocObjects.
Definition: Document.h:62
static std::vector< std::shared_ptr< Element > > aElements(std::unordered_set< App::Element * > aElems)
static std::shared_ptr< MaterialSelect > aMaterialSelect(App::MaterialSelect *aMatSel)
Definition: DocObjectFactory.h:25
static std::shared_ptr< Geometry > aGeometry(App::Geometry *aGeom)
static std::shared_ptr< OpenLxClass > aObject(std::shared_ptr< Document > aDoc)
Definition: DocObjectFactory.h:77
DocObjectFactory(App::Document *aDoc)
std::shared_ptr< OpenLxClass > aObject()
Definition: DocObjectFactory.h:71
static std::shared_ptr< Element > aElement(App::Element *aElem)
static std::shared_ptr< ObjectDefinition > aObjectDefinition(App::ObjectDefinition *aObj)
static std::shared_ptr< Product > aProduct(App::Product *aProduct)