XElement(ulong id, TypeID t)

原型 XElement(ulong id, TypeID t)
描述 构造函数
参数 [i]ulong id: 单元ID
[i] TypeID t: 单元类型
返回值

int getRId() const

原型 int getRId() const
描述 获取参考ID
参数
返回值 参考ID

void setRId(int id)

原型 void setRId(int id)
描述 设置参考ID
参数 [i]int id: 参考ID
返回值

void setFlag(int i)

原型 void setFlag(int i)
描述 设置辅助标志
参数 [i]int i: 标志值
返回值

int getFlag() const

原型 int getFlag() const
描述 获取辅助标志
参数
返回值 辅助标志值

void setExtData(void * pData)

原型 void setExtData(void * pData)
描述 设置扩展数据地址
参数 [i]void * pData: 扩展数据地址
返回值

void * getExtData() const

原型 void * getExtData() const
描述 获取扩展数据地址
参数
返回值 扩展数据地址

void setGeometry(const XGeometry * pData)

原型 void setGeometry(const XGeometry * pData)
描述 设置所属几何对象
参数 [i]const XGeometry * pData: 所属几何对象
返回值

const XGeometry * getGeometry() const

原型 const XGeometry * getGeometry() const
描述 设置所属几何对象
参数
返回值 所属几何对象

void setNodes(const NodePtr*ppNodes)

原型 void setNodes(const NodePtr*ppNodes)
描述 设置单元的节点
参数
返回值

void updateNodesPointer()

原型 void updateNodesPointer()
描述 更新节点数组地址,在FVM场景中使用
参数
返回值

NodePtr getNode(int index) const

原型 NodePtr getNode(int index) const
描述 访问第index个节点
参数 [i]int index: 节点序号
返回值 第index个节点对象

void setNode(int index,NodePtr n)

原型 void setNode(int index,NodePtr n)
描述 设置第index个节点
参数 [i]int index: 节点序号
[i]NodePtr n: 第index个节点对象
返回值

int getNodeCount() const

原型 int getNodeCount() const
描述 获取该单元的节点数
参数
返回值 节点数

static int getNodeCount(TypeID et)

原型 static int getNodeCount(TypeID et)
描述 静态函数,获取该单元类型的节点数
参数 [i]TypeID et: 单元类型
返回值 节点数

static int getVertexCount(TypeID et)

原型 static int getVertexCount(TypeID et)
描述 静态函数,获取该单元类型的角节点数(不含中节点)
参数 [i]TypeID et: 单元类型
返回值 角节点数

real getLength() const

原型 real getLength() const
描述 获取一维单元的长度值
参数
返回值 长度

real getArea() const

原型 real getArea() const
描述 计算二维单元的面积
参数
返回值 面积

real getVolume() const

原型 real getVolume() const
描述 计算三维单元的体积
参数
返回值

void getBoundbox(XBoundBox * box) const

原型 void getBoundbox(XBoundBox * box) const
描述 获得单元的空间包围盒
参数 [i]XBoundBox * box: 空间包围盒
返回值

void flip()

原型 void flip()
描述 翻转二维单元的节点顺序
参数
返回值

void calcCenter(float * center) const

原型 void calcCenter(float * center) const
描述 计算单元的中心坐标
参数 [o]float * center: 计算得到的中心坐标放入到其中
返回值

void calcNormal(float * normal) const

原型 void calcNormal(float * normal) const
描述 *function: 按照右手定则计算二维单元的法向
参数 [o]float * normal: 得到的单元法向方向放入到其中
返回值

void calcCenter(double * center) const

原型 void calcCenter(double * center) const
描述 计算单元的中心坐标
参数 [i]double * center: 计算得到的中心坐标放入到其中
返回值

void calcNormal(double * normal) const

原型 void calcNormal(double * normal) const
描述 按照右手定则计算二维单元的法向
参数 [i]double * normal: 得到的单元法向方向放入到其中
返回值

real calcQuality(CriterionType c) const

原型 real calcQuality(CriterionType c) const
描述 计算单元的质量
参数 [i]CriterionType c: 准则类型
返回值 对应准则的质量值

int buildSection(const XPlane * plane,SegmentPoint * sp, int * sectionFacetID = NULL) const

