[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31244] branches/nurbs-merge: Small code cleaning, no functionality change.

Sergey Sharybin g.ulairi at gmail.com
Wed Aug 11 17:38:54 CEST 2010


Revision: 31244
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31244
Author:   nazgul
Date:     2010-08-11 17:38:54 +0200 (Wed, 11 Aug 2010)

Log Message:
-----------
Small code cleaning, no functionality change.

Merge rev28244 from nurbs25 branch

Revision Links:
--------------
    http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28244

Modified Paths:
--------------
    branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbConstruct.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbConstruct.h
    branches/nurbs-merge/intern/nurbana/intern/nbDegree.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbDegree.h
    branches/nurbs-merge/intern/nurbana/intern/nbFitting.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbFitting.h
    branches/nurbs-merge/intern/nurbana/intern/nbGenerate.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbGenerate.h
    branches/nurbs-merge/intern/nurbana/intern/nbGridTessellator.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbKnot.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbNURBS.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbNURBS.h
    branches/nurbs-merge/intern/nurbana/intern/nbPrimitives.cpp
    branches/nurbs-merge/intern/nurbana/intern/nbPrimitives.h
    branches/nurbs-merge/intern/nurbana/intern/nbTessellator.h
    branches/nurbs-merge/intern/nurbana/intern/nbTrimTessellator.cpp
    branches/nurbs-merge/source/blender/editors/curve/editcurve.c
    branches/nurbs-merge/source/blender/editors/include/ED_view3d.h
    branches/nurbs-merge/source/blender/editors/space_view3d/drawobject.c

Modified: branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp
===================================================================
--- branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp	2010-08-11 15:38:20 UTC (rev 31243)
+++ branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp	2010-08-11 15:38:54 UTC (rev 31244)
@@ -66,7 +66,7 @@
 // Initialises an already created object to be a particular kind of geometric primitive e.g. sphere 
 NurbanaObj_ptr NRB_CreatePrimitive(NurbanaObj_ptr nop, unsigned char type) {
 	nbNURBS *on = reinterpret_cast<nbNURBS*>(nop);
-	nbPrimitives::Create(on, type);
+	nbPrimitives::create(on, type);
 	return nop;
 }
 
@@ -76,7 +76,7 @@
 
 	if (on->getLength(0,0) + on->getLength(1,0)) {
 		on->setCacheBuffer();
-		on->ResetIsoLines();
+		on->resetIsoLines();
 	}
 }*/
 
@@ -182,7 +182,7 @@
 	nbNURBS *on;
 	on = reinterpret_cast<nbNURBS*>(nurb);
 	nbReal4 *src = buffer;
-	Point3d *dst = on->CtlPts() + uOffset + vOffset * on->Length(0);
+	Point3d *dst = on->getCtlPts() + uOffset + vOffset * on->Length(0);
 	int nextDstCurve = on->Length(0);
 	for (int j = 0; j < curveCount; j++, src += nextCurve, dst += nextDstCurve) {
 		for (int i = 0; i < curveLength; i++) {
@@ -232,7 +232,7 @@
 	on2 = reinterpret_cast<nbNURBS*>(in2);
 	on3 = reinterpret_cast<nbNURBS*>(out);
 	
-	nbConstruct::Blend(on1, on2, on3, edgeA, edgeB, 0);
+	nbConstruct::blend(on1, on2, on3, edgeA, edgeB, 0);
 	NRB_Print(out);
 }
 
@@ -240,8 +240,8 @@
 	nbNURBS *on;
 	on = reinterpret_cast<nbNURBS*>(nop);
 	bool cyclic = on->Cyclic(uv);
-	int degree = on->Order(uv) - 1;
-	nbReal* knots = on->KnotVector(uv);
+	int degree = on->getOrder(uv) - 1;
+	nbReal* knots = on->getKnotVector(uv);
 
 	int curveLength = on->Length(uv);
 	int curveCount = on->Length(!uv);
@@ -250,7 +250,7 @@
 	int nextDstCp = uv ? dstLen : 1;
 	int nextDstCurve = uv ? 1 : dstLen;
 
-	nbKnot::split(on->CtlPts(), curveLength, curveCount, nextCp, nextCurve, dst, nextDstCp, nextDstCurve, knots, degree, x, cyclic, *k, *newPoints, *inserted, *frstLen, *scndLen, true);
+	nbKnot::split(on->getCtlPts(), curveLength, curveCount, nextCp, nextCurve, dst, nextDstCp, nextDstCurve, knots, degree, x, cyclic, *k, *newPoints, *inserted, *frstLen, *scndLen, true);
 
 }
 
