optionally use guarded alloc for tiles compositor, also replace allocation functions...
[blender.git] / source / gameengine / Rasterizer / RAS_Deformer.h
index 75c0dcd1eeb55b864e5cdc00f9803233fb1e4865..627db2b63fb45675b9cc25901b2856359ca487be 100644 (file)
@@ -1,6 +1,4 @@
-/**
- * $Id$
- *
+/*
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -15,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
  * All rights reserved.
  * ***** END GPL LICENSE BLOCK *****
  */
 
-#ifndef RAS_DEFORMER
-#define RAS_DEFORMER
+/** \file RAS_Deformer.h
+ *  \ingroup bgerast
+ */
+
+#ifndef __RAS_DEFORMER_H__
+#define __RAS_DEFORMER_H__
 
-#ifdef WIN32
+#if defined(WIN32) && !defined(FREE_WINDOWS)
 #pragma warning (disable:4786) // get rid of stupid stl-visual compiler debug warning
 #endif //WIN32
 
 #include <stdlib.h>
-#include "GEN_Map.h"
+#include "CTR_Map.h"
+
+#ifdef WITH_CXX_GUARDEDALLOC
+#include "MEM_guardedalloc.h"
+#endif
 
 struct DerivedMesh;
 class RAS_MeshObject;
@@ -45,7 +51,7 @@ class RAS_Deformer
 public:
        RAS_Deformer() : m_pMesh(NULL), m_bDynamic(false) {};
        virtual ~RAS_Deformer(){};
-       virtual void Relink(GEN_Map<class GEN_HashedPtr, void*>*map)=0;
+       virtual void Relink(CTR_Map<class CTR_HashedPtr, void*>*map)=0;
        virtual bool Apply(class RAS_IPolyMaterial *polymat)=0;
        virtual bool Update(void)=0;
        virtual bool UpdateBuckets(void)=0;
@@ -72,6 +78,10 @@ public:
        {
                return NULL;
        }
+       virtual struct DerivedMesh* GetPhysicsMesh()
+       {
+               return NULL;
+       }
        virtual class RAS_MeshObject* GetRasMesh()
        {
                /* m_pMesh does not seem to be being used?? */
@@ -82,6 +92,11 @@ public:
 protected:
        class RAS_MeshObject    *m_pMesh;
        bool  m_bDynamic;       
+
+
+#ifdef WITH_CXX_GUARDEDALLOC
+       MEM_CXX_CLASS_ALLOC_FUNCS("GE:RAS_Deformer")
+#endif
 };
 
 #endif