// Assembly: Unity.VectorGraphics
// Full name: Unity.VectorGraphics.VectorUtils

namespace Unity.VectorGraphics
{
public class VectorUtils // TypeDefIndex: 10884
{
	// Fields
	type#22481 s_ExpandEdgesMat;
	type#22481 s_DemulMat;
	type#22481 s_BlendMat;
	type#26074 Epsilon;

	// Methods
	// RVA: -1
	internal static type#12840 BuildEllipsePath(type#28439 p0, type#28439 p1, type#26059 rotation, type#26059 rx, type#26059 ry, type#15313 largeArc, type#15313 sweep) { }
	// RVA: -1
	private static type#28660 ComputeEllipseParameters(type#28439 p0, type#28439 p1, type#26059 phi, type#26059 rx, type#26059 ry, type#15313 fa, type#15313 fs, type#12217 c, type#12113 theta1, type#12113 sweepTheta, type#12113 adjustedRx, type#12113 adjustedRy) { }
	// RVA: -1
	private static type#28660 EnsureRadiiAreLargeEnough(type#28439 p, type#12112 rx, type#12112 ry) { }
	// RVA: -1
	private static type#16067 SampleGradient(type#13086 stops, type#26059 u) { }
	// RVA: -1
	private static type#28439 RayUnitCircleFirstHit(type#28439 rayStart, type#28439 rayDir) { }
	// RVA: -1
	private static type#26059 RadialAddress(type#28439 uv, type#28439 focus) { }
	// RVA: -1
	private static type#12922 RasterizeGradient(type#19203 gradient, type#20867 width, type#20867 height) { }
	// RVA: -1
	private static type#12922 RasterizeGradientStripe(type#19203 gradient, type#20867 width) { }
	// RVA: -1
	private static type#9333 PackRects(type#7317 fillSizes, type#12217 atlasDims) { }
	// RVA: -1
	private static type#28660 BlitRawTexture(type#34664 src, type#34664 dest, type#20867 destX, type#20867 destY, type#15313 rotate) { }
	// RVA: -1
	internal static type#28660 WriteRawInt2Packed(type#34664 dest, type#20867 v0, type#20867 v1, type#20867 destX, type#20867 destY) { }
	// RVA: -1
	internal static type#28660 WriteRawFloat4Packed(type#34664 dest, type#26059 f0, type#26059 f1, type#26059 f2, type#26059 f3, type#20867 destX, type#20867 destY) { }
	// RVA: -1
	public static type#15137 BuildRectangleContour(type#25017 rect, type#28439 radiusTL, type#28439 radiusTR, type#28439 radiusBR, type#28439 radiusBL) { }
	// RVA: -1
	public static type#9332 TessellateScene(type#25608 scene, type#34669 tessellationOptions, type#4648 nodeOpacities) { }
	// RVA: -1
	private static type#9332 TessellateNodeHierarchyRecursive(type#25618 node, type#34669 tessellationOptions, type#22503 worldTransform, type#26059 worldOpacity, type#4644 nodeOpacities) { }
	// RVA: -1
	internal static type#8374 TraceNodeHierarchyShapes(type#25618 root, type#34669 tessellationOptions) { }
	// RVA: -1
	private static type#28660 TessellateShape(type#25982 vectorShape, type#9332 geoms, type#34669 tessellationOptions, type#15313 isConvex) { }
	// RVA: -1
	private static type#28660 TessellateConvexContour(type#25982 shape, type#26659 stroke, type#16067 color, type#9332 geoms, type#34669 tessellationOptions) { }
	// RVA: -1
	private static type#28660 TessellateShapeLibTess(type#25982 vectorShape, type#16067 color, type#9332 geoms, type#34669 tessellationOptions) { }
	// RVA: -1
	internal static type#13580 GenerateShapeUVs(type#13580 verts, type#25017 bounds, type#22503 uvTransform) { }
	// RVA: -1
	private static type#28660 SwapXY(type#12215 v) { }
	// RVA: -1
	public static type#34670 GenerateAtlasAndFillUVs(type#6727 geoms, type#27917 rasterSize) { }
	// RVA: -1
	private static type#20867 NextPOT(type#20867 v) { }
	// RVA: -1
	public static type#34670 GenerateAtlas(type#6727 geoms, type#27917 rasterSize, type#15335 generatePOTTexture, type#15335 encodeSettings, type#15335 linear) { }
	// RVA: -1
	private static type#28660 EncodeSettings(type#6727 geoms, type#4441 fills, type#34664 rawAtlasTex, type#28439 whiteTexelsScreenPos) { }
	// RVA: -1
	public static type#28660 FillUVs(type#6727 geoms, type#34670 texAtlas) { }
	// RVA: -1
	public static type#26243 BuildSprite(type#9332 geoms, type#26059 svgPixelsPerUnit, type#34656 alignment, type#28439 customPivot, type#27901 gradientResolution, type#15335 flipYAxis) { }
	// RVA: -1
	public static type#26243 BuildSprite(type#9332 geoms, type#25017 rect, type#26059 svgPixelsPerUnit, type#34656 alignment, type#28439 customPivot, type#27901 gradientResolution, type#15335 flipYAxis) { }
	// RVA: -1
	public static type#28660 FillMesh(type#22581 mesh, type#9332 geoms, type#26059 svgPixelsPerUnit, type#15335 flipYAxis) { }
	// RVA: -1
	private static type#28660 FlipYAxis(type#7377 vertices) { }
	// RVA: -1
	private static type#28660 FillVertexChannels(type#9332 geoms, type#26059 pixelsPerUnit, type#15313 hasUVs, type#11654 vertices, type#11653 indices, type#11617 colors, type#11654 uvs, type#11654 settingIndices, type#15313 flipYAxis) { }
	// RVA: -1
	internal static type#28660 AdjustWinding(type#13580 vertices, type#13551 indices, type#34671 dir) { }
	// RVA: -1
	private static type#28660 FlipRangeIfNecessary(type#9204 vertices, type#9189 indices, type#20867 indexStart, type#20867 indexEnd, type#15313 flipYAxis) { }
	// RVA: -1
	internal static type#28660 RenderFromArrays(type#13580 vertices, type#13551 indices, type#13580 uvs, type#12916 colors, type#13580 settings, type#27318 texture, type#22476 mat, type#15335 clear) { }
	// RVA: -1
	public static type#28660 RenderSprite(type#26243 sprite, type#22476 mat, type#15335 clear) { }
	// RVA: -1
	private static type#22476 CreateMaterialForShaderName(type#26576 shaderName, type#26576 backupPath) { }
	// RVA: -1
	public static type#27318 RenderSpriteToTexture2D(type#26243 sprite, type#20867 width, type#20867 height, type#22476 mat, type#20891 antiAliasing, type#15335 expandEdges) { }
	// RVA: -1
	internal static type#28439 GetPivot(type#34656 alignment, type#28439 customPivot, type#25017 bbox, type#15313 flipYAxis) { }
	// RVA: -1
	public static type#28660 TessellatePath(type#15137 contour, type#24327 pathProps, type#34669 tessellateOptions, type#11735 vertices, type#11729 indices) { }
	// RVA: -1
	private static type#13580 TraceShape(type#15137 contour, type#26659 stroke, type#34669 tessellateOptions) { }
	// RVA: -1
	private static type#15313 TryGetMoreRemainingUnits(type#12112 unitsRemaining, type#24314 pathIt, type#26059 startingLength, type#26059 distance, type#26059 stepDistance) { }
	// RVA: -1
	private static type#28660 HandleNewSegmentJoining(type#24314 pathIt, type#24325 patternIt, type#13711 joiningInfo, type#26059 halfThickness, type#13412 segmentLengths) { }
	// RVA: -1
	private static type#28660 SkipRange(type#26059 distance, type#24314 pathIt, type#24325 patternIt, type#24327 pathProps, type#13711 joiningInfo, type#13412 segmentLengths) { }
	// RVA: -1
	private static type#28660 TessellateRange(type#26059 distance, type#24314 pathIt, type#24325 patternIt, type#24327 pathProps, type#34669 tessellateOptions, type#13711 joiningInfo, type#13412 segmentLengths, type#26059 totalLength, type#20867 rangeIndex, type#9204 verts, type#9189 inds) { }
	// RVA: -1
	private static type#28660 AddSegment(type#15140 segment, type#26059 toT, type#26059 halfThickness, type#13711 joinInfo, type#26059 segmentLengthSoFar, type#9204 verts, type#9189 inds) { }
	// RVA: -1
	private static type#34661 ForeseeJoining(type#15140 end, type#15140 start, type#26059 halfThickness, type#26059 endSegmentLength) { }
	// RVA: -1
	private static type#13580 LineBezierThicknessIntersect(type#15140 seg, type#26059 thickness, type#28439 lineFrom, type#28439 lineTo, type#12113 distanceToIntersection, type#12217 intersection) { }
	// RVA: -1
	private static type#15313 PointOnLineIsWithinSegment(type#28439 lineFrom, type#28439 lineTo, type#28439 point) { }
	// RVA: -1
	private static type#28660 GenerateJoining(type#34661 joinInfo, type#24311 corner, type#26059 halfThickness, type#26059 tippedCornerLimit, type#34669 tessellateOptions, type#9204 verts, type#9189 inds) { }
	// RVA: -1
	private static type#28660 GenerateTip(type#15140 segment, type#15313 atStart, type#26059 t, type#24315 ending, type#26059 halfThickness, type#34669 tessellateOptions, type#9204 verts, type#9189 inds) { }
	// RVA: -1
	private static type#20867 CalculateArcSteps(type#26059 radius, type#26059 fromAngle, type#26059 toAngle, type#34669 tessellateOptions) { }
	// RVA: -1
	public static type#28660 TessellateRect(type#25017 rect, type#11735 vertices, type#11729 indices) { }
	// RVA: -1
	public static type#28660 TessellateRectBorder(type#25017 rect, type#26059 halfThickness, type#11735 vertices, type#11729 indices) { }
	// RVA: -1
	public static type#12840 BezierSegmentToPath(type#15140 segment) { }
	// RVA: -1
	public static type#12840 BezierSegmentsToPath(type#12842 segments) { }
	// RVA: -1
	public static type#15140 PathSegmentAtIndex(type#7323 path, type#20867 index) { }
	// RVA: -1
	public static type#15313 PathEndsPerfectlyMatch(type#7323 path) { }
	// RVA: -1
	public static type#28660 MakeRectangleShape(type#25982 rectShape, type#25017 rect) { }
	// RVA: -1
	public static type#28660 MakeRectangleShape(type#25982 rectShape, type#25017 rect, type#28439 radiusTL, type#28439 radiusTR, type#28439 radiusBR, type#28439 radiusBL) { }
	// RVA: -1
	public static type#28660 MakeEllipseShape(type#25982 ellipseShape, type#28439 pos, type#26059 radiusX, type#26059 radiusY) { }
	// RVA: -1
	public static type#28660 MakeCircleShape(type#25982 circleShape, type#28439 pos, type#26059 radius) { }
	// RVA: -1
	public static type#25017 Bounds(type#12840 path) { }
	// RVA: -1
	public static type#25017 Bounds(type#6719 vertices) { }
	// RVA: -1
	public static type#15140 MakeLine(type#28439 from, type#28439 to) { }
	// RVA: -1
	public static type#15140 QuadraticToCubic(type#28439 p0, type#28439 p1, type#28439 p2) { }
	// RVA: -1
	public static type#12840 MakePathLine(type#28439 from, type#28439 to) { }
	// RVA: -1
	internal static type#15140 MakeArcQuarter(type#28439 center, type#26059 startAngleRads, type#26059 sweepAngleRads) { }
	// RVA: -1
	public static type#12840 MakeArc(type#28439 center, type#26059 startAngleRads, type#26059 sweepAngleRads, type#26059 radius) { }
	// RVA: -1
	internal static type#20867 QuadrantAtAngle(type#26059 angle) { }
	// RVA: -1
	internal static type#15140 ArcSegmentForQuadrant(type#20867 quadrant) { }
	// RVA: -1
	public static type#15140 FlipSegment(type#15140 segment) { }
	// RVA: -1
	public static type#28660 Bounds(type#15140 segment, type#12217 min, type#12217 max) { }
	// RVA: -1
	public static type#28439 Eval(type#15140 segment, type#26059 t) { }
	// RVA: -1
	public static type#28439 EvalTangent(type#15140 segment, type#26059 t) { }
	// RVA: -1
	public static type#28439 EvalNormal(type#15140 segment, type#26059 t) { }
	// RVA: -1
	public static type#28439 EvalFull(type#15140 segment, type#26059 t, type#12217 tangent) { }
	// RVA: -1
	public static type#28439 EvalFull(type#15140 segment, type#26059 t, type#12217 tangent, type#12217 normal) { }
	// RVA: -1
	public static type#13412 SegmentsLengths(type#7323 segments, type#15313 closed, type#26077 precision) { }
	// RVA: -1
	public static type#26059 SegmentsLength(type#7323 segments, type#15313 closed, type#26077 precision) { }
	// RVA: -1
	public static type#26059 SegmentLength(type#15140 segment, type#26077 precision) { }
	// RVA: -1
	internal static type#26059 SegmentLengthIterative(type#15140 segment, type#20891 steps) { }
	// RVA: -1
	internal static type#15313 HasLargeCoordinates(type#15140 segment) { }
	// RVA: -1
	private static type#26059 AdaptiveQuadraticApproxSplitPoint(type#15140 segment, type#26059 precision) { }
	// RVA: -1
	private static type#26059 MidPointQuadraticApproxLength(type#15140 segment) { }
	// RVA: -1
	public static type#28660 SplitSegment(type#15140 segment, type#26059 t, type#11772 b1, type#11772 b2) { }
	// RVA: -1
	public static type#15140 TransformSegment(type#15140 segment, type#28439 translation, type#26059 rotation, type#28439 scaling) { }
	// RVA: -1
	public static type#15140 TransformSegment(type#15140 segment, type#22503 matrix) { }
	// RVA: -1
	public static type#12840 TransformBezierPath(type#12840 path, type#28439 translation, type#26059 rotation, type#28439 scaling) { }
	// RVA: -1
	public static type#12840 TransformBezierPath(type#12840 path, type#22503 matrix) { }
	// RVA: -1
	public static type#6707 SceneNodes(type#25618 root) { }
	// RVA: -1
	private static type#6728 WorldTransformedSceneNodes(type#25618 child, type#4644 nodeOpacities, type#34666 parent) { }
	// RVA: -1
	public static type#6728 WorldTransformedSceneNodes(type#25618 root, type#4644 nodeOpacities) { }
	// RVA: -1
	public static type#28660 RealignVerticesInBounds(type#7377 vertices, type#25017 bounds, type#15313 flip) { }
	// RVA: -1
	public static type#28660 FlipVerticesInBounds(type#7377 vertices, type#25017 bounds) { }
	// RVA: -1
	internal static type#28660 ClampVerticesInBounds(type#7377 vertices, type#25017 bounds) { }
	// RVA: -1
	public static type#6664 SegmentsInPath(type#6661 segments, type#15335 closed) { }
	// RVA: -1
	private static type#28660 SolveQuadratic(type#26059 a, type#26059 b, type#26059 c, type#12113 s1, type#12113 s2) { }
	// RVA: -1
	public static type#28439 IntersectLines(type#28439 line1Pt1, type#28439 line1Pt2, type#28439 line2Pt1, type#28439 line2Pt2) { }
	// RVA: -1
	public static type#28439 IntersectLineSegments(type#28439 line1Pt1, type#28439 line1Pt2, type#28439 line2Pt1, type#28439 line2Pt2) { }
	// RVA: -1
	private static type#15313 PointOnTheLeftOfLine(type#28439 lineFrom, type#28439 lineTo, type#28439 point) { }
	// RVA: -1
	public static type#13412 FindBezierLineIntersections(type#15140 segment, type#28439 p0, type#28439 p1) { }
	// RVA: -1
	private static type#13412 CubicRoots(type#17430 a, type#17430 b, type#17430 c, type#17430 d) { }
	// RVA: -1
	private static type#13580 BezierCoefficients(type#15140 segment) { }
	// RVA: -1
	public static type#25017 SceneNodeBounds(type#25618 root) { }
	// RVA: -1
	public static type#25017 ApproximateSceneNodeBounds(type#25618 root) { }
	// RVA: -1
	internal static type#15313 IsEmptySegment(type#15140 bs) { }
	// RVA: -1
	private static type#28660 .cctor() { }
}
}
