Files
HPPA/HPPA/RasterLayer.h
tangchao0503 5f965f0d8e fix
兼容2种帧数显示逻辑:(1)采集时的实时帧数(2)打开影像时的帧数;
2026-05-28 09:27:25 +08:00

41 lines
980 B
C++

#pragma once
#include "MapLayer.h"
#include <memory>
#include <QVector>
#include <vector>
class RasterDataProvider;
class RasterLayer : public MapLayer
{
Q_OBJECT
public:
explicit RasterLayer(const QString& name, const QString& uri);
~RasterLayer();
LayerType layerType() const override;
// Access provider
RasterDataProvider* dataProvider() const;
// Create or open provider based on this layer's uri
bool openDataProvider();
bool isValidPixel(int x, int y);
bool readPixelSpectrum(int x, int y, QVector<double>& wavelengths, QVector<double>& spectrum);
// Get wavelength range from data provider (min, max). Returns false if unavailable.
bool wavelengthRange(double& minWave, double& maxWave) const;
// Get all band wavelengths
std::vector<double> bandWavelengths() const;
// Get dimensions
int width() const;
int height() const;
protected:
std::unique_ptr<RasterDataProvider> m_provider;
};