rfm2  22.0
A python-based rewrite of RenderMan for Maya
rfm2.ui.assets_browser.MayaGraph Class Reference
+ Inheritance diagram for rfm2.ui.assets_browser.MayaGraph:
+ Collaboration diagram for rfm2.ui.assets_browser.MayaGraph:

Public Member Functions

def __init__ (self)
 
def node_list (self)
 
def add_node (self, nodename, nodetype=None)
 
def process (self)
 
def serialize (self, Asset)
 
def __str__ (self)
 
def __repr__ (self)
 

Detailed Description

Represents a Maya shading network.

Graph nodes will be stored as represented in the maya DAG.
The graph analysis will :
    - store connectivity infos
    - recognise nodes that need special treatment and process them.

We need to make sure the final asset is host-agnostic enough to be
used in another host. To do so, we decouple the maya DAG from the
prman DAG. Effectively, the json file stores RenderMan's graph
representation. This class will translate from maya to prman.

RfM applies special treatment to a number of nodes :
- Native maya nodes are translated to PxrMaya* nodes.
- Some nodes are ignored (unitConversion, etc).
- Some nodes are translated into more than one node.
    - place3dTexture translates to 2 nodes : PxrMayaPlacement3d and
    a scoped coordinate system.
- Some connections (float->color, etc) are created by inserting an
additionnal node in the graph (PxrToFloat3, PxrToFloat).
It is safer to handle these exceptions once the graph has been
parsed.

Constructor & Destructor Documentation

◆ __init__()

def rfm2.ui.assets_browser.MayaGraph.__init__ (   self)

Member Function Documentation

◆ __repr__()

def rfm2.ui.assets_browser.MayaGraph.__repr__ (   self)

◆ __str__()

def rfm2.ui.assets_browser.MayaGraph.__str__ (   self)
+ Here is the caller graph for this function:

◆ add_node()

def rfm2.ui.assets_browser.MayaGraph.add_node (   self,
  nodename,
  nodetype = None 
)
+ Here is the call graph for this function:

◆ node_list()

def rfm2.ui.assets_browser.MayaGraph.node_list (   self)

◆ process()

def rfm2.ui.assets_browser.MayaGraph.process (   self)
builds topological information and optionaly inserts floatToFloat3
or float3ToFloat nodes when necessary.
+ Here is the call graph for this function:

◆ serialize()

def rfm2.ui.assets_browser.MayaGraph.serialize (   self,
  Asset 
)
prepare data for the jason file.

Args:
- Asset (RmanAsset): The asset
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: