30 #include <QScopedPointer>
31 #include <QSharedPointer>
109 QString
name()
const;
110 QString
type()
const;
128 Strategy(
const QString &name,
const QString &type);
130 void setName(
const QString &name);
131 void setType(
const QString &type);
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 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...
static void queryCallback(void *item, void *userdata)
Important GEOS query callback for class and overlap geometry.
QString translateKeywordArgs(const QString &value, const ResourceList &globals, const QString &defValue="") const
Translates the arguments of the PVL keyword in the PVL definition object.
QString m_type
A string containing the type of strategy.
QSharedPointer< PvlObject > SharedPvlObject
Definition for a SharedPvlObject, a shared pointer to a PvlObject.
ResourceList cloneList(const ResourceList &resources, const bool &withAssets=false) const
Create a clone of a Resource list.
int countDiscarded(const ResourceList &resources) const
Counts the number of non-active (i.e.
void setApplyToDiscarded()
Sets Resource as discarded.
ResourceList getGlobals(SharedResource &myGlobals, const ResourceList &globals) const
virtual ~Strategy()
Destroys the Strategy object.
QString name() const
Accessor method to get the name of the strategy.
int countActive(const ResourceList &resources) const
Counts the number of active (i.e.
ResourceList activeList(ResourceList &resources) const
Get list of all active Resources only - no discarded Resources.
void setName(const QString &name)
Allow derived strategies to reset name (mostly for default constructors)
ResourceList copyList(const ResourceList &resources) const
Make a copy of the resource list that is independently managed.
ResourceList m_globals
A shared pointer to the global Resource of keywords.
QSharedPointer< Strategy > SharedStrategy
Definition for a SharedStrategy, a shared pointer to a Strategy.
QStringList qualifiers(const QString &keyspec, const QString &delimiter="::") const
Splits the given keyspec string into a list using the given delimiter string.
SharedPvlObject m_definition
A shared pointer to the PvlObject that defines the strategy.
void activateList(ResourceList &resources) const
Activate all resources contained in the resource list.
void propagateKeys(SharedResource &source, SharedResource &target) const
Adds the PVL definition keywords from the source to the target.
Q_DECLARE_METATYPE(Isis::Cube *)
This allows Cube *'s to be stored in a QVariant.
PvlFlatMap getDefinitionMap() const
Returns the keyword definitions found in the Strategy object.
QScopedPointer< Progress > m_progress
Progress percentage monitor.
void setType(const QString &type)
Allow derived strategies to reset type (mostly for default constructors)
QString findReplacement(const QString &target, const ResourceList &globals, const int &index=0, const QString &defValue="") const
Find keyword replacement value in globals 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...
Provides a flat map of PvlKeywords.
ResourceList getGlobalDefaults() const
Accessor method to get the global defaults.
bool isApplyToDiscarded() const
Accessor for the apply discarded variable.
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.
QList< SharedStrategy > StrategyList
Definition for a StrategyList, a list of SharedStrategy types.
QString type() const
Accessor method to get the type of strategy.
void setDoNotApplyToDiscarded()
Disables the general application of Strategy algorithm for all Resources regardless of state...
Strategy()
Constructs default Strategy object of name "Strategy" and type "Counter".
unsigned int processed()
Increments the total number of resources processed and returns the incremented value.
void deactivateList(ResourceList &resources) const
Deactivate all resources contained in the resource list.
bool importGeometry(SharedResource &resource, const ResourceList &globals) const
Imports a geometry from the given resource.
Strategy - Supports algorithm development.
void resetProcessed()
Resets the total number of processed resources to zero.
bool doShowProgress() const
bool isDebug() const
An accessor method so that inherited classes can determine whether to print debug messages for this o...
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...
QSharedPointer< Resource > SharedResource
Defintion of a SharedResource, a shared pointer to a Resource object.
QString description() const
Return description for the strategy.
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.
unsigned int m_total
The total number of resources processed.
unsigned int totalProcessed() const
Accessor for 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 applyToResources(ResourceList &resources, const ResourceList &globals)
Applies the strategy algorithms to the resources in the given list.