/** * * @file FITKElementPolygon.h * @brief 多边形单元类型声明 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-08-02 * */ #ifndef _FITKELEMENT_POLYGON__H___ #define _FITKELEMENT_POLYGON__H___ #include "FITKInterfaceModelAPI.h" #include "FITKAbstractElement.h" namespace Interface { /** * @brief 多边形单元类型 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-08-02 */ class FITKInerfaceModelAPI FITKElementPolygon : public FITKAbstractElement { public: explicit FITKElementPolygon() = default; virtual ~FITKElementPolygon() = default; /** * @brief 获取单元类型 * @return FITKEleType * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual FITKModelEnum::FITKEleType getEleType() override; /** * @brief 设置节点数量 * @param[i] c 节点数 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual void setNodeCount(const int c) override; /** * @brief 获取单元节点数量 * @return int * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual int getNodeCount() override; /** * @brief 获取单元包含的面数量 * @return int * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual int getFaceCount() override; /** * @brief 获取单元维度 * @return int 1维线单元 2维壳单元 3维体单元 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-09 */ virtual int getElementDim() override; /** * @brief 获取单元包含的边数量 * @return int * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual int getEdgeCount() override; /** * @brief 获取第index个面 * @param[i] index 面索引,从0开始 * @return QList 面的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual QList getFace(const int index) override; /** * @brief 获取第index个边 * @param[i] index 边索引,从0开始 * @return QList 边的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual QList getEdge(const int index) override; }; } #endif