Detailed Description

A node which immediately follows a bezier curve.

Inheritance diagram for Blaze.CurveLinePoint:
Blaze.QuadLinePoint Blaze.QuadLinePoint Blaze.VectorLine Blaze.VectorLine Blaze.VectorLine Blaze.VectorLine Blaze.VectorPoint Blaze.VectorPoint Blaze.VectorPoint Blaze.VectorPoint

Public Member Functions

override void Transform (Matrix4x4 by)
 
 CurveLinePoint (float x, float y)
 Creates a new curve node for the given point. More...
 
override void Transform (VectorTransform transform)
 
override void Contains (float x, float y, ref bool contained)
 
override float SignedArea ()
 
override void RecalculateBounds (VectorPath path)
 Recalculates the minimum values and width/height of this path, taking curves into account. More...
 
override VectorPoint AddControl (float x, float y, VectorPath path, out int id)
 Adds a control point here. More...
 
override VectorPoint DeleteControl (int id, VectorPath path)
 Deletes a control point here. More...
 
override void SampleAt (float t, out float x, out float y)
 Samples this line at the given t value. More...
 
void SimplifyCurve (VectorPath path)
 Makes sure that this curve is a "simple" one (which can then be used to very quickly find offset curves). More...
 
override VectorPoint PointAt (float t, bool addNext)
 Gets the point at the given t location. Similar to Split but doesn't apply the point to the path. Instead, the following point is added too. More...
 
override VectorPoint Split (float t, VectorPath path)
 Splits this vector line into two at the given parametric point. More...
 
override void NormalAt (float t, out float x, out float y)
 
override void StartNormal (out float x, out float y)
 Gets the normal at the start of the line from this to previous. More...
 
override void EndNormal (out float x, out float y)
 Gets the normal at the end of the line from this to previous. More...
 
override void ComputeLinePoints (PointReceiver output)
 Steps along the line between this point and previous point at a fixed step, adding the points to the scanner as it goes. More...
 
override void ComputeLinePoints (PointReceiverStepped output)
 Steps along the line between this point and previous point at a fixed step, adding the points to the scanner as it goes. This one also informs the stepper of the current step. More...
 
override VectorPoint Copy ()
 
override string ToString ()
 
override void Move (float x, float y)
 
override void Flip ()
 Axis flip. More...
 
override void Multiply (float x, float y)
 
override void Squash (float by)
 
override void Sheer (float by)
 
override void ExtrudeAndSample (VectorPath path, float extrudeBy, PointReceiverStepped sampler)
 
- Public Member Functions inherited from Blaze.QuadLinePoint
override void Transform (Matrix4x4 by)
 
 QuadLinePoint (float x, float y)
 Creates a new curve node for the given point. More...
 
override void Transform (VectorTransform transform)
 
override void Contains (float x, float y, ref bool contained)
 
override float SignedArea ()
 
override VectorPoint DeleteControl (int id, VectorPath path)
 Deletes a control point here. More...
 
override VectorPoint AddControl (float x, float y, VectorPath path, out int id)
 Adds a control point here. More...
 
override void StartNormal (out float x, out float y)
 Gets the normal at the start of the line from this to previous. More...
 
override void EndNormal (out float x, out float y)
 Gets the normal at the end of the line from this to previous. More...
 
override VectorPoint PointAt (float t, bool addNext)
 Gets the point at the given t location. Similar to Split but doesn't apply the point to the path. Instead, the following point is added too. More...
 
override VectorPoint Split (float t, VectorPath path)
 Splits this vector line into two at the given parametric point. More...
 
void StraightLineNormal (float dx, float dy, out float x, out float y)
 
override void ComputeLinePoints (PointReceiver output)
 Steps along the line between this point and previous point at a fixed step, adding the points to the scanner as it goes. More...
 
override void ComputeLinePoints (PointReceiverStepped output)
 Steps along the line between this point and previous point at a fixed step, adding the points to the scanner as it goes. This one also informs the stepper of the current step. More...
 
override void RecalculateBounds (VectorPath path)
 Recalculates the minimum values and width/height of this path, taking curves into account. More...
 
void BaseBounds (VectorPath path)
 
override void SampleAt (float t, out float x, out float y)
 Samples this line at the given t value. More...
 
override VectorPoint Copy ()
 
override string ToString ()
 
override void Move (float x, float y)
 
override void Flip ()
 Axis flip. More...
 
override void Multiply (float x, float y)
 
override void Squash (float by)
 
override void Sheer (float by)
 
override void ExtrudeAndSample (VectorPath path, float extrudeBy, PointReceiverStepped sampler)
 
- Public Member Functions inherited from Blaze.VectorLine
 VectorLine (float x, float y)
 
- Public Member Functions inherited from Blaze.VectorPoint
virtual float SampleMapped (MappedShapeSampler sampler, float percent)
 Steps along the line. In this case the percent value represents the position along the length of the line. More...
 
virtual void SetupSampler (MappedShapeSampler sampler)
 Called when a deform steps to this point. More...
 
virtual void SampleNormalMapped (MappedShapeSampler sampler, float percent, out float x, out float y)
 
virtual void SampleFullMapped (MappedShapeSampler sampler, float progress, out float x, out float y)
 
 VectorPoint ()
 Creates an empty path node. More...
 
 VectorPoint (float x, float y)
 Creates a node at the given point. More...
 
float ProgressAlongFast (float x, float y, float C, float D, float len_sq)
 Gets a "close enough" progress point along this line. Essentially converts x,y to curve param t. More...
 
