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/FITKInterfaceGeometry/FITKAbsGeoModelOperSolid.h

397 lines
12 KiB
C

/*****************************************************************//**
* @file FITKAbsGeoModelOperSolid.h
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*********************************************************************/
#ifndef FITKABSGEOMODELOPERSOLID_H
#define FITKABSGEOMODELOPERSOLID_H
#include "FITKAbsGeoModelSolid.h"
#include "FITKInterfaceGeometryAPI.h"
namespace Interface
{
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
class FITKInterfaceGeometryAPI FITKAbsGeoModelChamferSolid : public FITKAbsGeoModelSolid
{
public:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
FITKAbsGeoModelChamferSolid() = default;
/**
* @brief []
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
virtual ~FITKAbsGeoModelChamferSolid() = default;
/**
* @brief []
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
FITKGeoEnum::FITKGeometryComType getGeometryCommandType() override;
/**
* @brief ID
* @param cmdIdID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
void setInputCmdId(int cmdId);
/**
* @brief ID
* @return ID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
int getInputCmdId();
/**
* @brief ID
* @param edgeIdsID[]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
void setEdgeIds(QList<int> edgeIds);
/**
* @brief ID
* @return ID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
QList<int> & getEgdeIds();
/**
* @brief
* @param dist
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
void setDistance(double dist);
/**
* @brief
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
double getDistance();
protected:
/**
* @brief ID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
int m_solidCmdId = -1;
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
QList<int> m_edgeVirtualIds;
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
double m_dist = 0.;
};
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
class FITKInterfaceGeometryAPI FITKAbsGeoModelFilletSolid : public FITKAbsGeoModelSolid
{
public:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
FITKAbsGeoModelFilletSolid() = default;
/**
* @brief []
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
virtual ~FITKAbsGeoModelFilletSolid() = default;
/**
* @brief []
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
FITKGeoEnum::FITKGeometryComType getGeometryCommandType() override;
/**
* @brief ID
* @param cmdIdID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
void setInputCmdId(int cmdId);
/**
* @brief ID
* @return ID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
int getInputCmdId();
/**
* @brief ID
* @param edgeIdsID[]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
void setEdgeIds(QList<int> edgeIds);
/**
* @brief ID
* @return ID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
QList<int> & getEgdeIds();
/**
* @brief
* @param radius
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
void setRadius(double radius);
/**
* @brief
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-22
*/
double getRadius();
protected:
/**
* @brief ID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
int m_solidCmdId = -1;
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
QList<int> m_edgeVirtualIds;
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-20
*/
double m_radius = 0.;
};
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
class FITKInterfaceGeometryAPI FITKAbsGeoModelDefeatureSolid : public FITKAbsGeoModelSolid
{
public:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
FITKAbsGeoModelDefeatureSolid() = default;
/**
* @brief []
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
virtual ~FITKAbsGeoModelDefeatureSolid() = default;
/**
* @brief [][]
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-29
*/
virtual FITKGeoEnum::FITKGeometryComType getGeometryCommandType() override;
/**
* @brief ID
* @param cmdIdID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
void setInputCmdId(int cmdId);
/**
* @brief ID
* @return ID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
int getInputCmdId();
/**
* @brief ID
* @param faceIdsID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
void setFaceIds(QList<int> faceIds);
/**
* @brief ID
* @return ID[]
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
QList<int> & getFaceIds();
protected:
/**
* @brief ID
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
int m_solidCmdId = -1;
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
QList<int> m_faceVirtualIds;
};
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
class FITKInterfaceGeometryAPI FITKAbsGeoModelRemoveChamferSolid : public FITKAbsGeoModelDefeatureSolid
{
public:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
FITKAbsGeoModelRemoveChamferSolid() = default;
/**
* @brief []
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
virtual ~FITKAbsGeoModelRemoveChamferSolid() = default;
/**
* @brief []
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
FITKGeoEnum::FITKGeometryComType getGeometryCommandType() override;
};
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
class FITKInterfaceGeometryAPI FITKAbsGeoModelRemoveFilletSolid : public FITKAbsGeoModelDefeatureSolid
{
public:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
FITKAbsGeoModelRemoveFilletSolid() = default;
/**
* @brief []
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
virtual ~FITKAbsGeoModelRemoveFilletSolid() = default;
/**
* @brief []
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
FITKGeoEnum::FITKGeometryComType getGeometryCommandType() override;
};
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
class FITKInterfaceGeometryAPI FITKAbsGeoModelFillHoleSolid : public FITKAbsGeoModelDefeatureSolid
{
public:
/**
* @brief
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
FITKAbsGeoModelFillHoleSolid() = default;
/**
* @brief []
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
virtual ~FITKAbsGeoModelFillHoleSolid() = default;
/**
* @brief []
* @return
* @author ChengHaotian (yeguangbaozi@foxmail.com)
* @date 2024-08-26
*/
FITKGeoEnum::FITKGeometryComType getGeometryCommandType() override;
};
}
#endif // !FITKABSGEOMODELOPERSOLID_H