30 #include <QScopedPointer> 31 #include <QSharedPointer> 109 QString
name()
const;
110 QString
type()
const;
151 const QString &
name)
const;
154 const int &index = 0,
155 const QString &defValue =
"")
const;
157 const QString &delimiter =
"::")
const;
158 QString
scanAndReplace(
const QString &input,
const QString &target,
159 const QString &replacement)
const;
162 const QString &defValue =
"")
const;
165 const QString &defValue =
"")
const;
178 const bool &withAssets =
false)
const;
185 bool initProgress(
const int &nsteps = 0,
const QString &text =
"");
191 template <
class STRATEGYLIST,
class STRATEGYFACTORY>
192 STRATEGYLIST LoadMinerStrategies(
const QString &minerName,
194 STRATEGYFACTORY *factory = STRATEGYFACTORY::instance();
198 if ( !config.isEmpty() ) {
199 miner = factory->buildRun(config, globals);
201 else if ( getDefinition().hasObject(minerName+
"Miner") ) {
202 miner = factory->buildRun(getDefinition().findObject(minerName+
"Miner"),
bool initProgress(const int &nsteps=0, const QString &text="")
Initializes strategy progress monitor if requested by user.
bool m_debug
Indicates whether to print debug messages.
int apply(ResourceList &resources)
Apply algorithm to resource list.
QString scanAndReplace(const QString &input, const QString &target, const QString &replacement) const
Performs a case insensitive scan of the input string for a substring matching the target string and r...
QString findReplacement(const QString &target, const ResourceList &globals, const int &index=0, const QString &defValue="") const
Find keyword replacement value in globals list.
static void queryCallback(void *item, void *userdata)
Important GEOS query callback for class and overlap geometry.
QString m_type
A string containing the type of strategy.
ResourceList cloneList(const ResourceList &resources, const bool &withAssets=false) const
Create a clone of a Resource list.
QSharedPointer< PvlObject > SharedPvlObject
Definition for a SharedPvlObject, a shared pointer to a PvlObject.
int countDiscarded(const ResourceList &resources) const
Counts the number of non-active (i.e.
QString description() const
Return description for the strategy.
void setApplyToDiscarded()
Sets Resource as discarded.
virtual ~Strategy()
Destroys the Strategy object.
void setName(const QString &name)
Allow derived strategies to reset name (mostly for default constructors)
QStringList qualifiers(const QString &keyspec, const QString &delimiter="::") const
Splits the given keyspec string into a list using the given delimiter string.
ResourceList m_globals
A shared pointer to the global Resource of keywords.
bool doShowProgress() const
QSharedPointer< Strategy > SharedStrategy
Definition for a SharedStrategy, a shared pointer to a Strategy.
SharedPvlObject m_definition
A shared pointer to the PvlObject that defines the strategy.
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
unsigned int totalProcessed() const
Accessor for the total number of resources processed.
QScopedPointer< Progress > m_progress
Progress percentage monitor.
void setType(const QString &type)
Allow derived strategies to reset type (mostly for default constructors)
QString name() const
Accessor method to get the name of the strategy.
ResourceList getGlobals(SharedResource &myGlobals, const ResourceList &globals) const
SharedResource composite(SharedResource &resourceA, SharedResource &resourceB, const QPair< QString, QString > &keySuffix=qMakePair(QString("A"), QString("B"))) const
Create a composite Resource from a pair by merging keywords.
bool isDebug() const
An accessor method so that inherited classes can determine whether to print debug messages for this o...
Provides a flat map of PvlKeywords.
QString type() const
Accessor method to get the type of strategy.
void deactivateList(ResourceList &resources) const
Deactivate all resources contained in the resource list.
PvlFlatMap getDefinitionMap() const
Returns the keyword definitions found in the Strategy object.
bool m_applyDiscarded
Indicates whether to apply strategy to discarded resources.
int applyToIntersectedGeometry(ResourceList &resources, GisGeometry &geom, const ResourceList &globals)
Identify and apply Strategy to Resources that intersect a geometry.
bool isApplyToDiscarded() const
Accessor for the apply discarded variable.
ResourceList copyList(const ResourceList &resources) const
Make a copy of the resource list that is independently managed.
QList< SharedStrategy > StrategyList
Definition for a StrategyList, a list of SharedStrategy types.
void setDoNotApplyToDiscarded()
Disables the general application of Strategy algorithm for all Resources regardless of state...
ResourceList assetResourceList(const SharedResource &resource, const QString &name) const
Searches the given resource for an asset with the given name and converts it to a ResourceList...
Strategy()
Constructs default Strategy object of name "Strategy" and type "Counter".
void activateList(ResourceList &resources) const
Activate all resources contained in the resource list.
unsigned int processed()
Increments the total number of resources processed and returns the incremented value.
QString processArgs(const QString &value, const QStringList &argKeys, const ResourceList &globals, const QString &defValue="") const
Processes the given string value using the given argument list, resource and default resource...
ResourceList activeList(ResourceList &resources) const
Get list of all active Resources only - no discarded Resources.
QString translateKeywordArgs(const QString &value, const ResourceList &globals, const QString &defValue="") const
Translates the arguments of the PVL keyword in the PVL definition object.
Strategy - Supports algorithm development.
void resetProcessed()
Resets the total number of processed resources to zero.
void propagateKeys(SharedResource &source, SharedResource &target) const
Adds the PVL definition keywords from the source to the target.
Namespace for ISIS/Bullet specific routines.
ResourceList getGlobalDefaults() const
Accessor method to get the global defaults.
unsigned int m_total
The total number of resources processed.
QString m_name
A string containing the name of the strategy.
Encapsulation class provides support for GEOS-C API.
Contains Pvl Groups and Pvl Objects.
int countActive(const ResourceList &resources) const
Counts the number of active (i.e.
int applyToResources(ResourceList &resources, const ResourceList &globals)
Applies the strategy algorithms to the resources in the given list.
bool importGeometry(SharedResource &resource, const ResourceList &globals) const
Imports a geometry from the given resource.