Inheritance diagram for Blaze.VectorPath:
Blaze.RasterVectorPath InfiniText.Glyph InfiniText.CompositeGlyph

Public Member Functions

void ToStraightLines ()
 Converts this path to straight lines only. Assumes values range from 0-1 and uses an accuracy of 0.05 (roughly 20 segments). More...
 
void ToStraightLines (float accuracy)
 Converts this path to straight lines only. Accuracy is the approx average length of each line segment. More...
 
void Transform (Matrix4x4 mat)
 
List< PathSegmentGetContours ()
 Finds all the separate contours in this path. More...
 
void HoleSort ()
 Sorts this path such that any holes it contains begin closest to it's containing contour. This essentially allows paths with holes (think hole in o!) to be correctly triangulated. More...
 
VectorPoint Nearest (float x, float y)
 Gets the nearest node in this shape to the given point. More...
 
VectorPoint Nearest (float x, float y, VectorPoint from, VectorPoint to)
 Gets the nearest node in the given section of this shape to the given point. More...
 
bool Contains (float x, float y)
 Does this path contain the given point? More...
 
bool Contains (float x, float y, VectorPoint from, VectorPoint to)
 Does the given section of this path contain the given point? More...
 
void GetVertices (Vector3[] vertices, Vector3[] normals, float accuracy, float offsetX, float offsetY, float scale, ref int index, List< int > contourStarts)
 
int GetVertexCount (float accuracy)
 
void MoveTo (float x, float y)
 Moves the current pen location to the given point. Used when drawing paths. More...
 
void SimplifyCurve ()
 "Simplifies" the curve values ensuring that it's possible to offset the parts of the path. Used by the path stroke system. More...
 
VectorPoint SelectPoint (int index)
 Selects the point at the given index of this path. More...
 
float Length ()
 The length of this path. More...
 
VectorPath CopySection (VectorPoint p1, float c1, VectorPoint p2, float c2)
 Copies a section of this path. Note that if p2 is before p1, it will safely loop over a closed node. More...
 
void Append (VectorPath path)
 Adds the given path onto the end of this one. More...
 
VectorPath CopyPath ()
 Copies this path. More...
 
void CopyInto (VectorPath path)
 Copies this vector path into the given one. More...
 
void Clear ()
 Clears this path. More...
 
void AddPathNode (VectorPoint point)
 Adds the given node to the end of path. See AddPathNodeStart to add to the start. More...
 
void AddPathNodeStart (VectorPoint point)
 Adds the given node to the start of the path. Must be a moveTo unless it's a temp thing. See AddPathNode to add to the end. More...
 
void ClosePathFast ()
 Closes the path quickly and safely. More...
 
void CheckClosed ()
 Closes the shape if the last point is the same as the close node. More...
 
void ClosePath ()
 A full path close. More...
 
void CloseLast ()
 Marks the last node as a close. More...
 
StraightLinePoint LineTo (float x, float y)
 
QuadLinePoint QuadraticCurveTo (float cx, float cy, float x, float y)
 
void CurveTo (float c1x, float c1y, float c2x, float c2y, float x, float y)
 
void CountNodes ()
 Recomputes path node count. More...
 
void Arc (float centerX, float centerY, float radius, float sAngle, float eAngle, bool counterClockwise)
 Creates an arc around the given circle center. Note that nothing will be seen until you call a fill or stroke method. More...
 
void EllipseArc (float rx, float ry, float xAxisRotation, float p1x, float p1y, bool largeArcFlag, bool sweepFlag)
 Handles SVG arcs. More...
 
void RecalculateMeta ()
 Recalculates bounds and normals. More...
 
void RecalculateBounds ()
 Recalculates the minimum values and width/height of this path, taking curves into account. More...
 
void Replace (VectorPoint point, VectorPoint with)
 Replaces one node with another. More...
 
void Remove (VectorPoint point)
 Remove a point. More...
 
void Sheer (float by)
 Sheers this path. Note that it's assumed to be at most 1 unit tall. More...
 
void Scale (float by)
 Scales this path by the given value. More...
 
void Scale (float x, float y)
 Scales this path by the given value. More...
 
void Flip ()
 Axis flip. More...
 
