/** * * @file FITKElementLine.h * @brief 线单元声明 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-04-13 * */ #ifndef _FITKELEMENT_LINE_H__ #define _FITKELEMENT_LINE_H__ #include "FITKInterfaceModelAPI.h" #include "FITKAbstractElement.h" namespace Interface { /** * @brief 2节点线 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-03-07 */ class FITKInerfaceModelAPI FITKElementLine2 : public FITKAbstractElement { public: explicit FITKElementLine2(); virtual ~FITKElementLine2() = default; /** * @brief 获取单元类型 * @return FITKEleType * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual FITKModelEnum::FITKEleType getEleType() 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 * @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 { return QList(); }; /** * @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; /** * @brief 获取单元维度 * @return int 1维线单元 2维壳单元 3维体单元 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-09 */ virtual int getElementDim() override; }; /** * @brief 3节点线 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-03-07 */ class FITKInerfaceModelAPI FITKElementLine3 : public FITKAbstractElement { public: explicit FITKElementLine3(); virtual ~FITKElementLine3() = default; /** * @brief 获取单元类型 * @return FITKEleType * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-02-28 */ virtual FITKModelEnum::FITKEleType getEleType() 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 * @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 { return QList(); } /** * @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; /** * @brief 获取单元维度 * @return int 1维线单元 2维壳单元 3维体单元 * @author LiBaojun (libaojunqd@foxmail.com) * @date 2024-07-09 */ virtual int getElementDim() override; }; } #endif