61 lines
1.6 KiB
C++
61 lines
1.6 KiB
C++
#include "VisibleBox.h"
|
|
|
|
|
|
// ͨ¹ý ProcList ¼Ì³Ð
|
|
std::shared_ptr<Box3DDesc> Visible3DPlugin::execute(std::shared_ptr<const Get3DBox> in) {
|
|
auto ins = std::make_shared<Box3DDesc>();
|
|
ins->setPosition(_self_lla);
|
|
ins->setPosture(_self_posture);
|
|
ins->setTarget(_bind_entity, in->sourceEntity());
|
|
ins->setVolume(_self_d3);
|
|
return ins;
|
|
}
|
|
|
|
void Visible3DPlugin::recoveryFrom(const QJsonObject& obj) {
|
|
this->_bind_entity = obj["_bind_entity"].toVariant().toULongLong();
|
|
DBL_PEAK(_self_d3._length_m);
|
|
DBL_PEAK(_self_d3._width_m);
|
|
DBL_PEAK(_self_d3._height_m);
|
|
|
|
DBL_PEAK(_self_lla._lon_deg);
|
|
DBL_PEAK(_self_lla._lat_deg);
|
|
DBL_PEAK(_self_lla._alt_m);
|
|
|
|
DBL_PEAK(_self_posture._azimuth_deg);
|
|
DBL_PEAK(_self_posture._pitch_deg);
|
|
DBL_PEAK(_self_posture._roll_deg);
|
|
}
|
|
|
|
void Visible3DPlugin::saveTo(QJsonObject& obj) const {
|
|
obj["_bind_entity"] = QJsonValue::fromVariant(QVariant::fromValue(this->_bind_entity));
|
|
|
|
DBL_SAVE(_self_d3._length_m);
|
|
DBL_SAVE(_self_d3._width_m);
|
|
DBL_SAVE(_self_d3._height_m);
|
|
|
|
DBL_SAVE(_self_lla._lon_deg);
|
|
DBL_SAVE(_self_lla._lat_deg);
|
|
DBL_SAVE(_self_lla._alt_m);
|
|
|
|
DBL_SAVE(_self_posture._azimuth_deg);
|
|
DBL_SAVE(_self_posture._pitch_deg);
|
|
DBL_SAVE(_self_posture._roll_deg);
|
|
}
|
|
|
|
std::shared_ptr<WsComponent> Visible3DPlugin::defaultNew() const {
|
|
auto copy = std::make_shared<Visible3DPlugin>();
|
|
copy->_bind_entity = _bind_entity;
|
|
copy->_self_d3 = _self_d3;
|
|
copy->_self_lla = _self_lla;
|
|
copy->_self_posture = _self_posture;
|
|
return copy;
|
|
}
|
|
|
|
void Visible3DPlugin::bindEntity(uint64_t entity_id) {
|
|
this->_bind_entity = entity_id;
|
|
}
|
|
|
|
QString Visible3DPlugin::name() const {
|
|
return NAME(Visible3DPlugin);
|
|
}
|