51 #ifndef CGAL_SEGMENTS3_H
52 #define CGAL_SEGMENTS3_H
100 template <
class FT >
104 {
return (source() == s.
source()) && (target() == s.
target()); }
107 template <
class FT >
111 {
return !(*
this ==
s); }
114 template <
class FT >
119 template <
class FT >
124 template <
class FT >
129 template <
class FT >
134 template <
class FT >
144 template <
class FT >
154 template <
class FT >
158 {
return (i%2 == 0) ? source() : target(); }
161 template <
class FT >
165 {
return (i%2 == 0) ? source() : target(); }
168 template <
class FT >
172 {
return vertex(i); }
174 template <
class FT >
181 template <
class FT >
188 template <
class FT >
195 template <
class FT >
202 template <
class FT >
209 template <
class FT >
213 {
return source() == target(); }
216 template <
class FT >
220 {
return source().bbox() + target().bbox(); }
223 #ifndef CGAL_NO_OSTREAM_INSERT_SEGMENTS3
224 template <
class FT >
225 std::ostream& operator<<(std::ostream& os, const SegmentS3<FT>&
s)
229 return os <<
s.source() <<
' ' <<
s.target();
231 return os <<
s.source() <<
s.target();
233 return os <<
"SegmentS3(" <<
s.source() <<
", " <<
s.target() <<
")";
236 #endif // CGAL_NO_OSTREAM_INSERT_SEGMENTS3
238 #ifndef CGAL_NO_ISTREAM_EXTRACT_SEGMENTS3
239 template <
class FT >
249 #endif // CGAL_NO_ISTREAM_EXTRACT_SEGMENTS3
251 template <
class FT >
255 template <
class FT >
FT squared_length() const
PointS3< FT > target() const
PointS3< FT > start() const
bool lexicographically_xyz_smaller(const PointS3< FT > &p, const PointS3< FT > &q)
bool collinear_has_on(const PointS3< FT > &p) const
PointS3< FT > min() const
PointS3< FT > max() const
PointS3< FT > source() const
FT squared_distance(const PointS3< FT > &p, const PointS3< FT > &q)
bool are_ordered_along_line(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
PointS3< FT > end() const
PointS3< FT > operator[](int i) const
bool collinear_are_ordered_along_line(const Point_2< R > &p, const Point_2< R > &q, const Point_2< R > &r)
bool has_on(const PointS3< FT > &p) const
LineS3< FT > supporting_line() const
SegmentS3 transform(const Aff_transformationS3< FT > &t) const
PointS3< FT > point(int i) const
bool operator!=(const SegmentS3< FT > &s) const
bool operator==(const SegmentS3< FT > &s) const
DirectionS3< FT > direction() const
#define CGAL_BEGIN_NAMESPACE
bool is_degenerate() const
SegmentS3 opposite() const
#define CGAL_END_NAMESPACE
SegmentS3(const PointS3< FT > &sp, const PointS3< FT > &ep)
PointS3< FT > vertex(int i) const