void Move (float byX, float byY)
 Scales this path by the given value. More...
 
float GetSignedArea ()
 Gets the signed area of the "major" contour (the first one). It's signed as this can identify the winding order. More...
 
override string ToString ()
 

Public Attributes

float MinX
 The minimum X value. More...
 
float MinY
 The minimum Y value. More...
 
float Width
 The width of this path. More...
 
float Height =1f
 The height of this path. More...
 
int PathNodeCount
 The number of points in this vector path. More...
 
MoveToPoint CloseNode
 The current node which will be used when the path is closed. More...
 
VectorPoint FirstPathNode
 When creating a path its nodes are stored as a linked list. The first node created. More...
 
VectorPoint LatestPathNode
 When creating a path its nodes are stored as a linked list. The latest node created. More...
 

Protected Attributes

bool HoleSorted =false
 True if any holes in this path have been sorted. More...
 

Properties

bool WasHoleSorted [get]
 True if any holes in this path have been sorted. Read only. More...
 
bool Closed [get]
 Is this path closed? More...
 
bool Unclosed [get]
 True if this path is currently unclosed. More...
 

Static Private Member Functions

static float AngleBetween (UnityEngine.Vector2 a, UnityEngine.Vector2 b)
 Signed angle between vectors. More...
 

Private Attributes

const float TwoPI =(float)(Math.PI)*2f
 The value 2*PI. More...
 

Member Function Documentation

void Blaze.VectorPath.AddPathNode ( VectorPoint  point)
inline

Adds the given node to the end of path. See AddPathNodeStart to add to the start.

void Blaze.VectorPath.AddPathNodeStart ( VectorPoint  point)
inline

Adds the given node to the start of the path. Must be a moveTo unless it's a temp thing. See AddPathNode to add to the end.

static float Blaze.VectorPath.AngleBetween ( UnityEngine.Vector2  a,
UnityEngine.Vector2  b 
)
inlinestaticprivate

Signed angle between vectors.

void Blaze.VectorPath.Append ( VectorPath  path)
inline

Adds the given path onto the end of this one.

void Blaze.VectorPath.Arc ( float  centerX,
float  centerY,
float  radius,
float  sAngle,
float  eAngle,
bool  counterClockwise 
)
inline

Creates an arc around the given circle center. Note that nothing will be seen until you call a fill or stroke method.

void Blaze.VectorPath.CheckClosed ( )
inline

Closes the shape if the last point is the same as the close node.

void Blaze.VectorPath.Clear ( )
inline

Clears this path.

void Blaze.VectorPath.CloseLast ( )
inline

Marks the last node as a close.

void Blaze.VectorPath.ClosePath ( )
inline

A full path close.

void Blaze.VectorPath.ClosePathFast ( )
inline

Closes the path quickly and safely.

bool Blaze.VectorPath.Contains ( float  x,
float  y 
)
inline

Does this path contain the given point?

bool Blaze.VectorPath.Contains ( float  x,
float  y,
VectorPoint  from,
VectorPoint  to 
)
inline

Does the given section of this path contain the given point?

void Blaze.VectorPath.CopyInto ( VectorPath  path)
inline

Copies this vector path into the given one.

VectorPath Blaze.VectorPath.CopyPath ( )
inline

Copies this path.

VectorPath Blaze.VectorPath.CopySection ( VectorPoint  p1,
float  c1,
VectorPoint  p2,
float  c2 
)
inline

Copies a section of this path. Note that if p2 is before p1, it will safely loop over a closed node.

void Blaze.VectorPath.CountNodes ( )
inline

Recomputes path node count.

void Blaze.VectorPath.CurveTo ( float  c1x,
float  c1y,
float  c2x,
float  c2y,
float  x,
float  y 
)
inline
void Blaze.VectorPath.EllipseArc ( float  rx,
float  ry,
float  xAxisRotation,
float  p1x,
float  p1y,
bool  largeArcFlag,
bool  sweepFlag 
)
inline

Handles SVG arcs.

void Blaze.VectorPath.Flip ( )
inline

Axis flip.

List<PathSegment> Blaze.VectorPath.GetContours ( )
inline

Finds all the separate contours in this path.

