OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ossimIgenGenerator Class Reference

#include <ossimIgenGenerator.h>

Public Member Functions

 ossimIgenGenerator (ossimConnectableObject *input=NULL, ossimConnectableObject *output=NULL, ossimObject *view=NULL)
 
 ~ossimIgenGenerator ()
 
void setOutput (ossimConnectableObject *output)
 
void setOutput (const ossimKeywordlist &kwl)
 
void setInput (ossimConnectableObject *input)
 
void setView (ossimObject *view)
 
void generateSpecList (bool outputToFileFlag=false)
 
void getImageFilenamesFromSpecList (std::vector< ossimFilename > &filenameList)
 
ossimGrect getBoundingGround () const
 
void executeSpecList ()
 
void setIteratorsToStart ()
 
bool nextSpecFile (ossimFilename &specFile)
 
void getSpecs (vector< ossimKeywordlist > &specList) const
 
ossim_uint32 getNumberOfSpecFiles () const
 
ossimFilename getSpecFilename (ossim_uint32 specFileIndex=0) const
 
ossimFilename buildExe (ossim_uint32 i=0) const
 
void getSpec (ossimKeywordlist &kwl, ossim_uint32 specIndex=0)
 
void getInput (ossimKeywordlist &kwl, const char *prefix=NULL) const
 
void getOutput (ossimKeywordlist &kwl, const char *prefix=NULL) const
 
void getView (ossimKeywordlist &kwl, const char *prefix=NULL) const
 
void setView (ossimKeywordlist &kwl, const char *prefix=NULL)
 
void setOutput (ossimKeywordlist &kwl, const char *prefix=NULL)
 
void setSpecFileLocation (const ossimFilename &filename)
 
const ossimFilenamegetSpecFileLocation () const
 
void setIgenExecutable (const ossimFilename &igenExecutable)
 
const ossimFilenamegetIgenExecutable () const
 
void setOutputPolygon (const ossimGeoPolygon &poly)
 
void setPixelType (ossimPixelType pixelType)
 
void getOutputGeoPolygon (ossimGeoPolygon &poly) const
 
const ossimGeoPolygongetOutputGeoPolygon () const
 
void setTilingFlag (bool flag)
 
void setTileSpacing (const ossimDpt &spacing)
 
void setTilePadding (const ossimDpt &padding)
 
void setTileSpacingUnits (ossimUnitType unitType)
 
void setTilePaddingUnits (ossimUnitType unitType)
 
bool getTilingFlag () const
 
const ossimDptgetTileSpacing () const
 
const ossimDptgetTilePadding () const
 
ossimUnitType getTileSpacingUnits () const
 
ossimUnitType getTilePaddingUnits () const
 
ossimPixelType getPixelType () const
 
void setTileNamingConvention (const ossimString &namingConvention)
 
const ossimStringgetTileNamingConvention () const
 
ossimIrect getInputBoundingRect () const
 
ossimProjectioncreateProductProjection () const
 
ossimObjectcreateOutput () const
 
ossimObjectcreateInput () const
 

Protected Member Functions

void generateInputKwl (ossimConnectableObject *connectable)
 
void generateOutputKwl (ossimConnectableObject *connectable)
 
void generateViewKwl (ossimObject *view)
 
void setDefaultOutput ()
 
void generateTiledSpecList (bool outputToFileFlag)
 
void generateGeoTiledSpecList (const ossimDpt &spacing, bool outputToFileFlag)
 
void generatePixelTiledSpecList (bool outputToFileFlag)
 
void generateNoTiledSpecList (bool outputToFileFlag)
 
void generateChainForMultiInput (ossimConnectableObject *connectable)
 
void generateChainForMultiInputRecurse (std::stack< ossimConnectableObject *> &aStack, ossimConnectableObject *connectable)
 
int getTileId (const ossimDrect &rect, const ossimDpt &currentPt, const ossimDpt &spacing) const
 
void addPadding (ossimGeoPolygon &output, const ossimGeoPolygon &input) const
 
void addPixelType (ossimKeywordlist &kwl, const char *prefix="product.")
 

Protected Attributes

ossimKeywordlist theInputKwl
 
ossimKeywordlist theOutputKwl
 
ossimKeywordlist theViewKwl
 
ossimPixelType thePixelType
 
bool theTilingFlag
 
ossimDpt theUpperLeftTileStart
 
ossimDpt theTileSpacing
 
ossimUnitType theTileSpacingUnits
 
ossimDpt theTilePadding
 
ossimUnitType theTilePaddingUnits
 
ossimString theNamingConvention
 
ossimFilename theSpecFileLocation
 
ossimFilename theIgenExecutable
 
ossim_uint32 theSpecFileIndex
 
ossim_uint32 theSpecListIndex
 
ossimIrect theInputBoundingRect
 
ossimGeoPolygon theOutputGeoPolygon
 
ossimString theTileNamingConvention
 
vector< ossimKeywordlisttheSpecList
 
vector< ossimFilenametheSpecFileList
 

Detailed Description

Definition at line 22 of file ossimIgenGenerator.h.

Constructor & Destructor Documentation

◆ ossimIgenGenerator()

ossimIgenGenerator::ossimIgenGenerator ( ossimConnectableObject input = NULL,
ossimConnectableObject output = NULL,
ossimObject view = NULL 
)
inline

Definition at line 25 of file ossimIgenGenerator.h.

29  theTilingFlag(false),
30  theTileSpacing(7.5, 7.5),
32  theTilePadding(0,0),
34  theNamingConvention("DEFAULT"),
36  theIgenExecutable("igen"),
40  {
42  setInput(input);
43  setOutput(output);
44  setView(view);
46  }
ossim_uint32 theSpecFileIndex
ossimIrect theInputBoundingRect
ossimString theTileNamingConvention
ossimString theNamingConvention
ossimFilename theIgenExecutable
void setView(ossimObject *view)
ossimFilename theSpecFileLocation
ossimPixelType thePixelType
ossim_uint32 theSpecListIndex
void setInput(ossimConnectableObject *input)
void makeNan()
Definition: ossimIrect.h:329
ossimUnitType theTilePaddingUnits
ossimUnitType theTileSpacingUnits
void setOutput(ossimConnectableObject *output)
void makeNan()
Definition: ossimDpt.h:65

◆ ~ossimIgenGenerator()

ossimIgenGenerator::~ossimIgenGenerator ( )
inline

Definition at line 48 of file ossimIgenGenerator.h.

49  {
50  }

Member Function Documentation

◆ addPadding()

void ossimIgenGenerator::addPadding ( ossimGeoPolygon output,
const ossimGeoPolygon input 
) const
protected

Definition at line 548 of file ossimIgenGenerator.cpp.

References createProductProjection(), ossimGeoPolygon::getOrdering(), ossimDpt::lat, ossimGpt::lat, ossimProjection::lineSampleToWorld(), ossimDpt::lon, ossimGpt::lon, OSSIM_CLOCKWISE_ORDER, OSSIM_DEGREES, OSSIM_METERS, OSSIM_MINUTES, OSSIM_PIXEL, OSSIM_SECONDS, ossimGeoPolygon::setOrdering(), theTilePadding, theTilePaddingUnits, ossimRefPtr< T >::valid(), ossimProjection::worldToLineSample(), ossimDpt::x, and ossimDpt::y.

