1. A method comprising: generating metadata from a wireframe model of a roof, the wireframe model having a set of line segments, connecting points, and surrounding roof facets, the metadata including; contextual information of the set of points of the wireframe model, the contextual information comprising a catalog of nearest neighbor points; first information identifying one or more of the line segments of the wireframe model as edges or ridges of the roof based on the contextual information; and second information associating the roof facets of the wireframe model with one or more roof geometric shape primitives that are components of architecture of the roof based on at least one of the contextual information and the identified line segments; normalizing the wireframe model by adjusting one or more of the line segments identified as ridges and a location of roof junction points of the wireframe model based on the generated metadata; modifying a shape of the roof facets of the wireframe model; and outputting a revised wireframe model based on the moved junction points and modified shapes, the revised wireframe model more closely approximating the actual shape of the roof.