Detailed Description

A node which immediately follows an arc line. This handles the rendering of the arc itself.

Inheritance diagram for Blaze.VectorPoint:
Blaze.MoveToPoint Blaze.VectorLine InfiniText.LoadMetaPoint Blaze.ArcLinePoint Blaze.ArcLinePoint Blaze.EllipseLinePoint Blaze.QuadLinePoint Blaze.QuadLinePoint Blaze.StraightLinePoint Blaze.StraightLinePoint Blaze.CurveLinePoint Blaze.CurveLinePoint Blaze.CurveLinePoint Blaze.CurveLinePoint

Public Member Functions

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)
 
virtual void Transform (Matrix4x4 by)
 
 VectorPoint ()
 Creates an empty path node. More...
 
 VectorPoint (float x, float y)
 Creates a node at the given point. More...
 
virtual void Contains (float x, float y, ref bool contained)
 
virtual float SignedArea ()
 
virtual VectorPoint AddControl (float x, float y, VectorPath path, out int id)
 Adds a control point here. More...
 
virtual VectorPoint DeleteControl (int id, VectorPath path)
 Deletes a control point here. 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...
 
virtual void RecalculateBounds (VectorPath path)
 Recalculates the minimum values and width/height of this path, taking curves into account. More...
 
virtual 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...
 
virtual VectorPoint Split (float t, VectorPath path)
 Splits this vector line into two at the given parametric point. More...
 
virtual 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...
 
virtual 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...
 
virtual void StartNormal (out float x, out float y)
 Gets the normal at the start of the line from this to previous. More...
 
virtual void EndNormal (out float x, out float y)
 Gets the normal at the end of the line from this to previous. More...
 
virtual VectorPoint Copy ()
 
VectorPoint GetShapeEnd ()
 
virtual void Transform (VectorTransform transform)
 
override string ToString ()
 
virtual void Move (float x, float y)
 
virtual void Multiply (float x, float y)
 
virtual void Flip ()
 Axis flip. More...
 
virtual void Squash (float by)
 
virtual void Sheer (float by)
 
virtual void RenderLine (CanvasContext context)
 Used internally. Renders the line between this point and the next one, if there is one. More...
 
virtual void ExtrudeAndSample (VectorPath path, float extrudeBy, PointReceiverStepped sampler)
 

Public Attributes

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...
 

Properties

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.VectorPoint.VectorPoint ( )
inline

Creates an empty path node.

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

Creates a node at the given point.

Parameters
xThe X coordinate of this path node.
yThe Y coordinate of this path node.

Member Function Documentation

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

Adds a control point here.

Reimplemented in Blaze.QuadLinePoint, Blaze.StraightLinePoint, and Blaze.CurveLinePoint.

virtual void Blaze.VectorPoint.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 in Blaze.CurveLinePoint, Blaze.QuadLinePoint, Blaze.StraightLinePoint, Blaze.ArcLinePoint, Blaze.EllipseLinePoint, and Blaze.MoveToPoint.

virtual void Blaze.VectorPoint.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 in Blaze.CurveLinePoint, Blaze.QuadLinePoint, Blaze.StraightLinePoint, Blaze.EllipseLinePoint, Blaze.ArcLinePoint, and Blaze.MoveToPoint.

virtual void Blaze.VectorPoint.Contains ( float  x,
float  y,
ref bool  contained 
)
inlinevirtual

Reimplemented in Blaze.CurveLinePoint, and Blaze.QuadLinePoint.

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

Deletes a control point here.

Reimplemented in Blaze.CurveLinePoint, and Blaze.QuadLinePoint.

virtual void Blaze.VectorPoint.EndNormal ( out float  x,
out float  y 
)
inlinevirtual

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

Reimplemented in Blaze.CurveLinePoint, Blaze.StraightLinePoint, and Blaze.QuadLinePoint.

virtual void Blaze.VectorPoint.ExtrudeAndSample ( VectorPath  path,
float  extrudeBy,
PointReceiverStepped  sampler 
)
inlinevirtual
virtual void Blaze.VectorPoint.Flip ( )
inlinevirtual

Axis flip.

Reimplemented in Blaze.CurveLinePoint, and Blaze.QuadLinePoint.

VectorPoint Blaze.VectorPoint.GetShapeEnd ( )
inline
virtual void Blaze.VectorPoint.Move ( float  x,
float  y 
)
inlinevirtual