Referenced by generateGeoTiledSpecList(), and generatePixelTiledSpecList().

550 {
551  output = input;
552  switch(theTilePaddingUnits)
553  {
554  case OSSIM_PIXEL:
555  {
557  if(proj.valid())
558  {
559  ossimDpt ul;
560  ossimDpt ur;
561  ossimDpt lr;
562  ossimDpt ll;
563 
564  if(input.getOrdering() == OSSIM_CLOCKWISE_ORDER)
565  {
566  proj->worldToLineSample(input[0], ul);
567  proj->worldToLineSample(input[1], ur);
568  proj->worldToLineSample(input[2], lr);
569  proj->worldToLineSample(input[3], ll);
570  }
571  else
572  {
573  proj->worldToLineSample(input[0], ul);
574  proj->worldToLineSample(input[1], ll);
575  proj->worldToLineSample(input[2], lr);
576  proj->worldToLineSample(input[3], ur);
577 
578  }
579 
580  ul -= theTilePadding;
581  ur += ossimDpt(theTilePadding.x,
582  -theTilePadding.y);
583  lr += theTilePadding;
584  ll += ossimDpt(-theTilePadding.x,
585  theTilePadding.y);
586 
587  proj->lineSampleToWorld(ul, output[0]);
588  proj->lineSampleToWorld(ur, output[1]);
589  proj->lineSampleToWorld(lr, output[2]);
590  proj->lineSampleToWorld(ll, output[3]);
591 
593 
594  }
595  break;
596  }
597  case OSSIM_DEGREES:
598  case OSSIM_MINUTES:
599  case OSSIM_SECONDS:
600  {
601  ossimGpt ul;
602  ossimGpt ur;
603  ossimGpt lr;
604  ossimGpt ll;
605  ossimDpt spacing = theTilePadding;
606 
608  {
609  spacing.x /= 60;
610  spacing.y /= 60;
611  }
613  {
614  spacing.x /= 3600;
615  spacing.y /= 3600;
616  }
617 
618  if(input.getOrdering() == OSSIM_CLOCKWISE_ORDER)
619  {
620  ul = input[0];
621  ur = input[1];
622  lr = input[2];
623  ll = input[3];
624  }
625  else
626  {
627  ul = input[0];
628  ll = input[1];
629  lr = input[2];
630  ur = input[3];
631  }
632  ul.lat += spacing.lat;
633  ul.lon -= spacing.lon;
634  ur.lat += spacing.lat;
635  ur.lon += spacing.lon;
636  lr.lat -= spacing.lat;
637  lr.lon += spacing.lon;
638  ll.lat -= spacing.lat;
639  ll.lon -= spacing.lon;
640 
641  output[0] = ul;
642  output[1] = ur;
643  output[2] = lr;
644  output[3] = ll;
646 
647  break;
648  }
649  case OSSIM_METERS:
650  {
651  break;
652  }
653  default:
654  break;
655  }
656 }
ossimVertexOrdering getOrdering() const
bool valid() const
Definition: ossimRefPtr.h:75
double y
Definition: ossimDpt.h:165
ossimProjection * createProductProjection() const
void setOrdering(ossimVertexOrdering ordering)
double lat
Definition: ossimDpt.h:165
ossim_float64 lon
Definition: ossimGpt.h:266
double lon
Definition: ossimDpt.h:164
ossimUnitType theTilePaddingUnits
double x
Definition: ossimDpt.h:164
ossim_float64 lat
Definition: ossimGpt.h:265
virtual void lineSampleToWorld(const ossimDpt &lineSampPt, ossimGpt &worldPt) const =0
virtual void worldToLineSample(const ossimGpt &worldPoint, ossimDpt &lineSampPt) const =0

◆ addPixelType()

void ossimIgenGenerator::addPixelType ( ossimKeywordlist kwl,
const char *  prefix = "product." 
)
protected

Definition at line 658 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::add(), OSSIM_PIXEL_IS_POINT, ossimKeywordNames::PIXEL_TYPE_KW, and thePixelType.

Referenced by generateGeoTiledSpecList(), generateNoTiledSpecList(), and generatePixelTiledSpecList().

659 {
661  {
662  kwl.add(prefix,
664  "PIXEL_IS_POINT",
665  true);
666  }
667  else
668  {
669  kwl.add(prefix,
671  "PIXEL_IS_AREA",
672  true);
673  }
674 }
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
ossimPixelType thePixelType
static const char * PIXEL_TYPE_KW

◆ buildExe()

ossimFilename ossimIgenGenerator::buildExe ( ossim_uint32  i = 0) const
inline

Definition at line 106 of file ossimIgenGenerator.h.

107  {
108  ossimFilename igenExe = getIgenExecutable();
109  ossimFilename specFile = getSpecFilename(i);
110 
111  return ossimFilename( igenExe + " " + specFile);
112  }
ossimFilename getSpecFilename(ossim_uint32 specFileIndex=0) const
const ossimFilename & getIgenExecutable() const

◆ createInput()

ossimObject * ossimIgenGenerator::createInput ( ) const

◆ createOutput()

ossimObject * ossimIgenGenerator::createOutput ( ) const

Definition at line 134 of file ossimIgenGenerator.cpp.

References ossimObjectFactoryRegistry::createObject(), ossimObjectFactoryRegistry::instance(), and theOutputKwl.

135 {
137 }
ossimKeywordlist theOutputKwl
static ossimObjectFactoryRegistry * instance()
virtual ossimObject * createObject(const ossimString &name) const

◆ createProductProjection()

ossimProjection * ossimIgenGenerator::createProductProjection ( ) const

Definition at line 129 of file ossimIgenGenerator.cpp.

References ossimProjectionFactoryRegistry::createProjection(), ossimProjectionFactoryRegistry::instance(), and theViewKwl.

Referenced by addPadding(), generateGeoTiledSpecList(), and generatePixelTiledSpecList().

130 {
132 }
ossimProjection * createProjection(const ossimFilename &filename, ossim_uint32 entryIdx) const
static ossimProjectionFactoryRegistry * instance()
ossimKeywordlist theViewKwl

◆ executeSpecList()

void ossimIgenGenerator::executeSpecList ( )

Definition at line 72 of file ossimIgenGenerator.cpp.

73 {
74 }

◆ generateChainForMultiInput()

void ossimIgenGenerator::generateChainForMultiInput ( ossimConnectableObject connectable)
protected

Definition at line 89 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::add(), ossimString::c_str(), generateChainForMultiInputRecurse(), ossimConnectableObject::saveState(), theInputKwl, and ossimString::toString().

Referenced by generateInputKwl().

