mirror of https://github.com/CGAL/cgal
- Fix bug reported by Tamal : Static_filters<>'s functors copy ctors and
assignment operators were empty, while they should copy the data members.
This commit is contained in:
parent
6e19ee3681
commit
db6c69da31
|
|
@ -1,3 +1,7 @@
|
|||
Version 4.129 on 28 January 2002
|
||||
- Fix bug reported by Tamal : Static_filters<>'s functors copy ctors and
|
||||
assignment operators were empty, while they should copy the data members.
|
||||
|
||||
Version 4.128 on 10 January 2002
|
||||
- std::abort -> CGAL_CLIB_STD::abort().
|
||||
|
||||
|
|
|
|||
|
|
@ -146,12 +146,14 @@ public :
|
|||
}
|
||||
|
||||
private:
|
||||
// Bounds on fabs() of the coordinates of the Point_3s.
|
||||
// Bounds on fabs() of the coordinates of the Point_2s and Point_3s.
|
||||
mutable double max2x, max2y;
|
||||
mutable double max3x, max3y, max3z;
|
||||
|
||||
// A data member for each predicate.
|
||||
// Their state is related to the state of *this.
|
||||
// TODO : maybe they should be separate classes, with a pointer to the
|
||||
// kernel ? That way we could copy them.
|
||||
mutable Orientation_2 _orientation_2;
|
||||
mutable Orientation_3 _orientation_3;
|
||||
mutable Side_of_oriented_circle_2 _side_of_oriented_circle_2;
|
||||
|
|
|
|||
|
|
@ -45,9 +45,16 @@ protected:
|
|||
|
||||
// These operations are reserved to Static_filters<>, because the context of
|
||||
// a predicate is linked to the one of the Static_filter<> it is a member of.
|
||||
SF_Coplanar_orientation_3(const SF_Coplanar_orientation_3 &) {}
|
||||
SF_Coplanar_orientation_3(const SF_Coplanar_orientation_3 &s)
|
||||
: oxy(s.oxy), oyz(s.oyz), oxz(s.oxz) {}
|
||||
|
||||
SF_Coplanar_orientation_3 & operator=(const SF_Coplanar_orientation_3 &) {}
|
||||
SF_Coplanar_orientation_3 & operator=(const SF_Coplanar_orientation_3 &s)
|
||||
{
|
||||
oxy = s.oxy;
|
||||
oyz = s.oyz;
|
||||
oxz = s.oxz;
|
||||
return *this;
|
||||
}
|
||||
|
||||
SF_Coplanar_orientation_3() {}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,10 +64,14 @@ protected:
|
|||
|
||||
// These operations are reserved to Static_filters<>, because the context of
|
||||
// a predicate is linked to the one of the Static_filter<> it is a member of.
|
||||
SF_Side_of_bounded_circle_3(const SF_Side_of_bounded_circle_3 &) {}
|
||||
SF_Side_of_bounded_circle_3(const SF_Side_of_bounded_circle_3 &s)
|
||||
: _static_epsilon(s._static_epsilon) {}
|
||||
|
||||
SF_Side_of_bounded_circle_3& operator=(const SF_Side_of_bounded_circle_3 &)
|
||||
{}
|
||||
SF_Side_of_bounded_circle_3& operator=(const SF_Side_of_bounded_circle_3 &s)
|
||||
{
|
||||
_static_epsilon = s._static_epsilon;
|
||||
return *this;
|
||||
}
|
||||
|
||||
SF_Side_of_bounded_circle_3()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -63,9 +63,14 @@ protected:
|
|||
|
||||
// These operations are reserved to Static_filters<>, because the context of
|
||||
// a predicate is linked to the one of the Static_filter<> it is a member of.
|
||||
SF_Orientation_2(const SF_Orientation_2 &) {}
|
||||
SF_Orientation_2(const SF_Orientation_2 &s)
|
||||
: _static_epsilon(s._static_epsilon) {}
|
||||
|
||||
SF_Orientation_2 & operator=(const SF_Orientation_2 &) {}
|
||||
SF_Orientation_2 & operator=(const SF_Orientation_2 &s)
|
||||
{
|
||||
_static_epsilon = s._static_epsilon;
|
||||
return *this;
|
||||
}
|
||||
|
||||
SF_Orientation_2()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -58,9 +58,14 @@ protected:
|
|||
|
||||
// These operations are reserved to Static_filters<>, because the context of
|
||||
// a predicate is linked to the one of the Static_filter<> it is a member of.
|
||||
SF_Orientation_3(const SF_Orientation_3 &) {}
|
||||
SF_Orientation_3(const SF_Orientation_3 &s)
|
||||
: _static_epsilon(s._static_epsilon) {}
|
||||
|
||||
SF_Orientation_3 & operator=(const SF_Orientation_3 &) {}
|
||||
SF_Orientation_3 & operator=(const SF_Orientation_3 &s)
|
||||
{
|
||||
_static_epsilon = s._static_epsilon;
|
||||
return *this;
|
||||
}
|
||||
|
||||
SF_Orientation_3()
|
||||
{
|
||||
|
|
@ -108,6 +113,7 @@ private:
|
|||
double det = det3x3_by_formula(pqx, pqy, pqz,
|
||||
prx, pry, prz,
|
||||
psx, psy, psz);
|
||||
|
||||
#if 1
|
||||
// Fully static filter first.
|
||||
if (det > _static_epsilon) return POSITIVE;
|
||||
|
|
|
|||
|
|
@ -53,10 +53,14 @@ protected:
|
|||
|
||||
// These operations are reserved to Static_filters<>, because the context of
|
||||
// a predicate is linked to the one of the Static_filter<> it is a member of.
|
||||
SF_Side_of_oriented_circle_2(const SF_Side_of_oriented_circle_2 &) {}
|
||||
SF_Side_of_oriented_circle_2(const SF_Side_of_oriented_circle_2 &s)
|
||||
: _static_epsilon(s._static_epsilon) {}
|
||||
|
||||
SF_Side_of_oriented_circle_2& operator=(const SF_Side_of_oriented_circle_2 &)
|
||||
{}
|
||||
SF_Side_of_oriented_circle_2& operator=(const SF_Side_of_oriented_circle_2&s)
|
||||
{
|
||||
_static_epsilon = s._static_epsilon;
|
||||
return *this;
|
||||
}
|
||||
|
||||
SF_Side_of_oriented_circle_2()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -60,10 +60,14 @@ protected:
|
|||
|
||||
// These operations are reserved to Static_filters<>, because the context of
|
||||
// a predicate is linked to the one of the Static_filter<> it is a member of.
|
||||
SF_Side_of_oriented_sphere_3(const SF_Side_of_oriented_sphere_3 &) {}
|
||||
SF_Side_of_oriented_sphere_3(const SF_Side_of_oriented_sphere_3 &s)
|
||||
: _static_epsilon(s._static_epsilon) {}
|
||||
|
||||
SF_Side_of_oriented_sphere_3& operator=(const SF_Side_of_oriented_sphere_3 &)
|
||||
{}
|
||||
SF_Side_of_oriented_sphere_3& operator=(const SF_Side_of_oriented_sphere_3&s)
|
||||
{
|
||||
_static_epsilon = s._static_epsilon;
|
||||
return *this;
|
||||
}
|
||||
|
||||
SF_Side_of_oriented_sphere_3()
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue