Ogre::MeshPtr Class Reference

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

#include <OgreMesh.h>

Inheritance diagram for Ogre::MeshPtr:
[legend]

List of all members.

Public Member Functions

 MeshPtr ()
 MeshPtr (Mesh *rep)
 MeshPtr (const MeshPtr &r)
 MeshPtr (const ResourcePtr &r)
MeshPtroperator= (const ResourcePtr &r)
 Operator used to convert a ResourcePtr to a MeshPtr.
T & operator * () const
T * operator-> () const
T * get () const
void bind (T *rep)
 Binds rep to the SharedPtr.
bool unique () const
unsigned int useCount () const
unsigned int * useCountPointer () const
T * getPointer () const
bool isNull (void) const
void setNull (void)

Protected Member Functions

void destroy (void)
 Override destroy since we need to delete Mesh after fully defined.
void release (void)
virtual void swap (SharedPtr< T > &other)

Protected Attributes

T * pRep
unsigned int * pUseCount


Detailed Description

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

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 844 of file OgreMesh.h.


Constructor & Destructor Documentation

Ogre::MeshPtr::MeshPtr (  ) 

Definition at line 847 of file OgreMesh.h.

Ogre::MeshPtr::MeshPtr ( Mesh rep  )  [explicit]

Definition at line 848 of file OgreMesh.h.

Ogre::MeshPtr::MeshPtr ( const MeshPtr r  ) 

Definition at line 849 of file OgreMesh.h.

Ogre::MeshPtr::MeshPtr ( const ResourcePtr r  ) 


Member Function Documentation

MeshPtr& Ogre::MeshPtr::operator= ( const ResourcePtr r  ) 

Operator used to convert a ResourcePtr to a MeshPtr.

void Ogre::MeshPtr::destroy ( void   )  [protected, virtual]

Override destroy since we need to delete Mesh after fully defined.

Reimplemented from Ogre::SharedPtr< T >.

template<class T>
T& Ogre::SharedPtr< T >::operator * (  )  const [inherited]

Definition at line 129 of file OgreSharedPtr.h.

template<class T>
T* Ogre::SharedPtr< T >::operator-> (  )  const [inherited]

Definition at line 130 of file OgreSharedPtr.h.

template<class T>
T* Ogre::SharedPtr< T >::get (  )  const [inherited]

Definition at line 131 of file OgreSharedPtr.h.

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

template<class T>
void Ogre::SharedPtr< T >::bind ( T *  rep  )  [inherited]

Binds rep to the SharedPtr.

Remarks:
Assumes that the SharedPtr is uninitialised!

Definition at line 137 of file OgreSharedPtr.h.

template<class T>
bool Ogre::SharedPtr< T >::unique (  )  const [inherited]

Definition at line 145 of file OgreSharedPtr.h.

template<class T>
unsigned int Ogre::SharedPtr< T >::useCount (  )  const [inherited]

Definition at line 146 of file OgreSharedPtr.h.

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

Definition at line 147 of file OgreSharedPtr.h.

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

template<class T>
T* Ogre::SharedPtr< T >::getPointer (  )  const [inherited]

Definition at line 149 of file OgreSharedPtr.h.

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

template<class T>
bool Ogre::SharedPtr< T >::isNull ( void   )  const [inherited]

Definition at line 151 of file OgreSharedPtr.h.

Referenced by Ogre::TexturePtr::operator=(), Ogre::SkeletonPtr::operator=(), Ogre::PatchMeshPtr::operator=(), Ogre::MaterialPtr::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 153 of file OgreSharedPtr.h.

template<class T>
void Ogre::SharedPtr< T >::release ( void   )  [protected, inherited]

Definition at line 165 of file OgreSharedPtr.h.

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

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

Definition at line 202 of file OgreSharedPtr.h.

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


Member Data Documentation

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

Definition at line 46 of file OgreSharedPtr.h.

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

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

Definition at line 47 of file OgreSharedPtr.h.

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


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Mon Jun 16 12:50:38 2008