gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] libvob/src/jni Transform.cxx


From: Tuomas J. Lukka
Subject: [Gzz-commits] libvob/src/jni Transform.cxx
Date: Wed, 23 Apr 2003 09:18:53 -0400

CVSROOT:        /cvsroot/libvob
Module name:    libvob
Changes by:     Tuomas J. Lukka <address@hidden>        03/04/23 09:18:53

Modified files:
        src/jni        : Transform.cxx 

Log message:
        Debug in trans

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/src/jni/Transform.cxx.diff?tr1=1.2&tr2=1.3&r1=text&r2=text

Patches:
Index: libvob/src/jni/Transform.cxx
diff -u libvob/src/jni/Transform.cxx:1.2 libvob/src/jni/Transform.cxx:1.3
--- libvob/src/jni/Transform.cxx:1.2    Wed Mar 12 08:37:57 2003
+++ libvob/src/jni/Transform.cxx        Wed Apr 23 09:18:53 2003
@@ -28,9 +28,12 @@
 
 #include "org_nongnu_libvob_gl_GL.h"
 #include "vobjnidef.hxx"
+#include "vob/Debug.hxx"
 
 namespace Vob {
 
+DBGVAR(dbg_trans, "JNI.transform");
+
 extern Primitives::HierarchicalTransform *defaultTransformFactory(int id) ;
 
 extern "C" {
@@ -48,16 +51,27 @@
                         (int*)0, (float*)0, 
                         (float)0, (bool)true);
 
+      DBG(dbg_trans) << "SetPoints -- now: "<<coordsys<<"\n";
+
      int arrayLength = env->GetArrayLength(j_points);
      jfloat *points = env->GetFloatArrayElements(j_points, 0);
+     int nInto = env->GetArrayLength(j_into);
+     if(arrayLength != nInto) {
+        jclass Exception = env->FindClass("java/lang/Exception");
+        env->ThrowNew(Exception,"Invalid into array length");
+     }
      jfloat *into = env->GetFloatArrayElements(j_into, 0);
 
      const Transform *cs = coordset.get(coordsys);
      if(cs != 0) {
-        if(inverse) cs = &cs->getInverse();
+        if(inverse) {
+               DBG(dbg_trans) << "Inverting...\n";
+               cs = &cs->getInverse();
+        }
         if(cs != 0)
          for(int i=0; i<arrayLength; i+=3) {
             ZPt pt(points[i], points[i+1], points[i+2]);
+            DBG(dbg_trans) << "Transform "<<pt<<"...\n";
             ZPt pt2 = cs->transform(pt);
             into[i] = pt2.x;
             into[i+1] = pt2.y;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]