Revision: 20888
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20888
Author:   eman
Date:     2009-06-15 07:13:39 +0200 (Mon, 15 Jun 2009)

Log Message:
-----------
* Replaced references to Nurb struct with BlenderNurb in libNurbana
* Added 'public:' to Object_NURBS class definition, must have got lost in the 
trimCurve merge
* Removed extraneous printfs from nbSubDiv.cpp
* Added new but disabled TrimCurve button to buttons_editing.c

Modified Paths:
--------------
    branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.cpp
    branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.h
    branches/nurbs/blender/intern/nurbana/intern/blenderNurbsStruct.h
    branches/nurbs/blender/intern/nurbana/intern/libNurbana.cpp
    branches/nurbs/blender/intern/nurbana/intern/nbTrimTessellator.cpp
    branches/nurbs/blender/intern/nurbana/intern/trim/nbSubDiv.cpp
    branches/nurbs/blender/source/blender/src/buttons_editing.c

Modified: branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.cpp
===================================================================
--- branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.cpp       
2009-06-15 01:56:46 UTC (rev 20887)
+++ branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.cpp       
2009-06-15 05:13:39 UTC (rev 20888)
@@ -127,7 +127,7 @@
        return p; //FIXME eman check correct
 }
 
-void Object_NURBS::addTrimCurve(Nurb* curve) {
+void Object_NURBS::addTrimCurve(BlenderNurbs* curve) {
        if (!m_blenderData->m_trimCurve) {
                if (tsslltr)
                        delete tsslltr;

Modified: branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.h
===================================================================
--- branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.h 2009-06-15 
01:56:46 UTC (rev 20887)
+++ branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.h 2009-06-15 
05:13:39 UTC (rev 20888)
@@ -23,9 +23,9 @@
 #include "blenderNurbsStruct.h"
 
 class nbTessellator;
-class Object_NURBS {// : protected BlenderNurbs {
+class Object_NURBS {
+public:
 
-
        Object_NURBS();
        Object_NURBS(BlenderNurbs *bNurbs);
        ~Object_NURBS();
@@ -88,7 +88,7 @@
                *((&m_recalculateKnotVectorU) + uv) = value; //FIXME ?
        }
     
-    Nurb& getFirstTrimCurve() {
+    BlenderNurbs& getFirstTrimCurve() {
        return *m_blenderData->m_trimCurve;
     }
 
@@ -98,7 +98,7 @@
        void            RecalculateKnotVector(bool V)
        { m_recalculateKnotVector= V; }
     nbPolygon& getTess(nbPolygon& p);
-    void addTrimCurve(Nurb* curve);
+    void addTrimCurve(BlenderNurbs* curve);
 
        void reallocCtlPts(int U, int V, int shiftU, int shiftV);
 

Modified: branches/nurbs/blender/intern/nurbana/intern/blenderNurbsStruct.h
===================================================================
--- branches/nurbs/blender/intern/nurbana/intern/blenderNurbsStruct.h   
2009-06-15 01:56:46 UTC (rev 20887)
+++ branches/nurbs/blender/intern/nurbana/intern/blenderNurbsStruct.h   
2009-06-15 05:13:39 UTC (rev 20888)
@@ -102,7 +102,7 @@
 
        void * m_nurbanaPtr;
 
-       struct Nurb *m_trimCurve;
+       struct BlenderNurbs *m_trimCurve;
 };
 #endif
 #ifndef _BLENDERNURBSSTRUCT_H

Modified: branches/nurbs/blender/intern/nurbana/intern/libNurbana.cpp
===================================================================
--- branches/nurbs/blender/intern/nurbana/intern/libNurbana.cpp 2009-06-15 
01:56:46 UTC (rev 20887)
+++ branches/nurbs/blender/intern/nurbana/intern/libNurbana.cpp 2009-06-15 
05:13:39 UTC (rev 20888)
@@ -616,8 +616,8 @@
 
 void NRB_addTrimCurve(NurbanaObj_ptr surface, void* curve) {
        Object_NURBS *s;
-       Nurb *c;
+       BlenderNurbs *c;
        s = reinterpret_cast<Object_NURBS*>(surface);
-       c = reinterpret_cast<Nurb*>(curve);
+       c = reinterpret_cast<BlenderNurbs*>(curve);
     s -> addTrimCurve(c);
 }

Modified: branches/nurbs/blender/intern/nurbana/intern/nbTrimTessellator.cpp
===================================================================
--- branches/nurbs/blender/intern/nurbana/intern/nbTrimTessellator.cpp  
2009-06-15 01:56:46 UTC (rev 20887)
+++ branches/nurbs/blender/intern/nurbana/intern/nbTrimTessellator.cpp  
2009-06-15 05:13:39 UTC (rev 20888)
@@ -61,8 +61,8 @@
        float start[] = {(m_nurbs.m_blenderData->m_knotsuv[0])[degree[0]], 
(m_nurbs.m_blenderData->m_knotsuv[1])[degree[1]]};
        float last[] = {(m_nurbs.m_blenderData->m_knotsuv[0])[length[0] + 
(m_nurbs.Cyclic(0)? degree[0]: 1)], 
(m_nurbs.m_blenderData->m_knotsuv[1])[length[1] + (m_nurbs.Cyclic(1)? 
degree[1]: 1)]};
        float step[] = {(last[0] - start[0]) / (lengthUV[0]), (last[1] - 
start[1]) / (lengthUV[1])};
-       for (Nurb* nu = &m_nurbs.getFirstTrimCurve(); nu != NULL; nu = nu -> 
next)
-               ((Object_NURBS*) nu -> nurbanaPtr) -> getTess(p);
+       for (BlenderNurbs* nu = &m_nurbs.getFirstTrimCurve(); nu != NULL; nu = 
nu -> m_next)
+               ((Object_NURBS*) nu -> m_nurbanaPtr) -> getTess(p);
 
        nbTrimPatch patch(start, last, cyclic);
        nbTessGrid grid(lengthUV, start, last, step);

Modified: branches/nurbs/blender/intern/nurbana/intern/trim/nbSubDiv.cpp
===================================================================
--- branches/nurbs/blender/intern/nurbana/intern/trim/nbSubDiv.cpp      
2009-06-15 01:56:46 UTC (rev 20887)
+++ branches/nurbs/blender/intern/nurbana/intern/trim/nbSubDiv.cpp      
2009-06-15 05:13:39 UTC (rev 20888)
@@ -156,7 +156,7 @@
                }
        }
        if (retVal > 2) {
-               print();
+       /*      print();
                std::cout << "Edge: (" << v0[0] << ", " << v0[1] << "), (" << 
v1[0] << ", " << v1[1] << ")" << std::endl;
                for (int i = 0; i < 2; i++)
                        for (int j = 0; j < 2; j++)
@@ -164,7 +164,7 @@
                for (int i = 0; i < retVal; i++)
                        std::cout << intrs[i] << std::endl;
                std::cout << "ints: " << retVal << std::endl;
-               std::cout.flush();
+               std::cout.flush();*/
        }
        //std::cout << "ints: " << retVal << std::endl;
        assert(retVal <= 2);
@@ -487,8 +487,8 @@
                std::list<nbHotPoint*> insidePoly;
                for (std::list<nbHotPoint*>::iterator v = frst; v != lst; ) {
                        if (edges[0] == edges[1]) {
-                               std::cout << "new Point: ";
-                               (*v) -> print();
+                               //std::cout << "new Point: ";
+                               //(*v) -> print();
                        }
                        insidePoly.push_back(*v);
                        v++;

Modified: branches/nurbs/blender/source/blender/src/buttons_editing.c
===================================================================
--- branches/nurbs/blender/source/blender/src/buttons_editing.c 2009-06-15 
01:56:46 UTC (rev 20887)
+++ branches/nurbs/blender/source/blender/src/buttons_editing.c 2009-06-15 
05:13:39 UTC (rev 20888)
@@ -3704,6 +3704,40 @@
                }
        }
 }
