User Tools

Site Tools


class:domain:xsolid

XSolid

Inherited from XGeometry,

Inherited by NULL

Friend class NULL

Description

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

为了便于构建实体几何的视图数据,XSolid缓存了它所包含的边界单元数组以及边界面号信息。

Members

Public interface


XRenderData m_XRenderData

实体几何的视图数据

vector<ElemPtr> m_pBoundaryElems

实体几何所包含的边界体单元数组

vector<int> m_pBoundaryFacetId

与边界单元对应的边界面号信息(可见面)


XSolid(ulong id,XMemPool * pHashPool = 0)

  • function: 构造函数
  • parameters:
    1. [i]ulong id: 对象ID
    2. [i]XMemPool * pHashPool = 0: 内存池
  • return value: 无

~XSolid()

  • function: 析构函数
  • parameters: NULL
  • return value: 无

real getVolume() const

  • function: 获取实体几何体积
  • parameters: NULL
  • return value: 实体体积

const XGeometry * getUpperEntity(int index) const

  • function: 重新实现XGeometry的getUpperEntity方法
  • parameters:
    1. [i]int index: 父拓扑对象序号
  • return value: XSolid不存在父拓扑,返回空

void addUpperEntity(const XGeometry * pGeom)

  • function: 重新实现XGeometry的addUpperEntity方法,XSolid不存在父拓扑
  • parameters:
    1. [i]const XGeometry * pGeom: 父拓扑对象
  • return value: 无

void removeUpperEntity(const XGeometry * pGeom)

  • function: 重新实现XGeometry的removeUpperEntity方法,XSolid不存在父拓扑
  • parameters:
    1. [i]const XGeometry * pGeom: 父拓扑对象
  • return value: 无

int getUpperCount() const

  • function: 重新实现XGeometry的getUpperCount方法,XSolid不存在父拓扑
  • parameters: NULL
  • return value: 返回0

void clear(ClearFlag f = Clear_All)

  • function: 重新实现XGeometry的clear方法
  • parameters:
    1. [i]ClearFlag f = Clear_All: 清空标记
  • return value: 无

void write(XBinaryIO * io)const

  • function: 将几何体对象写入到二进制文件中
  • parameters:
    1. [i]XBinaryIO * io: 二进制文件句柄
  • return value: 无

ErrorCode read(GeometryManager * esmgr, XBinaryIO * io)

  • function: 从二进制文件中读取几何对象数据
  • parameters:
    1. [i]GeometryManager * esmgr: 几何对象管理器
    2. [i] XBinaryIO * io: 二进制文件句柄
  • return value: 成功读取返回Error_None,否则返回相应错误码

void updateAfterRenumber(TypeID tid)

  • function: 在对模型对象重编号之后调用,用以更新对重编号对象的引用
  • parameters:
    1. [i]TypeID tid: 重编号的对象类型
  • return value: 无

const XRenderData * getRenderData() const

  • function: 重新实现XGeometry的getRenderData方法,获取视图数据
  • parameters: NULL
  • return value: 视图数据

void buildRenderData()

  • 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:
    1. [i]const float * colorValue: 值数组
    2. [i] int colorLoc: 值所在的位置类型(如单元积分点、单元节点或节点)
    3. [i] const float * deformX: 变形数组X分量
    4. [i] const float * deformY: 变形数组Y分量
    5. [i] const float * deformZ: 变形数组Z分量
    6. [i] const int * elemNodeIndex = NULL: 单元节点索引数组
  • return value: 无
class/domain/xsolid.txt · Last modified: 2023/05/06 07:01 (external edit)