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/FITKInterfaceMeshGen/FITKGeometryMeshSize.h

167 lines
5.0 KiB
C

/**
* @file FITKGeometryMeshSize.h
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
#ifndef __FITKGEOMETRYMESHSIZE_H__
#define __FITKGEOMETRYMESHSIZE_H__
#include "FITKInterfaceMeshGenAPI.h"
#include "FITK_Kernel/FITKCore/FITKAbstractNDataObject.h"
#include "FITK_Kernel/FITKCore/FITKVarientParams.h"
#include "FITK_Kernel/FITKCore/FITKAbstractDataManager.hpp"
namespace Interface
{
class FITKGeoComponent;
class FITKAbsGeoCommand;
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
class FITKInterfaceMeshGenAPI FITKGeometryMeshSize :
public Core::FITKAbstractNDataObject, public Core::FITKVarientParams
{
Q_OBJECT
FITKCLASS(Interface, FITKGeometryMeshSize);
public:
/**
* @brief Construct a new FITKGeometryMeshSize object
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
explicit FITKGeometryMeshSize() = default;
/**
* @brief Destroy the FITKGeometryMeshSize object
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
virtual ~FITKGeometryMeshSize() = default;
/**
* @brief Id
* @param[i] geoComponentId Id
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-23
*/
void setGeoGroupComponentId(int geoComponentId);
/**
* @brief Id
* @return int
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-23
*/
int getGeoGroupComponentId();
/**
* @brief
* @return Interface::FITKGeoComponent*
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-26
*/
Interface::FITKGeoComponent* getGeoComponent();
/**
* @brief
* @return Interface::FITKAbsGeoCommand*
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-26
*/
Interface::FITKAbsGeoCommand* getGeoModel();
/**
* @brief
* @param[i] number
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
void setLayerNumber(int number);
/**
* @brief
* @return int
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
int getLayerNumber();
/**
* @brief
* @param[i] expansionRatio
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
void setExpansionRatio(double expansionRatio);
/**
* @brief
* @return double
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
double getExpansionRatio();
/**
* @brief
* @param[i] layerThickness
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
void setLayerThickness(double layerThickness);
/**
* @brief
* @return double
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
double getLayerThickness();
private:
/**
* @brief Id
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
int _geoGroupComponentId{ 0 };
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
int _layerNum{ 5 };
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
double _expansionRatio{ 1.25 };
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
double _layerThickness{ 0.2 };
};
}
namespace Interface
{
/**
* @brief
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
class FITKInterfaceMeshGenAPI FITKGeometryMeshSizeManager :
public Core::FITKAbstractDataManager<FITKGeometryMeshSize>
{
public:
/**
* @brief Construct a new FITKGeometryMeshSizeManager object
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
explicit FITKGeometryMeshSizeManager() = default;
/**
* @brief Destroy the FITKGeometryMeshSizeManager object
* @author liuzhonghua (liuzhonghuaszch@163.com)
* @date 2024-07-22
*/
virtual ~FITKGeometryMeshSizeManager() = default;
};
}
#endif