33 classification (UNASSIGNED),
37 if ((tokens.size() < 6) || (tokens[0].
size() && (tokens[0].chars()[0] ==
'#')))
41 id = tokens[i++].toUInt32();
49 if (tokens.size() >= 8)
51 startAz = tokens[i++].toDouble();
52 endAz = tokens[i++].toDouble();
57 if ( tokens.size()-i )
98 char* magic_number =
new char [ sizeOfMagic ];
104 indata.read(magic_number, sizeOfMagic);
110 vector<ossimString> tokens;
111 while (indata.good())
115 dome_spec.
split(tokens,
",",
true);
135 vector<ossimRangeDome>::iterator dome =
m_rangeDomes.begin();
149 ossimIpt image_size(boundingRect.
width()/degPerPixel.x, boundingRect.
height()/degPerPixel.y);
159 r = dome->radiusMeters/
m_gsd.
x;
160 dome->radiusPixelsSq = r*r;
204 ossimIrect tile_rect_r0 (coord_scale*tile_rect);
208 if (!tile_rect_r0.
intersects(boundingImgRect))
214 vector<ossimRangeDome>::iterator dome;
215 double d2, x0, y0, dx, dy, az;
218 for (
ossim_int32 yn=tile_rect.ul().y; yn<=tile_rect.lr().y; ++yn)
220 y0 = yn * coord_scale;
222 for (
ossim_int32 xn=tile_rect.ul().x; xn<=tile_rect.lr().x; ++xn)
224 x0 = xn * coord_scale;
231 dx = x0 - dome->centerIpt.x;
232 dy = y0 - dome->centerIpt.y;
235 if (d2 > dome->radiusPixelsSq)
242 if (dome->startAz == dome->endAz)
253 if (((dome->startAz < dome->endAz) && (az >= dome->startAz) && (az <= dome->endAz)) ||
254 ((dome->startAz > dome->endAz) && (
255 ((az >= dome->startAz) && (az > dome->endAz)) ||
256 ((az < dome->startAz) && (az <= dome->endAz)))))
294 static const char MODULE[] =
"ossimRangeDomeTileSource::saveState()";
300 <<
" ERROR detected in keyword list! State not saved." << std::endl;
312 static const char MODULE[] =
"ossimRangeDomeTileSource::loadState()";
319 <<
"WARNING: error detected in keyword list! State not load." << std::endl;
333 bool good_open =
open();
340 if (!property.
valid())
344 property->valueToString(s);
381 gsd.
x =(1.0/(resLevel+1)) *
m_gsd.
x;
382 gsd.
y =(1.0/(resLevel+1)) *
m_gsd.
y;
virtual const ossimDpt & getDecimalDegreesPerPixel() const
Returns decimal degrees per pixel as an ossimDpt with "x" representing longitude and "y" representing...
void fill(ossim_uint32 band, ossim_float64 value)
will fill the entire band with the value.
ossimGrect boundingRect() const
ossimRefPtr< ossimImageGeometry > theGeometry
static const ossimString OSSIM_RANGE_DOME_SPEC_MAGIC_NUMBER
virtual void setValue(ossim_int32 x, ossim_int32 y, ossim_float64 color)
ossimFilename theImageFile
virtual void setImageRectangle(const ossimIrect &rect)
virtual ~ossimRangeDomeTileSource()
const ossimIpt & getImageSize() const
virtual void setGSD(const ossim_float64 &gsd)
Represents serializable keyword/value map.
RTTI_DEF1(ossimRangeDomeTileSource, "ossimRangeDomeTileSource", ossimImageHandler)
std::basic_ifstream< char > ifstream
Class for char input file streams.
const char * find(const char *key) const
std::vector< ossimDpt > theDecimationFactors
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual bool isOpen() const
Derived classes must implement this method to be concrete.
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &rect, ossim_uint32 resLevel=0)
void getBoundingRect(ossimIrect &bounding_rect) const
Get the bounding rect of (0, 0) to (imageSize.x-1, imageSize.y-1).
ossim_float64 width() const
Returns the width of a rectangle in deg.
virtual void setOrigin(const ossimGpt &origin)
Sets theOrigin to origin.
static ossimString toString(bool aValue)
Numeric to string methods.
void split(std::vector< ossimString > &result, const ossimString &separatorList, bool skipBlankFields=false) const
Splits this string into a vector of strings (fields) using the delimiter list specified.
virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel=0) const
Pure virtual, derived classes must implement.
ossim_float64 hgt
Height in meters above the ellipsiod.
static const ossimErrorCode OSSIM_ERROR
std::istream & getline(std::istream &is, ossimString &str, char delim)
Classification classification
bool intersects(const ossimIrect &rect) const
virtual void setProperty(ossimRefPtr< ossimProperty > property)
void setImageSize(const ossimIpt &size)
static const char * METERS_PER_PIXEL_Y_KW
virtual void initialize()
Initialize the data buffer.
virtual void setMetersPerPixel(const ossimDpt &gsd)
void expandToInclude(const ossimGpt &gpt)
Expands existing rect to accommodate argument point.
std::vector< ossimRangeDome > m_rangeDomes
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
static ossimImageDataFactory * instance()
ossimRangeDome(std::vector< ossimString > &tokens)
virtual ossimDataObjectStatus validate() const
std::string::size_type size() const
virtual void setProperty(ossimRefPtr< ossimProperty > property)
The reader properties are: – the GSD ("meters_per_pixel")
unsigned int ossim_uint32
const char * chars() const
For backward compatibility.
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
ossim_float64 toFloat64() const
const ossimGpt & ul() const
virtual ossimIrect getImageRectangle() const
double atan2d(double y, double x)
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel=0) const
Pure virtual, derived classes must implement.
virtual ossimRefPtr< ossimImageData > create(ossimSource *owner, ossimScalarType scalar, ossim_uint32 bands=1) const
Container class that holds both 2D transform and 3D projection information for an image Only one inst...
ossimGpt midPoint() const
virtual void close()
Deletes the overview and clears the valid image vertices.
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
virtual void initialize()
initialize Does nothing in this class.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual ossimErrorCode getErrorStatus() const
static const char * METERS_PER_PIXEL_KW
ossimRangeDomeTileSource()
virtual void getGSD(ossimDpt &gsd, ossim_uint32 resLevel) const
virtual void setDataObjectStatus(ossimDataObjectStatus status) const
Full list found in ossimConstants.h.
virtual void setUlTiePoints(const ossimGpt &gpt)
bool worldToLocal(const ossimGpt &world_pt, ossimDpt &local_pt) const
Exposes the 3D world-to-local image coordinate reverse projection.
ossimDpt metersPerDegree() const
virtual ossim_uint32 getNumberOfInputBands() const
ossim_float64 height() const
Returns the height of a rectangle in deg.
Class used for rendering range domes (a.k.a.
void setElevationLookupFlag(bool flag)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual bool open()
Reads CSV file representing range domes.
virtual double getNullPixelValue(ossim_uint32 band=0) const
Each band has a null pixel associated with it.
unsigned char ossim_uint8
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
const ossimString & getName() const
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.