Example #1
0
        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));
        }
Example #2
0
        public int Execute(ContainerTest containerTest, int occurance, out bool applicable)
        {
            int rasterIndex = containerTest.GetRasterIndex(RasterReference, occurance);

            applicable = true;
            return(containerTest.Execute(this, rasterIndex));
        }
Example #3
0
        public int Execute(ContainerTest containerTest, int occurance, out bool applicable)
        {
            int index = containerTest.GetTerrainIndex(TerrainReference, occurance);

            applicable = true;
            return(containerTest.Execute(this, index));
        }