33 static ossimTrace traceExec (
"ossimAtbController:exec");
34 static ossimTrace traceDebug (
"ossimAtbController:debug");
36 static const ossimIpt DEFAULT_GRID_SPACING (64,64);
37 static const char* DEFAULT_ATB_REMAP_ENGINE =
"ossimHsvGridRemapEngine";
47 theGridRemapEngine (0),
48 theGridSpacing (DEFAULT_GRID_SPACING)
50 static const char MODULE[] =
"ossimAtbController Default Constructor";
51 if (traceExec())
CLOG <<
"entering..." << endl;
59 if (traceExec())
CLOG <<
"returning..." << endl;
71 theGridRemapEngine (0),
72 theGridSpacing (DEFAULT_GRID_SPACING)
74 static const char MODULE[] =
"ossimAtbController Constructor #1";
75 if (traceExec())
CLOG <<
"entering..." << endl;
79 if (traceExec())
CLOG <<
"returning..." << endl;
89 theGridRemapEngine (0),
90 theGridSpacing (DEFAULT_GRID_SPACING)
92 static const char MODULE[] =
"ossimAtbController Constructor #1";
93 if (traceExec())
CLOG <<
"entering..." << endl;
108 if (traceExec())
CLOG <<
"returning..." << endl;
133 static const char MODULE[] =
"ossimAtbController::initializeWithCombiner()";
134 if (traceExec())
CLOG <<
"entering..." << endl;
156 vector<ossimConnectableObject*> del_list;
157 vector<ossimConnectableObject*> add_list;
159 for(
int i=0; i<numInputs; i++)
187 add_list.push_back(remapper);
188 del_list.push_back(input_image);
199 vector<ossimConnectableObject*>::iterator add_iter = add_list.begin();
200 vector<ossimConnectableObject*>::iterator del_iter = del_list.begin();
201 while (add_iter != add_list.end())
203 (*add_iter)->connectMyInputTo(*del_iter);
211 if (traceExec())
CLOG <<
"returning..." << endl;
299 static const char MODULE[] =
"ossimAtbController::execute()";
300 if (traceExec())
CLOG <<
"entering..." << endl;
312 CLOG <<
"WARNING: execute method was called but the controller has not " 313 <<
"been properly initialized. Ignoring request..." << endl;
314 if (traceExec())
CLOG <<
"returning..." << endl;
349 for (
int mp=0; mp<numPoints; mp++)
357 for (
int src=0; src<num_images; src++)
363 if (image_rect.pointWithin(view_point))
376 for (
int mp=0; mp<numPoints; mp++)
385 for (
int src=0; src<num_images; src++)
393 if (traceExec())
CLOG <<
"returning..." << endl;
403 static const char MODULE[] =
"ossimAtbController::abort()";
404 if (traceExec())
CLOG <<
"entering..." << endl;
406 CLOG <<
"NOTICE: this method not yet implemented." << endl;
408 if (traceExec())
CLOG <<
"returning..." << endl;
417 static const char MODULE[] =
"ossimAtbController::saveState()";
418 if (traceExec())
CLOG <<
"entering..." << endl;
420 CLOG <<
"NOTICE: this method not yet implemented." << endl;
422 if (traceExec())
CLOG <<
"returning..." << endl;
432 static const char MODULE[] =
"ossimAtbController::loadState()";
433 if (traceExec())
CLOG <<
"entering..." << endl;
435 CLOG <<
"NOTICE: this method not yet implemented." << endl;
437 if (traceExec())
CLOG <<
"returning..." << endl;
451 static const char MODULE[] =
"ossimAtbController::setKernelSize(N)";
452 if (traceExec())
CLOG <<
"entering..." << endl;
454 vector<ossimRefPtr<ossimAtbMatchPoint> >::iterator mpi =
theMatchPoints.begin();
456 (*mpi)->setKernelSize(side_size);
458 if (traceExec())
CLOG <<
"returning..." << endl;
469 static const char MODULE[] =
"ossimAtbController::initializeRemappers()";
470 if (traceExec())
CLOG <<
"entering..." << endl;
480 for (
int src=1; src<num_images; src++)
489 double dx_ul, dy_ul, dx_lr, dy_lr;
490 double grid_ul_x, grid_ul_y, grid_lr_x, grid_lr_y;
491 for (
int src=0; src<num_images; src++)
517 ossimDrect grid_rect (grid_ul_x, grid_ul_y, grid_lr_x, grid_lr_y);
521 if (traceExec())
CLOG <<
"returning..." << endl;
531 static const char MODULE[] =
"ossimAtbController::setGridRemapEngine()";
532 if (traceExec())
CLOG <<
"entering..." << endl;
540 ossimConnectableObject::ConnectableObjectList::iterator iter=
theInputObjectList.begin();
548 vector<ossimRefPtr<ossimAtbMatchPoint> >::iterator match_point =
theMatchPoints.begin();
551 (*match_point)->setGridRemapEngine(engine);
555 if (traceExec())
CLOG <<
"returning..." << endl;
static ossimGridRemapEngine * create(const char *spec)
virtual ossimObject * dup() const =0
void setRemapEngine(ossimGridRemapEngine *engine)
const ossimObject * getOwner() const
Fetches the current owner, most likely a container but not limited to one.
virtual ossimIrect getBoundingRect(ossim_uint32 resLevel=0) const
This will return the bounding rect of the source.
ossimGridRemapEngine * theGridRemapEngine
ossimRefPtr< ossimConnectableContainer > theContainer
bool disableImage(unsigned int index)
virtual void disconnect(ossimConnectableObject *object=0)
Will disconnect the object passed in.
This will be a base for all combiners.
Represents serializable keyword/value map.
virtual bool saveState(ossimKeywordlist &kwl) const
virtual bool canConnectMyInputTo(ossim_int32 myInputIndex, const ossimConnectableObject *object) const
const ossimDpt & ul() const
void initializeRemappers()
bool unlockImage(unsigned int index)
virtual void disableSource()
virtual void setPercentComplete(double percentComplete)
ossimDrect combine(const ossimDrect &rect) const
ossimDrect theBoundingRect
ossimConnectableObject * getInput(ossim_uint32 index=0)
returns the object at the specified index.
void initializeWithCombiner(ossimImageCombiner *combiner, ossimGridRemapEngine *engine=0)
RTTI_DEF2(ossimAtbController, "ossimAtbController", ossimProcessInterface, ossimConnectableObject)
virtual void initialize()
virtual void enableSource()
void setKernelSize(int side_size)
virtual ossim_int32 connectMyInputTo(ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true)
Will try to connect this objects input to the passed in object.
ConnectableObjectList theInputObjectList
Holds a list of input objects.
virtual bool addChild(ossimConnectableObject *attachableObject)
virtual ossim_uint32 getNumberOfInputs() const
Returns the number of input objects.
std::vector< ossimRefPtr< ossimAtbMatchPoint > > theMatchPoints
void setGridRemapEngine(ossimGridRemapEngine *engine)
virtual void initialize(const ossimDrect &uv_rect, const ossimDpt &grid_spacing)
const ossimDpt & lr() const
virtual bool loadState(const ossimKeywordlist &kwl)
bool enableImage(unsigned int index)
bool lockImage(unsigned int index)