/usr/include/CGAL/Nef_3/SHalfloop.h is in libcgal-dev 4.11-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | // Copyright (c) 1997-2002 Max-Planck-Institute Saarbruecken (Germany).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org).
// You can redistribute it and/or modify it under the terms of the GNU
// General Public License as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $URL$
// $Id$
//
//
// Author(s) : Michael Seel <seel@mpi-sb.mpg.de>
// Miguel Granados <granados@mpi-sb.mpg.de>
// Susan Hert <hert@mpi-sb.mpg.de>
// Lutz Kettner <kettner@mpi-sb.mpg.de>
// Peter Hachenberger <hachenberger@mpi-sb.mpg.de>
#ifndef CGAL_NEF_SHALFLOOP_H
#define CGAL_NEF_SHALFLOOP_H
#include <CGAL/license/Nef_3.h>
#include <string>
#include <sstream>
#include <CGAL/IO/Verbose_ostream.h>
#include <CGAL/Nef_3/SNC_iteration.h>
#undef CGAL_NEF_DEBUG
#define CGAL_NEF_DEBUG 83
#include <CGAL/Nef_2/debug.h>
namespace CGAL {
template <typename Refs>
class SHalfloop_base {
typedef typename Refs::Mark Mark;
typedef typename Refs::Sphere_circle Sphere_circle;
typedef typename Refs::SHalfloop_handle SHalfloop_handle;
typedef typename Refs::SHalfloop_const_handle SHalfloop_const_handle;
typedef typename Refs::SFace_handle SFace_handle;
typedef typename Refs::SFace_const_handle SFace_const_handle;
typedef typename Refs::Halffacet_handle Halffacet_handle;
typedef typename Refs::Halffacet_const_handle Halffacet_const_handle;
SHalfloop_handle twin_;
SFace_handle incident_sface_;
Halffacet_handle facet_;
// temporary needed:
Mark mark_;
Sphere_circle circle_;
public:
SHalfloop_base() : twin_(), incident_sface_(), facet_(),
mark_(), circle_() {}
~SHalfloop_base() {
CGAL_NEF_TRACEN(" destroying SHalfloop_base item "<<&*this);
}
SHalfloop_base(const SHalfloop_base<Refs>& l)
{ twin_ = l.twin_;
incident_sface_ = l.incident_sface_;
facet_ = l.facet_;
mark_ = l.mark_;
circle_ = l.circle_;
}
SHalfloop_base<Refs>& operator=(const SHalfloop_base<Refs>& l)
{ twin_ = l.twin_;
incident_sface_ = l.incident_sface_;
facet_ = l.facet_;
mark_ = l.mark_;
circle_ = l.circle_;
return *this;
}
Mark& mark() { return mark_;}
const Mark& mark() const { return mark_; }
SHalfloop_handle& twin() { return twin_; }
SHalfloop_const_handle twin() const { return twin_; }
Sphere_circle& circle() { return circle_; }
const Sphere_circle& circle() const { return circle_; }
SFace_handle& incident_sface() { return incident_sface_; }
SFace_const_handle incident_sface() const { return incident_sface_; }
Halffacet_handle& facet() { return facet_; }
Halffacet_const_handle facet() const { return facet_; }
public:
std::string debug() const
{ std::stringstream os;
set_pretty_mode(os);
os<<"sl [ "<<circle_<<" ] ";
return os.str();
}
bool is_twin() const { return (&*twin_ < this); }
bool is_valid( bool verb = false, int level = 0) const {
Verbose_ostream verr(verb);
verr << "begin CGAL::SNC_items<...>::SHalfloop_base::is_valid( verb=true, "
"level = " << level << "):" << std::endl;
bool valid = (twin_ != SHalfloop_handle() && twin_ != NULL);
valid = valid && (incident_sface_ != SFace_handle() &&
incident_sface_ != NULL);
valid = valid && (facet_ != Halffacet_handle() &&
facet_ != NULL);
valid = valid && (circle_.d() == 0);
valid = valid && (circle_.a() != 0 || circle_.b() != 0 || circle_.c() !=0);
verr << "end of CGAL::SNC_items<...>::SHalfloop_base::is_valid(): structure is "
<< ( valid ? "valid." : "NOT VALID.") << std::endl;
return valid;
}
}; // SHalfloop_base
} //namespace CGAL
#endif //CGAL_NEF_SHALFLOOP_H
|