User Tools

Site Tools


ftbl:class:domain:xelement

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[]: 使用过的单元边节点标志数组
返回值 无
ftbl/class/domain/xelement.txt · Last modified: 2025/05/09 14:46 (external edit)