[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31247] branches/nurbs-merge: * Minor bugfix on fileread (set trim = NULL)
Sergey Sharybin
g.ulairi at gmail.com
Wed Aug 11 17:39:58 CEST 2010
Revision: 31247
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31247
Author: nazgul
Date: 2010-08-11 17:39:58 +0200 (Wed, 11 Aug 2010)
Log Message:
-----------
* Minor bugfix on fileread (set trim = NULL)
* Cosmetic code cleaning
Merge rev28408 from nurbs25 branch
Revision Links:
--------------
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28408
Modified Paths:
--------------
branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp
branches/nurbs-merge/intern/nurbana/intern/nbConstruct.cpp
branches/nurbs-merge/intern/nurbana/intern/nbGenerate.cpp
branches/nurbs-merge/intern/nurbana/intern/nbGenerate.h
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/trim/nbSubDiv.h
branches/nurbs-merge/source/blender/blenloader/intern/readfile.c
branches/nurbs-merge/source/blender/editors/curve/editcurve.c
branches/nurbs-merge/source/blender/makesrna/intern/rna_curve.c
Modified: branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp
===================================================================
--- branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp 2010-08-11 15:39:33 UTC (rev 31246)
+++ branches/nurbs-merge/intern/nurbana/intern/libNurbana.cpp 2010-08-11 15:39:58 UTC (rev 31247)
@@ -59,7 +59,8 @@
// Creates a new NURBS object and return a pointer
NurbanaObj_ptr NRB_addObject(BlenderNurbs_ptr bNurbs) {
- nbNURBS *on = new nbNURBS((struct BlenderNurbs*)bNurbs);//
+ nbNURBS *on = new nbNURBS((struct BlenderNurbs*)bNurbs);
+ MEM_check_memory_integrity();
return on;
}
@@ -137,18 +138,18 @@
// TODO, check which dir(s) the change happened and only apply as needed
on->Change(0, 1);
if (on->getRecalculateKnotVector(0)) {
- nbGenerate::KnotVector(on, 0);
+ nbGenerate::resetKnotVector(on, 0);
on->setRecalculateKnotVector(0, false);
}
if(newV > 1) {
on->Change(1, 1);
if (on->getRecalculateKnotVector(1)) {
- nbGenerate::KnotVector(on, 1);
+ nbGenerate::resetKnotVector(on, 1);
on->setRecalculateKnotVector(0, false);
}
}
// Turn off recalc flag flag
- on->RecalculateKnotVector(0);
+ on->setKnotVectorDirtyflag(0);
on->setCacheBuffer();
}
@@ -160,14 +161,14 @@
// TODO, check which dir(s) the change happened and only apply as needed
on->Change(0,1);
- nbGenerate::KnotVector(on,0);
+ nbGenerate::resetKnotVector(on,0);
if(on->Length(1) > 1)
{
on->Change(1,1);
- nbGenerate::KnotVector(on,1);
+ nbGenerate::resetKnotVector(on,1);
}
// Turn off recalc flag flag
- on->RecalculateKnotVector(0);
+ on->setKnotVectorDirtyflag(0);
on->setCacheBuffer();
}
@@ -343,13 +344,13 @@
curveLen = uv ? on->Length(0): scndLen;
curveCount = uv ? scndLen : on->Length(1);
- NRB_copyPatchFromBuffer(frstPatch+patchOffset, curveLen, newLength, curveCount, scnd, uOffset1, 0);
+// NRB_copyPatchFromBuffer(frstPatch+patchOffset, curveLen, newLength, curveCount, scnd, uOffset1, 0);
- //NRB_copyPatchFromBuffer(scndPatch, curveLen, newLength, curveCount, scnd, 0, 0);
+ NRB_copyPatchFromBuffer(scndPatch, curveLen, newLength, curveCount, scnd, 0, 0);
MEM_freeN(tmpKnots);
- NRB_Print(on);
- NRB_Print(on2);
+ NRB_Print(frst);
+ NRB_Print(scnd);
}
/*extern int NRB_loadOpenNURBS(NurbanaObj_ptr nop, char* filename) {
@@ -510,11 +511,11 @@
// else if(type == 9)
// on->setKnotType(uv,NURBS_KV_Custom);
- nbGenerate::KnotVector(on,uv);
+ nbGenerate::resetKnotVector(on,uv);
on->Change(1,1);
on->Change(0,1);
// Turn off recalc flag flag
- on->RecalculateKnotVector(0);
+ on->setKnotVectorDirtyflag(0);
NRB_Print(on);
}
@@ -562,9 +563,9 @@
nbNURBS *on;
on = reinterpret_cast<nbNURBS*>(nop);
- if(on->RecalculateKnotVector()) {
- nbGenerate::KnotVector(on);
- on->RecalculateKnotVector(0);
+ if(on->getKnotVectorDirtyflag()) {
+ nbGenerate::resetKnotVector(on);
+ on->setKnotVectorDirtyflag(0);
}
//nbGenerate::surface(on,buffer, resU, resV, dim);
on->tsslltr->getVertexes(buffer);
@@ -576,9 +577,9 @@
nbNURBS *on;
on = reinterpret_cast<nbNURBS*>(nop);
- if(on->RecalculateKnotVector()) {
- nbGenerate::KnotVector(on);
- on->RecalculateKnotVector(0);
+ if(on->getKnotVectorDirtyflag()) {
+ nbGenerate::resetKnotVector(on);
+ on->setKnotVectorDirtyflag(0);
}
nbGenerate::curveOnSurface(on,buffer, res, t, uv, dim);
return buffer;
@@ -587,12 +588,12 @@
nbReal* NRB_GenerateCurve(NurbanaObj_ptr nop, nbReal* buffer, nbReal* bevpBuffer, nbReal* tiltBuffer, nbReal* radiusBuffer, int res, int stride) {
nbNURBS *on;
on = reinterpret_cast<nbNURBS*>(nop);
- if(on->RecalculateKnotVector()) {
- nbGenerate::KnotVector(on);
- on->RecalculateKnotVector(0);
+ if(on->getKnotVectorDirtyflag()) {
+ nbGenerate::resetKnotVector(on);
+ on->setKnotVectorDirtyflag(0);
}
- nbGenerate::curve(on,buffer, bevpBuffer, tiltBuffer, radiusBuffer, res, stride, false);
+ nbGenerate::curve(on, buffer, bevpBuffer, tiltBuffer, radiusBuffer, res, stride, 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:39:33 UTC (rev 31246)
+++ branches/nurbs-merge/intern/nurbana/intern/nbConstruct.cpp 2010-08-11 15:39:58 UTC (rev 31247)
@@ -282,7 +282,7 @@
}
obj3->setCacheBuffer();
- nbGenerate::KnotVector(obj3);//obj3->RecalculateKnotVector(1);
+ nbGenerate::resetKnotVector(obj3);//obj3->RecalculateKnotVector(1);
delete tmp1,tmp2;
MEM_freeN(kv);
Modified: branches/nurbs-merge/intern/nurbana/intern/nbGenerate.cpp
===================================================================
--- branches/nurbs-merge/intern/nurbana/intern/nbGenerate.cpp 2010-08-11 15:39:33 UTC (rev 31246)
+++ branches/nurbs-merge/intern/nurbana/intern/nbGenerate.cpp 2010-08-11 15:39:58 UTC (rev 31247)
@@ -2,7 +2,7 @@
//NurbData nbGenerate::nurbData;
void nbGenerate::curve(nbNURBS *obj, nbReal* buffer, nbReal* bevpBuffer, nbReal* tiltBuffer, nbReal* radiusBuffer, int res, int stride, bool update) {
- surface(obj, res, 1 , 3, buffer, (nbReal3*)bevpBuffer, tiltBuffer, radiusBuffer, stride, obj->Sum(), 0, 0, update);
+ surface(obj, res, 1 , 3, buffer, (nbReal3*)bevpBuffer, tiltBuffer, radiusBuffer, stride, obj->sum(), 0, 0, update);
}
void nbGenerate::curveOnSurface(nbNURBS *obj, nbReal* buffer, int res, float t, int uv, int dim) {
@@ -31,15 +31,15 @@
}
void nbGenerate::surface(nbNURBS *obj, nbReal* buffer, int resU, int resV, int dim) {
- int Vnpts;
+ int numPtsV;
- Vnpts = obj->Length(1);
+ numPtsV = obj->Length(1);
// Blender seems to use a different tess for curves and surfaces, numCPu*resU vs resU*resV
- if(Vnpts == 1)
- surface(obj, resU , resV * Vnpts , dim, buffer, NULL, NULL, NULL, 0, obj->Sum(), 0, 0, 1);
+ if(numPtsV == 1)
+ surface(obj, resU , resV * numPtsV , dim, buffer, NULL, NULL, NULL, 0, obj->sum(), 0, 0, 1);
else
- surface(obj,resU, resV , dim, buffer, NULL, NULL, NULL, 0, obj->Sum(), 0, 0, 1);
+ surface(obj,resU, resV , dim, buffer, NULL, NULL, NULL, 0, obj->sum(), 0, 0, 1);
}
void nbGenerate::isoLines(nbNURBS *obj, nbReal* buffer) {
@@ -51,15 +51,15 @@
surface(obj,obj->getIsoilineResolution(),obj->getIsolineDensity(), 3, buffer, NULL, NULL, NULL, 0, obj->SumIPC(1),obj->getIsoilineResolution()*obj->getIsolineDensity(),0,0);
}
-void nbGenerate::surface(nbNURBS *obj, int origTessU, int origTessV, int dim, nbReal *TssPts, nbReal3 *bevpBuffer, nbReal *tiltBuffer, nbReal *radiusBuffer, int stride, nbReal *Sum, int index, bool Change, bool Update) {
- int n,k,l,m,j,j0;
+void nbGenerate::surface(nbNURBS *obj, int origTessU, int origTessV, int dim, nbReal *tessPts, nbReal3 *bevpBuffer, nbReal *tiltBuffer, nbReal *radiusBuffer, int stride, nbReal *sum, int index, bool Change, bool Update) {
+ int n,k,l,m,j;//,j0;
nbReal BasisResult;
- int i, OrderU, OrderV, Unpts, Vnpts, extraPntsU, extraPntsV,CyclicU,CyclicV;
+ int i, orderU, orderV, numPtsU, numPtsV, extraPntsU, extraPntsV, cyclicU, cyclicV;
bool recalc;
- nbReal **BasisU = NULL;
- nbReal **BasisV = NULL;
- nbReal3 *TssPts3 = NULL;
- nbReal4 *TssPts4 = NULL;
+ nbReal **basisU = NULL;
+ nbReal **basisV = NULL;
+ nbReal3 *tssPts3 = NULL;
+ nbReal4 *tssPts4 = NULL;
int tessU = origTessU;
int tessV = origTessV;
@@ -67,89 +67,89 @@
nbReal3 *bevp_fp = bevpBuffer;
nbReal *tilt_fp= tiltBuffer, *radius_fp= radiusBuffer;
- Unpts = obj->Length(0);
- Vnpts = obj->Length(1);
- OrderU = obj->getOrder(0);
- OrderV = obj->getOrder(1);
- CyclicU = obj->Cyclic(0);
- CyclicV = obj->Cyclic(1);
+ numPtsU = obj->Length(0);
+ numPtsV = obj->Length(1);
+ orderU = obj->getOrder(0);
+ orderV = obj->getOrder(1);
+ cyclicU = obj->Cyclic(0);
+ cyclicV = obj->Cyclic(1);
extraPntsU = 0;
extraPntsV = 0;
- if(CyclicU)
- extraPntsU = OrderU - 1;
- if(CyclicV)
- extraPntsV = OrderV - 1;
+ if(cyclicU)
+ extraPntsU = orderU - 1;
+ if(cyclicV)
+ extraPntsV = orderV - 1;
- if(Vnpts <= 1)
+ if(numPtsV <= 1)
tessV = 1;
- BasisU = (nbReal **)MEM_callocN(sizeof(nbReal*) * tessU,"BasisU");
+ basisU = (nbReal **)MEM_callocN(sizeof(nbReal*) * tessU,"basisU");
for(i = 0; i < tessU; i++) {
- BasisU[i] = (nbReal*)MEM_callocN(sizeof(nbReal)*(Unpts+extraPntsU),"BasisU[i]");
+ basisU[i] = (nbReal*)MEM_callocN(sizeof(nbReal)*(numPtsU+extraPntsU),"basisU[i]");
}
- BasisV = (nbReal **)MEM_callocN(sizeof(nbReal*) * tessV,"BasisV");
+ basisV = (nbReal **)MEM_callocN(sizeof(nbReal*) * tessV,"basisV");
for(i = 0; i < tessV; i++) {
- BasisV[i] = (nbReal*)MEM_callocN(sizeof(nbReal)*(Vnpts+extraPntsV),"BasisV[i]");
+ basisV[i] = (nbReal*)MEM_callocN(sizeof(nbReal)*(numPtsV+extraPntsV),"basisV[i]");
}
if(Update == false || Change==1)
recalc = 1;
else
- recalc = (obj->Change(Change) != Unpts+Vnpts+OrderU+OrderV+tessU+tessV+CyclicU+CyclicV);
- obj->Change(Change,Unpts+Vnpts+OrderU+OrderV+tessU+tessV+CyclicU+CyclicV);
+ recalc = (obj->Change(Change) != numPtsU+numPtsV+orderU+orderV+tessU+tessV+cyclicU+cyclicV);
+ obj->Change(Change,numPtsU+numPtsV+orderU+orderV+tessU+tessV+cyclicU+cyclicV);
// Allocate memory for temp
- int tempSize = nbMath::Max(OrderU + Unpts + extraPntsU, OrderV + Vnpts + extraPntsV);
+ int tempSize = nbMath::Max(orderU + numPtsU + extraPntsU, orderV + numPtsV + extraPntsV);
nbReal *tempForBasis = (nbReal *) MEM_callocN(sizeof(nbReal) * tempSize, "surface() tempForBasis");
// Recalculate Basis Functions
if(recalc) {
- nbReal endU = (obj->getKnotVector(0)[Unpts + extraPntsU]);
- nbReal startU = (obj->getKnotVector(0)[(OrderU-1)]);
- int extra = CyclicU ? 1 : 0;
+ nbReal endU = (obj->getKnotVector(0)[numPtsU + extraPntsU]);
+ nbReal startU = (obj->getKnotVector(0)[(orderU-1)]);
+ int extra = cyclicU ? 1 : 0;
nbReal stepU = (endU - startU)/((tessU-1) + extra);
nbReal t = startU;
for(i = 0; i < tessU; i++) {
- NURBSBasis(OrderU, t, (Unpts+extraPntsU),Unpts, obj->getKnotVector(0), obj->getCtlPts(), BasisU[i], 1, tempForBasis);
+ NURBSBasis(orderU, t, (numPtsU+extraPntsU),numPtsU, obj->getKnotVector(0), obj->getCtlPts(), basisU[i], 1, tempForBasis);
t += stepU;
}
nbReal endV, startV, stepV, tv;
- if(Vnpts == 1)
+ if(numPtsV == 1)
endV = startV = stepV = tv = 0; // these values aren't used in NURBSBasis below for curves
else{
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list