Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r2280 - in trunk: Core/Util SwigInterface


Chronological Thread 
  • From: abe@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [Manta] r2280 - in trunk: Core/Util SwigInterface
  • Date: Sat, 31 May 2008 17:16:15 -0600 (MDT)

Author: abe
Date: Sat May 31 17:16:14 2008
New Revision: 2280

Modified:
   trunk/Core/Util/Callback.h
   trunk/Core/Util/CallbackHelpers.h
   trunk/Core/Util/genCallbacks.py
   trunk/SwigInterface/mantainterface.i
Log:

Added static four data arg zero and one to the callbacks. Awesome
generation script btw! That was much much easier than modifying those
files by hand.

M    Core/Util/genCallbacks.py
M    Core/Util/Callback.h
M    Core/Util/CallbackHelpers.h
M    SwigInterface/mantainterface.i


Modified: trunk/Core/Util/Callback.h
==============================================================================
--- trunk/Core/Util/Callback.h  (original)
+++ trunk/Core/Util/Callback.h  Sat May 31 17:16:14 2008
@@ -112,6 +112,20 @@
       return new Callback_Static_3Data_2Arg<Data1, Data2, Data3, Arg1, 
Arg2>(pmf, arg1, arg2);
     }
 
+    // 4 call time args --- 0 creation time args
+    template<typename Data1, typename Data2, typename Data3, typename Data4> 
static
+    CallbackBase_4Data<Data1, Data2, Data3, Data4>*
+    create(void (*pmf)(Data1, Data2, Data3, Data4)) {
+      return new Callback_Static_4Data_0Arg<Data1, Data2, Data3, Data4>(pmf);
+    }
+
+    // 4 call time args --- 1 creation time args
+    template<typename Data1, typename Data2, typename Data3, typename Data4, 
typename Arg1> static
+    CallbackBase_4Data<Data1, Data2, Data3, Data4>*
+    create(void (*pmf)(Data1, Data2, Data3, Data4, Arg1), Arg1 arg1) {
+      return new Callback_Static_4Data_1Arg<Data1, Data2, Data3, Data4, 
Arg1>(pmf, arg1);
+    }
+
     // 4 call time args --- 2 creation time args
     template<typename Data1, typename Data2, typename Data3, typename Data4, 
typename Arg1, typename Arg2> static
     CallbackBase_4Data<Data1, Data2, Data3, Data4>*

Modified: trunk/Core/Util/CallbackHelpers.h
==============================================================================
--- trunk/Core/Util/CallbackHelpers.h   (original)
+++ trunk/Core/Util/CallbackHelpers.h   Sat May 31 17:16:14 2008
@@ -373,6 +373,45 @@
     Arg2 arg2;
   };
 
+  // 4 call time args --- 0 creating time args
+  template<typename Data1, typename Data2, typename Data3, typename Data4>
+  class Callback_Static_4Data_0Arg : public CallbackBase_4Data<Data1, Data2, 
Data3, Data4> {
+  public:
+    Callback_Static_4Data_0Arg(void (*pmf)(Data1, Data2, Data3, Data4))
+      : pmf(pmf)
+    {
+    }
+    virtual ~Callback_Static_4Data_0Arg()
+    {
+    }
+    virtual void call(Data1 data1, Data2 data2, Data3 data3, Data4 data4)
+    {
+      pmf(data1, data2, data3, data4);
+    }
+  private:
+    void (*pmf)(Data1, Data2, Data3, Data4);
+  };
+
+  // 4 call time args --- 1 creating time args
+  template<typename Data1, typename Data2, typename Data3, typename Data4, 
typename Arg1>
+  class Callback_Static_4Data_1Arg : public CallbackBase_4Data<Data1, Data2, 
Data3, Data4> {
+  public:
+    Callback_Static_4Data_1Arg(void (*pmf)(Data1, Data2, Data3, Data4, 
Arg1), Arg1 arg1)
+      : pmf(pmf), arg1(arg1)
+    {
+    }
+    virtual ~Callback_Static_4Data_1Arg()
+    {
+    }
+    virtual void call(Data1 data1, Data2 data2, Data3 data3, Data4 data4)
+    {
+      pmf(data1, data2, data3, data4, arg1);
+    }
+  private:
+    void (*pmf)(Data1, Data2, Data3, Data4, Arg1);
+    Arg1 arg1;
+  };
+
   // 4 call time args --- 2 creating time args
   template<typename Data1, typename Data2, typename Data3, typename Data4, 
typename Arg1, typename Arg2>
   class Callback_Static_4Data_2Arg : public CallbackBase_4Data<Data1, Data2, 
Data3, Data4> {

Modified: trunk/Core/Util/genCallbacks.py
==============================================================================
--- trunk/Core/Util/genCallbacks.py     (original)
+++ trunk/Core/Util/genCallbacks.py     Sat May 31 17:16:14 2008
@@ -389,7 +389,7 @@
     addFunctions(static_functions, 1, (0,1,2))
     addFunctions(static_functions, 2, (0,2))
     addFunctions(static_functions, 3, (1,2))
-    addFunctions(static_functions, 4, (2,))
+    addFunctions(static_functions, 4, (0,1,2,))
 
     addFunctions(member_functions, 0, (0,1,2,3,4))
     addFunctions(const_member_functions, 0, (0,1,2))

Modified: trunk/SwigInterface/mantainterface.i
==============================================================================
--- trunk/SwigInterface/mantainterface.i        (original)
+++ trunk/SwigInterface/mantainterface.i        Sat May 31 17:16:14 2008
@@ -172,6 +172,7 @@
 #include <Interface/TexCoordMapper.h>
 #include <Core/Util/Align.h>
 #include <Core/Util/About.h>
+#include <Interface/Image.h>
 #include <Interface/RayPacket.h>
 #include <Interface/AccelerationStructure.h>
 #include <Interface/ShadowAlgorithm.h>
@@ -186,6 +187,9 @@
 %include <Interface/Object.h>
 %include <Core/Util/Align.h>
 %include <Core/Util/About.h>
+%ignore Manta::Image::set;
+%ignore Manta::Image::get;
+%include <Interface/Image.h>
 %include <Interface/Packet.h> // moved up here for Primitive::getRandomPoints
 %include <Interface/Primitive.h>
 %include <Interface/TexCoordMapper.h>


  • [Manta] r2280 - in trunk: Core/Util SwigInterface, abe, 05/31/2008

Archive powered by MHonArc 2.6.16.

Top of page