Class PdfType3Function
This class represents Pdf type 3 function that defines a stitching of the subdomains of several 1-input functions to produce a single new 1-input function.
public class PdfType3Function : AbstractPdfFunction<PdfDictionary>, IPdfFunction
- Inheritance
-
PdfType3Function
- Implements
- Inherited Members
Remarks
This class represents Pdf type 3 function that defines a stitching of the subdomains of several 1-input functions to produce a single new 1-input function.
For more info see ISO 32000-1, section 7.10.4 "Type 3 (Stitching) Functions".Constructors
PdfType3Function(double[], double[], IList<AbstractPdfFunction<PdfDictionary>>, double[], double[])
(see ISO-320001 Table 41).
public PdfType3Function(double[] domain, double[] range, IList<AbstractPdfFunction<PdfDictionary>> functions, double[] bounds, double[] encode)
Parameters
domain
double[]the valid input domain, input will be clipped to this domain contains a min max pair per input component
range
double[]the valid output range, oputput will be clipped to this range contains a min max pair per output component
functions
IList<AbstractPdfFunction<PdfDictionary>>The list of functions to stitch
bounds
double[](Required) An array of k − 1 numbers that, in combination with Domain, shall define the intervals to which each function from the Functions array shall apply. Bounds elements shall be in order of increasing value, and each value shall be within the domain defined by Domain.
encode
double[](Required) An array of 2 × k numbers that, taken in pairs, shall map each subset of the domain defined by Domain and the Bounds array to the domain of the corresponding function.
PdfType3Function(float[], float[], IList<AbstractPdfFunction<PdfDictionary>>, float[], float[])
(see ISO-320001 Table 41).
public PdfType3Function(float[] domain, float[] range, IList<AbstractPdfFunction<PdfDictionary>> functions, float[] bounds, float[] encode)
Parameters
domain
float[]the valid input domain, input will be clipped to this domain contains a min max pair per input component
range
float[]the valid output range, oputput will be clipped to this range contains a min max pair per output component
functions
IList<AbstractPdfFunction<PdfDictionary>>The list of functions to stitch
bounds
float[](Required) An array of k − 1 numbers that, in combination with Domain, shall define the intervals to which each function from the Functions array shall apply. Bounds elements shall be in order of increasing value, and each value shall be within the domain defined by Domain.
encode
float[](Required) An array of 2 × k numbers that, taken in pairs, shall map each subset of the domain defined by Domain and the Bounds array to the domain of the corresponding function.
PdfType3Function(PdfDictionary)
Instantiates a new PdfType3Function instance based on passed PdfDictionary instance.
public PdfType3Function(PdfDictionary dict)
Parameters
dict
PdfDictionarythe function dictionary
Methods
Calculate(double[])
public override double[] Calculate(double[] input)
Parameters
input
double[]
Returns
- double[]
CheckCompatibilityWithColorSpace(PdfColorSpace)
public override bool CheckCompatibilityWithColorSpace(PdfColorSpace alternateSpace)
Parameters
alternateSpace
PdfColorSpace
Returns
GetBounds()
An array of k − 1 numbers that, in combination with Domain, shall define the intervals to which each function from the Functions array shall apply.
public virtual double[] GetBounds()
Returns
- double[]
the bounds
Remarks
An array of k − 1 numbers that, in combination with Domain, shall define the intervals to which each function from the Functions array shall apply. Bounds elements shall be in order of increasing value, and each value shall be within the domain defined by Domain.
(see ISO-320001 Table 41)GetEncode()
An array of 2 × k numbers that, taken in pairs, shall map each subset of the domain defined by Domain and the Bounds array to the domain of the corresponding function.
public virtual double[] GetEncode()
Returns
- double[]
the encode values
Remarks
An array of 2 × k numbers that, taken in pairs, shall map each subset of the domain defined by Domain and the Bounds array to the domain of the corresponding function.
(see ISO-320001 Table 41)GetFunctions()
(Required) An array of k 1-input functions that shall make up the stitching function.
public virtual ICollection<IPdfFunction> GetFunctions()
Returns
- ICollection<IPdfFunction>
the list of functions
Remarks
(Required) An array of k 1-input functions that shall make up the stitching function. The output dimensionality of all functions shall be the same, and compatible with the value of Range if Range is present.
(see ISO-320001 Table 41)GetOutputSize()
Gets output size of function.
public override int GetOutputSize()
Returns
- int
output size of function
Remarks
Gets output size of function.
If Range field is absent, the output size of functions will be returned.SetBounds(double[])
(Required) An array of k − 1 numbers that, in combination with Domain, shall define the intervals to which each function from the Functions array shall apply.
public virtual void SetBounds(double[] value)
Parameters
value
double[]the new set of bounds
Remarks
(Required) An array of k − 1 numbers that, in combination with Domain, shall define the intervals to which each function from the Functions array shall apply. Bounds elements shall be in order of increasing value, and each value shall be within the domain defined by Domain.
(see ISO-320001 Table 41)SetEncode(double[])
(Required) An array of 2 × k numbers that, taken in pairs, shall map each subset of the domain defined by Domain and the Bounds array to the domain of the corresponding function.
public virtual void SetEncode(double[] value)
Parameters
value
double[]the new set of encodings
Remarks
(Required) An array of 2 × k numbers that, taken in pairs, shall map each subset of the domain defined by Domain and the Bounds array to the domain of the corresponding function.
(see ISO-320001 Table 41)SetFunctions(IEnumerable<AbstractPdfFunction<PdfDictionary>>)
(Required) An array of k 1-input functions that shall make up the stitching function.
public virtual void SetFunctions(IEnumerable<AbstractPdfFunction<PdfDictionary>> value)
Parameters
value
IEnumerable<AbstractPdfFunction<PdfDictionary>>the list of functions
Remarks
(Required) An array of k 1-input functions that shall make up the stitching function. The output dimensionality of all functions shall be the same, and compatible with the value of Range if Range is present.
(see ISO-320001 Table 41)