Fix Homogeneous and Visibility

This commit is contained in:
Andreas Fabri 2018-03-21 07:59:53 +01:00
parent 54a45c6a5e
commit ac93cec931
3 changed files with 33 additions and 8 deletions

View File

@ -917,21 +917,24 @@ cartesian(int i, int j) const
case 0: return FT(_cos) / FT(_den);
case 1: return - FT(_sin) / FT(_den);
case 2: return RT(0);
default: CGAL_ASSUME(false);
}
case 1: switch (j)
{
case 0: return FT(_sin) / FT(_den);
case 1: return FT(_cos) / FT(_den);
case 2: return FT(0);
default: CGAL_ASSUME(false);
}
case 2: switch (j)
{
case 0: return FT(0);
case 1: return FT(0);
case 2: return FT(1);
default: CGAL_ASSUME(false);
}
}
return FT(0);
CGAL_ASSUME(false);
}
template < class R >
@ -947,21 +950,24 @@ homogeneous(int i, int j) const
case 0: return _sf_num;
case 1: return RT(0);
case 2: return RT(0);
default: CGAL_ASSUME(false);
}
case 1: switch (j)
{
case 0: return RT(0);
case 1: return _sf_num;
case 2: return RT(0);
default: CGAL_ASSUME(false);
}
case 2: switch (j)
{
case 0: return RT(0);
case 1: return RT(0);
case 2: return _sf_den;
default: CGAL_ASSUME(false);
}
}
return RT(0);
CGAL_ASSUME(false);
}
template <class R>
@ -977,21 +983,24 @@ cartesian(int i, int j) const
case 0: return FT(_sf_num) / FT(_sf_den);
case 1: return FT(0);
case 2: return FT(0);
default: CGAL_ASSUME(false);
}
case 1: switch (j)
{
case 0: return FT(0);
case 1: return FT(_sf_num) / FT(_sf_den);
case 2: return FT(0);
default: CGAL_ASSUME(false);
}
case 2: switch (j)
{
case 0: return FT(0);
case 1: return FT(0);
case 2: return FT(1);
default: CGAL_ASSUME(false);
}
}
return FT(0);
CGAL_ASSUME(false);
}
template < class R >
@ -1008,21 +1017,24 @@ homogeneous(int i, int j) const
case 0: return l.b()*l.b() - l.a()*l.a();
case 1: return l.a()*l.b()*mRT2;
case 2: return l.a()*l.c()*mRT2;
default: CGAL_ASSUME(false);
}
case 1: switch (j)
{
case 0: return l.a()*l.b()*mRT2;
case 1: return l.a()*l.a() - l.b()*l.b();
case 2: return l.b()*l.c()*mRT2;
default: CGAL_ASSUME(false);
}
case 2: switch (j)
{
case 0: return RT(0);
case 1: return RT(0);
case 2: return l.a()*l.a() + l.b()*l.b();
default: CGAL_ASSUME(false);
}
}
return RT(0);
CGAL_ASSUME(false);
}
template <class R>
@ -1039,21 +1051,24 @@ cartesian(int i, int j) const
case 0: return FT( l.b()-l.a() ) / FT( l.a()+l.b());
case 1: return FT( homogeneous(0,1)) / de;
case 2: return FT( homogeneous(0,2)) / de;
default: CGAL_ASSUME(false);
}
case 1: switch (j)
{
case 0: return FT( homogeneous(1,0)) / de;
case 1: return FT( l.a()-l.b() ) / FT( l.a()+l.b());
case 2: return FT( homogeneous(1,2)) / de;
default: CGAL_ASSUME(false);
}
case 2: switch (j)
{
case 0: return FT(0);
case 1: return FT(0);
case 2: return FT(1);
default: CGAL_ASSUME(false);
}
}
return FT(0);
GAL_ASSUME(false);
}
} //namespace CGAL

View File

@ -551,6 +551,7 @@ homogeneous(int i, int j) const
case 1: return t01;
case 2: return t02;
case 3: return t03;
default: CGAL_ASSUME(false);
}
case 1: switch (j)
{
@ -558,6 +559,7 @@ homogeneous(int i, int j) const
case 1: return t11;
case 2: return t12;
case 3: return t13;
default: CGAL_ASSUME(false);
}
case 2: switch (j)
{
@ -565,6 +567,7 @@ homogeneous(int i, int j) const
case 1: return t21;
case 2: return t22;
case 3: return t23;
default: CGAL_ASSUME(false);
}
case 3: switch (j)
{
@ -572,9 +575,10 @@ homogeneous(int i, int j) const
case 1: return RT0;
case 2: return RT0;
case 3: return t33;
default: CGAL_ASSUME(false);
}
}
return RT0;
CGAL_ASSUME(false);
}
template < class R >
@ -695,6 +699,7 @@ Translation_repH3<R>::homogeneous(int i, int j) const
case 1: return RT0;
case 2: return RT0;
case 3: return tv.hx();
default: CGAL_ASSUME(false);
}
case 1: switch (j)
{
@ -702,6 +707,7 @@ Translation_repH3<R>::homogeneous(int i, int j) const
case 1: return tv.hw();
case 2: return RT0;
case 3: return tv.hy();
default: CGAL_ASSUME(false);
}
case 2: switch (j)
{
@ -709,6 +715,7 @@ Translation_repH3<R>::homogeneous(int i, int j) const
case 1: return RT0;
case 2: return tv.hw();
case 3: return tv.hz();
default: CGAL_ASSUME(false);
}
case 3: switch (j)
{
@ -716,9 +723,10 @@ Translation_repH3<R>::homogeneous(int i, int j) const
case 1: return RT0;
case 2: return RT0;
case 3: return tv.hw();
default: CGAL_ASSUME(false);
}
}
return RT0;
CGAL_ASSUME(false);
}
template < class R >

View File

@ -129,8 +129,8 @@ private:
return 1;
case LEFT_TURN:
return 2;
default: CGAL_ASSUME(false);
}
return -1;
}
@ -223,6 +223,7 @@ private:
== Visibility_2::orientation_2(geom_traits, s2, t2, s1);
else
return true;
default: CGAL_ASSUME(false);
}
case LEFT_TURN:
switch (Visibility_2::orientation_2(geom_traits, s1, t1, s2)) {
@ -240,6 +241,7 @@ private:
== Visibility_2::orientation_2(geom_traits, s2, t2, s1);
else
return true;
default: CGAL_ASSUME(false);
}
}