# Ogre::MeshPtr Class Reference

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

`#include <OgreMesh.h>`

Inheritance diagram for Ogre::MeshPtr:

List of all members.

## Public Member Functions

| MeshPtr ()
| MeshPtr (Mesh *rep)
| MeshPtr (const MeshPtr &r)
| MeshPtr (const ResourcePtr &r)
MeshPtr & | operator= (const ResourcePtr &r)
| Operator used to convert a ResourcePtr to a MeshPtr.
Mesh & | operator * () const
Mesh * | operator-> () const
Mesh * | get () const
void | bind (Mesh *rep)
| Binds rep to the SharedPtr.
bool | unique () const
unsigned int | useCount () const
unsigned int * | useCountPointer () const
Mesh * | 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)

## Protected Attributes

Mesh * | 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 623 of file OgreMesh.h.

## Constructor & Destructor Documentation

Ogre::MeshPtr::MeshPtr | ( |  | ) |

| Definition at line 626 of file OgreMesh.h.

Ogre::MeshPtr::MeshPtr | ( | Mesh * | rep | ) | `[explicit]`

| Definition at line 627 of file OgreMesh.h.

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

| Definition at line 628 of file OgreMesh.h.

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

## Member Function Documentation

void Ogre::SharedPtr< Mesh >::bind | ( | Mesh * | rep | ) | `[inherited]`

Binds rep to the SharedPtr.

Remarks:
  Assumes that the SharedPtr is uninitialised!

Definition at line 100 of file OgreSharedPtr.h.

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

| Override destroy since we need to delete Mesh after fully defined. Reimplemented from Ogre::SharedPtr< Mesh >.

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

| Definition at line 94 of file OgreSharedPtr.h.

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

| Definition at line 112 of file OgreSharedPtr.h. Referenced by Ogre::PatchMeshPtr::operator=().

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

| Definition at line 114 of file OgreSharedPtr.h.

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

| Definition at line 92 of file OgreSharedPtr.h.

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

| Definition at line 93 of file OgreSharedPtr.h.

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

| Operator used to convert a ResourcePtr to a MeshPtr.

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

| Definition at line 129 of file OgreSharedPtr.h.

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

| Definition at line 116 of file OgreSharedPtr.h.

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

| Definition at line 108 of file OgreSharedPtr.h.

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

| Definition at line 109 of file OgreSharedPtr.h.

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

| Definition at line 110 of file OgreSharedPtr.h. Referenced by Ogre::PatchMeshPtr::operator=().

## Member Data Documentation

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

| Definition at line 46 of file OgreSharedPtr.h.

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

| Definition at line 47 of file OgreSharedPtr.h.

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

- OgreMesh.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Feb 12 13:01:09 2006