Wm4Query2Int64.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef WM4QUERY2INT64_H
00018 #define WM4QUERY2INT64_H
00019
00020 #include "Wm4FoundationLIB.h"
00021 #include "Wm4Query2.h"
00022
00023 namespace Wm4
00024 {
00025
00026 template <class Real>
00027 class Query2Int64 : public Query2<Real>
00028 {
00029 public:
00030
00031
00032
00033 Query2Int64 (int iVQuantity, const Vector2<Real>* akVertex);
00034
00035
00036 virtual Query::Type GetType () const;
00037
00038
00039
00040 virtual int ToLine (const Vector2<Real>& rkP, int iV0, int iV1) const;
00041
00042 virtual int ToCircumcircle (const Vector2<Real>& rkP, int iV0, int iV1,
00043 int iV2) const;
00044
00045 private:
00046 using Query2<Real>::m_akVertex;
00047
00048 static Integer64 Dot (Integer64 iX0, Integer64 iY0, Integer64 iX1,
00049 Integer64 iY1);
00050
00051 static Integer64 Det2 (Integer64 iX0, Integer64 iY0, Integer64 iX1,
00052 Integer64 iY1);
00053
00054 static Integer64 Det3 (Integer64 iX0, Integer64 iY0, Integer64 iZ0,
00055 Integer64 iX1, Integer64 iY1, Integer64 iZ1,
00056 Integer64 iX2, Integer64 iY2, Integer64 iZ2);
00057 };
00058
00059 }
00060
00061 #include "Wm4Query2Int64.inl"
00062
00063 namespace Wm4
00064 {
00065 typedef Query2Int64<float> Query2Int64f;
00066 typedef Query2Int64<double> Query2Int64d;
00067
00068 }
00069
00070 #endif