Virtual first and last pulse method for building detection from dense LiDAR point clouds