| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include <Base/Console.h> |
| | #include <Base/Interpreter.h> |
| | #include <Base/PyObjectBase.h> |
| |
|
| | #include <App/CleanupProcess.h> |
| |
|
| | #include "MaterialLoader.h" |
| | #include "MaterialManagerLocal.h" |
| | #include "ModelManagerLocal.h" |
| | #include "PropertyMaterial.h" |
| | #if defined(BUILD_MATERIAL_EXTERNAL) |
| | #include "ModelManagerExternal.h" |
| | #include "MaterialManagerExternal.h" |
| | #endif |
| |
|
| | #include "Array2DPy.h" |
| | #include "Array3DPy.h" |
| | #include "ModelManagerPy.h" |
| | #include "ModelPropertyPy.h" |
| | #include "ModelPy.h" |
| | #include "UUIDsPy.h" |
| |
|
| | #include "MaterialFilterPy.h" |
| | #include "MaterialFilterOptionsPy.h" |
| | #include "MaterialLibraryPy.h" |
| | #include "MaterialManagerPy.h" |
| | #include "MaterialPropertyPy.h" |
| | #include "MaterialPy.h" |
| |
|
| | namespace Materials |
| | { |
| | class Module: public Py::ExtensionModule<Module> |
| | { |
| | public: |
| | Module() |
| | : Py::ExtensionModule<Module>("Materials") |
| | { |
| | initialize("This module is the Materials module."); |
| | } |
| |
|
| | ~Module() override = default; |
| |
|
| | private: |
| | }; |
| |
|
| | PyObject* initModule() |
| | { |
| | return Base::Interpreter().addModule(new Module); |
| | } |
| |
|
| | } |
| |
|
| | PyMOD_INIT_FUNC(Materials) |
| | { |
| | #ifdef FC_DEBUG |
| | App::CleanupProcess::registerCleanup([]() { |
| | Materials::MaterialManager::cleanup(); |
| | Materials::ModelManager::cleanup(); |
| | }); |
| | #endif |
| | PyObject* module = Materials::initModule(); |
| |
|
| | Base::Console().log("Loading Material module… done\n"); |
| |
|
| | Base::Interpreter().addType(&Materials::Array2DPy::Type, module, "Array2D"); |
| | Base::Interpreter().addType(&Materials::Array3DPy::Type, module, "Array3D"); |
| | Base::Interpreter().addType(&Materials::MaterialFilterPy::Type, module, "MaterialFilter"); |
| | Base::Interpreter().addType(&Materials::MaterialFilterOptionsPy::Type, module, "MaterialFilterOptions"); |
| | Base::Interpreter().addType(&Materials::MaterialLibraryPy::Type, module, "MaterialLibrary"); |
| | Base::Interpreter().addType(&Materials::MaterialManagerPy::Type, module, "MaterialManager"); |
| | Base::Interpreter().addType(&Materials::MaterialPropertyPy::Type, module, "MaterialProperty"); |
| | Base::Interpreter().addType(&Materials::MaterialPy::Type, module, "Material"); |
| | Base::Interpreter().addType(&Materials::ModelManagerPy::Type, module, "ModelManager"); |
| | Base::Interpreter().addType(&Materials::ModelPropertyPy::Type, module, "ModelProperty"); |
| | Base::Interpreter().addType(&Materials::ModelPy::Type, module, "Model"); |
| | Base::Interpreter().addType(&Materials::UUIDsPy::Type, module, "UUIDs"); |
| |
|
| |
|
| | |
| | |
| |
|
| | Materials::Material ::init(); |
| | Materials::MaterialFilter ::init(); |
| | Materials::MaterialFilterOptions ::init(); |
| | Materials::MaterialManager ::init(); |
| | Materials::MaterialManagerLocal ::init(); |
| | Materials::Model ::init(); |
| | Materials::ModelManager ::init(); |
| | #if defined(BUILD_MATERIAL_EXTERNAL) |
| | Materials::MaterialManagerExternal ::init(); |
| | Materials::ModelManagerExternal ::init(); |
| | #endif |
| | Materials::ModelManagerLocal ::init(); |
| | Materials::ModelUUIDs ::init(); |
| |
|
| | Materials::Library ::init(); |
| | Materials::MaterialLibrary ::init(); |
| | Materials::MaterialLibraryLocal ::init(); |
| | Materials::ModelLibrary ::init(); |
| |
|
| | Materials::ModelProperty ::init(); |
| | Materials::MaterialProperty ::init(); |
| |
|
| | Materials::MaterialValue ::init(); |
| | Materials::Array2D ::init(); |
| | Materials::Array3D ::init(); |
| |
|
| | Materials::PropertyMaterial ::init(); |
| | |
| |
|
| | PyMOD_Return(module); |
| | } |
| |
|