Ocular Engine
HalfEdgeStructs.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_MATH_HALF_EDGE_STRUCTS__H__
19 #define __H__OCULAR_MATH_HALF_EDGE_STRUCTS__H__
20 
21 #include "Math/Geometry/Vertex.hpp"
22 
23 //------------------------------------------------------------------------------------------
24 
29 namespace Ocular
30 {
35  namespace Math
36  {
50  struct HEVertex;
51  struct HEEdge;
52  struct HEFace;
53 
59  struct HEVertex
60  {
62  Vertex* vertex;
63  };
64 
70  struct HEEdge
71  {
74 
76 
80  };
81 
87  struct HEFace
88  {
90  };
91  }
95 }
100 //------------------------------------------------------------------------------------------
101 
102 #endif
HEVertex * from
The vertex this half-edge originates from.
Definition: HalfEdgeStructs.hpp:72
HEFace * face
The face this half-edge belongs to.
Definition: HalfEdgeStructs.hpp:75
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
HEVertex * to
The vertex this half-edge points to.
Definition: HalfEdgeStructs.hpp:73
Vertex * vertex
The base vertex.
Definition: HalfEdgeStructs.hpp:62
HEEdge * opposite
The opposite half-edge (starts at 'to' and points to 'from').
Definition: HalfEdgeStructs.hpp:79
Definition: HalfEdgeStructs.hpp:87
HEEdge * edge
One of the half-edges that starts at this vertex.
Definition: HalfEdgeStructs.hpp:61
Definition: HalfEdgeStructs.hpp:70
HEEdge * edge
One of the half-edges that bounds this face.
Definition: HalfEdgeStructs.hpp:89
Definition: HalfEdgeStructs.hpp:59
HEEdge * prev
The previous half-edge in this face (counter-clockwise).
Definition: HalfEdgeStructs.hpp:78
HEEdge * next
The next half-edge in this face (counter-clockwise).
Definition: HalfEdgeStructs.hpp:77