Solid modeling techniques have evolved from wireframe models, which only contained edges and vertices, to surface models, which added exterior surfaces, to solid models, which provide complete interior and exterior details. Solid modeling represents objects unambiguously and allows for engineering analysis. There are various representations of solid models, including boundary representations (B-reps), constructive solid geometry (CSG), and spatial partitioning. Boundary representations store topological data on how faces, edges, and vertices are connected, while CSG constructs solids using boolean operations on primitive shapes.