arsa
2.7
include
irrlicht
IMeshLoader.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2012 Nikolaus Gebhardt
2
// This file is part of the "Irrlicht Engine".
3
// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5
#ifndef __I_MESH_LOADER_H_INCLUDED__
6
#define __I_MESH_LOADER_H_INCLUDED__
7
8
#include "
IReferenceCounted.h
"
9
#include "
path.h
"
10
#include "
IMeshTextureLoader.h
"
11
12
namespace
irr
13
{
14
namespace
io
15
{
16
class
IReadFile;
17
}
// end namespace io
18
namespace
scene
19
{
20
class
IAnimatedMesh;
21
23
27
class
IMeshLoader
:
public
virtual
IReferenceCounted
28
{
29
public
:
30
32
IMeshLoader
() :
TextureLoader
(0) {}
33
35
virtual
~IMeshLoader
()
36
{
37
if
(
TextureLoader
)
38
TextureLoader
->
drop
();
39
}
40
42
46
virtual
bool
isALoadableFileExtension
(
const
io::path
& filename)
const
= 0;
47
49
53
virtual
IAnimatedMesh
*
createMesh
(
io::IReadFile
* file) = 0;
54
56
61
virtual
void
setMeshTextureLoader
(
IMeshTextureLoader
* textureLoader)
62
{
63
if
( textureLoader !=
TextureLoader
)
64
{
65
if
( textureLoader )
66
textureLoader->
grab
();
67
if
(
TextureLoader
)
68
TextureLoader
->
drop
();
69
TextureLoader
= textureLoader;
70
}
71
}
72
74
76
virtual
IMeshTextureLoader
*
getMeshTextureLoader
()
const
77
{
78
return
TextureLoader
;
79
}
80
81
protected
:
82
IMeshTextureLoader
*
TextureLoader
;
83
};
84
85
86
}
// end namespace scene
87
}
// end namespace irr
88
89
#endif
irr::IReferenceCounted::drop
bool drop() const
Drops the object. Decrements the reference counter by one.
Definition:
IReferenceCounted.h:126
irr::scene::IMeshLoader::~IMeshLoader
virtual ~IMeshLoader()
Destructor.
Definition:
IMeshLoader.h:35
irr::io::IReadFile
Interface providing read access to a file.
Definition:
IReadFile.h:18
irr::scene::IMeshTextureLoader
Finding and loading textures inside meshloaders.
Definition:
IMeshTextureLoader.h:30
IReferenceCounted.h
irr
Everything in the Irrlicht Engine can be found in this namespace.
Definition:
CARSADPad.h:6
irr::core::string< fschar_t >
irr::scene::IMeshLoader::getMeshTextureLoader
virtual IMeshTextureLoader * getMeshTextureLoader() const
Get the texture loader used when this meshloader searches for textures.
Definition:
IMeshLoader.h:76
irr::scene::IMeshLoader::createMesh
virtual IAnimatedMesh * createMesh(io::IReadFile *file)=0
Creates/loads an animated mesh from the file.
irr::scene::IMeshLoader::isALoadableFileExtension
virtual bool isALoadableFileExtension(const io::path &filename) const =0
Returns true if the file might be loaded by this class.
IMeshTextureLoader.h
irr::scene::IMeshLoader::TextureLoader
IMeshTextureLoader * TextureLoader
Definition:
IMeshLoader.h:82
irr::scene::IMeshLoader::IMeshLoader
IMeshLoader()
Constructor.
Definition:
IMeshLoader.h:32
irr::scene::IMeshLoader
Class which is able to load an animated mesh from a file.
Definition:
IMeshLoader.h:27
path.h
irr::scene::IMeshLoader::setMeshTextureLoader
virtual void setMeshTextureLoader(IMeshTextureLoader *textureLoader)
Set a new texture loader which this meshloader can use when searching for textures.
Definition:
IMeshLoader.h:61
irr::IReferenceCounted::grab
void grab() const
Grabs the object. Increments the reference counter by one.
Definition:
IReferenceCounted.h:96
irr::IReferenceCounted
Base class of most objects of the Irrlicht Engine.
Definition:
IReferenceCounted.h:45
irr::scene::IAnimatedMesh
Interface for an animated mesh.
Definition:
IAnimatedMesh.h:20
Generated on Thu Nov 9 2023 23:47:37 for arsa by
1.8.15