Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

vlInterpolatorPlugin Class Reference

Base class for implementing interpolator plugins.

#include <vlinterpolatorplugin.h>

Inheritance diagram for vlInterpolatorPlugin:

vlPlugin vlInterpolatorNNPlugin vlInterpolatorTriLinPlugin List of all members.

Public Member Functions

 vlInterpolatorPlugin ()
 Default constructor.

virtual ~vlInterpolatorPlugin ()
 Default destructor.

virtual vlInterpolationType interpolationType () const=0
 Returns the interpolation type implemented by this interpolation.

virtual std::vector< vlLayoutTypegetSupportedLayouts () const=0
 Returns the layout's natively supported by this plugin.

virtual vlInterpolatorSuperBasegetNativeInterpolator (const vlDataType &datatype, const vlLayoutType type)=0
 Returns an interpolator object which uses the given layouts native iterators.

virtual vlInterpolatorSuperBasegetVirtualInterpolator (const vlDataType &datatype)=0
 Returns an interpolator object which uses the VirtualCall iterator.


Static Protected Attributes

const std::string m_baseService = "Interpolator"
const std::string m_baseServiceDesc = "OpenVL data interpolator plugin"
const int m_APIVersionMajor = 1
const int m_APIVersionMinor = 0
const int m_APIVersionRevision = 0

Constructor & Destructor Documentation

vlInterpolatorPlugin::vlInterpolatorPlugin  ) 
 

Definition at line 34 of file vlinterpolatorplugin.cpp.

References vlPlugin::infoRef(), m_APIVersionMajor, m_APIVersionMinor, m_APIVersionRevision, m_baseService, m_baseServiceDesc, vlPluginInfo::setAPIVersion(), and vlPluginInfo::setServiceGroup().

vlInterpolatorPlugin::~vlInterpolatorPlugin  )  [virtual]
 

Definition at line 41 of file vlinterpolatorplugin.cpp.


Member Function Documentation

virtual vlInterpolatorSuperBase* vlInterpolatorPlugin::getNativeInterpolator const vlDataType datatype,
const vlLayoutType  type
[pure virtual]
 

If no native implementation is available, the it returns 0L.

Implemented in vlInterpolatorNNPlugin, and vlInterpolatorTriLinPlugin.

Referenced by vlVolInterpolators< DataType, vlLayout::Linear >::getNativeInterpolator().

virtual std::vector<vlLayoutType> vlInterpolatorPlugin::getSupportedLayouts  )  const [pure virtual]
 

By native support we mean the layout's native iterators are used directly in the implementation. These are the layouts which were directly supported by OpenVL when this plugin gets compiled. For all other layouts, the VirtualCall iterators will be used.

Implemented in vlInterpolatorNNPlugin, and vlInterpolatorTriLinPlugin.

virtual vlInterpolatorSuperBase* vlInterpolatorPlugin::getVirtualInterpolator const vlDataType datatype  )  [pure virtual]
 

Implemented in vlInterpolatorNNPlugin, and vlInterpolatorTriLinPlugin.

Referenced by vlVolInterpolators< DataType, vlLayout::Linear >::getVirtualInterpolator().

virtual vlInterpolationType vlInterpolatorPlugin::interpolationType  )  const [pure virtual]
 

Implemented in vlInterpolatorNNPlugin, and vlInterpolatorTriLinPlugin.


Member Data Documentation

const int vlInterpolatorPlugin::m_APIVersionMajor = 1 [static, protected]
 

Definition at line 78 of file vlinterpolatorplugin.h.

Referenced by vlInterpolatorPlugin().

const int vlInterpolatorPlugin::m_APIVersionMinor = 0 [static, protected]
 

Definition at line 79 of file vlinterpolatorplugin.h.

Referenced by vlInterpolatorPlugin().

const int vlInterpolatorPlugin::m_APIVersionRevision = 0 [static, protected]
 

Definition at line 80 of file vlinterpolatorplugin.h.

Referenced by vlInterpolatorPlugin().

const std::string vlInterpolatorPlugin::m_baseService = "Interpolator" [static, protected]
 

Definition at line 31 of file vlinterpolatorplugin.cpp.

Referenced by vlInterpolatorPlugin().

const std::string vlInterpolatorPlugin::m_baseServiceDesc = "OpenVL data interpolator plugin" [static, protected]
 

Definition at line 32 of file vlinterpolatorplugin.cpp.

Referenced by vlInterpolatorPlugin().


The documentation for this class was generated from the following files:
Generated on Fri Mar 18 11:33:18 2005 for OpenVL by doxygen 1.3.3