[Positioning] Add CalibrationRequest::direction

CalibrationRequest:
- Add Direction attribute.
- Add reference_point_backward_link().
This commit is contained in:
Matteo Cypriani 2010-02-19 11:40:55 +01:00
parent cf7e41358b
commit 9dd30a50c9
2 changed files with 41 additions and 5 deletions

View File

@ -1,14 +1,22 @@
#include "calibrationrequest.hh"
#include "referencepoint.hh"
/* *** Write accessors *** */
void CalibrationRequest::reference_point_backward_link() const
{
reference_point->add_request(this) ;
}
void CalibrationRequest::clear()
{
Request::clear() ;
reference_point = NULL ;
direction.clear() ;
}
@ -23,6 +31,7 @@ CalibrationRequest::operator=(const CalibrationRequest &source)
return *this ;
this->Request::operator=(source) ;
direction = source.direction ;
reference_point = source.reference_point ;
return *this ;
@ -36,5 +45,6 @@ bool CalibrationRequest::operator==(const CalibrationRequest &source)
return
this->Request::operator==(source) &&
direction == source.direction &&
reference_point == source.reference_point ;
}

View File

@ -4,6 +4,7 @@
class ReferencePoint ;
#include "request.hh"
#include "direction.hh"
/// Represents a calibration Request sent by a mobile
class CalibrationRequest: public Request
@ -11,30 +12,42 @@ class CalibrationRequest: public Request
protected:
/// The reference point the mobile calibrates
ReferencePoint *reference_point ;
/// The direction in which the mobile was during the measurement
Direction direction ;
public:
CalibrationRequest(void): reference_point(NULL) {}
CalibrationRequest(void):
reference_point(NULL), direction(Direction()) {}
/// Copy constructor
CalibrationRequest(const CalibrationRequest &source):
Request(source), reference_point(source.reference_point) {}
Request(source), reference_point(source.reference_point),
direction(source.direction) {}
/// \brief Constructs a CalibrationRequest from a Request and
/// (possibly) a ReferencePoint)
/// possibly a ReferencePoint and a Direction)
CalibrationRequest(const Request &source,
ReferencePoint *_reference_point = NULL):
Request(source), reference_point(_reference_point) {}
ReferencePoint *_reference_point = NULL,
const Direction &_direction = Direction()):
Request(source), reference_point(_reference_point),
direction(_direction) {}
~CalibrationRequest(void) {}
/** @name Read accessors */
//@{
/// #direction read accessor
const Direction& get_direction(void) const ;
/// #reference_point read accessor
ReferencePoint* get_reference_point(void) const ;
//@}
/** @name Write accessors */
//@{
/// #direction write accessor
void set_direction(const Direction &_direction) ;
/// #reference_point write accessor
void set_reference_point(const ReferencePoint *_rp) ;
/// Add the CalibrationRequest to the #reference_point list of requests
void reference_point_backward_link(void) const ;
/// Reinitialises all attributes
void clear(void) ;
//@}
@ -58,6 +71,12 @@ inline ReferencePoint* CalibrationRequest::get_reference_point(void) const
}
inline const Direction& CalibrationRequest::get_direction(void) const
{
return direction ;
}
/* *** Write accessors *** */
@ -69,6 +88,13 @@ inline void CalibrationRequest::set_reference_point(
}
inline void CalibrationRequest::
set_direction(const Direction &_direction)
{
direction = _direction ;
}
/* *** Operators *** */