90 {
91  std::stack<ossimConnectableObject*> aStack;
92 
93  generateChainForMultiInputRecurse(aStack, connectable);
94 
95  ossim_int32 objectIndex = 1;
96  while(!aStack.empty())
97  {
98  ossimConnectableObject* current = aStack.top();
99  aStack.pop();
100  ossimString prefix = ossimString("object") + ossimString::toString(objectIndex) + ".";
101 
102  current->saveState(theInputKwl, prefix.c_str());
103 
104  ++objectIndex;
105  }
106  theInputKwl.add("type",
107  "ossimImageChain",
108  true);
109 
110 }
static ossimString toString(bool aValue)
Numeric to string methods.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
ossimKeywordlist theInputKwl
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396
void generateChainForMultiInputRecurse(std::stack< ossimConnectableObject *> &aStack, ossimConnectableObject *connectable)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
int ossim_int32

◆ generateChainForMultiInputRecurse()

void ossimIgenGenerator::generateChainForMultiInputRecurse ( std::stack< ossimConnectableObject *> &  aStack,
ossimConnectableObject connectable 
)
protected

Definition at line 112 of file ossimIgenGenerator.cpp.

References ossimConnectableObject::getInput(), and ossimConnectableObject::getNumberOfInputs().

Referenced by generateChainForMultiInput().

114 {
115 
116 
117  if(connectable)
118  {
119  aStack.push(connectable);
120  for(ossim_uint32 i = 0; i < connectable->getNumberOfInputs(); ++i)
121  {
123  connectable->getInput(i));
124  }
125  }
126 }
ossimConnectableObject * getInput(ossim_uint32 index=0)
returns the object at the specified index.
unsigned int ossim_uint32
virtual ossim_uint32 getNumberOfInputs() const
Returns the number of input objects.
void generateChainForMultiInputRecurse(std::stack< ossimConnectableObject *> &aStack, ossimConnectableObject *connectable)

◆ generateGeoTiledSpecList()

void ossimIgenGenerator::generateGeoTiledSpecList ( const ossimDpt spacing,
bool  outputToFileFlag 
)
protected

Definition at line 330 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::add(), ossimImageChain::add(), addPadding(), addPixelType(), ossimGeoPolygon::addPoint(), ossimString::c_str(), ossimGeoPolygon::clear(), createInput(), createProductProjection(), ossimFilename::dirCat(), ossimString::downcase(), ossimFilename::ext(), ossimKeywordNames::FILENAME_KW, ossimFilename::fileNoExtension(), ossimKeywordlist::find(), getInputBoundingRect(), getTileId(), ossimDpt::lat, ossimProjection::lineSampleToWorld(), ossimIrect::ll(), ossimDrect::ll(), ossimDpt::lon, ossimIrect::lr(), ossim::nan(), OSSIM_RIGHT_HANDED, ossimFilename::path(), PTR_CAST, ossimUsgsQuad::quarterQuadName(), ossimUsgsQuad::quarterQuadSegName(), ossimImageChain::saveState(), ossimFilename::setExtension(), ossimGeoPolyCutter::setPolygon(), ossimGeoPolygon::size(), ossimDrect::stretchToTileBoundary(), theOutputGeoPolygon, theOutputKwl, theSpecFileList, theSpecFileLocation, theSpecList, theTileNamingConvention, theViewKwl, ossimString::toString(), ossimString::trim(), ossimIrect::ul(), ossimDrect::ul(), ossimIrect::ur(), ossimDrect::ur(), ossimRefPtr< T >::valid(), ossimKeywordlist::write(), and ossimDpt::x.

Referenced by generateTiledSpecList().

331 {
333  if((proj.valid())&&(theOutputGeoPolygon.size() == 4))
334  {
335  ossimDrect rect;
336 
337  ossimIrect inputRect = getInputBoundingRect();
338  ossimGpt gpt1;
339  ossimGpt gpt2;
340  ossimGpt gpt3;
341  ossimGpt gpt4;
342  proj->lineSampleToWorld(inputRect.ul(), gpt1);
343  proj->lineSampleToWorld(inputRect.ur(), gpt2);
344  proj->lineSampleToWorld(inputRect.lr(), gpt3);
345  proj->lineSampleToWorld(inputRect.ll(), gpt4);
346 
347  ossimDrect inputGroundRect(gpt1,
348  gpt2,
349  gpt3,
350  gpt4,
352 
358 
359  rect.stretchToTileBoundary(spacing);
360  inputGroundRect.stretchToTileBoundary(spacing);
361  double ulLat = rect.ul().lat;
362  double ulLon = rect.ul().lon;
363  ossimGeoPolygon tempPoly;
364  ossimObject* obj = createInput();
366  obj);
368  chain->add(cutter);
369 
370  ossimKeywordlist kwl;
372 
373  if(outfile == "")
374  {
375  cerr << "Valid filename not given, returning!" << endl;
376  }
377 
378  kwl.add("object2.", theOutputKwl, true);
379  kwl.add("object2.input_connection1",
380  kwl.find("object1.id"),
381  true);
382  kwl.add("product.projection.",theViewKwl, true);
383  addPixelType(kwl, "product.");
384  int i = 1;
385  int row = 0;
386  int col = 0;
387  // int tileId = 0;
388  while(ulLat > rect.ll().lat)
389  {
390  ulLon = rect.ul().lon;
391  col = 0;
392  while(ulLon < rect.ur().lon)
393  {
394  tempPoly.clear();
395  tempPoly.addPoint(ulLat, ulLon, ossim::nan(), theOutputGeoPolygon[0].datum());
396  tempPoly.addPoint(ulLat, ulLon+spacing.lon, ossim::nan(), theOutputGeoPolygon[0].datum());
397  tempPoly.addPoint(ulLat-spacing.lat, ulLon+spacing.lon, ossim::nan(), theOutputGeoPolygon[0].datum());
398  tempPoly.addPoint(ulLat-spacing.lat, ulLon, ossim::nan(), theOutputGeoPolygon[0].datum());
399 
400  addPadding(tempPoly, tempPoly);
401  cutter->setPolygon(tempPoly);
402  chain->saveState(kwl, "object1.");
403 
405  specName = specName.dirCat(ossimFilename("igen" + ossimString::toString(i) + ".spec"));
406  ossimFilename tilename = outfile.path();
407  if(theTileNamingConvention == "id")
408  {
409  int tileId = getTileId(inputGroundRect, ossimDpt(ulLon, ulLat), spacing);
410  tilename = tilename.dirCat(ossimFilename(outfile.fileNoExtension() + "_" +
411  ossimString::toString(tileId)));
412  tilename.setExtension(outfile.ext());
413  }
414  else
415  {
416  ossimUsgsQuad quad(ossimGpt(ulLat - (spacing.x), ulLon+(spacing.x), 0.0));
417  if(spacing.x == 7.5/60.0)
418  {
419  tilename = tilename.dirCat(ossimFilename(quad.quarterQuadName().downcase().trim()));
420  }
421  else
422  {
423  tilename = tilename.dirCat(ossimFilename(quad.quarterQuadSegName().downcase().trim()));
424  }
425 
426  tilename.setExtension(outfile.ext());
427  }
428 
429  kwl.add("object2.",
431  tilename,
432  true);
433  kwl.add("object2.input_connection1",
434  kwl.find("object1.id"),
435  true);
436  theSpecFileList.push_back(specName);
437  if(outputToFileFlag)
438  {
439  kwl.write(specName.c_str());
440  }
441  else
442  {
443  theSpecList.push_back(kwl);
444  }
445  ulLon += spacing.lon;
446  ++i;
447  ++col;
448  }
449  ++row;
450  ulLat -= spacing.lat;
451  }
452 
453  }
454 }
void addPixelType(ossimKeywordlist &kwl, const char *prefix="product.")
ossimKeywordlist theOutputKwl
virtual void setPolygon(const vector< ossimDpt > &polygon, ossim_uint32 i=0)
void addPadding(ossimGeoPolygon &output, const ossimGeoPolygon &input) const
Represents serializable keyword/value map.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=NULL) const
Will save the state of the chain.
bool valid() const
Definition: ossimRefPtr.h:75
const char * find(const char *key) const
vector< ossimKeywordlist > theSpecList
double nan()
Method to return ieee floating point double precision NAN.
Definition: ossimCommon.h:135
const ossimDpt & ul() const
Definition: ossimDrect.h:339
ossimString theTileNamingConvention
static ossimString toString(bool aValue)
Numeric to string methods.
ossimIrect getInputBoundingRect() const
const ossimIpt & ul() const
Definition: ossimIrect.h:274
ossimGeoPolygon theOutputGeoPolygon
ossimProjection * createProductProjection() const
const ossimIpt & ll() const
Definition: ossimIrect.h:277
virtual bool write(const char *file, const char *comment=0) const
Methods to dump the ossimKeywordlist to a file on disk.
vector< ossimFilename > theSpecFileList
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
double lat
Definition: ossimDpt.h:165
#define PTR_CAST(T, p)
Definition: ossimRtti.h:321
void addPoint(const ossimGpt &pt)
const ossimIpt & lr() const
Definition: ossimIrect.h:276
virtual bool add(ossimConnectableObject *source)
Will return true or false if an image source was added to the chain.
double lon
Definition: ossimDpt.h:164
ossim_uint32 size() const
const ossimIpt & ur() const
Definition: ossimIrect.h:275
ossimFilename theSpecFileLocation
void stretchToTileBoundary(const ossimDpt &widthHeight)
Definition: ossimDrect.cpp:396
ossimKeywordlist theViewKwl
const ossimDpt & ur() const
Definition: ossimDrect.h:340
ossimObject * createInput() const
ossimFilename fileNoExtension() const
double x
Definition: ossimDpt.h:164
ossimFilename dirCat(const ossimFilename &file) const
int getTileId(const ossimDrect &rect, const ossimDpt &currentPt, const ossimDpt &spacing) const
ossimString ext() const
const ossimDpt & ll() const
Definition: ossimDrect.h:342
virtual void lineSampleToWorld(const ossimDpt &lineSampPt, ossimGpt &worldPt) const =0
ossimFilename & setExtension(const ossimString &e)
Sets the extension of a file name.
static const char * FILENAME_KW
ossimFilename path() const

