```fsharp /// Represents a single planar segment type IPlaneSegment = /// the plane for the segment. abstract member Plane : Plane3d /// the total number of points in this segment. abstract member PointCount : int /// the covered (2d) area for this segment abstract member Area : float /// a minimal enclosing box for all the points in the segment abstract member Bounds : OrientedBox /// the bounding polygon(s) for the segment. abstract member BoundingPolygons : Polygon3d[] /// the overall segmentatin result consists of many segments. type IPlaneSegmentation = inherit IEnumerable<IPlaneSegment> abstract member Count : int abstract member Item : int -> IPlaneSegment with get module Api = val planeSegmentation : progress : (float -> unit) -> maxRadius : float -> maxDistance : float -> points : V3d[] -> IPlaneSegmentation ```