OpenLexocad  27.1
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 
14 #pragma warning(pop)
15 
16 namespace Topo
17 {
24 class LX_TOPO_EXPORT VertexTool
25 {
26 public:
29 
31  // //
32  // --------------------- BEGIN API --------------------- //
33  // //
34  // ATTENTION: DO NOT CHANGE ANY SIGNATURES IN THE API ! //
35  // //
37 
39  static pVertex makeVertex(const Geom::Pnt& p);
41  static pVertex transformed(pConstVertex base, const Geom::Trsf& t);
42 
44  // //
45  // ---------------------- END API ---------------------- //
46  // //
48 
49 #ifndef LXAPI // INTERFACES BELOW ARE -NOT- PART OF THE LEXOCAD API
50 
53  static void __setDefaultVertexTool__(Topo::VertexTool* tool) { _defaultTool = tool; }
54 
55 protected:
56  virtual pVertex _makeVertex(const Geom::Pnt& p);
57  static Topo::VertexTool* _defaultTool;
59 #endif
60 };
61 
62 } // namespace Topo
Tools for creating, manipulating and querying Vertices.
Definition: VertexTool.h:24
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:43
std::shared_ptr< Topo::Vertex > pVertex
Definition: Shape.h:85
VertexTool()
Definition: VertexTool.h:27
Definition: Trsf.h:57
Definition: Variant.h:55
std::shared_ptr< Topo::Vertex const > pConstVertex
Definition: Shape.h:100
~VertexTool()
Definition: VertexTool.h:28