refactor the geometry code

Change-Id: I5b0381ec5e127aabf37924af64fbeb490755bc9a
24 files changed