User Tools

Site Tools


class:domain:xedge

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)

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

~XEdge()

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

void updateBoundbox()

  • function: 更新几何边的包围盒
  • parameters: NULL
  • return value: 无

real getLength() const

  • function: 计算几何边的长度
  • parameters: NULL
  • return value: 几何边的长度

real getNorm2()const

  • function: 计算几何边的第二范数
  • parameters: NULL
  • return value: 几何边的第二范数

bool isClosed() const

  • function: 判断几何边是否为闭合边
  • parameters: NULL
  • return value: 几何边为闭合边时返回true,否则返回false

const XVertex * getEndVertex0() const

  • function: 获取几何边的第一个端顶点
  • parameters: NULL
  • return value: 几何边的第一个端顶点

const XVertex * getEndVertex1() const

  • function: 获取几何边的第二个端顶点
  • parameters: NULL
  • return value: 几何边的第二个端顶点

ulong getEndVertexID0() const

  • function: 获取几何边的第一个端顶点ID
  • parameters: NULL
  • return value: 几何边的第一个端顶点ID,如不存在返回0

ulong getEndVertexID1() const

  • function: 获取几何边的第二个端顶点ID
  • parameters: NULL
  • return value: 几何边的第二个端顶点ID,如不存在返回0

const XNode * getEndNode0() const

  • function: 获取几何边的第一个端顶点所在的节点
  • parameters: NULL
  • return value: 几何边的第一个端顶点所在的节点,如不存在返回0

const XNode * getEndNode1() const

  • function: 获取几何边的第二个端顶点所在的节点
  • parameters: NULL
  • return value: 几何边的第二个端顶点所在的节点,如不存在返回0

const XGeometry * getUpperEntity(int index) const

  • function: 重新实现XGeometry的getUpperEntity方法,获取第index个父拓扑对象
  • parameters:
    1. [i]int index: 父拓扑对象序号
  • return value: 父拓扑对象

bool isUpperEntity(const XGeometry * pFace)const

  • function: 判断pFace是否为几何边对象的父拓扑对象
  • parameters:
    1. [i]const XGeometry * pFace: 几何拓扑对象
  • return value: pFace为几何边对象的父拓扑对象返回true,否则返回false

void addUpperEntity(const XGeometry * pFace)

  • function: 添加父拓扑对象
  • parameters:
    1. [i]const XGeometry * pFace: 父拓扑对象
  • return value: 无

void removeUpperEntity(const XGeometry *pFace)

  • function: 删除父拓扑对象
  • parameters:
    1. [i]const XGeometry *pFace: 父拓扑对象
  • return value: 无

void buildRenderDataFVM()

  • function: 构建有限体积法下的几何边渲染视图数据
  • 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 * colorIndex = 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: 无

const XRenderData * getRenderData() const

  • function: 获取几何边的渲染视图数据
  • parameters: NULL
  • return value: 无

void clear(ClearFlag f = Clear_All)

  • function: 清空几何边的数据
  • parameters:
    1. [i]ClearFlag f = Clear_All: 清空标记
  • return value: 无

const XBoundBox & getBoundBox() const

  • function: 获取几何边的包围盒
  • parameters: NULL
  • return value: 几何边的包围盒

void normalizeBoundBox(const real * origin, real scale)

  • function: 归一化几何边的包围盒
  • parameters:
    1. [i]const real * origin: 归一化基准点
    2. [i] real scale: 归一化系数
  • return value: 无

void restoreBoundBox(const real * origin, real scale)

  • function: 归一化之后恢复几何面的原始包围盒
  • parameters:
    1. [i]const real * origin: 归一化基准点
    2. [i] real scale: 归一化系数
  • return value: 无

void copyBoundBox(const XEdge * e)

  • function: 拷贝几何面对象的包围盒
  • parameters:
    1. [i]const XEdge * e: 参考几何边对象
  • return value: 无

ulong getChildCount() const

  • function: 获取子拓扑对象个数
  • parameters: NULL
  • return value: 子拓扑对象个数

const XGeometry * getChildEntity(ulong id)const

  • function: 获取指定ID的子拓扑对象
  • parameters:
    1. [i]ulong id: 子拓扑对象ID
  • return value: 如包含指定ID的子拓扑对象,返回该对象,否则返回空

int getUpperCount() const

  • function: 获取父拓扑对象的个数
  • parameters: NULL
  • 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 = DItem_Element)

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

void backupColor()

  • function: 备份颜色
  • parameters: NULL
  • return value: 无

void recoverColor()

  • function: 恢复备份颜色
  • parameters: NULL
  • return value: 无

void getCenter(real * c) const

  • function: 计算几何边的中心
  • parameters:
    1. [i]real * c: 中心坐标
  • return value: 无

bool isLoop() const

  • function: 是否为闭合曲线
  • parameters: NULL
  • return value: 是闭合曲线返回true,否则返回false

void attachChildEntity(const XGeometry * pEntity)

  • function: 绑定几何边对象与子拓扑对象的从属关系
  • parameters:
    1. [i]const XGeometry * pEntity: 子拓扑对象
  • return value: 无

void detachChildEntity(ulong id)

  • function: 解除几何边对象与子拓扑对象的从属关系
  • parameters:
    1. [i]ulong id: 子拓扑对象ID
  • return value: 无

void setEndVertex0(const XVertex * pVertex)

  • function: 设置第一个端顶点
  • parameters:
    1. [i]const XVertex * pVertex: 顶点对象
  • return value: 无

void setEndVertex1(const XVertex * pVertex)

  • function: 设置第二个端顶点
  • parameters:
    1. [i]const XVertex * pVertex: 顶点对象
  • return value: 无
class/domain/xedge.txt · Last modified: 2023/05/06 07:01 (external edit)