Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Closest Spline & control points loop in both directions
#11
but I am using "output" only to draw nearestPoint. NextControlPoint and PreviousControlPoint is based on a "nearestSegment".
Reply
#12
(01-29-2021, 03:35 PM)nehvaleem Wrote: but I am using "output" only to draw nearestPoint. NextControlPoint and PreviousControlPoint is based on a "nearestSegment".

Hi again

Sorry my previous message didn't make sense. I wrote it in a hurry knowing that I could not write a long one until now. Now that I am free again, here is the right answer:

It all boils down to the concept of a segment. A segment is the curve between two CPs. In Curvy Splines the choice was made to represent a segment in the code with its first CP. So the curve between CP1 and CP2 will be represented by CP1.
So when you call GetNearestPointTF:
  • on any point between CP1 and CP2, the returned segment is CP1
  • on CP1, the returned segment is CP1
  • on CP2, the returned segment depends on whether there is a CP3:
         - if CP3 exists, that means that CP2 is a valid segment (the curve between CP2 and CP3). In this case the returned segment is CP2
         - if CP3 does not exist, that means that CP2 is not a segment, so the returned segment is CP1
Try visualizing your gizmos on an open spline, I think that my explanation will make sense. If you do so, handle the fact that NextControlPoint or PreviousControlPoint can be null if you are on the edge of the open spline.

I hope this helped.

Have a nice day
Available for freelance work, feel free to reach out: toolbuddy.net
Please consider leaving a review for Curvy, this helps immensely. Thank you.
Reply
#13
That's explain a lot. Thanks for the clarification. That being said - is there a way just to iterate over control points in a loop? Or do I have to handle it by myself?
Reply
#14
Yes, you can do a for loop on yourSpline.ControlPointsList, or if you want to iterate indefinitely, use a while loop using an index that you increase at every iteration, and apply the % operator to keep you index between 0 and yourSpline.ControlPointsList.Count
Available for freelance work, feel free to reach out: toolbuddy.net
Please consider leaving a review for Curvy, this helps immensely. Thank you.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  SplineController Ignores Follow-Up and Chooses Wrong Spline Josenildo 7 3,070 07-29-2025, 09:15 PM
Last Post: _Aka_
  Curvy Line Renderer for UI Spline? gekido 7 4,429 07-13-2025, 07:11 PM
Last Post: _Aka_
  Is there a way to get the position of each ControlPoint in spline by API? Chanon 1 1,651 06-07-2025, 09:44 AM
Last Post: _Aka_
  Filling a closed spline dynamically rickgplus 1 1,683 04-16-2025, 08:56 AM
Last Post: _Aka_

Forum Jump: