当前位置: 代码迷 >> .NET分析设计 >> 在做几何体拓扑关系时的设计有关问题
  详细解决方案

在做几何体拓扑关系时的设计有关问题

热度:4980   发布时间:2013-02-25 00:00:00.0
在做几何体拓扑关系时的设计问题.
我现在想做一个针对各种几何体的拓扑关系的功能块,主要就是针对点,线,面的之间的拓扑判断.
怎么设计比较好.

有一个几何体接口IGeometry,有三个几何体类Point,Line,Polygon.

我想先定义一个拓扑关系的接口,IRelationalOperator,里面方法定义类似bool Equals(IGeometry pGeometry);然后在定义PointRelationalOperator,LineRelationalOperator,和PolygonRelationalOperator三个具体类,继承这个接口.

然后再定义一些具体类PointPointRelationalOperator,PointLineRelationalOperator,PointPolygonRelationalOperator,LinePointRelationalOperator,LineLineRelationalOperator,LinePolygonRelationalOperator,等方法类似public bool Equals(Point pPoint1,Point pPoint2);.
然后让上面继承IRelationalOperator接口的具体类去调用这些具体类.


最后在IGeometry保存一个IRelationalOperator的接口.

不知道还有没有什么更好的设计方案.

本来想画UML图的,但家里的电脑没有装viso.

------解决方案--------------------------------------------------------
顶一下,貌似网络板块吧
------解决方案--------------------------------------------------------
可以这样设计,看看设计模式。
------解决方案--------------------------------------------------------
可使用工厂模式,通过接口实现
------解决方案--------------------------------------------------------
学习,帮顶!
------解决方案--------------------------------------------------------
我觉得有一个问题:拓扑的“关系”不应该是一个“实体”,而应该是一个“判断”,是不是变成一个函数库的形式会更好一点呢?
  相关解决方案