Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. template<typename T> class Vertex;
  4. template<typename T> class HalfEdge;
  5. template<typename T> class Face;
  6. template<typename T> using HalfEdgePtr = HalfEdge<T>*;
  7.  
  8.  
  9. template<typename T>
  10. class Point {
  11. public:
  12.     T x, y;
  13. };
  14.  
  15. typedef Point<double> PointD;
  16.  
  17.  
  18. template<typename T>
  19. class HalfEdge {
  20. public:
  21.     Vertex<T> *origin;
  22.     Face<T> *face;
  23.     HalfEdgePtr<T> nextHE, prevHE, twinHE;
  24. };
  25.  
  26.  
  27. template<typename T>
  28. class Vertex {
  29. public:
  30.     Point<T> point;
  31.     HalfEdgePtr<T> halfEdge;
  32. };
  33.  
  34.  
  35. template<typename T>
  36. class Face {
  37. public:
  38.     HalfEdgePtr<T> boundary;
  39.     std::vector<HalfEdgePtr<T>> holes;
  40. };
  41.  
  42.  
  43. int main() {
  44.  
  45.  
  46.  
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement