コード例 #1
0
        private void CartesianProduct(RelationSymbol returnSymbol, SetSymbol parameterSymbolA, SetSymbol parameterSymbolB,
                                      Func <TriangleMesh, TriangleMesh, bool> operation)
        {
            foreach (var ifcEntityA in parameterSymbolA.Entites)
            {
                var meshA = GetMesh(ifcEntityA);
                if (meshA == null)
                {
                    continue;
                }

                foreach (var ifcEntityB in parameterSymbolB.Entites)
                {
                    var meshB = GetMesh(ifcEntityB);
                    if (meshB == null)
                    {
                        continue;
                    }

                    if (operation(meshA, meshB))
                    {
                        returnSymbol.AddTuple(new[] { ifcEntityA, ifcEntityB });
                    }
                }
            }
        }
コード例 #2
0
 public void SouthStrict(RelationSymbol returnSymbol, SetSymbol parameterSymbolA, SetSymbol parameterSymbolB)
 {
     CartesianProduct(returnSymbol, parameterSymbolA, parameterSymbolB, directionalOperators.SouthOfStrict);
 }
コード例 #3
0
 public void Distance(RelationSymbol returnSymbol, SetSymbol parameterSymbolA, SetSymbol parameterSymbolB)
 {
     CartesianProduct(returnSymbol, parameterSymbolA, parameterSymbolB, directionalOperators.AboveOfRelaxed);
 }
コード例 #4
0
 public void NorthRelaxed(RelationSymbol returnSymbol, SetSymbol parameterSymbolA, SetSymbol parameterSymbolB)
 {
     CartesianProduct(returnSymbol, parameterSymbolA, parameterSymbolB, directionalOperators.NorthOfRelaxed);
 }
コード例 #5
0
 public void Overlap(RelationSymbol returnSymbol, SetSymbol parameterSymbolA, SetSymbol parameterSymbolB)
 {
     CartesianProduct(returnSymbol, parameterSymbolA, parameterSymbolB, overlapOperator.Overlap);
 }
コード例 #6
0
ファイル: DeassociaterOperator.cs プロジェクト: tumcms/QL4BIM
 public void DeassociaterSet(SetSymbol parameterSym1, string[] exAtts, RelationSymbol returnSym)
 {
     Console.WriteLine("Deassociater'ing...");
     returnSym.SetTuples(GetTuplesSet(parameterSym1.Entites, exAtts));
 }
コード例 #7
0
        public void AttributeFilterSet(SetSymbol parameterSym1, PredicateNode predicateNode, SetSymbol returnSym)
        {
            Console.WriteLine("AttributeFilter'ing...");
            var result = parameterSym1.Entites.Where(e => AttributeSetTestLocal(e, predicateNode));

            returnSym.EntityDic = result.ToDictionary(e => e.Id);
        }
コード例 #8
0
ファイル: TPlayer.cs プロジェクト: ystiruk/FieldGames
 protected void OnSetSymbol(TSymbol symbol, int row, int column)
 {
     SetSymbol?.Invoke(symbol, row, column);
 }