1. A method of constructing a virtual 3D model of one or more objects within a scene, said virtual 3D model containing one or more flat faces on at least one of the objects constructed, said method comprising: receiving, through a data interface, measurement data describing a set of measurements of observed portions of the one or more objects within the scene; selecting one or more candidate shapes; specifying a virtual spatial region of interest; generating one or more virtual primitive geometries from the measurement data corresponding to the virtual spatial region of interest; calculating candidate positionings of the one or more candidate shapes relative to the one or more virtual primitive geometries; calculating a score for each combination of a plurality of combinations of shape parameters and the calculated candidate positionings; and creating a virtual 3D model of an object of the one or more objects based on the combination of the plurality of combinations with a best score.