OGRE: Ogre::MaterialPtr Class Reference - OGRE Documentation

# Ogre::MaterialPtr Class Reference

Specialisation of SharedPtr to allow SharedPtr to be assigned to MaterialPtr. More...

`#include <OgreMaterial.h>`

Inheritance diagram for Ogre::MaterialPtr:

[legend]

List of all members.

## Public Member Functions
| MaterialPtr ()
| MaterialPtr (Material *rep)
| MaterialPtr (const MaterialPtr &r)
| MaterialPtr (const ResourcePtr &r)
MaterialPtr & | operator= (const ResourcePtr &r)
| Operator used to convert a ResourcePtr to a MaterialPtr.
T & | operator* () const
T * | operator-> () const
T * | get () const
void | bind (T *rep, SharedPtrFreeMethod freeMethod=SPFM_DELETE)
| Binds rep to the SharedPtr.
bool | unique () const
unsigned int | useCount () const
unsigned int * | useCountPointer () const
T * | getPointer () const
SharedPtrFreeMethod | freeMethod () const
bool | isNull (void) const
void | setNull (void)
## Protected Member Functions
void | release (void)
virtual void | destroy (void)
virtual void | swap (SharedPtr< T > &other)
## Protected Attributes
T * | pRep
unsigned int * | pUseCount
SharedPtrFreeMethod | useFreeMethod

## Detailed Description

Specialisation of SharedPtr to allow SharedPtr to be assigned to MaterialPtr.

Note:
  Has to be a subclass since we need operator=. We could templatise this instead of repeating per Resource subclass, except to do so requires a form VC6 does not support i.e. ResourceSubclassPtr<T> : public SharedPtr<T>

Definition at line 661 of file OgreMaterial.h.

## Constructor & Destructor Documentation

Ogre::MaterialPtr::MaterialPtr | ( |  | ) |

Definition at line 664 of file OgreMaterial.h.

Ogre::MaterialPtr::MaterialPtr | ( | Material * | rep | ) | `[explicit]`

Definition at line 665 of file OgreMaterial.h.

Ogre::MaterialPtr::MaterialPtr | ( | const MaterialPtr & | r | ) |

Definition at line 666 of file OgreMaterial.h.

Ogre::MaterialPtr::MaterialPtr | ( | const ResourcePtr & | r | ) |

Definition at line 667 of file OgreMaterial.h.

References Ogre::SharedPtr< T >::getPointer(), OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, OGRE_MUTEX_CONDITIONAL, and Ogre::SharedPtr< T >::useCountPointer().

## Member Function Documentation

MaterialPtr& Ogre::MaterialPtr::operator= | ( | const ResourcePtr & | r | ) |

Operator used to convert a ResourcePtr to a MaterialPtr.

Definition at line 684 of file OgreMaterial.h.

References Ogre::SharedPtr< T >::getPointer(), Ogre::SharedPtr< T >::isNull(), OGRE_COPY_AUTO_SHARED_MUTEX, OGRE_LOCK_MUTEX, OGRE_MUTEX_CONDITIONAL, and Ogre::SharedPtr< T >::useCountPointer().

template<class T>

T& Ogre::SharedPtr< T >::operator* | ( |  | ) | const`[inherited]`

Definition at line 151 of file OgreSharedPtr.h.

template<class T>

T* Ogre::SharedPtr< T >::operator-> | ( |  | ) | const`[inherited]`

Definition at line 152 of file OgreSharedPtr.h.

template<class T>

T* Ogre::SharedPtr< T >::get | ( | void |  | ) | const`[inherited]`

Definition at line 153 of file OgreSharedPtr.h.

Referenced by Ogre::operator!=(), and Ogre::operator==().

template<class T>

void Ogre::SharedPtr< T >::bind | ( | T * | rep,
|  | SharedPtrFreeMethod | freeMethod = `SPFM_DELETE` |
| ) |  |  | `[inherited]`

Binds rep to the SharedPtr.

Remarks:
  Assumes that the SharedPtr is uninitialised!

Definition at line 159 of file OgreSharedPtr.h.

template<class T>

bool Ogre::SharedPtr< T >::unique | ( |  | ) | const`[inherited]`

Definition at line 168 of file OgreSharedPtr.h.

template<class T>

unsigned int Ogre::SharedPtr< T >::useCount | ( |  | ) | const`[inherited]`

Definition at line 169 of file OgreSharedPtr.h.

template<class T>

unsigned int* Ogre::SharedPtr< T >::useCountPointer | ( |  | ) | const`[inherited]`

Definition at line 170 of file OgreSharedPtr.h.

Referenced by Ogre::CompositorPtr::CompositorPtr(), Ogre::FontPtr::FontPtr(), Ogre::GpuProgramPtr::GpuProgramPtr(), Ogre::HighLevelGpuProgramPtr::HighLevelGpuProgramPtr(), MaterialPtr(), Ogre::TexturePtr::operator=(), Ogre::SkeletonPtr::operator=(), Ogre::PatchMeshPtr::operator=(), operator=(), Ogre::HighLevelGpuProgramPtr::operator=(), Ogre::GpuProgramPtr::operator=(), Ogre::FontPtr::operator=(), Ogre::CompositorPtr::operator=(), Ogre::PatchMeshPtr::PatchMeshPtr(), Ogre::SharedPtr< Ogre::AnimableValue >::SharedPtr(), Ogre::SkeletonPtr::SkeletonPtr(), and Ogre::TexturePtr::TexturePtr().

template<class T>

T* Ogre::SharedPtr< T >::getPointer | ( |  | ) | const`[inherited]`

