Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

+80
View File
@@ -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