TuttleOFX  1
TuttleOFX/libraries/tuttle/src/tuttle/host/ofx/attribute/OfxhClipImageAccessor.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_HOST_OFX_ATTRIBUTE_CLIPIMAGEACCESSOR_HPP_
00002 #define _TUTTLE_HOST_OFX_ATTRIBUTE_CLIPIMAGEACCESSOR_HPP_
00003 
00004 #include "OfxhClipAccessor.hpp"
00005 
00006 namespace tuttle {
00007 namespace host {
00008 namespace ofx {
00009 namespace attribute {
00010 
00011 /**
00012  *  Base to both descriptor and instance it
00013  * is used to basically fetch common properties
00014  * by function name
00015  */
00016 class OfxhClipImageAccessor : virtual public attribute::OfxhClipAccessor
00017 {
00018 public:
00019         /// @brief base ctor, for a descriptor
00020         OfxhClipImageAccessor();
00021 
00022         virtual ~OfxhClipImageAccessor() = 0;
00023 
00024         /// @return a std::vector of supported comp
00025         const std::vector<std::string>& getSupportedComponents() const;
00026 
00027         /// @brief is the given component supported
00028         bool isSupportedComponent( const std::string& comp ) const;
00029 
00030         /// @brief does the clip do random temporal access
00031         bool temporalAccess() const;
00032 
00033         /// @brief is the clip a nominal 'mask' clip
00034         bool isMask() const;
00035 
00036         /// @brief how does this clip like fielded images to be presented to it
00037         const std::string& getFieldExtraction() const;
00038 
00039         /// @brief is the clip a nominal 'mask' clip
00040         bool supportsTiles() const;
00041 
00042         /// get a handle on the clip descriptor/instance for the C api
00043         virtual OfxImageClipHandle getOfxImageClipHandle() const = 0;
00044 
00045 };
00046 
00047 }
00048 }
00049 }
00050 }
00051 
00052 #endif
00053