Inherited from XGeometry,
Inherited by NULL
Friend class GeometryManager,
Description
XFace封装了几何面的数据及其方法,其类型标识名为“CGEOFACE”(以CGEO为前缀)。几何面是由若干边构成的封闭曲面,是划分面网格的对象基础。XFace从XGeometry继承并重新实现了适用于面的方法。
Members
-
-
-
XItemPtrArray<XGeometry,
2>
-
-
-
Public interface
-
XFace(ulong id,XMemPool * pHashPool = 0)
-
-
-
-
-
-
-
-
-
-
void
updateRenderData(const float * colorValue, int colorLoc, const float * deformX, const float * deformY, const float * deformZ, const int * elemNodeIndex = NULL)
-
-
-
-
-
-
void
clear(ClearFlag f = Clear_All)
-
-
-
-
-
-
void
write(XBinaryIO * io)const
ErrorCode
read(GeometryManager * esmgr, XBinaryIO * io)
-
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)
function: 构造函数
parameters:
[i]ulong id: 对象ID
[i]XMemPool * pHashPool = 0: 内存池
return value: 无
~XFace()
function: 析构函数
parameters: NULL
return value: 无
void updateBoundbox()
function: 更新几何面的包围盒
parameters: NULL
return value: 无
double getArea() const
function: 计算几何面的面积
parameters: NULL
return value: 几何面的面积
int countTess() const
function: 获取几何面的三角片个数
parameters: NULL
return value: 几何面的三角片个数
void buildRenderDataFVM(bool bUseSolidElemCode = false)
void buildRenderData(bool bUseSolidElemCode = false)
function: 构建几何面的渲染视图数据
parameters:
[i]bool bUseSolidElemCode = false: 是否使用体单元编码渲染,在旋转体单元模式下设置为true
return value: 无
void updateElemEncode(bool bAsSolid = false)
function: 更新视图数据中的单元颜色编码
parameters:
[i]bool bAsSolid = false: 是否使用体单元编码渲染,在旋转体单元模式下设置为true
return value: 无
const XRenderData * getRenderData() const
function: 获取几何面的渲染视图数据
parameters: NULL
return value: 无
void updateRenderData(const float * colorValue, int colorLoc, const float * deformX, const float * deformY, const float * deformZ, const int * elemNodeIndex = NULL)
function: 更新几何面的渲染视图数据
parameters:
[i]const float * colorValue: 渲染数值地址
[i] int colorLoc: 渲染数值的位置(积分点、单元节点或节点)
[i] const float * deformX: X变形分量数组地址
[i] const float * deformY: Y变形分量数组地址
[i] const float * deformZ: Z变形分量数组地址
[i] const int * elemNodeIndex = NULL: 单元节点数组索引
return value: 无
void updateRenderDataFVM(const RenderContext * rc)
function: 更新几何面的渲染视图数据
parameters:
[i]const RenderContext * rc: 渲染数据上下文
return value: 无
void updateTexData(TexElementManager * texMgr)
function: 更新几何面的渲染纹理数据
parameters:
[i]TexElementManager * texMgr: 纹理对象管理器
return value: 无
const XBoundBox & getBoundBox() const
function: 获取几何面的包围盒
parameters: NULL
return value: 几何面的包围盒
void normalizeBoundBox(const real * origin, real scale)
function: 归一化几何面的包围盒
parameters:
[i]const real * origin: 归一化基准点
[i] real scale: 归一化系数
return value: 无
void restoreBoundBox(const real * origin, real scale)
void copyBoundBox(const XFace * f)
function: 拷贝几何面对象的包围盒
parameters:
[i]const XFace * f: 参考几何面对象
return value: 无
void clear(ClearFlag f = Clear_All)
function: 清空几何面的数据
parameters:
[i]ClearFlag f = Clear_All: 清空标记
return value: 无
const XGeometry * getUpperEntity(int index) const
const XSolid * getFirstParentBody() const
function: 获取第一个父拓扑对象
parameters: NULL
return value: 第一个父拓扑对象
bool isUpperEntity(const XGeometry * pBody) const
int getUpperCount() const
function: 获取父拓扑对象的个数
parameters: NULL
return value: 父拓扑对象的个数
void addUpperEntity(const XGeometry * pBody)
function: 添加父拓扑对象
parameters:
[i]const XGeometry * pBody: 父拓扑对象
return value: 无
void removeUpperEntity(const XGeometry *pBody)
function: 删除父拓扑对象
parameters:
[i]const XGeometry *pBody: 父拓扑对象
return value: 无
void write(XBinaryIO * io)const
ErrorCode read(GeometryManager * esmgr, XBinaryIO * io)
void updateAfterRenumber(TypeID tid)