12 #ifndef ossimGrect_HEADER 13 #define ossimGrect_HEADER 1 33 theUlCorner(0.0, 0.0, 0.0),
34 theLrCorner(0.0, 0.0, 0.0)
43 theUlCorner(rect.ul()),
44 theLrCorner(rect.lr())
63 theUlCorner(ulLat, ulLon,0, aDatum),
64 theLrCorner(lrLat, lrLon, 0, aDatum)
67 double latSpacingInDegrees,
68 double lonSpacingInDegrees)
73 std::vector<ossimGrect> v;
74 computeEvenTiles(v, latSpacingInDegrees, lonSpacingInDegrees);
87 theUlCorner = rect.
ul();
88 theLrCorner = rect.
lr();
114 inline void makeNan();
116 inline bool isLonLatNan()
const;
118 inline bool hasNans()
const;
120 inline bool isNan()
const;
132 bool intersects(
const ossimGrect& rect)
const;
145 void expandToInclude(
const ossimGpt& gpt);
158 inline bool pointWithin(
const ossimGpt& gpt,
bool considerHgt=
false)
const;
160 ossimGrect stretchToEvenBoundary(
double latSpacingInDegrees,
161 double lonSpacingInDegrees)
const;
163 void computeEvenTiles(std::vector<ossimGrect>& result,
164 double latSpacingInDegrees,
165 double lonSpacingInDegrees,
166 bool clipToGeographicBounds =
true)
const;
180 return ossimGpt((
ul().latd() +
ur().latd() +
ll().latd() +
lr().latd())*.25,
181 (
ul().lond() +
ur().lond() +
ll().lond() +
lr().lond())*.25,
192 double ulx, uly, lrx, lry;
199 if( lrx < ulx || lry > uly )
ossim_float64 max< ossim_float64 >(ossim_float64 a, ossim_float64 b)
double lond() const
Will convert the radian measure to degrees.
void combine(const std::string &left, const std::string &right, char separator, std::string &result)
ossim_float64 width() const
Returns the width of a rectangle in deg.
ossimGrect()
Will default to 0,0,0,0.
ossim_float64 hgt
Height in meters above the ellipsiod.
double latd() const
Will convert the radian measure to degrees.
const ossimDatum * datum() const
datum().
const ossimGrect & operator=(const ossimGrect &rect)
ossimGrect(const ossimGpt &point, double latSpacingInDegrees, double lonSpacingInDegrees)
ostream & operator<<(ostream &out, const ossimAxes &axes)
bool pointWithin(const ossimGpt &gpt, bool considerHgt=false) const
METHOD: pointWithin(ossimGpt)
ossimGrect clipToRect(const ossimGrect &rect) const
static ossimDatumFactory * instance()
const ossimGpt & ul() const
ossimGpt midPoint() const
ossimGrect combine(const ossimGrect &rect) const
ossimGrect(double ulLat, double ulLon, double lrLat, double lrLon, const ossimDatum *aDatum=ossimDatumFactory::instance() ->wgs84())
Takes the upper left and lower right ground points.
ossimGrect(const ossimGrect &rect)
Copies the passed in rectangle to this object.
ossim_float64 height() const
Returns the height of a rectangle in deg.
const ossimGpt & lr() const
int completely_within(extent_type extent1, extent_type extent2)
std::basic_ostream< char > ostream
Base class for char output streams.
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
ossim_float64 min< ossim_float64 >(ossim_float64 a, ossim_float64 b)