public int Execute(ContainerTest containerTest, int occurance, out bool applicable) { IRow row = Row; int involvedTableIndex = containerTest.GetTableIndex(row.Table, occurance); if (containerTest.GetQueriedOnly(involvedTableIndex)) { applicable = false; return(0); } if (!containerTest.CheckConstraint(row, involvedTableIndex)) { applicable = false; return(0); } // constraint is fulfilled if (containerTest.IsOutsideAreaOfInterest(row)) { applicable = false; return(0); } // the test is applicable for the row, run it applicable = true; return(containerTest.Execute(row, involvedTableIndex, RecycleUnique)); }
public int Execute(ContainerTest containerTest, int occurance, out bool applicable) { int rasterIndex = containerTest.GetRasterIndex(RasterReference, occurance); applicable = true; return(containerTest.Execute(this, rasterIndex)); }
public int Execute(ContainerTest containerTest, int occurance, out bool applicable) { int index = containerTest.GetTerrainIndex(TerrainReference, occurance); applicable = true; return(containerTest.Execute(this, index)); }