Exemplo n.º 1
0
    public void AddGizmoLength(Gizmo gizmo)
    {
        if (!(gizmo is GizmoLength))
        {
            return;
        }
        GizmoLength gizmoLength = (GizmoLength)gizmo;

        GameObject gizmoObject = new GameObject("length");

        gizmoObject.transform.SetParent(gizmoWrapper.transform);

        LengthBehaviour lengthBehaviour = gizmoObject.AddComponent <LengthBehaviour>();

        lengthBehaviour.Init(geoCamera);

        EdgeRefer edge    = gizmoLength.edge;
        Vector3   center  = geometry.Center();
        Vector3   vertex1 = geometry.UnitVector(edge.id1);
        Vector3   vertex2 = geometry.UnitVector(edge.id2);
        float     length  = geometry.EdgeLength(edge.id1, edge.id2);

        lengthBehaviour.SetData(center, vertex1, vertex2, length);

        gizmoMap.Add(gizmoLength, lengthBehaviour);
    }
Exemplo n.º 2
0
    public CuboidLengthCondition(float length)
    {
        this.length = length;

        GizmoLength gizmoLength = new GizmoLength(Cuboid.PNP_A, Cuboid.PNN_D);

        gizmos = new Gizmo[] { gizmoLength };
    }
Exemplo n.º 3
0
    public CuboidWidthCondition(float width)
    {
        this.width = width;

        GizmoLength gizmoLength = new GizmoLength(Cuboid.PNP_A, Cuboid.NNP_B);

        gizmos = new Gizmo[] { gizmoLength };
    }
Exemplo n.º 4
0
    public CuboidHeightCondition(float height)
    {
        this.height = height;

        GizmoLength gizmoLength = new GizmoLength(Cuboid.PNP_A, Cuboid.PPP_E);

        gizmos = new Gizmo[] { gizmoLength };
    }
Exemplo n.º 5
0
    public BottomLengthCondition(int id1, int id2, float length) : base(1)
    {
        this.edge   = new EdgeRefer(id1, id2);
        this.length = length;

        GizmoLength gizmoLength = new GizmoLength(edge);

        gizmos = new Gizmo[] { gizmoLength };
    }
Exemplo n.º 6
0
    public override void InitWithGeometry(Geometry geometry)
    {
        VertexUnit v1 = geometry.VertexUnit(edge.id1);
        VertexUnit v2 = geometry.VertexUnit(edge.id2);

        dependencies = new List <VertexUnit>();
        dependencies.Add(v1);
        dependencies.Add(v2);

        GizmoLength gizmoLength = new GizmoLength(edge);

        gizmos = new Gizmo[] { gizmoLength };
    }
Exemplo n.º 7
0
    public void RemoveGizmoLength(Gizmo gizmo)
    {
        if (!(gizmo is GizmoLength))
        {
            return;
        }
        GizmoLength gizmoLength = (GizmoLength)gizmo;

        LengthBehaviour lengthBehaviour = (LengthBehaviour)gizmoMap[gizmoLength];

        Destroy(lengthBehaviour.gameObject);

        gizmoMap.Remove(gizmoLength);
    }
Exemplo n.º 8
0
    public void UpdateGizmoLength(Gizmo gizmo)
    {
        if (!(gizmo is GizmoLength))
        {
            return;
        }
        GizmoLength gizmoLength = (GizmoLength)gizmo;

        LengthBehaviour lengthBehaviour = (LengthBehaviour)gizmoMap[gizmoLength];

        EdgeRefer edge    = gizmoLength.edge;
        Vector3   center  = geometry.Center();
        Vector3   vertex1 = geometry.UnitVector(edge.id1);
        Vector3   vertex2 = geometry.UnitVector(edge.id2);
        float     length  = geometry.EdgeLength(edge.id1, edge.id2);

        lengthBehaviour.SetData(center, vertex1, vertex2, length);
    }