Example #1
0
 public virtual Func <Tr> PixCubeMap(PixCubeMap pcm, Func <Tr>[] subArray)
 {
     return(() =>
     {
         var typedOther = Other as PixCubeMap;
         if (typedOther == null)
         {
             throw new ArgumentException();
         }
         var length = subArray.Length;
         if (length != typedOther.PixArray.Length)
         {
             throw new ArgumentException();
         }
         var result = ProductOp.PixCubeMap(pcm, typedOther,
                                           subArray.ProductArray(typedOther.PixArray, length,
                                                                 (fp0, p1) => { Other = p1; return fp0(); }));
         Other = typedOther;
         return result;
     });
 }
Example #2
0
 public Func <PixImage[]> PixCubeMap(PixCubeMap pcm, Func <PixImage[]>[] subArray)
 {
     return(() => { --Level; var subImages = subArray.Map(f => f()); ++Level; return subImages.FlatCopy(); });
 }
Example #3
0
 public virtual int PixCubeMap(PixCubeMap cm0, PixCubeMap cm1, int[] subArray)
 {
     return(subArray.Sum());
 }
Example #4
0
 public int PixCubeMap(PixCubeMap pcm, int[] subArray)
 {
     return(subArray.Sum());
 }
Example #5
0
 public bool PixCubeMap(PixCubeMap pcm0, PixCubeMap pcm1, bool[] subArray)
 {
     return(subArray.FoldLeft(true, (s, b) => s && b));
 }
Example #6
0
 public virtual IPix PixCubeMap(PixCubeMap pcm, params IPix[] subArray)
 {
     return(subArray.AllEqual(pcm.PixArray, (a, b) => a == b)
                     ? pcm : new PixCubeMap(subArray));
 }