◆ generateInputKwl()

void ossimIgenGenerator::generateInputKwl ( ossimConnectableObject connectable)
protected

Definition at line 144 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::clear(), generateChainForMultiInput(), ossimConnectableObject::getInput(), ossimConnectableObject::saveState(), and theInputKwl.

Referenced by setInput().

145 {
146  theInputKwl.clear();
147  if(connectable)
148  {
149  // if it has at least one non null input
150  // then we must build a chain and save it out
151  if(connectable->getInput())
152  {
153  generateChainForMultiInput(connectable);
154  }
155  else // it is a single input
156  {
157  connectable->saveState(theInputKwl);
158  }
159  }
160 }
ossimConnectableObject * getInput(ossim_uint32 index=0)
returns the object at the specified index.
ossimKeywordlist theInputKwl
void generateChainForMultiInput(ossimConnectableObject *connectable)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const

◆ generateNoTiledSpecList()

void ossimIgenGenerator::generateNoTiledSpecList ( bool  outputToFileFlag)
protected

Definition at line 457 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::add(), ossimImageChain::add(), addPixelType(), ossimString::c_str(), ossimKeywordlist::clear(), createInput(), ossimKeywordlist::find(), ossimRefPtr< T >::get(), ossimKeywordlist::getSize(), PTR_CAST, ossimImageChain::saveState(), ossimGeoPolyCutter::setPolygon(), ossimGeoPolygon::size(), theInputKwl, theOutputGeoPolygon, theOutputKwl, theSpecFileList, theSpecFileLocation, theSpecList, theViewKwl, ossimRefPtr< T >::valid(), and ossimKeywordlist::write().

Referenced by generateSpecList().

458 {
459  theSpecList.clear();
460  theSpecFileList.clear();
461 
462  if(theViewKwl.getSize()&&
463  theInputKwl.getSize()&&
465  {
466  ossimKeywordlist kwl;
468  {
471  obj.get());
472  if(chain.valid())
473  {
475 
477 
478  chain->add(cutter);
479  chain->saveState(kwl, "object1.");
480  }
481  else
482  {
483  kwl.add("object1.",theInputKwl, true);
484  }
485  obj = 0;
486  }
487  else
488  {
489  kwl.add("object1.",theInputKwl, true);
490  }
491  kwl.add("object2.", theOutputKwl, true);
492  kwl.add("object2.input_connection1",
493  kwl.find("object1.id"),
494  true);
495  kwl.add("product.projection.",theViewKwl, true);
496  addPixelType(kwl, "product.");
497 
499  "/"+
500  "igen1.spec");
501 
502  theSpecFileList.push_back(specName);
503  if(outputToFileFlag)
504  {
505  kwl.write(specName.c_str());
506  }
507  else
508  {
509  theSpecList.push_back(kwl);
510  }
511 
512  kwl.clear();
513  }
514 }
void addPixelType(ossimKeywordlist &kwl, const char *prefix="product.")
ossimKeywordlist theOutputKwl
virtual void setPolygon(const vector< ossimDpt > &polygon, ossim_uint32 i=0)
Represents serializable keyword/value map.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=NULL) const
Will save the state of the chain.
bool valid() const
Definition: ossimRefPtr.h:75
const char * find(const char *key) const
vector< ossimKeywordlist > theSpecList
ossimGeoPolygon theOutputGeoPolygon
virtual bool write(const char *file, const char *comment=0) const
Methods to dump the ossimKeywordlist to a file on disk.
vector< ossimFilename > theSpecFileList
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
ossimKeywordlist theInputKwl
#define PTR_CAST(T, p)
Definition: ossimRtti.h:321
virtual bool add(ossimConnectableObject *source)
Will return true or false if an image source was added to the chain.
ossim_uint32 size() const
ossimFilename theSpecFileLocation
ossimKeywordlist theViewKwl
ossimObject * createInput() const
ossim_uint32 getSize() const

◆ generateOutputKwl()

void ossimIgenGenerator::generateOutputKwl ( ossimConnectableObject connectable)
protected

Definition at line 162 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::clear(), ossimConnectableObject::saveState(), and theOutputKwl.

163 {
165  if(connectable)
166  {
167  connectable->saveState(theOutputKwl);
168  }
169 }
ossimKeywordlist theOutputKwl
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const

◆ generatePixelTiledSpecList()