@@ -261,7 +261,7 @@
 	nbReal4 *frstPatch, *scndPatch;
 	bool cyclic = on->Cyclic(uv);
 	int newLen, lengthU, lengthV, uOffset1, curveLen, curveCount;
-	const int order = on->Order(uv);
+	const int order = on->getOrder(uv);
 	const int degree = order - 1;
 	nbReal  *tmpKnots = (nbReal* ) MEM_callocN((newLength + 2 * order) * sizeof(*tmpKnots), "Knots");
 	if (cyclic) {
@@ -276,9 +276,9 @@
 		lengthU = uv ? frst->Length(0) : newLen;
 		lengthV = uv ? newLen : frst->Length(1);
 		frst->setKnotType(uv,0);
-		memcpy(tmpKnots, frst->KnotVector(uv), (frst->Length(uv) + 2 * degree + 1 ) * sizeof(*tmpKnots));
+		memcpy(tmpKnots, frst->getKnotVector(uv), (frst->Length(uv) + 2 * degree + 1 ) * sizeof(*tmpKnots));
 		frst->setLengthRef(lengthU, lengthV, 0, 0, 0);
-		knots = frst->KnotVector(uv);
+		knots = frst->getKnotVector(uv);
 
 		int i = 0;
 		for (int j = 0; j < order; j++, i++)
@@ -310,18 +310,18 @@
 		scnd->setKnotType(uv, 9);
 		frst->setKnotType(uv, 9);
 		scnd->setLengthRef(lengthU, lengthV, 0, 0, 0);
-		knots2 = scnd->KnotVector(uv);
-		knots1 = frst->KnotVector(uv);
+		knots2 = scnd->getKnotVector(uv);
+		knots1 = frst->getKnotVector(uv);
 
 		scnd->Length(0, lengthU);
 		scnd->Length(1, lengthV);
 		//TODO: seting dimension for frst doesn't release memory for unused cp
 		//maybe we should have two variables for one dimension: one allocated mem inbuffer, second for used
 		frst->Length(uv, frstLen);
-		toCopy = frst->Length(!uv) + frst->Order(!uv);
+		toCopy = frst->Length(!uv) + frst->getOrder(!uv);
 		if (frst->Cyclic(!uv))
-			toCopy += frst->Order(!uv) - 1;
-		memcpy(scnd->KnotVector(!uv), frst->KnotVector(!uv), toCopy * sizeof(nbReal));
+			toCopy += frst->getOrder(!uv) - 1;
+		memcpy(scnd->getKnotVector(!uv), frst->getKnotVector(!uv), toCopy * sizeof(nbReal));
 		scnd->setCacheBuffer();
 		int i = 0;
 		for (i = 0; i <= degree; i++)
@@ -404,7 +404,7 @@
 void NRB_DegreeReduce(NurbanaObj_ptr nop, int Udec, int Vdec) {
 	nbNURBS *on;
 	on = reinterpret_cast<nbNURBS*>(nop);
-	nbDegree::Reduce(on, Udec, Vdec );
+	nbDegree::reduce(on, Udec, Vdec );
 	NRB_Print(on);
 }
 
@@ -413,7 +413,7 @@
 	int inc[] = {Uinc, Vinc};
 	nbNURBS *on;
 	on = reinterpret_cast<nbNURBS*>(nop);
-	nbDegree::Elevate(on, inc);
+	nbDegree::elevate(on, inc);
 	on->setCacheBuffer();
 	NRB_Print(on);
 }
@@ -468,13 +468,12 @@
 	nbNURBS *on;
 	//	int ntps;
 	on = reinterpret_cast<nbNURBS*>(nop);
-	on->ResetIsoLines();
+	on->resetIsoLines();
 }
 
 
 int NRB_getNumTessPoints(NurbanaObj_ptr nop) {
 	nbNURBS *on;
-	int ntps;
 	on = reinterpret_cast<nbNURBS*>(nop);
 	return on->tsslltr->getVertexCount();
 }
