IntersectionData class and Geometry classes are refactored