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

147 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 FITKElementQuad.h
* @brief 四边形单元声明
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-08
*
*/
#ifndef _FITKELEMENT_QUADRANGLE_H__
#define _FITKELEMENT_QUADRANGLE_H__
#include "FITKInterfaceModelAPI.h"
#include "FITKAbstractElement.h"
namespace Interface
{
/**
* @brief 四节点四边形
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-08
*/
class FITKInerfaceModelAPI FITKElementQuad4 : public FITKAbstractElement
{
public:
explicit FITKElementQuad4();
virtual ~FITKElementQuad4() = 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 FITKElementQuad8 : public FITKAbstractElement
{
public:
explicit FITKElementQuad8();
virtual ~FITKElementQuad8() = 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