[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20888] branches/nurbs/blender: * Replaced references to Nurb struct with BlenderNurb in libNurbana

Emmanuel Stone emmanuel.stone at gmail.com
Mon Jun 15 07:13:42 CEST 2009


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");





More information about the Bf-blender-cvs mailing list