Detailed Description

A node which immediately follows a quadratic curve.

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

Public Member Functions

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...
 
virtual void NormalAt (float t, out float x, out float y)
 
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 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...
 

Protected Member Functions

void Contains (float x, float y, ref bool contained, float prevX, float prevY, float curX, float curY)
 

Properties

override bool IsCurve [get]
 Is this a curve line? More...
 
- Properties inherited from Blaze.VectorLine
override bool IsClose [get, set]
 
override bool HasLine [get]
 Is there a line from this point to the previous one? More...
 
- Properties inherited from Blaze.VectorPoint
virtual bool Unloaded [get]
 True if this path is unloaded. Used to improve font load time of large fonts. More...
 
virtual bool IsCurve [get]
 Is this a curve line? More...
 
virtual bool HasLine [get]
 Is there a line from this point to the previous one? More...
 
virtual bool IsClose [get, set]
 

Constructor & Destructor Documentation

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

Creates a new curve node for the given point.

Member Function Documentation

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

Adds a control point here.

Reimplemented from Blaze.VectorPoint.

void Blaze.QuadLinePoint.BaseBounds ( VectorPath  path)
inline
override void Blaze.QuadLinePoint.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.QuadLinePoint.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.QuadLinePoint.Contains ( float  x,
float  y,
ref bool  contained 
)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

void Blaze.QuadLinePoint.Contains ( float  x,
float  y,
ref bool  contained,
float  prevX,
float  prevY,
float  curX,
float  curY 
)
inlineprotected
override VectorPoint Blaze.QuadLinePoint.Copy ( )
inlinevirtual

Reimplemented from Blaze.VectorPoint.

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

Deletes a control point here.

Reimplemented from Blaze.VectorPoint.

override void Blaze.QuadLinePoint.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.QuadLinePoint.ExtrudeAndSample ( VectorPath  path,
float  extrudeBy,
PointReceiverStepped  sampler 
)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override void Blaze.QuadLinePoint.Flip ( )
inlinevirtual

Axis flip.

Reimplemented from Blaze.VectorPoint.

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

Reimplemented from Blaze.VectorPoint.

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

Reimplemented from Blaze.VectorPoint.

virtual void Blaze.QuadLinePoint.NormalAt ( float  t,
out float  x,
out float  y 
)
inlinevirtual

Reimplemented in Blaze.CurveLinePoint.

override VectorPoint Blaze.QuadLinePoint.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.QuadLinePoint.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.QuadLinePoint.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.QuadLinePoint.Sheer ( float  by)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

override float Blaze.QuadLinePoint.SignedArea ( )
inlinevirtual

Reimplemented from Blaze.VectorPoint.

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

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

Reimplemented from Blaze.VectorPoint.

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

Reimplemented from Blaze.VectorPoint.

override void Blaze.QuadLinePoint.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.

void Blaze.QuadLinePoint.StraightLineNormal ( float  dx,
float  dy,
out float  x,
out float  y 
)
inline
override string Blaze.QuadLinePoint.ToString ( )
inline
override void Blaze.QuadLinePoint.Transform ( Matrix4x4  by)
inlinevirtual

Reimplemented from Blaze.VectorPoint.

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

Reimplemented from Blaze.VectorPoint.

Member Data Documentation

float Blaze.QuadLinePoint.Control1X

The x coordinate of the 1st control point.

float Blaze.QuadLinePoint.Control1Y

The y coordinate of the 1st control point.

Property Documentation

override bool Blaze.QuadLinePoint.IsCurve
get

Is this a curve line?