+
+static void testTrim(void *a, void *b) {
+       Curve* cu = (Curve*) b;
+    Object* ob = (Object*) cu -> bevobj;
+       Nurb *nu = (Nurb*) a;
+       if (!ob)
+               return;
+       //DispList* dl = (DispList*) cu -> disp.first;
+               //dl -> in
+       NRB_addTrimCurve(nu -> nurbanaPtr, ((Curve*)ob -> data) -> nurb.first);
+}
+/* only for bevel or taper */
+static void test_trim_but(char *name, ID **idpp)
+{
+       ID *id;
+
+       for(id= G.main->object.first; id; id= id->next) {
+               if( strcmp(name, id->name+2)==0 ) {
+                       if (((Object *)id)->type != OB_CURVE) {
+                               error ("Trim Object must be a Curve or Text");
+                               break;
+                       }
+                       //                      if(id == (ID *)OBACT) {
+                       //                              error ("Cannot 
Bevel/Taper own Object");
+                       //                              break;
+                       //                      }
+                               
+                       *idpp= id;
+                       return;
+               }
+       }
+       *idpp= NULL;
+}
+
 static void editing_panel_curve_tools2(Object *ob, Curve *cu)
 {
        Nurb *nu;
@@ -3735,6 +3769,8 @@
                        }
                        if(nu->pntsv > 1 && nu->knottypeu == 1 &&  
nu->knottypev == 1 && !(nu->flagu & CU_CYCLIC) && !(nu->flagv & CU_CYCLIC))
                        {
+                               //but = uiDefIDPoinBut(block, test_trim_but, 
ID_OB, B_CHANGEDEP, "TrimCurve:", 5,-50,150,19, &cu -> bevobj, "");
+                               //uiButSetFunc(but, testTrim, nu, cu);
                                uiDefBut(block, BUT, B_DEGREEREDUCEU, "Reduce 
U", 10,130-132,100, 19,0, 0, 0, 0, 0, "Decrease the Order of selected surface 
in U");
                                uiDefBut(block, BUT, B_DEGREEREDUCEV, "V", 
110,130-132,50, 19,0, 0, 0, 0, 0, "Decrease the Order of selected surface in 
V");
                        }
@@ -3754,6 +3790,8 @@
                                        uiDefBut(block, BUT, B_SUBDIVCURVEU, 
"Subdivide", 10,130-88,150, 19,0, 0, 0, 0, 0, "Increase resolution of selected 
curve");
                                uiDefBut(block, BUT, B_DEGREEELEVATEU, "Degree 
Elevate", 10,130-110,150, 19,0, 0, 0, 0, 0, "Increase the Order of selected 
surface in U");
                        }
+                       //but = uiDefIDPoinBut(block, test_trim_but, ID_OB, 
B_CHANGEDEP, "TrimCurve:", 5,-50,150,19, &cu -> bevobj, "");
+                       //uiButSetFunc(but, testTrim, nu, cu);
                //      uiDefBut(block, BUT, B_DEGREEELEVATEU, "Temp Elevate 
U", 10,130-172,100, 19,0, 0, 0, 0, 0, "Increase the Order of selected surface 
in U");
                //      uiDefBut(block, BUT, B_DEGREEREDUCE, "Degree Reduce", 
10,130-132,150, 19,0, 0, 0, 0, 0, "FIXME selected");
                //      uiDefBut(block, BUT, B_REFINECURVE, "Degree Refine", 
10,130-154,150, 19,0, 0, 0, 0, 0, "FIXME selected");


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

Reply via email to