原型 int buildSection(const XPlane * plane,SegmentPoint * sp, int * sectionFacetID = NULL) const
描述 计算单元每一条单元边被平面所截的截面点数据
参数 [i]const XPlane * plane: 截平面
[i]SegmentPoint * sp: 截断点数组
[i] int * sectionFacetID = NULL:
返回值 截断点个数

int buildGLData(ArrayGLObject * gl_tri,ArrayGLObject * gl_seg) const

原型 int buildGLData(ArrayGLObject * gl_tri,ArrayGLObject * gl_seg) const
描述 为3D渲染生成数据
参数 [i]ArrayGLObject * gl_tri: 三角片数据
[i]ArrayGLObject * gl_seg: 线段数据
返回值 用于渲染的顶点坐标个数(渲染顶点个数×3)

void serialize(XBinaryIO * io,XModel * mdl,bool bSave)

原型 void serialize(XBinaryIO * io,XModel * mdl,bool bSave)
描述 序列化单元对象到二进制文件中
参数 [i]XBinaryIO * io: 二进制文件句柄
[i]XModel * mdl: 所属模型对象
[i]bool bSave: 是否保存单元对象
返回值

void mapGaussToNodal(const float * g_value,float * n_value,int numIntPoint) const

原型 void mapGaussToNodal(const float * g_value,float * n_value,int numIntPoint) const
描述 将积分点的值外插到节点上
参数 [i]const float * g_value: 积分点的值数组
[i]float * n_value: 节点上的值数组
[i]int numIntPoint: 积分点个数
返回值

void buildLocalCoordSystem(XCoordSystem * cs) const

原型 void buildLocalCoordSystem(XCoordSystem * cs) const
描述 构建单元局部坐标系
参数 [i]XCoordSystem * cs: 坐标系对象
返回值

void getJacobiMatrix(Vector3d * jacobi) const

原型 void getJacobiMatrix(Vector3d * jacobi) const
描述 计算单元雅可比矩阵
参数 [i]Vector3d * jacobi: 雅可比矩阵向量
返回值

void convertLocalTensorToGlobal(const double **localT, double ** globalT, int planeType = -1) const

原型 void convertLocalTensorToGlobal(const double **localT, double ** globalT, int planeType = -1) const
描述 将局部张量转换为全局坐标系下的张量
参数 [i]const double **localT: 单元局部坐标系下的张量
[i] double ** globalT: 全局坐标系下的张量
[i] int planeType = -1: 辅助参数,特殊场合下使用
返回值

Point1Element * toPoint1() const

原型 Point1Element * toPoint1() const
描述 常用函数,转换为点单元对象
参数
返回值 点单元对象

Line2Element * toBar2() const

原型 Line2Element * toBar2() const
描述 常用函数,转换为1阶线单元对象
参数
返回值 1阶线单元对象

Line3Element * toBar3() const

原型 Line3Element * toBar3() const
描述 常用函数,转换为2阶线单元对象
参数
返回值 2阶线单元对象

Tri3Element * toTri3() const

原型 Tri3Element * toTri3() const
描述 常用函数,转换为1阶三角形单元对象
参数
返回值 1阶三角形单元对象

Quad4Element * toQuad4() const

原型 Quad4Element * toQuad4() const
描述 常用函数,转换为1阶四边形单元对象
参数
返回值 1阶四边形单元对象

Tet4Element * toTet4() const

原型 Tet4Element * toTet4() const
描述 常用函数,转换为1阶四面体单元对象
参数
返回值 1阶四面体单元对象

Hex8Element * toHex8() const

原型 Hex8Element * toHex8() const
描述 常用函数,转换为1阶六面体单元对象
参数
返回值 1阶六面体单元对象

int calcSegmentPoints(SegmentPoint * sp, int eCnt, const XPlane * fp, const int eni[][2], int usedEdgeIndex[], int usedEdgeVertex[]) const

原型 int calcSegmentPoints(SegmentPoint * sp, int eCnt, const XPlane * fp, const int eni[][2], int usedEdgeIndex[], int usedEdgeVertex[]) const
描述 计算单元于平面相交的交点
参数 [i]SegmentPoint * sp: 交点数组
[i] int eCnt: 单元边的数目
[i] const XPlane * fp: 平面对象
[i] const int eni[][2]: 单元边节点数组
[i] int usedEdgeIndex[]: 使用过的单元边标志数组
[i] int usedEdgeVertex[]: 使用过的单元边节点标志数组
返回值