Definition at line 172 of file OgreSharedPtr.h.

Referenced by Ogre::CompositorPtr::CompositorPtr(), Ogre::FontPtr::FontPtr(), Ogre::GpuProgramPtr::GpuProgramPtr(), Ogre::HighLevelGpuProgramPtr::HighLevelGpuProgramPtr(), MaterialPtr(), Ogre::TexturePtr::operator=(), Ogre::SkeletonPtr::operator=(), Ogre::PatchMeshPtr::operator=(), operator=(), Ogre::HighLevelGpuProgramPtr::operator=(), Ogre::GpuProgramPtr::operator=(), Ogre::FontPtr::operator=(), Ogre::CompositorPtr::operator=(), Ogre::PatchMeshPtr::PatchMeshPtr(), Ogre::SharedPtr< Ogre::AnimableValue >::SharedPtr(), Ogre::SkeletonPtr::SkeletonPtr(), and Ogre::TexturePtr::TexturePtr().

template<class T>

SharedPtrFreeMethod Ogre::SharedPtr< T >::freeMethod | ( |  | ) | const`[inherited]`

Definition at line 173 of file OgreSharedPtr.h.

Referenced by Ogre::SharedPtr< Ogre::AnimableValue >::bind(), and Ogre::SharedPtr< Ogre::AnimableValue >::SharedPtr().

template<class T>

bool Ogre::SharedPtr< T >::isNull | ( | void |  | ) | const`[inherited]`

Definition at line 175 of file OgreSharedPtr.h.

Referenced by Ogre::TexturePtr::operator=(), Ogre::SkeletonPtr::operator=(), Ogre::PatchMeshPtr::operator=(), operator=(), Ogre::HighLevelGpuProgramPtr::operator=(), Ogre::GpuProgramPtr::operator=(), Ogre::FontPtr::operator=(), and Ogre::CompositorPtr::operator=().

template<class T>

void Ogre::SharedPtr< T >::setNull | ( | void |  | ) | `[inherited]`

Definition at line 177 of file OgreSharedPtr.h.

template<class T>

void Ogre::SharedPtr< T >::release | ( | void |  | ) | `[protected, inherited]`

Definition at line 189 of file OgreSharedPtr.h.

Referenced by Ogre::SharedPtr< Ogre::AnimableValue >::setNull(), and Ogre::SharedPtr< Ogre::AnimableValue >::~SharedPtr().

template<class T>

virtual void Ogre::SharedPtr< T >::destroy | ( | void |  | ) | `[protected, virtual, inherited]`

Reimplemented in Ogre::MeshPtr.

Definition at line 215 of file OgreSharedPtr.h.

Referenced by Ogre::SharedPtr< Ogre::AnimableValue >::release().

template<class T>

virtual void Ogre::SharedPtr< T >::swap | ( | SharedPtr< T > & | other | ) | `[protected, virtual, inherited]`

Definition at line 239 of file OgreSharedPtr.h.

Referenced by Ogre::SharedPtr< Ogre::AnimableValue >::operator=().

## Member Data Documentation

template<class T>

T* Ogre::SharedPtr< T >::pRep`[protected, inherited]`

Definition at line 58 of file OgreSharedPtr.h.

Referenced by Ogre::SharedPtr< Ogre::AnimableValue >::bind(), Ogre::SharedPtr< Ogre::AnimableValue >::destroy(), Ogre::SharedPtr< Ogre::AnimableValue >::get(), Ogre::SharedPtr< Ogre::AnimableValue >::getPointer(), Ogre::SharedPtr< Ogre::AnimableValue >::isNull(), Ogre::SharedPtr< Ogre::AnimableValue >::operator*(), Ogre::SharedPtr< Ogre::AnimableValue >::operator->(), Ogre::SharedPtr< Ogre::AnimableValue >::operator=(), Ogre::SharedPtr< Ogre::AnimableValue >::setNull(), Ogre::SharedPtr< Ogre::AnimableValue >::SharedPtr(), and Ogre::SharedPtr< Ogre::AnimableValue >::swap().

template<class T>

unsigned int* Ogre::SharedPtr< T >::pUseCount`[protected, inherited]`

Definition at line 59 of file OgreSharedPtr.h.

Referenced by Ogre::SharedPtr< Ogre::AnimableValue >::bind(), Ogre::SharedPtr< Ogre::AnimableValue >::destroy(), Ogre::SharedPtr< Ogre::AnimableValue >::release(), Ogre::SharedPtr< Ogre::AnimableValue >::setNull(), Ogre::SharedPtr< Ogre::AnimableValue >::SharedPtr(), Ogre::SharedPtr< Ogre::AnimableValue >::swap(), Ogre::SharedPtr< Ogre::AnimableValue >::unique(), Ogre::SharedPtr< Ogre::AnimableValue >::useCount(), and Ogre::SharedPtr< Ogre::AnimableValue >::useCountPointer().

template<class T>

SharedPtrFreeMethod Ogre::SharedPtr< T >::useFreeMethod`[protected, inherited]`

Definition at line 60 of file OgreSharedPtr.h.

Referenced by Ogre::SharedPtr< Ogre::AnimableValue >::bind(), Ogre::SharedPtr< Ogre::AnimableValue >::destroy(), Ogre::SharedPtr< Ogre::AnimableValue >::freeMethod(), Ogre::SharedPtr< Ogre::AnimableValue >::SharedPtr(), and Ogre::SharedPtr< Ogre::AnimableValue >::swap().

The documentation for this class was generated from the following file:

- OgreMaterial.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Jul 26 11:33:56 2009