@@ -483,13 +482,13 @@
 	nbNURBS *on;
 	//	int ntps;
 	on = reinterpret_cast<nbNURBS*>(nop);
-//	nbFitting::GlobalInterp(on,5,4,1,(nbReal3*)buffer);
+//	nbFitting::globalInterp(on,5,4,1,(nbReal3*)buffer);
 //		on->setCacheBuffer();
-	int CPU = 5;
-	Point3d *U = (Point3d*)MEM_callocN(sizeof(Point3d)*CPU,"GlobalInterp U");
-	nbGenerate::Surface(on, (nbReal*)buffer, CPU,1,3);
-	nbFitting::GlobalInterpCurve(U,CPU,on->Order(0)-1,on->KnotVector(0),2);
-	for(int i=0;i<CPU;i++)
+	int cpu = 5;
+	Point3d *U = (Point3d*)MEM_callocN(sizeof(Point3d)*cpu,"GlobalInterp U");
+	nbGenerate::surface(on, (nbReal*)buffer, cpu,1,3);
+	nbFitting::globalInterpCurve(U,cpu,on->getOrder(0)-1,on->getKnotVector(0),2);
+	for(int i=0;i<cpu;i++)
 		printf("U[%d] %.3f,.%3f,%.3f\n",i,U[i].x,U[i].y,U[i].z);
 
 }
@@ -528,15 +527,15 @@
 	return on->getKnotLength(uv);
 
 /*	if(on->Cyclic(uv))
-		return (on->Length(uv) + on->Order(uv) + on->Order(uv) - 1); // don't need a different number for cyclic because of virtual CP
+		return (on->Length(uv) + on->getOrder(uv) + on->getOrder(uv) - 1); // don't need a different number for cyclic because of virtual CP
 	else
-		return (on->Length(uv) + on->Order(uv));//FIXME*/
+		return (on->Length(uv) + on->getOrder(uv));//FIXME*/
 }
 
 int NRB_getOrder(int uv,NurbanaObj_ptr nurb) {
 	nbNURBS *on;
 	on = reinterpret_cast<nbNURBS*>(nurb);
-	return (on->Order(uv));
+	return (on->getOrder(uv));
 }
 
 nbReal NRB_getLastKnotValue(NurbanaObj_ptr nurb,int uv) {
@@ -567,7 +566,7 @@
 		nbGenerate::KnotVector(on);
 		on->RecalculateKnotVector(0);
 	}
-	//nbGenerate::Surface(on,buffer, resU, resV, dim);
+	//nbGenerate::surface(on,buffer, resU, resV, dim);
 	on->tsslltr->getVertexes(buffer);
 	MEM_check_memory_integrity();
 	return buffer;
@@ -581,7 +580,7 @@
 		nbGenerate::KnotVector(on);
 		on->RecalculateKnotVector(0);
 	}
-	nbGenerate::CurveOnSurface(on,buffer, res, t, uv, dim);
+	nbGenerate::curveOnSurface(on,buffer, res, t, uv, dim);
 	return buffer;
 }
 
@@ -593,7 +592,7 @@
 		on->RecalculateKnotVector(0);
 	}
 
