namespace MikeSheInOpenDA.Spatial { public interface ISpatialDefine { /// /// Get Geometry type of this class. Can be either 1D (point), 2D, 3D /// GeometryTypes Geometry {get;} /// /// Get the minimum X coordinate between the two points. /// If it's a Geometry type Point, return pt1 x coordinate. /// double XMinCoordinate {get;} /// /// Get the minimum Y coordinate between the two points. /// If it's a Geometry type Point, return pt1 y coordinate. /// double YMinCoordinate {get;} /// /// Get the maximum X coordinate between the two points. /// If it's a Geometry type Point, return pt1 x coordinate. /// double XMaxCoordinate {get;} /// /// Get the maximum Y coordinate between the two points. /// If it's a Geometry type Point, return pt1 y coordinate. /// double YMaxCoordinate {get;} /// /// Get the Layer number. /// Note that the layer numbers must be the same for the two points. /// int Layer {get;} /// /// Returns the spatial Midpoint of the entity /// IXYLayerPoint MidPoint {get;} /// /// Return whether the point is inside this structure. /// If this structure is a 1D point, then the (x,y,layer) values must be the same. /// /// The point to check wether it's within this object spatially. /// layer specific /// bool PointInObject(IXYLayerPoint pt, bool layerIndifferent); } }