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/FITKElementTet.h

152 lines
4.8 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 FITKElementTet.h
* @brief 四面体单元类型
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-08
*
*/
#ifndef _FITKELEMENT_TETRAHEDRON_H__
#define _FITKELEMENT_TETRAHEDRON_H__
#include "FITKInterfaceModelAPI.h"
#include "FITKAbstractElement.h"
namespace Interface
{
/**
* @brief 四节点四面体
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-08
*/
class FITKInerfaceModelAPI FITKElementTet4 : public FITKAbstractElement
{
public:
explicit FITKElementTet4();
virtual ~FITKElementTet4() = default;
/**
* @brief 获取单元类型
* @return FITKEleType
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual FITKModelEnum::FITKEleType getEleType() override;
/**
* @brief 获取单元节点数量
* @return int
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual int getNodeCount() override;
/**
* @brief 获取单元包含的面数量
* @return int
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual int getFaceCount()override;
/**
* @brief 获取单元包含的边数量
* @return int
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual int getEdgeCount()override;
/**
* @brief 获取第index个面
* @param[i] index 面索引从0开始
* @return QList<int> 面的节点索引其中的成员是指单元中的节点索引其成员大小不超过getNodeCount
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual QList<int> getFace(const int index)override;
/**
* @brief 获取第index个边
* @param[i] index 边索引从0开始
* @return QList<int> 边的节点索引其中的成员是指单元中的节点索引其成员大小不超过getNodeCount
* @author YanZhiHui (chanyuantiandao@126.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;
};
/**
* @brief 十节点四面体
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-08
*/
class FITKInerfaceModelAPI FITKElementTet10 : public FITKAbstractElement
{
public:
explicit FITKElementTet10();
virtual ~FITKElementTet10() = default;
/**
* @brief 获取单元类型
* @return FITKEleType
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual FITKModelEnum::FITKEleType getEleType() override;
/**
* @brief 获取单元节点数量
* @return int
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual int getNodeCount() override;
/**
* @brief 获取单元包含的面数量
* @return int
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual int getFaceCount()override;
/**
* @brief 获取单元包含的边数量
* @return int
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual int getEdgeCount()override;
/**
* @brief 获取第index个面
* @param[i] index 面索引从0开始
* @return QList<int> 面的节点索引其中的成员是指单元中的节点索引其成员大小不超过getNodeCount
* @author YanZhiHui (chanyuantiandao@126.com)
* @date 2024-02-28
*/
virtual QList<int> getFace(const int index)override;
/**
* @brief 获取第index个边
* @param[i] index 边索引从0开始
* @return QList<int> 边的节点索引其中的成员是指单元中的节点索引其成员大小不超过getNodeCount
* @author YanZhiHui (chanyuantiandao@126.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