-	nbGenerate::Curve(on,buffer, tiltBuffer, radiusBuffer, res, false);
+	nbGenerate::curve(on,buffer, tiltBuffer, radiusBuffer, res, false);
 	return buffer;
 }
 nbReal3* NRB_GenerateNormals(NurbanaObj_ptr nop) {

Modified: branches/nurbs-merge/intern/nurbana/intern/nbConstruct.cpp
===================================================================
--- branches/nurbs-merge/intern/nurbana/intern/nbConstruct.cpp	2010-08-11 15:38:20 UTC (rev 31243)
+++ branches/nurbs-merge/intern/nurbana/intern/nbConstruct.cpp	2010-08-11 15:38:54 UTC (rev 31244)
@@ -1,205 +1,69 @@
 #include "nbConstruct.h"
 
 
-void nbConstruct::Loft(nbNURBS **objs, int N, int V) {
-	// obj2 and obj3 are Input curves, obj1 is output surface
-	int		i,k,MaxOrder,KVtmplen,KVlen,Difflen;
-	nbReal	MaxKnot,KVtmp[128],KVfnl[128],Diff[128];
-
-	// Since algorithm is built around N x 1 curves, change all 1 x N to N x 1
-	for(i= 1; i < N; i++)
-		if (objs[i]->Length(0) == 1) {
-			objs[i]->Length(0,objs[i]->Length(1));
-			objs[i]->Length(1,1);
-
-			objs[i]->Order(0,objs[i]->Order(1));
-			objs[i]->Order(1,2);
-
-			objs[i]->setLength(objs[i]->Length(0),objs[i]->Length(0));
-
-			for(k= 0; k < objs[i]->Length(0) + objs[i]->Order(0); k++)
-				objs[i]->KnotVector(0)[k]= objs[i]->KnotVector(1)[k];
-
-			objs[i]->setLength(objs[i]->Length(0),1);
-		} //fi
-
-		// Match Degree of Curves using highest degree
-		MaxOrder= 0;
-		for(i= 1; i < N; i++)
-			if (objs[i]->Order(0) > MaxOrder)
-				MaxOrder= objs[i]->Order(0);
-
-		// Raise Degree of Curves with Lower Order than Max Order
-		for(i= 1; i < N; i++)
-			if (objs[i]->Order(0) < MaxOrder) {
-				int inc[] = {MaxOrder-objs[i]->Order(0), 0};
-				nbDegree::Elevate(objs[i], inc);
-			}
-
-			// Determine largest Knot value in each Curves Knot Vector
-			MaxKnot= 0;
-			for(i= 1; i < N; i++)
-				if (objs[i]->KnotVector(0)[objs[i]->Length(0) + objs[i]->Order(0) - 1] > MaxKnot)
-					MaxKnot= objs[i]->KnotVector(0)[objs[i]->Length(0) + objs[i]->Order(0) - 1];
-
-			// Scale Knot Vectors
-			for(i= 1; i < N; i++)
-				nbKnot::Scale(objs[i]->KnotVector(0),objs[i]->Length(0) + objs[i]->Order(0),MaxKnot);
-
-			// Merge Knot Vectors
-			nbKnot::MergeKnotVectors(objs[1]->Length(0) + objs[1]->Order(0), objs[1]->KnotVector(0), objs[2]->Length(0) + objs[2]->Order(0), objs[2]->KnotVector(0), KVtmplen, KVtmp);
-			//  printf("KVtmplen: %d\n",KVtmplen);
-
-			for(i= 3; i < N; i++) {
-				nbKnot::MergeKnotVectors(objs[i]->Length(0) + objs[i]->Order(0), objs[i]->KnotVector(0), KVtmplen, KVtmp, KVlen, KVfnl);
-				for(k= 0; k < KVlen; k++)
-					KVtmp[k]= KVfnl[k];
-				KVtmplen= KVlen;
-			} //eof
-
-			//  printf("KVlen: %d\n",KVlen);
-			//  for(i= 0; i < KVlen; i++)
-			//    printf("[%.3f]",KVfnl[i]);
-
-
-			// Refine Curves over their new Knot Vector
-			for(i= 1; i < N; i++) {
-				nbKnot::Difference(objs[i]->KnotVector(0), objs[i]->Length(0)+objs[i]->Order(0),KVfnl,KVlen,Diff,Difflen);
-				if (Difflen)
-					nbKnot::Refine(objs[i],Diff,Difflen,0);
-			} //eof
-
-			// Copy new Points, KnotVector, etc... into obj1
-			objs[0]->setLength(objs[1]->Length(0),N-1);
-			objs[0]->Order(0,objs[1]->Order(0));
-			objs[0]->Order(1,V);
-
-			objs[0]->Length(0, objs[1]->Length(0));
-			objs[0]->Length(1, N - 1);
-
-
-			// Assign new KnotVector
-			for(i= 0; i < KVlen; i++)
-				objs[0]->KnotVector(0)[i]= KVfnl[i];
-
-
-			// Generate V Knot Vector
-			for(i= 0; i < objs[0]->Order(1); i++)
-				objs[0]->KnotVector(1)[i]= 0;
-			for(i= objs[0]->Length(1); i < objs[0]->Length(1) + objs[0]->Order(1); i++)
-				objs[0]->KnotVector(1)[i]= 1;

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list