void ReplaceWith (VectorPoint replacement, VectorPath path)
 Replaces this point with another. More...
 
VectorPoint GetShapeEnd ()
 
override string ToString ()
 
virtual void RenderLine (CanvasContext context)
 Used internally. Renders the line between this point and the next one, if there is one. More...
 

Public Attributes

float Control2X
 The x coordinate of the 2nd control point. More...
 
float Control2Y
 The y coordinate of the 2nd control point. More...
 
- Public Attributes inherited from Blaze.QuadLinePoint
float Control1X
 The x coordinate of the 1st control point. More...
 
float Control1Y
 The y coordinate of the 1st control point. More...
 
- Public Attributes inherited from Blaze.VectorLine
bool Close
 True if this was generated from a close path call. More...
 
float Length
 The length of this line. Updated by RecalculateBounds. More...
 
- Public Attributes inherited from Blaze.VectorPoint
float X
 The X coordinate of this path node. More...
 
float Y
 The Y coordinate of this path node. More...
 
VectorPoint Next
 Path nodes are stored as a linked list. The one after this node. More...
 
VectorPoint Previous
 Path nodes are stored as a linked list. The one before this node. More...
 

Package Functions

void SimplifyNow (VectorPath path)
 Simplifies this path now using the given midpoint of the line. More...
 

Static Private Member Functions

static bool IsEqual (float a, float b)
 Checks if two floats are equal within a predefined tolerance. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Blaze.QuadLinePoint
void Contains (float x, float y, ref bool contained, float prevX, float prevY, float curX, float curY)
 
- Properties inherited from Blaze.QuadLinePoint
override bool IsCurve [get]
 Is this a curve line? More...
 

Constructor & Destructor Documentation

Blaze.CurveLinePoint.CurveLinePoint ( float  x,
float  y 
)
inline

Creates a new curve node for the given point.

Member Function Documentation

override VectorPoint Blaze.CurveLinePoint.AddControl ( float  x,
float  y,
VectorPath  path,
out int  id 
)
inlinevirtual

Adds a control point here.

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.ComputeLinePoints ( PointReceiver  output)
inlinevirtual

Steps along the line between this point and previous point at a fixed step, adding the points to the scanner as it goes.

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.ComputeLinePoints ( PointReceiverStepped  output)
inlinevirtual

Steps along the line between this point and previous point at a fixed step, adding the points to the scanner as it goes. This one also informs the stepper of the current step.

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.Contains ( float  x,
float  y,
ref bool  contained 
)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override VectorPoint Blaze.CurveLinePoint.Copy ( )
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override VectorPoint Blaze.CurveLinePoint.DeleteControl ( int  id,
VectorPath  path 
)
inlinevirtual

Deletes a control point here.

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.EndNormal ( out float  x,
out float  y 
)
inlinevirtual

Gets the normal at the end of the line from this to previous.

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.ExtrudeAndSample ( VectorPath  path,
float  extrudeBy,
PointReceiverStepped  sampler 
)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.Flip ( )
inlinevirtual

Axis flip.

Reimplemented from Blaze.VectorPoint.

static bool Blaze.CurveLinePoint.IsEqual ( float  a,
float  b 
)
inlinestaticprivate

Checks if two floats are equal within a predefined tolerance.

override void Blaze.CurveLinePoint.Move ( float  x,
float  y 
)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.Multiply ( float  x,
float  y 
)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.NormalAt ( float  t,
out float  x,
out float  y 
)
inlinevirtual

Reimplemented from Blaze.QuadLinePoint.

override VectorPoint Blaze.CurveLinePoint.PointAt ( float  t,
bool  addNext 
)
inlinevirtual

Gets the point at the given t location. Similar to Split but doesn't apply the point to the path. Instead, the following point is added too.

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.RecalculateBounds ( VectorPath  path)
inlinevirtual

Recalculates the minimum values and width/height of this path, taking curves into account.

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.SampleAt ( float  t,
out float  x,
out float  y 
)
inlinevirtual

Samples this line at the given t value.

Reimplemented from Blaze.VectorLine.

override void Blaze.CurveLinePoint.Sheer ( float  by)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override float Blaze.CurveLinePoint.SignedArea ( )
inlinevirtual

Reimplemented from Blaze.VectorPoint.

void Blaze.CurveLinePoint.SimplifyCurve ( VectorPath  path)
inline

Makes sure that this curve is a "simple" one (which can then be used to very quickly find offset curves).

void Blaze.CurveLinePoint.SimplifyNow ( VectorPath  path)
inlinepackage

Simplifies this path now using the given midpoint of the line.

override VectorPoint Blaze.CurveLinePoint.Split ( float  t,
VectorPath  path 
)
inlinevirtual

Splits this vector line into two at the given parametric point.

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.Squash ( float  by)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.StartNormal ( out float  x,
out float  y 
)
inlinevirtual

Gets the normal at the start of the line from this to previous.

Reimplemented from Blaze.VectorPoint.

override string Blaze.CurveLinePoint.ToString ( )
inline
override void Blaze.CurveLinePoint.Transform ( Matrix4x4  by)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override void Blaze.CurveLinePoint.Transform ( VectorTransform  transform)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

Member Data Documentation

float Blaze.CurveLinePoint.Control2X

The x coordinate of the 2nd control point.

float Blaze.CurveLinePoint.Control2Y

The y coordinate of the 2nd control point.