Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+184
@@ -0,0 +1,184 @@
|
||||
/*
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** @RDE_HEADER@
|
||||
** Implementation of fan of sight
|
||||
** $Id$
|
||||
** $HeadURL$
|
||||
** $Author$
|
||||
**
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** Hardware-Environment: Intel-PC
|
||||
** Software-Environment: Windows 7, Qt 5.x. ArcGISRuntimeQt 100.2
|
||||
**
|
||||
** Language ........: C++ 11
|
||||
**
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** Autor ...........: Nikolaus Hanekamp, SEDG, Tel. 2906
|
||||
** Jörg Turla, SPDG, Tel. 3132
|
||||
**
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** Notices .........:
|
||||
**
|
||||
** 01.02.2005, NH : Urversion
|
||||
** 15.05.2018, JT : adapting GeISiR source to SituationMap
|
||||
**
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#include <Map/sight_fan.h>
|
||||
|
||||
#include <ElevationMap/elevation_map.h>
|
||||
|
||||
#include <MapImpl/abstract_map_object_impl.h>
|
||||
|
||||
|
||||
namespace SituationMap
|
||||
{
|
||||
|
||||
class MapImpl;
|
||||
class SightBeam;
|
||||
|
||||
class SITUATIONMAP_EXPORT SightFanImpl : public QObject, public AbstractMapObjectImpl, public virtual SightFan
|
||||
{
|
||||
friend class SightBeam;
|
||||
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
explicit SightFanImpl(const QString &debugInfo = QString());
|
||||
virtual ~SightFanImpl();
|
||||
|
||||
void initColors();
|
||||
|
||||
void initFan( const QPointF ¢er
|
||||
, double centHat
|
||||
, double objHat
|
||||
, double radius
|
||||
, double innerRadius
|
||||
, double startAngle
|
||||
, double dAngle
|
||||
, unsigned int nrFans
|
||||
, double alpha ) override;
|
||||
|
||||
void initFan( const Point3D ¢er
|
||||
, double objHat
|
||||
, double radius
|
||||
, double innerRadius
|
||||
, double startAngle
|
||||
, double dAngle
|
||||
, unsigned int nrFans
|
||||
, double alpha ) override;
|
||||
|
||||
void setCenter(const QPointF ¢er) override;
|
||||
void setCenter(const Point3D ¢er) override;
|
||||
void setCenter(const QPointF ¢er, double centerHat) override;
|
||||
|
||||
void setCenterHat(double centerHat) override;
|
||||
void setObjectHat(double objHat) override;
|
||||
|
||||
void setRadius(double radius) override;
|
||||
void setInnerRadius(double radius) override;
|
||||
void setStartAngle(double startAngle) override;
|
||||
void setdeltaAngle(double dAngle) override;
|
||||
void setNoOfFans(double noFans) override;
|
||||
void setAlpha(double alpha) override;
|
||||
|
||||
QPointF center() const override;
|
||||
double centerHat() const override;
|
||||
double objectHat() const override;
|
||||
double innerRadius() const override;
|
||||
double radius() const override;
|
||||
double startAngle() const override;
|
||||
double dAngle() const override;
|
||||
double alpha() const override;
|
||||
unsigned int noOfFans() const override;
|
||||
|
||||
void move(const QPointF ¢er) override;
|
||||
|
||||
void move(const QPointF ¢er, double centHat, double objHat) override;
|
||||
|
||||
void setFanColor(const QColor & visible, const QColor &invisible, const QColor &undefined) override;
|
||||
void setFanColorMark(float colMult) override;
|
||||
|
||||
void show() override;
|
||||
|
||||
/**
|
||||
Overloaded from base class to implement the construction of GraphicalObjects.
|
||||
*/
|
||||
bool init( MapImpl *mapImpl, const QString &logicalLayerName = QStringLiteral("SightFanLayer")) override;
|
||||
|
||||
void boundingBox(BoundingBox &bbox) const override;
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
bool updateViewImplPre() override;
|
||||
bool updateViewImpl() override;
|
||||
bool updateViewImplPost() override;
|
||||
|
||||
void calculateSightBeamVec();
|
||||
|
||||
void calculateSightBeam(SightBeam &sBeam);
|
||||
void calculateSightBeam(const LOSVector &losProfile, SightBeam &sBeam);
|
||||
|
||||
class Internal;
|
||||
|
||||
Internal *m_internal;
|
||||
|
||||
private slots:
|
||||
void delayedMove();
|
||||
private:
|
||||
QTimer *m_moveDelayTimer;
|
||||
QPointF m_moveDelayedCenter;
|
||||
|
||||
}; // SightFanImpl
|
||||
|
||||
} // SituationMap
|
||||
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------------------------
|
||||
** CVS-Id/Release ...: $Header$
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** Historie:
|
||||
**
|
||||
** $Log: not supported by cvs2svn $
|
||||
** Revision 1.9 2007/12/18 18:11:00 joerg
|
||||
** draw() um bias erweitert und Rückgabe Boolean = true wenn wriklich gezeichnet wurde.
|
||||
**
|
||||
** Revision 1.8 2007/08/01 10:50:39 Jörg
|
||||
** Neu: dirtyFlags und RenderState
|
||||
**
|
||||
** Revision 1.7 2007/07/23 14:04:09 Jörg
|
||||
** AbstractView eingeführt
|
||||
**
|
||||
** Revision 1.6 2007/07/11 08:13:46 Jörg
|
||||
** move jetzt auch nur mit Position
|
||||
**
|
||||
** Revision 1.5 2005/11/09 13:44:19 klaus
|
||||
** Umsetzung auf Linux;
|
||||
**
|
||||
** Revision 1.4 2005/11/09 11:12:26 klaus
|
||||
** Anpassung an Linux: Kommentar hinter #endif mit "//" versehen
|
||||
**
|
||||
** Revision 1.3 2005/04/15 13:05:18 joerg
|
||||
** Resource Control
|
||||
**
|
||||
** Revision 1.2 2005/02/10 13:51:01 klaus
|
||||
** Bias für SightFans eingeführt
|
||||
**
|
||||
** Revision 1.1 2005/02/09 17:08:11 klaus
|
||||
** 1. Version der SightFans
|
||||
**
|
||||
**
|
||||
** ----------------------------------------------------------------------------------------------- */
|
||||
|
||||
Reference in new issue
Block a user