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)