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

vlLayout Class Reference

The various data layouts supported by OpenVL. More...

#include <vlenums.h>

List of all members.

Static Public Member Functions

std::vector< vlLayoutTypesupported ()
 Returns the layouts supported by OpenVL.


Static Public Attributes

const vlLayoutType VirtualCall = 1
 This will use virtual call to call appropriate layout iterator.

const vlLayoutType Generic = 2
 This is for generic iterators which can work on any data layout - will be slow.

const vlLayoutType Linear = 10
 Linear layout.

const vlLayoutType Unknown1 = 1000
 Experimental 3rd party plugin-based layouts - unknown to OpenVL.

const vlLayoutType Unknown2 = 1001
const vlLayoutType Unknown3 = 1002
const vlLayoutType Unknown4 = 1003
const vlLayoutType Unknown5 = 1004
const vlLayoutType Unknown6 = 1005
const vlLayoutType Unknown7 = 1006
const vlLayoutType Unknown8 = 1007
const vlLayoutType Unknown9 = 1008
const vlLayoutType Unknown10 = 1009
const vlLayoutType DefaultLayout = VirtualCall
 This is a special default value - indicates which type of iterator to use when no layout is specified.


Static Protected Attributes

const std::vector< vlLayoutTypem_supportedLayouts
 Stores the supported layouts.


Detailed Description

The range 0 -- 9 is reserved for internal use. 10 -- 99 will be used for layouts that will be built into OpenVL. 100 -- 999 and above will be used for dynamic-plugin based layouts which are known to OpenVL. 1000-1009 is reserved for dynamic-plugin based layouts which are unknown to OpenVL.

If you want to write your own layout plugin (dynamic - i.e., as a shared library), then to start off you can choose one of the 10 layout numbers named "Experimental 3rd party". Choose any number and use it for your plugin. As long as no other plugin uses that same layout type number, you are safe. Once you have a working layout and would like to get a layout type number for your layout, send email to the OpenVL mailing list and you will get a reserved layout number. This layout type will be reserved for your layout only and will not clash with any other layout.

Definition at line 98 of file vlenums.h.


Member Function Documentation

std::vector<vlLayoutType> vlLayout::supported  )  [inline, static]
 

Definition at line 128 of file vlenums.h.

References m_supportedLayouts.

Referenced by vlInterpolatorNNPlugin::vlInterpolatorNNPlugin(), vlInterpolatorTriLinPlugin::vlInterpolatorTriLinPlugin(), vlVoxelOpCentralDiffPlugin::vlVoxelOpCentralDiffPlugin(), and vlVoxelOpSobelPlugin::vlVoxelOpSobelPlugin().


Member Data Documentation

const vlLayoutType vlLayout::DefaultLayout = VirtualCall [static]
 

i.e., when a call like vlVolIter<datatype> is made.

Definition at line 125 of file vlenums.h.

const vlLayoutType vlLayout::Generic = 2 [static]
 

Definition at line 104 of file vlenums.h.

const vlLayoutType vlLayout::Linear = 10 [static]
 

Definition at line 107 of file vlenums.h.

Referenced by vlVolume::dataLayout(), vlVolDataLinear::layoutType(), vlVolInterpolators< DataType, vlLayout::Linear >::getNativeInterpolator(), and vlVolVoxelOps< DataType, vlLayout::Linear >::getNativeVoxelOp().

const std::vector< vlLayoutType > vlLayout::m_supportedLayouts [static, protected]
 

Add layouts here as and when they are supported. A supported layout means it is complete and the iterator header file is accessible and known to OpenVL. Before adding a new layout here, make sure an entry for that layout is added to the callFuncOnLayout* macros in vlmacros.h. Note1 : Generic and VirtualCall are not real layouts and hence not added. Note2 : The actual definition is in vlenums.cpp file.

Referenced by supported().

const vlLayoutType vlLayout::Unknown1 = 1000 [static]
 

Definition at line 110 of file vlenums.h.

const vlLayoutType vlLayout::Unknown10 = 1009 [static]
 

Definition at line 119 of file vlenums.h.

const vlLayoutType vlLayout::Unknown2 = 1001 [static]
 

Definition at line 111 of file vlenums.h.

const vlLayoutType vlLayout::Unknown3 = 1002 [static]
 

Definition at line 112 of file vlenums.h.

const vlLayoutType vlLayout::Unknown4 = 1003 [static]
 

Definition at line 113 of file vlenums.h.

const vlLayoutType vlLayout::Unknown5 = 1004 [static]
 

Definition at line 114 of file vlenums.h.

const vlLayoutType vlLayout::Unknown6 = 1005 [static]
 

Definition at line 115 of file vlenums.h.

const vlLayoutType vlLayout::Unknown7 = 1006 [static]
 

Definition at line 116 of file vlenums.h.

const vlLayoutType vlLayout::Unknown8 = 1007 [static]
 

Definition at line 117 of file vlenums.h.

const vlLayoutType vlLayout::Unknown9 = 1008 [static]
 

Definition at line 118 of file vlenums.h.

const vlLayoutType vlLayout::VirtualCall = 1 [static]
 

Definition at line 101 of file vlenums.h.

Referenced by vlVolSpaceIterConst< DataType, vlLayout::Generic >::vlVolSpaceIterConst().


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