AlgorithmPlugIn Class Reference
[Plug-In Shells]

#include <AlgorithmPattern.h>

Inheritance diagram for AlgorithmPlugIn:

Inheritance graph

List of all members.

Public Member Functions

 ~AlgorithmPlugIn ()
bool setBatch ()
bool setInteractive ()
bool getInputSpecification (PlugInArgList *&pArgList)
bool getOutputSpecification (PlugInArgList *&pArgList)
bool execute (PlugInArgList *pInArgList, PlugInArgList *pOutArgList)
bool abort ()

Protected Member Functions

 AlgorithmPlugIn (void *pAlgData)
void setAlgorithmPattern (Resource< AlgorithmPattern > pAlgorithm)
bool isInteractive () const
bool setupAndRunAlgorithm ()

Protected Attributes

Service< ApplicationServicesmpApplicationServices
Service< DesktopServicesmpDesktopServices
Service< PlugInManagerServicesmpPlugInManagerServices
Service< ModelServicesmpModelServices
Service< UtilityServicesmpUtilityServices
ObjectFactorympObjFact


Detailed Description

Definition at line 142 of file AlgorithmPattern.h.


Constructor & Destructor Documentation

AlgorithmPlugIn::~AlgorithmPlugIn (  ) 

AlgorithmPlugIn::AlgorithmPlugIn ( void *  pAlgData  )  [protected]


Member Function Documentation

bool AlgorithmPlugIn::setBatch (  )  [virtual]

Sets the plug-in to execute in batch mode.

This method is used to set the plug-in to execute in a non-GUI mode.

Returns:
Returns true if batch mode is supported and the plug-in was successfully set to execute in a non-GUI mode. Returns false if the plug-in does not support batch mode, or if batch mode cannot currently be set on the plug-in.
See also:
setInteractive()

Default Implementation:
The default implementation sets an internal flag that can be queried with isBatch() and returns true.

Reimplemented from ExecutableShell.

bool AlgorithmPlugIn::setInteractive (  )  [virtual]

Sets the plug-in to execute in interactive mode.

This method is used to set the plug-in to execute in a GUI mode.

Returns:
Returns true if interactive mode is supported and the plug-in was successfully set to execute in a GUI mode. Returns false if the plug-in does not support interactive mode, or if interactive mode cannot currently be set on the plug-in.
See also:
setBatch()

Default Implementation:
The default implementation sets an internal flag that can be queried with isBatch() and returns true.

Reimplemented from ExecutableShell.

bool AlgorithmPlugIn::getInputSpecification ( PlugInArgList *&  pArgList  )  [virtual]

Retrieves the plug-in input parameters.

This method queries the plug-in for its input parameters that are needed to execute properly. The input arguments may be different in interactive mode and batch mode.

Parameters:
pArgList A plug-in arg list pointer that is set to a created input argument list specifying the plug-in input parameters. NULL is a valid pointer value if the plug-in does not require any input arguments.
Returns:
Returns true if the input parameter argument list was successfully created. If the plug-in does not require input arguments, true is returned, but the given plug-in arg list pointer may be NULL.
See also:
PlugInArgList

Implements Executable.

bool AlgorithmPlugIn::getOutputSpecification ( PlugInArgList *&  pArgList  )  [virtual]

Retrieves the plug-in output parameters.

This method queries the plug-in for its output parameters that are created during execution. The output arguments may be different in interactive mode and batch mode.

Parameters:
pArgList A plug-in arg list pointer that is set to a created output argument list specifying the plug-in output parameters. NULL is a valid pointer value if the plug-in does not provide any output arguments.
Returns:
Returns true if the output parameter argument list was successfully created. If the plug-in does not provide output arguments, true is returned, but the given plug-in arg list pointer may be NULL.
See also:
PlugInArgList

Implements Executable.

bool AlgorithmPlugIn::execute ( PlugInArgList pInArgList,
PlugInArgList pOutArgList 
) [virtual]

Executes the plug-in.

Parameters:
pInArgList On input, pInArgList contains a complete input argument list for the plug-in. The actual values are used as inputs when executing the plug-in. Default values may be used if an actual value is not present.
pOutArgList On input, pOutArgList contains a complete output argument list for the plug-in, although actual values and default values will be ignored. On return, the actual values in the argument list will be updated to include all output parameters defined by the plug-in.
Returns:
Returns true if the execution was successful. Returns false if an error occurred or if the user cancelled the plug-in while in interactive mode.
See also:
getInputSpecification(), getOutputSpecification()

Implements Executable.

bool AlgorithmPlugIn::abort (  )  [virtual]

Aborts the plug-in during execution.

This method may be called by the application to attempt to gracefully abort a plug-in. Depending on the specific plug-in implementation of this method, it may simply initiate the abort process and return or it may attempt to complete the abort process before returning.

Returns:
Returns true if the plug-in was successfully aborted or transformed to an aborted state, which does not necessarily mean that the plug-in has completed aborting. Returns false if the plug-in could not abort successfully or if the plug-in does not support aborting.
See also:
hasAbort()

Default Implementation:
If hasAbort() returns true, the default implementation sets an internal flag that can be queried with isAborted() and returns true. If hasAbort() returns false, the default implementation returns false.

Reimplemented from ExecutableShell.

void AlgorithmPlugIn::setAlgorithmPattern ( Resource< AlgorithmPattern pAlgorithm  )  [protected]

bool AlgorithmPlugIn::isInteractive (  )  const [protected]

bool AlgorithmPlugIn::setupAndRunAlgorithm (  )  [protected, virtual]

Implements AlgorithmRunner.


Member Data Documentation

Definition at line 160 of file AlgorithmPattern.h.

Definition at line 161 of file AlgorithmPattern.h.

Definition at line 162 of file AlgorithmPattern.h.

Definition at line 163 of file AlgorithmPattern.h.

Definition at line 164 of file AlgorithmPattern.h.

Definition at line 165 of file AlgorithmPattern.h.


Software Development Kit - Opticks 4.9.0 Build 16218