Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r1337 - trunk/Interface


Chronological Thread 
  • From: bigler@sci.utah.edu
  • To: manta@sci.utah.edu
  • Subject: [MANTA] r1337 - trunk/Interface
  • Date: Thu, 12 Apr 2007 00:19:08 -0600 (MDT)

Author: bigler
Date: Thu Apr 12 00:19:07 2007
New Revision: 1337

Modified:
   trunk/Interface/Callback.h
   trunk/Interface/CallbackHelpers.h
Log:

Added Callback_Static_3Data_1Arg.


Modified: trunk/Interface/Callback.h
==============================================================================
--- trunk/Interface/Callback.h  (original)
+++ trunk/Interface/Callback.h  Thu Apr 12 00:19:07 2007
@@ -86,6 +86,14 @@
 
     // 3 Data
     template<typename Data1, typename Data2, typename Data3,
+             typename Arg1> static
+    CallbackBase_3Data<Data1, Data2, Data3>*
+    create(void (*pmf)(Data1, Data2, Data3, Arg1),
+           Arg1 arg1) {
+      return new Callback_Static_3Data_1Arg<Data1, Data2, Data3, Arg1>(pmf, 
arg1);
+    }
+
+    template<typename Data1, typename Data2, typename Data3,
              typename Arg1, typename Arg2> static
     CallbackBase_3Data<Data1, Data2, Data3>*
     create(void (*pmf)(Data1, Data2, Data3, Arg1, Arg2),

Modified: trunk/Interface/CallbackHelpers.h
==============================================================================
--- trunk/Interface/CallbackHelpers.h   (original)
+++ trunk/Interface/CallbackHelpers.h   Thu Apr 12 00:19:07 2007
@@ -294,6 +294,27 @@
 
   // 3 Data
   template<typename Data1, typename Data2, typename Data3,
+           typename Arg1>
+  class Callback_Static_3Data_1Arg : public CallbackBase_3Data<Data1, Data2, 
Data3> {
+  public:
+    Callback_Static_3Data_1Arg(void (*pmf)(Data1, Data2, Data3, Arg1),
+                               Arg1 arg1)
+      : pmf(pmf), arg1(arg1)
+    {
+    }
+    virtual ~Callback_Static_3Data_1Arg()
+    {
+    }
+    virtual void call(Data1 data1, Data2 data2, Data3 data3)
+    {
+      pmf(data1, data2, data3, arg1);
+    }
+  private:
+    void (*pmf)(Data1, Data2, Data3, Arg1);
+    Arg1 arg1;
+  };
+
+  template<typename Data1, typename Data2, typename Data3,
            typename Arg1, typename Arg2>
   class Callback_Static_3Data_2Arg : public CallbackBase_3Data<Data1, Data2, 
Data3> {
   public:




  • [MANTA] r1337 - trunk/Interface, bigler, 04/12/2007

Archive powered by MHonArc 2.6.16.

Top of page