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

115 lines
3.3 KiB
C

/**
*
* @file FITKUnstructuredMesh.h
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-07
*
*/
#ifndef __FITKABSTRUCTUNSTRUCTED_MESH_H__
#define __FITKABSTRUCTUNSTRUCTED_MESH_H__
#include "FITKInterfaceModelAPI.h"
#include "FITKNodeList.h"
#include "FITKElementList.h"
#include "FITKAbstractMesh.h"
namespace Interface
{
/**
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-07
*/
class FITKInerfaceModelAPI FITKUnstructuredMesh
: public FITKAbstractMesh, public FITKNodeList, public FITKElementList
{
public:
/**
* @brief Construct a new FITKUnstructuredMesh object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-07
*/
explicit FITKUnstructuredMesh();
/**
* @brief Destroy the FITKUnstructuredMesh object
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-03-07
*/
virtual ~FITKUnstructuredMesh();
/**
* @brief
* @return AbsModelType
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-27
*/
virtual FITKModelEnum::AbsModelType getAbsModelType() override;
/**
* @brief
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-02-27
*/
virtual void update() override;
/**
* @brief
* @return FITKModelEnum::FITKMeshDim
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-04-03
*/
virtual FITKModelEnum::FITKMeshDim getMeshDim() override;
/**
* @brief
* @param[i] eleIndex
* @return FITKElemntQuality
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-06-23
*/
FITKElemntQuality checkElementQuality(const int eleIndex);
/**
* @brief 线
* @param[o] dir
* @param[i] id ID
* @return bool
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-09
*/
bool getElementDirection(double* dir , const int id);
private:
/**
* @brief
* @param[i] edge ID
* @return double
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-06-23
*/
double calMeshEdgeLength(const QList<int> & edge);
/**
* @brief 线
* @param[o] dir
* @param[i] ele
* @return bool
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-09
*/
bool getLineEleDirection(double* dir, FITKAbstractElement* ele);
/**
* @brief
* @param[o] dir
* @param[i] ele
* @return bool
* @author LiBaojun (libaojunqd@foxmail.com)
* @date 2024-07-09
*/
bool getShellEleDirection(double* dir, FITKAbstractElement* ele);
};
}
#endif