Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,80 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* Interface of MapObjectIndicator
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "abstract_multi_point_map_object.h"
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
namespace SituationMap
|
||||
{
|
||||
|
||||
/**
|
||||
* @brief The MapObjectIndicator points to exactly one MapObject defined by its uniqueMapId.
|
||||
*
|
||||
* This MapObjectIndicator should be smart, you normally don´t have to set the position,
|
||||
* color or similar directly.
|
||||
* Just call setMapObjectToPointTo() and updateView();
|
||||
* \n The MapObjectIndicator shoud 'follow' the object to be pointed to.
|
||||
* \n The color is taken from the objectToBePointedTo (if that changes, call updateView() again).
|
||||
*
|
||||
* <b>Some Annotations / Recommendations:</b>
|
||||
* - Layer: create the MapObjectIndicator in the topmost (operational) layer (LayerType::Operational)
|
||||
* - The drawOrder is internal choosen to be OVER the objectToBePointedTo
|
||||
* - The method setPositions() should never be called.
|
||||
*
|
||||
*/
|
||||
class MapObjectIndicator : public virtual AbstractMultiPointMapObject
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
* Don't use "= default" because of bug in VS2015 JT 2016/11/7
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
|
||||
MapObjectIndicator() : AbstractMultiPointMapObject() {;} ///< Contructor
|
||||
|
||||
virtual ~MapObjectIndicator() = default; ///< Destructor
|
||||
|
||||
|
||||
/*! \name Specific data*/
|
||||
//@{
|
||||
|
||||
|
||||
/**
|
||||
* @brief Start and end point:.
|
||||
*/
|
||||
virtual Point3D startPoint() const = 0;
|
||||
virtual Point3D endPoint() const = 0;
|
||||
|
||||
virtual void setStartAndEndPoint(const Point3D &start, const Point3D &end) = 0;
|
||||
|
||||
/**
|
||||
* @brief mapObjectToPointTo
|
||||
* @return uniqueId of the object to be pointed to.
|
||||
*/
|
||||
virtual UniqueMapId mapObjectToPointTo() = 0;
|
||||
|
||||
/**
|
||||
* @brief Set uniqueId of object should to be pointed to.
|
||||
* @attention But there is NO automatic update yet. Caller is responsable for operforming updateView()!
|
||||
* @param uniqueId of the object to be pointed to.
|
||||
*/
|
||||
virtual void setMapObjectToPointTo(UniqueMapId uniqueId) = 0;
|
||||
//@}
|
||||
|
||||
|
||||
// void setPositions(const PositionCont& posCont) //SHOULD NEVER BE CALLED
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace SituationMap
|
||||
Reference in new issue
Block a user