Revision: 38536
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38536
Author:   nazgul
Date:     2011-07-20 12:46:22 +0000 (Wed, 20 Jul 2011)
Log Message:
-----------
Camera tracking integration
===========================

- Hide all reconreuction-related sliders from Display N-panel
  of 3D viewport if "Show Reconstruction" is turned off.
- Added setting for shape of bundle. Default is sphere.

Modified Paths:
--------------
    branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py
    branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/drawobject.c
    branches/soc-2011-tomato/source/blender/editors/space_view3d/space_view3d.c
    branches/soc-2011-tomato/source/blender/makesdna/DNA_view3d_types.h
    branches/soc-2011-tomato/source/blender/makesrna/intern/rna_space.c

Modified: branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py      
2011-07-20 12:44:29 UTC (rev 38535)
+++ branches/soc-2011-tomato/release/scripts/startup/bl_ui/space_view3d.py      
2011-07-20 12:46:22 UTC (rev 38536)
@@ -2181,11 +2181,12 @@
         layout.separator()
 
         layout.prop(view, "show_reconstruction")
-        sub = layout.column()
-        sub.active = view.show_reconstruction
-        sub.prop(view, "bundle_size")
-        sub.prop(view, "show_bundle_name")
-        sub.prop(view, "show_camera_path")
+        if view.show_reconstruction:
+            layout.label(text="Bundle type:")
+            layout.prop(view, "bundle_draw_type", text="")
+            layout.prop(view, "bundle_draw_size")
+            layout.prop(view, "show_bundle_name")
+            layout.prop(view, "show_camera_path")
 
         layout.separator()
 

Modified: branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c        
2011-07-20 12:44:29 UTC (rev 38535)
+++ branches/soc-2011-tomato/source/blender/blenloader/intern/readfile.c        
2011-07-20 12:46:22 UTC (rev 38536)
@@ -11823,10 +11823,14 @@
                                for (sl= sa->spacedata.first; sl; sl= sl->next) 
{
                                        if(sl->spacetype==SPACE_VIEW3D) {
                                                View3D *v3d= (View3D *)sl;
+
                                                if(v3d->bundle_size==0.0f) {
                                                        v3d->bundle_size= 0.1f;
                                                        v3d->flag2 |= 
V3D_SHOW_RECONSTRUCTION;
                                                }
+
+                                               if(v3d->bundle_drawtype==0)
+                                                       v3d->bundle_drawtype= 
OB_EMPTY_SPHERE;
                                        }
                                        else if(sl->spacetype==SPACE_CLIP) {
                                                SpaceClip *sc= (SpaceClip *)sl;

Modified: 
branches/soc-2011-tomato/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_view3d/drawobject.c   
2011-07-20 12:44:29 UTC (rev 38535)
+++ branches/soc-2011-tomato/source/blender/editors/space_view3d/drawobject.c   
2011-07-20 12:46:22 UTC (rev 38536)
@@ -1401,37 +1401,6 @@
        glCallList(displist);
 }
 
-static void draw_bundle_outline(void)
-{
-       static GLuint displist=0;
-
-       if (displist == 0) {
-               GLUquadricObj   *qobj;
-
-               displist= glGenLists(1);
-               glNewList(displist, GL_COMPILE);
-
-               glPushMatrix();
-
-               qobj= gluNewQuadric();
-               gluQuadricDrawStyle(qobj, GLU_SILHOUETTE);
-               gluDisk(qobj, 0.0,  0.05, 8, 1);
-
-               glRotatef(90, 0, 1, 0);
-               gluDisk(qobj, 0.0,  0.05, 8, 1);
-
-               glRotatef(90, 1, 0, 0);
-               gluDisk(qobj, 0.0,  0.05, 8, 1);
-
-               gluDeleteQuadric(qobj);
-
-               glPopMatrix();
-               glEndList();
-       }
-
-       glCallList(displist);
-}
-
 static void draw_viewport_reconstruction(Scene *scene, Base *base, View3D 
*v3d, MovieClip *clip, int flag)
 {
        MovieTracking *tracking= &clip->tracking;
@@ -1487,31 +1456,46 @@
                                        else UI_ThemeColor(TH_SELECT);
                                } else UI_ThemeColor(TH_WIRE);
 
-                               draw_bundle_outline();
+                               drawaxes(0.05f, v3d->bundle_drawtype);
 
                                glDepthMask(1);
                                glEnable(GL_LIGHTING);
                        } else if(v3d->drawtype>OB_WIRE) {
-                               /* selection outline */
-                               if(TRACK_SELECTED(track)) {
-                                       if(base==BASACT) 
UI_ThemeColor(TH_ACTIVE);
-                                       else UI_ThemeColor(TH_SELECT);
+                               if(v3d->bundle_drawtype==OB_EMPTY_SPHERE) {
+                                       /* selection outline */
+                                       if(TRACK_SELECTED(track)) {
+                                               if(base==BASACT) 
UI_ThemeColor(TH_ACTIVE);
+                                               else UI_ThemeColor(TH_SELECT);
 
-                                       glDepthMask(0);
-                                       glLineWidth(2.f);
-                                       glDisable(GL_LIGHTING);
-                                       glPolygonMode(GL_FRONT_AND_BACK, 
GL_LINE);
+                                               glDepthMask(0);
+                                               glLineWidth(2.f);
+                                               glDisable(GL_LIGHTING);
+                                               
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
 
+                                               draw_bundle_sphere();
+
+                                               
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
+                                               glEnable(GL_LIGHTING);
+                                               glLineWidth(1.f);
+                                               glDepthMask(1);
+                                       }
+
+                                       UI_ThemeColor(TH_BUNDLE_SOLID);
                                        draw_bundle_sphere();
+                               } else {
+                                       glDisable(GL_LIGHTING);
+                                       glDepthMask(0);
 
-                                       glPolygonMode(GL_FRONT_AND_BACK, 
GL_FILL);
-                                       glEnable(GL_LIGHTING);
-                                       glLineWidth(1.f);
+                                       if(TRACK_SELECTED(track)) {
+                                               if(base==BASACT) 
UI_ThemeColor(TH_ACTIVE);
+                                               else UI_ThemeColor(TH_SELECT);
+                                       } else UI_ThemeColor(TH_WIRE);
+
+                                       drawaxes(0.05f, v3d->bundle_drawtype);
+
                                        glDepthMask(1);
+                                       glEnable(GL_LIGHTING);
                                }
-
-                               UI_ThemeColor(TH_BUNDLE_SOLID);
-                               draw_bundle_sphere();
                        }
 
                glPopMatrix();

Modified: 
branches/soc-2011-tomato/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/space_view3d/space_view3d.c 
2011-07-20 12:44:29 UTC (rev 38535)
+++ branches/soc-2011-tomato/source/blender/editors/space_view3d/space_view3d.c 
2011-07-20 12:46:22 UTC (rev 38536)
@@ -262,6 +262,7 @@
        v3d->around= V3D_CENTROID;
        
        v3d->bundle_size= 0.1f;
+       v3d->bundle_drawtype= OB_EMPTY_SPHERE;
        
        /* header */
        ar= MEM_callocN(sizeof(ARegion), "header for view3d");

Modified: branches/soc-2011-tomato/source/blender/makesdna/DNA_view3d_types.h
===================================================================
--- branches/soc-2011-tomato/source/blender/makesdna/DNA_view3d_types.h 
2011-07-20 12:44:29 UTC (rev 38535)
+++ branches/soc-2011-tomato/source/blender/makesdna/DNA_view3d_types.h 
2011-07-20 12:46:22 UTC (rev 38536)
@@ -148,7 +148,11 @@
        short blockhandler[8];
        
        float viewquat[4], dist;        /* XXX depricated */
+
        float bundle_size;                      /* size of bundles in 
reconstructed data */
+       short bundle_drawtype;          /* display style for bundle */
+
+       char pad[6];
        
        unsigned int lay_used; /* used while drawing */
        

Modified: branches/soc-2011-tomato/source/blender/makesrna/intern/rna_space.c
===================================================================
--- branches/soc-2011-tomato/source/blender/makesrna/intern/rna_space.c 
2011-07-20 12:44:29 UTC (rev 38535)
+++ branches/soc-2011-tomato/source/blender/makesrna/intern/rna_space.c 
2011-07-20 12:46:22 UTC (rev 38536)
@@ -1208,6 +1208,16 @@
                {RV3D_CAMOB, "CAMERA", 0, "Camera", ""},
                {0, NULL, 0, NULL, NULL}};
        
