BIMHome v1.0.0
BIMHome接口文档说明
GeologyFactory.h
浏览该文件的文档.
1/************************************************************************
2* @file GeologyFactory.h
3*
4* @brief 地质工厂类
5*
6* @details 地质工厂类
7*
8* @author sunpeng
9*
10* @version 版本号 V0.1
11*
12* @date 2025-7-09
13*
14* @license 北京华科软科技有限公司
15*
16*************************************************************************/
17
18#ifndef PLATFORMALGORITHM_INTERFACE_PROFESSION_GEOLOGY_GEOLOGYFACTORY_H
19#define PLATFORMALGORITHM_INTERFACE_PROFESSION_GEOLOGY_GEOLOGYFACTORY_H
20
21#include <BHGlobal.h>
22#include <string>
23#include "Base/Vector3D.h"
24#include <vector>
25
26namespace App {
27 class IDocument;
28 class IDocumentObject;
29}
30
31namespace PlatformAlgorithm
32{
33 class PlatformAlgorithmEXPORTS GeologyFactory
34 {
35 public:
36
37 //将H3D的shape转为封闭流型的地质网格
39 App::IDocumentObject* pObject,
40 App::IDocument* pDoc = nullptr,
41 const std::string& objName = "GeologyMeshSurface");
42
52 const std::vector<Base::Vector3d>& points,
53 const std::string& objName = "GeologyMeshSurface",
54 App::IDocument* pDoc = nullptr);
55
67 App::IDocumentObject* pObject,
68 double bottomZ,
69 int bottomType,
70 const std::string& objName = "GeologicalMountain",
71 App::IDocument* pDoc = nullptr);
72
83 App::IDocumentObject* pObject1,
84 App::IDocumentObject* pObject2,
85 const std::string& objName = "GeologicalMountainCut",
86 App::IDocument* pDoc = nullptr);
87
88
89
90 //将H3D的shape转为封闭流型的地质网格
92 App::IDocumentObject* pObject,
93 App::IDocument* pDoc = nullptr,
94 const std::string& objName = "GeologyMeshSurface");
95
96 //通过点云集创建地质网格。
98 const std::vector<Base::Vector3d>& points,
99 App::IDocument* pDoc = nullptr,
100 const std::string& objName = "GeologyMeshSurface");
101
102 //对地质网格网格进行加厚(创建山体) --- 平底或者曲面底部(Z值统一向下偏移)
104 App::IDocumentObject* pObject,
105 double bottomValue,
106 int bottomType, // 1: 平底 (bottomValue:底部平面Z值) , 2:曲面(bottomValue:Z值向下偏移量)
107 App::IDocument* pDoc = nullptr,
108 const std::string& objName = "GeologicalMountain");
109
110 //对地质网格做布尔运算(交集(Intersection),并集(Union),差集(Difference))。
112 App::IDocumentObject* pArgObject,
113 App::IDocumentObject* pToolObject,
114 const std::string& booleanType,
115 App::IDocument* pDoc = nullptr);
116 };
117}
118
119#endif //PLATFORMALGORITHM_INTERFACE_PROFESSION_GEOLOGY_GEOLOGYFACTORY_H
文档接口类
Definition IDocument.h:43
Definition IDocumentObject.h:35
static App::IDocumentObject * createGeologySurface(const std::vector< Base::Vector3d > &points, const std::string &objName="GeologyMeshSurface", App::IDocument *pDoc=nullptr)
通过点集拟合地质图形
static App::IDocumentObject * createGeologySurface(const std::vector< Base::Vector3d > &points, App::IDocument *pDoc=nullptr, const std::string &objName="GeologyMeshSurface")
static App::IDocumentObject * createGeologicalMountainCut(App::IDocumentObject *pObject1, App::IDocumentObject *pObject2, const std::string &objName="GeologicalMountainCut", App::IDocument *pDoc=nullptr)
切割山体
static App::IDocumentObject * createGeologyMountain(App::IDocumentObject *pObject, double bottomValue, int bottomType, App::IDocument *pDoc=nullptr, const std::string &objName="GeologicalMountain")
static App::IDocumentObject * convertH3DShapeToGeologySurface(App::IDocumentObject *pObject, App::IDocument *pDoc=nullptr, const std::string &objName="GeologyMeshSurface")
static App::IDocumentObject * ShapeToGeologySurface(App::IDocumentObject *pObject, App::IDocument *pDoc=nullptr, const std::string &objName="GeologyMeshSurface")
static App::IDocumentObject * createGeologyMountain(App::IDocumentObject *pObject, double bottomZ, int bottomType, const std::string &objName="GeologicalMountain", App::IDocument *pDoc=nullptr)
生成山体
static App::IDocumentObject * geologicalBoolean(App::IDocumentObject *pArgObject, App::IDocumentObject *pToolObject, const std::string &booleanType, App::IDocument *pDoc=nullptr)
Definition GeologyFactory.h:34
Definition BaseFigureFactory.h:28
Definition BaseFigureFactory.h:33