Isis Developer Reference
Hillshade.h
Go to the documentation of this file.
1 #ifndef Hillshade_H
2 #define Hillshade_H
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 class QDebug;
11 class QString;
12 
13 namespace Isis {
14  class Angle;
15  class Buffer;
16 
37  class Hillshade {
38  public:
39  Hillshade();
41  Hillshade(const Hillshade &other);
42  ~Hillshade();
43 
44  void setAzimuth(Angle azimuth);
45  void setZenith(Angle zenith);
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:
61  Angle *m_azimuth;
63  Angle *m_zenith;
65  double m_pixelResolution;
66  };
67 
68  QDebug operator<<(QDebug, const Hillshade &hillshade);
69 }
70 
71 #endif
Isis::Angle::Degrees
@ Degrees
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
Definition: Angle.h:56
Isis::Hillshade::toString
QString toString() const
Isis::Hillshade::Hillshade
Hillshade()
Create a default-constructed Hillshade.
Definition: Hillshade.cpp:24
Isis::Angle::toString
virtual QString toString(bool includeUnits=true) const
Get the angle in human-readable form.
Definition: Angle.cpp:243
Isis::Buffer::SampleDimension
int SampleDimension() const
Returns the number of samples in the shape buffer.
Definition: Buffer.h:70
Isis::operator<<
QDebug operator<<(QDebug debug, const Hillshade &hillshade)
Print this class out to a QDebug object.
Definition: Hillshade.cpp:314
SpecialPixel.h
Isis::IException::Unknown
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
Isis::Hillshade::setResolution
void setResolution(double resolution)
The resolution is the meters per pixel of the input to shadedValue().
Definition: Hillshade.cpp:115
Isis::Hillshade::zenith
Angle zenith() const
Get the current zenith angle.
Definition: Hillshade.cpp:140
Isis::Hillshade::setAzimuth
void setAzimuth(Angle azimuth)
The azimuth is the direction of the light.
Definition: Hillshade.cpp:82
Isis::Hillshade::swap
void swap(Hillshade &other)
Swap class data with other; this cannot throw an exception.
Definition: Hillshade.cpp:294
Isis::toString
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Isis::IsSpecial
bool IsSpecial(const double d)
Returns if the input pixel is special.
Definition: SpecialPixel.h:197
Isis::Buffer
Buffer for reading and writing cube data.
Definition: Buffer.h:53
Buffer.h
Isis::Hillshade::azimuth
Angle azimuth() const
Get the current azimuth angle.
Definition: Hillshade.cpp:125
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::Hillshade::setZenith
void setZenith(Angle zenith)
The zenith is the altitude/solar elevation of the light.
Definition: Hillshade.cpp:99
Isis::Buffer::LineDimension
int LineDimension() const
Returns the number of lines in the shape buffer.
Definition: Buffer.h:79
Isis::Hillshade::resolution
double resolution() const
Get the current resolution (meters per pixel).
Definition: Hillshade.cpp:155
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::Angle
Defines an angle and provides unit conversions.
Definition: Angle.h:45
Isis::Hillshade::~Hillshade
~Hillshade()
Definition: Hillshade.cpp:65
Isis::Null
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Isis::Hillshade::operator=
Hillshade & operator=(const Hillshade &rhs)
Assignment operator.
Definition: Hillshade.cpp:304
Hillshade.h
Isis::Hillshade::shadedValue
double shadedValue(Buffer &input) const
Calculate the shaded value from a 3x3x1 window.
Definition: Hillshade.cpp:163
Isis::IException::Programmer
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
Isis::Angle::isValid
bool isValid() const
This indicates whether we have a legitimate angle stored or are in an unset, or invalid,...
Definition: Angle.cpp:95
Isis::Hillshade
Calculate light intensity reflected off a local slope of DEM.
Definition: Hillshade.h:37
Isis::Angle::fullRotation
static Angle fullRotation()
Makes an angle to represent a full rotation (0-360 or 0-2pi).
Definition: Angle.cpp:106
Angle.h
Isis::Buffer::size
int size() const
Returns the total number of pixels in the shape buffer.
Definition: Buffer.h:97
Isis::Buffer::BandDimension
int BandDimension() const
Returns the number of bands in the shape buffer.
Definition: Buffer.h:88
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::Angle::radians
double radians() const
Convert an angle to a double.
Definition: Angle.h:226