void ossimIgenGenerator::generatePixelTiledSpecList ( bool  outputToFileFlag)
protected

Definition at line 222 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::add(), ossimImageChain::add(), addPadding(), addPixelType(), ossimGeoPolygon::addPoint(), ossimString::c_str(), ossimGeoPolygon::clear(), ossimIrect::completely_within(), createInput(), createProductProjection(), ossimFilename::dirCat(), ossimFilename::ext(), ossimKeywordNames::FILENAME_KW, ossimFilename::fileNoExtension(), ossimKeywordlist::find(), getInputBoundingRect(), getTileId(), ossimProjection::lineSampleToWorld(), ossimDrect::ll(), ossimIrect::lr(), ossimDrect::lr(), ossimFilename::path(), PTR_CAST, ossimImageChain::saveState(), ossimFilename::setExtension(), ossimGeoPolyCutter::setPolygon(), ossimGeoPolygon::size(), ossimIrect::stretchToTileBoundary(), theOutputGeoPolygon, theOutputKwl, theSpecFileList, theSpecFileLocation, theSpecList, theTileNamingConvention, theTileSpacing, theViewKwl, ossimString::toString(), ossimIrect::ul(), ossimDrect::ul(), ossimDrect::ur(), ossimProjection::worldToLineSample(), ossimKeywordlist::write(), ossimIpt::x, ossimDpt::x, ossimIpt::y, and ossimDpt::y.

Referenced by generateTiledSpecList().

223 {
225 
226  if((!proj)||(theOutputGeoPolygon.size() != 4))
227  {
228  return;
229  }
230 
231  ossimIrect inputRect = getInputBoundingRect();
233  ossimGeoPolygon tempPoly;
234  ossimObject* obj = createInput();
236  obj);
238  chain->add(cutter);
239 
240  ossimKeywordlist kwl;
242 
243  if(outfile == "")
244  {
245  cerr << "Valid filename not given, returning!" << endl;
246  }
247 
248  kwl.add("object2.", theOutputKwl, true);
249  kwl.add("product.projection.",theViewKwl, true);
250  addPixelType(kwl, "product.");
251  ossimDpt p1;
252  ossimDpt p2;
253  ossimDpt p3;
254  ossimDpt p4;
255 
256 
261 
262  ossimIrect bounds(p1, p2, p3, p4);
263  if(inputRect.completely_within(bounds))
264  {
265  inputRect = bounds;
266  }
267 
269 
270  ossim_sint32 i = 1;
271  for(ossim_sint32 ulY = bounds.ul().y; ulY < bounds.lr().y; ulY+=(ossim_sint32)theTileSpacing.y)
272  {
273  for(ossim_sint32 ulX = bounds.ul().x; ulX < bounds.lr().x; ulX+=(ossim_sint32)theTileSpacing.x)
274  {
275  ossimDrect rect(ulX,
276  ulY,
277  ulX + (theTileSpacing.x - 1),
278  ulY + (theTileSpacing.y - 1));
279  ossimGpt gpt1;
280  ossimGpt gpt2;
281  ossimGpt gpt3;
282  ossimGpt gpt4;
283 
284  proj->lineSampleToWorld(rect.ul(), gpt1);
285  proj->lineSampleToWorld(rect.ur(), gpt2);
286  proj->lineSampleToWorld(rect.lr(), gpt3);
287  proj->lineSampleToWorld(rect.ll(), gpt4);
288 
289  tempPoly.clear();
290  tempPoly.addPoint(gpt1);
291  tempPoly.addPoint(gpt2);
292  tempPoly.addPoint(gpt3);
293  tempPoly.addPoint(gpt4);
294  addPadding(tempPoly, tempPoly);
295  cutter->setPolygon(tempPoly);
296  chain->saveState(kwl, "object1.");
297 
299  specName = specName.dirCat(ossimFilename("igen" + ossimString::toString(i) + ".spec"));
300  ossimFilename tilename = outfile.path();
301  if(theTileNamingConvention == "id")
302  {
303  int tileId = getTileId(inputRect, ossimDpt(ulX+theTileSpacing.x/2, ulY+theTileSpacing.y/2), theTileSpacing);
304  tilename = tilename.dirCat(ossimFilename(outfile.fileNoExtension() + "_" +
305  ossimString::toString(tileId)));
306  tilename.setExtension(outfile.ext());
307  }
308 
309  kwl.add("object2.",
311  tilename,
312  true);
313  kwl.add("object2.input_connection1",
314  kwl.find("object1.id"),
315  true);
316  theSpecFileList.push_back(specName);
317  if(outputToFileFlag)
318  {
319  kwl.write(specName.c_str());
320  }
321  else
322  {
323  theSpecList.push_back(kwl);
324  }
325  i++;
326  }
327  }
328 }
void addPixelType(ossimKeywordlist &kwl, const char *prefix="product.")
ossimKeywordlist theOutputKwl
virtual void setPolygon(const vector< ossimDpt > &polygon, ossim_uint32 i=0)
void addPadding(ossimGeoPolygon &output, const ossimGeoPolygon &input) const
Represents serializable keyword/value map.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=NULL) const
Will save the state of the chain.
const char * find(const char *key) const
vector< ossimKeywordlist > theSpecList
double y
Definition: ossimDpt.h:165
ossimString theTileNamingConvention
static ossimString toString(bool aValue)
Numeric to string methods.
ossimIrect getInputBoundingRect() const
ossimGeoPolygon theOutputGeoPolygon
ossimProjection * createProductProjection() const
virtual bool write(const char *file, const char *comment=0) const
Methods to dump the ossimKeywordlist to a file on disk.
vector< ossimFilename > theSpecFileList
bool completely_within(const ossimIrect &rect) const
Definition: ossimIrect.cpp:425
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
#define PTR_CAST(T, p)
Definition: ossimRtti.h:321
signed int ossim_sint32
void addPoint(const ossimGpt &pt)
virtual bool add(ossimConnectableObject *source)
Will return true or false if an image source was added to the chain.
ossim_uint32 size() const
ossimFilename theSpecFileLocation
ossimKeywordlist theViewKwl
ossimObject * createInput() const
ossimFilename fileNoExtension() const
double x
Definition: ossimDpt.h:164
ossimFilename dirCat(const ossimFilename &file) const
void stretchToTileBoundary(const ossimIpt &tileWidthHeight)
Definition: ossimIrect.cpp:212
int getTileId(const ossimDrect &rect, const ossimDpt &currentPt, const ossimDpt &spacing) const
ossimString ext() const
virtual void lineSampleToWorld(const ossimDpt &lineSampPt, ossimGpt &worldPt) const =0
ossimFilename & setExtension(const ossimString &e)
Sets the extension of a file name.
virtual void worldToLineSample(const ossimGpt &worldPoint, ossimDpt &lineSampPt) const =0
static const char * FILENAME_KW
ossimFilename path() const

◆ generateSpecList()

void ossimIgenGenerator::generateSpecList ( bool  outputToFileFlag = false)

Definition at line 22 of file ossimIgenGenerator.cpp.

References generateNoTiledSpecList(), generateTiledSpecList(), ossimDpt::hasNans(), OSSIM_UNIT_UNKNOWN, theTileSpacing, theTileSpacingUnits, and theTilingFlag.

