-
Notifications
You must be signed in to change notification settings - Fork 142
Base Class for OSSIM Tools
Base class will expose pure virtuals:
initialize(ossimKeywordList)
-- Reads processing params from KWL and prepares for execute.
execute()
-- Runs the process, writes the output product if applicable.
clear()
-- Closes all files, wipes all caches, but leaves OSSIM initialized/loaded.
abort()
-- Kills current process.Note that this requires the caller to maintain a reference to the tool object across two separate threads since the thread calling execute()
will be occupied.
getTemplate(ossimKeywordList&)
-- Provides a template of the KWL expected. Maybe can be used by groovy code's describeProcess()?
initUsage(ossimArgumentParser)
-- Populates the argument parser with expected arguments/options.
There is no need for a getCapabilities() method. The actual details for WMS/WPS getCapabilities() and describeProcess() will be implemented in groovy with a contract between the groovy code and C++.
The C++ functionality will be wrapped as JNI so can be called as java objects from groovy, versus spawning an executable. This will permit multiple calls to the same object, as in ossimChipperUtil::getChip()
.
Additionally, the base class will implement initialize(ArgumentParser ap)
by converting ap
to a KWL and calling initialize(KWL)
pure virtual.