renamed IUnknown to IReferenceCounted

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@916 dfc29bdd-3216-0410-991c-e03cc46cb475
master
irrlicht 2007-09-07 06:11:47 +00:00
parent a10c8644b5
commit b85584c8e1
86 changed files with 240 additions and 241 deletions

View File

@ -1,5 +1,7 @@
Changes in version 1.4 (... 2007)
- the base class for nearly all Irrlicht classes has been renamed from IUnknown to IReferenceCounted
- fixed the keyboard autorepeat difference betwenn Linux and Windows. Thanks to denton we now have only KeyPressed events on both systems in case of autorepeat.
- Added several new particle emitters and affectors from IrrSpintz. Also some new getter and setter methods were added.

View File

@ -145,7 +145,7 @@ namespace scene
#undef PACK_STRUCT
//! Holding Frame Data for a Mesh
struct SMD3MeshBuffer : public IUnknown
struct SMD3MeshBuffer : public IReferenceCounted
{
SMD3MeshHeader MeshHeader;
@ -197,7 +197,7 @@ namespace scene
};
// holds a assoziative list of named quaternions
struct SMD3QuaterionTagList : public virtual IUnknown
struct SMD3QuaterionTagList : public virtual IReferenceCounted
{
SMD3QuaterionTag* get ( const core::stringc& name )
{
@ -224,7 +224,7 @@ namespace scene
//! Holding Frames Buffers and Tag Infos
struct SMD3Mesh: public IUnknown
struct SMD3Mesh: public IReferenceCounted
{
~SMD3Mesh()
{

View File

@ -22,7 +22,7 @@ namespace scene
IAnimatedMeshSceneNode::setAnimationEndCallback to be able to
be notified if an animation playback has ended.
**/
class IAnimationEndCallBack : public virtual IUnknown
class IAnimationEndCallBack : public virtual IReferenceCounted
{
public:
@ -81,7 +81,7 @@ namespace scene
//! \param infinity: Value used by the shadow volume algorithm to scale the
//! shadow volume.
//! \return Returns pointer to the created shadow scene node.
//! This pointer should not be dropped. See IUnknown::drop() for more information.
//! This pointer should not be dropped. See IReferenceCounted::drop() for more information.
virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(s32 id=-1,
bool zfailmethod=true, f32 infinity=10000.0f) = 0;

View File

@ -5,7 +5,7 @@
#ifndef __I_ATTRIBUTE_EXCHANGING_OBJECT_H_INCLUDED__
#define __I_ATTRIBUTE_EXCHANGING_OBJECT_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
@ -48,7 +48,7 @@ struct SAttributeReadWriteOptions
//! An object which is able to serialize and deserialize its attributes into an attributes object
class IAttributeExchangingObject : public virtual IUnknown
class IAttributeExchangingObject : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_ATTRIBUTES_H_INCLUDED__
#define __I_ATTRIBUTES_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "SColor.h"
#include "vector3d.h"
#include "vector2d.h"
@ -117,7 +117,7 @@ enum E_ATTRIBUTE_TYPE
};
//! Provides a generic interface for attributes and their values and the possiblity to serialize them
class IAttributes : public virtual IUnknown
class IAttributes : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_CURSOR_CONTROL_H_INCLUDED__
#define __I_CURSOR_CONTROL_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "position2d.h"
#include "rect.h"
@ -15,7 +15,7 @@ namespace gui
{
//! Interface to manipulate the mouse cursor.
class ICursorControl : public virtual IUnknown
class ICursorControl : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_FILE_LIST_H_INCLUDED__
#define __I_FILE_LIST_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
@ -13,7 +13,7 @@ namespace io
{
//! The Filelist lists all files in a directory.
class IFileList : public virtual IUnknown
class IFileList : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_FILE_SYSTEM_H_INCLUDED__
#define __I_FILE_SYSTEM_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "IXMLReader.h"
#include "irrString.h"
@ -31,7 +31,7 @@ class IAttributes;
could be in a .zip-Archive or as file on disk, using the IFileSystem
makes no difference to this.
*/
class IFileSystem : public virtual IUnknown
class IFileSystem : public virtual IReferenceCounted
{
public:
@ -42,7 +42,7 @@ public:
/** \param filename: Name of file to open.
\return Returns a pointer to the created file interface.
The returned pointer should be dropped when no longer needed.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IReadFile* createAndOpenFile(const c8* filename) = 0;
//! Creates an IReadFile interface for accessing memory like a file.
@ -54,7 +54,7 @@ public:
along with the IReadFile when it is dropped.
\return Returns a pointer to the created file interface.
The returned pointer should be dropped when no longer needed.
See IUnknown::drop() for more information.
See IReferenceCounted::drop() for more information.
*/
virtual IReadFile* createMemoryReadFile(void* memory, s32 len, const c8* fileName, bool deleteMemoryWhenDropped=false) = 0;
@ -65,7 +65,7 @@ public:
\return Returns a pointer to the created file interface. 0 is returned, if the
file could not created or opened for writing.
The returned pointer should be dropped when no longer needed.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IWriteFile* createAndWriteFile(const c8* filename, bool append=false) = 0;
//! Adds an zip archive to the file system.
@ -122,7 +122,7 @@ public:
//! Creates a list of files and directories in the current working directory and returns it.
/** \return a Pointer to the created IFileList is returned. After the list has been used
it has to be deleted using its IFileList::drop() method.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IFileList* createFileList() = 0;
//! Determinates if a file exists and would be able to be opened.
@ -136,7 +136,7 @@ public:
\return 0, if file could not be opened, otherwise a pointer to the created
IXMLReader is returned. After use, the reader
has to be deleted using its IXMLReader::drop() method.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IXMLReader* createXMLReader(const c8* filename) = 0;
//! Creates a XML Reader from a file which returns all parsed strings as wide characters (wchar_t*).
@ -145,7 +145,7 @@ public:
\return 0, if file could not be opened, otherwise a pointer to the created
IXMLReader is returned. After use, the reader
has to be deleted using its IXMLReader::drop() method.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IXMLReader* createXMLReader(IReadFile* file) = 0;
//! Creates a XML Reader from a file which returns all parsed strings as ASCII/UTF-8 characters (char*).
@ -154,7 +154,7 @@ public:
\return 0, if file could not be opened, otherwise a pointer to the created
IXMLReader is returned. After use, the reader
has to be deleted using its IXMLReaderUTF8::drop() method.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IXMLReaderUTF8* createXMLReaderUTF8(const c8* filename) = 0;
//! Creates a XML Reader from a file which returns all parsed strings as ASCII/UTF-8 characters (char*).
@ -163,21 +163,21 @@ public:
\return 0, if file could not be opened, otherwise a pointer to the created
IXMLReader is returned. After use, the reader
has to be deleted using its IXMLReaderUTF8::drop() method.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IXMLReaderUTF8* createXMLReaderUTF8(IReadFile* file) = 0;
//! Creates a XML Writer from a file.
/** \return 0, if file could not be opened, otherwise a pointer to the created
IXMLWriter is returned. After use, the reader
has to be deleted using its IXMLWriter::drop() method.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IXMLWriter* createXMLWriter(const c8* filename) = 0;
//! Creates a XML Writer from a file.
/** \return 0, if file could not be opened, otherwise a pointer to the created
IXMLWriter is returned. After use, the reader
has to be deleted using its IXMLWriter::drop() method.
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IXMLWriter* createXMLWriter(IWriteFile* file) = 0;
//! Creates a new empty collection of attributes, usable for serialization and more.
@ -185,7 +185,7 @@ public:
Can be null to prevent automatic texture loading by attributes.
\return Returns a pointer to the created object.
If you no longer need the object, you should call IAttributes::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IAttributes* createEmptyAttributes(video::IVideoDriver* driver=0) = 0;
};

View File

@ -5,7 +5,7 @@
#ifndef __I_GPU_PROGRAMMING_SERVICES_H_INCLUDED__
#define __I_GPU_PROGRAMMING_SERVICES_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "SMaterial.h"
namespace irr

View File

@ -5,7 +5,7 @@
#ifndef __I_GUI_ELEMENT_FACTORY_H_INCLUDED__
#define __I_GUI_ELEMENT_FACTORY_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "EGUIElementTypes.h"
namespace irr
@ -24,7 +24,7 @@ namespace gui
increase the reference counter of the environment. This is not necessary because the
it will grab() the factory anyway, and otherwise cyclic references will be created.
*/
class IGUIElementFactory : public virtual IUnknown
class IGUIElementFactory : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_GUI_ENVIRONMENT_H_INCLUDED__
#define __I_GUI_ENVIRONMENT_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "IGUISkin.h"
#include "rect.h"
#include "EMessageBoxFlags.h"
@ -57,7 +57,7 @@ class IGUIWindow;
class IGUIElementFactory;
//! GUI Environment. Used as factory and manager of all other GUI elements.
class IGUIEnvironment : public virtual IUnknown
class IGUIEnvironment : public virtual IReferenceCounted
{
public:
@ -127,14 +127,14 @@ public:
/** Use setSkin() to set the created skin.
\return Returns a pointer to the created skin.
If you no longer need the image, you should call IGUISkin::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IGUISkin* createSkin(EGUI_SKIN_TYPE type) = 0;
//! Returns pointer to the font with the specified file name.
/** Loads the font if it was not loaded before. Returns 0 if the font could not be loaded.
\return
returns a pointer to the font.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIFont* getFont(const c8* filename) = 0;
//! Returns the default built-in font.
@ -144,7 +144,7 @@ public:
/** Loads the bank if it was not loaded before. Returns 0 if it could not be loaded.
\return
returns a pointer to the sprite bank.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUISpriteBank* getSpriteBank(const c8* filename) = 0;
//! adds an empty sprite bank to the manager
@ -154,13 +154,13 @@ public:
/** This is the first gui element, parent of all other
gui elements. You'll never need to use this method, unless you are not creating
your own gui elements, trying to add them to the gui elements without a parent.
The returned pointer should not be dropped. See IUnknown::drop() for more information. */
The returned pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIElement* getRootGUIElement() = 0;
//! Adds an button element.
/** \return
Returns a pointer to the created button. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIButton* addButton(const core::rect<s32>& rectangle,
IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0, const wchar_t* tooltiptext = 0) = 0;
@ -170,7 +170,7 @@ public:
until this messagebox is removed.
\return
Returns a pointer to the created window. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIWindow* addWindow(const core::rect<s32>& rectangle, bool modal = false,
const wchar_t* text=0, IGUIElement* parent=0, s32 id=-1) = 0;
@ -178,7 +178,7 @@ public:
//! able to recieve input until its last child is removed, it then deletes its self.
/** \return
Returns a pointer to the created window. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIElement* addModalScreen(IGUIElement* parent) = 0;
//! Adds a message box.
@ -194,14 +194,14 @@ public:
\param id: Id with which the gui element can be identified.
\return
Returns a pointer to the created message box. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIWindow* addMessageBox(const wchar_t* caption, const wchar_t* text=0,
bool modal = true, s32 flags = EMBF_OK, IGUIElement* parent=0, s32 id=-1) = 0;
//! Adds a scrollbar.
/** \return
Returns a pointer to the created scrollbar. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIScrollBar* addScrollBar(bool horizontal, const core::rect<s32>& rectangle,
IGUIElement* parent=0, s32 id=-1) = 0;
@ -213,7 +213,7 @@ public:
to draw itself.
\return
Returns a pointer to the created image element. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIImage* addImage(video::ITexture* image, core::position2d<s32> pos,
bool useAlphaChannel=true, IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0) = 0;
@ -221,28 +221,28 @@ public:
/** Use IGUIImage::setImage later to set the image to be displayed.
\return
Returns a pointer to the created image element. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIImage* addImage(const core::rect<s32>& rectangle,
IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0) = 0;
//! Adds a checkbox element.
/** \return
Returns a pointer to the created check box. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUICheckBox* addCheckBox(bool checked, const core::rect<s32>& rectangle,
IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0) = 0;
//! Adds a list box element.
/** \return
Returns a pointer to the created list box. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIListBox* addListBox(const core::rect<s32>& rectangle,
IGUIElement* parent=0, s32 id=-1, bool drawBackground=false) = 0;
//! Adds an mesh viewer. Not 100% implemented yet.
/** \return
Returns a pointer to the created mesh viewer. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIMeshViewer* addMeshViewer(const core::rect<s32>& rectangle, IGUIElement* parent=0, s32 id=-1, const wchar_t* text=0) = 0;
//! Adds a file open dialog.
@ -251,7 +251,7 @@ public:
until this messagebox is removed.
\return
Returns a pointer to the created file open dialog. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIFileOpenDialog* addFileOpenDialog(const wchar_t* title = 0,
bool modal=true, IGUIElement* parent=0, s32 id=-1) = 0;
@ -261,7 +261,7 @@ public:
until this messagebox is removed.
\return
Returns a pointer to the created file open dialog. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIColorSelectDialog* addColorSelectDialog(const wchar_t* title = 0,
bool modal=true, IGUIElement* parent=0, s32 id=-1) = 0;
@ -276,7 +276,7 @@ public:
\param fillBackground specifies if the background will be filled. Default: false.
\return
Returns a pointer to the created static text. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIStaticText* addStaticText(const wchar_t* text, const core::rect<s32>& rectangle,
bool border=false, bool wordWrap=true, IGUIElement* parent=0, s32 id=-1,
bool fillBackground = false) = 0;
@ -293,7 +293,7 @@ public:
\param id is a s32 to identify the edit box.
\return
Returns a pointer to the created edit box. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIEditBox* addEditBox(const wchar_t* text, const core::rect<s32>& rectangle,
bool border=true, IGUIElement* parent=0, s32 id=-1) = 0;
@ -305,7 +305,7 @@ public:
\param id is a s32 to identify the spin box.
\return
Returns a pointer to the created spin box. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUISpinBox* addSpinBox(const wchar_t* text, const core::rect<s32>& rectangle,
IGUIElement* parent=0, s32 id=-1) = 0;
@ -316,7 +316,7 @@ public:
\param id: A s32 to identify the text.
\return
Returns a pointer to the created in-out-fader. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUIInOutFader* addInOutFader(const core::rect<s32>* rectangle=0, IGUIElement* parent=0, s32 id=-1) = 0;
//! Adds a tab control to the environment.
@ -328,7 +328,7 @@ public:
\param id is a s32 to identify the tab control.
\return
Returns a pointer to the created tab control element. Returns 0 if an error occured.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IGUITabControl* addTabControl(const core::rect<s32>& rectangle,
IGUIElement* parent=0, bool fillbackground=false,
bool border=true, s32 id=-1) = 0;

View File

@ -5,7 +5,7 @@
#ifndef __I_GUI_FONT_H_INCLUDED__
#define __I_GUI_FONT_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "SColor.h"
#include "rect.h"
@ -35,7 +35,7 @@ enum EGUI_FONT_TYPE
};
//! Font interface.
class IGUIFont : public virtual IUnknown
class IGUIFont : public virtual IReferenceCounted
{
public:

View File

@ -2,7 +2,7 @@
#ifndef __I_GUI_SPRITE_BANK_H_INCLUDED__
#define __I_GUI_SPRITE_BANK_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "irrArray.h"
#include "SColor.h"
#include "rect.h"
@ -33,7 +33,7 @@ struct SGUISprite
//! Sprite bank interface.
class IGUISpriteBank : public virtual IUnknown
class IGUISpriteBank : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_IMAGE_H_INCLUDED__
#define __I_IMAGE_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "position2d.h"
#include "SColor.h"
@ -39,7 +39,7 @@ enum ECOLOR_FORMAT
/** Image loaders create these images from files. IVideoDrivers convert
these images into their (hardware) textures.
*/
class IImage : public virtual IUnknown
class IImage : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_SURFACE_LOADER_H_INCLUDED__
#define __I_SURFACE_LOADER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "IImage.h"
namespace irr
@ -22,7 +22,7 @@ namespace video
currently unsupported file formats (e.g .gif), then implement
this and add your new Surface loader with
IVideoDriver::addExternalImageLoader() to the engine. */
class IImageLoader : public virtual IUnknown
class IImageLoader : public virtual IReferenceCounted
{
public:

View File

@ -1,7 +1,7 @@
#ifndef _I_IMAGE_WRITER_H_INCLUDED__
#define _I_IMAGE_WRITER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
@ -16,7 +16,7 @@ namespace video
//! Interface for writing software image data.
class IImageWriter : public IUnknown
class IImageWriter : public IReferenceCounted
{
public:
//! constructor

View File

@ -5,7 +5,7 @@
#ifndef __I_LOGGER_H_INCLUDED__
#define __I_LOGGER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
@ -28,7 +28,7 @@ enum ELOG_LEVEL
//! Interface for logging messages, warnings and errors
class ILogger : public virtual IUnknown
class ILogger : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_MATERIAL_RENDERER_H_INCLUDED__
#define __I_MATERIAL_RENDERER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "SMaterial.h"
#include "S3DVertex.h"
@ -21,7 +21,7 @@ class IMaterialRendererServices;
/** Refer to IVideoDriver::addMaterialRenderer() for more informations on how to extend the engine
with new materials.
*/
class IMaterialRenderer : public virtual IUnknown
class IMaterialRenderer : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
#define __I_MATERIAL_RENDERER_SERVICES_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "SMaterial.h"
#include "S3DVertex.h"

View File

@ -5,7 +5,7 @@
#ifndef __I_MESH_H_INCLUDED__
#define __I_MESH_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "SMaterial.h"
namespace irr
@ -18,7 +18,7 @@ namespace scene
/** An IMesh is nothing more than a collection of some mesh buffers (IMeshBuffer).
SMesh is a simple implementation of an IMesh.
*/
class IMesh : public virtual IUnknown
class IMesh : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_MESH_BUFFER_H_INCLUDED__
#define __I_MESH_BUFFER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "SMaterial.h"
#include "aabbox3d.h"
#include "S3DVertex.h"
@ -55,7 +55,7 @@ enum E_PRIMITIVE_TYPE
//! Struct for holding a mesh with a single material
/** SMeshBuffer is a simple implementation of a MeshBuffer. */
class IMeshBuffer : public virtual IUnknown
class IMeshBuffer : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_MESH_CACHE_H_INCLUDED__
#define __I_MESH_CACHE_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "irrString.h"
namespace irr
@ -24,7 +24,7 @@ namespace scene
this interface, it is possible to manually add new loaded meshes (if
ISceneManager::getMesh() is not sufficient), to remove them and to iterate through
already loaded meshes. */
class IMeshCache : public virtual IUnknown
class IMeshCache : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_MESH_LOADER_H_INCLUDED__
#define __I_MESH_LOADER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
@ -22,7 +22,7 @@ namespace scene
currently unsupported file formats (e.g .cob), then implement
this and add your new Surface loader with
ISceneManager::addExternalMeshLoader() to the engine. */
class IMeshLoader : public virtual IUnknown
class IMeshLoader : public virtual IReferenceCounted
{
public:
@ -36,7 +36,7 @@ public:
//! Creates/loads an animated mesh from the file.
/** \return Pointer to the created mesh. Returns 0 if loading failed.
If you no longer need the mesh, you should call IAnimatedMesh::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file) = 0;
};

View File

@ -5,7 +5,7 @@
#ifndef __I_MESH_MANIPULATOR_H_INCLUDED__
#define __I_MESH_MANIPULATOR_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "vector3d.h"
#include "aabbox3d.h"
#include "matrix4.h"
@ -26,7 +26,7 @@ namespace scene
with wrong imported or exported meshes quickly after loading. It is not intended for doing mesh
modifications and/or animations during runtime.
*/
class IMeshManipulator : public virtual IUnknown
class IMeshManipulator : public virtual IReferenceCounted
{
public:
@ -73,7 +73,7 @@ namespace scene
\param mesh: Mesh to copy.
\return Returns the cloned mesh.
If you no longer need the cloned mesh, you should call SMesh::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual SMesh* createMeshCopy(IMesh* mesh) const = 0;
@ -90,7 +90,7 @@ namespace scene
\param mesh: Input mesh
\return Mesh consiting only of S3DVertexTangents vertices.
If you no longer need the cloned mesh, you should call IMesh::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IMesh* createMeshWithTangents(IMesh* mesh) const = 0;
//! Unweld vertices

View File

@ -5,13 +5,13 @@
#ifndef __I_OS_OPERATOR_H_INCLUDED__
#define __I_OS_OPERATOR_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
//! The Operating system operator provides operation system specific methods and informations.
class IOSOperator : public virtual IUnknown
class IOSOperator : public virtual IReferenceCounted
{
public:

View File

@ -119,7 +119,7 @@ public:
//! To set this emitter as new emitter of this particle system,
//! just call setEmitter(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleAnimatedMeshSceneNodeEmitter* createAnimatedMeshSceneNodeEmitter(
scene::IAnimatedMeshSceneNode* node, bool useNormalDirection = true,
const core::vector3df& direction = core::vector3df(0.0f,0.0f,0.0f),
@ -152,7 +152,7 @@ public:
//! To set this emitter as new emitter of this particle system,
//! just call setEmitter(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleBoxEmitter* createBoxEmitter(
const core::aabbox3df& box = core::aabbox3df(-10,28,-10,10,30,10),
const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
@ -186,7 +186,7 @@ public:
//! To set this emitter as new emitter of this particle system,
//! just call setEmitter(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleCylinderEmitter* createCylinderEmitter(
const core::vector3df& center, f32 radius,
const core::vector3df& normal, f32 length,
@ -230,7 +230,7 @@ public:
//! To set this emitter as new emitter of this particle system,
//! just call setEmitter(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleMeshEmitter* createMeshEmitter(
scene::IMesh* mesh, bool useNormalDirection = true,
const core::vector3df& direction = core::vector3df(0.0f,0.0f,0.0f),
@ -262,7 +262,7 @@ public:
//! To set this emitter as new emitter of this particle system,
//! just call setEmitter(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticlePointEmitter* createPointEmitter(
const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
u32 minParticlesPerSecond = 5,
@ -297,7 +297,7 @@ public:
//! To set this emitter as new emitter of this particle system,
//! just call setEmitter(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleRingEmitter* createRingEmitter(
const core::vector3df& center, f32 radius, f32 ringThickness,
const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
@ -330,7 +330,7 @@ public:
//! To set this emitter as new emitter of this particle system,
//! just call setEmitter(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleSphereEmitter* createSphereEmitter(
const core::vector3df& center, f32 radius,
const core::vector3df& direction = core::vector3df(0.0f,0.03f,0.0f),
@ -353,7 +353,7 @@ public:
//! To add this affector as new affector of this particle system,
//! just call addAffector(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleAttractionAffector* createAttractionAffector(
const core::vector3df& point, f32 speed = 1.0f, bool attract = true,
bool affectX = true, bool affectY = true, bool affectZ = true) = 0;
@ -371,7 +371,7 @@ public:
//! To add this affector as new affector of this particle system,
//! just call addAffector(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleFadeOutAffector* createFadeOutParticleAffector(
const video::SColor& targetColor = video::SColor(0,0,0,0),
u32 timeNeededToFadeOut = 1000) = 0;
@ -389,7 +389,7 @@ public:
//! To add this affector as new affector of this particle system,
//! just call addAffector(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleGravityAffector* createGravityAffector(
const core::vector3df& gravity = core::vector3df(0.0f,-0.03f,0.0f),
u32 timeForceLost = 1000) = 0;
@ -402,7 +402,7 @@ public:
//! To add this affector as new affector of this particle system,
//! just call addAffector(). Note that you'll have to drop() the
//! returned pointer, after you don't need it any more, see
//! IUnknown::drop() for more informations.
//! IReferenceCounted::drop() for more informations.
virtual IParticleRotationAffector* createRotationAffector(
const core::vector3df& speed = core::vector3df(5.0f,5.0f,5.0f),
const core::vector3df& pivotPoint = core::vector3df(0.0f,0.0f,0.0f) ) = 0;

View File

@ -432,7 +432,7 @@ namespace quake3
core::array < SVariable > Variable;
};
struct SVarGroupList: public IUnknown
struct SVarGroupList: public IReferenceCounted
{
SVarGroupList () {}
virtual ~SVarGroupList () {}
@ -595,7 +595,7 @@ namespace quake3
/*!
Manages various Quake3 Shader Styles
*/
class IShaderManager : public irr::IUnknown
class IShaderManager : public irr::IReferenceCounted
{
};

View File

@ -5,7 +5,7 @@
#ifndef __I_READ_FILE_H_INCLUDED__
#define __I_READ_FILE_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
@ -13,7 +13,7 @@ namespace io
{
//! Interface providing read acess to a file.
class IReadFile : public virtual IUnknown
class IReadFile : public virtual IReferenceCounted
{
public:

View File

@ -2,8 +2,8 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#ifndef __I_UNKNOWN_H_INCLUDED__
#define __I_UNKNOWN_H_INCLUDED__
#ifndef __I_IREFERENCE_COUNTED_H_INCLUDED__
#define __I_IREFERENCE_COUNTED_H_INCLUDED__
#include "irrTypes.h"
@ -14,7 +14,7 @@ namespace irr
/** This class provides reference counting through the methods grab() and drop().
It also is able to store a debug string for every instance of an object.
Most objects of the Irrlicht
Engine are derived from IUnknown, and so they are reference counted.
Engine are derived from IReferenceCounted, and so they are reference counted.
When you create an object in the Irrlicht engine, calling a method
which starts with 'create', an object is created, and you get a pointer
@ -38,18 +38,18 @@ namespace irr
the name of the method does not start with 'create'. The texture
is stored somewhere by the driver.
*/
class IUnknown
class IReferenceCounted
{
public:
//! Constructor.
IUnknown()
IReferenceCounted()
: ReferenceCounter(1), DebugName(0)
{
}
//! Destructor.
virtual ~IUnknown()
virtual ~IReferenceCounted()
{
}
@ -57,9 +57,9 @@ namespace irr
//! Someone who calls grab() to an object, should later also call
//! drop() to it. If an object never gets as much drop() as grab()
//! calls, it will never be destroyed.
//! The IUnknown class provides a basic reference counting mechanism
//! The IReferenceCounted class provides a basic reference counting mechanism
//! with its methods grab() and drop(). Most objects of the Irrlicht
//! Engine are derived from IUnknown, and so they are reference counted.
//! Engine are derived from IReferenceCounted, and so they are reference counted.
//!
//! When you create an object in the Irrlicht engine, calling a method
//! which starts with 'create', an object is created, and you get a pointer
@ -85,9 +85,9 @@ namespace irr
//! Drops the object. Decrements the reference counter by one.
//! Returns true, if the object was deleted.
//! The IUnknown class provides a basic reference counting mechanism
//! The IReferenceCounted class provides a basic reference counting mechanism
//! with its methods grab() and drop(). Most objects of the Irrlicht
//! Engine are derived from IUnknown, and so they are reference counted.
//! Engine are derived from IReferenceCounted, and so they are reference counted.
//!
//! When you create an object in the Irrlicht engine, calling a method
//! which starts with 'create', an object is created, and you get a pointer

View File

@ -5,7 +5,7 @@
#ifndef __I_SCENE_COLLISION_MANAGER_H_INCLUDED__
#define __I_SCENE_COLLISION_MANAGER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "vector3d.h"
#include "triangle3d.h"
#include "position2d.h"
@ -22,7 +22,7 @@ namespace scene
class ITriangleSelector;
//! The Scene Collision Manager provides methods for performing collision tests and picking on scene nodes.
class ISceneCollisionManager : public virtual IUnknown
class ISceneCollisionManager : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_SCENE_MANAGER_H_INCLUDED__
#define __I_SCENE_MANAGER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "irrArray.h"
#include "vector3d.h"
#include "dimension2d.h"
@ -144,7 +144,7 @@ namespace scene
at getMesh() to find out what formats are supported. And if these formats are not enough
use addExternalMeshLoader() to add new formats to the engine.
*/
class ISceneManager : public virtual IUnknown
class ISceneManager : public virtual IReferenceCounted
{
public:
@ -297,7 +297,7 @@ namespace scene
* \param filename: Filename of the mesh to load.
* \return Returns NULL if failed and the pointer to the mesh if
* successful.
* This pointer should not be dropped. See IUnknown::drop() for more information.
* This pointer should not be dropped. See IReferenceCounted::drop() for more information.
**/
virtual IAnimatedMesh* getMesh(const c8* filename) = 0;
@ -309,12 +309,12 @@ namespace scene
//! Returns the video driver.
/** \return Returns pointer to the video Driver.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual video::IVideoDriver* getVideoDriver() = 0;
//! Returns the active GUIEnvironment
/** \return Returns pointer to the GUIEnvironment
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual gui::IGUIEnvironment* getGUIEnvironment() = 0;
//! Adds a test scene node for test purposes to the scene.
@ -327,7 +327,7 @@ namespace scene
\param rotation: Initital rotation of the scene node.
\param scale: Initial scale of the scene node.
\return Returns pointer to the created test scene node.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addCubeSceneNode(f32 size=10.0f, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
@ -344,7 +344,7 @@ namespace scene
\param rotation: Initital rotation of the scene node.
\param scale: Initial scale of the scene node.
\return Returns pointer to the created test scene node.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addSphereSceneNode(f32 radius=5.0f, s32 polyCount=16, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
@ -360,7 +360,7 @@ namespace scene
\param scale: Initial scale of the scene node.
\param alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.
\return Returns pointer to the created scene node.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IAnimatedMeshSceneNode* addAnimatedMeshSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
@ -377,7 +377,7 @@ namespace scene
\param scale: Initial scale of the scene node.
\param alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.
\return Returns pointer to the created scene node.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IMeshSceneNode* addMeshSceneNode(IMesh* mesh, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& rotation = core::vector3df(0,0,0),
@ -398,7 +398,7 @@ namespace scene
\param rotation: Initital rotation of the scene node.
\param scale: Initial scale of the scene node.
\return Returns pointer to the created scene node.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addWaterSurfaceSceneNode(IMesh* mesh,
f32 waveHeight=2.0f, f32 waveSpeed=300.0f, f32 waveLength=10.0f,
ISceneNode* parent=0, s32 id=-1,
@ -419,7 +419,7 @@ namespace scene
smaller nodes.
\param alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.
\return Returns the pointer to the OctTree if successful, otherwise 0.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addOctTreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0;
@ -435,7 +435,7 @@ namespace scene
smaller nodes.
\param alsoAddIfMeshPointerZero: Add the scene node even if a 0 pointer is passed.
\return Returns the pointer to the octtree if successful, otherwise 0.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addOctTreeSceneNode(IMesh* mesh, ISceneNode* parent=0,
s32 id=-1, s32 minimalPolysPerNode=256, bool alsoAddIfMeshPointerZero=false) = 0;
@ -449,7 +449,7 @@ namespace scene
the camera will move too.
\param id: id of the camera. This id can be used to identify the camera.
\return Returns pointer to interface to camera if successful, otherwise 0.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ICameraSceneNode* addCameraSceneNode(ISceneNode* parent = 0,
const core::vector3df& position = core::vector3df(0,0,0),
const core::vector3df& lookat = core::vector3df(0,0,100), s32 id=-1) = 0;
@ -463,7 +463,7 @@ namespace scene
\param translationSpeed: TranslationSpeed of the camera.
\param id: id of the camera. This id can be used to identify the camera.
\return Returns a pointer to the interface of the camera if successful, otherwise 0.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ICameraSceneNode* addCameraSceneNodeMaya(ISceneNode* parent = 0,
f32 rotateSpeed = -1500.0f, f32 zoomSpeed = 200.0f, f32 translationSpeed = 1500.0f, s32 id=-1) = 0;
@ -512,7 +512,7 @@ namespace scene
is 'false', with which it is possible to fly around in space, if no gravity is there.
\param jumpSpeed: Speed with which the camera is moved when jumping.
\return Returns a pointer to the interface of the camera if successful, otherwise 0.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ICameraSceneNode* addCameraSceneNodeFPS(ISceneNode* parent = 0,
f32 rotateSpeed = 100.0f, f32 moveSpeed = 500.0f, s32 id=-1,
SKeyMap* keyMapArray=0, s32 keyMapSize=0, bool noVerticalMovement=false,
@ -530,7 +530,7 @@ namespace scene
\param radius: Radius of the light.
\param id: id of the node. This id can be used to identify the node.
\return Returns pointer to the interface of the light if successful, otherwise NULL.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ILightSceneNode* addLightSceneNode(ISceneNode* parent = 0,
const core::vector3df& position = core::vector3df(0,0,0),
video::SColorf color = video::SColorf(1.0f, 1.0f, 1.0f),
@ -549,7 +549,7 @@ namespace scene
\param shade_top: vertex color top
\param shade_down: vertex color down
\return Returns pointer to the billboard if successful, otherwise NULL.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IBillboardSceneNode* addBillboardSceneNode(ISceneNode* parent = 0,
const core::dimension2d<f32>& size = core::dimension2d<f32>(10.0f, 10.0f),
const core::vector3df& position = core::vector3df(0,0,0), s32 id=-1,
@ -569,7 +569,7 @@ namespace scene
change how it is drawn.
\param id: An id of the node. This id can be used to identify the node.
\return Returns a pointer to the sky box if successful, otherwise NULL.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addSkyBoxSceneNode(video::ITexture* top, video::ITexture* bottom,
video::ITexture* left, video::ITexture* right, video::ITexture* front,
video::ITexture* back, ISceneNode* parent = 0, s32 id=-1) = 0;
@ -587,7 +587,7 @@ namespace scene
change how it is drawn.
\param id: An id of the node. This id can be used to identify the node.
\return Returns a pointer to the sky dome if successful, otherwise NULL.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addSkyDomeSceneNode(video::ITexture* texture,
u32 horiRes, u32 vertRes, f64 texturePercentage, f64 spherePercentage,
ISceneNode* parent = 0, s32 id=-1) = 0;
@ -604,7 +604,7 @@ namespace scene
\param rotation: Initital rotation of the scene node.
\param scale: Initial scale of the scene node.
\return Returns pointer to the created scene node.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IParticleSystemSceneNode* addParticleSystemSceneNode(
bool withDefaultEmitter=true, ISceneNode* parent=0, s32 id=-1,
const core::vector3df& position = core::vector3df(0,0,0),
@ -656,7 +656,7 @@ namespace scene
\param addAlsoIfHeightmapEmpty: Add terrain node even with empty heightmap.
\return Returns pointer to the created scene node. Can be null if the
terrain could not be created, for example because the heightmap could not be loaded.
The returned pointer should not be dropped. See IUnknown::drop() for more information. */
The returned pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ITerrainSceneNode* addTerrainSceneNode(
const c8* heightMapFileName,
ISceneNode* parent=0, s32 id=-1,
@ -690,7 +690,7 @@ namespace scene
\param addAlsoIfHeightmapEmpty: Add terrain node even with empty heightmap.
\return Returns pointer to the created scene node. Can be null if the
terrain could not be created, for example because the heightmap could not be loaded.
The returned pointer should not be dropped. See IUnknown::drop() for more information. */
The returned pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ITerrainSceneNode* addTerrainSceneNode(
io::IReadFile* heightMapFile,
ISceneNode* parent=0, s32 id=-1,
@ -704,7 +704,7 @@ namespace scene
//! Adds a quake3 scene node to the scene graph.
/** A Quake3 Scene renders multiple meshes for a specific HighLanguage Shader (Quake3 Style )
\return Returns a pointer to the quake3 scene node if successful, otherwise NULL.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addQuake3SceneNode(IMeshBuffer* meshBuffer, const quake3::SShader * shader,
ISceneNode* parent=0, s32 id=-1
) = 0;
@ -714,7 +714,7 @@ namespace scene
/** Can be used for doing advanced transformations
or structuring the scene graph.
\return Returns pointer to the created scene node.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ISceneNode* addEmptySceneNode(ISceneNode* parent=0, s32 id=-1) = 0;
//! Adds a dummy transformation scene node to the scene graph.
@ -723,7 +723,7 @@ namespace scene
matrix as relative transformation, making it possible to insert any transformation
anywhere into the scene graph.
\return Returns pointer to the created scene node.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IDummyTransformationSceneNode* addDummyTransformationSceneNode(
ISceneNode* parent=0, s32 id=-1) = 0;
@ -766,7 +766,7 @@ namespace scene
\return Returns null if the creation failed. The reason could be that you
specified some invalid parameters or that a mesh with that name already
exists. If successful, a pointer to the mesh is returned.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IAnimatedMesh* addHillPlaneMesh(const c8* name,
const core::dimension2d<f32>& tileSize, const core::dimension2d<u32>& tileCount,
video::SMaterial* material = 0, f32 hillHeight = 0.0f,
@ -795,7 +795,7 @@ namespace scene
\return Returns null if the creation failed. The reason could be that you
specified some invalid parameters, that a mesh with that name already
exists, or that a texture could not be found. If successful, a pointer to the mesh is returned.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual IAnimatedMesh* addTerrainMesh(const c8* meshname,
video::IImage* texture, video::IImage* heightmap,
const core::dimension2d<f32>& stretchSize = core::dimension2d<f32>(10.0f,10.0f),
@ -898,7 +898,7 @@ namespace scene
\return Returns the animator. Attach it to a scene node with ISceneNode::addAnimator()
and the animator will animate it.
If you no longer need the animator, you should call ISceneNodeAnimator::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ISceneNodeAnimator* createRotationAnimator(const core::vector3df& rotationPerSecond) = 0;
//! Creates a fly circle animator, which lets the attached scene node fly around a center.
@ -909,7 +909,7 @@ namespace scene
\return Returns the animator. Attach it to a scene node with ISceneNode::addAnimator()
and the animator will animate it.
If you no longer need the animator, you should call ISceneNodeAnimator::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ISceneNodeAnimator* createFlyCircleAnimator(const core::vector3df& center,
f32 radius, f32 speed=0.001f, const core::vector3df& direction= core::vector3df ( 0.f, 1.f, 0.f ) ) = 0;
@ -923,7 +923,7 @@ namespace scene
\return Returns the animator. Attach it to a scene node with ISceneNode::addAnimator()
and the animator will animate it.
If you no longer need the animator, you should call ISceneNodeAnimator::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ISceneNodeAnimator* createFlyStraightAnimator(const core::vector3df& startPoint,
const core::vector3df& endPoint, u32 timeForWay, bool loop=false) = 0;
@ -936,7 +936,7 @@ namespace scene
\return Returns the animator. Attach it to a scene node with ISceneNode::addAnimator()
and the animator will animate it.
If you no longer need the animator, you should call ISceneNodeAnimator::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ISceneNodeAnimator* createTextureAnimator(const core::array<video::ITexture*>& textures,
s32 timePerFrame, bool loop=true) = 0;
@ -945,7 +945,7 @@ namespace scene
\return Returns the animator. Attach it to a scene node with ISceneNode::addAnimator()
and the animator will animate it.
If you no longer need the animator, you should call ISceneNodeAnimator::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ISceneNodeAnimator* createDeleteAnimator(u32 timeMs) = 0;
//! Creates a special scene node animator for doing automatic collision detection and response.
@ -976,7 +976,7 @@ namespace scene
\return Returns the animator. Attach it to a scene node with ISceneNode::addAnimator()
and the animator will cause it to do collision detection and response.
If you no longer need the animator, you should call ISceneNodeAnimator::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ISceneNodeAnimatorCollisionResponse* createCollisionResponseAnimator(
ITriangleSelector* world, ISceneNode* sceneNode,
const core::vector3df& ellipsoidRadius = core::vector3df(30,60,30),
@ -1014,7 +1014,7 @@ namespace scene
\param node: Scene node of which visibility and transformation is used.
\return Returns the selector, or null if not successful.
If you no longer need the selector, you should call ITriangleSelector::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ITriangleSelector* createTriangleSelector(IMesh* mesh, ISceneNode* node) = 0;
//! Creates a simple dynamic ITriangleSelector, based on a axis aligned bounding box.
@ -1025,7 +1025,7 @@ namespace scene
\param node: Scene node of which the bounding box, visibility and transformation is used.
\return Returns the selector, or null if not successful.
If you no longer need the selector, you should call ITriangleSelector::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ITriangleSelector* createTriangleSelectorFromBoundingBox(ISceneNode* node) = 0;
//! Creates a Triangle Selector, optimized by an octtree.
@ -1050,7 +1050,7 @@ namespace scene
smaller nodes.
\return Returns the selector, or null if not successful.
If you no longer need the selector, you should call ITriangleSelector::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ITriangleSelector* createOctTreeTriangleSelector(IMesh* mesh,
ISceneNode* node, s32 minimalPolysPerNode=32) = 0;
@ -1061,7 +1061,7 @@ namespace scene
collision tests can be done with different triangle soups in one pass.
\return Returns the selector, or null if not successful.
If you no longer need the selector, you should call ITriangleSelector::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IMetaTriangleSelector* createMetaTriangleSelector() = 0;
//! Creates a triangle selector which can select triangles from a terrain scene node.
@ -1167,7 +1167,7 @@ namespace scene
yourNewSceneManager->postEventFromUser(), and return true so that the original scene manager
doesn't get the event. Otherwise, all input will go automaticly to the main scene manager.
If you no longer need the new scene manager, you should call ISceneManager::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ISceneManager* createNewSceneManager(bool cloneContent=false) = 0;
//! Saves the current scene into a file.

View File

@ -5,7 +5,7 @@
#ifndef __I_SCENE_NODE_H_INCLUDED__
#define __I_SCENE_NODE_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "ESceneNodeTypes.h"
#include "ECullingTypes.h"
#include "EDebugSceneTypes.h"

View File

@ -5,7 +5,7 @@
#ifndef __I_SCENE_NODE_ANIMATOR_H_INCLUDED__
#define __I_SCENE_NODE_ANIMATOR_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "vector3d.h"
#include "ESceneNodeAnimatorTypes.h"
#include "IAttributeExchangingObject.h"
@ -39,7 +39,7 @@ namespace scene
virtual void animateNode(ISceneNode* node, u32 timeMs) = 0;
//! Creates a clone of this animator.
/** Please note that you will have to drop (IUnknown::drop())
/** Please note that you will have to drop (IReferenceCounted::drop())
the returned pointer after calling this. */
virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0)
{

View File

@ -5,7 +5,7 @@
#ifndef __I_SCENE_NODE_ANIMATOR_FACTORY_H_INCLUDED__
#define __I_SCENE_NODE_ANIMATOR_FACTORY_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "ESceneNodeAnimatorTypes.h"
namespace irr
@ -24,7 +24,7 @@ namespace scene
scene node manager will grab() the factory anyway, and otherwise cyclic references will
be created and the scene manager and all its nodes won't get deallocated.
*/
class ISceneNodeAnimatorFactory : public virtual IUnknown
class ISceneNodeAnimatorFactory : public virtual IReferenceCounted
{
public:
@ -32,14 +32,14 @@ namespace scene
/** \param type: Type of the scene node animator to add.
\param target: Target scene node of the new animator.
\return Returns pointer to the new scene node animator or null if not successful. You need to
drop this pointer after calling this, see IUnknown::drop() for details. */
drop this pointer after calling this, see IReferenceCounted::drop() for details. */
virtual ISceneNodeAnimator* createSceneNodeAnimator(ESCENE_NODE_ANIMATOR_TYPE type, ISceneNode* target) = 0;
//! creates a scene node animator based on its type name
/** \param typeName: Type of the scene node animator to add.
\param target: Target scene node of the new animator.
\return Returns pointer to the new scene node animator or null if not successful. You need to
drop this pointer after calling this, see IUnknown::drop() for details. */
drop this pointer after calling this, see IReferenceCounted::drop() for details. */
virtual ISceneNodeAnimator* createSceneNodeAnimator(const c8* typeName, ISceneNode* target) = 0;
//! returns amount of scene node animator types this factory is able to create

View File

@ -5,7 +5,7 @@
#ifndef __I_SCENE_NODE_FACTORY_H_INCLUDED__
#define __I_SCENE_NODE_FACTORY_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "ESceneNodeTypes.h"
namespace irr
@ -25,7 +25,7 @@ namespace scene
scene node manager will grab() the factory anyway, and otherwise cyclic references will
be created and the scene manager and all its nodes won't get deallocated.
*/
class ISceneNodeFactory : public virtual IUnknown
class ISceneNodeFactory : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_SCENE_USER_DATA_SERIALIZER_H_INCLUDED__
#define __I_SCENE_USER_DATA_SERIALIZER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{

View File

@ -5,7 +5,7 @@
#ifndef __I_SHADER_CONSTANT_SET_CALLBACT_H_INCLUDED__
#define __I_SHADER_CONSTANT_SET_CALLBACT_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
@ -17,7 +17,7 @@ namespace video
/** Implement this interface in an own class and pass a pointer to it to one of the methods in
IGPUProgrammingServices when creating a shader. The OnSetConstants method will be called
every frame now. */
class IShaderConstantSetCallBack : public virtual IUnknown
class IShaderConstantSetCallBack : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_TEXTURE_H_INCLUDED__
#define __I_TEXTURE_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "IImage.h"
#include "dimension2d.h"
#include "EDriverTypes.h"
@ -94,7 +94,7 @@ inline E_TEXTURE_CREATION_FLAG getTextureFormatFromFlags(u32 flags)
If you try to use a texture created by one device with an other device, the device
will refuse to do that and write a warning or an error message to the output buffer.
*/
class ITexture : public virtual IUnknown
class ITexture : public virtual IReferenceCounted
{
public:

View File

@ -5,13 +5,13 @@
#ifndef __I_TIMER_H_INCLUDED__
#define __I_TIMER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
//! Interface for getting and manipulating the virtual time
class ITimer : public virtual IUnknown
class ITimer : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_TRIANGLE_SELECTOR_H_INCLUDED__
#define __I_TRIANGLE_SELECTOR_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "triangle3d.h"
#include "aabbox3d.h"
#include "matrix4.h"
@ -23,7 +23,7 @@ namespace scene
area between (1,1,1) and (10,10,10), you can get all triangles of the
scene node in this area with the ITriangleSelector easily and check every triangle
if it collided. */
class ITriangleSelector : public virtual IUnknown
class ITriangleSelector : public virtual IReferenceCounted
{
public:

View File

@ -73,7 +73,7 @@ namespace video
provides a lot of powerful classes and methods to make the programmers life
easier.
*/
class IVideoDriver : public virtual IUnknown
class IVideoDriver : public virtual IReferenceCounted
{
public:
@ -129,7 +129,7 @@ namespace video
\param filename: Filename of the texture to be loaded.
\return Returns a pointer to the texture or 0 if the texture
could not be loaded.
This pointer should not be dropped. See IUnknown::drop() for more information.*/
This pointer should not be dropped. See IReferenceCounted::drop() for more information.*/
virtual ITexture* getTexture(const c8* filename) = 0;
//! Returns a pointer to a texture.
@ -140,7 +140,7 @@ namespace video
\param file: Pointer to an already opened file.
\return Returns a pointer to the texture or 0 if the texture
could not be loaded.
This pointer should not be dropped. See IUnknown::drop() for more information.*/
This pointer should not be dropped. See IReferenceCounted::drop() for more information.*/
virtual ITexture* getTexture(io::IReadFile* file) = 0;
//! Returns a texture by index
@ -162,7 +162,7 @@ namespace video
\param format: Desired color format of the texture. Please note that
the driver may choose to create the texture in another color format.
\return Returns a pointer to the newly created texture.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ITexture* addTexture(const core::dimension2d<s32>& size,
const c8* name, ECOLOR_FORMAT format = ECF_A8R8G8B8) = 0;
@ -171,7 +171,7 @@ namespace video
will return this texture
\param image: Image the texture is created from.
\return Returns a pointer to the newly created Texture.
This pointer should not be dropped. See IUnknown::drop() for more information. */
This pointer should not be dropped. See IReferenceCounted::drop() for more information. */
virtual ITexture* addTexture(const c8* name, IImage* image) = 0;
//! Creates a render target texture.
@ -181,7 +181,7 @@ namespace video
screen buffer.
\return Returns a pointer to the created texture or 0 if the texture could not
be created. If you no longer need the image, you should call ITexture::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual ITexture* createRenderTargetTexture(const core::dimension2d<s32>& size, const c8* name = 0) = 0;
//! Removes a texture from the texture cache and deletes it, freeing lot of memory.
@ -636,7 +636,7 @@ namespace video
\param filename: Name of the file from which the image is created.
\return Returns the created image.
If you no longer need the image, you should call IImage::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IImage* createImageFromFile(const c8* filename) = 0;
//! Creates a software image from a file.
@ -646,7 +646,7 @@ namespace video
\param file: File from which the image is created.
\return Returns the created image.
If you no longer need the image, you should call IImage::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IImage* createImageFromFile(io::IReadFile* file) = 0;
//! Writes the provided image to disk file
@ -671,7 +671,7 @@ namespace video
\param deleteMemory: Whether the memory is deallocated upon destruction
\return Returns the created image.
If you no longer need the image, you should call IImage::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IImage* createImageFromData(ECOLOR_FORMAT format,
const core::dimension2d<s32>& size, void *data,
bool ownForeignMemory=false,

View File

@ -5,7 +5,7 @@
#ifndef __IRR_I_VIDEO_MODE_LIST_H_INCLUDED__
#define __IRR_I_VIDEO_MODE_LIST_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "dimension2d.h"
namespace irr
@ -20,7 +20,7 @@ namespace video
there is no need to start up an Irrlicht Device with EDT_DIRECT3D8, EDT_OPENGL or
EDT_SOFTWARE: For this (and for lots of other reasons) the null device,
EDT_NULL exists.*/
class IVideoModeList : public virtual IUnknown
class IVideoModeList : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_WRITE_FILE_H_INCLUDED__
#define __I_WRITE_FILE_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
namespace irr
{
@ -13,7 +13,7 @@ namespace io
{
//! Interface providing write acess to a file.
class IWriteFile : public virtual IUnknown
class IWriteFile : public virtual IReferenceCounted
{
public:

View File

@ -5,24 +5,24 @@
#ifndef __I_XML_READER_H_INCLUDED__
#define __I_XML_READER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "irrXML.h"
namespace irr
{
namespace io
{
//! A xml reader for wide characters, derived from IUnknown.
//! A xml reader for wide characters, derived from IReferenceCounted.
//! This XML Parser can read any type of text files from any source where irrlicht
//! can read. Just call IFileSystem::createXMLReader().
//! For more informations on how to use the parser, see IIrrXMLReader
typedef IIrrXMLReader<wchar_t, IUnknown> IXMLReader;
typedef IIrrXMLReader<wchar_t, IReferenceCounted> IXMLReader;
//! A xml reader for ASCII or UTF-8 characters, derived from IUnknown.
//! A xml reader for ASCII or UTF-8 characters, derived from IReferenceCounted.
//! This XML Parser can read any type of text files from any source where irrlicht
//! can read. Just call IFileSystem::createXMLReaderUTF8().
//! For more informations on how to use the parser, see IIrrXMLReader
typedef IIrrXMLReader<c8, IUnknown> IXMLReaderUTF8;
typedef IIrrXMLReader<c8, IReferenceCounted> IXMLReaderUTF8;
} // end namespace io
} // end namespace irr

View File

@ -5,7 +5,7 @@
#ifndef __I_XML_WRITER_H_INCLUDED__
#define __I_XML_WRITER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "irrArray.h"
#include "irrString.h"
@ -18,7 +18,7 @@ namespace io
/** This XML Writer only writes UTF-16 xml files, because these are parsed
faster than all other formats by IXMLReader.
*/
class IXMLWriter : public virtual IUnknown
class IXMLWriter : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_IRRLICHT_DEVICE_H_INCLUDED__
#define __I_IRRLICHT_DEVICE_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "dimension2d.h"
#include "IVideoDriver.h"
#include "EDriverTypes.h"
@ -36,7 +36,7 @@ namespace irr
/** This is the most important class of the Irrlicht Engine. You can access everything
in the engine if you have a pointer to an instance of this class.
*/
class IrrlichtDevice : public virtual IUnknown
class IrrlichtDevice : public virtual IReferenceCounted
{
public:

View File

@ -230,8 +230,8 @@ namespace io
//! Empty class to be used as parent class for IrrXMLReader.
/** If you need another class as base class for the xml reader, you can do this by creating
the reader using for example new CXMLReaderImpl<char, YourBaseClass>(yourcallback);
The Irrlicht Engine for example needs IUnknown as base class for every object to
let it automaticly reference countend, hence it replaces IXMLBase with IUnknown.
The Irrlicht Engine for example needs IReferenceCounted as base class for every object to
let it automaticly reference countend, hence it replaces IXMLBase with IReferenceCounted.
See irrXML.cpp on how this can be done in detail. */
class IXMLBase
{

View File

@ -107,7 +107,7 @@
#include "ITerrainSceneNode.h"
#include "ITextSceneNode.h"
#include "ITexture.h"
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "IVideoDriver.h"
#include "IVideoModeList.h"
#include "IWriteFile.h"

View File

@ -145,7 +145,7 @@ bool C3DSMeshFileLoader::isALoadableFileExtension(const c8* filename)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* C3DSMeshFileLoader::createMesh(io::IReadFile* file)
{
ChunkData data;

View File

@ -36,7 +36,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
private:

View File

@ -654,7 +654,7 @@ protected:
};
class IAttribute : public virtual IUnknown
class IAttribute : public virtual IReferenceCounted
{
public:

View File

@ -46,7 +46,7 @@ bool CB3DMeshFileLoader::isALoadableFileExtension(const c8* fileName)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* CB3DMeshFileLoader::createMesh(irr::io::IReadFile* f)
{
if (!f)

View File

@ -34,7 +34,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(io::IReadFile* file);
private:

View File

@ -47,7 +47,7 @@ bool CBSPMeshFileLoader::isALoadableFileExtension(const c8* filename)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* CBSPMeshFileLoader::createMesh(irr::io::IReadFile* file)
{
// load quake 3 bsp

View File

@ -33,7 +33,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
private:

View File

@ -215,7 +215,7 @@ bool CColladaFileLoader::isALoadableFileExtension(const c8* fileName)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* CColladaFileLoader::createMesh(irr::io::IReadFile* file)
{
io::IXMLReaderUTF8* reader = FileSystem->createXMLReaderUTF8(file);

View File

@ -161,7 +161,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
private:
@ -293,7 +293,7 @@ private:
//! following class is for holding and createing instances of library objects,
//! named prefabs in this loader.
class IColladaPrefab : public virtual IUnknown
class IColladaPrefab : public virtual IReferenceCounted
{
public:

View File

@ -35,7 +35,7 @@ CDMFLoader::CDMFLoader(video::IVideoDriver* driver, ISceneManager* smgr)
: Driver(driver) , SceneMgr(smgr)
{
#ifdef _DEBUG
IUnknown::setDebugName("CDMFLoader");
IReferenceCounted::setDebugName("CDMFLoader");
#endif
if (Driver)
@ -86,7 +86,7 @@ void CDMFLoader::GetFaceNormal( f32 a[3], //First point
/**Creates/loads an animated mesh from the file.
\return Pointer to the created mesh. Returns 0 if loading failed.
If you no longer need the mesh, you should call IAnimatedMesh::drop().
See IUnknown::drop() for more information.*/
See IReferenceCounted::drop() for more information.*/
IAnimatedMesh* CDMFLoader::createMesh(io::IReadFile* file)
{
if (!file)

View File

@ -62,7 +62,7 @@ namespace scene
/** creates/loads an animated mesh from the file.
\return Pointer to the created mesh. Returns 0 if loading failed.
If you no longer need the mesh, you should call IAnimatedMesh::drop().
See IUnknown::drop() for more information.*/
See IReferenceCounted::drop() for more information.*/
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
/** loads dynamic lights present in this scene.

View File

@ -26,14 +26,14 @@ namespace scene
/** \param type: Type of the scene node animator to add.
\param target: Target scene node of the new animator.
\return Returns pointer to the new scene node animator or null if not successful. You need to
drop this pointer after calling this, see IUnknown::drop() for details. */
drop this pointer after calling this, see IReferenceCounted::drop() for details. */
virtual ISceneNodeAnimator* createSceneNodeAnimator(ESCENE_NODE_ANIMATOR_TYPE type, ISceneNode* target);
//! creates a scene node animator based on its type name
/** \param typeName: Type of the scene node animator to add.
\param target: Target scene node of the new animator.
\return Returns pointer to the new scene node animator or null if not successful. You need to
drop this pointer after calling this, see IUnknown::drop() for details. */
drop this pointer after calling this, see IReferenceCounted::drop() for details. */
virtual ISceneNodeAnimator* createSceneNodeAnimator(const char* typeName, ISceneNode* target);
//! returns amount of scene node animator types this factory is able to create

View File

@ -559,7 +559,7 @@ void CGUIEnvironment::setSkin(IGUISkin* skin)
//! Creates a new GUI Skin based on a template.
/** \return Returns a pointer to the created skin.
If you no longer need the skin, you should call IGUISkin::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
IGUISkin* CGUIEnvironment::createSkin(EGUI_SKIN_TYPE type)
{
IGUISkin* skin = new CGUISkin(type, Driver);

View File

@ -67,7 +67,7 @@ public:
//! Creates a new GUI Skin based on a template.
/** \return Returns a pointer to the created skin.
If you no longer need the skin, you should call IGUISkin::drop().
See IUnknown::drop() for more information. */
See IReferenceCounted::drop() for more information. */
virtual IGUISkin* createSkin(EGUI_SKIN_TYPE type);
//! returns the font

View File

@ -30,7 +30,7 @@ bool CMD2MeshFileLoader::isALoadableFileExtension(const c8* filename)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* CMD2MeshFileLoader::createMesh(irr::io::IReadFile* file)
{
IAnimatedMesh* msh = new CAnimatedMeshMD2();

View File

@ -27,7 +27,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
};

View File

@ -34,7 +34,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
private:

View File

@ -115,7 +115,7 @@ bool CMS3DMeshFileLoader::isALoadableFileExtension(const c8* filename)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* CMS3DMeshFileLoader::createMesh(irr::io::IReadFile* file)
{
if (!file)

View File

@ -29,7 +29,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
private:

View File

@ -73,7 +73,7 @@ public:
//! \param mesh: Input mesh
//! \return Mesh consiting only of S3DVertexNormalMapped vertices.
//! If you no longer need the cloned mesh, you should call IMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IMesh* createMeshWithTangents(IMesh* mesh) const;
virtual IMesh* createMeshUniquePrimitives(IMesh* mesh) const;

View File

@ -58,7 +58,7 @@ bool COBJMeshFileLoader::isALoadableFileExtension(const c8* filename)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* COBJMeshFileLoader::createMesh(io::IReadFile* file)
{
const u32 filesize = file->getSize();

View File

@ -35,7 +35,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
private:

View File

@ -29,7 +29,7 @@ COCTLoader::COCTLoader(video::IVideoDriver* driver)
: Driver(driver)
{
#ifdef _DEBUG
IUnknown::setDebugName("COCTLoader");
IReferenceCounted::setDebugName("COCTLoader");
#endif
if (Driver)
@ -108,7 +108,7 @@ void COCTLoader::GetFaceNormal(f32 a[3], f32 b[3], f32 c[3], f32 out[3]) {
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* COCTLoader::createMesh(irr::io::IReadFile* file)
{
if (!file)

View File

@ -74,7 +74,7 @@ namespace scene
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
private:

View File

@ -86,7 +86,7 @@ bool COgreMeshFileLoader::isALoadableFileExtension(const c8* filename)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* COgreMeshFileLoader::createMesh(io::IReadFile* file)
{
s16 id;

View File

@ -39,7 +39,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
private:

View File

@ -5,7 +5,7 @@
#ifndef __C_PAK_READER_H_INCLUDED__
#define __C_PAK_READER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "IReadFile.h"
#include "irrArray.h"
#include "irrString.h"
@ -43,7 +43,7 @@ namespace io
};
class CPakReader : public IUnknown
class CPakReader : public IReferenceCounted
{
public:

View File

@ -26,7 +26,7 @@ CQ3LevelMesh::CQ3LevelMesh(io::IFileSystem* fs, video::IVideoDriver* driver, sce
MeshVerts(0), Brushes(0), Driver(driver), FileSystem(fs), SceneManager ( smgr )
{
#ifdef _DEBUG
IUnknown::setDebugName("CQ3LevelMesh");
IReferenceCounted::setDebugName("CQ3LevelMesh");
#endif
s32 i;

View File

@ -54,7 +54,7 @@ namespace io
if (!file)
return 0;
return new CXMLReaderImpl<wchar_t, IUnknown>(new CIrrXMLFileReadCallBack(file));
return new CXMLReaderImpl<wchar_t, IReferenceCounted>(new CIrrXMLFileReadCallBack(file));
}
//! Creates an instance of an UFT-8 or ASCII character xml parser.
@ -63,7 +63,7 @@ namespace io
if (!file)
return 0;
return new CXMLReaderImpl<char, IUnknown>(new CIrrXMLFileReadCallBack(file));
return new CXMLReaderImpl<char, IReferenceCounted>(new CIrrXMLFileReadCallBack(file));
}
} // end namespace

View File

@ -39,7 +39,7 @@ bool CXMeshFileLoader::isALoadableFileExtension(const c8* filename)
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
IAnimatedMesh* CXMeshFileLoader::createMesh(irr::io::IReadFile* f)
{
if (!f)

View File

@ -35,7 +35,7 @@ public:
//! creates/loads an animated mesh from the file.
//! \return Pointer to the created mesh. Returns 0 if loading failed.
//! If you no longer need the mesh, you should call IAnimatedMesh::drop().
//! See IUnknown::drop() for more information.
//! See IReferenceCounted::drop() for more information.
virtual IAnimatedMesh* createMesh(irr::io::IReadFile* file);
struct SXTemplateMaterial

View File

@ -5,7 +5,7 @@
#ifndef __C_ZIP_READER_H_INCLUDED__
#define __C_ZIP_READER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "IReadFile.h"
#include "irrArray.h"
#include "irrString.h"
@ -87,7 +87,7 @@ namespace io
Doesn't decompress data, only reads the file and is able to
open uncompressed entries.
*/
class CZipReader : public virtual IUnknown
class CZipReader : public virtual IReferenceCounted
{
public:

View File

@ -6,7 +6,7 @@
#define __I_BURNING_SHADER_H_INCLUDED__
#include "SoftwareDriver2_compile_config.h"
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "irrMath.h"
#include "IImage.h"
#include "S2DVertex.h"
@ -58,7 +58,7 @@ namespace video
ETR2_COUNT
};
class IBurningShader : public virtual IUnknown
class IBurningShader : public virtual IReferenceCounted
{
public:
IBurningShader(IDepthBuffer* zbuffer);

View File

@ -5,7 +5,7 @@
#ifndef __I_Z2_BUFFER_H_INCLUDED__
#define __I_Z2_BUFFER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "dimension2d.h"
#include "S4DVertex.h"
@ -13,7 +13,7 @@ namespace irr
{
namespace video
{
class IDepthBuffer : public virtual IUnknown
class IDepthBuffer : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_TRIANGLE_RENDERER_H_INCLUDED__
#define __I_TRIANGLE_RENDERER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "IImage.h"
#include "S2DVertex.h"
#include "rect.h"
@ -31,7 +31,7 @@ namespace video
ETR_COUNT
};
class ITriangleRenderer : public virtual IUnknown
class ITriangleRenderer : public virtual IReferenceCounted
{
public:

View File

@ -5,7 +5,7 @@
#ifndef __I_Z_BUFFER_H_INCLUDED__
#define __I_Z_BUFFER_H_INCLUDED__
#include "IUnknown.h"
#include "IReferenceCounted.h"
#include "dimension2d.h"
#include "S2DVertex.h"
@ -13,7 +13,7 @@ namespace irr
{
namespace video
{
class IZBuffer : public virtual IUnknown
class IZBuffer : public virtual IReferenceCounted
{
public:

View File

@ -251,9 +251,6 @@
<File
RelativePath=".\..\..\include\ITimer.h">
</File>
<File
RelativePath=".\..\..\include\IUnknown.h">
</File>
<File
RelativePath=".\..\..\include\Keycodes.h">
</File>

View File

@ -20,7 +20,7 @@
namespace irr {
class CFontTool : public irr::IUnknown
class CFontTool : public irr::IReferenceCounted
{
public:
CFontTool(irr::IrrlichtDevice* device);