Referenced by getImageFilenamesFromSpecList().

23 {
24  if(theTilingFlag&&
27  {
28  generateTiledSpecList(outputToFileFlag);
29  }
30  else
31  {
32  generateNoTiledSpecList(outputToFileFlag);
33  }
34 
35 }
void generateTiledSpecList(bool outputToFileFlag)
void generateNoTiledSpecList(bool outputToFileFlag)
bool hasNans() const
Definition: ossimDpt.h:67
ossimUnitType theTileSpacingUnits

◆ generateTiledSpecList()

void ossimIgenGenerator::generateTiledSpecList ( bool  outputToFileFlag)
protected

Definition at line 185 of file ossimIgenGenerator.cpp.

References generateGeoTiledSpecList(), generatePixelTiledSpecList(), OSSIM_DEGREES, OSSIM_MINUTES, OSSIM_PIXEL, OSSIM_SECONDS, theSpecFileList, theSpecList, theTileSpacing, theTileSpacingUnits, ossimDpt::x, and ossimDpt::y.

Referenced by generateSpecList().

186 {
187  theSpecList.clear();
188  theSpecFileList.clear();
189  ossimDpt spacing = theTileSpacing;
190 
191  switch(theTileSpacingUnits)
192  {
193  case OSSIM_MINUTES:
194  {
195  spacing.x /= 60;
196  spacing.y /= 60;
197  generateGeoTiledSpecList(spacing, outputToFileFlag);
198  break;
199  }
200  case OSSIM_SECONDS:
201  {
202  spacing.x /= 3600;
203  spacing.y /= 3600;
204  generateGeoTiledSpecList(spacing, outputToFileFlag);
205  break;
206  }
207  case OSSIM_DEGREES:
208  {
209  generateGeoTiledSpecList(spacing, outputToFileFlag);
210  break;
211  }
212  case OSSIM_PIXEL:
213  {
214  generatePixelTiledSpecList(outputToFileFlag);
215  break;
216  }
217  default:
218  break;
219  }
220 }
vector< ossimKeywordlist > theSpecList
double y
Definition: ossimDpt.h:165
vector< ossimFilename > theSpecFileList
void generateGeoTiledSpecList(const ossimDpt &spacing, bool outputToFileFlag)
void generatePixelTiledSpecList(bool outputToFileFlag)
double x
Definition: ossimDpt.h:164
ossimUnitType theTileSpacingUnits

◆ generateViewKwl()

void ossimIgenGenerator::generateViewKwl ( ossimObject view)
protected

Definition at line 171 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::clear(), ossimObject::saveState(), and theViewKwl.

172 {
173  theViewKwl.clear();
174  if(view)
175  {
176  view->saveState(theViewKwl);
177  }
178 }
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Definition: ossimObject.cpp:95
ossimKeywordlist theViewKwl

◆ getBoundingGround()

ossimGrect ossimIgenGenerator::getBoundingGround ( ) const

Definition at line 64 of file ossimIgenGenerator.cpp.

References theOutputGeoPolygon.

65 {
70 }
ossimGeoPolygon theOutputGeoPolygon

◆ getIgenExecutable()

const ossimFilename& ossimIgenGenerator::getIgenExecutable ( ) const
inline

Definition at line 175 of file ossimIgenGenerator.h.

176  {
177  return theIgenExecutable;
178  }
ossimFilename theIgenExecutable

◆ getImageFilenamesFromSpecList()

void ossimIgenGenerator::getImageFilenamesFromSpecList ( std::vector< ossimFilename > &  filenameList)

Definition at line 37 of file ossimIgenGenerator.cpp.

References ossimKeywordNames::FILENAME_KW, generateSpecList(), and theSpecList.

38 {
39  if(!theSpecList.size())
40  {
42  }
43  if(theSpecList.size())
44  {
45  filenameList.clear();
46  for(ossim_uint32 i = 0; i < theSpecList.size(); ++i)
47  {
48  const char* filename = theSpecList[i].find("object2.", ossimKeywordNames::FILENAME_KW);
49 
50  if(filename)
51  {
52  filenameList.push_back(ossimFilename(filename));
53  }
54  else
55  {
56  filenameList.clear();
57  return;
58  }
59  }
60  }
61 
62 }
vector< ossimKeywordlist > theSpecList
unsigned int ossim_uint32
void generateSpecList(bool outputToFileFlag=false)
static const char * FILENAME_KW

◆ getInput()

void ossimIgenGenerator::getInput ( ossimKeywordlist kwl,
const char *  prefix = NULL 
) const
inline

Definition at line 124 of file ossimIgenGenerator.h.

References ossimKeywordlist::add().

126  {
127  kwl.add(prefix,
128  theInputKwl,
129  true);
130  }
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
ossimKeywordlist theInputKwl

◆ getInputBoundingRect()

ossimIrect ossimIgenGenerator::getInputBoundingRect ( ) const

Definition at line 534 of file ossimIgenGenerator.cpp.

References createInput(), ossimRefPtr< T >::get(), ossimImageSource::getBoundingRect(), ossimIrect::makeNan(), and PTR_CAST.

Referenced by generateGeoTiledSpecList(), and generatePixelTiledSpecList().

535 {
538  ossimIrect result;
539 
540  result.makeNan();
541  if(inter)
542  {
543  result = inter->getBoundingRect();
544  }
545  return result;
546 }
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
This will return the bounding rect of the source.
#define PTR_CAST(T, p)
Definition: ossimRtti.h:321
void makeNan()
Definition: ossimIrect.h:329
ossimObject * createInput() const

◆ getNumberOfSpecFiles()

ossim_uint32 ossimIgenGenerator::getNumberOfSpecFiles ( ) const
inline

Definition at line 92 of file ossimIgenGenerator.h.

93  {
94  return (ossim_uint32)theSpecFileList.size();
95  }
vector< ossimFilename > theSpecFileList
unsigned int ossim_uint32

◆ getOutput()

void ossimIgenGenerator::getOutput ( ossimKeywordlist kwl,
const char *  prefix = NULL 
) const
inline

Definition at line 131 of file ossimIgenGenerator.h.

References ossimKeywordlist::add().

133  {
134  kwl.add(prefix,
135  theOutputKwl,
136  true);
137  }
ossimKeywordlist theOutputKwl
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)

◆ getOutputGeoPolygon() [1/2]

void ossimIgenGenerator::getOutputGeoPolygon ( ossimGeoPolygon poly) const
inline

Definition at line 187 of file ossimIgenGenerator.h.

188  {
189  poly = theOutputGeoPolygon;
190  }
ossimGeoPolygon theOutputGeoPolygon

◆ getOutputGeoPolygon() [2/2]

const ossimGeoPolygon& ossimIgenGenerator::getOutputGeoPolygon ( ) const
inline

Definition at line 191 of file ossimIgenGenerator.h.

192  {
193  return theOutputGeoPolygon;
194  }
ossimGeoPolygon theOutputGeoPolygon

◆ getPixelType()

ossimPixelType ossimIgenGenerator::getPixelType ( ) const
inline

Definition at line 235 of file ossimIgenGenerator.h.

236  {
237  return thePixelType;
238  }
ossimPixelType thePixelType

◆ getSpec()

void ossimIgenGenerator::getSpec ( ossimKeywordlist kwl,
ossim_uint32  specIndex = 0 
)
inline

Definition at line 114 of file ossimIgenGenerator.h.

References ossimKeywordlist::clear().

116  {
117  kwl.clear();
118 
119  if(specIndex < theSpecList.size())
120  {
121  kwl = theSpecList[specIndex];
122  }
123  }
vector< ossimKeywordlist > theSpecList

◆ getSpecFileLocation()

const ossimFilename& ossimIgenGenerator::getSpecFileLocation ( ) const
inline

Definition at line 167 of file ossimIgenGenerator.h.

168  {
169  return theSpecFileLocation;
170  }
ossimFilename theSpecFileLocation

◆ getSpecFilename()

ossimFilename ossimIgenGenerator::getSpecFilename ( ossim_uint32  specFileIndex = 0) const
inline

Definition at line 97 of file ossimIgenGenerator.h.

98  {
99  if(specFileIndex < theSpecFileList.size())
100  {
101  return theSpecFileList[specFileIndex];
102  }
103 
104  return ossimFilename("");
105  }
vector< ossimFilename > theSpecFileList

◆ getSpecs()

void ossimIgenGenerator::getSpecs ( vector< ossimKeywordlist > &  specList) const
inline

Definition at line 87 of file ossimIgenGenerator.h.

88  {
89  specList = theSpecList;
90  }
vector< ossimKeywordlist > theSpecList

◆ getTileId()

int ossimIgenGenerator::getTileId ( const ossimDrect rect,
const ossimDpt currentPt,
const ossimDpt spacing 
) const
protected

Definition at line 516 of file ossimIgenGenerator.cpp.

References ossimDrect::ul(), ossimDrect::width(), ossimDpt::x, and ossimDpt::y.

Referenced by generateGeoTiledSpecList(), and generatePixelTiledSpecList().

519 {
520  ossimDpt ul(rect.ul());
521 
522  double relY = fabs(ul.y - currentPt.y);
523  double relX = fabs(ul.x - currentPt.x);
524 
525 
526  ossim_int32 spacingY = (ossim_int32)(relY/spacing.y);
527  ossim_int32 spacingX = (ossim_int32)(relX/spacing.x);
528  ossim_int32 maxHorizontalTiles = (ossim_int32)( (rect.width()-1)/spacing.x);
529 
530  return spacingY*maxHorizontalTiles + spacingX;
531 }
ossim_float64 width() const
Definition: ossimDrect.h:522
const ossimDpt & ul() const
Definition: ossimDrect.h:339
double y
Definition: ossimDpt.h:165
double x
Definition: ossimDpt.h:164
int ossim_int32

◆ getTileNamingConvention()

const ossimString& ossimIgenGenerator::getTileNamingConvention ( ) const
inline

Definition at line 251 of file ossimIgenGenerator.h.

252  {
254  }
ossimString theTileNamingConvention

◆ getTilePadding()

const ossimDpt& ossimIgenGenerator::getTilePadding ( ) const
inline

Definition at line 223 of file ossimIgenGenerator.h.

224  {
225  return theTilePadding;
226  }

◆ getTilePaddingUnits()

ossimUnitType ossimIgenGenerator::getTilePaddingUnits ( ) const
inline

Definition at line 231 of file ossimIgenGenerator.h.

232  {
233  return theTilePaddingUnits;
234  }
ossimUnitType theTilePaddingUnits

◆ getTileSpacing()

const ossimDpt& ossimIgenGenerator::getTileSpacing ( ) const
inline

Definition at line 219 of file ossimIgenGenerator.h.

220  {
221  return theTileSpacing;
222  }

◆ getTileSpacingUnits()

ossimUnitType ossimIgenGenerator::getTileSpacingUnits ( ) const
inline

Definition at line 227 of file ossimIgenGenerator.h.

228  {
229  return theTileSpacingUnits;
230  }
ossimUnitType theTileSpacingUnits

◆ getTilingFlag()

bool ossimIgenGenerator::getTilingFlag ( ) const
inline

Definition at line 215 of file ossimIgenGenerator.h.

216  {
217  return theTilingFlag;
218  }

◆ getView()

void ossimIgenGenerator::getView ( ossimKeywordlist kwl,
const char *  prefix = NULL 
) const
inline

Definition at line 139 of file ossimIgenGenerator.h.

References ossimKeywordlist::add().

141  {
142  kwl.add(prefix,
143  theViewKwl,
144  true);
145  }
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
ossimKeywordlist theViewKwl

◆ nextSpecFile()

bool ossimIgenGenerator::nextSpecFile ( ossimFilename specFile)
inline

Definition at line 77 of file ossimIgenGenerator.h.

78  {
79  if(theSpecFileIndex >= theSpecFileList.size())
80  {
81  return false;
82  }
85  return true;
86  }
ossim_uint32 theSpecFileIndex
vector< ossimFilename > theSpecFileList

◆ setDefaultOutput()

void ossimIgenGenerator::setDefaultOutput ( )
protected

Definition at line 180 of file ossimIgenGenerator.cpp.

181 {
182 
183 }

◆ setIgenExecutable()

void ossimIgenGenerator::setIgenExecutable ( const ossimFilename igenExecutable)
inline

Definition at line 171 of file ossimIgenGenerator.h.

172  {
173  theIgenExecutable = igenExecutable;
174  }
ossimFilename theIgenExecutable

◆ setInput()

void ossimIgenGenerator::setInput ( ossimConnectableObject input)

Definition at line 76 of file ossimIgenGenerator.cpp.

References generateInputKwl(), ossimImageSource::getBoundingRect(), PTR_CAST, theInputBoundingRect, and theSpecList.

77 {
78  theSpecList.clear();
79  generateInputKwl(input);
80  ossimImageSource* inputInterface = PTR_CAST(ossimImageSource,
81  input);
82  if(inputInterface)
83  {
84  theInputBoundingRect = inputInterface->getBoundingRect();
85  }
86 }
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
This will return the bounding rect of the source.
ossimIrect theInputBoundingRect
vector< ossimKeywordlist > theSpecList
#define PTR_CAST(T, p)
Definition: ossimRtti.h:321
void generateInputKwl(ossimConnectableObject *connectable)

◆ setIteratorsToStart()

void ossimIgenGenerator::setIteratorsToStart ( )
inline

Definition at line 72 of file ossimIgenGenerator.h.

73  {
74  theSpecFileIndex = 0;
75  theSpecListIndex = 0;
76  }
ossim_uint32 theSpecFileIndex
ossim_uint32 theSpecListIndex

◆ setOutput() [1/3]

void ossimIgenGenerator::setOutput ( ossimConnectableObject output)
inline

Definition at line 51 of file ossimIgenGenerator.h.

52  {
53  theSpecList.clear();
54  generateOutputKwl(output);
55  }
vector< ossimKeywordlist > theSpecList
void generateOutputKwl(ossimConnectableObject *connectable)

◆ setOutput() [2/3]

