public static Geometry <EntityVertex> Hammer() { var cube1 = Extrusion.Cube <EntityVertex> (1f, 1.5f, 2f).RotateY(MathHelper.PiOver2); var cube2 = Extrusion.Cube <EntityVertex> (1f, 1f, 1f).Scale(0.8f, 0.8f, 0.8f); var cube3 = Extrusion.Cube <EntityVertex> (1f, 1f, 2f); return(Composite.Create(Stacking.StackRight(cube1, cube2, cube3) .Align(Alignment.None, Alignment.Center, Alignment.Center)).Center()); }
private static Geometry <EntityVertex> Roof(out Vec3 tag) { var trapezoid = Quadrilateral <EntityVertex> .Trapezoid(20f, 1f, 0f, 1f); tag = trapezoid.Vertices.Furthest(Dir3D.Down).Furthest(Dir3D.Right).Single().position; var leftPane = trapezoid.Extrude(30f).RotateZ(MathHelper.PiOver4); var rightPane = leftPane.ReflectX(); return(Composite.Create(Stacking.StackRight(leftPane, rightPane))); }