BIMHome v1.0.0
BIMHome接口文档说明
ExtrusionFactory.h
浏览该文件的文档.
1/************************************************************************
2* @file ExtrusionFactory.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_EXTRUSIONFACTORY_H
19#define PLATFORMALGORITHM_EXTRUSIONFACTORY_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 ExtrusionFactory
39 {
40
41 public:
54 double dLength, bool bSolid, const std::string& sObjname = "Extrusion", App::IDocument* pIDoc = nullptr);
55
69 double dLength, bool bSolid, double dTaperAngle, const std::string& sObjname = "Extrusion", App::IDocument* pIDoc = nullptr);
70
81 double dLength, bool bSolid);
82
94 double dLength, bool bSolid, double dTaperAngle);
95
107 App::IDocument* pDoc,
108 App::IDocumentObject* pCurveObject,
109 const std::string& elementName,
110 const std::string& vector,
111 const std::string& objName = "Stretch");
112
122 const std::string& sObjname = "Extrusion", App::IDocument* pIDoc = nullptr);
123 };
124
125}
126
127
128#endif // PLATFORMALGORITHM_EXTRUSIONFACTORY_H
文档接口类
Definition IDocument.h:43
Definition IDocumentObject.h:35
static void updateExtrusionParameters(App::IDocumentObject *pIObj, App::IDocumentObject *pBase, const Base::Vector3d &vDir, double dLength, bool bSolid)
更新拉伸
static App::IDocumentObject * createExtrusionAllObj(const Base::Vector3d &vDir, const std::string &sObjname="Extrusion", App::IDocument *pIDoc=nullptr)
创建拉伸多个模型
static App::IDocumentObject * createExtrusion(App::IDocumentObject *pIObj, const Base::Vector3d &vDir, double dLength, bool bSolid, const std::string &sObjname="Extrusion", App::IDocument *pIDoc=nullptr)
创建拉伸
static App::IDocumentObject * createExtrusion(App::IDocumentObject *pObj, const Base::Vector3d &vDir, double dLength, bool bSolid, double dTaperAngle, const std::string &sObjname="Extrusion", App::IDocument *pIDoc=nullptr)
创建拉伸
static void updateExtrusionParameters(App::IDocumentObject *pIObj, App::IDocumentObject *pBase, const Base::Vector3d &vDir, double dLength, bool bSolid, double dTaperAngle)
更新拉伸
static App::IDocumentObject * createStretchSolidByCurve(App::IDocument *pDoc, App::IDocumentObject *pCurveObject, const std::string &elementName, const std::string &vector, const std::string &objName="Stretch")
基于给定的曲线对象创建一个沿指定方向拉伸的实体
Definition ExtrusionFactory.h:39
Definition BaseFigureFactory.h:28
Definition BaseFigureFactory.h:24
Definition BaseFigureFactory.h:33