[Positioning] Improve CalibrationRequest::type
Add the request type in CalibrationRequest constructors. Handle (auto)calibration request type in Input*.
This commit is contained in:
parent
5972e245cc
commit
670dfdc867
|
@ -3,6 +3,29 @@
|
|||
|
||||
|
||||
|
||||
/* *** Constructors *** */
|
||||
|
||||
|
||||
CalibrationRequest::CalibrationRequest(uint_fast8_t _type):
|
||||
reference_point(NULL), direction(Direction())
|
||||
{
|
||||
type = _type ;
|
||||
}
|
||||
|
||||
|
||||
CalibrationRequest::
|
||||
CalibrationRequest(const Request &source,
|
||||
ReferencePoint *_reference_point = NULL,
|
||||
const Direction &_direction,
|
||||
uint_fast8_t _type):
|
||||
Request(source), reference_point(_reference_point),
|
||||
direction(_direction)
|
||||
{
|
||||
type = _type ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* *** Write accessors *** */
|
||||
|
||||
|
||||
|
|
|
@ -16,18 +16,14 @@ protected:
|
|||
Direction direction ;
|
||||
|
||||
public:
|
||||
CalibrationRequest(void):
|
||||
reference_point(NULL), direction(Direction()) {}
|
||||
|
||||
CalibrationRequest(uint_fast8_t _type = OWL_REQUEST_AUTOCALIBRATION) ;
|
||||
CalibrationRequest(const CalibrationRequest &source):
|
||||
Request(source), reference_point(source.reference_point),
|
||||
direction(source.direction) {}
|
||||
|
||||
CalibrationRequest(const Request &source,
|
||||
ReferencePoint *_reference_point = NULL,
|
||||
const Direction &_direction = Direction()):
|
||||
Request(source), reference_point(_reference_point),
|
||||
direction(_direction) {}
|
||||
ReferencePoint *_reference_point,
|
||||
const Direction &_direction = Direction(),
|
||||
uint_fast8_t _type = OWL_REQUEST_AUTOCALIBRATION) ;
|
||||
|
||||
~CalibrationRequest(void) {}
|
||||
|
||||
|
|
|
@ -108,7 +108,7 @@ const Request& InputCSV::get_next_request()
|
|||
if (type == OWL_REQUEST_CALIBRATION ||
|
||||
type == OWL_REQUEST_AUTOCALIBRATION)
|
||||
{
|
||||
current_request_to_calibration_request() ;
|
||||
current_request_to_calibration_request(type) ;
|
||||
CalibrationRequest *request =
|
||||
static_cast<CalibrationRequest*>(current_request) ;
|
||||
request->set_direction(direction) ;
|
||||
|
|
|
@ -23,14 +23,19 @@ InputMedium::~InputMedium()
|
|||
/* *** Operations *** */
|
||||
|
||||
|
||||
void InputMedium::current_request_to_calibration_request()
|
||||
void InputMedium::
|
||||
current_request_to_calibration_request(uint_fast8_t request_type)
|
||||
{
|
||||
if (dynamic_cast<CalibrationRequest*>(current_request) != NULL)
|
||||
return ;
|
||||
{
|
||||
current_request->set_type(request_type) ;
|
||||
return ;
|
||||
}
|
||||
|
||||
Request *tmp = current_request ;
|
||||
current_request = NULL ;
|
||||
current_request = new CalibrationRequest(*tmp) ;
|
||||
current_request->set_type(request_type) ;
|
||||
delete tmp ;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,8 @@ public:
|
|||
virtual const Request& get_next_request(void) = 0 ;
|
||||
|
||||
/// Converts #current_request into a CalibrationRequest
|
||||
void current_request_to_calibration_request(void) ;
|
||||
void current_request_to_calibration_request(
|
||||
uint_fast8_t request_type = OWL_REQUEST_CALIBRATION) ;
|
||||
/// Clears (reallocates to Request if needed) #current_request
|
||||
void clear_current_request(void) ;
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ const Request& InputUDPSocket::get_next_request()
|
|||
if (request.type == OWL_REQUEST_CALIBRATION ||
|
||||
request.type == OWL_REQUEST_AUTOCALIBRATION)
|
||||
{
|
||||
current_request_to_calibration_request() ;
|
||||
current_request_to_calibration_request(request.type) ;
|
||||
CalibrationRequest *calib_request =
|
||||
static_cast<CalibrationRequest*>(current_request) ;
|
||||
|
||||
|
|
Loading…
Reference in New Issue