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

147 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 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<int> 面的节点索引其中的成员是指单元中的节点索引其成员大小不超过getNodeCount
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-28
*/
virtual QList<int> getFace(const int index)override { return QList<int>(); };
/**
* @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;
};
/**
* @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<int> 面的节点索引其中的成员是指单元中的节点索引其成员大小不超过getNodeCount
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-28
*/
virtual QList<int> getFace(const int index) override { return QList<int>(); }
/**
* @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