Cortex
10.0.0-a4
|
#include <Reader.h>
Classes | |
class | ReaderDescription |
Public Member Functions | |
IE_CORE_DECLARERUNTIMETYPED (Reader, Op) | |
const std::string & | fileName () const |
virtual CompoundObjectPtr | readHeader () |
ObjectPtr | read () |
![]() | |
IE_CORE_DECLARERUNTIMETYPED (Op, Parameterised) | |
Op (const std::string &description, ParameterPtr resultParameter) | |
Op (const std::string &description, CompoundParameterPtr compoundParameter, ParameterPtr resultParameter) | |
ObjectPtr | operate () |
ObjectPtr | operate (const CompoundObject *operands) |
Performs the operation using the given values of parameters. | |
const Parameter * | resultParameter () const |
![]() | |
IE_CORE_DECLARERUNTIMETYPED (Parameterised, RunTimeTyped) | |
Parameterised (const std::string &description) | |
Parameterised (const std::string &description, CompoundParameterPtr compoundParameter) | |
Another constructor added later on that gives defines the CompoundParameter object to be hold in this Parameterised instance. | |
const std::string & | description () const |
Returns a description for this parameterised object. | |
CompoundParameter * | parameters () override |
const CompoundParameter * | parameters () const override |
Returns the parameters for query. | |
CompoundObject * | userData () |
Returns an object that anyone can use for storing anything. | |
const CompoundObject * | userData () const |
Read only version of the above. | |
![]() | |
IE_CORE_DECLAREMEMBERPTR (RunTimeTyped) | |
virtual TypeId | typeId () const |
virtual const char * | typeName () const |
virtual bool | isInstanceOf (TypeId typeId) const |
virtual bool | isInstanceOf (const char *typeName) const |
![]() | |
IE_CORE_DECLAREMEMBERPTR (RefCounted) | |
void | addRef () const |
Add a reference to the current object. | |
void | removeRef () const |
Remove a reference from the current object. | |
RefCount | refCount () const |
Returns the current reference count. | |
Protected Member Functions | |
Reader (const std::string &description, ParameterPtr resultParameter=nullptr) | |
![]() | |
virtual ObjectPtr | doOperation (const CompoundObject *operands)=0 |
Protected Attributes | |
FileNameParameterPtr | m_fileNameParameter |
Factory functions | |
typedef boost::function< ReaderPtr(const std::string &fileName)> | CreatorFn |
typedef boost::function< bool(const std::string &fileName)> | CanReadFn |
static ReaderPtr | create (const std::string &fileName) |
static void | supportedExtensions (std::vector< std::string > &extensions) |
static void | supportedExtensions (TypeId typeId, std::vector< std::string > &extensions) |
static void | registerReader (const std::string &extensions, CanReadFn canRead, CreatorFn creator, TypeId typeId) |
Additional Inherited Members | |
![]() | |
typedef RefCounted | BaseClass |
A typedef for the class this class derives from. All RunTimeTyped classes define this typedef. | |
![]() | |
typedef size_t | RefCount |
![]() | |
static TypeId | staticTypeId () |
Returns the TypeId for this class, without needing an instance. | |
static const char * | staticTypeName () |
Returns the type name for this class, without needing an instance. | |
static TypeId | baseTypeId () |
static const char * | baseTypeName () |
static bool | inheritsFrom (TypeId typeId) |
Returns true if this class inherits from the specified type. | |
static bool | inheritsFrom (const char *typeName) |
Returns true if this class inherits from the specified type. | |
static bool | inheritsFrom (TypeId type, TypeId baseType) |
Returns true if type inherits from baseType. | |
static bool | inheritsFrom (const char *typeName, const char *baseTypeName) |
Returns true if typeName inherits from baseTypeName. | |
static TypeId | baseTypeId (TypeId typeId) |
Returns the base type of the given type, or InvalidTypeId if no such base exists. | |
static const std::vector< TypeId > & | baseTypeIds (TypeId typeId) |
static const std::set< TypeId > & | derivedTypeIds (TypeId typeId) |
static TypeId | typeIdFromTypeName (const char *typeName) |
static const char * | typeNameFromTypeId (TypeId typeId) |
static void | registerType (TypeId derivedTypeId, const char *derivedTypeName, TypeId baseTypeId) |
Allows external modules to register their own type ids. | |
![]() | |
typedef std::map< TypeId, TypeId > | BaseTypeRegistryMap |
typedef std::map< TypeId, std::vector< TypeId > > | BaseTypesRegistryMap |
typedef std::map< TypeId, std::set< TypeId > > | DerivedTypesRegistryMap |
typedef tbb::spin_rw_mutex | Mutex |
typedef std::map< TypeId, std::string > | TypeIdsToTypeNamesMap |
typedef std::map< std::string, TypeId > | TypeNamesToTypeIdsMap |
![]() | |
static BaseTypeRegistryMap & | baseTypeRegistry () |
static DerivedTypesRegistryMap & | derivedTypesRegistry () |
static BaseTypesRegistryMap & | completeBaseTypesRegistry () |
static DerivedTypesRegistryMap & | completeDerivedTypesRegistry () |
static void | derivedTypeIdsWalk (TypeId typeId, std::set< TypeId > &) |
static TypeIdsToTypeNamesMap & | typeIdsToTypeNames () |
static TypeNamesToTypeIdsMap & | typeNamesToTypeIds () |
![]() | |
static Mutex | g_baseTypeIdsMutex |
static Mutex | g_derivedTypeIdsMutex |
The Reader class defines an interface for loading files of arbitrary type in the form of Object instances.
typedef boost::function<bool ( const std::string &fileName )> IECore::Reader::CanReadFn |
Definition of a function to answer the question can this file be read?
typedef boost::function<ReaderPtr ( const std::string &fileName )> IECore::Reader::CreatorFn |
Definition of a function which can create a Reader when given a fileName.
|
protected |
If resultParameter is not specified then creates a resultParameter which is a simple Parameter instance. If a derived class provides more concrete constraints on the type of the result it should pass an appropriate resultParameter in its initialiser.
|
static |
Creates and returns a Reader appropriate to the specified file. Throws an Exception if no suitable reader can be found.
Referenced by IECoreRI::executeProcedural(), IECore.ParameterParser::parse(), and IECore.BasicPreset::save().
const std::string& IECore::Reader::fileName | ( | ) | const |
Returns the name of the file this Reader is set to read. Actually calls parameters()->parameter<FileNameParameter>( "fileName" )->getTypedValue(); and therefore can potentially throw an Exception if the fileName is invalid.
ObjectPtr IECore::Reader::read | ( | ) |
Reads the file specified by fileName() and returns it in the form of an Object. This function actually just calls Op::operate() - it's provided for backwards compatibility and prettier syntax.
|
virtual |
Returns the file header in the file specified by fileName(). This is intended to give fast access to some information about the contents of the file, without having to load the entire thing. Classes implementing this method should call the base class method first, and append any additional data to the CompoundObject it returns.
Reimplemented in IECore::ObjectReader.
|
static |
Registers a Reader type which is capable of reading files ending with the space separated extensions specified (e.g. "tif tiff"). Before creating a reader the canRead function will be called as a final check that the Reader is appropriate - if this returns true then the creator function will then be called. If a file has no extension then all registered canRead functions are called in a last ditch attempt to find a suitable reader. Typically you will not call this function directly to register a reader type - you will instead use the ReaderDescription registration utility class below.
|
static |
Fills the passed vector with all the extensions for which a Reader is available. Extensions are of the form "tif" - ie without a preceding '.'.
|
static |
Fills the passed vector with all the extensions for which a Reader of, or inherited from, the given type is available. Extensions are of the form "tif" - ie without a preceding '.'.