XFace

Inherited from XGeometry,

Inherited by NULL

Friend class GeometryManager,

Description

XFace封装了几何面的数据及其方法,其类型标识名为“CGEOFACE”(以CGEO为前缀)。几何面是由若干边构成的封闭曲面,是划分面网格的对象基础。XFace从XGeometry继承并重新实现了适用于面的方法。

Members

Public interface


XBoundBox m_dBoundBox

几何面的包围盒

RGBAColor m_BakColor

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

XRenderData m_RenderData

几何面的视图数据

XItemPtrArray<XGeometry, 2> m_UpperList

几何面的父拓扑对象数组

vector<ElemPtr> m_pSolidElems

面单元所对应的体单元数组

vector<int> m_pSolidFacetId

面单元在所对应的体单元的面号数组


static void enableFineFacetNormal(bool b)

XFace(ulong id,XMemPool * pHashPool = 0)

~XFace()

void updateBoundbox()

double getArea() const

int countTess() const

void buildRenderDataFVM(bool bUseSolidElemCode = false)

void buildRenderData(bool bUseSolidElemCode = false)

void updateElemEncode(bool bAsSolid = false)

const XRenderData * getRenderData() const

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

void updateRenderDataFVM(const RenderContext * rc)

void updateTexData(TexElementManager * texMgr)

const XBoundBox & getBoundBox() const

void normalizeBoundBox(const real * origin, real scale)

void restoreBoundBox(const real * origin, real scale)

void copyBoundBox(const XFace * f)

void clear(ClearFlag f = Clear_All)

const XGeometry * getUpperEntity(int index) const

const XSolid * getFirstParentBody() const

bool isUpperEntity(const XGeometry * pBody) const

int getUpperCount() const

void addUpperEntity(const XGeometry * pBody)

void removeUpperEntity(const XGeometry *pBody)

void write(XBinaryIO * io)const

ErrorCode read(GeometryManager * esmgr, XBinaryIO * io)

void updateAfterRenumber(TypeID tid)