55 #ifndef CGAL_REP_CLASS_DEFINED
56 #error no representation class defined
57 #endif // CGAL_REP_CLASS_DEFINED
59 #ifdef CGAL_HOMOGENEOUS_H
61 #include <CGAL/LineH3.h>
62 #endif // CGAL_LINEH3_H
63 #endif // CGAL_HOMOGENEOUS_H
65 #ifdef CGAL_CARTESIAN_H
67 #include <CGAL/Cartesian/Line_3.h>
68 #endif // CGAL_LINEC3_H
69 #endif // CGAL_CARTESIAN_H
71 #ifdef CGAL_SIMPLE_CARTESIAN_H
73 #endif // CGAL_SIMPLE_CARTESIAN_H
76 #ifndef CGAL_SEGMENT_3_H
78 #endif // CGAL_SEGMENT_3_H
79 #ifndef CGAL_POINT_3_H
81 #endif // CGAL_POINT_3_H
84 #endif // CGAL_RAY_3_H
89 class Line_3 :
public R_::Line_3_base
93 typedef typename R::RT
RT;
94 typedef typename R::FT
FT;
102 const CGAL::Point_3<R> &
q) :
RLine_3(p,q)
112 const CGAL::Direction_3<R> &
d) :
RLine_3( p, d )
119 {
return !(*
this == l); }
122 {
return RLine_3::perpendicular_plane(p); }
128 {
return RLine_3::point(); }
131 {
return RLine_3::point(i); }
137 {
return RLine_3::direction(); }
139 bool has_on(
const CGAL::Point_3<R>& p)
const
140 {
return RLine_3::has_on(p); }
143 {
return RLine_3::is_degenerate(); }
145 CGAL::Line_3<R>
transform(
const CGAL::Aff_transformation_3<R> & t)
const
146 {
return RLine_3::transform(t); }
149 #ifndef NO_OSTREAM_INSERT_LINE_3
152 operator<<(std::ostream& os, const Line_3<R>& l)
154 typedef typename R::Line_3_base RLine_3;
155 return os << (
const RLine_3& )l;
157 #endif // NO_OSTREAM_INSERT_LINE_3
159 #ifndef NO_ISTREAM_EXTRACT_LINE_3
164 typedef typename R::Line_3_base RLine_3;
168 #endif // NO_ISTREAM_EXTRACT_LINE_3
173 #ifndef CGAL_PLANE_3_H
175 #endif // CGAL_PLANE_3_H
177 #endif // CGAL_LINE_3_H
Line_3(const CGAL::Segment_3< R > &s)
Line_3(const CGAL::Line_3< R > &l)
CGAL::Point_3< R > projection(const CGAL::Point_3< R > &p) const
bool operator!=(const CGAL::Line_3< R > &l) const
CGAL_END_NAMESPACE CGAL_BEGIN_NAMESPACE bool operator==(const Origin &o, const Point_2< R > &p)
Line_3(const CGAL::Ray_3< R > &r)
bool is_degenerate() const
CGAL::Plane_3< R > perpendicular_plane(const CGAL::Point_3< R > &p) const
bool operator==(const CGAL::Line_3< R > &l) const
Line_3(const CGAL::Point_3< R > &p, const CGAL::Direction_3< R > &d)
CGAL::Line_3< R > transform(const CGAL::Aff_transformation_3< R > &t) const
bool has_on(const CGAL::Point_3< R > &p) const
CGAL_BEGIN_NAMESPACE T opposite(const T &t)
CGAL_KERNEL_LARGE_INLINE PointS3< FT > projection(const PointS3< FT > &p, const PlaneS3< FT > &h)
#define CGAL_BEGIN_NAMESPACE
CGAL::Point_3< R > point() const
Line_3(const CGAL::Point_3< R > &p, const CGAL::Point_3< R > &q)
CGAL::Direction_3< R > direction() const
CGAL::Line_3< R > opposite() const
CGAL::Point_3< R > point(int i) const
#define CGAL_END_NAMESPACE