Ejemplo n.º 1
0
        static public void GetSphere(Model3DGroup Container, Point3D Center, double R = 1)
        {
            var BasicBuild = new BasicBuilder(Container, null, null);

            BasicBuild.Sphere(Center, R);
            BasicBuild.AddGeometryToContainer();
        }
Ejemplo n.º 2
0
            public void getNext()
            {
                /* Point3D point;
                 * //Int32Collection col = new Int32Collection();
                 * PointCollection TexturePoints = new PointCollection(TerrainPoints.Count * 16);
                 * points = new Point3DCollection(TerrainPoints.Count * 2);
                 * int point_per_one = 4;
                 *
                 * double ly = 10;
                 * double ry = 10;
                 *
                 *
                 * Point3D BridgeStart = TerrainPoints[3].point3d;
                 * BridgeStart.X += 5;
                 *
                 * var Bridge = new BridgeBuilder(Container, Responser, Settings);
                 * Bridge.Build(new Rect3D(BridgeStart, new Size3D { X = 25, Y = 4, Z = 3 }));
                 */
                /*var Sphere = new BasicBuilder(Container, Responser, Settings);
                 * Sphere.Sphere(new Point3D { X = 0, Y = 0.5, Z = 2 }, 2.4);
                 * Sphere.AddGeometryToContainer();*/

                var Sun = new BasicBuilder(Container, Responser, Settings);

                Sun.Sphere(new Point3D {
                    X = 0, Y = 100, Z = 200
                }, 5);
                Sun.AddGeometryToContainer();

                var Sea = new SeaBuilder(Container, Responser, Settings, -4);


                int start = Terrain3D.Positions.Count;

                //int start = 0;

                /*for (int i = 0; i < TerrainPoints.Count; i++)
                 * {
                 *
                 *  RoadArc tmp = CalculateHelperPoints(TerrainPoints[i]);
                 *
                 *  if (i > 5)
                 *  {
                 *      ly += Settings.Random() - 0.5; ly = Math.Min(30, Math.Max(ly, -30));
                 *      ry += Settings.Random() - 0.5; ry = Math.Min(30, Math.Max(ry, -30));
                 *  }
                 *
                 *  // droga
                 *  point = new Point3D(tmp.left_x, TerrainPoints[i].point3d.Y, tmp.left_z);
                 *  addPointAndExtendBox(point);
                 *
                 *  TexturePoints.Add(new Point(0.16, i));
                 *  point = new Point3D(tmp.right_x, TerrainPoints[i].point3d.Y, tmp.right_z);
                 *  addPointAndExtendBox(point);
                 *  TexturePoints.Add(new Point(0.84, i));
                 *
                 *
                 *  // lewa ściana
                 *  point = new Point3D(tmp.left_x2, TerrainPoints[i].point3d.Y + ly, tmp.left_z2);
                 *  addPointAndExtendBox(point);
                 *  TexturePoints.Add(new Point(0, i));
                 *
                 *  // prawa
                 *  point = new Point3D(tmp.right_x2, TerrainPoints[i].point3d.Y - ry, tmp.right_z2);
                 *  addPointAndExtendBox(point);
                 *  TexturePoints.Add(new Point(1, i));
                 * }
                 *
                 * for (int i = 0; i < TerrainPoints.Count; i++)
                 * {
                 *
                 *  if (i < TerrainPoints.Count - 1)
                 *  {
                 *
                 *
                 *      CreateTriangleFromPointsNumber(
                 *          i * point_per_one + point_per_one,
                 *          i * point_per_one,
                 *          i * point_per_one + point_per_one + 1,
                 *          start
                 *          );
                 *
                 *      CreateTriangleFromPointsNumber(
                 *          i * point_per_one,
                 *          i * point_per_one + 1,
                 *          i * point_per_one + point_per_one + 1,
                 *          start
                 *          );
                 *
                 *      CreateTriangleFromPointsNumber(
                 *          i * point_per_one + 2,
                 *          i * point_per_one,
                 *          i * point_per_one + point_per_one,
                 *          start
                 *          );
                 *
                 *      CreateTriangleFromPointsNumber(
                 *          i * point_per_one + point_per_one,
                 *          i * point_per_one + point_per_one + 2,
                 *          i * point_per_one + 2,
                 *          start
                 *          );
                 *
                 *      CreateTriangleFromPointsNumber(
                 *          i * point_per_one + 1,
                 *          i * point_per_one + 3,
                 *          i * point_per_one + point_per_one + 3,
                 *          start
                 *          );
                 *
                 *      CreateTriangleFromPointsNumber(
                 *          i * point_per_one + point_per_one + 3,
                 *          i * point_per_one + point_per_one + 1,
                 *          i * point_per_one + 1,
                 *          start
                 *          );
                 *  }
                 * }*/

                AddPositions(points);
                //Terrain3D.TextureCoordinates = TexturePoints;
            }