25 #ifndef CGAL_OPT_SIMPLE_CARTESIAN_POINT_3_H
26 #define CGAL_OPT_SIMPLE_CARTESIAN_POINT_3_H
41 :
_x(hx/hw),
_y(hy/hw),
_z(hz/hw) {}
51 {
return x()==p.
x() &&
y()==p.
y() &&
z()==p.
z(); }
53 {
return x()==FT(0) &&
y()==FT(0) &&
z()==FT(0); }
57 int id()
const {
return (
int)
this; }
59 FT
hx()
const {
return x(); }
60 FT
hy()
const {
return y(); }
61 FT
hz()
const {
return z(); }
62 FT
hw()
const {
return FT(1); }
65 const FT&
x()
const {
return _x; }
66 const FT&
y()
const {
return _y; }
67 const FT&
z()
const {
return _z; }
68 FT&
x() {
return _x; }
69 FT&
y() {
return _y; }
70 FT&
z() {
return _z; }
109 #include <CGAL/SimpleCartesian/VectorS3.h>
111 #include <CGAL/Bbox_3.h>
118 template <
class FT >
124 template <
class FT >
130 template <
class FT >
136 template <
class FT >
142 template <
class FT >
149 template <
class FT >
156 template <
class FT >
163 #ifndef CGAL_NO_OSTREAM_INSERT_POINTS3
164 template <
class FT >
165 std::ostream& operator<<(std::ostream& os, const PointS3<FT>& p)
169 return os << p.x() <<
' ' << p.y() <<
' ' << p.z();
176 os <<
"PointS3(" << p.x() <<
", " << p.y() <<
", " << p.z() <<
")";
180 #endif // CGAL_NO_OSTREAM_INSERT_POINTS3
182 #ifndef CGAL_NO_ISTREAM_EXTRACT_POINTS3
183 template <
class FT >
205 #endif // CGAL_NO_ISTREAM_EXTRACT_POINTS3
210 #endif // CGAL_OPT_SIMPLE_CARTESIAN_POINT_3_H
bool operator==(const Origin &) const
void int int REAL REAL * y
Aff_transformationS3< FT > Aff_transformation
#define CGAL_kernel_assertion_msg(EX, MSG)
Iterator_from_circulator< C, Ref, Ptr > operator+(Dist n, const Iterator_from_circulator< C, Ref, Ptr > &circ)
bool lexicographically_xyz_smaller(const PointS3< FT > &p, const PointS3< FT > &q)
const FT & operator[](int i) const
Self transform(const Aff_transformation &t) const
PointS3(const FT &hx, const FT &hy, const FT &hz, const FT &hw)
Self & operator-=(const Vector &v)
*********************************************************************Illinois Open Source License ****University of Illinois NCSA **Open Source License University of Illinois All rights reserved ****Developed free of to any person **obtaining a copy of this software and associated documentation to deal with the Software without including without limitation the rights to and or **sell copies of the and to permit persons to whom the **Software is furnished to do subject to the following this list of conditions and the following disclaimers ****Redistributions in binary form must reproduce the above **copyright this list of conditions and the following **disclaimers in the documentation and or other materials **provided with the distribution ****Neither the names of the Center for Simulation of Advanced the University of nor the names of its **contributors may be used to endorse or promote products derived **from this Software without specific prior written permission ****THE SOFTWARE IS PROVIDED AS WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **ARISING OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE v
FT homogeneous(int i) const
void int int int REAL REAL REAL * z
void write(std::ostream &os, const T &t, const io_Read_write &)
bool operator<(const Self &p) const
Self & operator=(const Self &p)
Self & operator+=(const Vector &v)
bool operator==(const Self &p) const
void read(std::istream &is, T &t, const io_Read_write &)
#define CGAL_BEGIN_NAMESPACE
PointS3(const FT &x, const FT &y, const FT &z)
const FT & cartesian(int i) const
#define CGAL_END_NAMESPACE
#define CGAL_kernel_precondition(EX)
Point_2< R > operator-(const Origin &o, const Vector_2< R > &v)
const FT & cartesian(int i) const