Cortex
10.0.0-a4
|
#include <Writer.h>
Classes | |
class | WriterDescription |
Public Member Functions | |
const std::string & | fileName () const |
const Object * | object () const |
void | write () |
![]() | |
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. | |
Static Public Member Functions | |
static WriterPtr | create (ObjectPtr object, const std::string &fileName) |
static WriterPtr | create (const std::string &fileName) |
static void | supportedExtensions (std::vector< std::string > &extensions) |
static void | supportedExtensions (TypeId typeId, std::vector< std::string > &extensions) |
![]() | |
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. | |
Protected Types | |
typedef WriterPtr(* | CreatorFn) () |
Definition of a function which can create a Writer. | |
typedef bool(* | CanWriteFn) (ConstObjectPtr object, const std::string &fileName) |
![]() | |
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 |
Protected Member Functions | |
Writer (const std::string &description, TypeId writableType) | |
Writer (const std::string &description, const ObjectParameter::TypeIdSet &writableTypes) | |
ObjectPtr | doOperation (const CompoundObject *operands) override |
Implemented to call doWrite(), so derived classes need only implement that. | |
virtual void | doWrite (const CompoundObject *operands)=0 |
Static Protected Member Functions | |
static void | registerWriter (const std::string &extensions, CanWriteFn canWrite, CreatorFn creator, TypeId typeId) |
![]() | |
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 () |
Protected Attributes | |
ParameterPtr | m_objectParameter |
FileNameParameterPtr | m_fileNameParameter |
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 Mutex | g_baseTypeIdsMutex |
static Mutex | g_derivedTypeIdsMutex |
|
protected |
Definition of a function to answer the question can this object be written to this file?
|
static |
Creates and returns a Writer appropriate for saving the specified object to the specified file (the file extension is used to determine format). Throws an Exception if no suitable writer can be found.
Referenced by IECoreMaya.FnParameterisedHolder::ls(), and IECore.BasicPreset::save().
|
static |
|
protectedpure virtual |
Must be implemented by subclasses to write object() to fileName(). Implementations should throw an Exception on failure.
Implemented in IECoreRI::RIBWriter, and IECore::ObjectWriter.
const std::string& IECore::Writer::fileName | ( | ) | const |
Returns the name of the file this Writer is set to create. This is just a convenience returning the equivalent of parameters()->parameter<FileNameParameter>( "fileName" )->getTypedValue().
const Object* IECore::Writer::object | ( | ) | const |
Returns the Object this Writer will use to write the file. This is just a convenience returning the equivalent of parameters()->parameter<Parameter>( "object" )->getValue().
Referenced by IECoreMaya.FnParameterisedHolder::fullPathName(), IECoreMaya.FnProceduralHolder::selectedComponentNames(), and IECoreMaya.FnSceneShape::selectedComponentNames().
|
staticprotected |
Registers a Writer type which is capable of writing files ending with the space separated extensions specified (e.g. "tif tiff"). Before creating a Writer the canWrite function will be called as a final check that the Writer is appropriate for the given Object type - if this returns true then the creator function will then be called. Typically you will not call this function directly to register a writer type - you will instead use the registration utility class below.
|
static |
Fills the passed vector with all the extensions for which a Writer is available. Extensions are of the form "tif" - ie without a preceding '.'.
|
static |
Fills the passed vector with all the extensions for which a Writer of, or inherited from, the given type is available. Extensions are of the form "tif" - ie without a preceding '.'.
void IECore::Writer::write | ( | ) |
Writes object() to fileName(). This just calls operate() and is provided for backwards compatibility and pretty syntax.