00001
00002
00003 #if !defined(__cpt_Vertex_h__)
00004 #define __cpt_Vertex_h__
00005
00006
00007 #include "defs.h"
00008
00009 #include "../ads/array/FixedArray.h"
00010 #include "../ads/algorithm/sign.h"
00011
00012 #include "../geom/grid/RegularGrid.h"
00013 #include "../geom/kernel/Point.h"
00014 #include "../geom/polytope/IndexedEdgePolyhedron.h"
00015 #include "../geom/polytope/ScanConversionPolyhedron.h"
00016
00017 #include <vector>
00018
00019 #include <cmath>
00020
00021 BEGIN_NAMESPACE_CPT
00022
00023
00024 template<int N, typename T = double>
00025 class Vertex;
00026
00027
00029
00030 template<int N, typename T>
00031 bool
00032 operator==(const Vertex<N,T>& a, const Vertex<N,T>& b);
00033
00034
00036
00037 template<int N, typename T>
00038 inline
00039 bool
00040 operator!=(const Vertex<N,T>& a, const Vertex<N,T>& b) {
00041 return !(a == b);
00042 }
00043
00044
00045 END_NAMESPACE_CPT
00046
00047 #define __cpt_Vertex2_ipp__
00048 #include "Vertex2.ipp"
00049 #undef __cpt_Vertex2_ipp__
00050
00051 #define __cpt_Vertex3_ipp__
00052 #include "Vertex3.ipp"
00053 #undef __cpt_Vertex3_ipp__
00054
00055 #endif