コード例 #1
0
        public static GeometricSolid GeometricObjectFromCommand(string command, double sideLength)
        {
            GeometricSolid solid;
            if (command == "1")
            {
                solid = new Tetrahedron(sideLength);
            }
            else if (command == "2")
            {
                solid = new Cube(sideLength);
            }
            else if (command == "3")
            {
                solid = new Octahedron(sideLength);
            }
            else if (command == "4")
            {
                solid = new Dodecahedron(sideLength);
            }
            else
            {
                solid = new Icosahedron(sideLength);
            }

            return solid;
        }
コード例 #2
0
 public void ValidDodecaheron()
 {
     var solid = new Dodecahedron()
     {
         Size = new SharpDX.Vector3(1.0f, 1.0f, 1.0f)
     };
 }
コード例 #3
0
ファイル: chooseShape.cs プロジェクト: jakupklein/martinGame
    // Use this for initialization
    void Start()
    {
        rend = gameObject.GetComponent<Renderer>();
        //mat = new Material(Shader.Find("Standard"));
        //rend = new Renderer();
        //rend.material = mat;
        gMO = GameObject.Find("GameManager");
        gM = gMO.GetComponent<GameManager>();
        tetrahedron  = gameObject.GetComponent<Tetrahedron>();
        octahedron   = gameObject.GetComponent<Octahedron>();
        dodecahedron = gameObject.GetComponent<Dodecahedron>();
        icosahedron  = gameObject.GetComponent<Icosahedron>();

        counter = (int)Random.Range(1f, 5f);
        if(counter == 5)
            counter = 4;

        if(counter == 1)
            tetrahedron.MakeMesh();
        if(counter == 2)
            octahedron.MakeMesh();
        if(counter == 3)
            dodecahedron.MakeMesh();
        if(counter == 4)
            icosahedron.MakeMesh();

        gM.ZombiePlus();
    }
コード例 #4
0
 public void InitMesh()
 {
     if (polyMesh == null)
     {
         polyMesh = new PolyMesh(this.transform);
     }
     Dodecahedron.FillPolyMesh(polyMesh);
 }
コード例 #5
0
    void Start()
    {
        rotationSpeed = Random.Range(-5f, 5f);
        rend = gameObject.GetComponent<Renderer>();

        tetrahedron  = gameObject.GetComponent<Tetrahedron>();
        octahedron   = gameObject.GetComponent<Octahedron>();
        dodecahedron = gameObject.GetComponent<Dodecahedron>();
        icosahedron  = gameObject.GetComponent<Icosahedron>();
    }
コード例 #6
0
    void Start()
    {
        rotationSpeed = Random.Range(-5f, 5f);
        rend          = gameObject.GetComponent <Renderer>();

        tetrahedron  = gameObject.GetComponent <Tetrahedron>();
        octahedron   = gameObject.GetComponent <Octahedron>();
        dodecahedron = gameObject.GetComponent <Dodecahedron>();
        icosahedron  = gameObject.GetComponent <Icosahedron>();
    }
コード例 #7
0
        public void DodecaheronShouldNotRaiseEvent()
        {
            int count = 0;

            var solid = new Dodecahedron()
            {
                Size = new SharpDX.Vector3(1.0f, 1.0f, 1.0f)
            };

            solid.PropertyChanged += (s, e) => count++;

            solid.Size = new SharpDX.Vector3(1.0f, 1.0f, 1.0f);
            Assert.AreEqual <int>(count, 0);
        }
コード例 #8
0
        public static void Main(string[] Args)
        {
            // base class
            Shape3d basic = new Shape3d();

            // tori
            Torus torus1 = new Torus(10, 5, new Vector3(25, 2, -3));
            Torus torus2 = new Torus(5, 5);
            Torus torus3 = new Torus(5, 10);

            // dodecahedron
            Dodecahedron dodeceda = new Dodecahedron(15, new Vector3(420, 420, 420));

            // triangular prism
            Triangularprism prism1 = new Triangularprism(10, 9, 5, 25);
            Triangularprism prism2 = new Triangularprism(3, 3, 3, 25, new Vector3(1, 2, 3));

            // show casing them, does not give any errors
            ArrayList shapesList = new ArrayList();

            // shapesList.Add(basic);
            // shapesList.Add(torus1);
            // shapesList.Add(torus2);
            // shapesList.Add(torus3);
            // shapesList.Add(dodeceda);
            // shapesList.Add(prism1);
            // shapesList.Add(prism2);

            foreach (Shape3d shape in shapesList)
            {
                shape.draw();
                Console.WriteLine("");
            }

            // accessing the getter / setter of a class
            // Console.WriteLine("The lateral surface area of prism1 is {0}", prism1.lateralsurfacearea);

            /* --------- PROBLEMATIC SHAPES, UNCOMMENT AT OWN RISK --------- */
            // tori
            // Torus err_torus1 = new Torus(10, 0);
            // Torus err_torus2 = new Torus(0, 5);

            // dodecahedron
            // Dodecahedron err_dodeceda = new Dodecahedron(-5);

            // triangular prism
            // Triangularprism err_prism1 = new Triangularprism(10, 1, 1, 25);
            // Triangularprism err_prism2 = new Triangularprism(1, 10, 1, 25);
            // Triangularprism err_prism3 = new Triangularprism(1, 1, 10, 25);
        }
コード例 #9
0
    // Use this for initialization
    void Start()
    {
        rend = gameObject.GetComponent <Renderer>();
        //mat = new Material(Shader.Find("Standard"));
        //rend = new Renderer();
        //rend.material = mat;
        gMO          = GameObject.Find("GameManager");
        gM           = gMO.GetComponent <GameManager>();
        tetrahedron  = gameObject.GetComponent <Tetrahedron>();
        octahedron   = gameObject.GetComponent <Octahedron>();
        dodecahedron = gameObject.GetComponent <Dodecahedron>();
        icosahedron  = gameObject.GetComponent <Icosahedron>();

        counter = (int)Random.Range(1f, 5f);
        if (counter == 5)
        {
            counter = 4;
        }

        if (counter == 1)
        {
            tetrahedron.MakeMesh();
        }
        if (counter == 2)
        {
            octahedron.MakeMesh();
        }
        if (counter == 3)
        {
            dodecahedron.MakeMesh();
        }
        if (counter == 4)
        {
            icosahedron.MakeMesh();
        }

        gM.ZombiePlus();
    }
コード例 #10
0
        public async void RenderSolids()
        {
            double alpha = 0;

            try
            {
                while (renderFlag)
                {
                    BasePlatonicSolid solid = null;

                    switch ((string)solidComboBox.SelectedItem)
                    {
                    case "Tetrahedron":
                        solid = new Tetrahedron(0, 0, 0, 100);
                        break;

                    case "Hexahedron":
                        solid = new Hexahedron(0, 0, 0, 100);
                        break;

                    case "Octahedron":
                        solid = new Octahedron(0, 0, 0, 100);
                        break;

                    case "Icosahedron":
                        solid = new Icosahedron(0, 0, 0, 100);
                        break;

                    case "Dodecahedron":
                        solid = new Dodecahedron(0, 0, 0, 100);
                        break;

                    default:
                        MessageBox.Show("something wrong");
                        return;
                    }
                    switch ((string)AxisRotationComboBox.SelectedItem)
                    {
                    case "OZ":
                        solid.RotateByZ(alpha);
                        break;

                    case "OY":
                        solid.RotateByY(alpha);
                        break;

                    case "OX":
                        solid.RotateByX(alpha);
                        break;

                    case "OXY":
                        solid.RotateByX(alpha);
                        solid.RotateByY(alpha);
                        break;

                    case "OZY":
                        solid.RotateByY(alpha);
                        solid.RotateByZ(alpha);
                        break;

                    case "OZX":
                        solid.RotateByX(alpha);
                        solid.RotateByZ(alpha);
                        break;

                    case "OXYZ":
                        solid.RotateByY(alpha);
                        solid.RotateByX(alpha);
                        solid.RotateByZ(alpha);
                        break;

                    case "None":
                        break;

                    default:
                        MessageBox.Show("something wrong");
                        return;
                    }

                    if (!checkBox1.Checked)
                    {
                        solid.Scale(double.Parse(scaleBoxFx.Text), double.Parse(scaleBoxFy.Text), double.Parse(scaleBoxFz.Text));
                    }


                    solid.Shift(int.Parse(shiftXBox.Text), int.Parse(shiftYBox.Text), int.Parse(shiftZBox.Text));
                    graphics.Clear(pictureBox1.BackColor);
                    solid.DrawSolid(graphics, double.Parse(coeffBox.Text), double.Parse(angelBox.Text));
                    alpha += Math.PI / 60;
                    await Task.Delay(100);
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("There were exception: " + e.Message);
            }
        }