Drag curve split point


(Sebastiano Del Gobbo) #1

Hi!
I’m developing a plugin similar to _BlendCrv command.
It has the ability to choose a split point for each curve.
I would like to give user the ability to drag the split point before the command ends (as the _BlendCrv gives the ability to grag points to choose blending curve curvature)
How can i do that?
Thanks.


(Tom) #2

You need to split the curve and apply blend curve.:wink:

Better: you write an extrapolation algorithm and a blend curve functionality by yourself. Took me 4 month to figure it out to do so in a pure mathematical representation.
But you can do the same, with some limitations, by using Rhinocommon methods:

http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Curve_Split_3.htm
http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Curve_CreateBlendCurve_1.htm


(Sebastiano Del Gobbo) #3

Thanks, TomTom!
Actually, the hard part, to me, is the one about letting user drag split points interactively… :slight_smile:


(Tom) #4

Oh, I misunderstood.

I don’t know if there is a functionality provided, but you can implement something by:

  • box/sphere + raycast to select the point

  • dragging direction does increase or decrease t, depending on the angle to your tangent at t and the dragging vector. Maybe add some factor for more precise dragging. Only drawback of this method, snapping won’t work.


(Sebastiano Del Gobbo) #5

Thanks again, TomTom! :slight_smile: