OpenLexocad  27.0
BooleanOperationAPI.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 #include <Geom/Pln.h>
5 #include <OpenLxApp/Element.h>
7 
8 #include <vector>
9 
13 namespace OpenLxApp
14 {
15 OPENLXAPP_EXPORT ErrorCode bop_cut(std::shared_ptr<Element> softElem,
16  std::shared_ptr<Element> hardElem,
17  std::vector<std::shared_ptr<Element>>& result);
18 OPENLXAPP_EXPORT ErrorCode bop_cut(std::shared_ptr<Element> softElem,
19  const std::vector<std::shared_ptr<Element>>& hardElems,
20  std::vector<std::shared_ptr<Element>>& result);
21 OPENLXAPP_EXPORT ErrorCode bop_cut(std::shared_ptr<Element> softElem,
22  std::shared_ptr<Element>* hardElems,
23  int hardElemsSize,
24  std::shared_ptr<Element>* result,
25  int resultSize,
26  int& nbElementsInResult);
27 OPENLXAPP_EXPORT ErrorCode bop_common(std::shared_ptr<Element> firstElem,
28  std::shared_ptr<Element> secondElem,
29  std::vector<std::shared_ptr<Element>>& result);
30 OPENLXAPP_EXPORT ErrorCode bop_cutWithPlane(std::shared_ptr<Element> elem, const Geom::Pln& plane, std::vector<std::shared_ptr<Element>>& result);
31 OPENLXAPP_EXPORT ErrorCode bop_splitByPlane(std::shared_ptr<Element> elem, const Geom::Pln& plane, std::vector<std::shared_ptr<Element>>& result);
32 OPENLXAPP_EXPORT ErrorCode bop_sectionWithPlane(std::shared_ptr<Element> elem, const Geom::Pln& plane, std::vector<std::shared_ptr<Element>>& result);
33 OPENLXAPP_EXPORT ErrorCode bop_section(std::shared_ptr<Element> firstElem,
34  std::shared_ptr<Element> secondElem,
35  std::vector<std::shared_ptr<Element>>& result);
36 OPENLXAPP_EXPORT ErrorCode bop_fuse(const std::vector<std::shared_ptr<Element>>& elems, std::shared_ptr<Element>& result);
37 
39 OPENLXAPP_EXPORT void bop_startTimer();
40 OPENLXAPP_EXPORT int bop_stopTimer();
41 OPENLXAPP_EXPORT int bop_elapsedTime();
43 } // namespace OpenLxApp
OPENLXAPP_EXPORT ErrorCode bop_sectionWithPlane(std::shared_ptr< Element > elem, const Geom::Pln &plane, std::vector< std::shared_ptr< Element >> &result)
Definition: Pln.h:59
OPENLXAPP_EXPORT ErrorCode bop_splitByPlane(std::shared_ptr< Element > elem, const Geom::Pln &plane, std::vector< std::shared_ptr< Element >> &result)
ErrorCode
Definition: Globals.h:85
OPENLXAPP_EXPORT ErrorCode bop_fuse(const std::vector< std::shared_ptr< Element >> &elems, std::shared_ptr< Element > &result)
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
OPENLXAPP_EXPORT ErrorCode bop_cut(std::shared_ptr< Element > softElem, std::shared_ptr< Element > hardElem, std::vector< std::shared_ptr< Element >> &result)
OPENLXAPP_EXPORT ErrorCode bop_common(std::shared_ptr< Element > firstElem, std::shared_ptr< Element > secondElem, std::vector< std::shared_ptr< Element >> &result)
OPENLXAPP_EXPORT ErrorCode bop_section(std::shared_ptr< Element > firstElem, std::shared_ptr< Element > secondElem, std::vector< std::shared_ptr< Element >> &result)
OPENLXAPP_EXPORT ErrorCode bop_cutWithPlane(std::shared_ptr< Element > elem, const Geom::Pln &plane, std::vector< std::shared_ptr< Element >> &result)