Skip to content

Commit

Permalink
Docstrings for PyMaterialXCore. (#1567)
Browse files Browse the repository at this point in the history
Signed-off-by: Stefan Habel <19556655+StefanHabel@users.noreply.github.com>
  • Loading branch information
StefanHabel committed Oct 31, 2023
1 parent 513ef90 commit c9a2469
Show file tree
Hide file tree
Showing 15 changed files with 4,743 additions and 649 deletions.
594 changes: 527 additions & 67 deletions source/PyMaterialX/PyMaterialXCore/PyDefinition.cpp

Large diffs are not rendered by default.

681 changes: 604 additions & 77 deletions source/PyMaterialX/PyMaterialXCore/PyDocument.cpp

Large diffs are not rendered by default.

956 changes: 839 additions & 117 deletions source/PyMaterialX/PyMaterialXCore/PyElement.cpp

Large diffs are not rendered by default.

396 changes: 348 additions & 48 deletions source/PyMaterialX/PyMaterialXCore/PyGeom.cpp

Large diffs are not rendered by default.

579 changes: 505 additions & 74 deletions source/PyMaterialX/PyMaterialXCore/PyInterface.cpp

Large diffs are not rendered by default.

470 changes: 416 additions & 54 deletions source/PyMaterialX/PyMaterialXCore/PyLook.cpp

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion source/PyMaterialX/PyMaterialXCore/PyMaterial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@ void bindPyMaterial(py::module& mod)
{
mod.def("getShaderNodes", &mx::getShaderNodes,
py::arg("materialNode"),
py::arg("nodeType") = mx::SURFACE_SHADER_TYPE_STRING,
py::arg_v("nodeType",
mx::SURFACE_SHADER_TYPE_STRING,
"mx.SURFACE_SHADER_TYPE_STRING"),
py::arg("target") = mx::EMPTY_STRING,
PYMATERIALX_DOCSTRING(R"docstring(
Return a list of all shader nodes connected to the given `materialNode`'s inputs,
Expand All @@ -26,6 +28,9 @@ void bindPyMaterial(py::module& mod)
:param materialNode: The node to examine.
:param nodeType: The shader node type to return. Defaults to the surface shader type.
:param target: An optional target name, which will be used to filter the returned nodes.
:returns: List of shader nodes.
:see: `SURFACE_SHADER_TYPE_STRING`, `DISPLACEMENT_SHADER_TYPE_STRING`,
`VOLUME_SHADER_TYPE_STRING`, `LIGHT_SHADER_TYPE_STRING`
)docstring"));

mod.def("getConnectedOutputs", &mx::getConnectedOutputs,
Expand Down
141 changes: 141 additions & 0 deletions source/PyMaterialX/PyMaterialXCore/PyModule.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,147 @@ PYBIND11_MODULE(PyMaterialXCore, mod)
.. autofunction:: stringStartsWith
.. autofunction:: geomStringsMatch
.. autofunction:: targetStringsMatch
Module Constants
----------------
.. py:data:: DEFAULT_TYPE_STRING
:type: str
:value: "color3"
The name of the default type that is used when no other specific type
is given/available.
:see: `InterfaceElement.addInput()`
:see: `InterfaceElement.addOutput()`
.. py:data:: FILENAME_TYPE_STRING
:type: str
:value: "filename"
:see: `StringResolver.resolve()`
.. py:data:: GEOMNAME_TYPE_STRING
:type: str
:value: "geomname"
:see: `StringResolver.resolve()`
.. py:data:: STRING_TYPE_STRING
:type: str
:value: "string"
.. py:data:: BSDF_TYPE_STRING
:type: str
:value: "BSDF"
.. py:data:: EDF_TYPE_STRING
:type: str
:value: "EDF"
.. py:data:: VDF_TYPE_STRING
:type: str
:value: "VDF"
.. py:data:: SURFACE_SHADER_TYPE_STRING
:type: str
:value: "surfaceshader"
The node type name used for surface shader nodes.
:see: `getShaderNodes()`
.. py:data:: DISPLACEMENT_SHADER_TYPE_STRING
:type: str
:value: "displacementshader"
The node type name used for displacement shader nodes.
:see: `getShaderNodes()`
.. py:data:: VOLUME_SHADER_TYPE_STRING
:type: str
:value: "volumeshader"
The node type name used for volume shader nodes.
:see: `getShaderNodes()`
.. py:data:: LIGHT_SHADER_TYPE_STRING
:type: str
:value: "lightshader"
The node type name used for light shader nodes.
:see: `getShaderNodes()`
.. py:data:: MATERIAL_TYPE_STRING
:type: str
:value: "material"
.. py:data:: SURFACE_MATERIAL_NODE_STRING
:type: str
:value: "surfacematerial"
.. py:data:: VOLUME_MATERIAL_NODE_STRING
:type: str
:value: "volumematerial"
.. py:data:: MULTI_OUTPUT_TYPE_STRING
:type: str
:value: "multioutput"
.. py:data:: NONE_TYPE_STRING
:type: str
:value: "none"
.. py:data:: VALUE_STRING_TRUE
:type: str
:value: "true"
.. py:data:: VALUE_STRING_FALSE
:type: str
:value: "false"
.. py:data:: NAME_PREFIX_SEPARATOR
:type: str
:value: ":"
.. py:data:: NAME_PATH_SEPARATOR
:type: str
:value: "/"
.. py:data:: ARRAY_VALID_SEPARATORS
:type: str
:value: ", "
.. py:data:: ARRAY_PREFERRED_SEPARATOR
:type: str
:value: ", "
.. py:data:: GEOM_PATH_SEPARATOR
:type: str
:value: "/"
.. py:data:: UNIVERSAL_GEOM_NAME
:type: str
:value: GEOM_PATH_SEPARATOR
:see: `GEOM_PATH_SEPARATOR`
:see: `getGeometryBindings()`
.. py:data:: UDIM_TOKEN
:type: str
:value: "<UDIM>"
.. py:data:: UV_TILE_TOKEN
:type: str
:value: "<UVTILE>"
.. py:data:: UDIM_SET_PROPERTY
:type: str
:value: "udimset"
)docstring");

bindPyElement(mod);
Expand Down
Loading

0 comments on commit c9a2469

Please sign in to comment.