public void EdgeSelection(_Point p)
        {
            foreach (Cube myCube in Model)
            {
                foreach (CubeEdge p1 in myCube.edges)
                {
                    // if (p1 != selected)
                    p1.IsPointed = false;
                }
            }

            foreach (Cube myCube in Model)
            {
                foreach (CubeEdge p1 in myCube.edges)
                {
                    Edge[] polygon = p1.eCubeEdge(AnT.Height * 1.0);

                    /*txtMouseX.Text = polygon[0].end.x.ToString();
                     * txtMouseY.Text = p.x.ToString();
                     *
                     * txtMouseZ.Text = polygon[0].end.y.ToString();
                     * textBox1.Text = p.y.ToString();*/

                    if ((Math.Abs(polygon[0].end.x - p.x) <= 2) && (Math.Abs(polygon[0].end.y - p.y) <= 2))
                    {
                        p1.IsPointed  = true;
                        selectedEdge_ = p1;
                        //MessageBox.Show("yahoo!!");
                        return;
                    }
                }
            }
        }
Пример #2
0
 public CubeEdge(CubeEdge copy)
 {
     this.begin     = Vertex.getCopy(copy.begin);
     this.end       = Vertex.getCopy(copy.end);
     this.middle    = Vertex.getCopy(copy.middle);
     this.IsPointed = copy.IsPointed;
     this.lockState = new Lock_(copy.lockState);
 }
Пример #3
0
        public static CubeEdge getCopy(CubeEdge copy)
        {
            CubeEdge copied = new CubeEdge();

            copied.begin     = Vertex.getCopy(copy.begin);
            copied.end       = Vertex.getCopy(copy.end);
            copied.middle    = Vertex.getCopy(copy.middle);
            copied.IsPointed = copy.IsPointed;
            copied.lockState = new Lock_(copy.lockState);

            return(copied);
        }
Пример #4
0
        public static Cube getCopy(Cube copy)
        {
            Cube copied = new Cube();

            try
            {
                copied.primitiveName = copy.primitiveName;
            }
            catch { }

            for (int i = 0; i < 20; i++)
            {
                copied.vertices[i] = Vertex.getCopy(copy.vertices[i]);
            }

            copied.EnabledTransform = copy.EnabledTransform;

            for (int i = 0; i < 4; i++)
            {
                copied.axes[i] = Vertex.getCopy(copy.axes[i]);
            }

            for (int i = 0; i < 6; i++)
            {
                copied.faces[i] = Polygon.getCopy(copy.faces[i]);
            }

            Pair <Cube, Cube> newItem1 = new Pair <Cube, Cube>();

            newItem1.First  = copied;
            newItem1.Second = copy.Origin;
            GlobalVar.cubeOrigin.Add(newItem1);

            Pair <Cube, Cube> newItem2 = new Pair <Cube, Cube>();

            newItem2.First  = copied;
            newItem2.Second = copy.TransCube;
            GlobalVar.cubeTrans.Add(newItem2);


            //this.Origin = new Cube(copy.Origin);
            //this.TransCube = new Cube(copy.TransCube);

            copied.translation = new Translation(copy.translation);

            /*this.Parts = new List<Cube>();
             *
             * foreach (Cube c in copy.Parts)
             * {
             *  Cube newItem = new Cube(c);
             *  this.Parts.Add(newItem);
             * }*/

            Pair <Cube, List <Cube> > newItem3 = new Pair <Cube, List <Cube> >();

            newItem3.First  = copied;
            newItem3.Second = copy.Parts;
            GlobalVar.cubeParts.Add(newItem3);

            copied.IsSelected = copy.IsSelected;

            copied.nx = copy.nx;
            copied.ny = copy.ny;
            copied.nz = copy.nz;

            //this.edges = new CubeEdge[copy.edges.Length];
            for (int i = 0; i < 12; i++)
            {
                copied.edges[i] = CubeEdge.getCopy(copy.edges[i]);
            }

            return(copied);
        }
Пример #5
0
        public void InitializeEdges()
        {
            edges[0]        = new CubeEdge();
            edges[0].begin  = vertices[0];
            edges[0].end    = vertices[4];
            edges[0].middle = vertices[12];

            edges[1]        = new CubeEdge();
            edges[1].begin  = vertices[3];
            edges[1].end    = vertices[7];
            edges[1].middle = vertices[15];

            edges[2]        = new CubeEdge();
            edges[2].begin  = vertices[2];
            edges[2].end    = vertices[6];
            edges[2].middle = vertices[14];

            edges[3]        = new CubeEdge();
            edges[3].begin  = vertices[1];
            edges[3].end    = vertices[5];
            edges[3].middle = vertices[13];

            edges[4]        = new CubeEdge();
            edges[4].begin  = vertices[4];
            edges[4].end    = vertices[7];
            edges[4].middle = vertices[19];

            edges[5]        = new CubeEdge();
            edges[5].begin  = vertices[7];
            edges[5].end    = vertices[6];
            edges[5].middle = vertices[18];

            edges[6]        = new CubeEdge();
            edges[6].begin  = vertices[6];
            edges[6].end    = vertices[5];
            edges[6].middle = vertices[17];

            edges[7]        = new CubeEdge();
            edges[7].begin  = vertices[5];
            edges[7].end    = vertices[4];
            edges[7].middle = vertices[16];

            edges[8]        = new CubeEdge();
            edges[8].begin  = vertices[0];
            edges[8].end    = vertices[3];
            edges[8].middle = vertices[11];

            edges[9]        = new CubeEdge();
            edges[9].begin  = vertices[3];
            edges[9].end    = vertices[2];
            edges[9].middle = vertices[10];

            edges[10]        = new CubeEdge();
            edges[10].begin  = vertices[2];
            edges[10].end    = vertices[1];
            edges[10].middle = vertices[9];

            edges[11]        = new CubeEdge();
            edges[11].begin  = vertices[1];
            edges[11].end    = vertices[0];
            edges[11].middle = vertices[8];
        }
Пример #6
0
 public void Set(ref CubeEdge e)
 {
     begin  = e.begin;
     end    = e.end;
     middle = e.middle;
 }
Пример #7
0
 public bool Equals(CubeEdge e)
 {
     return((begin.Equals(e.begin)) && (end.Equals(e.end)));
 }