1. A method for indoor 3D surface reconstruction and 2D floor plan recovery by segmenting a plurality of objects and building structure elements from a building scan using an electronic computing device, the method comprising: causing the electronic computing device to capture the building scan, wherein the building scan includes a plurality of scan points; pre-processing scan data from the building scan, wherein the pre-processing includes at least, estimating for each scan point of the plurality of scan points, a likelihood that a nearby volume to the each scan point of the plurality of scan points is an interior location or an exterior location; generating an octree and a 2.5D model from the pre-processed scan data; extracting interior and exterior volumes from the octree model and the 2.5D model, wherein the extracting interior and exterior volumes comprises: for the each scan point of the plurality of scan points, if the scan point is exterior in the octree and interior in the 2.5D model, classifying the scan point as one of the plurality of objects; if the scan point is exterior in the octree and exterior in the 2.5D model, classifying the scan point as one of the building structure element; and if the scan point is interior in the octree and interior in the 2.5D model, classifying the scan point as an interior open space; and meshing the extracted volumes to generate a 3D object geometry and a 3D building geometry, wherein the 3D object geometry corresponds with the plurality of objects and the 3D building geometry corresponds with the indoor 3D surface reconstruction of the building structure elements.