|
| ParameterisedProcedural (const std::string &description="") |
|
| IE_CORE_DECLAREABSTRACTOBJECT (ParameterisedProcedural, VisibleRenderable) |
|
const std::string & | description () const |
| Returns a description for this parameterised object.
|
|
void | render (Renderer *renderer) const override |
| Calls render( renderer, true, true, true, false );.
|
|
void | render (Renderer *renderer, bool inAttributeBlock, bool withState, bool withGeometry, bool immediateGeometry) const |
|
Imath::Box3f | bound () const override |
| Forwards to doBound().
|
|
CompoundParameter * | parameters () override |
| Returns the parameters for query/modification.
|
|
const CompoundParameter * | parameters () const override |
|
| IE_CORE_DECLAREABSTRACTOBJECT (VisibleRenderable, Renderable) |
|
| IE_CORE_DECLAREABSTRACTOBJECT (Renderable, BlindDataHolder) |
|
| BlindDataHolder (CompoundDataPtr data) |
|
| IE_CORE_DECLAREOBJECT (BlindDataHolder, Object) |
|
CompoundData * | blindData () |
| Return the blind data for modification.
|
|
const CompoundData * | blindData () const |
|
| IE_CORE_DECLARERUNTIMETYPED (Object, RunTimeTyped) |
|
ObjectPtr | copy () const |
|
void | copyFrom (const Object *other) |
|
void | save (IndexedIOPtr ioInterface, const IndexedIO::EntryID &name) const |
|
virtual bool | isEqualTo (const Object *other) const =0 |
|
virtual bool | isNotEqualTo (const Object *other) const |
|
bool | operator== (const Object &other) const |
| Calls isEqualTo() for people who prefer to use the operator syntax.
|
|
bool | operator!= (const Object &other) const |
| Calls isNotEqualTo() for people who prefer to use the operator syntax.
|
|
size_t | memoryUsage () const |
| Returns the number of bytes this instance occupies in memory.
|
|
MurmurHash | hash () const |
|
virtual void | hash (MurmurHash &h) const =0 |
|
| 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.
|
|
|
typedef ObjectPtr(* | CreatorFn) (void *data) |
|
typedef RefCounted | BaseClass |
| A typedef for the class this class derives from. All RunTimeTyped classes define this typedef.
|
|
typedef size_t | RefCount |
|
static void | registerType (TypeId typeId, const std::string &typeName, CreatorFn creator, void *data=nullptr) |
| Register a new Object-derived type with the system. The specified void* data is passed into the creator function.
|
|
static bool | isType (TypeId typeId) |
| Returns true if typeId is a valid registered Object type.
|
|
static bool | isType (const std::string &typeName) |
| Returns true if typeName is a valid registered Object type.
|
|
static bool | isAbstractType (TypeId typeId) |
|
static bool | isAbstractType (const std::string &typeName) |
| As above but taking a type name.
|
|
static ObjectPtr | create (TypeId typeId) |
|
static ObjectPtr | create (const std::string &typeName) |
|
static ObjectPtr | load (ConstIndexedIOPtr ioInterface, const IndexedIO::EntryID &name) |
|
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 ParameterisedProcedural class provides a means of implementing a Renderer::Procedural at a slightly higher level. By deriving from VisibleRenderable it allows procedurals to be embedded in groups with other geometry and state and by deriving from ParameterisedInterface it provides a consistent way of providing parameter values to subclasses. It also deals with the common problem that in order for a procedural to be invoked by the renderer, it has to have appropriate visibility attributes, which must be set before the procedural is declared. This case is addressed by the doRenderState() virtual method, which gives ParameterisedProcedurals the opportunity to specify any attribute state they need to exist before the procedural itself is declared.