OpenLexocad  27.0
VisibleEdge.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Topo/Shape.h>
4 #include <Topo/topo_defines.h>
5 
6 namespace Topo
7 {
9 {
10 public:
11  enum class VisibleEdgeInfo
12  {
13  EDGE_VIS, // visible segment
14  EDGE_HID, // hidden segment
15  EDGE_OCC, // occluded segment
16  EDGE_UND, // undefined visibility
17  EDGE_VIS_SMOOTH, // smooth but calculated as visible
18  EDGE_HID_SMOOTH // smooth but calculated as hidden
19  };
20 
21  VisibleEdge(pConstEdge e, pConstShape s_shape, VisibleEdgeInfo vis) : edge(e), source_shape(s_shape), visibility(vis){};
22 
23  pConstEdge getEdge() const { return edge; };
24  pConstShape getSourceShape() const { return source_shape; };
25  VisibleEdgeInfo getVisibility() const { return visibility; };
26 
27 private:
28  pConstEdge edge;
29  VisibleEdgeInfo visibility;
30  pConstShape source_shape;
31 };
32 } // namespace Topo
VisibleEdge(pConstEdge e, pConstShape s_shape, VisibleEdgeInfo vis)
Definition: VisibleEdge.h:21
#define TOPO_EXPORT
Definition: topo_defines.h:8
std::shared_ptr< Topo::Edge const > pConstEdge
Definition: Shape.h:99
VisibleEdgeInfo
Definition: VisibleEdge.h:11
pConstShape getSourceShape() const
Definition: VisibleEdge.h:24
Definition: VisibleEdge.h:8
Definition: Variant.h:70
std::shared_ptr< Topo::Shape const > pConstShape
Definition: Variant.h:81
pConstEdge getEdge() const
Definition: VisibleEdge.h:23
VisibleEdgeInfo getVisibility() const
Definition: VisibleEdge.h:25