void ossimIgenGenerator::setOutput ( const ossimKeywordlist kwl)

Definition at line 676 of file ossimIgenGenerator.cpp.

References ossimKeywordlist::clear(), and theOutputKwl.

677 {
679 
680  theOutputKwl = kwl;
681 }
ossimKeywordlist theOutputKwl

◆ setOutput() [3/3]

void ossimIgenGenerator::setOutput ( ossimKeywordlist kwl,
const char *  prefix = NULL 
)
inline

Definition at line 155 of file ossimIgenGenerator.h.

157  {
159  theOutputKwl.add(prefix,
160  kwl,
161  true);
162  }
ossimKeywordlist theOutputKwl
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)

◆ setOutputPolygon()

void ossimIgenGenerator::setOutputPolygon ( const ossimGeoPolygon poly)
inline

Definition at line 179 of file ossimIgenGenerator.h.

180  {
181  theOutputGeoPolygon = poly;
182  }
ossimGeoPolygon theOutputGeoPolygon

◆ setPixelType()

void ossimIgenGenerator::setPixelType ( ossimPixelType  pixelType)
inline

Definition at line 183 of file ossimIgenGenerator.h.

184  {
185  thePixelType = pixelType;
186  }
ossimPixelType thePixelType

◆ setSpecFileLocation()

void ossimIgenGenerator::setSpecFileLocation ( const ossimFilename filename)
inline

Definition at line 163 of file ossimIgenGenerator.h.

164  {
165  theSpecFileLocation = filename;
166  }
ossimFilename theSpecFileLocation

◆ setTileNamingConvention()

void ossimIgenGenerator::setTileNamingConvention ( const ossimString namingConvention)
inline

Tile naming convention is a string that can be "id" or "usgs". this is used if tiling is enabled. If id is used it will use the filename as the prefix and then add to it the id's. If usgs is used it will name it based on the USGS name.

Definition at line 245 of file ossimIgenGenerator.h.

References ossimString::downcase().

246  {
247  theTileNamingConvention = namingConvention;
249 
250  }
ossimString theTileNamingConvention
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48

◆ setTilePadding()

void ossimIgenGenerator::setTilePadding ( const ossimDpt padding)
inline

Definition at line 203 of file ossimIgenGenerator.h.

204  {
205  theTilePadding = padding;
206  }

◆ setTilePaddingUnits()

void ossimIgenGenerator::setTilePaddingUnits ( ossimUnitType  unitType)
inline

Definition at line 211 of file ossimIgenGenerator.h.

212  {
213  theTilePaddingUnits = unitType;
214  }
ossimUnitType theTilePaddingUnits

◆ setTileSpacing()

void ossimIgenGenerator::setTileSpacing ( const ossimDpt spacing)
inline

Definition at line 199 of file ossimIgenGenerator.h.

200  {
201  theTileSpacing = spacing;
202  }

◆ setTileSpacingUnits()

void ossimIgenGenerator::setTileSpacingUnits ( ossimUnitType  unitType)
inline

Definition at line 207 of file ossimIgenGenerator.h.

208  {
209  theTileSpacingUnits = unitType;
210  }
ossimUnitType theTileSpacingUnits

◆ setTilingFlag()

void ossimIgenGenerator::setTilingFlag ( bool  flag)
inline

Definition at line 195 of file ossimIgenGenerator.h.

196  {
197  theTilingFlag = flag;
198  }

◆ setView() [1/2]

void ossimIgenGenerator::setView ( ossimObject view)
inline

Definition at line 61 of file ossimIgenGenerator.h.

62  {
63  generateViewKwl(view);
64  }
void generateViewKwl(ossimObject *view)

◆ setView() [2/2]

void ossimIgenGenerator::setView ( ossimKeywordlist kwl,
const char *  prefix = NULL 
)
inline

Definition at line 147 of file ossimIgenGenerator.h.

149  {
150  theViewKwl.clear();
151  theViewKwl.add(prefix,
152  kwl,
153  true);
154  }
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
ossimKeywordlist theViewKwl

Member Data Documentation

◆ theIgenExecutable

ossimFilename ossimIgenGenerator::theIgenExecutable
protected

Definition at line 274 of file ossimIgenGenerator.h.

◆ theInputBoundingRect

ossimIrect ossimIgenGenerator::theInputBoundingRect
protected

Definition at line 277 of file ossimIgenGenerator.h.

Referenced by setInput().

◆ theInputKwl

ossimKeywordlist ossimIgenGenerator::theInputKwl
protected

◆ theNamingConvention

ossimString ossimIgenGenerator::theNamingConvention
protected

Definition at line 272 of file ossimIgenGenerator.h.

◆ theOutputGeoPolygon

ossimGeoPolygon ossimIgenGenerator::theOutputGeoPolygon
protected

◆ theOutputKwl

ossimKeywordlist ossimIgenGenerator::theOutputKwl
protected

◆ thePixelType

ossimPixelType ossimIgenGenerator::thePixelType
protected

Definition at line 265 of file ossimIgenGenerator.h.

Referenced by addPixelType().

◆ theSpecFileIndex

ossim_uint32 ossimIgenGenerator::theSpecFileIndex
protected

Definition at line 275 of file ossimIgenGenerator.h.

◆ theSpecFileList

vector<ossimFilename> ossimIgenGenerator::theSpecFileList
protected

◆ theSpecFileLocation

ossimFilename ossimIgenGenerator::theSpecFileLocation
protected

◆ theSpecList

vector<ossimKeywordlist> ossimIgenGenerator::theSpecList
protected

◆ theSpecListIndex

ossim_uint32 ossimIgenGenerator::theSpecListIndex
protected

Definition at line 276 of file ossimIgenGenerator.h.

◆ theTileNamingConvention

ossimString ossimIgenGenerator::theTileNamingConvention
protected

Definition at line 279 of file ossimIgenGenerator.h.

Referenced by generateGeoTiledSpecList(), and generatePixelTiledSpecList().

◆ theTilePadding

ossimDpt ossimIgenGenerator::theTilePadding
protected

Definition at line 270 of file ossimIgenGenerator.h.

Referenced by addPadding().

◆ theTilePaddingUnits

ossimUnitType ossimIgenGenerator::theTilePaddingUnits
protected

Definition at line 271 of file ossimIgenGenerator.h.

Referenced by addPadding().

◆ theTileSpacing

ossimDpt ossimIgenGenerator::theTileSpacing
protected

◆ theTileSpacingUnits

ossimUnitType ossimIgenGenerator::theTileSpacingUnits
protected

Definition at line 269 of file ossimIgenGenerator.h.

Referenced by generateSpecList(), and generateTiledSpecList().

◆ theTilingFlag

bool ossimIgenGenerator::theTilingFlag
protected

Definition at line 266 of file ossimIgenGenerator.h.

Referenced by generateSpecList().

◆ theUpperLeftTileStart

ossimDpt ossimIgenGenerator::theUpperLeftTileStart
protected

Definition at line 267 of file ossimIgenGenerator.h.

◆ theViewKwl

ossimKeywordlist ossimIgenGenerator::theViewKwl
protected

The documentation for this class was generated from the following files: