rfm2  22.0
A python-based rewrite of RenderMan for Maya
rfm2.maya_node.MayaPxrNode Class Reference
+ Inheritance diagram for rfm2.maya_node.MayaPxrNode:
+ Collaboration diagram for rfm2.maya_node.MayaPxrNode:

Public Member Functions

def __init__ (self)
 
def __del__ (self)
 
def postConstructor (self)
 
def getFilesToArchive (self, shortName, unresolvedName, markCouldBeImageSequence)
 
def shouldSave (self, plug)
 
def compute (self, plug, block)
 
def legalConnection (self, plug, other_plug, as_src)
 
def validate_connection (self, src_plug, dst_plug)
 

Static Public Member Functions

def creator ()
 
def initialize ()
 
def about_to_delete_cb (mobj, dgmod, data)
 
def ramp_changed_cb (msg, plg, otherPlug, data)
 

Public Attributes

 node_callbacks
 

Static Public Attributes

 typeName = None
 
 nodeId = None
 
 desc = None
 

Detailed Description

Base class for all RFM-generated nodes.

Attributes:
    desc (RfmNodeDesc): The full node description.
    nodeId (MTypeId): The node's unique id.
    typeName (str): The future maya node type name.

Constructor & Destructor Documentation

◆ __init__()

def rfm2.maya_node.MayaPxrNode.__init__ (   self)
Mandatory class initialisation.

◆ __del__()

def rfm2.maya_node.MayaPxrNode.__del__ (   self)
+ Here is the call graph for this function:

Member Function Documentation

◆ about_to_delete_cb()

def rfm2.maya_node.MayaPxrNode.about_to_delete_cb (   mobj,
  dgmod,
  data 
)
static
This is called by MNodeMessage.addNodeAboutToDeleteCallback(). This
is a workaround for the absence of MPxNode.setExistWithoutInConnections()
in the python v2 API. The goal is to severe outgoing connections from
this node before it is actually deleted by maya to make sure downstream
nodes are not deleted too.

Args:
- mobj (MObject): The node about to be deleted
- dgmod (MDGModifier): A modifier provided by maya to ensure proper undo/redo.
- data (None): Arbitrary user data. Un-used.

◆ compute()

def rfm2.maya_node.MayaPxrNode.compute (   self,
  plug,
  block 
)
We may use this later to send edits more reliably to the renderer.

◆ creator()

def rfm2.maya_node.MayaPxrNode.creator ( )
static
This will be superseded by the dynamic class.

◆ getFilesToArchive()

def rfm2.maya_node.MayaPxrNode.getFilesToArchive (   self,
  shortName,
  unresolvedName,
  markCouldBeImageSequence 
)
Maya API method
+ Here is the call graph for this function:

◆ initialize()

def rfm2.maya_node.MayaPxrNode.initialize ( )
static
This will be superseded by the dynamic class.

◆ legalConnection()

def rfm2.maya_node.MayaPxrNode.legalConnection (   self,
  plug,
  other_plug,
  as_src 
)
+ Here is the call graph for this function:

◆ postConstructor()

def rfm2.maya_node.MayaPxrNode.postConstructor (   self)
Maya API method
+ Here is the call graph for this function:

◆ ramp_changed_cb()

def rfm2.maya_node.MayaPxrNode.ramp_changed_cb (   msg,
  plg,
  otherPlug,
  data 
)
static
We are now using Maya's compound attributes, so we need to make sure
it is properly configured to reflect our ramp implementation
limitations, i.e. spline interpolation method is the same for all knots
and knots are sorted.
To avoid triggering infinite recursive evaluations, we rely on
MDataHandle to set plug values.
+ Here is the call graph for this function:

◆ shouldSave()

def rfm2.maya_node.MayaPxrNode.shouldSave (   self,
  plug 
)
This is called for each node plug before saving the scene file.
Make sure we always save arrays to maya scenes.

◆ validate_connection()

def rfm2.maya_node.MayaPxrNode.validate_connection (   self,
  src_plug,
  dst_plug 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ desc

rfm2.maya_node.MayaPxrNode.desc = None
static

◆ node_callbacks

rfm2.maya_node.MayaPxrNode.node_callbacks

◆ nodeId

rfm2.maya_node.MayaPxrNode.nodeId = None
static

◆ typeName

rfm2.maya_node.MayaPxrNode.typeName = None
static

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