51 #ifndef CGAL_DIRECTIONS3_H
52 #define CGAL_DIRECTIONS3_H
54 #include <CGAL/SimpleCartesian/VectorS3.h>
78 const FT&
delta(
int i)
const;
83 const FT&
hdx()
const;
84 const FT&
hdy()
const;
85 const FT&
hdz()
const;
103 template <
class FT >
107 return (
dx()*d.
dy() ==
dy()*d.
dx() )
108 &&(
dx()*d.
dz() == dz()*d.
dx() )
109 &&(
dy()*d.
dz() == dz()*d.
dy() )
115 template <
class FT >
119 {
return !(*
this ==
d); }
121 template <
class FT >
128 template <
class FT >
135 template <
class FT >
142 template <
class FT >
147 return (i==0) ?
dx() :
148 (i==1) ?
dy() : dz() ;
152 template <
class FT >
159 template <
class FT >
166 template <
class FT >
172 template <
class FT >
179 template <
class FT >
186 template <
class FT >
192 template <
class FT >
200 #ifndef CGAL_NO_OSTREAM_INSERT_DIRECTIONS3
201 template <
class FT >
202 std::ostream& operator<<(std::ostream& os, const DirectionS3<FT>&
d)
207 return os << v.
x() <<
' ' << v.
y() <<
' ' << v.
z();
214 os <<
"DirectionS3(" << v.
x() <<
", " << v.
y() <<
", " << v.
z() <<
")";
218 #endif // CGAL_NO_OSTREAM_INSERT_DIRECTIONS3
220 #ifndef CGAL_NO_ISTREAM_EXTRACT_DIRECTIONS3
221 template <
class FT >
242 #endif // CGAL_NO_ISTREAM_EXTRACT_DIRECTIONS3
DirectionS3 transform(const Aff_transformationS3< FT > &t) const
static SURF_BEGIN_NAMESPACE double sign(double x)
DirectionS3 operator-() const
void int int REAL REAL * y
const FT & delta(int i) const
#define CGAL_kernel_assertion_msg(EX, MSG)
*********************************************************************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
void int int int REAL REAL REAL * z
void write(std::ostream &os, const T &t, const io_Read_write &)
VectorS3< FT > vector() const
bool operator==(const DirectionS3< FT > &d) const
DirectionS3(const FT &x, const FT &y, const FT &z)
VectorS3< FT > to_vector() const
void read(std::istream &is, T &t, const io_Read_write &)
#define CGAL_BEGIN_NAMESPACE
bool operator!=(const DirectionS3< FT > &d) const
#define CGAL_END_NAMESPACE
#define CGAL_kernel_precondition(EX)