#include <StateSet.h>
Inheritance diagram for nvsg::StateSet:
Public Methods | |
virtual NVSG_API const StateSet * | clone (void) const |
Create a StateSet by cloning this. More... | |
virtual NVSG_API bool | isDataShared (void) const |
Determine whether the data of this object is shared. More... | |
virtual NVSG_API DataID | getDataID (void) const |
Get the DataID of the data of this object. More... | |
NVSG_API void | addAttribute (const StateAttribute *attrib) |
Add a StateAttribute to the attribute list. More... | |
NVSG_API size_t | getNumberOfAttributes (void) const |
Get the number of StateAttributes in this StateSet. More... | |
NVSG_API const StateAttribute * | getAttribute (size_t index) const |
Returns a pointer to the constant StateAttribute at position index. More... | |
NVSG_API const StateAttribute * | getAttributeByObjectCode (unsigned int oc) const |
Get a constant pointer to the StateAttribute with the object code oc. More... | |
NVSG_API bool | removeAttribute (const StateAttribute *attrib) |
Remove a specified StateAttribute. More... | |
NVSG_API bool | removeAttribute (size_t index) |
Remove the StateAttribute at position index. More... | |
NVSG_API bool | removeAttributeByObjectCode (unsigned int oc) |
Remove the StateAttribute with the object code oc. More... | |
NVSG_API size_t | getNumberOfOwners (void) const |
Get the number of owners of this StateSet. More... | |
NVSG_API const GeoNode * | getOwner (size_t index) const |
Get a constant pointer to the owner node at position index. More... | |
virtual NVSG_API bool | containsCgFx (void) const |
Ask if this StateSet contains any CgFx attributes. More... | |
virtual NVSG_API void | invalidateCgFxContainment (void) |
Invalidate the CgFx containment cache. More... | |
virtual NVSG_API bool | containsTransparentMaterial (void) const |
Ask if this StateSet contains any transparent Material attributes. More... | |
virtual NVSG_API void | invalidateTransparentMaterialContainment (void) |
Invalidate the transparent Material containment cache. More... | |
virtual NVSG_API bool | containsTransparentTexture (void) const |
Ask if this StateSet contains any transparent Texture. More... | |
virtual NVSG_API void | invalidateTransparentTextureContainment (void) |
Invalidate the transparent Texture containment cache. More... | |
Static Public Methods | |
NVSG_API const StateSet * | create (void) |
Create a StateSet. More... | |
NVSG_API const StateSet * | createFromBase (const Object &rhs) |
Create a StateSet by copying from an Object. More... | |
Protected Methods | |
NVSG_API | StateSet (void) |
Constructor. More... | |
NVSG_API | StateSet (const Object &rhs) |
Partial Constructor. More... | |
NVSG_API | StateSet (const StateSet &rhs) |
Copy constructor. More... | |
virtual NVSG_API | ~StateSet (void) |
Protected destructor to prevent explicit creation on stack. More... | |
NVSG_API void | invalidateCaches (const StateAttribute *attrib, bool insert) |
Invalidate all caches of this StateSet, maybe depending on the added or removed StateAttribute. More... | |
Friends | |
class | GeoNode |
Related Functions | |
(Note that these are not member functions.) | |
NVSG_API bool | operator== (const StateSet &lhs, const StateSet &rhs) |
A StateSet is a complete description of the visual appearance of some geometry. This is achieved by a list of StateAttributes, each describing parts of the appearance (e.g. FaceAttribute, Material, TextureAttribute).
|
Constructor.
|
|
Partial Constructor.
|
|
Copy constructor.
|
|
Protected destructor to prevent explicit creation on stack.
|
|
Create a StateSet.
|
|
Create a StateSet by copying from an Object.
|
|
Create a StateSet by cloning this.
|
|
Determine whether the data of this object is shared.
Reimplemented from nvsg::Object. |
|
Get the DataID of the data of this object.
Reimplemented from nvsg::Object. |
|
Add a StateAttribute to the attribute list. There is always only one attribute of the same type in the list. So for example if you add a second StateAttribute of the type CgFX the other CgFX attribute will be replaced.
|
|
Get the number of StateAttributes in this StateSet.
|
|
Returns a pointer to the constant StateAttribute at position index.
|
|
Get a constant pointer to the StateAttribute with the object code oc.
|
|
Remove a specified StateAttribute.
|
|
Remove the StateAttribute at position index.
|
|
Remove the StateAttribute with the object code oc.
|
|
Get the number of owners of this StateSet.
|
|
Get a constant pointer to the owner node at position index.
|
|
Ask if this StateSet contains any CgFx attributes.
|
|
Invalidate the CgFx containment cache. The cache is invalidated and all owners of this StateSet are invalidated on CgFx containment. |
|
Ask if this StateSet contains any transparent Material attributes.
|
|
Invalidate the transparent Material containment cache. The cache is invalidated and all owners of this StateSet are invalidated on CgFx containment. |
|
Ask if this StateSet contains any transparent Texture.
|
|
Invalidate the transparent Texture containment cache. The cache is invalidated and all owners of this StateSet are invalidated on CgFx containment. |
|
Invalidate all caches of this StateSet, maybe depending on the added or removed StateAttribute. If the CgFx containment changes by adding/removing attrib, the CgFx cache is invalidated. |
|
Compare two StateSets. Two StateSets are considered to be equal, if they have the same number of StateAttributes and each of these StateAttributes are pairwise equal.
|