====== XVertex ====== **//Inherited from//** [[class::domain::xgeometry|XGeometry]], **//Inherited by//** NULL **//Friend class//** NULL **//Description//** XVertex封装了几何顶点的数据及其方法,其类型标识名为“CGEOVERTEX”(以CGEO为前缀)。几何顶点是只包含一个点单元的拓扑对象,它没有子拓扑对象。XVertex从XGeometry继承并重新实现了适用于顶点的方法。 **//Members//** * XItemPtrArray [[xvertex#m_upperlist|m_UpperList]] * XMemPool * [[xvertex#m_ppool|m_pPool]] **//Public interface//** * [[xvertex#xvertex1|XVertex]](ulong id,XMemPool * pHashPool) * [[xvertex#~xvertex|~XVertex]]() * const XElement * [[xvertex#getelement|getElement]]()const * const XNode * [[xvertex#getnode|getNode]]()const * void [[xvertex#addupperentity|addUpperEntity]](const XGeometry * pEdge) * void [[xvertex#removeupperentity|removeUpperEntity]](const XGeometry *pEdge) * bool [[xvertex#isupperentity|isUpperEntity]](const XGeometry * pEdge) * int [[xvertex#getuppercount|getUpperCount]]() const * ulong [[xvertex#getnodecount|getNodeCount]]() const * void [[xvertex#bindnodeiterator|bindNodeIterator]](HashIterator * pIter)const * const XGeometry * [[xvertex#getupperentity|getUpperEntity]](int index) const * void [[xvertex#clear|clear]](ClearFlag f = Clear_All) * void [[xvertex#write|write]](XBinaryIO * io)const * ErrorCode [[xvertex#read|read]](GeometryManager * esmgr, XBinaryIO * io) ---- {{anchor:m_upperlist}} **XItemPtrArray m_UpperList** 几何顶点的父拓扑对象数组 {{anchor:m_ppool}} **XMemPool * m_pPool** 几何顶点对象用到的内存池,用于为父拓扑对象数组分配内存 ---- {{anchor:xvertex1}} **XVertex(ulong id,XMemPool * pHashPool)** *function: 构造函数 *parameters: - [i]ulong id: 对象ID - [i]XMemPool * pHashPool: 内存池 *return value: 无 {{anchor:~xvertex}} **~XVertex()** *function: 析构函数 *parameters: NULL *return value: 无 {{anchor:getelement}} **const XElement * getElement()const** *function: 获取几何顶点的点单元 *parameters: NULL *return value: 几何顶点的点单元 {{anchor:getnode}} **const XNode * getNode()const** *function: 获取几何顶点所在的节点 *parameters: NULL *return value: 几何顶点所在的节点 {{anchor:addupperentity}} **void addUpperEntity(const XGeometry * pEdge)** *function: 添加父拓扑对象 *parameters: - [i]const XGeometry * pEdge: 父拓扑对象 *return value: 无 {{anchor:removeupperentity}} **void removeUpperEntity(const XGeometry *pEdge)** *function: 删除父拓扑对象 *parameters: - [i]const XGeometry *pEdge: 父拓扑对象 *return value: 无 {{anchor:isupperentity}} **bool isUpperEntity(const XGeometry * pEdge)** *function: 判断pEdge是否为几何顶点对象的父拓扑对象 *parameters: - [i]const XGeometry * pEdge: 几何拓扑对象 *return value: pEdge为几何顶点对象的父拓扑对象返回true,否则返回false {{anchor:getuppercount}} **int getUpperCount() const** *function: 获取父拓扑对象的个数 *parameters: NULL *return value: 父拓扑对象的个数 {{anchor:getnodecount}} **ulong getNodeCount() const** *function: 重新实现XGeometry的getNodeCount方法,几何顶点只包含一个节点 *parameters: NULL *return value: 返回1 {{anchor:getupperentity}} **const XGeometry * getUpperEntity(int index) const** *function: 重新实现XGeometry的getUpperEntity方法,获取第index个父拓扑对象 *parameters: - [i]int index: 父拓扑对象序号 *return value: 第index个父拓扑对象 {{anchor:clear}} **void clear(ClearFlag f = Clear_All)** *function: 清空几何顶点的数据 *parameters: - [i]ClearFlag f = Clear_All: 清空标记 *return value: 无 {{anchor:write}} **void write(XBinaryIO * io)const ** *function: 将几何顶点对象写入到二进制文件中 *parameters: - [i]XBinaryIO * io: 二进制文件句柄 *return value: 无 {{anchor:read}} **ErrorCode read(GeometryManager * esmgr, XBinaryIO * io)** *function: 从二进制文件中读取几何对象数据 *parameters: - [i]GeometryManager * esmgr: 几何对象管理器 - [i] XBinaryIO * io: 二进制文件句柄 *return value: 成功读取返回Error_None,否则返回相应错误码