CombineOp

Description

enum Tinman.Terrain.Pyramids.CombineOp

Defines how to combine two TileDataResult values.

Public / Constants

Union

public constant Union → (0:int32)

Computes the union of the results (first combined with second).

The following table shows the combinations for this function (header row := first result, header column := second result):

      | Error | Void  | Ok    | Empty |
------+-------+-------+-------+-------+
Error | Error | Error | Error | Error |
------+-------+-------+-------+-------+
Void  | Error | Void  | Ok #1 | Empty |
------+-------+-------+-------+-------+
Ok    | Error | Ok #2 | Ok #3 | Ok #2 |
------+-------+-------+-------+-------+
Empty | Error | Empty | Ok #1 | Empty |
------+-------+-------+-------+-------+

In case #1, the first result is used.
In case #2, the second result is used.
In case #3, the both results are combined using the specified ColorOp.

Intersection

public constant Intersection → (1:int32)

Computes the intersection of the results (first combined with second).

The following table shows the combinations for this function (header row := first result, header column := second result):

      | Error | Void  | Ok    | Empty |
------+-------+-------+-------+-------+
Error | Error | Error | Error | Error |
------+-------+-------+-------+-------+
Void  | Void  | Void  | Void  | Void  |
------+-------+-------+-------+-------+
Ok    | Error | Void  | Ok #3 | Ok #2 |
------+-------+-------+-------+-------+
Empty | Error | Void  | Ok #1 | Empty |
------+-------+-------+-------+-------+

In case #1, the first result is used.
In case #2, the second result is used.
In case #3, the both results are combined using the specified ColorOp.
If the second result is TileDataResult.Empty and the color operation is ColorOp.Mul, the first result is ignored.