KCMS Application Developer's Guide

KcsCalibrationData

typedef struct KcsCalibrationData_s {
      KcsMeasurementBase aBase;
      union {                    /* Place holder */
            long Pad;
      } oBase;
      union {
           KcsMeasurementSample      patch[KcsExtendableMeasSet];
      } val;
 } KcsCalibrationData;

KcsCalibrationData holds a set of data used by KcsUpdateProfile() to update a profile that has been calibrated or, in the case of scanners, characterized. (For more information on calibration and characterization, see "Characterizing and Calibrating Profiles". Also see the description of the KcsUpdateProfile() function on "KcsUpdateProfile()".

The KcsCalibrationData structure contains aBase, oBase (currently not used) and val.

The field aBase is a KcsMeasurementBase structure. It contains fields that apply to all the calibration measurements.

The field val is a union that may contain a KcsMeasurementSample extendable structure, or some other measurement structure that another CMM may require. The KcsMeasurementSample structure is expected by the default KCMS CMM. (See the detailed description of KcsMeasurementSample on "KcsMeasurementSample".) When your application allocates memory for a KcsCalibrationData structure, it must allocate sufficient memory to extend the KcsMeasurementSample structure so that the structure can contain the number of measurements corresponding to the field countSupplied in the KcsMeasurementBase structure. In addition, the color space of these measurements must correspond to the enumerated values in the inputSpace and outputSpace fields of the KcsMeasurementBase structure. These spaces and the expected range of values for the measurements are defined in Chapter 4, Functions.