Isis 3 Programmer Reference
Hillshade.h
1#ifndef Hillshade_H
2#define Hillshade_H
8/* SPDX-License-Identifier: CC0-1.0 */
9
10class QDebug;
11class QString;
12
13namespace Isis {
14 class Angle;
15 class Buffer;
16
37 class Hillshade {
38 public:
39 Hillshade();
41 Hillshade(const Hillshade &other);
42 ~Hillshade();
43
46 void setResolution(double resolution);
47
48 Angle azimuth() const;
49 Angle zenith() const;
50 double resolution() const;
51
52 double shadedValue(Buffer &input) const;
53
54 void swap(Hillshade &other);
55 Hillshade &operator=(const Hillshade &rhs);
56
57 QString toString() const;
58
59 private:
66 };
67
68 QDebug operator<<(QDebug, const Hillshade &hillshade);
69}
70
71#endif
Defines an angle and provides unit conversions.
Definition Angle.h:45
Buffer for reading and writing cube data.
Definition Buffer.h:53
Calculate light intensity reflected off a local slope of DEM.
Definition Hillshade.h:37
Hillshade & operator=(const Hillshade &rhs)
Assignment operator.
Angle zenith() const
Get the current zenith angle.
void setResolution(double resolution)
The resolution is the meters per pixel of the input to shadedValue().
void setAzimuth(Angle azimuth)
The azimuth is the direction of the light.
Definition Hillshade.cpp:82
Angle * m_zenith
This is the altitide of the light, with 0 directly overhead and 90 at the horizon.
Definition Hillshade.h:63
void swap(Hillshade &other)
Swap class data with other; this cannot throw an exception.
Angle * m_azimuth
This is direction of the light, with 0 at north.
Definition Hillshade.h:61
Hillshade()
Create a default-constructed Hillshade.
Definition Hillshade.cpp:24
double m_pixelResolution
meters per pixel
Definition Hillshade.h:65
Angle azimuth() const
Get the current azimuth angle.
double resolution() const
Get the current resolution (meters per pixel).
void setZenith(Angle zenith)
The zenith is the altitude/solar elevation of the light.
Definition Hillshade.cpp:99
double shadedValue(Buffer &input) const
Calculate the shaded value from a 3x3x1 window.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
QDebug operator<<(QDebug debug, const Hillshade &hillshade)
Print this class out to a QDebug object.