+       static EnumPropertyItem bundle_drawtype_items[] = {
+               {OB_PLAINAXES, "PLAIN_AXES", 0, "Plain Axes", ""},
+               {OB_ARROWS, "ARROWS", 0, "Arrows", ""},
+               {OB_SINGLE_ARROW, "SINGLE_ARROW", 0, "Single Arrow", ""},
+               {OB_CIRCLE, "CIRCLE", 0, "Circle", ""},
+               {OB_CUBE, "CUBE", 0, "Cube", ""},
+               {OB_EMPTY_SPHERE, "SPHERE", 0, "Sphere", ""},
+               {OB_EMPTY_CONE, "CONE", 0, "Cone", ""},
+               {0, NULL, 0, NULL, NULL}};
+       
        srna= RNA_def_struct(brna, "SpaceView3D", "Space");
        RNA_def_struct_sdna(srna, "View3D");
        RNA_def_struct_ui_text(srna, "3D View Space", "3D View space data");
@@ -1437,12 +1447,18 @@
        RNA_def_property_ui_text(prop, "Show Reconstruction", "Display 
reconstruction data from active movie clip");
        RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
 
-       prop= RNA_def_property(srna, "bundle_size", PROP_FLOAT, PROP_NONE);
+       prop= RNA_def_property(srna, "bundle_draw_size", PROP_FLOAT, PROP_NONE);
        RNA_def_property_range(prop, 0.0, FLT_MAX);
        RNA_def_property_float_sdna(prop, NULL, "bundle_size");
        RNA_def_property_ui_text(prop, "Bundle Size", "Display size of bundles 
from reconstructed data");
        RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
 
+       prop= RNA_def_property(srna, "bundle_draw_type", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "bundle_drawtype");
+       RNA_def_property_enum_items(prop, bundle_drawtype_items);
+       RNA_def_property_ui_text(prop, "Bundle Display Type", "Viewport display 
style for bundles");
+       RNA_def_property_update(prop, NC_SPACE|ND_SPACE_VIEW3D, NULL);
+
        prop= RNA_def_property(srna, "show_camera_path", PROP_BOOLEAN, 
PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_SHOW_CAMERAPATH);
        RNA_def_property_ui_text(prop, "Show Camera Path", "Show reconstructed 
path of ameraip");

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to