OpenLexocad  27.0
VertexTool.h
Go to the documentation of this file.
1 #pragma once
2 
3 #pragma warning(push)
4 #pragma warning(disable : 4100)
5 #pragma warning(disable : 4005)
6 
7 #include <Base/Double.h>
8 #include <Geom/Circ.h>
9 #include <Geom/Dir.h>
10 #include <Geom/Pnt.h>
11 #include <Geom/Vec.h>
12 #include <Topo/Shape.h>
13 #include <Topo/topo_defines.h>
14 
15 #pragma warning(pop)
16 
17 namespace Topo
18 {
26 {
27 public:
30 
32  // //
33  // --------------------- BEGIN API --------------------- //
34  // //
35  // ATTENTION: DO NOT CHANGE ANY SIGNATURES IN THE API ! //
36  // //
38 
40  static pVertex makeVertex(const Geom::Pnt& p);
42  static pVertex transformed(pConstVertex base, const Geom::Trsf& t);
43 
45  // //
46  // ---------------------- END API ---------------------- //
47  // //
49 
50 #ifndef LXAPI // INTERFACES BELOW ARE -NOT- PART OF THE LEXOCAD API
51 
54  static void __setDefaultVertexTool__(Topo::VertexTool* tool) { _defaultTool = tool; }
55 
56 protected:
57  virtual pVertex _makeVertex(const Geom::Pnt& p);
58  static Topo::VertexTool* _defaultTool;
60 #endif
61 };
62 
63 } // namespace Topo
Tools for creating, manipulating and querying Vertices.
Definition: VertexTool.h:25
#define TOPO_EXPORT
Definition: topo_defines.h:8
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
std::shared_ptr< Topo::Vertex > pVertex
Definition: Shape.h:86
VertexTool()
Definition: VertexTool.h:28
Definition: Trsf.h:58
Definition: Variant.h:70
std::shared_ptr< Topo::Vertex const > pConstVertex
Definition: Shape.h:101
~VertexTool()
Definition: VertexTool.h:29