Working with Nodes ================== This section documents the various classes and functions that are available for working with nodes in Katana via Python scripting. Introduction to Nodes --------------------- Nodes are the units used in the Katana interface to build the recipe for a Katana project. Nodes feature parameters that can be used to control their behavior. Nodes can be created and connected in Katana's :kat:ui:`Node Graph` tab in the UI, and can also be modified via Python scripting using :py:mod:`NodegraphAPI`. Katana ships with many `built-in types of nodes `_, but :doc:`custom node types` can also be created via Python scripting. There are two major groups of node types shipped with Katana: - `3D nodes `_ that produce scene graph that can be inspected in Katana's :kat:ui:`Scene Graph` tab. 3D nodes and their parameters effectively represent and control corresponding Ops that form Op graphs that are processed by Katana's geometry library (Geolib) to generate the scene data that can be viewed and inspected in Katana's :kat:ui:`Scene Graph` and :kat:ui:`Attributes` tabs. - `2D nodes `_ that produce images that can be viewed in Katana's :kat:ui:`Monitor` tab. [#f1]_ Introduction to NodegraphAPI ---------------------------- .. automodule:: NodegraphAPI :no-members: :synopsis: Python package for working with nodes of a Katana project. Node Base Classes ----------------- .. autoclass:: NodegraphAPI.Node :no-members: .. autoclass:: NodegraphAPI.GroupNode :no-members: Contents of Section ------------------- .. toctree:: CreatingAndRetrievingNodes NodeProperties Parameters/index ConnectingNodes SerializingNodes GroupsAndLiveGroups Contexts ExampleScripts .. rubric:: Footnotes .. [#f1] 2D nodes are a reminder of Katana's historic origins at Sony Pictures Imageworks, where it started its life as a compositing application.