Class covering a Curvy Spline Segment / ControlPoint
Classes  
struct  ControlPointExtrinsicProperties 
Contains data about a control point related to it's parent spline. For example, is a control point a valid segment in the spline or not.  
Static Public Attributes  
static readonly Color  GizmoTangentColor = new Color(0, 0.7f, 0) 
The color used in Gizmos to draw a segment's tangents More...  
Public Attributes  
Vector3[]  Approximation = new Vector3[0] 
List of precalculated interpolations More...  
float[]  ApproximationDistances = new float[0] 
List of precalculated distances More...  
Vector3[]  ApproximationT = new Vector3[0] 
List of precalculated TangentNormals More...  
Vector3[]  ApproximationUp = new Vector3[0] 
List of precalculated UpVectors More...  
Properties  
bool  AutoBakeOrientation [get, set] 
If set, Control Point's rotation will be set to the calculated UpVector3 More...  
float  AutoHandleDistance [get, set] 
bool  AutoHandles [get, set] 
Gets or Sets Auto Handles. When setting it the value of connected control points is also updated More...  
Bounds  Bounds [get] 
Gets this segment's bounds in world space More...  
int  CacheSize [get] 
Gets the number of individual cache points of this segment More...  
CurvyConnection  Connection [get, set] 
Gets/Sets the connection handler this Control Point is using (if any) More...  
bool  ConnectionSyncPosition [get, set] 
When part of a CurvyConnection, this defines whether the connection's position is applied to this Control Point The synchronization process is applied by CurvyConnection at each frame in its update methods. So if you modify the value of this property, and want the synchronization to happen right away, you will have to call the connection's CurvyConnection.SetSynchronisationPositionAndRotation(Vector3, Quaternion) with the connection's position and rotation as parameters More...  
bool  ConnectionSyncRotation [get, set] 
When part of a CurvyConnection, this defines whether the connection's rotation is applied to this Control Point The synchronization process is applied by CurvyConnection at each frame in its update methods. So if you modify the value of this property, and want the synchronization to happen right away, you will have to call the connection's CurvyConnection.SetSynchronisationPositionAndRotation(Vector3, Quaternion) with the connection's position and rotation as parameters More...  
float  Distance [get, set] 
Gets the distance from spline start to the first control point (localF=0) More...  
float  EndBias [get, set] 
End Bias More...  
float  EndContinuity [get, set] 
End Continuity More...  
float  EndTension [get, set] 
End Tension More...  
CurvySplineSegment  FollowUp [get] 
Gets the connected Control Point that is set as "Head To" More...  
ConnectionHeadingEnum  FollowUpHeading [get, set] 
Gets or sets the heading toward the "Head To" segment More...  
Vector3  HandleIn [get, set] 
Bézier spline left handle in spline's local coordinates More...  
Vector3  HandleInPosition [get, set] 
Bézier spline left handle in world coordinates More...  
Vector3  HandleOut [get, set] 
Bézier spline right handle in spline's local coordinates More...  
Vector3  HandleOutPosition [get, set] 
Bézier spline right handle in world coordinates More...  
bool  HasUnprocessedLocalOrientation [get] 
Returns true if the local orientation is different than the last one used in the segment approximations cache computation More...  
bool  HasUnprocessedLocalPosition [get] 
Returns true if the local position is different than the last one used in the segment approximations cache computation More...  
bool  IsFirstControlPoint [get] 
Gets whether this Control Point is the first IGNORING closed splines More...  
bool  IsLastControlPoint [get] 
Gets whether this Control Point is the last IGNORING closed splines More...  
float  Length [get] 
Gets the length of this spline segment More...  
HashSet< CurvyMetadataBase >  Metadata [get] 
The Metadata components added to this GameObject More...  
bool  OrientatinInfluencesSpline [get] 
Returns wheter the orientation of this Control Point influences the orientation of its containing spline's approximation points. Returns false if control point is not part of a spline More...  
bool  OverrideGlobalBias [get, set] 
Whether local Bias should be used More...  
bool  OverrideGlobalContinuity [get, set] 
Whether local Continuity should be used More...  
bool  OverrideGlobalTension [get, set] 
Whether local Tension should be used More...  
bool  SerializedOrientationAnchor [get, set] 
The serialized value of OrientationAnchor. This value is ignored in some cases (invisible control points, first and last visible control points). Use CurvySpline.IsControlPointAnOrientationAnchor to get the correct value. More...  
CurvySpline  Spline [get] 
Gets the parent spline More...  
float  StartBias [get, set] 
Start Bias More...  
float  StartContinuity [get, set] 
Start Continuity More...  
float  StartTension [get, set] 
Start Tension More...  
CurvyOrientationSwirl  Swirl [get, set] 
Swirling Mode More...  
float  SwirlTurns [get, set] 
Turns to swirl More...  
bool  SynchronizeTCB [get, set] 
Keep Start/EndTCB synchronized More...  
float  TF [get, set] 
Gets the TF of this Control Point TF stands for Total Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the spline's start and 1 means the spline's end. This is the "time" parameter used in the splines' formulas. A point's TF is not proportional to its distance from the spline's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the spline More...  
Public Member Functions  
void  BakeOrientationToTransform () 
Modify the control point's local rotation to match the segment's orientation More...  
void  DeleteMetadata () 
Removes all Metadata components of this Control Point More...  
void  Disconnect () 
Resets the connections related data (Connection, FollowUp, etc) while updating the Connection object and dirtying relevant splines. More...  
void  Disconnect (bool destroyEmptyConnection) 
Resets the connections related data (Connection, FollowUp, etc) while updating the Connection object and dirtying relevant splines. More...  
float  DistanceToLocalF (float localDistance) 
Gets the local F of a point given its local distance Local F stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment More...  
int  getApproximationIndexINTERNAL (float localF, out float frag) 
Internal, gets the index of mApproximation by F and the remaining fragment More...  
U  GetInterpolatedMetadata< T, U > (float f) 
Gets an interpolated Metadata value for a certain F More...  
T  GetMetadata< T > (bool autoCreate=false) 
Gets Metadata of this ControlPoint More...  
float  GetNearestPointF (Vector3 position, Space space=Space.Self) 
Gets the localF of the point on the segment that is the nearest to a given position localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment More...  
Quaternion  GetOrientationFast (float localF, bool inverse=false, Space space=Space.Self) 
Gets the rotation of a point on the spline segment. The rotation's forward is the segment's tangent, and it's up is the segment's orientation Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result More...  
Vector3  GetOrientationUpFast (float localF, Space space=Space.Self) 
Gets the Up vector of a point on the spline segment. Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result More...  
Vector3  GetTangent (float localF, Space space=Space.Self) 
Gets the normalized tangent at a point on the spline segment More...  
Vector3  GetTangent (float localF, Vector3 position, Space space=Space.Self) 
Gets the normalized tangent at a point on the spline segment. This method is faster than GetTangent(float, Space) if you have already the position of the point. Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result More...  
Vector3  GetTangentFast (float localF, Space space=Space.Self) 
Gets the normalized tangent at a point on the spline segment. Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result More...  
Vector3  Interpolate (float localF, Space space=Space.Self) 
Gets the position of a point on the spline segment More...  
void  InterpolateAndGetTangent (float localF, out Vector3 position, out Vector3 tangent, Space space=Space.Self) 
Gets the position and normalized tangent at a point on the spline segment Is Faster than calling Interpolate(float, Space) and Interpolate(float, Space) separately More...  
void  InterpolateAndGetTangentFast (float localF, out Vector3 position, out Vector3 tangent, Space space=Space.Self) 
Gets the position and normalized tangent at a point on the spline segment Is Faster than calling Interpolate(float, Space) and Interpolate(float, Space) separately Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result More...  
Vector3  InterpolateFast (float localF, Space space=Space.Self) 
Gets the position of a point on the spline segment. Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result More...  
void  LinkToSpline (CurvySpline spline) 
float  LocalFToDistance (float localF) 
Gets the local distance of a point at a certain localF. Local distance is the distance between a point and the start of its segment. Value ranges from 0 to the segment's Length, inclusive More...  
float  LocalFToTF (float localF) 
Gets TF for a certain local F TF stands for Total Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the spline's start and 1 means the spline's end. This is the "time" parameter used in the splines' formulas. A point's TF is not proportional to its distance from the spline's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the spline More...  
void  OnAfterPop () 
void  OnBeforePush () 
void  RegisterMetaData (CurvyMetadataBase metaData) 
Adds a MetaData instance to Metadata More...  
void  ReloadMetaData () 
Rebuilds Metadata More...  
void  SetBezierHandleIn (Vector3 position, Space space=Space.Self, CurvyBezierModeEnum mode=CurvyBezierModeEnum.None) 
Sets Bezier HandleIn More...  
void  SetBezierHandleOut (Vector3 position, Space space=Space.Self, CurvyBezierModeEnum mode=CurvyBezierModeEnum.None) 
Sets Bezier HandleOut More...  
void  SetBezierHandles (float distanceFrag=1, bool setIn=true, bool setOut=true, bool noDirtying=false) 
Automatically place Bezier handles relative to neighbour Control Points More...  
void  SetBezierHandles (float distanceFrag, Vector3 p, Vector3 n, bool setIn=true, bool setOut=true, bool noDirtying=false) 
Automatically place Bezier handles More...  
void  SetFollowUp (CurvySplineSegment target, ConnectionHeadingEnum heading=ConnectionHeadingEnum.Auto) 
Sets FollowUp of this Control Point More...  
void  SetLocalPosition (Vector3 newPosition) 
Sets the local position while dirtying the spline, dirtying the connected splines, and updating the connected control points' positions accordingly. More...  
void  SetLocalRotation (Quaternion value) 
Sets the local rotation while dirtying the spline, dirtying the connected splines, and updating the connected control points' rotations accordingly. More...  
void  SetPosition (Vector3 value) 
Sets the global position while dirtying the spline, dirtying the connected splines, and updating the connected control points' positions accordingly. More...  
void  SetRotation (Quaternion value) 
Sets the global rotation while dirtying the spline, dirtying the connected splines, and updating the connected control points' rotations accordingly. More...  
override string  ToString () 
void  UnlinkFromSpline () 
void  UnregisterMetaData (CurvyMetadataBase metaData) 
Removes a MetaData instance from Metadata More...  
Static Public Member Functions  
static Vector3  BSpline ([NotNull] ReadOnlyCollection< CurvySplineSegment > controlPoints, float tf, bool isClamped, bool isClosed, int degree, [NotNull] Vector3[] p0Array) 
Gets the position of a point on the BSpline More...  
static bool  CanFollowUpHeadToEnd ([NotNull] CurvySplineSegment followUp) 
Returns true if followUp can be associated with a heading direction of ConnectionHeadingEnum.Plus More...  
static bool  CanFollowUpHeadToStart ([NotNull] CurvySplineSegment followUp) 
Returns true if followUp can be associated with a heading direction of ConnectionHeadingEnum.Minus More...  
void BakeOrientationToTransform  (  ) 
Modify the control point's local rotation to match the segment's orientation

