BIMHome v1.0.0
BIMHome接口文档说明
SplitShapeFactory.h
浏览该文件的文档.
1/************************************************************************
2* @file SplitShapeFactory.h
3*
4* @brief 测试工具类类
5*
6* @details 测试工具类类
7*
8* @author sunpeng
9*
10* @version 版本号 V0.1
11*
12* @date 2025-6-18
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef PLATFORMALGORITHM_INTERFACE_SPLITSHAPEFACTORY_H
19#define PLATFORMALGORITHM_INTERFACE_SPLITSHAPEFACTORY_H
20
21#include <BHGlobal.h>
22#include <string>
23#include <vector>
24#include "Base/Vector3D.h"
25
26namespace App {
27 class IDocument;
28 class IDocumentObject;
29}
30
31namespace PlatformAlgorithm
32{
33 class PlatformAlgorithmEXPORTS SplitShapeFactory
34 {
35 public:
36
44 static int getSplitNumber(App::IDocumentObject* pObj, std::vector<Base::Vector3d> points);
45
56 static std::vector<App::IDocumentObject*> createSubObjsByPlaneSplit(App::IDocumentObject* pObj, std::vector<Base::Vector3d> points, const bool isGetSubElement = false, const std::string& objName = "SplitSubObj", App::IDocument* pParentDoc = nullptr);
57
68 static std::vector<App::IDocumentObject*> createSubObjsByPlaneSplit(App::IDocumentObject* pObj, App::IDocumentObject* pPlaneObj, const bool isGetSubElement = false, const std::string& objName = "SplitSubObj", App::IDocument* pParentDoc = nullptr);
69
70 //暂时直接传入父节点用于分割多个模型
81 static std::vector<App::IDocumentObject*> createSubObjsByPlaneSplit(App::IDocumentObject* pObj, const std::vector<App::IDocument*>& pParentDocList, std::vector<Base::Vector3d> points, const bool isGetSubElement = false, const std::string& objName = "SplitSubObj");
82
83 };
84}
85
86#endif //PLATFORMALGORITHM_INTERFACE_SPLITSHAPEFACTORY_H
文档接口类
Definition IDocument.h:43
Definition IDocumentObject.h:35
static std::vector< App::IDocumentObject * > createSubObjsByPlaneSplit(App::IDocumentObject *pObj, std::vector< Base::Vector3d > points, const bool isGetSubElement=false, const std::string &objName="SplitSubObj", App::IDocument *pParentDoc=nullptr)
通过平面分割创建子对象
static std::vector< App::IDocumentObject * > createSubObjsByPlaneSplit(App::IDocumentObject *pObj, App::IDocumentObject *pPlaneObj, const bool isGetSubElement=false, const std::string &objName="SplitSubObj", App::IDocument *pParentDoc=nullptr)
通过平面对象分割创建子对象
static std::vector< App::IDocumentObject * > createSubObjsByPlaneSplit(App::IDocumentObject *pObj, const std::vector< App::IDocument * > &pParentDocList, std::vector< Base::Vector3d > points, const bool isGetSubElement=false, const std::string &objName="SplitSubObj")
通过平面分割创建子对象(多文档版本)
static int getSplitNumber(App::IDocumentObject *pObj, std::vector< Base::Vector3d > points)
获取分割数目
Definition SplitShapeFactory.h:34
Definition BaseFigureFactory.h:28
Definition BaseFigureFactory.h:33