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[]: 使用过的单元边节点标志数组 |
| 返回值 | 无 |