2 #include <LxIfc4/IFC4_impl/LxIfc4EntityEnums.h> 18 class ObjectDefinition;
51 static std::vector<std::shared_ptr<Product>> aProducts(
const std::vector<App::Product*> aProduct);
52 static std::shared_ptr<Product> aProduct(App::Product* aProduct);
54 static std::vector<std::shared_ptr<Element>> aElements(
const std::vector<App::Element*> aElem);
55 static std::vector<std::shared_ptr<Element>> aElements(std::unordered_set<App::Element*> aElems);
56 static std::shared_ptr<Element> aElement(App::Element* aElem);
58 std::shared_ptr<Element> aTmpElement();
59 static std::shared_ptr<Geometry> aGeometry(App::Geometry* aGeom);
60 static std::shared_ptr<ProfileDef> aProfile(Part::ProfileDef* aProfileDef);
62 static std::shared_ptr<ObjectDefinition> aObjectDefinition(App::ObjectDefinition* aObj);
63 static std::shared_ptr<Object> aObject(App::Object* aObj);
64 static std::shared_ptr<Root> aRoot(App::Root* aObj);
65 static std::shared_ptr<MaterialSelect> aMaterialSelect(App::MaterialSelect* aMatSel);
67 template <
typename OpenLxClass>
70 return OpenLxClass::createIn(_doc);
73 template <
typename OpenLxClass>
74 static std::shared_ptr<OpenLxClass>
aObject(std::shared_ptr<Document> aDoc)
76 return OpenLxClass::createIn(aDoc);
79 static LxIfc4::LxIfc4EntityEnum getEntityTypeFromTypeName(
const std::string& aType);
84 static std::shared_ptr<Product> _createProduct(LxIfc4::LxIfc4EntityEnum aType, App::Product* aProduct, std::shared_ptr<Document> aDoc);
86 std::shared_ptr<Document> _doc;
Definition: DocObjectFactory.h:22
Definition: DocObjectFactory.h:24
Definition: CoreDocument.h:210
Document holding all persistent DocObjects.
Definition: Document.h:60
DocObjectFactory to create DocObjects.
Definition: DocObjectFactory.h:42
Definition: ActiveScript.h:7
static std::shared_ptr< OpenLxClass > aObject(std::shared_ptr< Document > aDoc)
Definition: DocObjectFactory.h:74
std::shared_ptr< OpenLxClass > aObject()
Definition: DocObjectFactory.h:68
Definition: DocObject.h:51