KCMS CMM Developer's Guide

Evaluation Helper Methods

KcsXform includes only one pure virtual eval()() method. It is the one with two pixel layouts and a callback as arguments. Other eval()() methods are overloaded in the base KcsXform class to allow other data types to fit a long on each side of the xform, for example,

(long *) -> (long

*)

and

aRGB->aR'G'B'

The base class takes all the overloaded methods and creates a pixel layout for each method. Then it calls the pure virtual method. Therefore, derivatives only need to implement one eval()() method.

When starting an evaluation, the derivative can use any of the helper functions provided for pixel layout usage. The convertLayouts()() method takes any layout and transforms it into any other. If a derivative can only handle chunky, the derivative may want to convert a non-chunky derivative to chunky before the evaluation is started.