static 
Gets the position of a point on the BSpline
controlPoints  The spline's control points. 
tf  A value between 0 and 1 defining where the point is on the spline 
isClamped  CurvySpline.IsBSplineClamped 
isClosed  CurvySpline.Closed 
degree  CurvySpline.BSplineDegree 
p0Array  An array used in internal computations. This is to avoid excessive allocations.The length of the array should be greater or equal to degree + 1. The content of the array does not matter, since it gets overwritten by the method 

static 
Returns true if followUp can be associated with a heading direction of ConnectionHeadingEnum.Plus

static 
Returns true if followUp can be associated with a heading direction of ConnectionHeadingEnum.Minus
void DeleteMetadata  (  ) 
Removes all Metadata components of this Control Point
void Disconnect  (  ) 
Resets the connections related data (Connection, FollowUp, etc) while updating the Connection object and dirtying relevant splines.
void Disconnect  (  bool  destroyEmptyConnection  ) 
Resets the connections related data (Connection, FollowUp, etc) while updating the Connection object and dirtying relevant splines.
destroyEmptyConnection  whether the related Connection should be destroyed if it becomes empty due to this Disconnect call 
float DistanceToLocalF  (  float  localDistance  ) 
Gets the local F of a point given its local distance Local F stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment
localDistance  The distance between the segment's start and the point you are interested in. Value should be in the range from 0 to Length inclusive 
>
int getApproximationIndexINTERNAL  (  float  localF, 
out float  frag  
) 
Internal, gets the index of mApproximation by F and the remaining fragment
U GetInterpolatedMetadata< T, U >  (  float  f  ) 
Gets an interpolated Metadata value for a certain F
T  Metadata type inheriting from CurvyInterpolatableMetadataBase 
U  Metadata's Value type 
f  a local F in the range 0..1 
T  :  CurvyInterpolatableMetadataBase<U> 
T GetMetadata< T >  (  bool  autoCreate = false  ) 
Gets Metadata of this ControlPoint
T  Metadata type 
autoCreate  whether to create the Metadata component if it's not present 
T  :  CurvyMetadataBase 
float GetNearestPointF  (  Vector3  position, 
Space  space = Space.Self 

) 
Gets the localF of the point on the segment that is the nearest to a given position localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment
position  The point's position 
space  The space (spline's local space or the world space) in which the returned result is expressed 
position is expressed
This method's precision and speed depend on the CurvySpline.CacheDensity
Quaternion GetOrientationFast  (  float  localF, 
bool  inverse = false , 

Space  space = Space.Self 

) 
Gets the rotation of a point on the spline segment. The rotation's forward is the segment's tangent, and it's up is the segment's orientation Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
inverse  whether the orientation should look at the opposite direction of the tangent 
space  The space (spline's local space or the world space) in which the returned result is expressed 
Vector3 GetOrientationUpFast  (  float  localF, 
Space  space = Space.Self 

) 
Gets the Up vector of a point on the spline segment. Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
space  The space (spline's local space or the world space) in which the returned result is expressed 
Vector3 GetTangent  (  float  localF, 
Space  space = Space.Self 

) 
Gets the normalized tangent at a point on the spline segment
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
space  The space (spline's local space or the world space) in which the returned result is expressed 
Vector3 GetTangent  (  float  localF, 
Vector3  position,  
Space  space = Space.Self 

) 
Gets the normalized tangent at a point on the spline segment. This method is faster than GetTangent(float, Space) if you have already the position of the point. Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
position  the position of the point at localF. In other words, the result of Interpolate(float, Space) 
space  The space (spline's local space or the world space) in which the returned result is expressed 
Vector3 GetTangentFast  (  float  localF, 
Space  space = Space.Self 

) 
Gets the normalized tangent at a point on the spline segment. Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
space  The space (spline's local space or the world space) in which the returned result is expressed 
Vector3 Interpolate  (  float  localF, 
Space  space = Space.Self 

) 
Gets the position of a point on the spline segment
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
space  The space (spline's local space or the world space) in which the returned result is expressed 
void InterpolateAndGetTangent  (  float  localF, 
out Vector3  position,  
out Vector3  tangent,  
Space  space = Space.Self 

) 
Gets the position and normalized tangent at a point on the spline segment Is Faster than calling Interpolate(float, Space) and Interpolate(float, Space) separately
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
position  the output position 
tangent  the output tangent 
space  The space (spline's local space or the world space) in which the returned result is expressed 
void InterpolateAndGetTangentFast  (  float  localF, 
out Vector3  position,  
out Vector3  tangent,  
Space  space = Space.Self 

) 
Gets the position and normalized tangent at a point on the spline segment Is Faster than calling Interpolate(float, Space) and Interpolate(float, Space) separately Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
position  the output position 
tangent  the output tangent 
space  The space (spline's local space or the world space) in which the returned result is expressed 
Vector3 InterpolateFast  (  float  localF, 
Space  space = Space.Self 

) 
Gets the position of a point on the spline segment. Instead of computing the exact value, this method uses a linear interpolation between cached points for faster result
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
space  The space (spline's local space or the world space) in which the returned result is expressed 
void LinkToSpline  (  CurvySpline  spline  ) 
float LocalFToDistance  (  float  localF  ) 
Gets the local distance of a point at a certain localF. Local distance is the distance between a point and the start of its segment. Value ranges from 0 to the segment's Length, inclusive
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
float LocalFToTF  (  float  localF  ) 
Gets TF for a certain local F TF stands for Total Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the spline's start and 1 means the spline's end. This is the "time" parameter used in the splines' formulas. A point's TF is not proportional to its distance from the spline's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the spline
localF  localF stands for Local Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the segment's start and 1 means the segment's end. This is the "time" parameter used in the splines' formulas. A point's localF is not proportional to its distance from the segment's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the segment 
void OnAfterPop  (  ) 
void OnBeforePush  (  ) 
void RegisterMetaData  (  CurvyMetadataBase  metaData  ) 
Adds a MetaData instance to Metadata
void ReloadMetaData  (  ) 
Rebuilds Metadata
void SetBezierHandleIn  (  Vector3  position, 
Space  space = Space.Self , 

CurvyBezierModeEnum  mode = CurvyBezierModeEnum.None 

) 
Sets Bezier HandleIn
position  HandleIn position 
space  The space (spline's local space or the world space) in which the position is expressed 
mode  Handle synchronization mode 
void SetBezierHandleOut  (  Vector3  position, 
Space  space = Space.Self , 

CurvyBezierModeEnum  mode = CurvyBezierModeEnum.None 

) 
Sets Bezier HandleOut
position  HandleOut position 
space  The space (spline's local space or the world space) in which the position is expressed 
mode  Handle synchronization mode 
void SetBezierHandles  (  float  distanceFrag = 1 , 
bool  setIn = true , 

bool  setOut = true , 

bool  noDirtying = false 

) 
Automatically place Bezier handles relative to neighbour Control Points
distanceFrag  how much % distance between neighbouring CPs are applied to the handle length? 
setIn  Set HandleIn? 
setOut  Set HandleOut? 
noDirtying  If true, the Bezier handles will be modified without dirtying any spline 
void SetBezierHandles  (  float  distanceFrag, 
Vector3  p,  
Vector3  n,  
bool  setIn = true , 

bool  setOut = true , 

bool  noDirtying = false 

) 
Automatically place Bezier handles
distanceFrag  how much % distance between neighbouring CPs are applied to the handle length? 
p  Position the InHandle relates to 
n  Position the OutHandle relates to 
setIn  Set HandleIn? 
setOut  Set HandleOut? 
noDirtying  If true, the Bezier handles will be modified without dirtying any spline 
void SetFollowUp  (  CurvySplineSegment  target, 
ConnectionHeadingEnum  heading = ConnectionHeadingEnum.Auto 

) 
Sets FollowUp of this Control Point
target  the Control Point to follow to 
heading  the Heading on the target's spline 
void SetLocalPosition  (  Vector3  newPosition  ) 
Sets the local position while dirtying the spline, dirtying the connected splines, and updating the connected control points' positions accordingly.
newPosition 
void SetLocalRotation  (  Quaternion  value  ) 
Sets the local rotation while dirtying the spline, dirtying the connected splines, and updating the connected control points' rotations accordingly.
value 
void SetPosition  (  Vector3  value  ) 
Sets the global position while dirtying the spline, dirtying the connected splines, and updating the connected control points' positions accordingly.
value 
void SetRotation  (  Quaternion  value  ) 
Sets the global rotation while dirtying the spline, dirtying the connected splines, and updating the connected control points' rotations accordingly.
value 
override string ToString  (  ) 
void UnlinkFromSpline  (  ) 
void UnregisterMetaData  (  CurvyMetadataBase  metaData  ) 
Removes a MetaData instance from Metadata
Vector3 [] Approximation = new Vector3[0] 
List of precalculated interpolations
Based on Spline's CacheDensity
float [] ApproximationDistances = new float[0] 
List of precalculated distances
Based on Spline's CacheDensity
Vector3 [] ApproximationT = new Vector3[0] 
List of precalculated TangentNormals
Based on Spline's CacheDensity
Vector3 [] ApproximationUp = new Vector3[0] 
List of precalculated UpVectors
Based on Spline's CacheDensity

static 
The color used in Gizmos to draw a segment's tangents

getset 
If set, Control Point's rotation will be set to the calculated UpVector3
This is particularly useful when connecting splines

getset 

getset 
Gets or Sets Auto Handles. When setting it the value of connected control points is also updated

get 
Gets this segment's bounds in world space

get 
Gets the number of individual cache points of this segment
The actual approximations arrays' size is CacheSize + 1

getset 
Gets/Sets the connection handler this Control Point is using (if any)
If set to null, FollowUp wil be set to null to

getset 
When part of a CurvyConnection, this defines whether the connection's position is applied to this Control Point The synchronization process is applied by CurvyConnection at each frame in its update methods. So if you modify the value of this property, and want the synchronization to happen right away, you will have to call the connection's CurvyConnection.SetSynchronisationPositionAndRotation(Vector3, Quaternion) with the connection's position and rotation as parameters

getset 
When part of a CurvyConnection, this defines whether the connection's rotation is applied to this Control Point The synchronization process is applied by CurvyConnection at each frame in its update methods. So if you modify the value of this property, and want the synchronization to happen right away, you will have to call the connection's CurvyConnection.SetSynchronisationPositionAndRotation(Vector3, Quaternion) with the connection's position and rotation as parameters

getset 
Gets the distance from spline start to the first control point (localF=0)

getset 
End Bias
remarks>This only applies to interpolation methods using Bias

getset 
End Continuity
This only applies to interpolation methods using Continuity

getset 
End Tension
This only applies to interpolation methods using Tension

get 
Gets the connected Control Point that is set as "Head To"

getset 
Gets or sets the heading toward the "Head To" segment

getset 
Bézier spline left handle in spline's local coordinates

getset 
Bézier spline left handle in world coordinates

getset 
Bézier spline right handle in spline's local coordinates

getset 
Bézier spline right handle in world coordinates

get 
Returns true if the local orientation is different than the last one used in the segment approximations cache computation

get 
Returns true if the local position is different than the last one used in the segment approximations cache computation

get 
Gets whether this Control Point is the first IGNORING closed splines

get 
Gets whether this Control Point is the last IGNORING closed splines

get 
Gets the length of this spline segment

get 
The Metadata components added to this GameObject

get 
Returns wheter the orientation of this Control Point influences the orientation of its containing spline's approximation points. Returns false if control point is not part of a spline

getset 
Whether local Bias should be used
This only applies to interpolation methods using Bias

getset 
Whether local Continuity should be used
This only applies to interpolation methods using Continuity

getset 
Whether local Tension should be used
This only applies to interpolation methods using Tension

getset 
The serialized value of OrientationAnchor. This value is ignored in some cases (invisible control points, first and last visible control points). Use CurvySpline.IsControlPointAnOrientationAnchor to get the correct value.

get 
Gets the parent spline

getset 
Start Bias
This only applies to interpolation methods using Bias

getset 
Start Continuity
This only applies to interpolation methods using Continuity

getset 
Start Tension
This only applies to interpolation methods using Tension

getset 
Swirling Mode

getset 
Turns to swirl

getset 
Keep Start/EndTCB synchronized
Applies only to TCB Interpolation

getset 
Gets the TF of this Control Point TF stands for Total Fragment. It's a value ranging from 0 to 1 inclusive. 0 means the spline's start and 1 means the spline's end. This is the "time" parameter used in the splines' formulas. A point's TF is not proportional to its distance from the spline's start. Depending on the spline, a value of 0.5 does not always mean the middle, distance wise, of the spline
This yields the same result as LocalFToTF(0)