#include <Point3DBase.h>
Public Types | |
typedef PV3DBase< T, PointTag, FrameTag > | BaseClass |
typedef BaseClass::BasicVectorType | BasicVectorType |
typedef BaseClass::Cylindrical | Cylindrical |
typedef BaseClass::Polar | Polar |
typedef BaseClass::Spherical | Spherical |
typedef Vector3DBase< T, FrameTag > | VectorType |
Public Member Functions | |
template<class U > | |
Point3DBase & | operator+= (const Vector3DBase< U, FrameTag > &v) |
template<class U > | |
Point3DBase & | operator-= (const Vector3DBase< U, FrameTag > &v) |
bool | operator== (const Point3DBase &rh) const |
Point3DBase (const Polar &set) | |
construct from polar coordinates | |
template<class U > | |
Point3DBase (const Basic3DVector< U > &v) | |
Point3DBase (Point2DBase< T, FrameTag > p) | |
Point3DBase (const T &x, const T &y) | |
Point3DBase (const T &x, const T &y, const T &z) | |
construct from cartesian coordinates | |
Point3DBase () | |
Point3DBase (const Cylindrical &set) | |
Point3DBase (const Geom::Theta< T > &th, const Geom::Phi< T > &ph, const T &r) | |
template<class U > | |
Point3DBase (const Point3DBase< U, FrameTag > &p) |
Definition at line 11 of file Point3DBase.h.
typedef PV3DBase< T, PointTag, FrameTag> Point3DBase< T, FrameTag >::BaseClass |
Definition at line 14 of file Point3DBase.h.
typedef BaseClass::BasicVectorType Point3DBase< T, FrameTag >::BasicVectorType |
Reimplemented from PV3DBase< T, PointTag, FrameTag >.
Definition at line 19 of file Point3DBase.h.
typedef BaseClass::Cylindrical Point3DBase< T, FrameTag >::Cylindrical |
Reimplemented from PV3DBase< T, PointTag, FrameTag >.
Definition at line 16 of file Point3DBase.h.
typedef BaseClass::Polar Point3DBase< T, FrameTag >::Polar |
Reimplemented from PV3DBase< T, PointTag, FrameTag >.
Definition at line 18 of file Point3DBase.h.
typedef BaseClass::Spherical Point3DBase< T, FrameTag >::Spherical |
Reimplemented from PV3DBase< T, PointTag, FrameTag >.
Definition at line 17 of file Point3DBase.h.
typedef Vector3DBase< T, FrameTag> Point3DBase< T, FrameTag >::VectorType |
Definition at line 15 of file Point3DBase.h.
Point3DBase< T, FrameTag >::Point3DBase | ( | ) | [inline] |
default constructor uses default constructor of T to initialize the components. For built-in floating-point types this means initialization to zero
Definition at line 25 of file Point3DBase.h.
{}
Point3DBase< T, FrameTag >::Point3DBase | ( | const Point3DBase< U, FrameTag > & | p | ) | [inline] |
Construct from another point in the same reference frame, possiblly with different precision
Definition at line 31 of file Point3DBase.h.
: BaseClass( p.basicVector()) {}
Point3DBase< T, FrameTag >::Point3DBase | ( | const T & | x, |
const T & | y, | ||
const T & | z | ||
) | [inline] |
Point3DBase< T, FrameTag >::Point3DBase | ( | const Cylindrical & | set | ) | [inline, explicit] |
Construct from cylindrical coordinates.
Definition at line 38 of file Point3DBase.h.
: BaseClass( set) {}
Point3DBase< T, FrameTag >::Point3DBase | ( | const Polar & | set | ) | [inline, explicit] |
Point3DBase< T, FrameTag >::Point3DBase | ( | const Geom::Theta< T > & | th, |
const Geom::Phi< T > & | ph, | ||
const T & | r | ||
) | [inline] |
Deprecated construct from polar coordinates, use constructor from Polar( theta, phi, r) instead.
Definition at line 46 of file Point3DBase.h.
Point3DBase< T, FrameTag >::Point3DBase | ( | const T & | x, |
const T & | y | ||
) | [inline] |
Mimick 2D point. This constructor is convenient for points on a plane, since the z component for them is zero.
Definition at line 52 of file Point3DBase.h.
Point3DBase< T, FrameTag >::Point3DBase | ( | Point2DBase< T, FrameTag > | p | ) | [inline, explicit] |
Definition at line 53 of file Point3DBase.h.
Point3DBase< T, FrameTag >::Point3DBase | ( | const Basic3DVector< U > & | v | ) | [inline, explicit] |
Explicit constructor from BasicVectorType, bypasses consistency checks for point/vector and for coordinate frame. To be used as carefully as e.g. const_cast.
Definition at line 61 of file Point3DBase.h.
: BaseClass(v) {}
Point3DBase& Point3DBase< T, FrameTag >::operator+= | ( | const Vector3DBase< U, FrameTag > & | v | ) | [inline] |
A Point can be shifted by a Vector of possibly different precision, defined in the same coordinate frame
Definition at line 72 of file Point3DBase.h.
{ this->theVector += v.basicVector(); return *this; }
Point3DBase& Point3DBase< T, FrameTag >::operator-= | ( | const Vector3DBase< U, FrameTag > & | v | ) | [inline] |
Definition at line 78 of file Point3DBase.h.
{ this->theVector -= v.basicVector(); return *this; }
bool Point3DBase< T, FrameTag >::operator== | ( | const Point3DBase< T, FrameTag > & | rh | ) | const [inline] |
Definition at line 64 of file Point3DBase.h.
{ return this->basicVector()==rh.basicVector(); }