private static Geometry<EntityVertex> WallsAndGables(Geometry<EntityVertex> roof, Geometry<EntityVertex> gables, int roofSnapTag, int gableTopTag) { var walls = Quadrilateral<EntityVertex>.Rectangle (gables.BoundingBox.Size.X, gables.BoundingBox.Size.Z) .Extrude (12f, false).RotateX (MathHelper.PiOver2); var wallsAndGables = Composite.Create (Stacking.StackUp (walls, gables) .Align (Alignment.Center, Alignment.None, Alignment.Center)); return wallsAndGables.SnapVertex (wallsAndGables.FindVertexByTag (gableTopTag), roof.FindVertexByTag (roofSnapTag), Axes.All); }