Cortex
10.0.0-a4
|
#include <Group.h>
Public Types | |
typedef std::vector< VisibleRenderablePtr > | ChildContainer |
typedef std::vector< StateRenderablePtr > | StateContainer |
![]() | |
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 |
Public Member Functions | |
Group () | |
IE_CORE_DECLAREOBJECT (Group, VisibleRenderable) | |
Transform * | getTransform () |
const Transform * | getTransform () const |
void | setTransform (TransformPtr transform) |
Imath::M44f | transformMatrix (float time=0) const |
Imath::M44f | globalTransformMatrix (float time=0) const |
void | addState (StateRenderablePtr state) |
void | removeState (StateRenderablePtr state) |
void | clearState () |
Removes all state from the Group. | |
const StateContainer & | state () const |
const Data * | getAttribute (const std::string &name) const |
void | setAttribute (const std::string &name, ConstDataPtr value) |
Set an attribute on this group. | |
void | addChild (VisibleRenderablePtr child) |
void | removeChild (VisibleRenderablePtr child) |
void | clearChildren () |
Removes all children from the Group. | |
const ChildContainer & | children () const |
Group * | parent () |
const Group * | parent () const |
void | render (Renderer *renderer) const override |
void | render (Renderer *renderer, bool inAttributeBlock) const |
void | renderState (Renderer *renderer) const |
void | renderChildren (Renderer *renderer) const |
Renders all the held children, without any attributeBegin/End. | |
Imath::Box3f | bound () 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. | |
Additional Inherited Members | |
![]() | |
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 |
![]() | |
virtual void | copyFrom (const Object *other, CopyContext *context)=0 |
IE_CORE_DECLAREPTR (LoadContext) | |
virtual void | save (SaveContext *context) const =0 |
virtual void | load (LoadContextPtr context)=0 |
virtual void | memoryUsage (MemoryAccumulator &accumulator) const =0 |
![]() | |
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 |
This class allows the grouping and rendering of a set of VisibleRenderables, applying a specific set of Transforms and StateRenderables to them.
IECore::Group::Group | ( | ) |
void IECore::Group::addChild | ( | VisibleRenderablePtr | child | ) |
void IECore::Group::addState | ( | StateRenderablePtr | state | ) |
Adds some state to the Group. Throws an Exception if an attempt is made to add something deriving from Transform - setTransform() should be used for that.
|
overridevirtual |
Returns the union of the bounds of the children, transformed by transformMatrix().
Implements IECore::VisibleRenderable.
const ChildContainer& IECore::Group::children | ( | ) | const |
Const access to the internal data structure used to hold the children.
const Data* IECore::Group::getAttribute | ( | const std::string & | name | ) | const |
Query an attribute from the group's scope. Tries to find the attribute in the group's state, then traverses the group's parents
Transform* IECore::Group::getTransform | ( | ) |
Imath::M44f IECore::Group::globalTransformMatrix | ( | float | time = 0 | ) | const |
Returns the final transform applied to the children of this Group when all parent transforms have been concatenated together with the local transform.
Group* IECore::Group::parent | ( | ) |
Returns the parent for this Group, returning 0 if no parent exists.
Referenced by IECoreMaya.ClassVectorParameterUI::registerToolsMenuCallback().
void IECore::Group::removeChild | ( | VisibleRenderablePtr | child | ) |
void IECore::Group::removeState | ( | StateRenderablePtr | state | ) |
|
overridevirtual |
Renders all the children in an attribute block along with the transform and state.
Implements IECore::Renderable.
void IECore::Group::render | ( | Renderer * | renderer, |
bool | inAttributeBlock | ||
) | const |
As above, but can optionally omit the attribute block scoping.
void IECore::Group::renderState | ( | Renderer * | renderer | ) | const |
Renders all the held state, without any attributeBegin/End. Doesn't render the transform.
void IECore::Group::setTransform | ( | TransformPtr | transform | ) |
Sets the local transform applied to the children of this Group.
const StateContainer& IECore::Group::state | ( | ) | const |
Const access to the internal data structure used to hold the state.
Imath::M44f IECore::Group::transformMatrix | ( | float | time = 0 | ) | const |
Returns the actual local transform matrix applied to this Group, evaluated at the specified time.