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 
42 #include <malloc.h>
43 
44 
45 namespace ARToolKitPlus
46 {
47 
48 
49 #ifndef _ARTKP_NO_MEMORYMANAGER_
50 
52 
53 
56 {
57  memManager = nManager;
58 }
59 
60 
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 
void artkp_Free(void *nRawMemory)
ARTOOLKITPLUS_API MemoryManager * getMemoryManager()
static int free(ARMat *m)
MemoryManager * memManager
Returns whether single or double precision is used.
This file should only be compiled when using ARToolKitPlus as a DLL.
Definition: ar.h:60
ARTOOLKITPLUS_API void setMemoryManager(MemoryManager *nManager)
#define NULL
Definition: PocketKnife.h:38
virtual void releaseMemory(void *nMemoryBlock)=0
Releases a memory block that was allocated via getMemory()
MemoryManager defines a basic interface for a custom memory manager to be uses by ARToolKitPlus...
Definition: MemoryManager.h:60
#define ARTOOLKITPLUS_API
Definition: ARToolKitPlus.h:55


tuw_artoolkitplus
Author(s): Markus Bader
autogenerated on Sun Sep 4 2016 03:24:33