LAMPCAE/src/Geometry/geometryParaBoolOperation.h

121 lines
3.3 KiB
C
Raw Normal View History

2023-05-08 06:32:41 +00:00
/**
* @file geometryParaBoolOperation.h
* @brief
* @author LAMPCAE(LAMPCAE@diso.cn)
2023-05-08 06:32:41 +00:00
* @version 2.5.0
* @date 2022-03-28 15:56
* @copyright Copyright (c) Since 2020 All rights reserved.
*
* ============================================================================
* Program: LAMPCAE
2023-05-08 06:32:41 +00:00
*
* Copyright (c) Since 2020 All rights reserved.
* See License or http://www.LAMPCAE.com/ for details.
2023-05-08 06:32:41 +00:00
*
* BSD 3-Clause License
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED.
* ==================================================================================
*/
#ifndef _GEOMETRYPARABOOLOPERATION_H_
#define _GEOMETRYPARABOOLOPERATION_H_
#include "geometryModelParaBase.h"
#include "GeometryCommand/GeoCommandBool.h"
#include <QString>
namespace Geometry
{
/**
* @brief
* @since 2.5.0
*/
class GEOMETRYAPI GeometryParaBoolOperation : public GeometryModelParaBase
{
public:
/**
* @brief
* @since 2.5.0
*/
GeometryParaBoolOperation();
/**
* @brief
* @since 2.5.0
*/
~GeometryParaBoolOperation() = default;
/**
* @brief
* @param body1
* @since 2.5.0
*/
void setInputBody1(QPair<Geometry::GeometrySet *, int> body1);
/**
* @brief
* @return QPair<Geometry::GeometrySet *, int>
* @since 2.5.0
*/
QPair<Geometry::GeometrySet *, int> getBody1();
/**
* @brief
* @param body2
* @since 2.5.0
*/
void setInputBody2(QPair<Geometry::GeometrySet *, int> body2);
/**
* @brief
* @return QPair<Geometry::GeometrySet *, int>
* @since 2.5.0
*/
QPair<Geometry::GeometrySet *, int> getBody2();
/**
* @brief
* @param b
* @since 2.5.0
*/
void setType(BoolType b);
/**
* @brief
* @return BoolType
* @since 2.5.0
*/
BoolType getType();
QDomElement &writeToProjectFile(QDomDocument *doc, QDomElement *parent) override;
virtual void readDataFromProjectFile(QDomElement *e) override;
/**
* @brief
* @param b
* @return QString
* @since 2.5.0
*/
QString BoolTypeToString(BoolType b);
/**
* @brief
* @param s
* @return BoolType
* @since 2.5.0
*/
BoolType StringToBoolType(QString s);
private:
/**
* @brief
* @since 2.5.0
*/
BoolType _booltype;
/**
* @brief
* @since 2.5.0
*/
QPair<Geometry::GeometrySet *, int> _body1;
/**
* @brief
* @since 2.5.0
*/
QPair<Geometry::GeometrySet *, int> _body2;
};
}
#endif