Instantiate a
PlanarImage
that computes the result of this
RenderedOp
. The local
OperationRegistry
of this node is used to translate the operation name into a
RenderedImageFactory
and eventually an actual
RenderedImage
(usually an
OpImage
).
During this method, all the sources supplied in the ParameterBlock
are checked. If any of the sources is a RenderedOp
, a rendering of that source is created. This propagates all the way up to the top of the op chain. If any of the sources is a Collection
, then the collection is passed to the operation as-is. If there is a RenderedOp
anywhere in the collection, it is up to the individual operation to create the rendering for that RenderedOp
.
This method does not validate the sources and parameters stored in the ParameterBlock
against the specification of the operation this node represents. It is the responsibility of the caller to ensure that the data in the ParameterBlock
are suitable for this operation. Otherwise, some kind of exception or error will occur.
Invoking this method will cause any source RenderedOp
nodes to be rendered using getRendering()
and any source CollectionOp
nodes to be rendered using getCollection()
. Any DeferredData
parameters in the ParameterBlock
will also be evaluated.
The RenderedImage
generated by the selected RenderedImageFactory
will be converted to a PlanarImage
by invoking PlanarImage.wrapRenderedImage()
.
@return The resulting image as a PlanarImage
.
@throws RuntimeException if the image factory charged with renderingthe node is unable to create a rendering.