OpenLexocad  28.0
VertexTool.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Topo/Types.h>
4 
5 namespace Geom
6 {
7 class Trsf;
8 class Pnt;
9 }
10 
11 namespace Topo
12 {
19 class LX_TOPO_EXPORT VertexTool
20 {
21 public:
24 
26  // //
27  // --------------------- BEGIN API --------------------- //
28  // //
29  // ATTENTION: DO NOT CHANGE ANY SIGNATURES IN THE API ! //
30  // //
32 
34  static pVertex makeVertex(const Geom::Pnt& p);
36  static pVertex transformed(pConstVertex base, const Geom::Trsf& t);
37 
39  // //
40  // ---------------------- END API ---------------------- //
41  // //
43 
44 #ifndef LXAPI // INTERFACES BELOW ARE -NOT- PART OF THE LEXOCAD API
45 
48  static void __setDefaultVertexTool__(Topo::VertexTool* tool) { _defaultTool = tool; }
49 
50 protected:
51  virtual pVertex _makeVertex(const Geom::Pnt& p);
52  static Topo::VertexTool* _defaultTool;
54 #endif
55 };
56 
57 } // namespace Topo
pConstVertex
std::shared_ptr< Topo::Vertex const > pConstVertex
Definition: Types.h:74
Topo::VertexTool
Tools for creating, manipulating and querying Vertices.
Definition: VertexTool.h:20
Topo::VertexTool::~VertexTool
~VertexTool()
Definition: VertexTool.h:23
Topo::VertexTool::makeVertex
static pVertex makeVertex(const Geom::Pnt &p)
Makes a Vertex from a point.
pVertex
std::shared_ptr< Topo::Vertex > pVertex
Definition: Types.h:57
Geom::Pnt
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:44
Topo::VertexTool::VertexTool
VertexTool()
Definition: VertexTool.h:22
Topo
Definition: DbgInfo.h:17
Types.h
Topo::VertexTool::transformed
static pVertex transformed(pConstVertex base, const Geom::Trsf &t)
Creates a copy of the vertex and transforms the copy.
Geom::Trsf
Definition: Trsf.h:58
Geom
Definition: PropertyContainer.h:33