BIMHome v1.0.0
BIMHome接口文档说明
SweepFactory.h
浏览该文件的文档.
1/************************************************************************
2* @file SweepFactory.h
3*
4* @brief 扫掠创建工厂类
5*
6* @details 主要创建各种扫掠体
7*
8* @author tongyx
9*
10* @version 版本号 V0.1
11*
12* @date 2023-09-12
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef PLATFORMALGORITHM_SWEEPFACTORY_H
19#define PLATFORMALGORITHM_SWEEPFACTORY_H
20
21#include <BHGlobal.h>
22#include <string>
23#include <vector>
24#include <Base/Placement.h>
25
26namespace App {
27 class IDocument;
28 class IDocumentObject;
29}
30
31namespace Base {
32 class Placement;
33}
34
35namespace PlatformAlgorithm
36{
37
38 class PlatformAlgorithmEXPORTS SweepFactory
39 {
40
41 public:
42
54 static App::IDocumentObject* createSweep(App::IDocumentObject* vSection, App::IDocumentObject* pIObj, bool bSolid, long lTransition, const std::string& sObjname = "Sweep", App::IDocument* pIDoc = nullptr);
55
66 static void updateSweepParameters(App::IDocumentObject* pIObj, App::IDocumentObject* vSection, App::IDocumentObject* pIObjSpine, bool bSolid, long lTransition);
67
79 static App::IDocumentObject* createSweep(const std::vector<App::IDocumentObject*>& vSections, App::IDocumentObject* pIObj, bool bSolid, long lTransition, const std::string& sObjname = "Sweep", App::IDocument* pIDoc = nullptr);
80
91 static void updateSweepParameters(App::IDocumentObject* pIObj, const std::vector<App::IDocumentObject*>& vSections, App::IDocumentObject* pIObjSpine, bool bSolid, long lTransition);
92
109 static App::IDocumentObject* creatPipeByLine(App::IDocumentObject* pIObj, double dRadius, bool bSolid, bool bRuled, bool bClosed, double dDeflection, int Continuity, bool bIntegral,double tol, const std::string& sObjname = "Sweep", App::IDocument* pIDoc = nullptr);
110
124 static void updatePipeByLineParameters(App::IDocumentObject* pIObj, App::IDocumentObject* pILink, double dRadius, bool bSolid, bool bRuled, bool bClosed, double dDeflection, int Continuity);
125
140 static App::IDocumentObject* createPipeByPoints(const std::vector<Base::Vector3d>& points, double dRadius, bool bSolid, bool bRuled, bool bClosed, bool bIntegral, double tol, const std::string& sObjname = "Sweep", App::IDocument* pIDoc = nullptr);
141
153 static void updatePipeByPointsParameters(App::IDocumentObject* pIObj, const std::vector<Base::Vector3d>& points, double dRadius, bool bSolid, bool bRuled, bool bClosed);
154
168 static App::IDocumentObject* createPipeByCircles(const std::vector<App::IDocumentObject*>& IObjs, bool bSolid, bool bRuled, bool bClosed, bool bIntegral, double tol, const std::string& sObjname = "Sweep", App::IDocument* pIDoc = nullptr);
169
180 static void updatePipeByCirclesParameters(App::IDocumentObject* pIObj, const std::vector<App::IDocumentObject*>& IObjs, bool bSolid, bool bRuled, bool bClosed);
181
192 App::IDocument* pDoc,
193 App::IDocumentObject* spineCurve,
194 App::IDocumentObject* profileCurve,
195 const std::string& objName = "Sweep"
196 );
197
198 };
199
200}
201
202
203#endif // PLATFORMALGORITHM_SWEEPFACTORY_H
文档接口类
Definition IDocument.h:43
Definition IDocumentObject.h:35
static void updatePipeByCirclesParameters(App::IDocumentObject *pIObj, const std::vector< App::IDocumentObject * > &IObjs, bool bSolid, bool bRuled, bool bClosed)
更新圆放样生成扫掠
static void updateSweepParameters(App::IDocumentObject *pIObj, const std::vector< App::IDocumentObject * > &vSections, App::IDocumentObject *pIObjSpine, bool bSolid, long lTransition)
更新扫掠
static App::IDocumentObject * createPipeByPoints(const std::vector< Base::Vector3d > &points, double dRadius, bool bSolid, bool bRuled, bool bClosed, bool bIntegral, double tol, const std::string &sObjname="Sweep", App::IDocument *pIDoc=nullptr)
通过点和圆放样生成扫掠
static void updateSweepParameters(App::IDocumentObject *pIObj, App::IDocumentObject *vSection, App::IDocumentObject *pIObjSpine, bool bSolid, long lTransition)
更新扫掠
static void updatePipeByPointsParameters(App::IDocumentObject *pIObj, const std::vector< Base::Vector3d > &points, double dRadius, bool bSolid, bool bRuled, bool bClosed)
更新点和圆放样生成扫掠
static void updatePipeByLineParameters(App::IDocumentObject *pIObj, App::IDocumentObject *pILink, double dRadius, bool bSolid, bool bRuled, bool bClosed, double dDeflection, int Continuity)
更新线和圆放样生成扫掠
static App::IDocumentObject * createSweepSurfaceByCurve(App::IDocument *pDoc, App::IDocumentObject *spineCurve, App::IDocumentObject *profileCurve, const std::string &objName="Sweep")
曲线扫掠
static App::IDocumentObject * createSweep(const std::vector< App::IDocumentObject * > &vSections, App::IDocumentObject *pIObj, bool bSolid, long lTransition, const std::string &sObjname="Sweep", App::IDocument *pIDoc=nullptr)
创建扫掠
static App::IDocumentObject * createSweep(App::IDocumentObject *vSection, App::IDocumentObject *pIObj, bool bSolid, long lTransition, const std::string &sObjname="Sweep", App::IDocument *pIDoc=nullptr)
创建扫掠
static App::IDocumentObject * createPipeByCircles(const std::vector< App::IDocumentObject * > &IObjs, bool bSolid, bool bRuled, bool bClosed, bool bIntegral, double tol, const std::string &sObjname="Sweep", App::IDocument *pIDoc=nullptr)
通过圆放样生成扫掠
static App::IDocumentObject * creatPipeByLine(App::IDocumentObject *pIObj, double dRadius, bool bSolid, bool bRuled, bool bClosed, double dDeflection, int Continuity, bool bIntegral, double tol, const std::string &sObjname="Sweep", App::IDocument *pIDoc=nullptr)
通过线和圆放样生成扫掠
Definition SweepFactory.h:39
Definition BaseFigureFactory.h:28
Definition BaseFigureFactory.h:24
Definition BaseFigureFactory.h:33