lsst.sphgeom
20.0.0-2-gd11eeda
|
Go to the documentation of this file.
23 #ifndef LSST_SPHGEOM_UNITVECTOR3D_H_
24 #define LSST_SPHGEOM_UNITVECTOR3D_H_
98 UnitVector3d u; u._v = Vector3d(0.0, 1.0, 0.0);
return u;
102 UnitVector3d u; u._v = Vector3d(0.0, 0.0, 1.0);
return u;
116 UnitVector3d(
double x,
double y,
double z) : _v(x, y, z) {
136 bool operator==(
Vector3d const & v)
const {
return _v == v; }
137 bool operator!=(Vector3d
const & v)
const {
return _v != v; }
145 double x()
const {
return _v.x(); }
147 double y()
const {
return _v.y(); }
149 double z()
const {
return _v.z(); }
162 return (v + *
this).
cross(v - *
this);
202 std::ostream & operator<<(std::ostream &, UnitVector3d
const &);
206 #endif // LSST_SPHGEOM_UNITVECTOR3D_H_
UnitVector3d operator-() const
The unary minus operator negates every component of this unit vector.
Definition: UnitVector3d.h:166
Vector3d operator*(double s) const
Definition: UnitVector3d.h:172
UnitVector3d()
The default constructor creates a unit vector equal to (1, 0, 0).
Definition: UnitVector3d.h:106
static UnitVector3d northFrom(Vector3d const &v)
Definition: UnitVector3d.cc:51
UnitVector3d(Vector3d const &v)
Definition: UnitVector3d.h:112
double const * getData() const
data returns a pointer to the 3 components of this vector.
Definition: Vector3d.h:61
Vector3d robustCross(UnitVector3d const &v) const
Definition: UnitVector3d.h:161
double dot(Vector3d const &v) const
dot returns the inner product of this unit vector and v.
Definition: UnitVector3d.h:152
Vector3d is a vector in ℝ³ with components stored in double precision.
Definition: Vector3d.h:44
UnitVector3d(LonLat const &p)
Definition: UnitVector3d.h:123
double operator()(int i) const
The function call operator returns the i-th component of this vector.
Definition: UnitVector3d.h:143
Definition: UnitVector3d.h:55
Vector3d operator+(Vector3d const &v) const
The addition operator returns the sum of this unit vector and v.
Definition: UnitVector3d.h:179
double dot(Vector3d const &v) const
dot returns the inner product of this vector and v.
Definition: Vector3d.h:73
double normalize()
Definition: Vector3d.cc:41
This file declares a class for representing vectors in ℝ³.
static UnitVector3d fromNormalized(double x, double y, double z)
Definition: UnitVector3d.h:89
Vector3d cross(Vector3d const &v) const
cross returns the cross product of this vector and v.
Definition: Vector3d.h:101
Vector3d cross(Vector3d const &v) const
cross returns the cross product of this unit vector and v.
Definition: UnitVector3d.h:155
Vector3d operator/(double s) const
Definition: UnitVector3d.h:176
Vector3d rotatedAround(UnitVector3d const &k, Angle a) const
Definition: Vector3d.cc:125
Vector3d cwiseProduct(Vector3d const &v) const
Definition: UnitVector3d.h:187
UnitVector3d rotatedAround(UnitVector3d const &k, Angle a) const
Definition: UnitVector3d.h:193
Vector3d cwiseProduct(Vector3d const &v) const
cwiseProduct returns the component-wise product of this vector and v.
Definition: Vector3d.h:150
This file contains a class representing spherical coordinates.
static UnitVector3d orthogonalTo(Vector3d const &v)
Definition: UnitVector3d.cc:34
static UnitVector3d orthogonalTo(NormalizedAngle const &a)
Definition: UnitVector3d.h:76
double const * getData() const
getData returns a pointer to the 3 components of this unit vector.
Definition: UnitVector3d.h:140
Definition: NormalizedAngle.h:41
Vector3d operator-(Vector3d const &v) const
Definition: UnitVector3d.h:183
static UnitVector3d fromNormalized(Vector3d const &v)
Definition: UnitVector3d.h:82