Example #1
0
        object ICloneable.Clone()
        {
            ThreeDObject copyObject = new ThreeDObject();

            for (int i = 0; i < Polygons.Count; i++)
            {
                copyObject.AddPolygon((ThreeDPolygon)(((ICloneable)Polygons[i]).Clone()));
            }

            return(copyObject);
        }
Example #2
0
        private void CreateCube()
        {
            TheCube.AddPolygon(new ThreeDPoint[] {
                new ThreeDPoint(0, 0, 0),
                new ThreeDPoint(0, 1, 0),
                new ThreeDPoint(1, 1, 0),
                new ThreeDPoint(1, 0, 0),
                new ThreeDPoint(0, 0, 0)
            });


            TheCube.AddPolygon(new ThreeDPoint[] {
                new ThreeDPoint(0, 0, 0),
                new ThreeDPoint(0, 0, 1),
                new ThreeDPoint(0, 1, 1),
                new ThreeDPoint(0, 1, 0),
                new ThreeDPoint(0, 0, 0)
            });

            TheCube.AddPolygon(new ThreeDPoint[] {
                new ThreeDPoint(0, 0, 0),
                new ThreeDPoint(0, 0, 1),
                new ThreeDPoint(1, 0, 1),
                new ThreeDPoint(1, 0, 0),
                new ThreeDPoint(0, 0, 0)
            });



            TheCube.AddPolygon(new ThreeDPoint[] {
                new ThreeDPoint(1, 1, 0),
                new ThreeDPoint(1, 1, 1),
                new ThreeDPoint(0, 1, 1),
                new ThreeDPoint(0, 1, 0),
                new ThreeDPoint(1, 1, 0)
            });

            TheCube.AddPolygon(new ThreeDPoint[] {
                new ThreeDPoint(1, 0, 0),
                new ThreeDPoint(1, 0, 1),
                new ThreeDPoint(1, 1, 1),
                new ThreeDPoint(1, 1, 0),
                new ThreeDPoint(1, 0, 0)
            });

            TheCube.AddPolygon(new ThreeDPoint[] {
                new ThreeDPoint(0, 0, 1f),
                new ThreeDPoint(0, 1, 1f),
                new ThreeDPoint(1, 1, 1f),
                new ThreeDPoint(1, 0, 1f),
                new ThreeDPoint(0, 0, 1f)
            });



            TheCube.Scale(100);
            TheCube.Translate(new float[] { 150, 150, 0 });
            TheCubeOriginal = (ThreeDObject)((ICloneable)TheCube).Clone();
        }