XEdge

Inherited from XGeometry,

Inherited by NULL

Friend class GeometryManager,

Description

XEdge封装了几何边的数据及其方法,其类型标识名为“CGEOEDGE”(以CGEO为前缀)。几何边由线单元离散构成,在拓扑上一般最多包含2个顶点,也可能只包含一个顶点(闭合边),或者0个顶点(比如一个圆)。XEdge从XGeometry继承并重新实现了适用于边的方法。

Members

Public interface

Protected interface

Private interface


XBoundBox m_dBoundBox

几何边的包围盒

const XVertex * m_pEndVertex0

几何边的第一个端顶点

const XVertex * m_pEndVertex1

几何边的第二个端顶点

const XNode * m_pFirstNode

几何边的第一个节点

const XNode * m_pLastNode

几何边的最后一个节点

XMemPool * m_pHashPool

几何边对象用到的内存池

XItemPtrArray<XGeometry,2> m_UpperList

几何边的父拓扑对象数组

XRenderData m_RenderData

几何边的视图数据

RGBAColor m_BakColor

几何边的颜色备份,用于修改颜色时保存旧的颜色以方便恢复之前的颜色。


XEdge(ulong id,XMemPool * pHashPool = 0)

~XEdge()

void updateBoundbox()

real getLength() const

real getNorm2()const

bool isClosed() const

const XVertex * getEndVertex0() const

const XVertex * getEndVertex1() const

ulong getEndVertexID0() const

ulong getEndVertexID1() const

const XNode * getEndNode0() const

const XNode * getEndNode1() const

const XGeometry * getUpperEntity(int index) const

bool isUpperEntity(const XGeometry * pFace)const

void addUpperEntity(const XGeometry * pFace)

void removeUpperEntity(const XGeometry *pFace)

void buildRenderDataFVM()

void buildRenderData()

void updateRenderData(const float * colorValue, int colorLoc, const float * deformX, const float * deformY, const float * deformZ, const int * colorIndex = NULL)

const XRenderData * getRenderData() const

void clear(ClearFlag f = Clear_All)

const XBoundBox & getBoundBox() const

void normalizeBoundBox(const real * origin, real scale)

void restoreBoundBox(const real * origin, real scale)

void copyBoundBox(const XEdge * e)

ulong getChildCount() const

const XGeometry * getChildEntity(ulong id)const

int getUpperCount() const

void write(XBinaryIO * io)const

ErrorCode read(GeometryManager * esmgr, XBinaryIO * io)

void updateAfterRenumber(TypeID tid = DItem_Element)

void backupColor()

void recoverColor()

void getCenter(real * c) const

bool isLoop() const


void attachChildEntity(const XGeometry * pEntity)

void detachChildEntity(ulong id)

void setEndVertex0(const XVertex * pVertex)

void setEndVertex1(const XVertex * pVertex)