Class FunctionType3


  • public class FunctionType3
    extends PDFFunction
    3.9.3 - A stitching function define a stitching of the subdomains of several 1-input functions to produce a single new 1-input function. Since the resulting stitching function is a 1-input function, the domain is given by a two-element array, [ Domain0 Domain1 ].
     Example 4.25
     5 0 obj                          % Shading dictionary
      << /ShadingType 3
          /ColorSpace /DeviceCMYK
          /Coords [ 0.0 0.0 0.096 0.0 0.0 1.0 00]% Concentric circles
          /Function 10 0 R
          /Extend [ true true ]
      >>
     endobj
    
     10 0 obj                         % Color function
      << /FunctionType 3
          /Domain [ 0.0 1.0 ]
          /Functions [ 11 0 R 12 0 R ]
          /Bounds [ 0.708 ]
          /Encode [ 1.0 0.0 0.0 1.0 ]
      >>
     endobj
    
     11 0 obj                         % First subfunction
      << /FunctionType 2
          /Domain [ 0.0 1.0 ]
          /C0 [ 0.929 0.357 1.000 0.298 ]
          /C1 [ 0.631 0.278 1.000 0.027 ]
          /N 1.048
      >>
     endobj
    
     12 0 obj                         % Second subfunction
      << /FunctionType 2
          /Domain [ 0.0 1.0 ]
          /C0 [ 0.929 0.357 1.000 0.298 ]
          /C1 [ 0.941 0.400 1.000 0.102 ]
          /N 1.374
      >>
     endobj
     
    • Field Detail

      • samples

        private int[][] samples
        the actual samples, converted to integers. The first index is input values (from 0 to size[m - 1] * size[m - 2] * ... * size[0]), and the second is the output dimension within the sample (from 0 to n)
    • Constructor Detail

      • FunctionType3

        protected FunctionType3()
        Creates a new instance of FunctionType3
    • Method Detail

      • parse

        protected void parse​(PDFObject obj)
                      throws java.io.IOException

        Read the function information from a PDF Object.

        Required entries ( Table 3.38) (3200-1:2008:7.10.4, table: 41) are:

      • Functions array (Required) An array of k 1-input functions making up the stitching function. The output dimensionality of all functions must be the same, and compatible with the value of Range if Range is present.
      • Domainarray (Required) A 2 element array where Domain0 is less than Domain1. This is read by the PDFFunction superclass.
      • Bounds array (Required) An array of k-1 numbers that, in combination with Domain, define the intervals to which each function from the Functions array applies. Bounds elements must be in order of increasing value, and each value must be within the domain defined by >b>Domain.
      • Encode array (Required) An array of 2 * k numbers that, taken in pairs, map each subset of the domain defined by and the Bounds array to the domain of the corresponding function.
Specified by:
parse in class PDFFunction
Throws:
java.io.IOException