Refactored code to support local and external material sources This is the first PR in a series to support external modules. External modules allow materials to be stored in external data sources such as databases or web services. No new functionality is introduced in this PR, rather it is a refactoring of code that will allow for changes to be introduced in future PRs. Minor performance improvements have also been made in the model and material managers. The Python API has been enhanced for many data types to allow for modification within Python.
72 lines
2.6 KiB
XML
72 lines
2.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<GenerateMaterial xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="generateMetaMaterial_Module.xsd">
|
|
<PythonExport
|
|
Father="BaseClassPy"
|
|
Name="MaterialManagerPy"
|
|
Twin="MaterialManager"
|
|
TwinPointer="MaterialManager"
|
|
Include="Mod/Material/App/MaterialManager.h"
|
|
Namespace="Materials"
|
|
FatherInclude="Base/BaseClassPy.h"
|
|
FatherNamespace="Base"
|
|
Constructor="true"
|
|
Delete="false">
|
|
<Documentation>
|
|
<Author Licence="LGPL" Name="DavidCarter" EMail="dcarter@davidcarter.ca" />
|
|
<UserDocu>Material descriptions.</UserDocu>
|
|
</Documentation>
|
|
<Methode Name="getMaterial">
|
|
<Documentation>
|
|
<UserDocu>Get a material object by specifying its UUID</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="getMaterialByPath">
|
|
<Documentation>
|
|
<UserDocu>Get a material object by specifying its path and library name</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="inheritMaterial">
|
|
<Documentation>
|
|
<UserDocu>Create a new material object by specifying the UUID of its parent</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Attribute Name="MaterialLibraries" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>List of Material libraries.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="MaterialLibraries" Type="List"/>
|
|
</Attribute>
|
|
<Attribute Name="Materials" ReadOnly="true">
|
|
<Documentation>
|
|
<UserDocu>List of Materials.</UserDocu>
|
|
</Documentation>
|
|
<Parameter Name="Materials" Type="Dict"/>
|
|
</Attribute>
|
|
<Methode Name="materialsWithModel">
|
|
<Documentation>
|
|
<UserDocu>Get a list of materials implementing the specified model</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="materialsWithModelComplete">
|
|
<Documentation>
|
|
<UserDocu>Get a list of materials implementing the specified model, with values for all properties</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="save" Keyword="true">
|
|
<Documentation>
|
|
<UserDocu>Save the material in the specified library</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="filterMaterials" Keyword="true">
|
|
<Documentation>
|
|
<UserDocu>Returns a filtered material list</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
<Methode Name="refresh">
|
|
<Documentation>
|
|
<UserDocu>Refreshes the material tree. Use sparingly as this is an expensive operation.</UserDocu>
|
|
</Documentation>
|
|
</Methode>
|
|
</PythonExport>
|
|
</GenerateMaterial>
|