#pragma once

#include <QObject>
#include "Vehicle.h"

class WimaServicePolygon;
class WimaVehicleCorridor;
class WimaVehicleMeasurementPolygon;

class WimaVehicle : public QObject
{
    Q_OBJECT
public:
    WimaVehicle(QObject* parent);

    Vehicle*                            vehicle                 (void) const { return _vehicle;}
    WimaServicePolygon*                 servicePolygon          (void) const { return _servicePolygon;}
    WimaVehicleCorridor*                vehicleCorridor         (void) const { return _vehicleCorridor;}
    WimaVehicleMeasurementPolygon*      measurementPolygon      (void) const { return _measurementPolygon;}

    void setVehicle                 (Vehicle* vehicle);
    void setServicePolygon          (WimaServicePolygon* servicePolygon);
    void setVehicleCorridor         (WimaVehicleCorridor* vehicleCorridor);
    void setMeasurementPolygon      (WimaVehicleMeasurementPolygon* measurementPolygon);

private:
    Vehicle*                        _vehicle;
    WimaServicePolygon*             _servicePolygon;
    WimaVehicleCorridor*            _vehicleCorridor;
    WimaVehicleMeasurementPolygon*  _measurementPolygon;

};


