瀏覽代碼

added dir3d to reanttweakbar

Former-commit-id: 486c97a347696d8e4132104411ed5c188c4f95c3
Alec Jacobson (jalec 12 年之前
父節點
當前提交
810f913e79
共有 1 個文件被更改,包括 31 次插入1 次删除
  1. 31 1
      include/igl/ReAntTweakBar.cpp

+ 31 - 1
include/igl/ReAntTweakBar.cpp

@@ -44,7 +44,7 @@ namespace igl
     const char * type_str;
   };
 
-  #define RETW_NUM_DEFAULT_TYPE_STRINGS 23
+  #define RETW_NUM_DEFAULT_TYPE_STRINGS 24
   ReTwTypeString ReTwDefaultTypeStrings[RETW_NUM_DEFAULT_TYPE_STRINGS] = 
   {
     {TW_TYPE_UNDEF,"TW_TYPE_UNDEF"},
@@ -298,6 +298,13 @@ std::string igl::ReTwBar::get_value_as_string(
         sstr << c[0] << " " << c[1] << " " << c[2];
         break;
       }
+    case TW_TYPE_DIR3D:
+      {
+        sstr << "TW_TYPE_DIR3D" << " ";
+        double * d = static_cast<double*>(var);
+        sstr << d[0] << " " << d[1] << " " << d[2];
+        break;
+      }
     case TW_TYPE_DIR3F:
       {
         sstr << "TW_TYPE_DIR3F" << " ";
@@ -508,6 +515,19 @@ bool igl::ReTwBar::set_value_from_string(
         }
         break;
       }
+    //case TW_TYPE_COLOR3D:
+    case TW_TYPE_DIR3D:
+      {
+        if(sscanf(value_str," %lf %lf %lf",&d[0],&d[1],&d[2]) == 3)
+        {
+          value = &d;
+        }else
+        {
+          printf("ERROR: Bad value format...\n");
+          return false;
+        }
+        break;
+      }
     case TW_TYPE_COLOR3F:
     case TW_TYPE_DIR3F:
       {
@@ -631,6 +651,16 @@ bool igl::ReTwBar::set_value_from_string(
             fvar[3] = fvalue[3];
             break;
           }
+        //case TW_TYPE_COLOR3D:
+        case TW_TYPE_DIR3D:
+          {
+            double * dvar = static_cast<double*>(var);
+            double * dvalue = static_cast<double*>(value);
+            dvar[0] = dvalue[0];
+            dvar[1] = dvalue[1];
+            dvar[2] = dvalue[2];
+            break;
+          }
         case TW_TYPE_COLOR3F:
         case TW_TYPE_DIR3F:
           {