Operators are calculators or functions that manipulate (deform) or generate data. They are connected to objects or properties via any number of input and output ports and may also use one or more parameters. Operators read data from their input port(s), taking any parameter values into account, perform the specified calculation and then write the result onto their output port(s) using the operator's Update() method.
Operator ports are organized into groups, for example, the Loft operator takes a main group of at least two input ports connected to NURBS curves and a secondary group consisting of only one output port (the new NURBS mesh generated from the input curves). Using one port group for the curves allows multiple ports of the same type to be passed in as input to the operator. These groupings are generally expressed as connection sets (see ), which essentially describe the operator's requirements when connecting an operator to data nodes in the scene. These connection sets can be found in the Operator Presets reference.
To learn how to create your own FxOperator, see Custom Fx Operators.
Constraints are similar to operators from a user perspective in that they connect manage data between scene elements where one element is affected by the data of another. However, the way they manage this read-write relationship is internally very different from how operators manage it and as such they support their own interface (see the reference documentation for the Constraint object).
For more information on working with Constraints in the Softimage SDK, see Constraints.
You can also build your own custom operators to perform tasks similar to the types listed above or special tasks, such as controlling a particle simulation or populating a UserDataBlob or a Custom Property, etc. For more information, see Custom Operators.
Generators create an object. These include most of the operators available from the GetPrimitive menu, as well as those under Create. Examples include Geometry (primitive), CurveCreation, Loft, NURBS to Mesh, and so on.
For example, the built-in Loft operator takes two or more NURBS curves as input and creates a new NURBS mesh between them. Some of the options that are available on the Loft operator include closing the mesh in U and/or V and changing the subdivisions in U and V. See Generator Operator Presets for a full list of Generator operators and their preset reference.
Topology operators change the geometry, for example, by adding or removing components. These include most of the operators available under Modify. Examples include Curve Shift, Insert Surface Knot, Subdivide Polygon, and so on.
For example, the built-in SubividePolyOp operator takes one or more polygons as input, split the polygon according to a pattern specified by the user (triangles, diamond, X, or plus) and iterated (multiplied) according to the number specified by the user. See Topology Operator Presets for a full list of Topology operators and their preset reference.
For example, the built-in Twist operator takes an object as input, calculates new positions for the object's geometry and then writes this new data back to the object. This operator provides a number of options for the user to customize the twist deformation (for example, adjusting the angle of deformation). See Deform Operator Presets for a full list of Deformer operators and their preset reference.