/**@enum TopologyRuleType
* @brief 拓扑规则类型
*/
enum TopologyRuleType
{
TRT_Any = 0, //!< 用作查询
TRT_FeatureNormal = 1, //!< 单个对象正常、规范
TRT_FeatureNoRepeat = 2, //!< 对象不重叠
TRT_FeatureLargerThanTolerance = 3, //!< 共点/重点/悬挂检查
TRT_FeatureNoIntersect = 4, //!< 相交检查
TRT_FeatureNoOverlap = 5, //!< 面要素没有重叠区域
TRT_FeatureNoGaps = 6, //!< 面要素没有空洞区域
TRT_Custom = 80, //!< 自定义细项
TRT_TwoLayerTopoRel = 99, //!< 两层数据拓扑一致性 该项仅用于区分
TRT_SourcePointNotCoveredByDestPoint = 100, //!< 源要素没有被目标要素覆盖
TRT_DestPointNotCoveredBySourcePoint = 101, //!< 目标要素没有被源要素覆盖
TRT_PointPointCoverEachOther = 102, //!< 源要素类中的点与目标要素类中的点完全一致
TRT_PointCoveredByAreaBoundary = 103, //!< 点必须在多边形的边界上
TRT_PointCoveredByAreaVertices = 104, //!< 点必须在多边形的顶点上
TRT_PointInsideArea = 105, //!< 点必须在多边形内
TRT_PointCoveredByLine = 106, //!< 点必须在线上
TRT_PointCoveredByLineEndpoint = 107, //!< 点必须在线的端点上
TRT_PointCoveredByLineVertices = 108, //!< 点必须在线的折点上
TRT_SourceLineNotCoveredByDestLine = 200, //!< 源要素没有被目标要素覆盖
TRT_DestLineNotCoveredBySourceLine = 201, //!< 目标要素没有被源要素覆盖
TRT_LineCoveredByLineClass = 202, //!< 线要素必须被另一线要素覆盖
TRT_LineNoOverlapLine = 203, //!< 两个线要素类中的线段不能重叠
TRT_LineCoveredByAreaBoundary = 204, //!< 线要素必须被多边形要素的边界覆盖
TRT_LineInsideArea = 205, //!< 线要素必须在多边形内
TRT_LineEndpointCoveredByPoint = 206, //!< 线要素的端点必须被点要素覆盖
TRT_LineVerticesCoveredByPoint = 207, //!< 线要素的折点必须被点要素覆盖
TRT_SourceAreaNotCoveredByDestArea = 300, //!< 源要素没有被目标要素覆盖
TRT_DestAreaNotCoveredBySourceArea = 301, //!< 目标要素没有被源要素覆盖
TRT_AreaNoOverlapArea = 302, //!< 两个面要素类中的多边形不能重叠
TRT_AreaCoveredByAreaClass = 303, //!< 源要素类中的每一个多边形都必须被目标要素类中的多边形覆盖
TRT_AreaAreaCoverEachOther = 304, //!< 两个面要素类中的多边形互相满覆盖
TRT_AreaCoveredByArea = 305, //!< 源要素类中的每一个多边形都必须被目标要素类中的单个多边形覆盖
TRT_AreaBoundaryCoveredByLine = 306, //!< 多边形要素的边界必须被线要素覆盖
TRT_AreaBoundaryCoveredByAreaBoundary = 307, //!< 源多边形要素类边界必须被目标多边形要素类边界覆盖
TRT_AreaVerticesCoveredByPoint = 308, //!< 多边形的顶点必须被点要素覆盖
};
/**@enum TopologyErrorType
* @brief 拓扑规则检查细项 ,只有在TopologyRuleType为TRT_Custom时,设置拓扑规则检查细项才会有效,否则不生效
*/
enum TopologyErrorType
{
TET_GeoNoPoint = 100, //!< 几何对象无点
TET_PolygonUnclosed = 101, //!< 多边形未封闭
TET_LackDirectionPoints = 102, //!< 有向点对象缺少方向点
TET_PointCountLargerThanOne = 103, //!< 点状图形点数大于1
TET_PolyLineVertexLessThanTwo = 104, //!< 线状图形点数少于2
TET_StructVertexLessThanThree = 105, //!< 结构对象点数少于3
TET_CurveVertexLessThanFour = 106, //!< 曲线弧断点数少于4
TET_PolygonVertexLessThanFour = 107, //!< 面状图形点数少于4、面符号点数少于4
TET_NON_LINE = 108, //!< 存在非直线弧断
TET_HAVE_TRANSITION = 109, //!< 存在环上环
TET_RING_TRANSITION = 110, //!< 存在不规范路径
TET_HIGH_DIFFER = 111, //!< 封闭点高程不一致
TET_LITTLE_LINE = 112, //!< 短线
TET_SMALL_POLYGON = 113, //!< 小多边形
TET_MANY_OUTERRING = 114, //!< 存在多外环
TET_ERROR_RING = 115, //!< 错误环
TET_ELONGATED_POLYGON = 118, //!< 狭长面
TET_POINT_REPEAT_POINT = 201, //!< 重点
TET_POINT_COMM_POINT = 202, //!< 共点
TET_POINT_ONE_WANT_POINT = 203, //!< 自身悬挂
TET_POINT_TWO_WANT_POINT = 204, //!< 互相悬挂
TET_EDGE_REPEAT_EDGE = 301, //!< 重边
TET_EDGE_COMM_EDGE = 302, //!< 共边
TET_EDGE_ONE_CUT_POINT = 303, //!< 自身少交点
TET_EDGE_TWO_CUT_POINT = 304, //!< 互相少交点
TET_EDGE_ONESELF_CUT = 305, //!< 边自身相交
TET_EDGE_EACH_OTHER_CUT = 306, //!< 边互相相交
TET_EDGE_ONESELF_SUPERPOSE = 307, //!< 边自身交错
TET_EDGE_EACH_OTHER_SUPERPOSE = 308, //!< 边互相交错
TET_TOPO_NULL_POLYGON = 401, //!< 空洞区域
TET_TOPO_SUPERPOSE_POLYGON = 402, //!< 重叠区域
TET_CHAIN_HANG_CHAIN = 501, //!< 悬节点
TET_CHAIN_BREAK_CHAIN = 502, //!< 伪节点
TET_CHAIN_REPEAT_CHAIN = 503, //!< 重链
TET_CHUNK_OVER_CHUNK = 601, //!< 对象重叠
TET_POINT_NOT_NODE = 602, //!< 点实体不在面实体顶点上
TET_CRUNODE_NOT_POINT = 603, //!< 面实体顶点上无点实体
TET_CHUNK_NOT_CHUNK = 604, //!< 线与面边界不重合
TET_POINT_OUT_POLYGON = 605, //!< 点实体不在面实体内
TET_POLYGON_CUT_POLYGON = 606, //!< 面实体与另一组面实体相交
TET_POLYGON_OUT_POLYGON = 607, //!< 面实体不在另一组面实体内
};
/**@enum AttributeRuleType
* @brief 属性规则类型
*/
enum AttributeRuleType
{
ART_Any = 800, //!< 用作查询
ART_FieldTypeCheck = 801, //!< 字段类型检查
ART_FieldLengthCheck = 802, //!< 字段长度检查
ART_NumberUniquenessCheck = 803, //!< 编号唯一性检查
ART_FieldValueMustLargerThanCertainValue = 804, //!< 字段值必须大于某一值的检查
ART_FieldValueMustNumber = 805, //!< 字段值必须是数字的检查
ART_FieldValueMustInteger = 806, //!< 字段值必须是整数的检查
ART_FieldValueMustBeEnumeratedValue = 807, //!< 字段值必须为枚举值检查
ART_FieldValueMustLesserThanCertainValue = 808, //!< 字段值必须小于某一值的检查
ART_FieldValueMustInCertainRange = 809, //!< 字段值必须在某范围的检查
ART_FieldValueMustNotBeZero = 810, //!< 字段值不能为0检查
ART_FieldValueMustNotEmpty = 811, //!< 字段值不能为空检查
ART_CharacterLengthCheck = 812, //!< 字符长度检查
ART_Custom_Begin = 850, //!< 自定义属性规则类型[850,899]
ART_Custom_End = 899, //!< 自定义属性规则类型[850,899]
};