footprint class
footprint
The footprint class is a descendant of the direction_cosine class., which defines the point on a unit spare with a timestamp and uncertainty.
Constructors
footprint(const double l, const double m, const double n)
Create a footprint with a direction cosine of (l, m, n). The current system time is registered as a timestamp. A default uncertainty value, 1.0 arcsecond, is adopted.
- l
- l-coordinate
- m
- m-coordinate
- n
- n-coordinate
footprint(const double x, const double y, const double z, const timestamp_t& t, const angle& s = arcsec(1.0))
Create a footprint with a direction cosine of (l, m, n, t, s), where t is the timestamp and s is the uncertainty. The uncertainty can be skipped. If skipped, a default uncertainty value, 1.0 arcsecond, is adopted.
- l
- l-coordinate
- m
- m-coordinate
- n
- n-coordinate
- t
- the timestamp.
- s
- the uncertainty.
footprint(const longitude& lon, const latitude& lat, const timestamp_t& t, const angle& s = arcsec(1.0))
Create a footprint with a direction cosine, timestamp, and uncertainty. The direction cosine is defined by (lon, lat), where lon is the longitude and lat is the latitude. The uncertainty can be skipped. If skipped, a default uncertainty value, 1. arcsecond is adopted.
- lon
- the longitude angle.
- lat
- the latitude angle.
- t
- the timestamp.
- s
- the uncertainty.
Functions
const double
inner_product(const vector3& v) const
Calculate an inner product with another vector3 instance v. Inherited from the direction_cosine class.
- v
- a
vector3instance.
const vector3
outer_product(const vector3& v) const
Calculate an outer product with another vectore instance v. Inherited from the direction_cosine class.
- v
- a
vector3instance.
const double
separation_cosine(const vector3& v) const
Calculate cosθ, where θ is the separation angle between another vector3 instance v. Inherited from the direction_cosine class.
- v
- a
vector3instance.
const angle
separation(const vector3& v) const
Calculate θ, where θ is the separation angle between another vector3 instance v. Inherited from the direction_cosine class.
- v
- a
vector3instance.
const direction_cosine
get_pole(const vector3& v) const
Calculate the pole direction perpendicular to both this instance and a vector3 instance. Inherited from the direction_cosine class.
- v
- a
vector3instance.
const direction_cosine
pivot(const direction_cosine& q, const angle& f1, const angle& f2) const
Obtain the direction which is separated by f1 from this instance and separated by f2 from another direction_cosine q. Inherited from the direction_cosine class.
- q
- an anchor point.
- f1
- the separation angle from this instance.
- f2
- the separation angle from the anchor point q.
const footprint
extend_to(const footprint& q, const angle& d) const
Obtain an extended footprint point toward q. The separation angle from this instance is specified by d. Override the function inherited from the direction_cosine class.
- q
- a
footprintinstance, which defines the direction to extend. - d
- a separation angle between this instance and the extended point.
const footprint
extend_to(const footprint& q, const double f) const
Obtain an extended footprint point toward q. The separation from this instance is specified by f, a separation normalized by the distance between this instance and q. Override the function inherited from the direction_cosine class.
- q
- a
footprintinstance, which defines the direction to extend. - f
- a separation factor.
const bool
neighbor_to(const vector3& v, const angle& range) const
Return true if the vector3 instance is located within range.
- v
- a
vector3instance. Internally converted intodirection_cosine. - range
- a search radius angle.
const bool
neighbor_to(const vector3& v) const
Return true if the vector3 instance is located within the uncertainty of this instance.
- v
- a
vector3instance. Internally converted intodirection_cosine.
const bool
neighbor_to(const footprint& p) const
Return true if the footprint instance is located within the uncertainty. The uncertainties of both instances are taken into account.
- p
- a
footprintinstance.
const bool
match(const footprint& p, const angle& range, const sec_t& trange) const
Return true if the footprint p is considered as identical to this instance. The search radius is specified by range, while the search time window is given by trange.
- p
- a
footprintinstance. - range
- a search radius.
void
print() const
Write down the (l,m,n) coordinate in stdout as well as the uncertainty in arcsecond and the timestamp in the ISO format.
Attributes
- l
- (double) l-element of the direction cosine. Inherited from
direction_cosine. - m
- (double) m-element of the direction cosine. Inherited from
direction_cosine. - n
- (double) n-element of the direction cosine. Inherited from
direction_cosine. - t
- (timestamp_t) the timestamp of the direction cosine.
- lon
- (longitude) the longitude angle of the direction cosine. Inherited from
direction_cosine. - lat
- (latitude) the latitude angle of the direction cosine. Inherited from
direction_cosine. - x
- (double) the reference to the l-element of the direction cosine. Inherited from
direction_cosine. - y
- (double) the reference to the m-element of the direction cosine. Inherited from
direction_cosine. - z
- (double) the reference to the n-element of the direction cosine. Inherited from
direction_cosine. - d
- (double) always unity. Inherited from
direction_cosine.