Writing Pipeline Compatible Objects
 
 
 

The simplest way to design a new plug-in object so that it can flow through the pipeline is to allow it to be converted to one of the commonly supported pipeline objects such as TriObject. For more information see Converting Object Types.

Most of the methods an object must implement for pipeline compatibility relate to minimizing processing overhead when the object is flowing through the pipeline. To be as efficient as possible, the system avoids unnecessary copying of objects in the pipeline and keeps track of which channels modifiers request to deep copy only those channels and perform a shallow copy of the others. For more information see Channel Copying.

Typically all objects with geometry that flow through the pipeline should be able to convert themselves to a triangular mesh (TriObject), but this is not a hard and fast rule. It is conceivable that an object can flow through the pipeline and only support conversion to a NURBS object for example. However, it makes sense to allow your objects to convert to a mesh so that they can work with a wide number of modifiers.

Channel Copying and Allocation Methods

The following methods must be implemented by an object that is intended to flow natively (without conversion) through the pipeline:

Interval Validity Methods

The following methods must be implemented by an object that is intended to flow natively (without conversion) through the pipeline: