Posted: Thu Mar 11, 2004 12:01 am
Joined: 18 Oct 2002
Posts: 1851
A new CVS build is available:
This CVS build has been obsoleted by a newer build
http://www.letwory.net/cvsbuilds/bf_blender_windows_20040310.tar.gz
In this build the fresh vertexloop select (this really rocks!) things.
for a complete changelog see the in the new page at
http://www.blender3d.org/cms/Changes_since_2_32.66.0.html.
This page will be even more detailed than the previous lists I compiled for you.
Enjoy!
This CVS build has been obsoleted by a newer build
/jesterKing
ps. see the splash for the date and time it has been built (Help>>About...)
Last edited by jesterKing on Fri Mar 12, 2004 11:50 pm; edited 1 time in total
Posted: Thu Mar 11, 2004 4:11 am
Joined: 18 Oct 2002
Posts: 271
The new code (excepting my fix) for ipocurve.c in the Python API has rebroken the addBezier method. Boom. It looks like the code for creating the handles is completely gone. Here's how the code should look, from browsing the cvs via the website, on version 1.11 (the lastest) of ipocurve.c in the Python API:
| Code: |
icu->totvert++;
bzt = icu->bezt + npoints;
bzt->vec[0][0] = x-1;
bzt->vec[1][0] = x;
bzt->vec[2][0] = x+1;
bzt->vec[0][1] = y-1;
bzt->vec[1][1] = y;
bzt->vec[2][1] = y+1;
/* set handle type to Auto */
bzt->h1= HD_AUTO;
bzt->h2= HD_AUTO; |
This code works.
Yet, when I pull down the latest cvs, I see this in it's place:
| Code: |
icu->totvert++;
bzt = icu->bezt + npoints;
bzt->vec[1][0] = x;
bzt->vec[1][1] = y;
bzt->h1= HD_AUTO;
|
Where did the lines go? How can something change in the source without a commit log showing it? In this latest build addBezier creates malformed curves. It does so when I build it here, too.
I haven't tried building with the good code pasted back in, though, as the current cvs isn't compiling here at the moment.
What's up?
Posted: Thu Mar 11, 2004 6:23 am
Joined: 18 Oct 2002
Posts: 1851
| harkyman wrote: |
| The new code (excepting my fix) for ipocurve.c in the Python API has rebroken the addBezier method. Boom. It looks like the code for creating the handles is completely gone. |
That's odd, because when I browse the CVS it looks like this:
http://projects.blender.org/viewcvs/
viewcvs.cgi/blender/source/blender/python/api2_2x/Ipocurve.c?rev=1.11&cvsroot=bf-blender&
content-type=text/vnd.viewcvs-markup
Ie. your fix is in it. I also checked my local checkout and the function looks as follows:
| Code: |
static PyObject *IpoCurve_addBezier( C_IpoCurve * self, PyObject *args)
{
short MEM_freeN(void *vmemh) ;
void *MEM_mallocN(unsigned int len, char *str);
float x,y;
int npoints;
IpoCurve *icu;
BezTriple *bzt,*tmp;
static char name[10] = "mlml";
PyObject*popo = 0;
if (!PyArg_ParseTuple(args, "O", &popo))
return (EXPP_ReturnPyObjError (PyExc_TypeError,"expected tuple argument"));
x = PyFloat_AsDouble(PyTuple_GetItem(popo,0));
y = PyFloat_AsDouble(PyTuple_GetItem(popo,1));
icu = self->ipocurve;
npoints = icu->totvert;
tmp = icu->bezt;
icu->bezt = MEM_mallocN(sizeof(BezTriple)*(npoints+1),name);
if(tmp){
memmove(icu->bezt,tmp,sizeof(BezTriple)*npoints);
MEM_freeN(tmp);
}
memmove(icu->bezt+npoints,icu->bezt,sizeof(BezTriple));
icu->totvert++;
bzt = icu->bezt + npoints;
bzt->vec[0][0] = x-1;
bzt->vec[1][0] = x;
bzt->vec[2][0] = x+1;
bzt->vec[0][1] = y-1;
bzt->vec[1][1] = y;
bzt->vec[2][1] = y+1;
/* set handle type to Auto */
bzt->h1= HD_AUTO;
bzt->h2= HD_AUTO;
Py_INCREF(Py_None);
return Py_None;
} |
To me it looks like I have compiled with the correct fix... Can you verify again please?
/jesterKing
Posted: Thu Mar 11, 2004 6:33 am
Joined: 18 Oct 2002
Posts: 1851
Also, synced with bf-blender CVS my personal Subversion repository shows this:
http://www.jester-depot.net:8080/svnblender/blender/source/blender/python/api2_2x/Ipocurve.c
again, it looks like the change has surely made it. Are there any conflict messages when you update your local copy of the Blender source?
/jesterKing
Posted: Thu Mar 11, 2004 2:10 pm
Joined: 18 Oct 2002
Posts: 271
You're right. I may have had a bad update. Weird that those four lines of code would go bye-bye.
Something else that threw me off was the change in setEuler that requires a list object as an argument, whereas before it required three seperate values.