float Blaze.VectorPath.GetSignedArea ( )
inline

Gets the signed area of the "major" contour (the first one). It's signed as this can identify the winding order.

int Blaze.VectorPath.GetVertexCount ( float  accuracy)
inline
void Blaze.VectorPath.GetVertices ( Vector3[]  vertices,
Vector3[]  normals,
float  accuracy,
float  offsetX,
float  offsetY,
float  scale,
ref int  index,
List< int >  contourStarts 
)
inline
void Blaze.VectorPath.HoleSort ( )
inline

Sorts this path such that any holes it contains begin closest to it's containing contour. This essentially allows paths with holes (think hole in o!) to be correctly triangulated.

float Blaze.VectorPath.Length ( )
inline

The length of this path.

StraightLinePoint Blaze.VectorPath.LineTo ( float  x,
float  y 
)
inline
void Blaze.VectorPath.Move ( float  byX,
float  byY 
)
inline

Scales this path by the given value.

void Blaze.VectorPath.MoveTo ( float  x,
float  y 
)
inline

Moves the current pen location to the given point. Used when drawing paths.

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

Gets the nearest node in this shape to the given point.

VectorPoint Blaze.VectorPath.Nearest ( float  x,
float  y,
VectorPoint  from,
VectorPoint  to 
)
inline

Gets the nearest node in the given section of this shape to the given point.

QuadLinePoint Blaze.VectorPath.QuadraticCurveTo ( float  cx,
float  cy,
float  x,
float  y 
)
inline
void Blaze.VectorPath.RecalculateBounds ( )
inline

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

void Blaze.VectorPath.RecalculateMeta ( )
inline

Recalculates bounds and normals.

void Blaze.VectorPath.Remove ( VectorPoint  point)
inline

Remove a point.

void Blaze.VectorPath.Replace ( VectorPoint  point,
VectorPoint  with 
)
inline

Replaces one node with another.

void Blaze.VectorPath.Scale ( float  by)
inline

Scales this path by the given value.

void Blaze.VectorPath.Scale ( float  x,
float  y 
)
inline

Scales this path by the given value.

VectorPoint Blaze.VectorPath.SelectPoint ( int  index)
inline

Selects the point at the given index of this path.

void Blaze.VectorPath.Sheer ( float  by)
inline

Sheers this path. Note that it's assumed to be at most 1 unit tall.

void Blaze.VectorPath.SimplifyCurve ( )
inline

"Simplifies" the curve values ensuring that it's possible to offset the parts of the path. Used by the path stroke system.

void Blaze.VectorPath.ToStraightLines ( )
inline

Converts this path to straight lines only. Assumes values range from 0-1 and uses an accuracy of 0.05 (roughly 20 segments).

void Blaze.VectorPath.ToStraightLines ( float  accuracy)
inline

Converts this path to straight lines only. Accuracy is the approx average length of each line segment.

override string Blaze.VectorPath.ToString ( )
inline
void Blaze.VectorPath.Transform ( Matrix4x4  mat)
inline

Member Data Documentation

MoveToPoint Blaze.VectorPath.CloseNode

The current node which will be used when the path is closed.

VectorPoint Blaze.VectorPath.FirstPathNode

When creating a path its nodes are stored as a linked list. The first node created.

float Blaze.VectorPath.Height =1f

The height of this path.

bool Blaze.VectorPath.HoleSorted =false
protected

True if any holes in this path have been sorted.

VectorPoint Blaze.VectorPath.LatestPathNode

When creating a path its nodes are stored as a linked list. The latest node created.

float Blaze.VectorPath.MinX

The minimum X value.

float Blaze.VectorPath.MinY

The minimum Y value.

int Blaze.VectorPath.PathNodeCount

The number of points in this vector path.

const float Blaze.VectorPath.TwoPI =(float)(Math.PI)*2f
private

The value 2*PI.

float Blaze.VectorPath.Width

The width of this path.

Property Documentation

bool Blaze.VectorPath.Closed
get

Is this path closed?

bool Blaze.VectorPath.Unclosed
get

True if this path is currently unclosed.

bool Blaze.VectorPath.WasHoleSorted
get

True if any holes in this path have been sorted. Read only.