GteTriangleKey.cpp
Go to the documentation of this file.
1 // David Eberly, Geometric Tools, Redmond WA 98052
2 // Copyright (c) 1998-2017
3 // Distributed under the Boost Software License, Version 1.0.
4 // http://www.boost.org/LICENSE_1_0.txt
5 // http://www.geometrictools.com/License/Boost/LICENSE_1_0.txt
6 // File Version: 3.0.0 (2016/06/19)
7 
8 #include <GTEnginePCH.h>
10 #include <algorithm>
11 
12 namespace gte
13 {
14 
15 
16 template<>
18 {
19  if (v0 < v1)
20  {
21  if (v0 < v2)
22  {
23  // v0 is minimum
24  V[0] = v0;
25  V[1] = v1;
26  V[2] = v2;
27  }
28  else
29  {
30  // v2 is minimum
31  V[0] = v2;
32  V[1] = v0;
33  V[2] = v1;
34  }
35  }
36  else
37  {
38  if (v1 < v2)
39  {
40  // v1 is minimum
41  V[0] = v1;
42  V[1] = v2;
43  V[2] = v0;
44  }
45  else
46  {
47  // v2 is minimum
48  V[0] = v2;
49  V[1] = v0;
50  V[2] = v1;
51  }
52  }
53 }
54 
55 template<>
57 {
58  if (v0 < v1)
59  {
60  if (v0 < v2)
61  {
62  // v0 is minimum
63  V[0] = v0;
64  V[1] = std::min(v1, v2);
65  V[2] = std::max(v1, v2);
66  }
67  else
68  {
69  // v2 is minimum
70  V[0] = v2;
71  V[1] = std::min(v0, v1);
72  V[2] = std::max(v0, v1);
73  }
74  }
75  else
76  {
77  if (v1 < v2)
78  {
79  // v1 is minimum
80  V[0] = v1;
81  V[1] = std::min(v2, v0);
82  V[2] = std::max(v2, v0);
83  }
84  else
85  {
86  // v2 is minimum
87  V[0] = v2;
88  V[1] = std::min(v0, v1);
89  V[2] = std::max(v0, v1);
90  }
91  }
92 }
93 
94 
95 }
GLfloat GLfloat v1
Definition: glcorearb.h:812
TriangleKey(int v0=-1, int v1=-1, int v2=-1)
GLfloat v0
Definition: glcorearb.h:811
GLfloat GLfloat GLfloat v2
Definition: glcorearb.h:813


geometric_tools_engine
Author(s): Yijiang Huang
autogenerated on Thu Jul 18 2019 04:00:01