コード例 #1
0
    public void Concatenate(MPath path2)
    {
        var list1 = GetPositions();
        var list2 = path2.GetPositions();

        list1.AddRange(list2);
        SetPositions(list1);

        var list1n = line.GetNormals();
        var list2n = path2.line.GetNormals();

        list1n.AddRange(list2n);
        line.SetNormals(list1n);
        Destroy(path2);
        dotTo = path2.dotTo;

        line.SetMesh();
    }
コード例 #2
0
ファイル: Homotopy.cs プロジェクト: mosuem/ariadne
    public void AddCurveToBundle(PathFactory pf, int draggingPosition)
    {
        MPath path;

        if (curveBundle.Count == 0)
        {
            path = path1;
        }
        else
        {
            path = curveBundle[curveBundle.Count - 1];
        }
        if (Vector3.Distance(path.GetPosition(draggingPosition), midPath.GetPosition(draggingPosition)) > Statics.bundleDist)
        {
            MPath newPath = pf.newPath(path1.GetColor(), path1.dotFrom, path1.dotTo);
            newPath.SetPositions(midPath.GetPositions());
            curveBundle.Add(newPath);
        }
    }
コード例 #3
0
ファイル: LevelData.cs プロジェクト: mosuem/ariadne
    public void addPath(MPath path)
    {
        var pathGroup = new List <int> ();

        pathGroup.Add(paths.Count);
        pathHomClasses.Add(pathGroup);

        paths.Add(path);

        Dictionary <int, int> dict = new Dictionary <int, int> ();
        var list = path.GetPositions();

        for (int i = 0; i < statics.Count; i++)
        {
            dict.Add(i, WindingNumber(list, statics[i].transform.position));
        }
        windingNumbersForObstacles.Add(dict);

        ConstructCanonicalPath(path);
        var canstring = "";

        foreach (var num in path.canonicalPath)
        {
            canstring += num + " ";
        }
        Debug.Log("Canonical path " + path.pathNumber + " is: " + canstring);

        for (int i = 0; i < paths.Count - 1; i++)
        {
            CheckIfHomotopic(i, paths.Count - 1);
        }

        if (Statics.showingAlgebra)
        {
            AddPathAlgebra(paths.Count - 1, path);
        }
        Last.Push(MType.Path);
    }