Cortex
10.0.0-a4
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
include
IECoreGL
TextureLoader.h
1
//
3
// Copyright (c) 2007, Image Engine Design Inc. All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions are
7
// met:
8
//
9
// * Redistributions of source code must retain the above copyright
10
// notice, this list of conditions and the following disclaimer.
11
//
12
// * Redistributions in binary form must reproduce the above copyright
13
// notice, this list of conditions and the following disclaimer in the
14
// documentation and/or other materials provided with the distribution.
15
//
16
// * Neither the name of Image Engine Design nor the names of any
17
// other contributors to this software may be used to endorse or
18
// promote products derived from this software without specific prior
19
// written permission.
20
//
21
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
22
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
//
34
35
#ifndef IECOREGL_TEXTURELOADER_H
36
#define IECOREGL_TEXTURELOADER_H
37
38
#include "IECore/RefCounted.h"
39
#include "IECore/SearchPath.h"
40
41
#include "IECoreGL/Texture.h"
42
#include "IECoreGL/Export.h"
43
44
#include <map>
45
#include <string>
46
47
namespace
IECoreGL
48
{
49
50
IE_CORE_FORWARDDECLARE( Texture );
51
IE_CORE_FORWARDDECLARE( TextureLoader );
52
56
class
IECOREGL_API
TextureLoader
:
public
IECore::RefCounted
57
{
58
59
public
:
60
61
IE_CORE_DECLAREMEMBERPTR(
TextureLoader
);
62
63
TextureLoader
(
const
IECore::SearchPath
&searchPaths );
64
65
TexturePtr load(
const
std::string &name );
66
68
void
clear();
69
73
static
TextureLoader
*defaultTextureLoader();
74
75
private
:
76
77
void
freeUnusedTextures();
78
79
typedef
std::map<std::string, TexturePtr> TexturesMap;
80
TexturesMap m_loadedTextures;
81
82
IECore::SearchPath
m_searchPaths;
83
84
};
85
86
}
// namespace IECoreGL
87
88
#endif // IECOREGL_TEXTURELOADER_H
IECoreGL
The namespace within which all CoreGL functionality is defined.
Definition:
AlphaTexture.h:41
IECoreGL::TextureLoader
Definition:
TextureLoader.h:56
IECore::SearchPath
Definition:
SearchPath.h:49
IECore::RefCounted
Definition:
RefCounted.h:124
Generated on Tue Oct 24 2017 13:52:49 for Cortex by
1.8.9.1