Skip to content

Commit 3c33000

Browse files
authored
Merge pull request #38 from Digitelektro/beta
Beta
2 parents 71ded81 + 8d1c852 commit 3c33000

15 files changed

Lines changed: 169 additions & 366 deletions

CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,11 @@ if(UNIX AND NOT APPLE)
149149
SET(CPACK_GENERATOR "DEB")
150150
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
151151
SET(CPACK_PACKAGE_VERSION_MINOR "3")
152-
SET(CPACK_PACKAGE_VERSION_PATCH "0")
152+
SET(CPACK_PACKAGE_VERSION_PATCH "1")
153153
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Digitelektro")
154154
SET(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/Digitelektro/MeteorDemod")
155155
SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Russian Meteor M2 weather satellite data decoder")
156+
SET(CPACK_DEBIAN_PACKAGE_DEPENDS "python3-opencv")
156157
INCLUDE(CPack)
157158
endif()
158159
endif()

GIS/shapereader.h

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
#include <iostream>
66
#include <vector>
77
#include <iterator>
8+
#include <memory>
89
#include "databuffer.h"
910
#include "dbfilereader.h"
1011

@@ -373,24 +374,24 @@ class ShapeReader
373374
}
374375
}
375376

376-
RecordIterator *getRecordIterator() {
377+
std::unique_ptr<RecordIterator> getRecordIterator() {
377378
if(mLoaded) {
378-
return new RecordIterator(mBinaryData);
379+
return std::unique_ptr<RecordIterator>(new RecordIterator(mBinaryData));
379380
}
380-
return nullptr;
381+
return std::unique_ptr<RecordIterator>(nullptr);
381382
}
382-
PolyLineIterator *getPolyLineIterator(const RecordIterator &recordIterator) {
383+
std::unique_ptr<PolyLineIterator> getPolyLineIterator(const RecordIterator &recordIterator) {
383384
if(mLoaded) {
384-
return new PolyLineIterator(mBinaryData, recordIterator.mRecordPosition);
385+
return std::unique_ptr<PolyLineIterator>(new PolyLineIterator(mBinaryData, recordIterator.mRecordPosition));
385386
}
386-
return nullptr;
387+
return std::unique_ptr<PolyLineIterator>(nullptr);
387388
}
388389

389-
MultiPointIterator *getMultiPointIterator(const RecordIterator &recordIterator) {
390+
std::unique_ptr<MultiPointIterator> getMultiPointIterator(const RecordIterator &recordIterator) {
390391
if(mLoaded) {
391-
return new MultiPointIterator(mBinaryData, recordIterator.mRecordPosition);
392+
return std::unique_ptr<MultiPointIterator>(new MultiPointIterator(mBinaryData, recordIterator.mRecordPosition));
392393
}
393-
return nullptr;
394+
return std::unique_ptr<MultiPointIterator>(nullptr);
394395
}
395396

396397
const DbFileReader &getDbFilereader() const {

GIS/shaperenderer.cpp

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include "shaperenderer.h"
2-
#include <vector>
32
#include "pixelgeolocationcalculator.h"
3+
#include <vector>
44

55

66
GIS::ShapeRenderer::ShapeRenderer(const std::string shapeFile, const cv::Scalar &color, int earthRadius, int altitude)
@@ -32,11 +32,11 @@ void GIS::ShapeRenderer::drawShapeMercator(cv::Mat &src, float xStart, float ySt
3232
}
3333

3434
if(getShapeType() == ShapeReader::ShapeType::stPolyline) {
35-
ShapeReader::RecordIterator *recordIterator = getRecordIterator();
35+
auto recordIterator = getRecordIterator();
3636

3737
if(recordIterator) {
3838
for(recordIterator->begin(); *recordIterator != recordIterator->end(); ++(*recordIterator)) {
39-
ShapeReader::PolyLineIterator *polyLineIterator = getPolyLineIterator(*recordIterator);
39+
auto polyLineIterator = getPolyLineIterator(*recordIterator);
4040

4141
if(polyLineIterator) {
4242
std::vector<cv::Point> polyLines;
@@ -54,15 +54,11 @@ void GIS::ShapeRenderer::drawShapeMercator(cv::Mat &src, float xStart, float ySt
5454
if(polyLines.size() > 1) {
5555
cv::polylines(src, polyLines, false, mColor, mThicknes);
5656
}
57-
58-
delete polyLineIterator;
5957
}
6058
}
61-
62-
delete recordIterator;
6359
}
6460
} else if(getShapeType() == ShapeReader::ShapeType::stPoint) {
65-
ShapeReader::RecordIterator *recordIterator = getRecordIterator();
61+
auto recordIterator = getRecordIterator();
6662

6763
if(mfilter.size() == 0) {
6864
if(recordIterator) {
@@ -135,11 +131,11 @@ void GIS::ShapeRenderer::drawShapeEquidistant(cv::Mat &src, float xStart, float
135131
}
136132

137133
if(getShapeType() == ShapeReader::ShapeType::stPolyline) {
138-
ShapeReader::RecordIterator *recordIterator = getRecordIterator();
134+
auto recordIterator = getRecordIterator();
139135

140136
if(recordIterator) {
141137
for(recordIterator->begin(); *recordIterator != recordIterator->end(); ++(*recordIterator)) {
142-
ShapeReader::PolyLineIterator *polyLineIterator = getPolyLineIterator(*recordIterator);
138+
auto polyLineIterator = getPolyLineIterator(*recordIterator);
143139

144140
if(polyLineIterator) {
145141
std::vector<cv::Point> polyLines;
@@ -159,15 +155,11 @@ void GIS::ShapeRenderer::drawShapeEquidistant(cv::Mat &src, float xStart, float
159155
if(polyLines.size() > 1) {
160156
cv::polylines(src, polyLines, false, mColor, mThicknes);
161157
}
162-
163-
delete polyLineIterator;
164158
}
165159
}
166-
167-
delete recordIterator;
168160
}
169161
} else if(getShapeType() == ShapeReader::ShapeType::stPoint) {
170-
ShapeReader::RecordIterator *recordIterator = getRecordIterator();
162+
auto recordIterator = getRecordIterator();
171163

172164
if(mfilter.size() == 0) {
173165
if(recordIterator) {

common/settings.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,10 @@ void Settings::parseIni(const std::string &path)
5757
ini::extract(mIniParser.sections["Program"]["SpreadImage"], mSpreadImage, true);
5858
ini::extract(mIniParser.sections["Program"]["AddRainOverlay"], mAddRainOverlay, true);
5959
ini::extract(mIniParser.sections["Program"]["JpgQuality"], mJpegQuality, 90);
60-
ini::extract(mIniParser.sections["Program"]["AlfaM2"], mAlfaM2, 110.8f);
61-
ini::extract(mIniParser.sections["Program"]["DeltaM2"], DeltaM2, -3.2f);
60+
ini::extract(mIniParser.sections["Program"]["ScanAngleM2"], mScanAngleM2, 110.8f);
61+
ini::extract(mIniParser.sections["Program"]["RollM2"], mM2Roll, -2.9f);
62+
ini::extract(mIniParser.sections["Program"]["PitchM2"], mM2Pitch, 0.3f);
63+
ini::extract(mIniParser.sections["Program"]["YawM2"], mM2Yaw, 0.0f);
6264
ini::extract(mIniParser.sections["Program"]["NightPassTreshold"], mNightPassTreshold, 10.0f);
6365

6466
ini::extract(mIniParser.sections["Demodulator"]["CostasBandwidth"], mCostasBw, 50);

common/settings.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,10 @@ class Settings
104104
bool getBrokenM2Modulation() const;
105105

106106
int getJpegQuality() const { return mJpegQuality; }
107-
float getM2Alfa() const { return mAlfaM2; }
108-
float getM2Delta() const { return DeltaM2; }
107+
float getM2ScanAngle() const { return mScanAngleM2; }
108+
float getM2Roll() const { return mM2Roll; }
109+
float getM2Pitch() const { return mM2Pitch; }
110+
float getM2Yaw() const { return mM2Yaw; }
109111
bool equadistantProjection() const { return mEquidistantProjection; }
110112
bool mercatorProjection() const { return mMercatorProjection; }
111113
bool spreadImage() const { return mSpreadImage; }
@@ -159,8 +161,10 @@ class Settings
159161

160162
//ini section: Program
161163
int mJpegQuality;
162-
float mAlfaM2;
163-
float DeltaM2;
164+
float mScanAngleM2;
165+
float mM2Roll;
166+
float mM2Pitch;
167+
float mM2Yaw;
164168
bool mEquidistantProjection;
165169
bool mMercatorProjection;
166170
bool mSpreadImage;

common/version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33

44
#define VERSION_MAJOR 2
55
#define VERSION_MINOR 3
6-
#define VERSION_FIX 0
6+
#define VERSION_FIX 1
77

88
#endif // VERSION_H

0 commit comments

Comments
 (0)