Exemple #1
0
    public void AddGizmoRight(Gizmo gizmo)
    {
        if (!(gizmo is GizmoRight))
        {
            return;
        }
        GizmoRight gizmoRight = (GizmoRight)gizmo;

        GameObject gizmoObject = new GameObject("right");

        gizmoObject.transform.SetParent(gizmoWrapper.transform);

        RightBehaviour rightBehaviour = gizmoObject.AddComponent <RightBehaviour>();

        rightBehaviour.Init(geoCamera);

        CornerRefer corner = gizmoRight.corner;
        Vector3     origin = geometry.UnitVector(corner.id2);
        Vector3     dir1   = geometry.Direction(corner.id2, corner.id1);
        Vector3     dir2   = geometry.Direction(corner.id2, corner.id3);

        rightBehaviour.SetData(origin, dir1, dir2);

        gizmoMap.Add(gizmoRight, rightBehaviour);
    }
Exemple #2
0
    public override void InitWithGeometry(Geometry geometry)
    {
        VertexUnit unit1 = geometry.VertexUnit(vertex.id);

        int count = face.ids.Length;

        VertexUnit[] faceUnits = new VertexUnit[count];
        for (int i = 0; i < count; i++)
        {
            faceUnits[i] = geometry.VertexUnit(face.ids[i]);
        }

        VertexPlaneVertical unit2 = new VertexPlaneVertical(unit1, faceUnits);

        unit2.preferredSign = sign;
        geometry.VertexUnitSetId(unit2, 0);

        units = new VertexUnit[] { unit2 };


        GizmoRight gizmoRight = new GizmoRight(vertex.id, unit2.id, faceUnits[0].id);

        gizmos = new Gizmo[] { gizmoRight };

        GeoVertex geoVertex = new GeoVertex(unit2);
        GeoEdge   geoEdge   = new GeoEdge(unit1, unit2);

        elements = new GeoElement[] { geoVertex, geoEdge };


        dependencies.AddRange(faceUnits);
        dependencies.Add(unit1);
    }
    public override void InitWithGeometry(Geometry geometry)
    {
        VertexUnit unit1 = geometry.VertexUnit(vertex.id);
        VertexUnit unit2 = geometry.VertexUnit(edge.id1);
        VertexUnit unit3 = geometry.VertexUnit(edge.id2);

        VertexLineVertical unit4 = new VertexLineVertical(unit1, unit2, unit3);

        unit4.preferredSign = sign;
        geometry.VertexUnitSetId(unit4, 0);

        units = new VertexUnit[] { unit4 };


        GizmoRight gizmoRight = new GizmoRight(vertex.id, unit4.id, edge.id2);

        gizmos = new Gizmo[] { gizmoRight };

        GeoVertex geoVertex = new GeoVertex(unit4);
        GeoEdge   geoEdge   = new GeoEdge(unit1, unit4);

        elements = new GeoElement[] { geoVertex, geoEdge };

        dependencies.Add(unit1);
        dependencies.Add(unit2);
        dependencies.Add(unit3);
    }
Exemple #4
0
    public TopTRightCondition(int id1, int id2, int id3) : base(2)
    {
        this.corner = new CornerRefer(id1, id2, id3);

        GizmoRight gizmoRight = new GizmoRight(corner);

        gizmos = new Gizmo[] { gizmoRight };
    }
Exemple #5
0
    public void RemoveGizmoRight(Gizmo gizmo)
    {
        if (!(gizmo is GizmoRight))
        {
            return;
        }
        GizmoRight gizmoRight = (GizmoRight)gizmo;

        RightBehaviour rightBehaviour = (RightBehaviour)gizmoMap[gizmoRight];

        Destroy(rightBehaviour.gameObject);

        gizmoMap.Remove(gizmoRight);
    }
Exemple #6
0
    public void UpdateGizmoRight(Gizmo gizmo)
    {
        if (!(gizmo is GizmoRight))
        {
            return;
        }
        GizmoRight gizmoRight = (GizmoRight)gizmo;

        RightBehaviour rightBehaviour = (RightBehaviour)gizmoMap[gizmoRight];

        CornerRefer corner = gizmoRight.corner;
        Vector3     origin = geometry.UnitVector(corner.id2);
        Vector3     dir1   = geometry.Direction(corner.id2, corner.id1);
        Vector3     dir2   = geometry.Direction(corner.id2, corner.id3);

        rightBehaviour.SetData(origin, dir1, dir2);
    }