I've done multiple output ports. In essence the _update callback becomes a loop where each invocation is dedicated to a specific output port of the operator. You merely have to put some logic at the top to branch into the different paths based on which output port is being processed in the current call.
For example; Let's say your SCOP has 3 output ports: Position, Rotation, Scale Each time the input ports are dirtied, the SCOP will be called to evaluate. Each time it's called, it's called in a package of three calls to _update(). Your code needs to check the OperatorContext object to determine which output port Softimage is focusing on during the current callback, do the computations, then assign the result to the current output port. If ( oOperatorContext.OutputPort.Name == "Position" ) { // oOutputPort.Value = <position value> } else if (oOperatorContext.OutputPort.Name == "Rotation" ) { // oOutputPort.Value = <rotation value> } else if ( oOperatorContext.OutputPort.Name == "Scale" ) { // oOutputPort.Value = <scale value> } Basically an operator is a command encapsulated inside a framework where the inputs and outputs are always known. Matt From: softimage-boun...@listproc.autodesk.com [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Steven Caron Sent: Thursday, September 06, 2012 10:20 AM To: softimage@listproc.autodesk.com Subject: Re: SDK : connecting an object to a matrix port on a shader anyone? how about multiple output ports on SCOPs, anyone do that before? s On Wed, Sep 5, 2012 at 1:38 PM, Steven Caron <car...@gmail.com<mailto:car...@gmail.com>> wrote: does anyone have any examples on how to connect an object matrix to a port on a shader using a scop? its been soo long since i have used scops and i am not getting much traction. s