Main Page
Namespaces
Classes
Files
File List
File Members
3rdParty
ARToolKitPlus
src
MemoryManager.cpp
Go to the documentation of this file.
1
/* ========================================================================
2
* PROJECT: ARToolKitPlus
3
* ========================================================================
4
* This work is based on the original ARToolKit developed by
5
* Hirokazu Kato
6
* Mark Billinghurst
7
* HITLab, University of Washington, Seattle
8
* http://www.hitl.washington.edu/artoolkit/
9
*
10
* Copyright of the derived and new portions of this work
11
* (C) 2006 Graz University of Technology
12
*
13
* This framework is free software; you can redistribute it and/or modify
14
* it under the terms of the GNU General Public License as published by
15
* the Free Software Foundation; either version 2 of the License, or
16
* (at your option) any later version.
17
*
18
* This framework is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
22
*
23
* You should have received a copy of the GNU General Public License
24
* along with this framework; if not, write to the Free Software
25
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26
*
27
* For further information please contact
28
* Dieter Schmalstieg
29
* <schmalstieg@icg.tu-graz.ac.at>
30
* Graz University of Technology,
31
* Institut for Computer Graphics and Vision,
32
* Inffeldgasse 16a, 8010 Graz, Austria.
33
* ========================================================================
34
** @author Daniel Wagner
35
*
36
* $Id: MemoryManager.cpp 164 2006-05-02 11:29:10Z daniel $
37
* @file
38
* ======================================================================== */
39
40
41
#include <
ARToolKitPlus/MemoryManager.h
>
42
#include <malloc.h>
43
44
45
namespace
ARToolKitPlus
46
{
47
48
49
#ifndef _ARTKP_NO_MEMORYMANAGER_
50
51
MemoryManager
*
memManager
=
NULL
;
52
53
54
ARTOOLKITPLUS_API
void
55
setMemoryManager
(
MemoryManager
* nManager)
56
{
57
memManager = nManager;
58
}
59
60
61
ARTOOLKITPLUS_API
MemoryManager
*
62
getMemoryManager
()
63
{
64
return
memManager
;
65
}
66
67
68
#endif //_ARTKP_NO_MEMORYMANAGER_
69
70
71
void
72
artkp_Free
(
void
* rawMemory)
73
{
74
if
(!rawMemory)
75
return
;
76
77
#ifndef _ARTKP_NO_MEMORYMANAGER_
78
if
(memManager)
79
memManager->
releaseMemory
(rawMemory);
80
else
81
#endif //_ARTKP_NO_MEMORYMANAGER_
82
::free
(rawMemory);
83
84
rawMemory =
NULL
;
85
}
86
87
88
}
// namespace ARToolKitPlus
89
90
ARToolKitPlus::artkp_Free
void artkp_Free(void *nRawMemory)
Definition:
MemoryManager.cpp:72
ARToolKitPlus::getMemoryManager
ARTOOLKITPLUS_API MemoryManager * getMemoryManager()
Definition:
MemoryManager.cpp:62
ARToolKitPlus::Matrix::free
static int free(ARMat *m)
ARToolKitPlus::memManager
MemoryManager * memManager
Returns whether single or double precision is used.
Definition:
MemoryManager.cpp:51
ARToolKitPlus
This file should only be compiled when using ARToolKitPlus as a DLL.
Definition:
ar.h:60
ARToolKitPlus::setMemoryManager
ARTOOLKITPLUS_API void setMemoryManager(MemoryManager *nManager)
Definition:
MemoryManager.cpp:55
MemoryManager.h
NULL
#define NULL
Definition:
PocketKnife.h:38
ARToolKitPlus::MemoryManager::releaseMemory
virtual void releaseMemory(void *nMemoryBlock)=0
Releases a memory block that was allocated via getMemory()
ARToolKitPlus::MemoryManager
MemoryManager defines a basic interface for a custom memory manager to be uses by ARToolKitPlus...
Definition:
MemoryManager.h:60
ARTOOLKITPLUS_API
#define ARTOOLKITPLUS_API
Definition:
ARToolKitPlus.h:55
tuw_artoolkitplus
Author(s): Markus Bader
autogenerated on Sun Sep 4 2016 03:24:33