Reimplemented in Blaze.CurveLinePoint, and Blaze.QuadLinePoint.

virtual void Blaze.VectorPoint.Multiply ( float  x,
float  y 
)
inlinevirtual

Reimplemented in Blaze.CurveLinePoint, and Blaze.QuadLinePoint.

virtual VectorPoint Blaze.VectorPoint.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 in Blaze.CurveLinePoint, Blaze.QuadLinePoint, and Blaze.StraightLinePoint.

float Blaze.VectorPoint.ProgressAlongFast ( float  x,
float  y,
float  C,
float  D,
float  len_sq 
)
inline

Gets a "close enough" progress point along this line. Essentially converts x,y to curve param t.

virtual void Blaze.VectorPoint.RecalculateBounds ( VectorPath  path)
inlinevirtual

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

Reimplemented in Blaze.QuadLinePoint, Blaze.StraightLinePoint, Blaze.CurveLinePoint, Blaze.EllipseLinePoint, and Blaze.ArcLinePoint.

virtual void Blaze.VectorPoint.RenderLine ( CanvasContext  context)
inlinevirtual

Used internally. Renders the line between this point and the next one, if there is one.

Parameters
dataThe image to draw to.

Reimplemented in Blaze.ArcLinePoint, and Blaze.StraightLinePoint.

void Blaze.VectorPoint.ReplaceWith ( VectorPoint  replacement,
VectorPath  path 
)
inline

Replaces this point with another.

virtual void Blaze.VectorPoint.SampleFullMapped ( MappedShapeSampler  sampler,
float  progress,
out float  x,
out float  y 
)
inlinevirtual

Reimplemented in Blaze.StraightLinePoint.

virtual float Blaze.VectorPoint.SampleMapped ( MappedShapeSampler  sampler,
float  percent 
)
inlinevirtual

Steps along the line. In this case the percent value represents the position along the length of the line.

Reimplemented in Blaze.StraightLinePoint.

virtual void Blaze.VectorPoint.SampleNormalMapped ( MappedShapeSampler  sampler,
float  percent,
out float  x,
out float  y 
)
inlinevirtual

Reimplemented in Blaze.StraightLinePoint.

virtual void Blaze.VectorPoint.SetupSampler ( MappedShapeSampler  sampler)
inlinevirtual

Called when a deform steps to this point.

Reimplemented in Blaze.StraightLinePoint.

virtual void Blaze.VectorPoint.Sheer ( float  by)
inlinevirtual

Reimplemented in Blaze.CurveLinePoint, and Blaze.QuadLinePoint.

virtual float Blaze.VectorPoint.SignedArea ( )
inlinevirtual

Reimplemented in Blaze.QuadLinePoint, and Blaze.CurveLinePoint.

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

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

Reimplemented in Blaze.CurveLinePoint, Blaze.QuadLinePoint, and Blaze.StraightLinePoint.

virtual void Blaze.VectorPoint.Squash ( float  by)
inlinevirtual

Reimplemented in Blaze.CurveLinePoint, and Blaze.QuadLinePoint.

virtual void Blaze.VectorPoint.StartNormal ( out float  x,
out float  y 
)
inlinevirtual

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

Reimplemented in Blaze.CurveLinePoint, Blaze.StraightLinePoint, and Blaze.QuadLinePoint.

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

Reimplemented in Blaze.CurveLinePoint, and Blaze.QuadLinePoint.

virtual void Blaze.VectorPoint.Transform ( VectorTransform  transform)
inlinevirtual

Member Data Documentation

VectorPoint Blaze.VectorPoint.Next

Path nodes are stored as a linked list. The one after this node.

VectorPoint Blaze.VectorPoint.Previous

Path nodes are stored as a linked list. The one before this node.

float Blaze.VectorPoint.X

The X coordinate of this path node.

float Blaze.VectorPoint.Y

The Y coordinate of this path node.

Property Documentation

virtual bool Blaze.VectorPoint.HasLine
get

Is there a line from this point to the previous one?

virtual bool Blaze.VectorPoint.IsClose
getset
virtual bool Blaze.VectorPoint.IsCurve
get

Is this a curve line?

virtual bool Blaze.VectorPoint.Unloaded
get

True if this path is unloaded. Used to improve font load time of large fonts.