9#include "noprecessindex.h"
13class TestArtificialHorizon;
22class ArtificialHorizonEntity
25 ArtificialHorizonEntity() =
default;
26 ~ArtificialHorizonEntity();
29 void setRegion(
const QString &Region);
32 void setEnabled(
bool Enabled);
35 void setCeiling(
bool value);
38 void setList(
const std::shared_ptr<LineList> &list);
39 std::shared_ptr<LineList> list()
const;
43 double altitudeConstraint(
double azimuthDegrees,
bool *constraintExists)
const;
47 bool m_Enabled {
false };
48 bool m_Ceiling {
false };
49 std::shared_ptr<LineList> m_List;
67 ArtificialHorizonEntity *findRegion(
const QString ®ionName);
68 void addRegion(
const QString ®ionName,
bool enabled,
const std::shared_ptr<LineList> &list,
bool ceiling);
69 void removeRegion(
const QString ®ionName,
bool lineOnly =
false);
70 bool enabled(
int i)
const;
75 return &m_HorizonList;
79 bool altitudeConstraintsExist()
const;
82 bool isVisible(
double azimuthDegrees,
double altitudeDegrees,
QString *reason =
nullptr)
const;
84 bool isAltitudeOK(
double azimuthDegrees,
double altitudeDegrees,
QString *reason)
const;
88 double altitudeConstraint(
double azimuthDegrees)
const;
92 const ArtificialHorizonEntity *getConstraintAbove(
double azimuthDegrees,
double altitudeDegrees,
93 const ArtificialHorizonEntity *ignore =
nullptr)
const;
94 const ArtificialHorizonEntity *getConstraintBelow(
double azimuthDegrees,
double altitudeDegrees,
95 const ArtificialHorizonEntity *ignore =
nullptr)
const;
110 void drawSampledPolygons(
int entity,
double az1,
double alt1,
double az2,
double alt2,
112 bool computePolygon(
int entity,
double az1,
double alt1,
double az2,
double alt2,
116 bool testing {
false };
121 void precomputeConstraints()
const;
122 void resetPrecomputeConstraints()
const;
123 double precomputedConstraint(
double azimuth)
const;
124 double altitudeConstraintInternal(
double azimuthDegrees)
const;
126 bool noCeilingConstraints {
true };
127 void checkForCeilings();
128 friend TestArtificialHorizon;
151 virtual ~ArtificialHorizonComponent()
override;
153 bool selected()
override;
156 void setLivePreview(
const std::shared_ptr<LineList> &preview)
158 livePreview = preview;
160 void setSelectedPreviewPoint(
int index)
162 selectedPreviewPoint = index;
164 void addRegion(
const QString ®ionName,
bool enabled,
const std::shared_ptr<LineList> &list,
bool ceiling);
165 void removeRegion(
const QString ®ionName,
bool lineOnly =
false);
180 std::shared_ptr<LineList> livePreview;
181 int selectedPreviewPoint { -1 };
183 friend class TestArtificialHorizon;
Represents custom area from the horizon upwards which represent blocked views from the vantage point ...
A simple data container used by LineListIndex.
SkyComposite is a kind of container class for SkyComponent objects.
Draws things on the sky, without regard to backend.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:16:41 by
doxygen 1.12.0 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.