You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AppFlow/FITK_Interface/FITKInterfaceModel/FITKElementTri.h

148 lines
4.7 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
*
* @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