public StageBuilder(Model3DGroup Container, CollisionResponser Responser, Setup Settings) { this.Terrain3D = new MeshGeometry3D(); this.MeshBuilder = new BasicBuilder(Container, Responser, Settings); this.Responser = Responser; this.Container = Container; this.Settings = Settings; var GeometryModel = new GeometryModel3D(); GeometryModel.Geometry = Terrain3D; GeometryModel.Material = new DiffuseMaterial(LoadTexture()); //GeometryModel.BackMaterial = new DiffuseMaterial(Brushes.Black); lastTP = new TerrainPoint(); lastTP.point3d.X = 0; lastTP.point3d.Y = -1; lastTP.point3d.Z = 0; BoundBox = new Rect3D(0, 0, 0, 0, 0, 0); TerrainPoints = new List <TerrainPoint>(100); TerrainPoints.Add(lastTP); RandomTerrainPoints(100); //Container.Children.Add(GeometryModel); }
public VirtualWorld(int MeshPrecision = 12) { GameObjects = new Dictionary <string, GameObject>(); CollisionResponser = new CollisionResponser(); PRECISION_3D_PER_ONE_UNIT_SIZE = MeshPrecision; }
public SeaBuilder(Model3DGroup Container, CollisionResponser Responser, Setup Settings, double Y = 0) : base(Container, Responser, Settings) { this.Plane(new Point3D { X = 400, Y = Y, Z = -400 }, new Point3D { X = -400, Y = Y, Z = 400 }); this.AddGeometryToContainer(); }
public void Build(Rect3D rect) { /* ^ Y ______________________ | /____Top_____________/| | | _____ _____ | | | Z | /| \ /| \ | / | / |__|/ |_|/ |__|/ |/ X | ----------------------------> */ this.Frame = rect; HalfX = Frame.X - Frame.SizeX / 2; HalfY = Frame.SizeY / 2; HalfZ = Frame.SizeZ / 2; leftFoundXSize = Frame.SizeX / 10; BuildTop(); BuildFoundation(); CollisionResponser tmp = this.Responser; Cube(new Rect3D(HalfX, rect.Y + rect.SizeY * 4 / 5, rect.Z, rect.SizeX, rect.SizeY / 5, rect.SizeZ)); //this.Responser = null; Cube(new Rect3D(HalfX, rect.Y, rect.Z, rect.SizeX / 10, rect.SizeY * 4 / 5, rect.SizeZ)); Cube(new Rect3D(HalfX + rect.SizeX / 2 - rect.SizeX / 20, rect.Y, rect.Z, rect.SizeX / 10, rect.SizeY * 4 / 5, rect.SizeZ)); Cube(new Rect3D(HalfX + rect.SizeX - rect.SizeX / 10, rect.Y, rect.Z, rect.SizeX / 10, rect.SizeY * 4 / 5, rect.SizeZ)); var MeshGeometry = new MeshGeometry3D(); var GeometryModel = new GeometryModel3D(); MeshGeometry.Positions = this.Positions; MeshGeometry.TriangleIndices = this.TriangleIndices; MeshGeometry.TextureCoordinates = this.TextureCoordinates; GeometryModel.Geometry = MeshGeometry; GeometryModel.Material = new DiffuseMaterial(LoadTexture()); //Container.Children.Add(GeometryModel); }
public BasicBuilder(Model3DGroup Container, CollisionResponser Responser, Setup Settings) { this.Container = Container; this.Settings = Settings; this.Responser = Responser; }
public BridgeBuilder(Model3DGroup container, CollisionResponser Responser, Setup Settings) : base(container, Responser, Settings) { }