[Bf-committers] OOPS Parenting & Patch

Campbell Barton bf-committers@blender.org
Sat, 05 Jun 2004 00:34:57 +1000


Its an attachment so you should be anle to go and save it from your mail 
client??

car wrote:

> Can you zip the file or offer it on a server ? Copy and paste never 
> works for me.
>
>
> On Jun 4, 2004, at 4:31 AM, Campbell Barton wrote:
>
>> Hi, Added curved splines to OOPS.
>> This looks nices and I recon is more useable... straight lines all 
>> over the place dont indicate very well whats going on... though a lot 
>> has to do with how the user sets up things..
>>
>> It works fine bit there are 2 issues.
>> The  line glMap1f(GL_MAP1_VERTEX_3, 0.0f, 100.0f, 3, 
>> 4,&ctrlPoints[0][0]);
>> Only accepts points with 3 (XYZ) Locations, oops only needs X and Y 
>> since its 2D. Couldent find any command that used XY's onle so I have 
>> kept glMap1f as is.
>> The other issue is that 100 may be too many steps to make up the 
>> spline. Since its only to look nice we might be able to do with ~40. 
>> Im not that fussed but sombody may want to change it.
>>
>> The Next think Id like to do is rewrite the shuffle code to take into 
>> account parent child hierarchy.
>> - Cam
>>
>> Campbell Barton wrote:
>>
>>> I like the idea of users setting up parent/child stuff with the 
>>> mouse, as well as Key Shortcuts. since the key shortcuts allow you 
>>> to set up many children at once.
>>>
>>> Im lookin at adding spline curves to the oops view- I think it would 
>>> make links more obvious (as to where there going from/to)
>>> Any comments on this?
>>>
>>> - Cam
>>>
>>> Matt Ebb wrote:
>>>
>>>>
>>>> On 4 Jun 2004, at 2:41 AM, Alexander Ewering wrote:
>>>>
>>>>> Sorry, this is probably more appropriate for bf-funboard, but then 
>>>>> again,
>>>>> I wasn't the one with the first post :-)
>>>>
>>>>
>>>>
>>>>
>>>> No, incessant whining and flamebait is appropriate neither here nor 
>>>> on bf-funboard. It's getting tiresome and distracting. If you've 
>>>> got a concrete proposal or a relevant point to make, do it like 
>>>> Stephen, succinctly and on-topic.
>>>>
>>>> To try and be somewhat constructive here, well, it looks like 
>>>> there's a communication breakdown if two people on this list 
>>>> (including Campbell, an experienced professional user and 
>>>> developer) are unsure that this feature exists or of how it works. 
>>>> Indeed there's nothing in the interface that even suggests it's 
>>>> possible. In Shake, you can manipulate the layout of nodes freely, 
>>>> and then select them for editing by clicking on a UI control on the 
>>>> selected node. ( 
>>>> http://mke3.net:9000/blender/ui/misc/shake_node_sel.png ) We could 
>>>> adopt a similar method for the OOPS window, keeping the 
>>>> ctrl-click-to-activate behaviour, too. You know, right-brained 
>>>> artists wanting to think visually and all that crazy stuff... Who 
>>>> would have thought.
>>>>
>>>> Matt
>>>
>>>
>>>
>>>
>>>
>>
>>
>> -- 
>> Campbell J Barton
>>
>> 133 Hope Street
>> Geelong West, Victoria 3218 Australia
>>
>> URL:    http://www.metavr.com
>> e-mail: cbarton@metavr.com
>> phone: AU (03) 5229 0241
>>
>> Index: source/blender/src/drawoops.c
>> ===================================================================
>> RCS file: /cvsroot/bf-blender/blender/source/blender/src/drawoops.c,v
>> retrieving revision 1.13
>> diff -u -r1.13 drawoops.c
>> --- source/blender/src/drawoops.c    14 Mar 2004 16:59:46 -0000    1.13
>> +++ source/blender/src/drawoops.c    4 Jun 2004 08:11:56 -0000
>> @@ -129,8 +129,13 @@
>>  void draw_oopslink(Oops *oops)
>>  {
>>      OopsLink *ol;
>> -    float vec[4];
>> -   
>> +    float ptA[2];
>> +    float ptB[2];
>> +    /* All these are used for spline drawing */
>> +    int i;
>> +    float ctrlPoints[4][3];
>> +    glEnable(GL_MAP1_VERTEX_3);
>> +
>>      if(oops->type==ID_SCE) {
>>          if(oops->flag & SELECT) {
>>              if(oops->id->lib) cpack(0x4080A0);
>> @@ -150,11 +155,35 @@
>>      while(ol) {
>>          if(ol->to && ol->to->hide==0) {
>>             
>> -            give_oopslink_line(oops, ol, vec, vec+2);
>> +            give_oopslink_line(oops, ol, ptA, ptB);
>> +           
>> +            /* Set up control points for spline */
>> +            /* Location ptA*/
>> +            ctrlPoints[0][0] = ptA[0];
>> +            ctrlPoints[0][1] = ptA[1];
>> +            /* Handle ptA*/
>> +            ctrlPoints[1][0] = ptA[0];
>> +            ctrlPoints[1][1] = (ptA[1] + ptB[1])/2;
>> +            /* Handle ptB*/
>> +            ctrlPoints[2][0] = ptB[0];
>> +            ctrlPoints[2][1] = (ptA[1] + ptB[1])/2;
>> +            /* Location ptB*/
>> +            ctrlPoints[3][0] = ptB[0];
>> +            ctrlPoints[3][1] = ptB[1];
>> +           
>> +            /*Make 0 only 2D coords needed*/
>> +            ctrlPoints[0][2] = 0.0f;
>> +            ctrlPoints[1][2] = 0.0f;
>> +            ctrlPoints[2][2] = 0.0f;
>> +            ctrlPoints[3][2] = 0.0f;
>>             
>> +            glMap1f(GL_MAP1_VERTEX_3, 0.0f, 100.0f, 3, 
>> 4,&ctrlPoints[0][0]);
>> +
>>              glBegin(GL_LINE_STRIP);
>> -            glVertex2fv(vec);
>> -            glVertex2fv(vec+2);
>> +            for(i=0;i  <=100;i++)
>> +            {
>> +                glEvalCoord1f((GLfloat) i);
>> +            }
>>              glEnd();
>>          }
>>          ol= ol->next;
>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers@blender.org
> http://www.blender.org/mailman/listinfo/bf-committers
>
>


-- 
Campbell J Barton

133 Hope Street
Geelong West, Victoria 3218 Australia

URL:    http://www.metavr.com
e-mail: cbarton@metavr.com
phone: AU (03) 5229 0241