51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
#pragma once
|
|
#include "../RenderAble.h"
|
|
namespace YSG {
|
|
enum class Planisphere_Type {Psk8 = 8};
|
|
|
|
struct PlanispherePrivate;
|
|
class LIB_DECL Planisphere : public RenderAble {
|
|
public:
|
|
Q_Ptr2(Planisphere)
|
|
void giveData(QPointF pos);
|
|
PROP(Axis*, IAxis)
|
|
PROP(Axis*, QAxis)
|
|
PROP(Range, IRange)
|
|
PROP(Range, QRange)
|
|
PROP(QColor, pointColor)
|
|
PROP(QColor, anchorColor)
|
|
PROP(int, continueMillisecond)
|
|
PROP(Planisphere_Type, type)
|
|
void setToAxisCenter();
|
|
struct Builder;
|
|
};
|
|
|
|
struct Planisphere_Prop {
|
|
Axis *IAxis{};
|
|
Axis *QAxis{};
|
|
Range IRange{0, 100};
|
|
Range QRange{0, 100};
|
|
QColor pointColor = Qt::red;
|
|
QColor anchorColor = Qt::yellow;
|
|
int continueMillisecond = 1000;
|
|
Planisphere_Type type = Planisphere_Type::Psk8;
|
|
};
|
|
struct LIB_DECL Planisphere::Builder : Planisphere_Prop {
|
|
PROP_B(Axis*, IAxis)
|
|
PROP_B(Axis*, QAxis)
|
|
PROP_B(Range, IRange)
|
|
PROP_B(Range, QRange)
|
|
PROP_B(QColor, pointColor)
|
|
PROP_B(QColor, anchorColor)
|
|
PROP_B(int, continueMillisecond)
|
|
PROP_B(Planisphere_Type, type)
|
|
SETTER(QString, layerName, "plottable")
|
|
Builder(Axis* IAxis, Axis* QAxis);
|
|
Planisphere* build();
|
|
protected:
|
|
Plot *plot{};
|
|
};
|
|
|
|
|
|
}
|