|
|
/**
|
|
|
*
|
|
|
* @file FITKElementTri.h
|
|
|
* @brief 三角形单元声明
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
* @date 2024-04-13
|
|
|
*
|
|
|
*/
|
|
|
#ifndef _FITKELEMENT_TRIANGLE_H__
|
|
|
#define _FITKELEMENT_TRIANGLE_H__
|
|
|
|
|
|
#include "FITKInterfaceModelAPI.h"
|
|
|
#include "FITKAbstractElement.h"
|
|
|
|
|
|
namespace Interface
|
|
|
{
|
|
|
/**
|
|
|
* @brief 3节点三角形
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
* @date 2024-03-07
|
|
|
*/
|
|
|
class FITKInerfaceModelAPI FITKElementTri3 : public FITKAbstractElement
|
|
|
{
|
|
|
public:
|
|
|
explicit FITKElementTri3();
|
|
|
virtual ~FITKElementTri3() = 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<int> 面的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
* @date 2024-02-28
|
|
|
*/
|
|
|
virtual QList<int> getFace(const int index)override;
|
|
|
/**
|
|
|
* @brief 获取第index个边
|
|
|
* @param[i] index 边索引,从0开始
|
|
|
* @return QList<int> 边的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
* @date 2024-02-28
|
|
|
*/
|
|
|
virtual QList<int> getEdge(const int index) override;
|
|
|
/**
|
|
|
* @brief 获取单元维度
|
|
|
* @return int 1维线单元 2维壳单元 3维体单元
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
* @date 2024-07-09
|
|
|
*/
|
|
|
virtual int getElementDim();
|
|
|
};
|
|
|
/**
|
|
|
* @brief 6节点三角形
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
* @date 2024-03-07
|
|
|
*/
|
|
|
class FITKInerfaceModelAPI FITKElementTri6 : public FITKAbstractElement
|
|
|
{
|
|
|
public:
|
|
|
explicit FITKElementTri6();
|
|
|
virtual ~FITKElementTri6() = 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<int> 面的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
* @date 2024-02-28
|
|
|
*/
|
|
|
virtual QList<int> getFace(const int index) override;
|
|
|
/**
|
|
|
* @brief 获取第index个边
|
|
|
* @param[i] index 边索引,从0开始
|
|
|
* @return QList<int> 边的节点索引,其中的成员是指单元中的节点索引,其成员大小不超过getNodeCount
|
|
|
* @author LiBaojun (libaojunqd@foxmail.com)
|
|
|
* @date 2024-02-28
|
|
|
*/
|
|
|
virtual QList<int> 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
|
|
|
|