4 #include <LxIfc4/IFC4_impl/LxIfc4EntityEnums.h> 18 class ObjectDefinition;
46 static std::vector<std::shared_ptr<Product>> aProducts(
const std::vector<App::Product*> aProduct);
47 static std::shared_ptr<Product> aProduct(App::Product* aProduct);
49 static std::vector<std::shared_ptr<Element>> aElements(
const std::vector<App::Element*> aElem);
50 static std::shared_ptr<Element> aElement(App::Element* aElem);
52 std::shared_ptr<Element> aTmpElement();
53 static std::shared_ptr<Geometry> aGeometry(App::Geometry* aGeom);
54 static std::shared_ptr<ProfileDef> aProfile(Part::ProfileDef* aProfileDef);
56 static std::shared_ptr<ObjectDefinition> aObjectDefinition(App::ObjectDefinition* aObj);
57 static std::shared_ptr<Object> aObject(App::Object* aObj);
58 static std::shared_ptr<Root> aRoot(App::Root* aObj);
59 static std::shared_ptr<MaterialSelect> aMaterialSelect(App::MaterialSelect* aMatSel);
61 template <
typename OpenLxClass>
64 return OpenLxClass::createIn(_doc);
67 template <
typename OpenLxClass>
68 static std::shared_ptr<OpenLxClass>
aObject(std::shared_ptr<Document> aDoc)
70 return OpenLxClass::createIn(aDoc);
73 static LxIfc4::LxIfc4EntityEnum getEntityTypeFromTypeName(
const std::string& aType);
78 static std::shared_ptr<Product> _createProduct(LxIfc4::LxIfc4EntityEnum aType, App::Product* aProduct, std::shared_ptr<Document> aDoc);
80 std::shared_ptr<Document> _doc;
Definition: CoreDocument.h:197
Document holding all persistent DocObjects.
Definition: Document.h:62
DocObjectFactory to create DocObjects.
Definition: DocObjectFactory.h:37
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
static std::shared_ptr< OpenLxClass > aObject(std::shared_ptr< Document > aDoc)
Definition: DocObjectFactory.h:68
std::shared_ptr< OpenLxClass > aObject()
Definition: DocObjectFactory.h:62
Definition: DocObject.h:28