From 2bf913b6931132e47916fb460ca8c9662b9fbd56 Mon Sep 17 00:00:00 2001 From: Nick Lockwood Date: Tue, 26 Sep 2023 19:14:23 +0100 Subject: [PATCH] Improve polygon.center docs --- Sources/Polygon.swift | 1 + .../euclid/bounds/init(_:)-27jri.json | 2 +- docs/data/documentation/euclid/polygon.json | 17 + .../documentation/euclid/polygon/area.json | 17 + .../documentation/euclid/polygon/bounds.json | 17 + .../documentation/euclid/polygon/center.json | 34 + .../euclid/polygon/hastexcoords.json | 17 + .../euclid/polygon/hasvertexcolors.json | 17 + .../euclid/polygon/isconvex.json | 17 + .../polygon/material-swift.property.json | 17 + .../euclid/polygon/orderededges.json | 17 + .../documentation/euclid/polygon/plane.json | 17 + .../euclid/polygon/undirectededges.json | 17 + .../euclid/polygon/vertices.json | 17 + docs/diagnostics.json | 148 +- docs/indexing-records.json | 6688 +-- docs/linkable-entities.json | 33659 ++++++++-------- 17 files changed, 20479 insertions(+), 20240 deletions(-) diff --git a/Sources/Polygon.swift b/Sources/Polygon.swift index b804e6a0..4560edff 100644 --- a/Sources/Polygon.swift +++ b/Sources/Polygon.swift @@ -171,6 +171,7 @@ public extension Polygon { } /// The position of the center of the polygon. + /// This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon's ``bounds``. var center: Vector { vertices.reduce(.zero) { $0 + $1.position } / Double(vertices.count) } diff --git a/docs/data/documentation/euclid/bounds/init(_:)-27jri.json b/docs/data/documentation/euclid/bounds/init(_:)-27jri.json index 0b63eae6..6676b17f 100644 --- a/docs/data/documentation/euclid/bounds/init(_:)-27jri.json +++ b/docs/data/documentation/euclid/bounds/init(_:)-27jri.json @@ -108,7 +108,7 @@ }, { "kind" : "text", - "text" : " = []) " + "text" : ") " }, { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/polygon.json b/docs/data/documentation/euclid/polygon.json index 5f9df185..5d03d036 100644 --- a/docs/data/documentation/euclid/polygon.json +++ b/docs/data/documentation/euclid/polygon.json @@ -612,6 +612,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/area.json b/docs/data/documentation/euclid/polygon/area.json index 7c999bad..d93e1466 100644 --- a/docs/data/documentation/euclid/polygon/area.json +++ b/docs/data/documentation/euclid/polygon/area.json @@ -369,6 +369,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/bounds.json b/docs/data/documentation/euclid/polygon/bounds.json index 1ec7d69c..4c777ac6 100644 --- a/docs/data/documentation/euclid/polygon/bounds.json +++ b/docs/data/documentation/euclid/polygon/bounds.json @@ -420,6 +420,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/center.json b/docs/data/documentation/euclid/polygon/center.json index bfa8d77b..11625ade 100644 --- a/docs/data/documentation/euclid/polygon/center.json +++ b/docs/data/documentation/euclid/polygon/center.json @@ -3,6 +3,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "hierarchy" : { @@ -370,6 +387,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/hastexcoords.json b/docs/data/documentation/euclid/polygon/hastexcoords.json index 325074be..120468c1 100644 --- a/docs/data/documentation/euclid/polygon/hastexcoords.json +++ b/docs/data/documentation/euclid/polygon/hastexcoords.json @@ -369,6 +369,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/hasvertexcolors.json b/docs/data/documentation/euclid/polygon/hasvertexcolors.json index 35e8f9f5..5a1bc846 100644 --- a/docs/data/documentation/euclid/polygon/hasvertexcolors.json +++ b/docs/data/documentation/euclid/polygon/hasvertexcolors.json @@ -369,6 +369,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/isconvex.json b/docs/data/documentation/euclid/polygon/isconvex.json index b2bb3032..46b0460b 100644 --- a/docs/data/documentation/euclid/polygon/isconvex.json +++ b/docs/data/documentation/euclid/polygon/isconvex.json @@ -369,6 +369,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/material-swift.property.json b/docs/data/documentation/euclid/polygon/material-swift.property.json index 9d6a6541..a711826d 100644 --- a/docs/data/documentation/euclid/polygon/material-swift.property.json +++ b/docs/data/documentation/euclid/polygon/material-swift.property.json @@ -391,6 +391,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/orderededges.json b/docs/data/documentation/euclid/polygon/orderededges.json index f0b5c398..a981f2b8 100644 --- a/docs/data/documentation/euclid/polygon/orderededges.json +++ b/docs/data/documentation/euclid/polygon/orderededges.json @@ -408,6 +408,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/plane.json b/docs/data/documentation/euclid/polygon/plane.json index a005b02f..adca0b38 100644 --- a/docs/data/documentation/euclid/polygon/plane.json +++ b/docs/data/documentation/euclid/polygon/plane.json @@ -404,6 +404,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/undirectededges.json b/docs/data/documentation/euclid/polygon/undirectededges.json index 09798929..e8827fd9 100644 --- a/docs/data/documentation/euclid/polygon/undirectededges.json +++ b/docs/data/documentation/euclid/polygon/undirectededges.json @@ -434,6 +434,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/data/documentation/euclid/polygon/vertices.json b/docs/data/documentation/euclid/polygon/vertices.json index c291a8df..48280ebb 100644 --- a/docs/data/documentation/euclid/polygon/vertices.json +++ b/docs/data/documentation/euclid/polygon/vertices.json @@ -408,6 +408,23 @@ { "text" : "The position of the center of the polygon.", "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", + "type" : "text" } ], "fragments" : [ diff --git a/docs/diagnostics.json b/docs/diagnostics.json index da270a2f..561c571e 100644 --- a/docs/diagnostics.json +++ b/docs/diagnostics.json @@ -4,48 +4,48 @@ ], "severity" : 2, - "source" : "..\/Sources\/Angle.swift", + "source" : "..\/Sources\/Rotation.swift", "start" : { - "column" : 16, - "line" : 75 + "column" : 19, + "line" : 82 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Angle'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Rotation'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Angle.swift", + "source" : "..\/Sources\/Rotation.swift", "start" : { - "column" : 16, - "line" : 76 + "column" : 19, + "line" : 83 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Angle'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Rotation'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Rotation.swift", + "source" : "..\/Sources\/Quaternion.swift", "start" : { - "column" : 19, - "line" : 82 + "column" : 21, + "line" : 89 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Rotation'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Rotation.swift", + "source" : "..\/Sources\/Quaternion.swift", "start" : { - "column" : 19, - "line" : 83 + "column" : 21, + "line" : 90 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Rotation'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" }, { "notes" : [ @@ -76,180 +76,180 @@ ], "severity" : 2, - "source" : "..\/Sources\/Vector.swift", + "source" : "Extensions\/Quaternion.md", "start" : { "column" : 17, - "line" : 104 + "line" : 52 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Vector'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Vector.swift", + "source" : "Extensions\/Quaternion.md", "start" : { "column" : 17, - "line" : 105 + "line" : 53 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Vector'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Quaternion.swift", + "source" : "..\/Sources\/Vector.swift", "start" : { - "column" : 21, - "line" : 89 + "column" : 17, + "line" : 104 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Vector'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Quaternion.swift", + "source" : "..\/Sources\/Vector.swift", "start" : { - "column" : 21, - "line" : 90 + "column" : 17, + "line" : 105 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Vector'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Angle.md", + "source" : "Extensions\/Vector.md", "start" : { - "column" : 12, - "line" : 42 + "column" : 13, + "line" : 71 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Angle'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Vector'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Angle.md", + "source" : "Extensions\/Vector.md", "start" : { - "column" : 12, - "line" : 43 + "column" : 13, + "line" : 72 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Angle'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Vector'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Quaternion.md", + "source" : "..\/Sources\/Mesh.swift", "start" : { - "column" : 17, - "line" : 52 + "column" : 14, + "line" : 43 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" + "summary" : "'cube(center:size:faces:material:)-7wdr2' doesn't exist at '\/Euclid\/Mesh'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Quaternion.md", + "source" : "..\/Sources\/Mesh.swift", "start" : { - "column" : 17, - "line" : 53 + "column" : 14, + "line" : 44 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" + "summary" : "'cube(center:size:faces:material:)-imdm' doesn't exist at '\/Euclid\/Mesh'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Vector.md", + "source" : "ConstructingMeshes.md", "start" : { - "column" : 13, - "line" : 71 + "column" : 10, + "line" : 16 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Vector'" + "summary" : "'cube(center:size:faces:material:)-imdm' doesn't exist at '\/Euclid\/Mesh'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Vector.md", + "source" : "ConstructingMeshes.md", "start" : { - "column" : 13, - "line" : 72 + "column" : 10, + "line" : 19 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Vector'" + "summary" : "'cone(radius:height:slices:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)' doesn't exist at '\/Euclid\/Mesh'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Mesh.swift", + "source" : "ConstructingMeshes.md", "start" : { - "column" : 14, - "line" : 43 + "column" : 10, + "line" : 83 }, - "summary" : "'cube(center:size:faces:material:)-7wdr2' doesn't exist at '\/Euclid\/Mesh'" + "summary" : "'intersection(_:isCancelled:)' is ambiguous at '\/Euclid\/Mesh'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Mesh.swift", + "source" : "..\/Sources\/Angle.swift", "start" : { - "column" : 14, - "line" : 44 + "column" : 16, + "line" : 75 }, - "summary" : "'cube(center:size:faces:material:)-imdm' doesn't exist at '\/Euclid\/Mesh'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Angle'" }, { "notes" : [ ], "severity" : 2, - "source" : "ConstructingMeshes.md", + "source" : "..\/Sources\/Angle.swift", "start" : { - "column" : 10, - "line" : 16 + "column" : 16, + "line" : 76 }, - "summary" : "'cube(center:size:faces:material:)-imdm' doesn't exist at '\/Euclid\/Mesh'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Angle'" }, { "notes" : [ ], "severity" : 2, - "source" : "ConstructingMeshes.md", + "source" : "Extensions\/Angle.md", "start" : { - "column" : 10, - "line" : 19 + "column" : 12, + "line" : 42 }, - "summary" : "'cone(radius:height:slices:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)' doesn't exist at '\/Euclid\/Mesh'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Angle'" }, { "notes" : [ ], "severity" : 2, - "source" : "ConstructingMeshes.md", + "source" : "Extensions\/Angle.md", "start" : { - "column" : 10, - "line" : 83 + "column" : 12, + "line" : 43 }, - "summary" : "'intersection(_:isCancelled:)' is ambiguous at '\/Euclid\/Mesh'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Angle'" }, { "notes" : [ diff --git a/docs/indexing-records.json b/docs/indexing-records.json index b2f32d06..232f7119 100644 --- a/docs/indexing-records.json +++ b/docs/indexing-records.json @@ -3,17 +3,17 @@ "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a transform from a SceneKit transform matrix. The SCNMatrix4 from which to determine the transform.", - "summary" : "Creates a transform from a SceneKit transform matrix.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Bounded Implementations" }, { "headings" : [ @@ -23,16 +23,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "intersect(_:isCancelled:)" + "rawIndexableTextContent" : "The bounding box containing the line segment. ", + "summary" : "The bounding box containing the line segment.", + "title" : "bounds" }, { "headings" : [ @@ -42,13 +39,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", + "summary" : "Inherited from Comparable.<=(_:_:).", + "title" : "<=(_:_:)" }, { "headings" : [ @@ -58,13 +55,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Creates a new plane by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new plane by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ @@ -74,77 +71,77 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "The angle of rotation. ", + "summary" : "The angle of rotation.", + "title" : "angle" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this quaternion into the given encoder. The encoder to write data to.", - "summary" : "Encodes this quaternion into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "Merges this polygon with another, removing redundant vertices where possible. The polygon to merge with. A Boolean indicating is the resultant polygon must be convex. Return Value The combined polygon, or nil if the polygons can’t be merged.", + "summary" : "Merges this polygon with another, removing redundant vertices where possible.", + "title" : "merge(_:ensureConvex:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Bounded-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Bounded Implementations" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Encodes this path into the given encoder. The encoder to write data to.", + "summary" : "Encodes this path into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Rotation from a simd quaternion. A simd quaternion.", - "summary" : "Creates a Rotation from a simd quaternion.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Creates a polygon from an array of vertices. An array of Vertex that make up the polygon. An optional Polygon.Material to use for the polygon. Discussion A polygon can be convex or concave, but vertices must be coplanar and non-degenerate. Vertices are assumed to be in anti-clockwise order for the purpose of deriving the face normal.", + "summary" : "Creates a polygon from an array of vertices.", + "title" : "init(_:material:)" }, { "headings" : [ @@ -154,29 +151,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Divides the angle by a numeric denominator. ", - "summary" : "Divides the angle by a numeric denominator.", - "title" : "\/=(_:_:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new bounds inset by the specified amount. The amount to inset the bounds by. Use a negative value to expand the bounds. Return Value The inset bounds.", - "summary" : "Returns a new bounds inset by the specified amount.", - "title" : "inset(by:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -186,29 +183,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "white" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Hashable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-27eol" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Hashable Implementations" + "rawIndexableTextContent" : "Creates a Quaternion from a simd quaternion. A simd quaternion.", + "summary" : "Creates a Quaternion from a simd quaternion.", + "title" : "init(_:)" }, { "headings" : [ @@ -218,29 +215,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle is zero (or close to zero). ", - "summary" : "The angle is zero (or close to zero).", - "title" : "isZero" + "rawIndexableTextContent" : "Creates an angle from a degrees value. The angle in degrees.", + "summary" : "Creates an angle from a degrees value.", + "title" : "degrees(_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Linearly interpolate between this vector and another. The vector to interpolate towards. The normalized extent of interpolation, from 0 to 1.", - "summary" : "Linearly interpolate between this vector and another.", - "title" : "lerp(_:_:)" + "rawIndexableTextContent" : "Returns the point where the specified plane intersects the line segment. The plane to compare with. Return Value The point of intersection, or nil if the line segment and plane don’t intersect.", + "summary" : "Returns the point where the specified plane intersects the line segment.", + "title" : "intersection(with:)" }, { "headings" : [ @@ -250,30 +247,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Angle representing a quarter rotation. ", - "summary" : "Angle representing a quarter rotation.", - "title" : "halfPi" + "rawIndexableTextContent" : "Encodes this angle into the given encoder. The encoder to write data to.", + "summary" : "Encodes this angle into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.type.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-eado" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new mesh that is the combination of the polygons from all the specified meshes. The meshes to merge. Return Value A new mesh that includes all polygons from all meshes. Discussion No attempt is made to deduplicate or join meshes. Polygons are neither split nor removed.", - "summary" : "Creates a new mesh that is the combination of the polygons from all the specified meshes.", - "title" : "merge(_:)" + "rawIndexableTextContent" : "Creates an axis-aligned cubical mesh. The center point of the mesh. The size of the mesh. The direction of the generated polygon faces. The way that texture coordinates are calculated for the cube. The optional material for the mesh.", + "summary" : "Creates an axis-aligned cubical mesh.", + "title" : "cube(center:size:faces:wrapMode:material:)" }, { "headings" : [ @@ -283,13 +279,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Smooth vertex normals for corners with angles greater (more obtuse) than the specified threshold. The minimum corner angle that should appear smooth. Values should be in the range zero (no smoothing) to pi (smooth all edges).", - "summary" : "Smooth vertex normals for corners with angles greater (more obtuse) than the specified threshold.", - "title" : "smoothingNormals(forAnglesGreaterThan:)" + "rawIndexableTextContent" : "A normalized direction vector pointing upwards relative to the current rotation. ", + "summary" : "A normalized direction vector pointing upwards relative to the current rotation.", + "title" : "up" }, { "headings" : [ @@ -299,13 +295,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Combines two rotations to get the cumulative rotation. ", + "summary" : "Combines two rotations to get the cumulative rotation.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -315,45 +311,46 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A finite line segment in 3D space. ", - "summary" : "A finite line segment in 3D space.", - "title" : "LineSegment" + "rawIndexableTextContent" : "A normalized direction vector pointing rightwards relative to the current rotation. ", + "summary" : "A normalized direction vector pointing rightwards relative to the current rotation.", + "title" : "right" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a uniform scale transform. A uniform scale factor to apply.", - "summary" : "Creates a uniform scale transform.", - "title" : "scale(_:)" + "rawIndexableTextContent" : "Creates a vector from an array of coordinates. An array of vector components. Discussion Omitted values default to 0 and extra components are ignored.", + "summary" : "Creates a vector from an array of coordinates.", + "title" : "init(_:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-eado" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/facePolygons(material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an axis-aligned cubical mesh. The center point of the mesh. The size of the mesh. The direction of the generated polygon faces. The way that texture coordinates are calculated for the cube. The optional material for the mesh.", - "summary" : "Creates an axis-aligned cubical mesh.", - "title" : "cube(center:size:faces:wrapMode:material:)" + "rawIndexableTextContent" : "Returns one or more polygons needed to fill the path. An optional Polygon.Material to apply to the polygons. Return Value An array of polygons needed to fill the path, or an empty array if path is not closed. Discussion Polygon normals are calculated automatically based on the curvature of the path points. If the path points do not include textcoords, they will be calculated automatically based on the path point positions relative to the bounding rectangle of the path.", + "summary" : "Returns one or more polygons needed to fill the path.", + "title" : "facePolygons(material:)" }, { "headings" : [ @@ -363,45 +360,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The translation or position component of the transform. ", - "summary" : "The translation or position component of the transform.", - "title" : "offset" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a closed circular path. The distance from the center of the circle to each point used to approximate its shape. The number of line segments used to approximate the circle. An optional Color to apply to the path’s points. Discussion Because the circle is approximated using line segments, its radius is not uniform. The radius specified is the outer radius, i.e. the radius at the corners of the polygon.", - "summary" : "Creates a closed circular path.", - "title" : "circle(radius:segments:color:)" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A closure that maps a Euclid material to an STL facet color. A Euclid material to convert, or nil for the default material. Return Value A Euclid Color value.", - "summary" : "A closure that maps a Euclid material to an STL facet color.", - "title" : "Mesh.STLColorProvider" + "rawIndexableTextContent" : "Creates a Vector from a simd vector 3. A simd vector.", + "summary" : "Creates a Vector from a simd vector 3.", + "title" : "init(_:)" }, { "headings" : [ @@ -411,13 +408,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the angle between this vector and the specified plane. The plane to compare with.", - "summary" : "Returns the angle between this vector and the specified plane.", - "title" : "angle(with:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -427,13 +424,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An optional Polygon.Material associated with the polygon. ", - "summary" : "An optional Polygon.Material associated with the polygon.", - "title" : "material" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ @@ -443,29 +440,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Replace\/remove path point colors. The color to apply to each point in the path.", - "summary" : "Replace\/remove path point colors.", - "title" : "withColor(_:)" + "rawIndexableTextContent" : "A normalized direction vector pointing forwards relative to the current rotation. ", + "summary" : "A normalized direction vector pointing forwards relative to the current rotation.", + "title" : "forward" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates whether the two bounds intersect. The bounds to compare. Return Value true if the bounds intersect, and false otherwise.", - "summary" : "Returns a Boolean value that indicates whether the two bounds intersect.", - "title" : "intersects(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "init(polygon:)" }, { "headings" : [ @@ -475,62 +475,64 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/icosahedron(radius:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Expands this bounds (if necessary) to contain the specified bounds. The bounds to be included.", - "summary" : "Expands this bounds (if necessary) to contain the specified bounds.", - "title" : "formUnion(_:)" + "rawIndexableTextContent" : "Creates a sphere by subdividing an icosahedron. The radius of the icosahedron. The direction the polygon faces. The mode in which texture coordinates are wrapped around the mesh. The optional material for the mesh.", + "summary" : "Creates a sphere by subdividing an icosahedron.", + "title" : "icosahedron(radius:faces:wrapMode:material:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the dot-product of this quaternion and another. The quaternion with which to compute the dot product. Return Value The dot product of the two quaternions.", - "summary" : "Computes the dot-product of this quaternion and another.", - "title" : "dot(_:)" + "rawIndexableTextContent" : "Adds the quaternion rotation on the right to the one on the left. ", + "summary" : "Adds the quaternion rotation on the right to the one on the left.", + "title" : "+=(_:_:)" }, { "headings" : [ - + "Overview", + "Materials", + "Colors", + "Textures" ], "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Display the 3D shapes you created with meshes. Overview After creating some 3D shapes, you probably want to actually display them. Most of the Euclid library is completely self-contained, with no dependencies on any particular rendering technology or framework. However, when running on iOS or macOS you can take advantage of Euclid’s built-in SceneKit integration. This is demonstrated in the Example app included with the project. SceneKit is Apple’s high-level 3D engine, which can use either OpenGL or Metal for rendering on supported devices. Euclid provides extensions for creating an SCNGeometry from a Mesh, as well as converting Euclid Vector and Rotation types to SCNVector and SCNQuaternion respectively. The SceneKit integration makes it easy to display Euclid geometry on-screen, and to integrate with ARKit, etc. You can also use SceneKit to export Euclid-generated Mesh in standard 3D model formats such as DAE, STL or OBJ. Materials Interesting geometry is one thing, but to really bring a shape to life it needs colors and textures. Every Polygon has a material property that can be used to apply any kind of material you like on a per-polygon basis. All primitives and builder methods accept a material parameter which will apply that material to every polygon in the resultant Mesh. When you later combine meshes using CSG operations, the original materials from the Mesh that contributed to each part of the resultant shape are preserved. Before a material can be used with SceneKit, you need to convert the Euclid material to an SCNMaterial. If the material is already an SCNMaterial instance it will be used directly. If the material is a Color, a UI\/NSColor or UI\/NSImage it will be converted to an SCNMaterial automatically. For all other material types, you will need to do this conversion yourself. You can convert materials using the optional closure argument for Euclid’s SCNGeometry constructor, which receives the Euclid material as an input and returns an SCNMaterial. When serializing Euclid geometry using Codable, only specific material types can be supported. Currently, material serialization works for Strings, Ints, Color and any class that conforms to NSCoding (which includes many UIKit, AppKit and SceneKit types, such as UI\/NSColor, UI\/NSImage and SCNMaterial). Colors Euclid currently has no support for setting colors on a per-vertex basis, but you can apply colors to a Mesh or Polygon using the material property. The material property is of type AnyHashable which basically means it can be anything you want. You can set the material to an instance of Euclid’s Color, or you can use a UIColor or NSColor instead if you prefer. This approach is demonstrated in the Example app included in the project. Textures Euclid automatically adds 2D texture coordinates to the vertices of a Mesh created using primitives or builder methods. There is limited control over how those coordinates are specified at the moment, but they allow for simple spherical and cylindrical texture wrapping. To apply a texture image to a Mesh, store a UIImage or NSImage as the material property and it will be converted to an SCNMaterial automatically. If you want to do something more complex, such as applying both a color and texture to the same Mesh, or maybe including a normal map or some other material properties, you could create a custom material type to store all the properties you care about, or even assign an SCNMaterial directly as the material for your Euclid geometry.", + "summary" : "Display the 3D shapes you created with meshes.", + "title" : "Rendering Meshes" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new mesh reprenting only the volume exclusively occupied by one shape or the other, but not both. Return Value A new mesh representing the XOR of the meshes. Discussion Parameters mesh: The mesh to be XORed with this one. isCancelled: Callback used to cancel the operation.", - "summary" : "Returns a new mesh reprenting only the volume exclusively occupied by one shape or the other, but not both.", - "title" : "symmetricDifference(_:isCancelled:)" + "rawIndexableTextContent" : "Returns a quaternion with its components divided by the specified value. ", + "summary" : "Returns a quaternion with its components divided by the specified value.", + "title" : "\/(_:_:)" }, { "headings" : [ @@ -540,13 +542,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Returns the componentwise sum of two vectors. ", + "summary" : "Returns the componentwise sum of two vectors.", + "title" : "+(_:_:)" }, { "headings" : [ @@ -556,45 +558,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a mesh from a SceneKit geometry, with optional material mapping. The SCNGeometry to convert into a mesh. An optional closure to map SceneKit materials to Euclid materials. If omitted, the SCNMaterial will be directly used as the mesh material.", - "summary" : "Creates a mesh from a SceneKit geometry, with optional material mapping.", - "title" : "init(_:materialLookup:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "green" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A closure that maps a SceneKit material to a Euclid material. An SCNMaterial material to convert. Return Value A Mesh.Material instance, or nil for the default material.", - "summary" : "A closure that maps a SceneKit material to a Euclid material.", - "title" : "Mesh.MaterialProvider" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Creates a new color by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new color by decoding from the given decoder.", + "title" : "init(from:)" + }, + { + "headings" : [ + + ], + "kind" : "symbol", + "location" : { + "reference" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp" + }, + "type" : "topLevelPage" + }, + "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", + "summary" : "Inherited from Comparable.>=(_:_:).", + "title" : ">=(_:_:)" }, { "headings" : [ @@ -604,13 +622,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Splits all polygons in the mesh into triangles. Return Value A new mesh containing the triangles.", - "summary" : "Splits all polygons in the mesh into triangles.", - "title" : "triangulate()" + "rawIndexableTextContent" : "Computes a set of edges where the polygon intersects a plane. A Plane to test against the mesh. Return Value A Set of LineSegment representing the polygon edges intersecting the plane.", + "summary" : "Computes a set of edges where the polygon intersects a plane.", + "title" : "edges(intersecting:)" }, { "headings" : [ @@ -620,13 +638,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -636,13 +654,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the mesh with transformed texture coordinates. The transform to apply to the texture coordinates.", - "summary" : "Return a copy of the mesh with transformed texture coordinates.", - "title" : "withTextureTransform(_:)" + "rawIndexableTextContent" : "The maximum coordinate of the bounds. ", + "summary" : "The maximum coordinate of the bounds.", + "title" : "max" }, { "headings" : [ @@ -652,12 +670,12 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", + "rawIndexableTextContent" : "Returns the product of an angle and numeric multiplier. ", + "summary" : "Returns the product of an angle and numeric multiplier.", "title" : "*(_:_:)" }, { @@ -668,13 +686,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this path point into the given encoder. The encoder to write data to.", - "summary" : "Encodes this path point into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "The center of the bounds. If the bounds is empty this will return the zero vector. ", + "summary" : "The center of the bounds. If the bounds is empty this will return the zero vector.", + "title" : "center" }, { "headings" : [ @@ -684,13 +702,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The rotation or orientation component of the transform. ", - "summary" : "The rotation or orientation component of the transform.", - "title" : "rotation" + "rawIndexableTextContent" : "Returns a vector with its components divided by the specified value. ", + "summary" : "Returns a vector with its components divided by the specified value.", + "title" : "\/(_:_:)" }, { "headings" : [ @@ -700,13 +718,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(degrees:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an Angle from a degrees value. The angle in degrees.", - "summary" : "Creates an Angle from a degrees value.", - "title" : "init(degrees:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -716,29 +734,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new path by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new path by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Clip polygon to the specified plane The plane to clip the polygon to. Return Value An array of the polygon fragments that lie in front of the plane.", + "summary" : "Clip polygon to the specified plane", + "title" : "clip(to:)" }, { "headings" : [ @@ -748,29 +766,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The color of the path point (optional). ", - "summary" : "The color of the path point (optional).", - "title" : "color" + "rawIndexableTextContent" : "Align extruded cross-sections with the X, Y or Z axis (whichever is most perpendicular to the extrusion path). ", + "summary" : "Align extruded cross-sections with the X, Y or Z axis (whichever is most perpendicular to the extrusion path).", + "title" : "Path.Alignment.axis" }, { "headings" : [ + "Return Value", "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-53lhy" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a color from an array of component values. Discussion The number of values specified determines how each value is interpreted. The following patterns are supported (R = red, G = green, B = blue, A = alpha, L = luminance): L LA RGB RGBA", - "summary" : "Creates a color from an array of component values.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Removes hairline cracks by inserting additional vertices without altering the shape. Return Value A new mesh with new vertices inserted if needed. Discussion This method is not always successful. Check isWatertight after to verify.", + "summary" : "Removes hairline cracks by inserting additional vertices without altering the shape.", + "title" : "makeWatertight()" }, { "headings" : [ @@ -780,13 +799,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Generate both the front and back faces. ", - "summary" : "Generate both the front and back faces.", - "title" : "Mesh.Faces.frontAndBack" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "black" }, { "headings" : [ @@ -796,29 +815,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "The angle of rotation around the Y-axis. ", + "summary" : "The angle of rotation around the Y-axis.", + "title" : "yaw" }, { "headings" : [ - + "Overview" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "An orientation or rotation in 3D space. Overview A quaternion can be created from a from a Rotation matrix, or directly from an axis vector and angle, or a from a set of 3 Euler angles (pitch, yaw and roll). In addition to being more compact than a 3x3 rotation matrix, quaternions also avoid a problem known as gymbal lock.", + "summary" : "An orientation or rotation in 3D space.", + "title" : "Quaternion" }, { "headings" : [ @@ -828,29 +847,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The plane upon which all path points lie. Will be nil for non-planar paths. ", - "summary" : "The plane upon which all path points lie. Will be nil for non-planar paths.", - "title" : "plane" + "rawIndexableTextContent" : "Euclid is a library for creating and manipulating 3D geometry using techniques such as extruding or “lathing” 2D paths to create solid 3D shapes, and CSG (Constructive Solid Geometry) to combine or subtract those shapes from one another. Overview Euclid is the underlying implementation for the open source ShapeScript scripting language and ShapeScript macOS app. Anything you can build in ShapeScript can be replicated programmatically in Swift using this library. If you would like to support the development of Euclid, please consider buying a copy of ShapeScript (the app itself is free, but there is an in-app purchase to unlock some features). You can also donate directly to the project via PayPal: Note: Euclid is a fairly complex piece of code, at a fairly early stage of development. You should expect some bugs and breaking changes over the first few releases, and the documentation is a little sparse. Please report any issues you encounter, and I will do my best to fix them.", + "summary" : "Euclid is a library for creating and manipulating 3D geometry using techniques such as extruding or “lathing” 2D paths to create solid 3D shapes, and CSG (Constructive Solid Geometry) to combine or subtract those shapes from one another.", + "title" : "Euclid" }, { "headings" : [ @@ -860,12 +879,12 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Vector from a simd vector 3. A simd vector.", - "summary" : "Creates a Vector from a simd vector 3.", + "rawIndexableTextContent" : "Creates a rotation from a SceneKit quaternion. The SCNQuaternion to convert.", + "summary" : "Creates a rotation from a SceneKit quaternion.", "title" : "init(_:)" }, { @@ -876,13 +895,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this vertex into the given encoder. The encoder to write data to.", - "summary" : "Encodes this vertex into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", + "summary" : "Inherited from Comparable.<=(_:_:).", + "title" : "<=(_:_:)" }, { "headings" : [ @@ -892,13 +911,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new plane by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new plane by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "The zero quaternion. ", + "summary" : "The zero quaternion.", + "title" : "zero" }, { "headings" : [ @@ -908,13 +927,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isClosed" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Indicates whether the path is a closed path. ", - "summary" : "Indicates whether the path is a closed path.", - "title" : "isClosed" + "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+(_:). ", + "summary" : "Inherited from AdditiveArithmetic.+(_:).", + "title" : "+(_:)" }, { "headings" : [ @@ -924,13 +943,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from an axis and angle. A vector defining the axis of rotation. The angle of rotation around the axis.", - "summary" : "Creates a rotation from an axis and angle.", - "title" : "init(axis:angle:)" + "rawIndexableTextContent" : "Creates a new quaternion by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new quaternion by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ @@ -940,13 +959,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-9rm6o" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Do not generate texture coordinates. ", - "summary" : "Do not generate texture coordinates.", - "title" : "Mesh.WrapMode.none" + "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", + "summary" : "Inherited from Comparable.>=(_:_:).", + "title" : ">=(_:_:)" }, { "headings" : [ @@ -956,45 +975,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz" - }, - "type" : "topLevelPage" - }, - "rawIndexableTextContent" : "A plane located at the origin, aligned with the Y and Z axes. ", - "summary" : "A plane located at the origin, aligned with the Y and Z axes.", - "title" : "yz" - }, - { - "headings" : [ - "Return Value" - ], - "kind" : "symbol", - "location" : { - "reference" : { - "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a normalized vector. Return Value The normalized vector (with a length of 1) or the zero vector if the length is 0.", - "summary" : "Returns a normalized vector.", - "title" : "normalized()" + "rawIndexableTextContent" : "Creates a new line from the specified line segment. A segment somewhere on the line.", + "summary" : "Creates a new line from the specified line segment.", + "title" : "init(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -1004,13 +1007,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion representing a rotation around the X axis. The angle to rotate by.", - "summary" : "Creates a quaternion representing a rotation around the X axis.", - "title" : "pitch(_:)" + "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.-=(_:_:). ", + "summary" : "Inherited from AdditiveArithmetic.-=(_:_:).", + "title" : "-=(_:_:)" }, { "headings" : [ @@ -1020,13 +1023,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Decodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Transformable Implementations" + "title" : "Decodable Implementations" }, { "headings" : [ @@ -1036,13 +1039,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/plane" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A vector with all coordinates set to 1. ", - "summary" : "A vector with all coordinates set to 1.", - "title" : "one" + "rawIndexableTextContent" : "The plane on which all vertices lie. ", + "summary" : "The plane on which all vertices lie.", + "title" : "plane" }, { "headings" : [ @@ -1052,13 +1055,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the ordered array of polygon edges. ", - "summary" : "Returns the ordered array of polygon edges.", - "title" : "orderedEdges" + "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+=(_:_:). ", + "summary" : "Inherited from AdditiveArithmetic.+=(_:_:).", + "title" : "+=(_:_:)" }, { "headings" : [ @@ -1068,29 +1071,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Generate front faces. ", - "summary" : "Generate front faces.", - "title" : "Mesh.Faces.front" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", + "summary" : "Inherited from Comparable...<(_:_:).", + "title" : "..<(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the distance between the vector (representing a position in space) from the specified plane. The plane to compare with. Return Value The distance between the point and the plane. The value is positive if the point lies in front of the plane, and negative if behind.", - "summary" : "Returns the distance between the vector (representing a position in space) from the specified plane.", - "title" : "distance(from:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -1100,29 +1103,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a plane from a point and surface normal. The surface normal of the plane. An arbitrary point on the plane.", - "summary" : "Creates a plane from a point and surface normal.", - "title" : "init(normal:pointOnPlane:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new path point by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new path point by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -1132,13 +1135,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a vector with all components inverted. ", - "summary" : "Returns a vector with all components inverted.", - "title" : "-(_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -1148,29 +1151,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Creates a Euclid Quaternion from a SceneKit quaternion. The SCNQuaternion to convert.", + "summary" : "Creates a Euclid Quaternion from a SceneKit quaternion.", + "title" : "init(_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Performs a spherical linear interpolation between two rotations. The rotation to interpolate towards. The normalized extent of interpolation, from 0 to 1. Return Value The interpolated rotation.", - "summary" : "Performs a spherical linear interpolation between two rotations.", - "title" : "slerp(_:_:)" + "rawIndexableTextContent" : "Returns a copy of the mesh with the new material applied to all polygons. ", + "summary" : "Returns a copy of the mesh with the new material applied to all polygons.", + "title" : "withMaterial(_:)" }, { "headings" : [ @@ -1180,45 +1183,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/cyan" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Reduces the bounds to contain just the intersection of itself and the specified bounds. The bounds with which to intersect.", - "summary" : "Reduces the bounds to contain just the intersection of itself and the specified bounds.", - "title" : "formIntersection(_:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "cyan" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-228p6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Comparable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new vector from a SceneKit vector. The SceneKit SCNVector3.", - "summary" : "Creates a new vector from a SceneKit vector.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Comparable Implementations" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/closed()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Closes the path by joining last point to first. Return Value A new path, or self if the path is already closed, or cannot be closed.", - "summary" : "Closes the path by joining last point to first.", - "title" : "closed()" + "rawIndexableTextContent" : "Creates a new mesh from an array of polygons. The polygons making up the mesh.", + "summary" : "Creates a new mesh from an array of polygons.", + "title" : "init(_:)" }, { "headings" : [ @@ -1228,29 +1231,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "Return a copy of the polygon without texture coordinates ", + "summary" : "Return a copy of the polygon without texture coordinates", + "title" : "withoutTexcoords()" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion from raw components. An array of 4 floating-point values.", - "summary" : "Creates a quaternion from raw components.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Returns a Boolean value that indicates if the specified point is within the bounds. The point to compare. Return Value true if the point lies inside the bounds, and false otherwise.", + "summary" : "Returns a Boolean value that indicates if the specified point is within the bounds.", + "title" : "containsPoint(_:)" }, { "headings" : [ @@ -1260,29 +1263,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Return a copy of the mesh with cylindrically-mapped texture coordinates. ", + "summary" : "Return a copy of the mesh with cylindrically-mapped texture coordinates.", + "title" : "cylinderMapped()" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "The quaternion Z component. ", + "summary" : "The quaternion Z component.", + "title" : "z" }, { "headings" : [ @@ -1292,7 +1295,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)" }, "type" : "topLevelPage" }, @@ -1308,12 +1311,12 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new color by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new color by decoding from the given decoder.", + "rawIndexableTextContent" : "Creates a new rotation by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new rotation by decoding from the given decoder.", "title" : "init(from:)" }, { @@ -1324,45 +1327,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "The position of the path point. ", + "summary" : "The position of the path point.", + "title" : "position" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Does the transform apply a mirror operation (negative scale)? ", + "summary" : "Does the transform apply a mirror operation (negative scale)?", + "title" : "isFlipped" }, { "headings" : [ @@ -1372,45 +1375,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns whether the leftmost plane has the lower value. This provides a stable order when sorting collections of planes. ", - "summary" : "Returns whether the leftmost plane has the lower value. This provides a stable order when sorting collections of planes.", - "title" : "<(_:_:)" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a vector from an array of coordinates. An array of vector components. Discussion Omitted values default to 0 and extra components are ignored.", - "summary" : "Creates a vector from an array of coordinates.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns whether the leftmost line segment has the lower value. This provides a stable order when sorting collections of line segments. ", - "summary" : "Returns whether the leftmost line segment has the lower value. This provides a stable order when sorting collections of line segments.", - "title" : "<(_:_:)" + "rawIndexableTextContent" : "Returns a Boolean value that indicates whether the two bounds intersect. The bounds to compare. Return Value true if the bounds intersect, and false otherwise.", + "summary" : "Returns a Boolean value that indicates whether the two bounds intersect.", + "title" : "intersects(_:)" }, { "headings" : [ @@ -1420,29 +1423,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "blue" + "rawIndexableTextContent" : "Creates an extruded text model from an attributed string The text to convert into a model The optional width at which to line-wrap the text. The depth of the extruded text. The number line segments used to approximate glyph curves. Optional material to apply to the mesh.", + "summary" : "Creates an extruded text model from an attributed string", + "title" : "text(_:width:depth:detail:material:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Linearly interpolate between this vector and another. The vector to interpolate towards. The normalized extent of interpolation, from 0 to 1.", + "summary" : "Linearly interpolate between this vector and another.", + "title" : "lerp(_:_:)" }, { "headings" : [ @@ -1452,13 +1455,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "magenta" }, { "headings" : [ @@ -1468,13 +1471,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Replace\/remove point color. The color to apply to the point.", - "summary" : "Replace\/remove point color.", - "title" : "withColor(_:)" + "rawIndexableTextContent" : "Creates a quaternion from raw component values. ", + "summary" : "Creates a quaternion from raw component values.", + "title" : "init(_:_:_:_:)" }, { "headings" : [ @@ -1484,13 +1487,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -1500,45 +1503,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "The axis of rotation. ", + "summary" : "The axis of rotation.", + "title" : "axis" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the perpendicular distance from another line to this one. The line to compare. Return Value The perpendicular distance from the other line.", - "summary" : "Returns the perpendicular distance from another line to this one.", - "title" : "distance(from:)" + "rawIndexableTextContent" : "Alignment mode to use when extruding along a path. ", + "summary" : "Alignment mode to use when extruding along a path.", + "title" : "Mesh.Alignment" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ @@ -1548,13 +1551,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The polygons that make up the mesh. ", - "summary" : "The polygons that make up the mesh.", - "title" : "polygons" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ @@ -1564,13 +1567,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from Euler angles applied in pitch\/yaw\/roll order. The angle of rotation around the X axis. This is applied first. The angle of rotation around the Y axis. This is applied second. The angle of rotation around the Z axis. This is applied last.", - "summary" : "Creates a rotation from Euler angles applied in pitch\/yaw\/roll order.", - "title" : "init(pitch:yaw:roll:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ @@ -1580,13 +1583,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an angle from a degrees value. The angle in degrees.", - "summary" : "Creates an angle from a degrees value.", - "title" : "degrees(_:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -1596,61 +1599,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "A plane located at the origin, aligned with the X and Z axes. ", + "summary" : "A plane located at the origin, aligned with the X and Z axes.", + "title" : "xz" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Creates a spherical mesh. The radius of the sphere. The number of vertical slices that make up the sphere. The number of horizontal stacks that make up the sphere. Optionally add extra detail around poles to prevent texture warping The direction the polygon faces. The way that texture coordinates are calculated for the sphere. The optional material for the mesh.", + "summary" : "Creates a spherical mesh.", + "title" : "sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Computes the convex hull of a set of polygons. An array of polygons to compute the hull around.", + "summary" : "Computes the convex hull of a set of polygons.", + "title" : "convexHull(of:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Creates a vector from the values you provide. The X component of the vector. The Y component of the vector. The Z component of the vector.", + "summary" : "Creates a vector from the values you provide.", + "title" : "init(_:_:_:)" }, { "headings" : [ @@ -1660,13 +1663,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Divides the rotation angle by the specified value. ", - "summary" : "Divides the rotation angle by the specified value.", - "title" : "\/=(_:_:)" + "rawIndexableTextContent" : "Creates a path point. The location of the path point. An optional texture coordinate for this path point. An optional vertex color for this path point. A Boolean indicating if point should be curved or sharp.", + "summary" : "Creates a path point.", + "title" : "init(_:texcoord:color:isCurved:)" }, { "headings" : [ @@ -1676,13 +1679,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Texture is tube-wrapped. ", + "summary" : "Texture is tube-wrapped.", + "title" : "Mesh.WrapMode.tube" }, { "headings" : [ @@ -1692,13 +1695,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new angle by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new angle by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Creates a quaternion from a rotation matrix. A rotation matrix.", + "summary" : "Creates a quaternion from a rotation matrix.", + "title" : "init(_:)" }, { "headings" : [ @@ -1708,13 +1711,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Creates a Rotation from a simd quaternion. A simd quaternion.", + "summary" : "Creates a Rotation from a simd quaternion.", + "title" : "init(_:)" }, { "headings" : [ @@ -1724,13 +1727,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An arbitrary point on the line selected as the origin. ", - "summary" : "An arbitrary point on the line selected as the origin.", - "title" : "origin" + "rawIndexableTextContent" : "The magnitude of the quaternion. ", + "summary" : "The magnitude of the quaternion.", + "title" : "length" }, { "headings" : [ @@ -1740,13 +1743,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new vertex with the normal inverted. ", - "summary" : "Returns a new vertex with the normal inverted.", - "title" : "inverted()" + "rawIndexableTextContent" : "Creates a rotation transform. A rotation to apply.", + "summary" : "Creates a rotation transform.", + "title" : "rotation(_:)" }, { "headings" : [ @@ -1756,13 +1759,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "The length of the line segment. ", + "summary" : "The length of the line segment.", + "title" : "length" }, { "headings" : [ @@ -1772,29 +1775,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounds of all the path’s points. ", - "summary" : "The bounds of all the path’s points.", - "title" : "bounds" + "rawIndexableTextContent" : "A Boolean value that indicates whether the polygon includes vertex normals that differ from the face normal. ", + "summary" : "A Boolean value that indicates whether the polygon includes vertex normals that differ from the face normal.", + "title" : "hasVertexNormals" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A struct that represents an orientation or rotation in 3D space. Overview Internally, a rotation is stored as a 3x3 matrix, but that’s an implementation detail that may change in future. A rotation can be converted to and from an axis vector and angle, or a set of 3 Euler angles (pitch, yaw and roll).", - "summary" : "A struct that represents an orientation or rotation in 3D space.", - "title" : "Rotation" + "rawIndexableTextContent" : "The plane upon which all path points lie. Will be nil for non-planar paths. ", + "summary" : "The plane upon which all path points lie. Will be nil for non-planar paths.", + "title" : "plane" }, { "headings" : [ @@ -1804,29 +1807,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-85o14" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this plane into the given encoder. The encoder to write data to.", - "summary" : "Encodes this plane into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "Creates a mesh by stroking a path with the line width, detail, and material you provide. The path to stroke. The line width of the stroke. The number of sides to use for the cross-sectional shape of the stroked mesh. The optional material for the mesh.", + "summary" : "Creates a mesh by stroking a path with the line width, detail, and material you provide.", + "title" : "stroke(_:width:detail:material:isCancelled:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a bounds from two points. The first point. The second point. Discussion Unlike the init(min:max:) constructor, the order of the points doesn’t matter.", - "summary" : "Creates a bounds from two points.", - "title" : "init(_:_:)" + "rawIndexableTextContent" : "Texture coordinates for the vertex. Set this to zero if you are not using a texture map. ", + "summary" : "Texture coordinates for the vertex. Set this to zero if you are not using a texture map.", + "title" : "texcoord" }, { "headings" : [ @@ -1836,29 +1839,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a composite path from an array of subpaths. An array of paths.", - "summary" : "Creates a composite path from an array of subpaths.", - "title" : "init(subpaths:)" + "rawIndexableTextContent" : "Generate both the front and back faces. ", + "summary" : "Generate both the front and back faces.", + "title" : "Mesh.Faces.frontAndBack" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Comparable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order. The angle of rotation around the Z axis. This is applied first. The angle of rotation around the Y axis. This is applied second. The angle of rotation around the X axis. This is applied last.", - "summary" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", - "title" : "init(roll:yaw:pitch:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Comparable Implementations" }, { "headings" : [ @@ -1868,29 +1871,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Efficiently fills an array of paths, avoiding unecessary work if there are duplicates. The array of paths to be filled. The direction the polygon faces. The optional material for the mesh.", - "summary" : "Efficiently fills an array of paths, avoiding unecessary work if there are duplicates.", - "title" : "fill(_:faces:material:isCancelled:)" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An array of vertices suitable for constructing a set of edge polygons for the path. Discussion Returns an empty array if the path has subpaths.", - "summary" : "An array of vertices suitable for constructing a set of edge polygons for the path.", - "title" : "edgeVertices" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -1900,13 +1903,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The Z component of the vector. ", - "summary" : "The Z component of the vector.", - "title" : "z" + "rawIndexableTextContent" : "Returns the difference between two angles. ", + "summary" : "Returns the difference between two angles.", + "title" : "-(_:_:)" }, { "headings" : [ @@ -1916,29 +1919,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:font:width:detail:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The square of the length of the quaternion. This is less expensive to compute than the length itself. ", - "summary" : "The square of the length of the quaternion. This is less expensive to compute than the length itself.", - "title" : "lengthSquared" + "rawIndexableTextContent" : "Creates an array of glyph contours from a string and font you provide. The text to convert. The font to use for the text. The optional width at which to line-wrap the text. The number line segments used to approximate glyph curves.", + "summary" : "Creates an array of glyph contours from a string and font you provide.", + "title" : "text(_:font:width:detail:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an angle from a radians value. The angle in radians.", - "summary" : "Creates an angle from a radians value.", - "title" : "init(radians:)" + "rawIndexableTextContent" : "Linearly interpolates between two vertices. The vertex to interpolate towards. The unit value that indicates the distance between of this vertex and the target vertex. Return Value A new vertex with values interpolated between the two vertices. Discussion Interpolation is applied to the texture coordinate, normal and color, as well as the position.", + "summary" : "Linearly interpolates between two vertices.", + "title" : "lerp(_:_:)" }, { "headings" : [ @@ -1948,13 +1952,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a linear path from a start and end point. The starting point of the line. The ending point of the line. An optional Color to apply to the path’s points.", - "summary" : "Creates a linear path from a start and end point.", - "title" : "line(_:_:color:)" + "rawIndexableTextContent" : "The size of the bounds. The minimum returned size is zero, even if max < min. ", + "summary" : "The size of the bounds. The minimum returned size is zero, even if max < min.", + "title" : "size" }, { "headings" : [ @@ -1964,13 +1968,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The polygons in the mesh, grouped by material. ", - "summary" : "The polygons in the mesh, grouped by material.", - "title" : "polygonsByMaterial" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -1980,13 +1984,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a copy of the polygon with the specified material. The replacement material, or nil to remove the material.", - "summary" : "Creates a copy of the polygon with the specified material.", - "title" : "withMaterial(_:)" + "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", + "summary" : "Inherited from Comparable.>(_:_:).", + "title" : ">(_:_:)" }, { "headings" : [ @@ -1996,29 +2000,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a copy of the color updated with the specified alpha. ", - "summary" : "Creates a copy of the color updated with the specified alpha.", - "title" : "withAlpha(_:)" + "rawIndexableTextContent" : "Quaternion has no effect. ", + "summary" : "Quaternion has no effect.", + "title" : "isIdentity" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the trigonometric cosine of an angle. The angle to calculate the cosine for. Return Value The trigonometric cosine of the angle.", - "summary" : "Computes the trigonometric cosine of an angle.", - "title" : "cos(_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -2028,78 +2032,77 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "Creates a mesh from a SceneKit geometry, with optional material mapping. The SCNGeometry to convert into a mesh. An optional closure to map SceneKit materials to Euclid materials. If omitted, the SCNMaterial will be directly used as the mesh material.", + "summary" : "Creates a mesh from a SceneKit geometry, with optional material mapping.", + "title" : "init(_:materialLookup:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(points:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The identity quaternion (i.e. no rotation). ", - "summary" : "The identity quaternion (i.e. no rotation).", - "title" : "identity" + "rawIndexableTextContent" : "Creates a plane from a set of points. A set of coplanar points describing a polygon. Discussion The polygon can be convex or concave. The direction of the plane normal is based on the assumption that the points are wound in an anti-clockwise direction.", + "summary" : "Creates a plane from a set of points.", + "title" : "init(points:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Comparable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Comparable Implementations" + "rawIndexableTextContent" : "Divides the components of the vector by the specified value. ", + "summary" : "Divides the components of the vector by the specified value.", + "title" : "\/=(_:_:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Linearly interpolates between two vertices. The vertex to interpolate towards. The unit value that indicates the distance between of this vertex and the target vertex. Return Value A new vertex with values interpolated between the two vertices. Discussion Interpolation is applied to the texture coordinate, normal and color, as well as the position.", - "summary" : "Linearly interpolates between two vertices.", - "title" : "lerp(_:_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a polygon from a set of vertex positions. A collection of Vector positions for the polygon vertices. An optional Polygon.Material to use for the polygon. Discussion Vertex normals will be set to match the overall face normal of the polygon. Texture coordinates will be set to zero. Vertex colors will be defaulted to white.", - "summary" : "Creates a polygon from a set of vertex positions.", - "title" : "init(_:material:)" + "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.-=(_:_:). ", + "summary" : "Inherited from AdditiveArithmetic.-=(_:_:).", + "title" : "-=(_:_:)" }, { "headings" : [ @@ -2109,77 +2112,78 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ - "Return Value" + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the trigonometric sine of an angle. The angle to calculate the sine for. Return Value The trigonometric sine of the angle.", - "summary" : "Computes the trigonometric sine of an angle.", - "title" : "sin(_:)" + "rawIndexableTextContent" : "Tessellates the polygon into triangles. Return Value An array of triangles. Discussion If the polygon is already a triangle then it is returned unchanged.", + "summary" : "Tessellates the polygon into triangles.", + "title" : "triangulate()" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Flips the face direction and vertex normals of all polygons within the mesh. Return Value The inverted mesh.", - "summary" : "Flips the face direction and vertex normals of all polygons within the mesh.", - "title" : "inverted()" + "rawIndexableTextContent" : "Returns the angle divided by a numeric denominator. ", + "summary" : "Returns the angle divided by a numeric denominator.", + "title" : "\/(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The array of vertices that make up the polygon. ", - "summary" : "The array of vertices that make up the polygon.", - "title" : "vertices" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a circular arc. The angular span of the arc, measured clockwise from vertical. Defaults to pi (180 degrees). The distance from the center of the arc to each point used to approximate its shape. The number of line segments used to approximate the circle. An optional Color to apply to the path’s points. Discussion Because the arc is approximated using line segments, its radius is not uniform. The radius specified is the outer radius, i.e. the radius at the end points.", - "summary" : "Creates a circular arc.", - "title" : "arc(angle:radius:segments:color:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -2189,16 +2193,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "init(_:_:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "red" }, { "headings" : [ @@ -2208,13 +2209,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a scale transform. A vector scale factor apply.", - "summary" : "Creates a scale transform.", - "title" : "scale(_:)" + "rawIndexableTextContent" : "Creates a rotation around the X axis. The angle to rotate by.", + "summary" : "Creates a rotation around the X axis.", + "title" : "pitch(_:)" }, { "headings" : [ @@ -2224,29 +2225,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a corner path point at the specified X, Y and Z coordinates. The X coordinate of the path point. The Y coordinate of the path point. The Z coordinate of the path point (optional - defaults to zero). An optional texture coordinate for this path point. An optional vertex color for this path point.", - "summary" : "Creates a corner path point at the specified X, Y and Z coordinates.", - "title" : "point(_:_:_:texcoord:color:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotation divided by the specified value. ", - "summary" : "Returns a rotation divided by the specified value.", - "title" : "\/(_:_:)" + "rawIndexableTextContent" : "Returns the point where the specified plane intersects the line. The plane to compare with. Return Value The point of intersection, or nil if the line and plane are parallel (don’t intersect).", + "summary" : "Returns the point where the specified plane intersects the line.", + "title" : "intersection(with:)" }, { "headings" : [ @@ -2256,13 +2257,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -2272,13 +2273,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new vector by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new vector by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -2288,29 +2289,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new line from the specified line segment. A segment somewhere on the line.", - "summary" : "Creates a new line from the specified line segment.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -2320,29 +2321,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The perpendicular distance from the world origin to the plane. ", - "summary" : "The perpendicular distance from the world origin to the plane.", - "title" : "w" + "rawIndexableTextContent" : "Returns whether the leftmost plane has the lower value. This provides a stable order when sorting collections of planes. ", + "summary" : "Returns whether the leftmost plane has the lower value. This provides a stable order when sorting collections of planes.", + "title" : "<(_:_:)" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Multiplies the components of the quaternion by the specified value. ", - "summary" : "Multiplies the components of the quaternion by the specified value.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "A struct that represents an orientation or rotation in 3D space. Overview Internally, a rotation is stored as a 3x3 matrix, but that’s an implementation detail that may change in future. A rotation can be converted to and from an axis vector and angle, or a set of 3 Euler angles (pitch, yaw and roll).", + "summary" : "A struct that represents an orientation or rotation in 3D space.", + "title" : "Rotation" }, { "headings" : [ @@ -2352,13 +2353,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from a SceneKit quaternion. The SCNQuaternion to convert.", - "summary" : "Creates a rotation from a SceneKit quaternion.", - "title" : "init(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "with(material:)" }, { "headings" : [ @@ -2368,45 +2372,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "The end point of the line segment. ", + "summary" : "The end point of the line segment.", + "title" : "end" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/AdditiveArithmetic-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "AdditiveArithmetic Implementations" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ - + "Return Value" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Bounded Implementations" + "rawIndexableTextContent" : "Returns a Boolean value that indicates if the specified point is inside the mesh. The point to compare. Return Value true if the point lies inside the mesh, and false otherwise.", + "summary" : "Returns a Boolean value that indicates if the specified point is inside the mesh.", + "title" : "containsPoint(_:)" }, { "headings" : [ @@ -2416,13 +2420,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The magnitude of the quaternion. ", - "summary" : "The magnitude of the quaternion.", - "title" : "length" + "rawIndexableTextContent" : "Material used by the mesh polygons. See Polygon.Material for details. ", + "summary" : "Material used by the mesh polygons. See Polygon.Material for details.", + "title" : "Mesh.Material" }, { "headings" : [ @@ -2432,13 +2436,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", - "summary" : "Inherited from Comparable....(_:_:).", - "title" : "...(_:_:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -2448,13 +2452,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the mesh with spherically-mapped texture coordinates. ", - "summary" : "Return a copy of the mesh with spherically-mapped texture coordinates.", - "title" : "sphereMapped()" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -2464,13 +2468,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Use default alignment heuristic for the given path. ", - "summary" : "Use default alignment heuristic for the given path.", - "title" : "Path.Alignment.default" + "rawIndexableTextContent" : "The square of the length of the quaternion. This is less expensive to compute than the length itself. ", + "summary" : "The square of the length of the quaternion. This is less expensive to compute than the length itself.", + "title" : "lengthSquared" }, { "headings" : [ @@ -2480,13 +2484,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a closed path from a polygon. A Polygon to convert to a path.", - "summary" : "Creates a closed path from a polygon.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ @@ -2496,13 +2500,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/ellipse(width:height:segments:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The quaternion X component. ", - "summary" : "The quaternion X component.", - "title" : "x" + "rawIndexableTextContent" : "Creates a closed elliptical path. The horizontal diameter of the ellipse. The vertical diameter of the ellipse. The number of line segments used to approximate the ellipse. An optional Color to apply to the path’s points.", + "summary" : "Creates a closed elliptical path.", + "title" : "ellipse(width:height:segments:color:)" }, { "headings" : [ @@ -2512,13 +2516,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The quaternion Z component. ", - "summary" : "The quaternion Z component.", - "title" : "z" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -2528,109 +2532,109 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "A Boolean indicating whether the point is curved or sharp. ", + "summary" : "A Boolean indicating whether the point is curved or sharp.", + "title" : "isCurved" }, { "headings" : [ - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a size\/scale vector from an array of two coordinates. An array of vector components. Discussion Omitted values are set equal to the first value specified. If no values as specified, the size defaults to one.", - "summary" : "Creates a size\/scale vector from an array of two coordinates.", - "title" : "init(size:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Creates a color from a CoreGraphics CGColor. The CoreGraphics color instance.", + "summary" : "Creates a color from a CoreGraphics CGColor.", + "title" : "init(_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", - "summary" : "Inherited from Comparable...<(_:).", - "title" : "..<(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An orientation or rotation in 3D space. Overview A quaternion can be created from a from a Rotation matrix, or directly from an axis vector and angle, or a from a set of 3 Euler angles (pitch, yaw and roll). In addition to being more compact than a 3x3 rotation matrix, quaternions also avoid a problem known as gymbal lock.", - "summary" : "An orientation or rotation in 3D space.", - "title" : "Quaternion" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this path into the given encoder. The encoder to write data to.", - "summary" : "Encodes this path into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Bounded Implementations" }, { "headings" : [ - "Return Value" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes a set of edges where the mesh intersects a plane. A Plane to test against the mesh. Return Value A Set of LineSegment representing the polygon edges intersecting the plane.", - "summary" : "Computes a set of edges where the mesh intersects a plane.", - "title" : "edges(intersecting:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -2640,29 +2644,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Creates a new vertex from a position with default values for normal, texcoord and color. The position of the vertex in 3D space.", + "summary" : "Creates a new vertex from a position with default values for normal, texcoord and color.", + "title" : "init(_:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Clip mesh to the specified plane and optionally fill sheared faces with specified material. Discussion Parameters plane: The plane to clip the mesh to fill: The material to fill the sheared face(s) with. Specifying nil for the fill material will leave the sheared face unfilled.", - "summary" : "Clip mesh to the specified plane and optionally fill sheared faces with specified material.", - "title" : "clip(to:fill:)" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -2672,7 +2676,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Encodable-Implementations" }, "type" : "topLevelPage" }, @@ -2688,16 +2692,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "with(color:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -2707,29 +2708,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A vertex represents a corner of a Polygon or a point on the surface of a Mesh. ", - "summary" : "A vertex represents a corner of a Polygon or a point on the surface of a Mesh.", - "title" : "Vertex" + "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", + "summary" : "Inherited from Comparable....(_:_:).", + "title" : "...(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ @@ -2739,29 +2740,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An infinite line in 3D space. ", - "summary" : "An infinite line in 3D space.", - "title" : "Line" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Creates an angle representing the trigonometric arc tangent of the vector you provide. Discussion Parameters y: The Y component of the input vector x: The X component of the input vector", + "summary" : "Creates an angle representing the trigonometric arc tangent of the vector you provide.", + "title" : "atan2(y:x:)" }, { "headings" : [ @@ -2771,61 +2772,62 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-3m9le" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates whether a point lies inside the polygon, on the same plane. The point to test. Return Value true if the point lies inside the polygon and false otherwise.", - "summary" : "Returns a Boolean value that indicates whether a point lies inside the polygon, on the same plane.", - "title" : "containsPoint(_:)" + "rawIndexableTextContent" : "The color of the path point (optional). ", + "summary" : "The color of the path point (optional).", + "title" : "color" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order. The angle of rotation around the Z axis. This is applied first. The angle of rotation around the Y axis. This is applied second. The angle of rotation around the X axis. This is applied last.", - "summary" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", - "title" : "init(roll:yaw:pitch:)" + "rawIndexableTextContent" : "Returns a new mesh representing the volume shared by both the mesh parameter and the receiver. If these do not intersect, an empty mesh will be returned. Return Value A new mesh representing the intersection of the meshes. Discussion Parameters mesh: The mesh to be intersected with this one. isCancelled: Callback used to cancel the operation.", + "summary" : "Returns a new mesh representing the volume shared by both the mesh parameter and the receiver. If these do not intersect, an empty mesh will be returned.", + "title" : "intersection(_:isCancelled:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Bounded-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Bounded Implementations" + "rawIndexableTextContent" : "The texture wrapping mode to use when generating a mesh. ", + "summary" : "The texture wrapping mode to use when generating a mesh.", + "title" : "Mesh.WrapMode" }, { "headings" : [ @@ -2835,13 +2837,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Align extruded cross-sections to the tangent of the path curve. ", - "summary" : "Align extruded cross-sections to the tangent of the path curve.", - "title" : "Path.Alignment.tangent" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -2851,13 +2853,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "All vector components are zero (or close to zero) in length. ", - "summary" : "All vector components are zero (or close to zero) in length.", - "title" : "isZero" + "rawIndexableTextContent" : "Encodes this transform into the given encoder. The encoder to write data to.", + "summary" : "Encodes this transform into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ @@ -2867,29 +2869,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ - "Return Value" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Flips the polygon along its plane and reverses the order and surface normals of the vertices. Return Value The inverted polygon.", - "summary" : "Flips the polygon along its plane and reverses the order and surface normals of the vertices.", - "title" : "inverted()" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ @@ -2899,29 +2901,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", - "summary" : "Inherited from Comparable.<=(_:_:).", - "title" : "<=(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", + "summary" : "Inherited from Comparable...<(_:_:).", + "title" : "..<(_:_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Creates a linear path from a line segment. The LineSegment defining the path. An optional Color to apply to the path’s points.", + "summary" : "Creates a linear path from a line segment.", + "title" : "line(_:color:)" }, { "headings" : [ @@ -2931,29 +2933,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an angle representing the trigonometric arc tangent of the vector you provide. Discussion Parameters y: The Y component of the input vector x: The X component of the input vector", - "summary" : "Creates an angle representing the trigonometric arc tangent of the vector you provide.", - "title" : "atan2(y:x:)" + "rawIndexableTextContent" : "Creates a rotation from Euler angles applied in yaw\/pitch\/roll order. The angle of rotation around the Y axis. This is applied first. The angle of rotation around the X axis. This is applied second. The angle of rotation around the Z axis. This is applied last.", + "summary" : "Creates a rotation from Euler angles applied in yaw\/pitch\/roll order.", + "title" : "init(yaw:pitch:roll:)" }, { "headings" : [ @@ -2963,13 +2965,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Creates a closed square path. The width and height of the square. An optional Color to apply to the path’s points.", + "summary" : "Creates a closed square path.", + "title" : "square(size:color:)" }, { "headings" : [ @@ -2979,13 +2981,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "The blue component of the color. ", + "summary" : "The blue component of the color.", + "title" : "b" }, { "headings" : [ @@ -2995,78 +2997,81 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "init(scnGeometry:materialLookup:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Linearly interpolate between two colors. The color to interpolate towards. The normalized extent of interpolation, from 0 to 1. Return Value The interpolated color.", - "summary" : "Linearly interpolate between two colors.", - "title" : "lerp(_:_:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Merges the polygons from two meshes. The mesh to merge with this one. Return Value A new mesh that includes all polygons from both meshes. Discussion No attempt is made to deduplicate or join meshes. Polygons are neither split nor removed.", - "summary" : "Merges the polygons from two meshes.", - "title" : "merge(_:)" + "rawIndexableTextContent" : "The X component of the vector. ", + "summary" : "The X component of the vector.", + "title" : "x" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "Efficiently performs a stencil with multiple meshes. Return Value A new mesh representing the result of stencilling. Discussion Parameters meshes: An ordered collection of meshes. All but the first will be stencilled onto the first. isCancelled: Callback used to cancel the operation.", + "summary" : "Efficiently performs a stencil with multiple meshes.", + "title" : "stencil(_:isCancelled:)" }, { "headings" : [ @@ -3076,77 +3081,77 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Divides the rotation angle by the specified value. ", + "summary" : "Divides the rotation angle by the specified value.", + "title" : "\/=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-4hvi3" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "Computes the convex hull of a set of paths. Discussion Parameters paths: A set of paths to compute the hull around. material: An optional material to apply to the mesh.", + "summary" : "Computes the convex hull of a set of paths.", + "title" : "convexHull(of:material:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An array of vertices suitable for constructing a polygon from the path. Discussion Vertices include normals and uv coordinates normalized to the bounding rectangle of the path. Returns nil if path is not closed, or has subpaths.", - "summary" : "An array of vertices suitable for constructing a polygon from the path.", - "title" : "faceVertices" + "rawIndexableTextContent" : "A vector with all coordinates set to 1. ", + "summary" : "A vector with all coordinates set to 1.", + "title" : "one" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", + "summary" : "Inherited from Comparable.<=(_:_:).", + "title" : "<=(_:_:)" }, { "headings" : [ @@ -3156,13 +3161,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A vector of length 1 along the X axis. ", - "summary" : "A vector of length 1 along the X axis.", - "title" : "unitX" + "rawIndexableTextContent" : "Returns the reverse quaternion rotation. ", + "summary" : "Returns the reverse quaternion rotation.", + "title" : "-(_:)" }, { "headings" : [ @@ -3172,15 +3177,15 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" - }, - { + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" + }, + { "headings" : [ ], @@ -3188,13 +3193,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an extruded text model from an attributed string The text to convert into a model The optional width at which to line-wrap the text. The depth of the extruded text. The number line segments used to approximate glyph curves. Optional material to apply to the mesh.", - "summary" : "Creates an extruded text model from an attributed string", - "title" : "text(_:width:depth:detail:material:)" + "rawIndexableTextContent" : "Encodes this path point into the given encoder. The encoder to write data to.", + "summary" : "Encodes this path point into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ @@ -3204,45 +3209,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new vertex by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new vertex by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Returns the reverse (aka transpose) rotation. ", + "summary" : "Returns the reverse (aka transpose) rotation.", + "title" : "-(_:)" }, { "headings" : [ - + "Discussion" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Bounded-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Bounded Implementations" + "rawIndexableTextContent" : "Computes the convex hull of a set of vertices. Discussion Parameters vertices: A set of vertices to compute the hull around. material: An optional material to apply to the mesh.", + "summary" : "Computes the convex hull of a set of vertices.", + "title" : "convexHull(of:material:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Flips the polygon along its plane and reverses the order and surface normals of the vertices. Return Value The inverted polygon.", + "summary" : "Flips the polygon along its plane and reverses the order and surface normals of the vertices.", + "title" : "inverted()" }, { "headings" : [ @@ -3252,13 +3257,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Angle representing a zero (identity) rotation. ", - "summary" : "Angle representing a zero (identity) rotation.", - "title" : "zero" + "rawIndexableTextContent" : "The face generation policy for Euclid to use when creating a mesh. ", + "summary" : "The face generation policy for Euclid to use when creating a mesh.", + "title" : "Mesh.Faces" }, { "headings" : [ @@ -3268,13 +3273,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-3eglz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the distance between the vector (representing a position in space) from the specified line. The line to compare with. Return Value The absolute perpendicular distance between the point and line.", - "summary" : "Returns the distance between the vector (representing a position in space) from the specified line.", - "title" : "distance(from:)" + "rawIndexableTextContent" : "Computes the trigonometric cosine of an angle. The angle to calculate the cosine for. Return Value The trigonometric cosine of the angle.", + "summary" : "Computes the trigonometric cosine of an angle.", + "title" : "cos(_:)" }, { "headings" : [ @@ -3284,13 +3289,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:font:width:depth:detail:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an extruded text model from a string. The text to convert into a model The font to use for the text glyphs. The optional width at which to line-wrap the text. The depth of the extruded text. The number line segments used to approximate glyph curves. An optional material to apply to the mesh.", - "summary" : "Creates an extruded text model from a string.", - "title" : "text(_:font:width:depth:detail:material:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ @@ -3300,13 +3305,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:detail:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Path from a CGPath. The returned path may contain nested subpaths. The CoreGraphics path to convert. The number of line segments used to approximate cubic or quadratic bezier curves. An optional Color to apply to the path vertices.", - "summary" : "Creates a Path from a CGPath. The returned path may contain nested subpaths.", - "title" : "init(_:detail:color:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "smoothNormals(_:)" }, { "headings" : [ @@ -3316,13 +3324,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/ellipse(width:height:segments:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a closed elliptical path. The horizontal diameter of the ellipse. The vertical diameter of the ellipse. The number of line segments used to approximate the ellipse. An optional Color to apply to the path’s points.", - "summary" : "Creates a closed elliptical path.", - "title" : "ellipse(width:height:segments:color:)" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -3332,13 +3340,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Returns the sum of two angles. ", + "summary" : "Returns the sum of two angles.", + "title" : "+(_:_:)" }, { "headings" : [ @@ -3348,29 +3356,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Creates a vector from a CoreGraphics CGPoint. the CoreGraphics point.", + "summary" : "Creates a vector from a CoreGraphics CGPoint.", + "title" : "init(_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:along:twist:align:faces:material:isCancelled:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the point of intersection between a line segment and a plane. The LineSegment to compare with. Return Value The point of intersection between the line segment and plane, or nil if they do not intersect.", - "summary" : "Computes the point of intersection between a line segment and a plane.", - "title" : "intersection(with:)" + "rawIndexableTextContent" : "Creates a mesh by extruding one path along another path. The shape to extrude into a mesh. The path along which to extrude the shape. Angular twist to apply along the extrusion. The alignment mode to use for the extruded shape. The direction of the generated polygon faces. The optional material for the mesh.", + "summary" : "Creates a mesh by extruding one path along another path.", + "title" : "extrude(_:along:twist:align:faces:material:isCancelled:)" }, { "headings" : [ @@ -3380,13 +3388,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Combines with the specified rotation. ", - "summary" : "Combines with the specified rotation.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "The identity rotation (i.e. no rotation). ", + "summary" : "The identity rotation (i.e. no rotation).", + "title" : "identity" }, { "headings" : [ @@ -3396,7 +3404,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Equatable-Implementations" }, "type" : "topLevelPage" }, @@ -3412,13 +3420,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the Z-axis. ", - "summary" : "The angle of rotation around the Z-axis.", - "title" : "roll" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ @@ -3428,13 +3436,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Multiplies the angle by a numeric value. ", - "summary" : "Multiplies the angle by a numeric value.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Axis of rotation ", + "summary" : "Axis of rotation", + "title" : "axis" }, { "headings" : [ @@ -3460,13 +3468,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotation multiplied by the specified value. ", - "summary" : "Returns a rotation multiplied by the specified value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "The default wrap behavior. Context-dependent. ", + "summary" : "The default wrap behavior. Context-dependent.", + "title" : "Mesh.WrapMode.default" }, { "headings" : [ @@ -3476,29 +3484,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The default face generation behavior. Context-dependent. ", - "summary" : "The default face generation behavior. Context-dependent.", - "title" : "Mesh.Faces.default" + "rawIndexableTextContent" : "A Boolean value that indicates whether the polygon includes vertex colors. ", + "summary" : "A Boolean value that indicates whether the polygon includes vertex colors.", + "title" : "hasVertexColors" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a color from an NSColor. The NSColor to convert.", - "summary" : "Creates a color from an NSColor.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -3508,13 +3516,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a vector from the values you provide. The X component of the vector. The Y component of the vector. The Z component of the vector.", - "summary" : "Creates a vector from the values you provide.", - "title" : "init(_:_:_:)" + "rawIndexableTextContent" : "The translation or position component of the transform. ", + "summary" : "The translation or position component of the transform.", + "title" : "offset" }, { "headings" : [ @@ -3524,13 +3532,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", - "summary" : "Inherited from Comparable.>(_:_:).", - "title" : ">(_:_:)" + "rawIndexableTextContent" : "The perpendicular distance from the world origin to the plane. ", + "summary" : "The perpendicular distance from the world origin to the plane.", + "title" : "w" }, { "headings" : [ @@ -3540,32 +3548,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "init(scnGeometry:materialLookup:)" + "rawIndexableTextContent" : "The position of the vertex. ", + "summary" : "The position of the vertex.", + "title" : "position" }, { "headings" : [ - + "Return Value", + "Discussion" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.type.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Efficiently forms a union from multiple meshes. Return Value A new mesh representing the union of the input meshes. Discussion Parameters meshes: A collection of meshes to be unioned. isCancelled: Callback used to cancel the operation.", + "summary" : "Efficiently forms a union from multiple meshes.", + "title" : "union(_:isCancelled:)" }, { "headings" : [ @@ -3575,94 +3581,96 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a quaternion with its components divided by the specified value. ", - "summary" : "Returns a quaternion with its components divided by the specified value.", - "title" : "\/(_:_:)" + "rawIndexableTextContent" : "The total length of the path. ", + "summary" : "The total length of the path.", + "title" : "length" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detessellate()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Merges any coplanar polygons that share one or more edges. Return Value A new mesh containing the merged (possibly non-convex) polygons.", - "summary" : "Merges any coplanar polygons that share one or more edges.", - "title" : "detessellate()" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "init(bounds:)" }, { "headings" : [ - + "Return Value" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Splits all polygons in the mesh into triangles. Return Value A new mesh containing the triangles.", + "summary" : "Splits all polygons in the mesh into triangles.", + "title" : "triangulate()" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(min:max:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a line from an origin and direction. An arbitrary point on the line selected as the origin. The direction of the line, emanating from the origin.", - "summary" : "Creates a line from an origin and direction.", - "title" : "init(origin:direction:)" + "rawIndexableTextContent" : "Creates a bounds with min and max coordinates. The minimum coordinate value. The maximum coordinate value. Discussion If the value for max is less than the value for min, the bounds is considered to be empty.", + "summary" : "Creates a bounds with min and max coordinates.", + "title" : "init(min:max:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new mesh representing the volume shared by both the mesh parameter and the receiver. If these do not intersect, an empty mesh will be returned. Return Value A new mesh representing the intersection of the meshes. Discussion Parameters mesh: The mesh to be intersected with this one. isCancelled: Callback used to cancel the operation.", - "summary" : "Returns a new mesh representing the volume shared by both the mesh parameter and the receiver. If these do not intersect, an empty mesh will be returned.", - "title" : "intersection(_:isCancelled:)" - }, + "rawIndexableTextContent" : "The identity quaternion (i.e. no rotation). ", + "summary" : "The identity quaternion (i.e. no rotation).", + "title" : "identity" + }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Alignment mode to use when extruding along a path. ", + "summary" : "Alignment mode to use when extruding along a path.", + "title" : "Path.Alignment" }, { "headings" : [ @@ -3672,45 +3680,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An array containing the raw components of the quaternion. ", - "summary" : "An array containing the raw components of the quaternion.", - "title" : "components" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "yellow" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Returns a rotated copy of the bounds. A quaternion to apply to the bounds. Discussion Because a bounds must be axially-aligned, rotating by an angle that is not a multiple of 90 degrees will result in the bounds being increased in size. Rotating it back again will not reduce the size, so this is a potentially irreversible operation. In general, after rotating a shape it is better to recalculate the bounds rather than trying to rotate the previous bounds.", + "summary" : "Returns a rotated copy of the bounds.", + "title" : "rotated(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Returns a new bounds inset by the specified amount. The amount to inset the bounds by. Use a negative value to expand the bounds. Return Value The inset bounds.", + "summary" : "Returns a new bounds inset by the specified amount.", + "title" : "inset(by:)" }, { "headings" : [ @@ -3720,61 +3728,64 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.type.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", - "summary" : "Inherited from Comparable.<=(_:_:).", - "title" : "<=(_:_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "xor(_:isCancelled:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Splits a polygon into two or more convex polygons using the “ear clipping” method. The maximum number of sides each polygon may have. Return Value An array of convex polygons.", - "summary" : "Splits a polygon into two or more convex polygons using the “ear clipping” method.", - "title" : "tessellate(maxSides:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quadratic bezier spline. The control points for the curve. The number of line segments used to approximate curved sections. Discussion The method takes an array of PathPoint and a detail argument. Normally, the isCurved property is used to calculate surface normals (for lighting purposes), but with the curve(_:detail:) method it actually affects the shape of the Path. A sequence of regular (non-curved) PathPoints creates sharp corners in the Path as normal, but curved points are treated as off-curve Bezier control points. The method uses second-order (quadratic) Bezier curves, where each curve has two on-curve end points and a single off-curve control point. If two curved PathPoint are used in sequence then an on-curve point is interpolated between them. It is therefore possible to create curves entirely out of curved (off-curve) control points. This approach to curve generation is based on the popular TrueType (TTF) font system, and provides a good balance between simplicity and flexibility. For more complex curves, on macOS and iOS you can create Euclid Path from a CGPath by using the CGPath.paths() extension method. CGPath supports cubic bezier curves as well as quadratic, and has convenience constructors for rounded rectangles and other shapes.", - "summary" : "Creates a quadratic bezier spline.", - "title" : "curve(_:detail:)" + "rawIndexableTextContent" : "Multiplies the quaternion rotation on the left by the one on the right. ", + "summary" : "Multiplies the quaternion rotation on the left by the one on the right.", + "title" : "*=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The magnitude of the vector. ", - "summary" : "The magnitude of the vector.", - "title" : "length" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ @@ -3784,13 +3795,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curved(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Curve or uncurve the point. Whether the resultant point should be curved.", + "summary" : "Curve or uncurve the point.", + "title" : "curved(_:)" }, { "headings" : [ @@ -3800,13 +3811,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", - "summary" : "Inherited from Comparable.>=(_:_:).", - "title" : ">=(_:_:)" + "rawIndexableTextContent" : "Creates a plane from a point and surface normal. The surface normal of the plane. An arbitrary point on the plane.", + "summary" : "Creates a plane from a point and surface normal.", + "title" : "init(normal:pointOnPlane:)" }, { "headings" : [ @@ -3816,13 +3827,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the polygon without texture coordinates ", - "summary" : "Return a copy of the polygon without texture coordinates", - "title" : "withoutTexcoords()" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -3832,29 +3843,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/gray" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "gray" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Comparable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Comparable Implementations" + "rawIndexableTextContent" : "An unordered set of polygon edges. The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons. ", + "summary" : "An unordered set of polygon edges. The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", + "title" : "undirectedEdges" }, { "headings" : [ @@ -3864,13 +3875,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "The bounds of the object. ", + "summary" : "The bounds of the object.", + "title" : "bounds" }, { "headings" : [ @@ -3880,13 +3891,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Replace\/remove path point colors. The color to apply to each point in the path.", + "summary" : "Replace\/remove path point colors.", + "title" : "withColor(_:)" }, { "headings" : [ @@ -3896,13 +3907,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return Wavefront OBJ string data for the mesh. ", - "summary" : "Return Wavefront OBJ string data for the mesh.", - "title" : "objString()" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -3912,29 +3923,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from Euler angles applied in yaw\/pitch\/roll order. The angle of rotation around the Y axis. This is applied first. The angle of rotation around the X axis. This is applied second. The angle of rotation around the Z axis. This is applied last.", - "summary" : "Creates a rotation from Euler angles applied in yaw\/pitch\/roll order.", - "title" : "init(yaw:pitch:roll:)" + "rawIndexableTextContent" : "A zero-length vector. ", + "summary" : "A zero-length vector.", + "title" : "zero" }, { "headings" : [ - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the bounds. A quaternion to apply to the bounds. Discussion Because a bounds must be axially-aligned, rotating by an angle that is not a multiple of 90 degrees will result in the bounds being increased in size. Rotating it back again will not reduce the size, so this is a potentially irreversible operation. In general, after rotating a shape it is better to recalculate the bounds rather than trying to rotate the previous bounds.", - "summary" : "Returns a rotated copy of the bounds.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -3944,13 +3955,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -3960,61 +3971,62 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.-=(_:_:). ", - "summary" : "Inherited from AdditiveArithmetic.-=(_:_:).", - "title" : "-=(_:_:)" + "rawIndexableTextContent" : "A Boolean value that indicates whether the mesh includes vertex normals that differ from the face normal. ", + "summary" : "A Boolean value that indicates whether the mesh includes vertex normals that differ from the face normal.", + "title" : "hasVertexNormals" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return binary STL data for the mesh. A closure to map the polygon material to a SceneKit material. Return Value A Euclid Color value.", - "summary" : "Return binary STL data for the mesh.", - "title" : "stlData(colorLookup:)" + "rawIndexableTextContent" : "An empty mesh. ", + "summary" : "An empty mesh.", + "title" : "empty" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Creates a new mesh by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new mesh by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ - "Return Value" + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/split(along:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates whether the specified point lies on the line. The point to test. Return Value true if the point lies on the line and false otherwise.", - "summary" : "Returns a Boolean value that indicates whether the specified point lies on the line.", - "title" : "containsPoint(_:)" + "rawIndexableTextContent" : "Split the mesh along a plane. The Plane to split the mesh along. Return Value A pair of meshes representing the parts in front of and behind the plane respectively. Discussion If the plane and mesh do not intersect, one of the returned meshes will be nil.", + "summary" : "Split the mesh along a plane.", + "title" : "split(along:)" }, { "headings" : [ @@ -4024,63 +4036,65 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "subtract(_:isCancelled:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new mesh representing the combined volume of the mesh parameter and the receiver, with inner faces removed. Return Value A new mesh representing the union of the input meshes. Discussion Parameters mesh: The mesh to form a union with. isCancelled: Callback used to cancel the operation.", - "summary" : "Returns a new mesh representing the combined volume of the mesh parameter and the receiver, with inner faces removed.", - "title" : "union(_:isCancelled:)" + "rawIndexableTextContent" : "Angle representing a quarter rotation. ", + "summary" : "Angle representing a quarter rotation.", + "title" : "halfPi" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "An infinite line in 3D space. ", + "summary" : "An infinite line in 3D space.", + "title" : "Line" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the X-axis. ", - "summary" : "The angle of rotation around the X-axis.", - "title" : "pitch" - }, + "rawIndexableTextContent" : "Callback used to cancel a long-running operation. Return Value true if operation should be cancelled, or false otherwise.", + "summary" : "Callback used to cancel a long-running operation.", + "title" : "Mesh.CancellationHandler" + }, { "headings" : [ @@ -4089,13 +4103,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "The rotation or orientation component of the transform. ", + "summary" : "The rotation or orientation component of the transform.", + "title" : "rotation" }, { "headings" : [ @@ -4105,13 +4119,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", - "summary" : "Inherited from Comparable...<(_:).", - "title" : "..<(_:)" + "rawIndexableTextContent" : "Rotation has no effect. ", + "summary" : "Rotation has no effect.", + "title" : "isIdentity" }, { "headings" : [ @@ -4121,13 +4135,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an array of glyph contours from an attributed string. The text to convert. The optional width at which to line-wrap the text. The number line segments used to approximate glyph curves.", - "summary" : "Creates an array of glyph contours from an attributed string.", - "title" : "text(_:width:detail:)" + "rawIndexableTextContent" : "Angle representing a half-rotation. ", + "summary" : "Angle representing a half-rotation.", + "title" : "pi" }, { "headings" : [ @@ -4137,13 +4151,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Angle representing a half-rotation. ", - "summary" : "Angle representing a half-rotation.", - "title" : "pi" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ @@ -4153,13 +4167,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Indicates whether all the path’s points lie on a single plane. ", - "summary" : "Indicates whether all the path’s points lie on a single plane.", - "title" : "isPlanar" + "rawIndexableTextContent" : "The quaternion W component. ", + "summary" : "The quaternion W component.", + "title" : "w" }, { "headings" : [ @@ -4169,16 +4183,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "init(polygons:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -4188,13 +4199,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Computes the convex hull of one or more meshes. An array of meshes to compute the hull around.", + "summary" : "Computes the convex hull of one or more meshes.", + "title" : "convexHull(of:)" }, { "headings" : [ @@ -4223,13 +4234,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "red" + "rawIndexableTextContent" : "Creates a rotation around the Z axis. The angle to rotate by.", + "summary" : "Creates a rotation around the Z axis.", + "title" : "roll(_:)" }, { "headings" : [ @@ -4239,13 +4250,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "Creates a composite mesh from an array of submeshes. An array of meshes.", + "summary" : "Creates a composite mesh from an array of submeshes.", + "title" : "init(submeshes:)" }, { "headings" : [ @@ -4255,46 +4266,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a bounds from a collection of bounds. A collection of existing bounds that the bounds contains.", - "summary" : "Creates a bounds from a collection of bounds.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Creates an angle representing the trigonometric arc tangent of the value you provide. The tangent value to use to calculate the angle.", + "summary" : "Creates an angle representing the trigonometric arc tangent of the value you provide.", + "title" : "atan(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Returns a rotation divided by the specified value. ", + "summary" : "Returns a rotation divided by the specified value.", + "title" : "\/(_:_:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-1l9u5" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Split the polygon along a plane. The Plane to split the polygon along. Return Value A pair of arrays representing the polygon fragments in front of and behind the plane respectively. Discussion If the plane and polygon do not intersect, one of the returned arrays will be empty.", - "summary" : "Split the polygon along a plane.", - "title" : "split(along:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -4304,13 +4314,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -4320,45 +4330,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-9rm6o" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", - "summary" : "Inherited from Comparable.>=(_:_:).", - "title" : ">=(_:_:)" + "rawIndexableTextContent" : "Creates a new line by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new line by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a single polygon from a path. Discussion Parameters shape: The Path to convert to a polygon. material: An optional Polygon.Material to apply to the polygon. Path may be convex or concave, but must be closed, planar and non-degenerate, and must not include subpaths. For a non-planar path, or one with subpaths, use facePolygons(material:).", - "summary" : "Creates a single polygon from a path.", - "title" : "init(shape:material:)" + "rawIndexableTextContent" : "Returns the area of the polygon. ", + "summary" : "Returns the area of the polygon.", + "title" : "area" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "The minimum coordinate of the bounds. ", + "summary" : "The minimum coordinate of the bounds.", + "title" : "min" }, { "headings" : [ @@ -4368,13 +4378,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the product of an angle and numeric multiplier. ", - "summary" : "Returns the product of an angle and numeric multiplier.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", + "summary" : "Inherited from Comparable...<(_:).", + "title" : "..<(_:)" }, { "headings" : [ @@ -4384,29 +4394,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a vector with its components divided by the specified value. ", - "summary" : "Returns a vector with its components divided by the specified value.", - "title" : "\/(_:_:)" + "rawIndexableTextContent" : "Creates a copy of the polygon with the specified material. The replacement material, or nil to remove the material.", + "summary" : "Creates a copy of the polygon with the specified material.", + "title" : "withMaterial(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -4416,13 +4426,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the mesh includes texture coordinates. ", - "summary" : "A Boolean value that indicates whether the mesh includes texture coordinates.", - "title" : "hasTexcoords" + "rawIndexableTextContent" : "Creates a quaternion representing a rotation around the Y axis. The angle to rotate by.", + "summary" : "Creates a quaternion representing a rotation around the Y axis.", + "title" : "yaw(_:)" }, { "headings" : [ @@ -4432,13 +4442,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new vector that represents the mininum of the components of the two vectors. ", - "summary" : "Returns a new vector that represents the mininum of the components of the two vectors.", - "title" : "min(_:_:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -4448,45 +4458,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The normalized direction of the line. ", - "summary" : "The normalized direction of the line.", - "title" : "direction" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ - + "Discussion" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Comparable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-53lhy" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Comparable Implementations" + "rawIndexableTextContent" : "Creates a color from an array of component values. Discussion The number of values specified determines how each value is interpreted. The following patterns are supported (R = red, G = green, B = blue, A = alpha, L = luminance): L LA RGB RGBA", + "summary" : "Creates a color from an array of component values.", + "title" : "init(_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the mesh includes vertex colors. ", - "summary" : "A Boolean value that indicates whether the mesh includes vertex colors.", - "title" : "hasVertexColors" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -4496,78 +4506,77 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-9mn9o" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Alignment mode to use when extruding along a path. ", - "summary" : "Alignment mode to use when extruding along a path.", - "title" : "Path.Alignment" + "rawIndexableTextContent" : "Efficiently strokes an array of paths, avoiding duplicate work. The paths to stroke. The line width of the stroke. The number of sides to use for the cross-sectional shape of each stroked mesh. The optional material for the mesh.", + "summary" : "Efficiently strokes an array of paths, avoiding duplicate work.", + "title" : "stroke(_:width:detail:material:isCancelled:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/extrusionContours(along:twist:align:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Creates an array of contours by extruding one path along another path. The path along which to extrude the shape. Angular twist to apply along the extrusion. The alignment mode to use for the extruded shape.", + "summary" : "Creates an array of contours by extruding one path along another path.", + "title" : "extrusionContours(along:twist:align:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Tessellates the polygon into triangles. Return Value An array of triangles. Discussion If the polygon is already a triangle then it is returned unchanged.", - "summary" : "Tessellates the polygon into triangles.", - "title" : "triangulate()" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Comparable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a offset transform. An offset distance.", - "summary" : "Creates a offset transform.", - "title" : "offset(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Comparable Implementations" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The default wrap behavior. Context-dependent. ", - "summary" : "The default wrap behavior. Context-dependent.", - "title" : "Mesh.WrapMode.default" + "rawIndexableTextContent" : "A distance or position in 3D space. Overview Euclid doesn’t have a 2D vector type. When working with primarily 2D shapes, such as Paths, you can omit the z component when constructing vector and it will default to zero.", + "summary" : "A distance or position in 3D space.", + "title" : "Vector" }, { "headings" : [ @@ -4577,13 +4586,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -4593,13 +4602,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Encodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Equatable Implementations" + "title" : "Encodable Implementations" }, { "headings" : [ @@ -4609,29 +4618,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates whether the specified point lies on the line segment. The point to test. Return Value true if the point lies on the line segment and false otherwise.", - "summary" : "Returns a Boolean value that indicates whether the specified point lies on the line segment.", - "title" : "containsPoint(_:)" + "rawIndexableTextContent" : "Computes the trigonometric tangent of an angle. The angle to calculate the tangent for. Return Value The trigonometric tangent of the angle.", + "summary" : "Computes the trigonometric tangent of an angle.", + "title" : "tan(_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The texture coordinate of the path point (optional). If omitted, will be inferred automatically. ", - "summary" : "The texture coordinate of the path point (optional). If omitted, will be inferred automatically.", - "title" : "texcoord" + "rawIndexableTextContent" : "Returns the distance between the vector (representing a position in space) from the specified plane. The plane to compare with. Return Value The distance between the point and the plane. The value is positive if the point lies in front of the plane, and negative if behind.", + "summary" : "Returns the distance between the vector (representing a position in space) from the specified plane.", + "title" : "distance(from:)" }, { "headings" : [ @@ -4641,13 +4650,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", + "summary" : "Inherited from Comparable.>(_:_:).", + "title" : ">(_:_:)" }, { "headings" : [ @@ -4657,13 +4666,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Equatable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Decodable Implementations" + "title" : "Equatable Implementations" }, { "headings" : [ @@ -4673,46 +4682,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", - "summary" : "Inherited from Comparable.>=(_:_:).", - "title" : ">=(_:_:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new mesh that retains the shape of the receiver, but with the intersecting area colored using material from the parameter. Return Value A new mesh representing the result of stencilling. Discussion Parameters mesh: The mesh to be stencilled onto this one. isCancelled: Callback used to cancel the operation.", - "summary" : "Returns a new mesh that retains the shape of the receiver, but with the intersecting area colored using material from the parameter.", - "title" : "stencil(_:isCancelled:)" + "rawIndexableTextContent" : "The angle of rotation around the X-axis. ", + "summary" : "The angle of rotation around the X-axis.", + "title" : "pitch" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "An array containing the raw components of the quaternion. ", + "summary" : "An array containing the raw components of the quaternion.", + "title" : "components" }, { "headings" : [ @@ -4722,29 +4730,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Creates a new vertex by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new vertex by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this polygon into the given encoder. The encoder to write data to.", - "summary" : "Encodes this polygon into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -4754,29 +4762,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Angle representing a full rotation. ", - "summary" : "Angle representing a full rotation.", - "title" : "twoPi" + "rawIndexableTextContent" : "Creates a quaternion from raw components. An array of 4 floating-point values.", + "summary" : "Creates a quaternion from raw components.", + "title" : "init(_:)" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation. ", - "summary" : "The angle of rotation.", - "title" : "angle" + "rawIndexableTextContent" : "A path made up of a sequence of straight line segments between points. Overview A Path can be either open (a polyline) or closed (a polygon), but should not be self-intersecting or otherwise degenerate. A path may be formed from multiple subpaths, which can be accessed via the subpaths property. A closed Path can be converted to one or more Polygons, but it can also be used for other purposes, such as defining a cross-section or profile of a 3D shape. Paths are typically 2-dimensional, but because PathPoint positions have a Z coordinate, they are not required to be. Even a flat Path (where all points lie on the same plane) can be translated or rotated so that its points do not necessarily lie on the XY plane.", + "summary" : "A path made up of a sequence of straight line segments between points.", + "title" : "Path" }, { "headings" : [ @@ -4786,13 +4794,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", - "summary" : "Inherited from Comparable...<(_:_:).", - "title" : "..<(_:_:)" + "rawIndexableTextContent" : "Creates a new vector by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new vector by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ @@ -4802,13 +4810,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -4818,13 +4826,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/max(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Returns a new vector representing the maximum of the components of the two vectors. ", + "summary" : "Returns a new vector representing the maximum of the components of the two vectors.", + "title" : "max(_:_:)" }, { "headings" : [ @@ -4834,29 +4842,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", + "summary" : "Inherited from Comparable.>=(_:_:).", + "title" : ">=(_:_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -4866,13 +4874,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", + "summary" : "Inherited from Comparable....(_:_:).", + "title" : "...(_:_:)" }, { "headings" : [ @@ -4882,13 +4890,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Does the transform apply a mirror operation (negative scale)? ", - "summary" : "Does the transform apply a mirror operation (negative scale)?", - "title" : "isFlipped" + "rawIndexableTextContent" : "Creates a new line segment by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new line segment by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ @@ -4898,16 +4906,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97" }, "type" : "topLevelPage" }, - "platforms" : [ - + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" + }, + { + "headings" : [ + "Return Value" ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "subtract(_:isCancelled:)" + "kind" : "symbol", + "location" : { + "reference" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider" + }, + "type" : "topLevelPage" + }, + "rawIndexableTextContent" : "A closure that maps a Euclid material to an STL facet color. A Euclid material to convert, or nil for the default material. Return Value A Euclid Color value.", + "summary" : "A closure that maps a Euclid material to an STL facet color.", + "title" : "Mesh.STLColorProvider" }, { "headings" : [ @@ -4917,13 +4938,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the flip-side of the plane. ", - "summary" : "Returns the flip-side of the plane.", - "title" : "inverted()" + "rawIndexableTextContent" : "Efficiently strokes a collection of line segments (useful for drawing wireframes). A collection of LineSegment to stroke. The line width of the strokes. The number of sides to use for the cross-sectional shape of the stroked mesh. The optional material for the mesh.", + "summary" : "Efficiently strokes a collection of line segments (useful for drawing wireframes).", + "title" : "stroke(_:width:detail:material:)" }, { "headings" : [ @@ -4933,13 +4954,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-8t5q8" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new quaternion by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new quaternion by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Creates an axis-aligned cuboidal mesh. The center point of the mesh. The size of the cuboid mesh. The direction of the generated polygon faces. The way that texture coordinates are calculated for the cube. The optional material for the mesh.", + "summary" : "Creates an axis-aligned cuboidal mesh.", + "title" : "cube(center:size:faces:wrapMode:material:)" }, { "headings" : [ @@ -4949,7 +4970,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)" }, "type" : "topLevelPage" }, @@ -4965,29 +4986,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Linearly interpolates between two path points. The path point to interpolate with. The normalized extent of interpolation, from 0 to 1. Return Value A new path point at the interpolated position.", - "summary" : "Linearly interpolates between two path points.", - "title" : "lerp(_:_:)" + "rawIndexableTextContent" : "Returns the point where the specified line intersects this one. The line to compare with. Return Value The point of intersection, or nil if the lines don’t intersect.", + "summary" : "Returns the point where the specified line intersects this one.", + "title" : "intersection(with:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ @@ -4997,45 +5018,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Returns an array containing the red, green, blue, and alpha components of the color. ", + "summary" : "Returns an array containing the red, green, blue, and alpha components of the color.", + "title" : "components" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Merges coplanar polygons that share one or more edges, provided the result will be convex. Return Value A new mesh containing the merged polygons.", - "summary" : "Merges coplanar polygons that share one or more edges, provided the result will be convex.", - "title" : "detriangulate()" + "rawIndexableTextContent" : "The quaternion Y component. ", + "summary" : "The quaternion Y component.", + "title" : "y" }, { "headings" : [ @@ -5045,13 +5066,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", - "summary" : "Inherited from Comparable....(_:_:).", - "title" : "...(_:_:)" + "rawIndexableTextContent" : "Creates a composite path from an array of subpaths. An array of paths.", + "summary" : "Creates a composite path from an array of subpaths.", + "title" : "init(subpaths:)" }, { "headings" : [ @@ -5061,16 +5082,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "xor(_:isCancelled:)" + "rawIndexableTextContent" : "The position of the center of the polygon. This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s bounds. ", + "summary" : "The position of the center of the polygon. This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s bounds.", + "title" : "center" }, { "headings" : [ @@ -5080,46 +5098,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", + "summary" : "Inherited from Comparable....(_:_:).", + "title" : "...(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Align extruded cross-sections with the X, Y or Z axis (whichever is most perpendicular to the extrusion path). ", - "summary" : "Align extruded cross-sections with the X, Y or Z axis (whichever is most perpendicular to the extrusion path).", - "title" : "Path.Alignment.axis" + "rawIndexableTextContent" : "Computes the cross-product of this vector and another. The vector with which to compute the cross product. Return Value Returns a vector that is orthogonal to the two vectors used to compute the cross product.", + "summary" : "Computes the cross-product of this vector and another.", + "title" : "cross(_:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Removes hairline cracks by inserting additional vertices without altering the shape. Return Value A new mesh with new vertices inserted if needed. Discussion This method is not always successful. Check isWatertight after to verify.", - "summary" : "Removes hairline cracks by inserting additional vertices without altering the shape.", - "title" : "makeWatertight()" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -5129,13 +5146,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "rawIndexableTextContent" : "The quaternion X component. ", + "summary" : "The quaternion X component.", + "title" : "x" }, { "headings" : [ @@ -5145,13 +5162,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-9m686" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Creates a bounds from a collection of Bounded objects. A collection of bounded objects.", + "summary" : "Creates a bounds from a collection of Bounded objects.", + "title" : "init(_:)" }, { "headings" : [ @@ -5161,13 +5178,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the quaternion has a length of 1. ", - "summary" : "A Boolean value that indicates whether the quaternion has a length of 1.", - "title" : "isNormalized" + "rawIndexableTextContent" : "A Boolean value that indicates whether the bounds is empty (has zero volume). ", + "summary" : "A Boolean value that indicates whether the bounds is empty (has zero volume).", + "title" : "isEmpty" }, { "headings" : [ @@ -5177,29 +5194,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new vector by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new vector by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "The bounds of the mesh. ", + "summary" : "The bounds of the mesh.", + "title" : "bounds" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-rksk" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the nearest point on the specified line to the vector (representing a position in space). The line to project onto. Return Value The nearest point in 3D space that lies on the line.", - "summary" : "Returns the nearest point on the specified line to the vector (representing a position in space).", - "title" : "project(onto:)" + "rawIndexableTextContent" : "The normalized direction of the line. ", + "summary" : "The normalized direction of the line.", + "title" : "direction" }, { "headings" : [ @@ -5209,13 +5226,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", - "summary" : "Inherited from Comparable...<(_:_:).", - "title" : "..<(_:_:)" + "rawIndexableTextContent" : "Multiplies the components of the vector by the specified value. ", + "summary" : "Multiplies the components of the vector by the specified value.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -5225,13 +5242,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-9mn9o" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Efficiently strokes an array of paths, avoiding duplicate work. The paths to stroke. The line width of the stroke. The number of sides to use for the cross-sectional shape of each stroked mesh. The optional material for the mesh.", - "summary" : "Efficiently strokes an array of paths, avoiding duplicate work.", - "title" : "stroke(_:width:detail:material:isCancelled:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -5241,93 +5258,93 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-5ztum" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the convex hull of a set of path points. Discussion Parameters points: A set of path points to compute the hull around. material: An optional material to apply to the mesh. The curvature of the point is currently ignored when calculating hull surface normals.", - "summary" : "Computes the convex hull of a set of path points.", - "title" : "convexHull(of:material:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A path made up of a sequence of straight line segments between points. Overview A Path can be either open (a polyline) or closed (a polygon), but should not be self-intersecting or otherwise degenerate. A path may be formed from multiple subpaths, which can be accessed via the subpaths property. A closed Path can be converted to one or more Polygons, but it can also be used for other purposes, such as defining a cross-section or profile of a 3D shape. Paths are typically 2-dimensional, but because PathPoint positions have a Z coordinate, they are not required to be. Even a flat Path (where all points lie on the same plane) can be translated or rotated so that its points do not necessarily lie on the XY plane.", - "summary" : "A path made up of a sequence of straight line segments between points.", - "title" : "Path" + "rawIndexableTextContent" : "Creates a path point from a vertex. The vertex to create the point from.", + "summary" : "Creates a path point from a vertex.", + "title" : "init(_:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotationally symmetrical mesh by turning the specified path around the Y axis. The path to use as the profile for the mesh. The number of slices that make up the lathed mesh. The number of segments used to make the pole. A Boolean value that indicates whether to add detail to the poles. The direction of the generated polygon faces. The way that texture coordinates are calculated for the lathed mesh. The optional material for the mesh. Discussion The profile path can be open or closed. Define a closed path by ending with the same point that you started with. The path can be placed on either side of the Y axis, however the behavior is undefined for paths that cross the axis Open paths that do not start and end on the Y axis will produce a shape with a hole in it", - "summary" : "Creates a rotationally symmetrical mesh by turning the specified path around the Y axis.", - "title" : "lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)" + "rawIndexableTextContent" : "The polygons that make up the mesh. ", + "summary" : "The polygons that make up the mesh.", + "title" : "polygons" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the polygon is convex. ", - "summary" : "A Boolean value that indicates whether the polygon is convex.", - "title" : "isConvex" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Creates a bounds from two points. The first point. The second point. Discussion Unlike the init(min:max:) constructor, the order of the points doesn’t matter.", + "summary" : "Creates a bounds from two points.", + "title" : "init(_:_:)" }, { "headings" : [ @@ -5337,29 +5354,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "rawIndexableTextContent" : "Generate back faces. ", + "summary" : "Generate back faces.", + "title" : "Mesh.Faces.back" }, { "headings" : [ - "Overview" + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A combined rotation, position, and scale that can be applied to a 3D object. Overview Working with intermediate transform objects instead of directly updating the vertex positions of a mesh is more efficient and avoids a buildup of rounding errors.", - "summary" : "A combined rotation, position, and scale that can be applied to a 3D object.", - "title" : "Transform" + "rawIndexableTextContent" : "Returns a Boolean value that indicates if the bounds intersects the specified plane. The plane to compare. Return Value true if the plane intersects the bounds, and false otherwise.", + "summary" : "Returns a Boolean value that indicates if the bounds intersects the specified plane.", + "title" : "intersects(_:)" }, { "headings" : [ @@ -5369,45 +5386,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The length of the line segment. ", - "summary" : "The length of the line segment.", - "title" : "length" + "rawIndexableTextContent" : "The red component of the color. ", + "summary" : "The red component of the color.", + "title" : "r" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes a set of edges where the polygon intersects a plane. A Plane to test against the mesh. Return Value A Set of LineSegment representing the polygon edges intersecting the plane.", - "summary" : "Computes a set of edges where the polygon intersects a plane.", - "title" : "edges(intersecting:)" + "rawIndexableTextContent" : "Encodes this line segment into the given encoder. The encoder to write data to.", + "summary" : "Encodes this line segment into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A point along a path. Overview A path point can represent a sharp corner or a curve, and has a position, and optionally a texcoord and\/or color, but no normal. The isCurved property indicates if the point is sharp or smooth, allowing the normal to be computed automatically.", - "summary" : "A point along a path.", - "title" : "PathPoint" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -5417,13 +5434,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a color from a CoreGraphics CGColor. The CoreGraphics color instance.", - "summary" : "Creates a color from a CoreGraphics CGColor.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -5433,32 +5450,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-mpk5" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "All vector components are one (or close to one) in length. ", - "summary" : "All vector components are one (or close to one) in length.", - "title" : "isOne" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ - "Overview", - "Materials", - "Colors", - "Textures" + ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Display the 3D shapes you created with meshes. Overview After creating some 3D shapes, you probably want to actually display them. Most of the Euclid library is completely self-contained, with no dependencies on any particular rendering technology or framework. However, when running on iOS or macOS you can take advantage of Euclid’s built-in SceneKit integration. This is demonstrated in the Example app included with the project. SceneKit is Apple’s high-level 3D engine, which can use either OpenGL or Metal for rendering on supported devices. Euclid provides extensions for creating an SCNGeometry from a Mesh, as well as converting Euclid Vector and Rotation types to SCNVector and SCNQuaternion respectively. The SceneKit integration makes it easy to display Euclid geometry on-screen, and to integrate with ARKit, etc. You can also use SceneKit to export Euclid-generated Mesh in standard 3D model formats such as DAE, STL or OBJ. Materials Interesting geometry is one thing, but to really bring a shape to life it needs colors and textures. Every Polygon has a material property that can be used to apply any kind of material you like on a per-polygon basis. All primitives and builder methods accept a material parameter which will apply that material to every polygon in the resultant Mesh. When you later combine meshes using CSG operations, the original materials from the Mesh that contributed to each part of the resultant shape are preserved. Before a material can be used with SceneKit, you need to convert the Euclid material to an SCNMaterial. If the material is already an SCNMaterial instance it will be used directly. If the material is a Color, a UI\/NSColor or UI\/NSImage it will be converted to an SCNMaterial automatically. For all other material types, you will need to do this conversion yourself. You can convert materials using the optional closure argument for Euclid’s SCNGeometry constructor, which receives the Euclid material as an input and returns an SCNMaterial. When serializing Euclid geometry using Codable, only specific material types can be supported. Currently, material serialization works for Strings, Ints, Color and any class that conforms to NSCoding (which includes many UIKit, AppKit and SceneKit types, such as UI\/NSColor, UI\/NSImage and SCNMaterial). Colors Euclid currently has no support for setting colors on a per-vertex basis, but you can apply colors to a Mesh or Polygon using the material property. The material property is of type AnyHashable which basically means it can be anything you want. You can set the material to an instance of Euclid’s Color, or you can use a UIColor or NSColor instead if you prefer. This approach is demonstrated in the Example app included in the project. Textures Euclid automatically adds 2D texture coordinates to the vertices of a Mesh created using primitives or builder methods. There is limited control over how those coordinates are specified at the moment, but they allow for simple spherical and cylindrical texture wrapping. To apply a texture image to a Mesh, store a UIImage or NSImage as the material property and it will be converted to an SCNMaterial automatically. If you want to do something more complex, such as applying both a color and texture to the same Mesh, or maybe including a normal map or some other material properties, you could create a custom material type to store all the properties you care about, or even assign an SCNMaterial directly as the material for your Euclid geometry.", - "summary" : "Display the 3D shapes you created with meshes.", - "title" : "Rendering Meshes" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ @@ -5468,13 +5482,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "The bounding box containing the polygon. ", + "summary" : "The bounding box containing the polygon.", + "title" : "bounds" }, { "headings" : [ @@ -5484,13 +5498,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotation has no effect. ", - "summary" : "Rotation has no effect.", - "title" : "isIdentity" + "rawIndexableTextContent" : "A surface normal vector, perpendicular to the plane. ", + "summary" : "A surface normal vector, perpendicular to the plane.", + "title" : "normal" }, { "headings" : [ @@ -5500,29 +5514,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink" - }, - "type" : "topLevelPage" - }, - "rawIndexableTextContent" : "Texture is shrink-wrapped. ", - "summary" : "Texture is shrink-wrapped.", - "title" : "Mesh.WrapMode.shrink" - }, - { - "headings" : [ - "Return Value" - ], - "kind" : "symbol", - "location" : { - "reference" : { - "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates whether two line segements intersect. The line segment to compare with. Return Value true if the line segments intersect and false otherwise.", - "summary" : "Returns a Boolean value that indicates whether two line segements intersect.", - "title" : "intersects(_:)" + "rawIndexableTextContent" : "The identity transform (i.e. no transform). ", + "summary" : "The identity transform (i.e. no transform).", + "title" : "identity" }, { "headings" : [ @@ -5532,13 +5530,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Creates a curved path point at the specified position. The location of the path point. The texture coordinate corresponding to this path point. An optional vertex color for this path point.", + "summary" : "Creates a curved path point at the specified position.", + "title" : "curve(_:texcoord:color:)" }, { "headings" : [ @@ -5548,13 +5546,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Encodes this plane into the given encoder. The encoder to write data to.", + "summary" : "Encodes this plane into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ @@ -5564,13 +5562,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The position of the path point. ", - "summary" : "The position of the path point.", - "title" : "position" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -5580,30 +5578,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The Y component of the vector. ", - "summary" : "The Y component of the vector.", - "title" : "y" + "rawIndexableTextContent" : "Divides the components of the vector by the value you provide. ", + "summary" : "Divides the components of the vector by the value you provide.", + "title" : "\/=(_:_:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new mesh created by subtracting the volume of the mesh parameter from the receiver. Return Value A new mesh representing the result of the subtraction. Discussion Parameters mesh: The mesh to subtract from this one. isCancelled: Callback used to cancel the operation.", - "summary" : "Returns a new mesh created by subtracting the volume of the mesh parameter from the receiver.", - "title" : "subtracting(_:isCancelled:)" + "rawIndexableTextContent" : "Creates a path from an array of path points. An array of PathPoint making up the path.", + "summary" : "Creates a path from an array of path points.", + "title" : "init(_:)" }, { "headings" : [ @@ -5613,13 +5610,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/AdditiveArithmetic-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Encodable Implementations" + "title" : "AdditiveArithmetic Implementations" }, { "headings" : [ @@ -5629,13 +5626,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:detail:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns whether the leftmost vector has the lower value. This provides a stable order when sorting collections of vectors. ", - "summary" : "Returns whether the leftmost vector has the lower value. This provides a stable order when sorting collections of vectors.", - "title" : "<(_:_:)" + "rawIndexableTextContent" : "Creates a Path from a CGPath. The returned path may contain nested subpaths. The CoreGraphics path to convert. The number of line segments used to approximate cubic or quadratic bezier curves. An optional Color to apply to the path vertices.", + "summary" : "Creates a Path from a CGPath. The returned path may contain nested subpaths.", + "title" : "init(_:detail:color:)" }, { "headings" : [ @@ -5645,13 +5642,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The direction of the line segment as a normalized vector. ", - "summary" : "The direction of the line segment as a normalized vector.", - "title" : "direction" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ @@ -5661,13 +5658,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Creates a linear path from a start and end point. The starting point of the line. The ending point of the line. An optional Color to apply to the path’s points.", + "summary" : "Creates a linear path from a start and end point.", + "title" : "line(_:_:color:)" }, { "headings" : [ @@ -5677,13 +5674,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", - "summary" : "Inherited from Comparable...<(_:).", - "title" : "..<(_:)" + "rawIndexableTextContent" : "The texture coordinate of the path point (optional). If omitted, will be inferred automatically. ", + "summary" : "The texture coordinate of the path point (optional). If omitted, will be inferred automatically.", + "title" : "texcoord" }, { "headings" : [ @@ -5693,13 +5690,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Efficiently fills an array of paths, avoiding unecessary work if there are duplicates. The array of paths to be filled. The direction the polygon faces. The optional material for the mesh.", + "summary" : "Efficiently fills an array of paths, avoiding unecessary work if there are duplicates.", + "title" : "fill(_:faces:material:isCancelled:)" }, { "headings" : [ @@ -5709,7 +5706,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki" }, "type" : "topLevelPage" }, @@ -5725,13 +5722,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The size or scale component of the transform. ", - "summary" : "The size or scale component of the transform.", - "title" : "scale" + "rawIndexableTextContent" : "Align extruded cross-sections to the tangent of the path curve. ", + "summary" : "Align extruded cross-sections to the tangent of the path curve.", + "title" : "Path.Alignment.tangent" }, { "headings" : [ @@ -5741,13 +5738,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "A vertex represents a corner of a Polygon or a point on the surface of a Mesh. ", + "summary" : "A vertex represents a corner of a Polygon or a point on the surface of a Mesh.", + "title" : "Vertex" }, { "headings" : [ @@ -5757,13 +5754,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Creates a line from an origin and direction. An arbitrary point on the line selected as the origin. The direction of the line, emanating from the origin.", + "summary" : "Creates a line from an origin and direction.", + "title" : "init(origin:direction:)" }, { "headings" : [ @@ -5773,29 +5770,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new line segment by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new line segment by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The X component of the vector. ", - "summary" : "The X component of the vector.", - "title" : "x" + "rawIndexableTextContent" : "Returns a normalized vector. Return Value The normalized vector (with a length of 1) or the zero vector if the length is 0.", + "summary" : "Returns a normalized vector.", + "title" : "normalized()" }, { "headings" : [ @@ -5805,13 +5802,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Encodes this vertex into the given encoder. The encoder to write data to.", + "summary" : "Encodes this vertex into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ @@ -5821,29 +5818,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the inverse angle. ", - "summary" : "Returns the inverse angle.", - "title" : "-(_:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ - "Return Value" + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new bounds representing the intersection between the specified bounds and this one. The bounds with which to intersect. Return Value The combined bounds, which may be empty if the bounds don’t intersect.", - "summary" : "Creates a new bounds representing the intersection between the specified bounds and this one.", - "title" : "intersection(_:)" + "rawIndexableTextContent" : "Returns a new mesh representing the combined volume of the mesh parameter and the receiver, with inner faces removed. Return Value A new mesh representing the union of the input meshes. Discussion Parameters mesh: The mesh to form a union with. isCancelled: Callback used to cancel the operation.", + "summary" : "Returns a new mesh representing the combined volume of the mesh parameter and the receiver, with inner faces removed.", + "title" : "union(_:isCancelled:)" }, { "headings" : [ @@ -5853,13 +5851,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isClosed" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Indicates whether the path is a closed path. ", + "summary" : "Indicates whether the path is a closed path.", + "title" : "isClosed" }, { "headings" : [ @@ -5869,29 +5867,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-9m686" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the Y-axis. ", - "summary" : "The angle of rotation around the Y-axis.", - "title" : "yaw" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Comparable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the vector has a length of 1. ", - "summary" : "A Boolean value that indicates whether the vector has a length of 1.", - "title" : "isNormalized" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Comparable Implementations" }, { "headings" : [ @@ -5901,13 +5899,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an angle from a radians value. The angle in radians.", - "summary" : "Creates an angle from a radians value.", - "title" : "radians(_:)" + "rawIndexableTextContent" : "Creates a closed path from a polygon. A Polygon to convert to a path.", + "summary" : "Creates a closed path from a polygon.", + "title" : "init(_:)" }, { "headings" : [ @@ -5917,45 +5915,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Inherited from Hashable.hash(into:). ", + "summary" : "Inherited from Hashable.hash(into:).", + "title" : "hash(into:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from a quaternion. A quaternion defining a rotation.", - "summary" : "Creates a rotation from a quaternion.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Creates a quaternion representing a rotation around the Z axis. The angle to rotate by.", + "summary" : "Creates a quaternion representing a rotation around the Z axis.", + "title" : "roll(_:)" }, { "headings" : [ @@ -5965,61 +5963,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a curved path point at the specified position. The location of the path point. The texture coordinate corresponding to this path point. An optional vertex color for this path point.", - "summary" : "Creates a curved path point at the specified position.", - "title" : "curve(_:texcoord:color:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The size of the bounds. The minimum returned size is zero, even if max < min. ", - "summary" : "The size of the bounds. The minimum returned size is zero, even if max < min.", - "title" : "size" + "rawIndexableTextContent" : "Returns a copy of the mesh with the specified old material replaced by a new one. The Mesh.Material to be replaced. The Mesh.Material to use instead. Return Value a new Mesh with the material replaced.", + "summary" : "Returns a copy of the mesh with the specified old material replaced by a new one.", + "title" : "replacing(_:with:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "Clip mesh to the specified plane and optionally fill sheared faces with specified material. Discussion Parameters plane: The plane to clip the mesh to fill: The material to fill the sheared face(s) with. Specifying nil for the fill material will leave the sheared face unfilled.", + "summary" : "Clip mesh to the specified plane and optionally fill sheared faces with specified material.", + "title" : "clip(to:fill:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Hashable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the polygon includes texture coordinates. ", - "summary" : "A Boolean value that indicates whether the polygon includes texture coordinates.", - "title" : "hasTexcoords" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Hashable Implementations" }, { "headings" : [ @@ -6029,13 +6027,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Divides the components of the vector by the value you provide. ", - "summary" : "Divides the components of the vector by the value you provide.", - "title" : "\/=(_:_:)" + "rawIndexableTextContent" : "Replace\/remove point color. The color to apply to the point.", + "summary" : "Replace\/remove point color.", + "title" : "withColor(_:)" }, { "headings" : [ @@ -6045,16 +6043,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-228p6" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "init(bounds:)" + "rawIndexableTextContent" : "Creates a new vector from a SceneKit vector. The SceneKit SCNVector3.", + "summary" : "Creates a new vector from a SceneKit vector.", + "title" : "init(_:)" }, { "headings" : [ @@ -6064,32 +6059,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The position of the vertex. ", - "summary" : "The position of the vertex.", - "title" : "position" + "rawIndexableTextContent" : "A Boolean value that indicates whether the vector has a length of 1. ", + "summary" : "A Boolean value that indicates whether the vector has a length of 1.", + "title" : "isNormalized" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "smoothNormals(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -6099,77 +6091,78 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rectangle(width:height:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a closed rectangular path. The width of the rectangle. The height of the rectangle. An optional Color to apply to the path’s points.", - "summary" : "Creates a closed rectangular path.", - "title" : "rectangle(width:height:color:)" + "rawIndexableTextContent" : "Creates a rotation from an axis and angle. A vector defining the axis of rotation. The angle of rotation around the axis.", + "summary" : "Creates a rotation from an axis and angle.", + "title" : "init(axis:angle:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-mpk5" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Efficiently gets the difference between multiple meshes. Return Value A new mesh representing the difference between the meshes. Discussion Parameters meshes: An ordered collection of meshes. All but the first will be subtracted from the first. isCancelled: Callback used to cancel the operation.", + "summary" : "Efficiently gets the difference between multiple meshes.", + "title" : "difference(_:isCancelled:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the point where the specified line intersects this one. The line to compare with. Return Value The point of intersection, or nil if the lines don’t intersect.", - "summary" : "Returns the point where the specified line intersects this one.", - "title" : "intersection(with:)" + "rawIndexableTextContent" : "Encodes this bounds into the given encoder. The encoder to write data to.", + "summary" : "Encodes this bounds into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-5bh7b" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Creates a bounds from two SceneKit vectors. A tuple of two SCNVector3 that represent opposite corners of the bounding box volume.", + "summary" : "Creates a bounds from two SceneKit vectors.", + "title" : "init(_:)" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An axially-aligned bounding box in 3D space. Overview Used for efficient intersection elimination between more complex shapes.", - "summary" : "An axially-aligned bounding box in 3D space.", - "title" : "Bounds" + "rawIndexableTextContent" : "Creates a mesh from a SceneKit node, with optional material mapping. The SCNNode to convert into a mesh. Should transforms from the input node and its children be ignored. An optional closure to map the SceneKit materials to Euclid materials. If omitted, the SCNMaterial will be directly used as the mesh material.", + "summary" : "Creates a mesh from a SceneKit node, with optional material mapping.", + "title" : "init(_:ignoringTransforms:materialLookup:)" }, { "headings" : [ @@ -6179,13 +6172,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The distinct (disconnected) submeshes that make up the mesh. ", - "summary" : "The distinct (disconnected) submeshes that make up the mesh.", - "title" : "submeshes" + "rawIndexableTextContent" : "Returns the inverse angle. ", + "summary" : "Returns the inverse angle.", + "title" : "-(_:)" }, { "headings" : [ @@ -6195,29 +6188,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The zero quaternion. ", - "summary" : "The zero quaternion.", - "title" : "zero" + "rawIndexableTextContent" : "Returns a new vector that represents the mininum of the components of the two vectors. ", + "summary" : "Returns a new vector that represents the mininum of the components of the two vectors.", + "title" : "min(_:_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "Multiplies the components of the quaternion by the specified value. ", + "summary" : "Multiplies the components of the quaternion by the specified value.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -6227,13 +6220,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "Returns whether the leftmost angle has the lower value. ", + "summary" : "Returns whether the leftmost angle has the lower value.", + "title" : "<(_:_:)" }, { "headings" : [ @@ -6243,45 +6236,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the componentwise sum of two vectors. ", - "summary" : "Returns the componentwise sum of two vectors.", - "title" : "+(_:_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Bounded-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Bounded Implementations" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-5mcqw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "Creates a closed circular path. The distance from the center of the circle to each point used to approximate its shape. The number of line segments used to approximate the circle. An optional Color to apply to the path’s points. Discussion Because the circle is approximated using line segments, its radius is not uniform. The radius specified is the outer radius, i.e. the radius at the corners of the polygon.", + "summary" : "Creates a closed circular path.", + "title" : "circle(radius:segments:color:)" }, { "headings" : [ @@ -6291,61 +6284,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Encodes this polygon into the given encoder. The encoder to write data to.", + "summary" : "Encodes this polygon into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-2u7vo" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:font:width:depth:detail:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the intersection point between the specified line segment and this one. The line segment to compare with. Return Value The point of intersection, or nil if the line segments don’t intersect.", - "summary" : "Returns the intersection point between the specified line segment and this one.", - "title" : "intersection(with:)" + "rawIndexableTextContent" : "Creates an extruded text model from a string. The text to convert into a model The font to use for the text glyphs. The optional width at which to line-wrap the text. The depth of the extruded text. The number line segments used to approximate glyph curves. An optional material to apply to the mesh.", + "summary" : "Creates an extruded text model from a string.", + "title" : "text(_:font:width:depth:detail:material:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Cropped and flattened version of path suitable for lathing around the Y axis. ", - "summary" : "Cropped and flattened version of path suitable for lathing around the Y axis.", - "title" : "latheProfile" + "rawIndexableTextContent" : "Returns the perpendicular distance of the line from a specified point. The point to compare. Return Value The absolute perpendicular distance between the point and line.", + "summary" : "Returns the perpendicular distance of the line from a specified point.", + "title" : "distance(from:)" }, { "headings" : [ - "Return Value" + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a copy of the mesh with the specified old material replaced by a new one. The Mesh.Material to be replaced. The Mesh.Material to use instead. Return Value a new Mesh with the material replaced.", - "summary" : "Returns a copy of the mesh with the specified old material replaced by a new one.", - "title" : "replacing(_:with:)" + "rawIndexableTextContent" : "Creates a single polygon from a path. Discussion Parameters shape: The Path to convert to a polygon. material: An optional Polygon.Material to apply to the polygon. Path may be convex or concave, but must be closed, planar and non-degenerate, and must not include subpaths. For a non-planar path, or one with subpaths, use facePolygons(material:).", + "summary" : "Creates a single polygon from a path.", + "title" : "init(shape:material:)" }, { "headings" : [ @@ -6355,29 +6348,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "The angle of rotation around the Y-axis. ", + "summary" : "The angle of rotation around the Y-axis.", + "title" : "yaw" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a cylindrical mesh. The radius of the cylinder. The height of the cylinder. The number of vertical slices that make up the cylinder. Optionally add extra detail around poles to prevent texture warping. The direction of the generated polygon faces. The way that texture coordinates are calculated for the cylinder. The optional material for the mesh.", - "summary" : "Creates a cylindrical mesh.", - "title" : "cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)" + "rawIndexableTextContent" : "An array of vertices suitable for constructing a set of edge polygons for the path. Discussion Returns an empty array if the path has subpaths.", + "summary" : "An array of vertices suitable for constructing a set of edge polygons for the path.", + "title" : "edgeVertices" }, { "headings" : [ @@ -6387,13 +6380,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a transform from the current position, scale and orientation of a SceneKit node. The SCNNode from which to determine the transform.", - "summary" : "Creates a transform from the current position, scale and orientation of a SceneKit node.", - "title" : "transform(from:)" + "rawIndexableTextContent" : "Creates an angle from a radians value. The angle in radians.", + "summary" : "Creates an angle from a radians value.", + "title" : "init(radians:)" }, { "headings" : [ @@ -6403,15 +6396,15 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Material used by the mesh polygons. See Polygon.Material for details. ", - "summary" : "Material used by the mesh polygons. See Polygon.Material for details.", - "title" : "Mesh.Material" - }, - { + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" + }, + { "headings" : [ ], @@ -6419,13 +6412,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/icosahedron(radius:faces:wrapMode:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a sphere by subdividing an icosahedron. The radius of the icosahedron. The direction the polygon faces. The mode in which texture coordinates are wrapped around the mesh. The optional material for the mesh.", - "summary" : "Creates a sphere by subdividing an icosahedron.", - "title" : "icosahedron(radius:faces:wrapMode:material:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "blue" }, { "headings" : [ @@ -6435,29 +6428,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounds of the object. ", - "summary" : "The bounds of the object.", - "title" : "bounds" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/AdditiveArithmetic-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "AdditiveArithmetic Implementations" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -6467,13 +6460,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ @@ -6483,13 +6476,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Subtracts the quaternion rotation on the right from the one on the left. ", - "summary" : "Subtracts the quaternion rotation on the right from the one on the left.", - "title" : "-=(_:_:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -6499,13 +6492,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the convex hull of a set of vertices. Discussion Parameters vertices: A set of vertices to compute the hull around. material: An optional material to apply to the mesh.", - "summary" : "Computes the convex hull of a set of vertices.", - "title" : "convexHull(of:material:)" + "rawIndexableTextContent" : "Creates a quadratic bezier spline. The control points for the curve. The number of line segments used to approximate curved sections. Discussion The method takes an array of PathPoint and a detail argument. Normally, the isCurved property is used to calculate surface normals (for lighting purposes), but with the curve(_:detail:) method it actually affects the shape of the Path. A sequence of regular (non-curved) PathPoints creates sharp corners in the Path as normal, but curved points are treated as off-curve Bezier control points. The method uses second-order (quadratic) Bezier curves, where each curve has two on-curve end points and a single off-curve control point. If two curved PathPoint are used in sequence then an on-curve point is interpolated between them. It is therefore possible to create curves entirely out of curved (off-curve) control points. This approach to curve generation is based on the popular TrueType (TTF) font system, and provides a good balance between simplicity and flexibility. For more complex curves, on macOS and iOS you can create Euclid Path from a CGPath by using the CGPath.paths() extension method. CGPath supports cubic bezier curves as well as quadratic, and has convenience constructors for rounded rectangles and other shapes.", + "summary" : "Creates a quadratic bezier spline.", + "title" : "curve(_:detail:)" }, { "headings" : [ @@ -6515,29 +6508,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Quaternion has no effect. ", - "summary" : "Quaternion has no effect.", - "title" : "isIdentity" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", - "summary" : "Inherited from Comparable...<(_:).", - "title" : "..<(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -6547,13 +6540,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Returns the angle between this vector and the specified plane. The plane to compare with.", + "summary" : "Returns the angle between this vector and the specified plane.", + "title" : "angle(with:)" }, { "headings" : [ @@ -6563,13 +6556,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", - "summary" : "Inherited from Comparable.>(_:_:).", - "title" : ">(_:_:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ @@ -6579,45 +6572,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-49ykf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new bounds inset by the specified distance. The distance to inset the bounds by. Use negative values to expand the bounds. Return Value The inset bounds.", - "summary" : "Returns a new bounds inset by the specified distance.", - "title" : "inset(by:)" + "rawIndexableTextContent" : "Creates a scale transform. A vector scale factor apply.", + "summary" : "Creates a scale transform.", + "title" : "scale(_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The red component of the color. ", - "summary" : "The red component of the color.", - "title" : "r" + "rawIndexableTextContent" : "Returns the distance between a point and the plane. The point to compare with. Return Value The distance between the point and the plane. The value is positive if the point lies in front of the plane, and negative if behind.", + "summary" : "Returns the distance between a point and the plane.", + "title" : "distance(from:)" }, { "headings" : [ @@ -6627,13 +6620,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Multiplies the components of the vector by the specified value. ", - "summary" : "Multiplies the components of the vector by the specified value.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -6643,13 +6636,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "An empty bounds. ", + "summary" : "An empty bounds.", + "title" : "empty" }, { "headings" : [ @@ -6659,13 +6652,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a mesh by connecting a series of 3D paths representing the cross sections. The paths to connect. The direction of the generated polygon faces. The optional material for the mesh.", - "summary" : "Creates a mesh by connecting a series of 3D paths representing the cross sections.", - "title" : "loft(_:faces:material:)" + "rawIndexableTextContent" : "Creates a new transform. The translation or position component of the transform. Defaults to zero (no offset). The translation or position component of the transform. Defaults to identity (no rotation). The scaling component of the transform. Defaults to one (no scale adjustment).", + "summary" : "Creates a new transform.", + "title" : "init(offset:rotation:scale:)" }, { "headings" : [ @@ -6675,13 +6668,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new vertex. The position of the vertex in 3D space. The surface normal for the vertex (defaults to zero). The optional texture coordinates for the vertex (defaults to zero). The optional vertex color (defaults to white).", - "summary" : "Creates a new vertex.", - "title" : "init(_:_:_:_:)" + "rawIndexableTextContent" : "Encodes the vector into the given encoder. The encoder to write data to.", + "summary" : "Encodes the vector into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ @@ -6691,29 +6684,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the trigonometric tangent of an angle. The angle to calculate the tangent for. Return Value The trigonometric tangent of the angle.", - "summary" : "Computes the trigonometric tangent of an angle.", - "title" : "tan(_:)" + "rawIndexableTextContent" : "Computes the dot-product of this quaternion and another. The quaternion with which to compute the dot product. Return Value The dot product of the two quaternions.", + "summary" : "Computes the dot-product of this quaternion and another.", + "title" : "dot(_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the polygon includes vertex colors. ", - "summary" : "A Boolean value that indicates whether the polygon includes vertex colors.", - "title" : "hasVertexColors" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -6723,13 +6716,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Hashable.hash(into:). ", - "summary" : "Inherited from Hashable.hash(into:).", - "title" : "hash(into:)" + "rawIndexableTextContent" : "Returns a rotation multiplied by the specified value. ", + "summary" : "Returns a rotation multiplied by the specified value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -6739,13 +6732,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new rotation by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new rotation by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Subtracts the quaternion rotation on the right from the one on the left. ", + "summary" : "Subtracts the quaternion rotation on the right from the one on the left.", + "title" : "-=(_:_:)" }, { "headings" : [ @@ -6755,13 +6748,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Texture coordinates for the vertex. Set this to zero if you are not using a texture map. ", - "summary" : "Texture coordinates for the vertex. Set this to zero if you are not using a texture map.", - "title" : "texcoord" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -6771,7 +6764,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)" }, "type" : "topLevelPage" }, @@ -6780,7 +6773,7 @@ ], "rawIndexableTextContent" : "Deprecated. ", "summary" : "Deprecated.", - "title" : "init(points:)" + "title" : "with(color:)" }, { "headings" : [ @@ -6790,13 +6783,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-8t5q8" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an axis-aligned cuboidal mesh. The center point of the mesh. The size of the cuboid mesh. The direction of the generated polygon faces. The way that texture coordinates are calculated for the cube. The optional material for the mesh.", - "summary" : "Creates an axis-aligned cuboidal mesh.", - "title" : "cube(center:size:faces:wrapMode:material:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "xor(_:isCancelled:)" }, { "headings" : [ @@ -6806,29 +6802,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a mesh from a SceneKit node, with optional material mapping. The SCNNode to convert into a mesh. Should transforms from the input node and its children be ignored. An optional closure to map the SceneKit materials to Euclid materials. If omitted, the SCNMaterial will be directly used as the mesh material.", - "summary" : "Creates a mesh from a SceneKit node, with optional material mapping.", - "title" : "init(_:ignoringTransforms:materialLookup:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ - "Discussion" + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the mesh is watertight, meaning that every edge is attached to two polygons (or a multiple of two). Discussion A value of true doesn’t guarantee that mesh is not self-intersecting or inside-out.", - "summary" : "A Boolean value that indicates whether the mesh is watertight, meaning that every edge is attached to two polygons (or a multiple of two).", - "title" : "isWatertight" + "rawIndexableTextContent" : "Returns a Boolean value that indicates whether a point lies inside the polygon, on the same plane. The point to test. Return Value true if the point lies inside the polygon and false otherwise.", + "summary" : "Returns a Boolean value that indicates whether a point lies inside the polygon, on the same plane.", + "title" : "containsPoint(_:)" }, { "headings" : [ @@ -6838,93 +6834,93 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An angle or 2D rotation. ", - "summary" : "An angle or 2D rotation.", - "title" : "Angle" + "rawIndexableTextContent" : "Creates an array of glyph contours from an attributed string. The text to convert. The optional width at which to line-wrap the text. The number line segments used to approximate glyph curves.", + "summary" : "Creates an array of glyph contours from an attributed string.", + "title" : "text(_:width:detail:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "A Boolean value that indicates whether the polygon is convex. ", + "summary" : "A Boolean value that indicates whether the polygon is convex.", + "title" : "isConvex" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Multiplies the rotation angle by the specified value. ", - "summary" : "Multiplies the rotation angle by the specified value.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Linearly interpolate between two colors. The color to interpolate towards. The normalized extent of interpolation, from 0 to 1. Return Value The interpolated color.", + "summary" : "Linearly interpolate between two colors.", + "title" : "lerp(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+=(_:_:). ", - "summary" : "Inherited from AdditiveArithmetic.+=(_:_:).", - "title" : "+=(_:_:)" + "rawIndexableTextContent" : "Splits all polygons in the mesh that are concave or have more than the specified number of sides into two or more convex polygons. The maximum number of sides each polygon may have. Return Value A new mesh containing the convex polygons.", + "summary" : "Splits all polygons in the mesh that are concave or have more than the specified number of sides into two or more convex polygons.", + "title" : "tessellate(maxSides:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-27eol" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Quaternion from a simd quaternion. A simd quaternion.", - "summary" : "Creates a Quaternion from a simd quaternion.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Returns a Boolean value that indicates whether two line segements intersect. The line segment to compare with. Return Value true if the line segments intersect and false otherwise.", + "summary" : "Returns a Boolean value that indicates whether two line segements intersect.", + "title" : "intersects(_:)" }, { "headings" : [ @@ -6934,45 +6930,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", - "summary" : "Inherited from Comparable....(_:_:).", - "title" : "...(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", + "summary" : "Inherited from Comparable.>=(_:_:).", + "title" : ">=(_:_:)" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns an array containing the red, green, blue, and alpha components of the color. ", - "summary" : "Returns an array containing the red, green, blue, and alpha components of the color.", - "title" : "components" + "rawIndexableTextContent" : "A combined rotation, position, and scale that can be applied to a 3D object. Overview Working with intermediate transform objects instead of directly updating the vertex positions of a mesh is more efficient and avoids a buildup of rounding errors.", + "summary" : "A combined rotation, position, and scale that can be applied to a 3D object.", + "title" : "Transform" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-817o2" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the nearest point on the specified plane to the vector (representing a position in space). The plane to project onto. Return Value The nearest point in 3D space that lies on the plane.", - "summary" : "Returns the nearest point on the specified plane to the vector (representing a position in space).", - "title" : "project(onto:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "orange" }, { "headings" : [ @@ -6982,29 +6978,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "All materials used by the mesh. The array may contain nil if some or all of the mesh uses the default material. ", - "summary" : "All materials used by the mesh. The array may contain nil if some or all of the mesh uses the default material.", - "title" : "materials" + "rawIndexableTextContent" : "Angle representing a zero (identity) rotation. ", + "summary" : "Angle representing a zero (identity) rotation.", + "title" : "zero" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the point where the specified plane intersects the line segment. The plane to compare with. Return Value The point of intersection, or nil if the line segment and plane don’t intersect.", - "summary" : "Returns the point where the specified plane intersects the line segment.", - "title" : "intersection(with:)" + "rawIndexableTextContent" : "Returns a vector with all components inverted. ", + "summary" : "Returns a vector with all components inverted.", + "title" : "-(_:)" }, { "headings" : [ @@ -7014,45 +7010,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an angle representing the trigonometric arc sine of the value you provide. The sine value to use to calculate the angle.", - "summary" : "Creates an angle representing the trigonometric arc sine of the value you provide.", - "title" : "asin(_:)" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Creates a conical mesh. The radius of the cone. The height of the cone. The number of vertical slices that make up the cone. The number of horizontal stacks that make up the cone. Optionally add extra detail around top pole to prevent texture warping. Whether detail should be added at bottom pole. The direction of the generated polygon faces. The way that texture coordinates are calculated for the cone. The optional material for the mesh. Discussion The default nil value for poleDetail will derive value automatically. Use zero instead if you wish to add no extra detail at the poles.", + "summary" : "Creates a conical mesh.", + "title" : "cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates if the specified point is inside the mesh. The point to compare. Return Value true if the point lies inside the mesh, and false otherwise.", - "summary" : "Returns a Boolean value that indicates if the specified point is inside the mesh.", - "title" : "containsPoint(_:)" + "rawIndexableTextContent" : "Smooth vertex normals for corners with angles greater (more obtuse) than the specified threshold. The minimum corner angle that should appear smooth. Values should be in the range zero (no smoothing) to pi (smooth all edges).", + "summary" : "Smooth vertex normals for corners with angles greater (more obtuse) than the specified threshold.", + "title" : "smoothingNormals(forAnglesGreaterThan:)" }, { "headings" : [ @@ -7062,29 +7058,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a mesh by filling a path to form one or more polygons. The shape to be filled. The direction the polygon faces. The optional material for the mesh.", - "summary" : "Creates a mesh by filling a path to form one or more polygons.", - "title" : "fill(_:faces:material:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The identity rotation (i.e. no rotation). ", - "summary" : "The identity rotation (i.e. no rotation).", - "title" : "identity" + "rawIndexableTextContent" : "Creates a polygon from a set of vertex positions. A collection of Vector positions for the polygon vertices. An optional Polygon.Material to use for the polygon. Discussion Vertex normals will be set to match the overall face normal of the polygon. Texture coordinates will be set to zero. Vertex colors will be defaulted to white.", + "summary" : "Creates a polygon from a set of vertex positions.", + "title" : "init(_:material:)" }, { "headings" : [ @@ -7094,29 +7090,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Creates a mesh by filling a path to form one or more polygons. The shape to be filled. The direction the polygon faces. The optional material for the mesh.", + "summary" : "Creates a mesh by filling a path to form one or more polygons.", + "title" : "fill(_:faces:material:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The face normal for the path. Discussion If path is non-planar then this returns an average\/approximate normal.", - "summary" : "The face normal for the path.", - "title" : "faceNormal" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -7126,45 +7122,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The green component of the color. ", - "summary" : "The green component of the color.", - "title" : "g" + "rawIndexableTextContent" : "An angle or 2D rotation. ", + "summary" : "An angle or 2D rotation.", + "title" : "Angle" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Returns a Boolean value that indicates whether a point lies on the plane. The point to test. Return Value true if the point lies on the plane and false otherwise.", + "summary" : "Returns a Boolean value that indicates whether a point lies on the plane.", + "title" : "containsPoint(_:)" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Euclid is a library for creating and manipulating 3D geometry using techniques such as extruding or “lathing” 2D paths to create solid 3D shapes, and CSG (Constructive Solid Geometry) to combine or subtract those shapes from one another. Overview Euclid is the underlying implementation for the open source ShapeScript scripting language and ShapeScript macOS app. Anything you can build in ShapeScript can be replicated programmatically in Swift using this library. If you would like to support the development of Euclid, please consider buying a copy of ShapeScript (the app itself is free, but there is an in-app purchase to unlock some features). You can also donate directly to the project via PayPal: Note: Euclid is a fairly complex piece of code, at a fairly early stage of development. You should expect some bugs and breaking changes over the first few releases, and the documentation is a little sparse. Please report any issues you encounter, and I will do my best to fix them.", - "summary" : "Euclid is a library for creating and manipulating 3D geometry using techniques such as extruding or “lathing” 2D paths to create solid 3D shapes, and CSG (Constructive Solid Geometry) to combine or subtract those shapes from one another.", - "title" : "Euclid" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ @@ -7174,13 +7170,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a bounds from a collection of Bounded objects. A collection of bounded objects.", - "summary" : "Creates a bounds from a collection of Bounded objects.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Flip the direction of the line segment ", + "summary" : "Flip the direction of the line segment", + "title" : "inverted()" }, { "headings" : [ @@ -7190,46 +7186,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the convex hull of a set of polygons. An array of polygons to compute the hull around.", - "summary" : "Computes the convex hull of a set of polygons.", - "title" : "convexHull(of:)" + "rawIndexableTextContent" : "Creates a new path point by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new path point by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ - "Return Value", - "Discussion" + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.type.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-49ykf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Efficiently forms a union from multiple meshes. Return Value A new mesh representing the union of the input meshes. Discussion Parameters meshes: A collection of meshes to be unioned. isCancelled: Callback used to cancel the operation.", - "summary" : "Efficiently forms a union from multiple meshes.", - "title" : "union(_:isCancelled:)" + "rawIndexableTextContent" : "Returns a new bounds inset by the specified distance. The distance to inset the bounds by. Use negative values to expand the bounds. Return Value The inset bounds.", + "summary" : "Returns a new bounds inset by the specified distance.", + "title" : "inset(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "A closure that maps a SceneKit material to a Euclid material. An SCNMaterial material to convert. Return Value A Mesh.Material instance, or nil for the default material.", + "summary" : "A closure that maps a SceneKit material to a Euclid material.", + "title" : "Mesh.MaterialProvider" }, { "headings" : [ @@ -7239,13 +7234,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -7255,16 +7250,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9" }, "type" : "topLevelPage" }, - "platforms" : [ - + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" + }, + { + "headings" : [ + "Overview" ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "with(material:)" + "kind" : "symbol", + "location" : { + "reference" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint" + }, + "type" : "topLevelPage" + }, + "rawIndexableTextContent" : "A point along a path. Overview A path point can represent a sharp corner or a curve, and has a position, and optionally a texcoord and\/or color, but no normal. The isCurved property indicates if the point is sharp or smooth, allowing the normal to be computed automatically.", + "summary" : "A point along a path.", + "title" : "PathPoint" }, { "headings" : [ @@ -7274,13 +7282,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Transformable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Bounded Implementations" + "title" : "Transformable Implementations" }, { "headings" : [ @@ -7290,13 +7298,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation around the X axis. The angle to rotate by.", - "summary" : "Creates a rotation around the X axis.", - "title" : "pitch(_:)" + "rawIndexableTextContent" : "Creates a rotation from Euler angles applied in pitch\/yaw\/roll order. The angle of rotation around the X axis. This is applied first. The angle of rotation around the Y axis. This is applied second. The angle of rotation around the Z axis. This is applied last.", + "summary" : "Creates a rotation from Euler angles applied in pitch\/yaw\/roll order.", + "title" : "init(pitch:yaw:roll:)" }, { "headings" : [ @@ -7306,29 +7314,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "The magnitude of the vector. ", + "summary" : "The magnitude of the vector.", + "title" : "length" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/inverted()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The color for the vertex. This will be multiplied by the material color, so set it to white if you do not require per-vertex colors. ", - "summary" : "The color for the vertex. This will be multiplied by the material color, so set it to white if you do not require per-vertex colors.", - "title" : "color" + "rawIndexableTextContent" : "Flips the face direction and vertex normals of all polygons within the mesh. Return Value The inverted mesh.", + "summary" : "Flips the face direction and vertex normals of all polygons within the mesh.", + "title" : "inverted()" }, { "headings" : [ @@ -7338,13 +7346,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation. ", - "summary" : "The angle of rotation.", - "title" : "angle" + "rawIndexableTextContent" : "Creates a mesh from a SceneKit geometry, with the material you provide. The SCNGeometry to convert. A Mesh.Material to apply to the geometry, replacing any existing materials. Pass nil to use the default Euclid material.", + "summary" : "Creates a mesh from a SceneKit geometry, with the material you provide.", + "title" : "init(_:material:)" }, { "headings" : [ @@ -7354,29 +7362,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the product of a numeric multiplier and an angle. ", - "summary" : "Returns the product of a numeric multiplier and an angle.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Creates a vertex from a path point. The path point to create the vertex from.", + "summary" : "Creates a vertex from a path point.", + "title" : "init(_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -7386,13 +7394,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "The color for the vertex. This will be multiplied by the material color, so set it to white if you do not require per-vertex colors. ", + "summary" : "The color for the vertex. This will be multiplied by the material color, so set it to white if you do not require per-vertex colors.", + "title" : "color" }, { "headings" : [ @@ -7402,29 +7410,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a mesh from a SceneKit geometry, with the material you provide. The SCNGeometry to convert. A Mesh.Material to apply to the geometry, replacing any existing materials. Pass nil to use the default Euclid material.", - "summary" : "Creates a mesh from a SceneKit geometry, with the material you provide.", - "title" : "init(_:material:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -7434,13 +7442,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", + "summary" : "Inherited from Comparable...<(_:).", + "title" : "..<(_:)" }, { "headings" : [ @@ -7450,13 +7458,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new polygon by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new polygon by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -7466,45 +7474,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A vector of length 1 along the Y axis. ", - "summary" : "A vector of length 1 along the Y axis.", - "title" : "unitY" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-79olr" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this rotation into the given encoder. The encoder to write data to.", - "summary" : "Encodes this rotation into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "Computes the point of intersection between a line and a plane. The Line to compare with. Return Value The point of intersection between the line and plane, or nil if they are parallel.", + "summary" : "Computes the point of intersection between a line and a plane.", + "title" : "intersection(with:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the normalized quaternion. Return Value The normalized quaternion (with a length of 1) or zero if the length is 0.", - "summary" : "Returns the normalized quaternion.", - "title" : "normalized()" + "rawIndexableTextContent" : "The alpha component of the color. ", + "summary" : "The alpha component of the color.", + "title" : "a" }, { "headings" : [ @@ -7514,29 +7522,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:isCancelled:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the mesh without texture coordinates. ", - "summary" : "Return a copy of the mesh without texture coordinates.", - "title" : "withoutTexcoords()" + "rawIndexableTextContent" : "Efficiently extrudes an array of paths along their respective face normals, avoiding duplicate work. The array of paths to extrude in order to create the mesh. The depth of the extrusion. Angular twist to apply along the extrusion. Number of sections to create along extrusion. The direction of the generated polygon faces. The optional material for the mesh.", + "summary" : "Efficiently extrudes an array of paths along their respective face normals, avoiding duplicate work.", + "title" : "extrude(_:depth:twist:sections:faces:material:isCancelled:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Creates a mesh by connecting a series of 3D paths representing the cross sections. The paths to connect. The direction of the generated polygon faces. The optional material for the mesh.", + "summary" : "Creates a mesh by connecting a series of 3D paths representing the cross sections.", + "title" : "loft(_:faces:material:)" }, { "headings" : [ @@ -7546,45 +7554,46 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.-=(_:_:). ", - "summary" : "Inherited from AdditiveArithmetic.-=(_:_:).", - "title" : "-=(_:_:)" + "rawIndexableTextContent" : "Multiplies the rotation angle by the specified value. ", + "summary" : "Multiplies the rotation angle by the specified value.", + "title" : "*=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Alignment mode to use when extruding along a path. ", - "summary" : "Alignment mode to use when extruding along a path.", - "title" : "Mesh.Alignment" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/plane" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The plane on which all vertices lie. ", - "summary" : "The plane on which all vertices lie.", - "title" : "plane" + "rawIndexableTextContent" : "Merges the polygons from two meshes. The mesh to merge with this one. Return Value A new mesh that includes all polygons from both meshes. Discussion No attempt is made to deduplicate or join meshes. Polygons are neither split nor removed.", + "summary" : "Merges the polygons from two meshes.", + "title" : "merge(_:)" }, { "headings" : [ @@ -7594,29 +7603,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes the vector into the given encoder. The encoder to write data to.", - "summary" : "Encodes the vector into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "A plane located at the origin, aligned with the X and Y axes. ", + "summary" : "A plane located at the origin, aligned with the X and Y axes.", + "title" : "xy" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-6176" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the convex hull of a set of points. Discussion Parameters points: An set of points to compute the hull around. material: An optional material to apply to the mesh.", - "summary" : "Computes the convex hull of a set of points.", - "title" : "convexHull(of:material:)" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ @@ -7626,13 +7635,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curved(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Curve or uncurve the point. Whether the resultant point should be curved.", - "summary" : "Curve or uncurve the point.", - "title" : "curved(_:)" + "rawIndexableTextContent" : "Encodes this quaternion into the given encoder. The encoder to write data to.", + "summary" : "Encodes this quaternion into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ @@ -7642,13 +7651,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the angle between this vector and another. The vector to compare with.", - "summary" : "Returns the angle between this vector and another.", - "title" : "angle(with:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "init(_:_:)" }, { "headings" : [ @@ -7658,13 +7670,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rectangle(width:height:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The unique polygon edges in the mesh. The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons. ", - "summary" : "The unique polygon edges in the mesh. The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", - "title" : "uniqueEdges" + "rawIndexableTextContent" : "Creates a closed rectangular path. The width of the rectangle. The height of the rectangle. An optional Color to apply to the path’s points.", + "summary" : "Creates a closed rectangular path.", + "title" : "rectangle(width:height:color:)" }, { "headings" : [ @@ -7674,29 +7686,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation around the Y axis. The angle to rotate by.", - "summary" : "Creates a rotation around the Y axis.", - "title" : "yaw(_:)" + "rawIndexableTextContent" : "Encodes this rotation into the given encoder. The encoder to write data to.", + "summary" : "Encodes this rotation into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An array containing the X, Y, and Z components of the vector. ", - "summary" : "An array containing the X, Y, and Z components of the vector.", - "title" : "components" + "rawIndexableTextContent" : "Computes a set of edges where the mesh intersects a plane. A Plane to test against the mesh. Return Value A Set of LineSegment representing the polygon edges intersecting the plane.", + "summary" : "Computes a set of edges where the mesh intersects a plane.", + "title" : "edges(intersecting:)" }, { "headings" : [ @@ -7706,13 +7718,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The square of the length of the vector. This is less expensive to compute than the length itself. ", - "summary" : "The square of the length of the vector. This is less expensive to compute than the length itself.", - "title" : "lengthSquared" + "rawIndexableTextContent" : "The array of points that makes up this path. ", + "summary" : "The array of points that makes up this path.", + "title" : "points" }, { "headings" : [ @@ -7722,13 +7734,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the polygon includes vertex normals that differ from the face normal. ", - "summary" : "A Boolean value that indicates whether the polygon includes vertex normals that differ from the face normal.", - "title" : "hasVertexNormals" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ @@ -7738,13 +7750,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a closed regular polygon. The distance from the center of the polygon to each point. The number of sides on the polygon. An optional Color to apply to the path’s points.", - "summary" : "Creates a closed regular polygon.", - "title" : "polygon(radius:sides:color:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "white" }, { "headings" : [ @@ -7754,13 +7766,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this mesh into the given encoder. The encoder to write data to.", - "summary" : "Encodes this mesh into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ @@ -7770,13 +7782,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ @@ -7786,29 +7798,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a polygon from an array of vertices. An array of Vertex that make up the polygon. An optional Polygon.Material to use for the polygon. Discussion A polygon can be convex or concave, but vertices must be coplanar and non-degenerate. Vertices are assumed to be in anti-clockwise order for the purpose of deriving the face normal.", - "summary" : "Creates a polygon from an array of vertices.", - "title" : "init(_:material:)" + "rawIndexableTextContent" : "An array of vertices suitable for constructing a polygon from the path. Discussion Vertices include normals and uv coordinates normalized to the bounding rectangle of the path. Returns nil if path is not closed, or has subpaths.", + "summary" : "An array of vertices suitable for constructing a polygon from the path.", + "title" : "faceVertices" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/extrusionContours(along:twist:align:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-2u7vo" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an array of contours by extruding one path along another path. The path along which to extrude the shape. Angular twist to apply along the extrusion. The alignment mode to use for the extruded shape.", - "summary" : "Creates an array of contours by extruding one path along another path.", - "title" : "extrusionContours(along:twist:align:)" + "rawIndexableTextContent" : "Returns the intersection point between the specified line segment and this one. The line segment to compare with. Return Value The point of intersection, or nil if the line segments don’t intersect.", + "summary" : "Returns the intersection point between the specified line segment and this one.", + "title" : "intersection(with:)" }, { "headings" : [ @@ -7818,13 +7830,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the bounds is empty (has zero volume). ", - "summary" : "A Boolean value that indicates whether the bounds is empty (has zero volume).", - "title" : "isEmpty" + "rawIndexableTextContent" : "An array containing the X, Y, and Z components of the vector. ", + "summary" : "An array containing the X, Y, and Z components of the vector.", + "title" : "components" }, { "headings" : [ @@ -7834,29 +7846,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An empty mesh. ", - "summary" : "An empty mesh.", - "title" : "empty" + "rawIndexableTextContent" : "The Y component of the vector. ", + "summary" : "The Y component of the vector.", + "title" : "y" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/AdditiveArithmetic-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this line segment into the given encoder. The encoder to write data to.", - "summary" : "Encodes this line segment into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "AdditiveArithmetic Implementations" }, { "headings" : [ @@ -7866,29 +7878,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:_:_:texcoord:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a curved path point at the specified X, Y and Z coordinates. The X coordinate of the path point. The Y coordinate of the path point. The Z coordinate of the path point. An optional texture coordinate for this path point. An optional vertex color for this path point.", - "summary" : "Creates a curved path point at the specified X, Y and Z coordinates.", - "title" : "curve(_:_:_:texcoord:color:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-4v7tg" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A normalized direction vector pointing rightwards relative to the current rotation. ", - "summary" : "A normalized direction vector pointing rightwards relative to the current rotation.", - "title" : "right" + "rawIndexableTextContent" : "Computes the line of intersection between two planes. The plane to compare with. Return Value The line of intersection between the planes, or nil if the planes are parallel.", + "summary" : "Computes the line of intersection between two planes.", + "title" : "intersection(with:)" }, { "headings" : [ @@ -7898,13 +7910,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The points that make up the corners of the bounds. ", - "summary" : "The points that make up the corners of the bounds.", - "title" : "corners" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "init(cgPath:detail:color:)" }, { "headings" : [ @@ -7914,46 +7929,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this angle into the given encoder. The encoder to write data to.", - "summary" : "Encodes this angle into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order. The angle of rotation around the Z axis. This is applied first. The angle of rotation around the Y axis. This is applied second. The angle of rotation around the X axis. This is applied last.", + "summary" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", + "title" : "init(roll:yaw:pitch:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", - "summary" : "Inherited from Comparable.<=(_:_:).", - "title" : "<=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ - "Return Value", - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Efficiently performs a stencil with multiple meshes. Return Value A new mesh representing the result of stencilling. Discussion Parameters meshes: An ordered collection of meshes. All but the first will be stencilled onto the first. isCancelled: Callback used to cancel the operation.", - "summary" : "Efficiently performs a stencil with multiple meshes.", - "title" : "stencil(_:isCancelled:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -7963,13 +7977,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "The array of vertices that make up the polygon. ", + "summary" : "The array of vertices that make up the polygon.", + "title" : "vertices" }, { "headings" : [ @@ -7979,13 +7993,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/closed()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates whether a point lies on the plane. The point to test. Return Value true if the point lies on the plane and false otherwise.", - "summary" : "Returns a Boolean value that indicates whether a point lies on the plane.", - "title" : "containsPoint(_:)" + "rawIndexableTextContent" : "Closes the path by joining last point to first. Return Value A new path, or self if the path is already closed, or cannot be closed.", + "summary" : "Closes the path by joining last point to first.", + "title" : "closed()" }, { "headings" : [ @@ -7995,29 +8009,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An empty path. ", - "summary" : "An empty path.", - "title" : "empty" + "rawIndexableTextContent" : "The Z component of the vector. ", + "summary" : "The Z component of the vector.", + "title" : "z" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -8027,13 +8041,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", - "summary" : "Inherited from Comparable...<(_:_:).", - "title" : "..<(_:_:)" + "rawIndexableTextContent" : "Transform has no effect. ", + "summary" : "Transform has no effect.", + "title" : "isIdentity" }, { "headings" : [ @@ -8043,13 +8057,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an angle representing the trigonometric arc tangent of the value you provide. The tangent value to use to calculate the angle.", - "summary" : "Creates an angle representing the trigonometric arc tangent of the value you provide.", - "title" : "atan(_:)" + "rawIndexableTextContent" : "Do not generate texture coordinates. ", + "summary" : "Do not generate texture coordinates.", + "title" : "Mesh.WrapMode.none" }, { "headings" : [ @@ -8059,13 +8073,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion representing a rotation around the Y axis. The angle to rotate by.", - "summary" : "Creates a quaternion representing a rotation around the Y axis.", - "title" : "yaw(_:)" + "rawIndexableTextContent" : "Return a copy of the mesh with transformed texture coordinates. The transform to apply to the texture coordinates.", + "summary" : "Return a copy of the mesh with transformed texture coordinates.", + "title" : "withTextureTransform(_:)" }, { "headings" : [ @@ -8075,13 +8089,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ @@ -8091,29 +8105,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return ASCII STL string data for the mesh. ", - "summary" : "Return ASCII STL string data for the mesh.", - "title" : "stlString(name:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "init(points:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new vector from a CoreGraphics size. the CoreGraphics size.", - "summary" : "Creates a new vector from a CoreGraphics size.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -8123,13 +8140,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "A plane located at the origin, aligned with the Y and Z axes. ", + "summary" : "A plane located at the origin, aligned with the Y and Z axes.", + "title" : "yz" }, { "headings" : [ @@ -8139,65 +8156,64 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)" }, "type" : "topLevelPage" }, "platforms" : [ ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "init(polygon:)" + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "init(polygons:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An array of vertices suitable for constructing a set of edge polygons for the path. The wrap mode to use for generating texture coordinates. Return Value The edge vertices, or an empty array if path has subpaths.", - "summary" : "An array of vertices suitable for constructing a set of edge polygons for the path.", - "title" : "edgeVertices(for:)" + "rawIndexableTextContent" : "Creates a line segment with a start and end point. The start of the line segment. The end of the line segment.", + "summary" : "Creates a line segment with a start and end point.", + "title" : "init(start:end:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.type.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Efficiently computes the intersection of multiple meshes. Return Value A new mesh representing the intersection of the meshes. Discussion Parameters meshes: A collection of meshes to be intersected. isCancelled: Callback used to cancel the operation.", - "summary" : "Efficiently computes the intersection of multiple meshes.", - "title" : "intersection(_:isCancelled:)" + "rawIndexableTextContent" : "A common protocol for objects that have a bounds. ", + "summary" : "A common protocol for objects that have a bounds.", + "title" : "Bounded" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a path from an array of path points. An array of PathPoint making up the path.", - "summary" : "Creates a path from an array of path points.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ @@ -8207,45 +8223,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A normalized direction vector pointing forwards relative to the current rotation. ", - "summary" : "A normalized direction vector pointing forwards relative to the current rotation.", - "title" : "forward" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-4v7tg" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the line of intersection between two planes. The plane to compare with. Return Value The line of intersection between the planes, or nil if the planes are parallel.", - "summary" : "Computes the line of intersection between two planes.", - "title" : "intersection(with:)" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", + "summary" : "Inherited from Comparable...<(_:_:).", + "title" : "..<(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The alpha component of the color. ", - "summary" : "The alpha component of the color.", - "title" : "a" + "rawIndexableTextContent" : "Return binary STL data for the mesh. A closure to map the polygon material to a SceneKit material. Return Value A Euclid Color value.", + "summary" : "Return binary STL data for the mesh.", + "title" : "stlData(colorLookup:)" }, { "headings" : [ @@ -8255,13 +8271,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Transformable Implementations" + "title" : "Equatable Implementations" + }, + { + "headings" : [ + + ], + "kind" : "symbol", + "location" : { + "reference" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)" + }, + "type" : "topLevelPage" + }, + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ @@ -8271,13 +8303,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the area of the polygon. ", - "summary" : "Returns the area of the polygon.", - "title" : "area" + "rawIndexableTextContent" : "Creates a quaternion representing a rotation around the X axis. The angle to rotate by.", + "summary" : "Creates a quaternion representing a rotation around the X axis.", + "title" : "pitch(_:)" }, { "headings" : [ @@ -8287,13 +8319,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the difference between two angles. ", - "summary" : "Returns the difference between two angles.", - "title" : "-(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", + "summary" : "Inherited from Comparable...<(_:_:).", + "title" : "..<(_:_:)" }, { "headings" : [ @@ -8303,45 +8335,46 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an angle representing the trigonometric arc cosine of the value you provide. The cosine value to use to calculate the angle.", - "summary" : "Creates an angle representing the trigonometric arc cosine of the value you provide.", - "title" : "acos(_:)" + "rawIndexableTextContent" : "Split the polygon along a plane. The Plane to split the polygon along. Return Value A pair of arrays representing the polygon fragments in front of and behind the plane respectively. Discussion If the plane and polygon do not intersect, one of the returned arrays will be empty.", + "summary" : "Split the polygon along a plane.", + "title" : "split(along:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -8351,45 +8384,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the difference between two quaternion rotations,. ", - "summary" : "Returns the difference between two quaternion rotations,.", - "title" : "-(_:_:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ - "Overview" + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A color in RGBA format. Overview Color can be used as a material or as a color.", - "summary" : "A color in RGBA format.", - "title" : "Color" + "rawIndexableTextContent" : "Creates a size\/scale vector from an array of two coordinates. An array of vector components. Discussion Omitted values are set equal to the first value specified. If no values as specified, the size defaults to one.", + "summary" : "Creates a size\/scale vector from an array of two coordinates.", + "title" : "init(size:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The identity transform (i.e. no transform). ", - "summary" : "The identity transform (i.e. no transform).", - "title" : "identity" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -8399,29 +8432,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a vertex from a path point. The path point to create the vertex from.", - "summary" : "Creates a vertex from a path point.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", + "summary" : "Inherited from Comparable.>(_:_:).", + "title" : ">(_:_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Creates an angle from a radians value. The angle in radians.", + "summary" : "Creates an angle from a radians value.", + "title" : "radians(_:)" }, { "headings" : [ @@ -8431,13 +8464,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the Y-axis. ", - "summary" : "The angle of rotation around the Y-axis.", - "title" : "yaw" + "rawIndexableTextContent" : "A Boolean value that indicates whether the quaternion has a length of 1. ", + "summary" : "A Boolean value that indicates whether the quaternion has a length of 1.", + "title" : "isNormalized" }, { "headings" : [ @@ -8447,13 +8480,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The maximum coordinate of the bounds. ", - "summary" : "The maximum coordinate of the bounds.", - "title" : "max" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -8463,45 +8496,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Adds the quaternion rotation on the right to the one on the left. ", - "summary" : "Adds the quaternion rotation on the right to the one on the left.", - "title" : "+=(_:_:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-3eglz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Texture is tube-wrapped. ", - "summary" : "Texture is tube-wrapped.", - "title" : "Mesh.WrapMode.tube" + "rawIndexableTextContent" : "Returns the distance between the vector (representing a position in space) from the specified line. The line to compare with. Return Value The absolute perpendicular distance between the point and line.", + "summary" : "Returns the distance between the vector (representing a position in space) from the specified line.", + "title" : "distance(from:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the product of two quaternions (i.e. the effect of rotating the left by the right). ", - "summary" : "Returns the product of two quaternions (i.e. the effect of rotating the left by the right).", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -8511,29 +8544,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(degrees:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a path point. The location of the path point. An optional texture coordinate for this path point. An optional vertex color for this path point. A Boolean indicating if point should be curved or sharp.", - "summary" : "Creates a path point.", - "title" : "init(_:texcoord:color:isCurved:)" + "rawIndexableTextContent" : "Creates an Angle from a degrees value. The angle in degrees.", + "summary" : "Creates an Angle from a degrees value.", + "title" : "init(degrees:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The center of the bounds. If the bounds is empty this will return the zero vector. ", - "summary" : "The center of the bounds. If the bounds is empty this will return the zero vector.", - "title" : "center" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -8543,45 +8576,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the convex hull of one or more meshes. An array of meshes to compute the hull around.", - "summary" : "Computes the convex hull of one or more meshes.", - "title" : "convexHull(of:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-817o2" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "clear" + "rawIndexableTextContent" : "Returns the nearest point on the specified plane to the vector (representing a position in space). The plane to project onto. Return Value The nearest point in 3D space that lies on the plane.", + "summary" : "Returns the nearest point on the specified plane to the vector (representing a position in space).", + "title" : "project(onto:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Efficiently extrudes an array of paths along their respective face normals, avoiding duplicate work. The array of paths to extrude in order to create the mesh. The depth of the extrusion. Angular twist to apply along the extrusion. Number of sections to create along extrusion. The direction of the generated polygon faces. The optional material for the mesh.", - "summary" : "Efficiently extrudes an array of paths along their respective face normals, avoiding duplicate work.", - "title" : "extrude(_:depth:twist:sections:faces:material:isCancelled:)" + "rawIndexableTextContent" : "Performs a spherical interpolation between two quaternions. A quaternion to interpolate with. The normalized extent of interpolation, from 0 to 1. Return Value The interpolated quaternion.", + "summary" : "Performs a spherical interpolation between two quaternions.", + "title" : "slerp(_:_:)" }, { "headings" : [ @@ -8591,45 +8624,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(min:max:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a bounds with min and max coordinates. The minimum coordinate value. The maximum coordinate value. Discussion If the value for max is less than the value for min, the bounds is considered to be empty.", - "summary" : "Creates a bounds with min and max coordinates.", - "title" : "init(min:max:)" + "rawIndexableTextContent" : "All materials used by the mesh. The array may contain nil if some or all of the mesh uses the default material. ", + "summary" : "All materials used by the mesh. The array may contain nil if some or all of the mesh uses the default material.", + "title" : "materials" }, { "headings" : [ - "Discussion" + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-91swk" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the convex hull of a set of line segments. Discussion Parameters edges: A set of line segments to compute the hull around. material: An optional material to apply to the mesh.", - "summary" : "Computes the convex hull of a set of line segments.", - "title" : "convexHull(of:material:)" + "rawIndexableTextContent" : "Creates a new bounds representing the intersection between the specified bounds and this one. The bounds with which to intersect. Return Value The combined bounds, which may be empty if the bounds don’t intersect.", + "summary" : "Creates a new bounds representing the intersection between the specified bounds and this one.", + "title" : "intersection(_:)" }, { "headings" : [ @@ -8639,93 +8672,94 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion from an axis and angle. A vector defining the axis of rotation. The angle of rotation around the axis.", - "summary" : "Creates a quaternion from an axis and angle.", - "title" : "init(axis:angle:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new mesh from an array of polygons. The polygons making up the mesh.", - "summary" : "Creates a new mesh from an array of polygons.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Returns a new mesh created by subtracting the volume of the mesh parameter from the receiver. Return Value A new mesh representing the result of the subtraction. Discussion Parameters mesh: The mesh to subtract from this one. isCancelled: Callback used to cancel the operation.", + "summary" : "Returns a new mesh created by subtracting the volume of the mesh parameter from the receiver.", + "title" : "subtracting(_:isCancelled:)" }, { "headings" : [ - "Return Value" + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Splits all polygons in the mesh that are concave or have more than the specified number of sides into two or more convex polygons. The maximum number of sides each polygon may have. Return Value A new mesh containing the convex polygons.", - "summary" : "Splits all polygons in the mesh that are concave or have more than the specified number of sides into two or more convex polygons.", - "title" : "tessellate(maxSides:)" + "rawIndexableTextContent" : "Creates a rotationally symmetrical mesh by turning the specified path around the Y axis. The path to use as the profile for the mesh. The number of slices that make up the lathed mesh. The number of segments used to make the pole. A Boolean value that indicates whether to add detail to the poles. The direction of the generated polygon faces. The way that texture coordinates are calculated for the lathed mesh. The optional material for the mesh. Discussion The profile path can be open or closed. Define a closed path by ending with the same point that you started with. The path can be placed on either side of the Y axis, however the behavior is undefined for paths that cross the axis Open paths that do not start and end on the Y axis will produce a shape with a hole in it", + "summary" : "Creates a rotationally symmetrical mesh by turning the specified path around the Y axis.", + "title" : "lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a conical mesh. The radius of the cone. The height of the cone. The number of vertical slices that make up the cone. The number of horizontal stacks that make up the cone. Optionally add extra detail around top pole to prevent texture warping. Whether detail should be added at bottom pole. The direction of the generated polygon faces. The way that texture coordinates are calculated for the cone. The optional material for the mesh. Discussion The default nil value for poleDetail will derive value automatically. Use zero instead if you wish to add no extra detail at the poles.", - "summary" : "Creates a conical mesh.", - "title" : "cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)" + "rawIndexableTextContent" : "The direction of the line segment as a normalized vector. ", + "summary" : "The direction of the line segment as a normalized vector.", + "title" : "direction" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A distance or position in 3D space. Overview Euclid doesn’t have a 2D vector type. When working with primarily 2D shapes, such as Paths, you can omit the z component when constructing vector and it will default to zero.", - "summary" : "A distance or position in 3D space.", - "title" : "Vector" + "rawIndexableTextContent" : "Supported NSSecureCodable Material base classes. ", + "summary" : "Supported NSSecureCodable Material base classes.", + "title" : "codableClasses" }, { "headings" : [ @@ -8735,13 +8769,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Returns the componentwise difference between two vectors. ", + "summary" : "Returns the componentwise difference between two vectors.", + "title" : "-(_:_:)" }, { "headings" : [ @@ -8751,13 +8785,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:_:_:texcoord:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new transform. The translation or position component of the transform. Defaults to zero (no offset). The translation or position component of the transform. Defaults to identity (no rotation). The scaling component of the transform. Defaults to one (no scale adjustment).", - "summary" : "Creates a new transform.", - "title" : "init(offset:rotation:scale:)" + "rawIndexableTextContent" : "Creates a curved path point at the specified X, Y and Z coordinates. The X coordinate of the path point. The Y coordinate of the path point. The Z coordinate of the path point. An optional texture coordinate for this path point. An optional vertex color for this path point.", + "summary" : "Creates a curved path point at the specified X, Y and Z coordinates.", + "title" : "curve(_:_:_:texcoord:color:)" }, { "headings" : [ @@ -8767,45 +8801,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/cyan" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "cyan" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Return a copy of the mesh without texture coordinates. ", + "summary" : "Return a copy of the mesh without texture coordinates.", + "title" : "withoutTexcoords()" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A 3D surface made of polygons. Overview A mesh surface can be convex or concave, and can have zero volume (for example, a flat shape such as a square) but shouldn’t contain holes or exposed back-faces. The result of CSG operations on meshes that have holes or exposed back-faces is undefined.", - "summary" : "A 3D surface made of polygons.", - "title" : "Mesh" + "rawIndexableTextContent" : "Return a copy of the mesh with spherically-mapped texture coordinates. ", + "summary" : "Return a copy of the mesh with spherically-mapped texture coordinates.", + "title" : "sphereMapped()" }, { "headings" : [ @@ -8815,13 +8849,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order. The angle of rotation around the Z axis. This is applied first. The angle of rotation around the Y axis. This is applied second. The angle of rotation around the X axis. This is applied last.", + "summary" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", + "title" : "init(roll:yaw:pitch:)" }, { "headings" : [ @@ -8831,13 +8865,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Generate back faces. ", - "summary" : "Generate back faces.", - "title" : "Mesh.Faces.back" + "rawIndexableTextContent" : "Creates a vector of uniform size. The value to use for all components.", + "summary" : "Creates a vector of uniform size.", + "title" : "init(size:)" }, { "headings" : [ @@ -8847,29 +8881,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The axis of rotation. ", - "summary" : "The axis of rotation.", - "title" : "axis" + "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+=(_:_:). ", + "summary" : "Inherited from AdditiveArithmetic.+=(_:_:).", + "title" : "+=(_:_:)" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "magenta" + "rawIndexableTextContent" : "A polygon in 3D space. Overview A polygon must be composed of three or more vertices, and those vertices must all lie on the same plane. The edges of a polygon can be either convex or concave, but not self-intersecting.", + "summary" : "A polygon in 3D space.", + "title" : "Polygon" }, { "headings" : [ @@ -8879,13 +8913,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A surface normal vector, perpendicular to the plane. ", - "summary" : "A surface normal vector, perpendicular to the plane.", - "title" : "normal" + "rawIndexableTextContent" : "Texture is shrink-wrapped. ", + "summary" : "Texture is shrink-wrapped.", + "title" : "Mesh.WrapMode.shrink" }, { "headings" : [ @@ -8895,13 +8929,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A normalized direction vector pointing upwards relative to the current rotation. ", - "summary" : "A normalized direction vector pointing upwards relative to the current rotation.", - "title" : "up" + "rawIndexableTextContent" : "The angle in radians. ", + "summary" : "The angle in radians.", + "title" : "radians" }, { "headings" : [ @@ -8911,29 +8945,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Returns the sum of two quaternion rotations. ", + "summary" : "Returns the sum of two quaternion rotations.", + "title" : "+(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the dot-product of this vector and another. The vector with which to compute the dot product. Return Value The dot product of the two vectors.", - "summary" : "Computes the dot-product of this vector and another.", - "title" : "dot(_:)" + "rawIndexableTextContent" : "The green component of the color. ", + "summary" : "The green component of the color.", + "title" : "g" }, { "headings" : [ @@ -8943,13 +8977,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a vector with its components multiplied by the specified value. ", - "summary" : "Returns a vector with its components multiplied by the specified value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Creates an angle representing the trigonometric arc cosine of the value you provide. The cosine value to use to calculate the angle.", + "summary" : "Creates an angle representing the trigonometric arc cosine of the value you provide.", + "title" : "acos(_:)" }, { "headings" : [ @@ -8975,13 +9009,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Flip the direction of the line segment ", - "summary" : "Flip the direction of the line segment", - "title" : "inverted()" + "rawIndexableTextContent" : "The default face generation behavior. Context-dependent. ", + "summary" : "The default face generation behavior. Context-dependent.", + "title" : "Mesh.Faces.default" }, { "headings" : [ @@ -8991,29 +9025,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Return Wavefront OBJ string data for the mesh. ", + "summary" : "Return Wavefront OBJ string data for the mesh.", + "title" : "objString()" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this color into the given encoder. The encoder to write data to.", - "summary" : "Encodes this color into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "An axially-aligned bounding box in 3D space. Overview Used for efficient intersection elimination between more complex shapes.", + "summary" : "An axially-aligned bounding box in 3D space.", + "title" : "Bounds" }, { "headings" : [ @@ -9023,13 +9057,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The position of the center of the polygon. ", - "summary" : "The position of the center of the polygon.", - "title" : "center" + "rawIndexableTextContent" : "Returns the angle between this vector and another. The vector to compare with.", + "summary" : "Returns the angle between this vector and another.", + "title" : "angle(with:)" }, { "headings" : [ @@ -9039,7 +9073,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4" }, "type" : "topLevelPage" }, @@ -9049,35 +9083,35 @@ }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a path point from a vertex. The vertex to create the point from.", - "summary" : "Creates a path point from a vertex.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Returns a Boolean value that indicates whether the specified point lies on the line segment. The point to test. Return Value true if the point lies on the line segment and false otherwise.", + "summary" : "Returns a Boolean value that indicates whether the specified point lies on the line segment.", + "title" : "containsPoint(_:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-6176" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Computes the convex hull of a set of points. Discussion Parameters points: An set of points to compute the hull around. material: An optional material to apply to the mesh.", + "summary" : "Computes the convex hull of a set of points.", + "title" : "convexHull(of:material:)" }, { "headings" : [ @@ -9087,13 +9121,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -9103,13 +9137,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new line by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new line by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Creates a quaternion from an axis and angle. A vector defining the axis of rotation. The angle of rotation around the axis.", + "summary" : "Creates a quaternion from an axis and angle.", + "title" : "init(axis:angle:)" }, { "headings" : [ @@ -9119,13 +9153,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", - "summary" : "Inherited from Comparable...<(_:_:).", - "title" : "..<(_:_:)" + "rawIndexableTextContent" : "All vector components are zero (or close to zero) in length. ", + "summary" : "All vector components are zero (or close to zero) in length.", + "title" : "isZero" }, { "headings" : [ @@ -9135,13 +9169,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the componentwise difference between two vectors. ", - "summary" : "Returns the componentwise difference between two vectors.", - "title" : "-(_:_:)" + "rawIndexableTextContent" : "An empty path. ", + "summary" : "An empty path.", + "title" : "empty" }, { "headings" : [ @@ -9151,13 +9185,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-5mcqw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ @@ -9167,77 +9201,77 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the mesh with cylindrically-mapped texture coordinates. ", - "summary" : "Return a copy of the mesh with cylindrically-mapped texture coordinates.", - "title" : "cylinderMapped()" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "Computes the trigonometric sine of an angle. The angle to calculate the sine for. Return Value The trigonometric sine of the angle.", + "summary" : "Computes the trigonometric sine of an angle.", + "title" : "sin(_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a copy of the mesh with the new material applied to all polygons. ", - "summary" : "Returns a copy of the mesh with the new material applied to all polygons.", - "title" : "withMaterial(_:)" + "rawIndexableTextContent" : "Merges coplanar polygons that share one or more edges, provided the result will be convex. Return Value A new mesh containing the merged polygons.", + "summary" : "Merges coplanar polygons that share one or more edges, provided the result will be convex.", + "title" : "detriangulate()" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a bounds from a collection of points. A collection of points that the bounds contains.", - "summary" : "Creates a bounds from a collection of points.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "The bounds of all the path’s points. ", + "summary" : "The bounds of all the path’s points.", + "title" : "bounds" }, { "headings" : [ @@ -9247,62 +9281,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion from a rotation matrix. A rotation matrix.", - "summary" : "Creates a quaternion from a rotation matrix.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion from raw component values. ", - "summary" : "Creates a quaternion from raw component values.", - "title" : "init(_:_:_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the distance between a point and the plane. The point to compare with. Return Value The distance between the point and the plane. The value is positive if the point lies in front of the plane, and negative if behind.", - "summary" : "Returns the distance between a point and the plane.", - "title" : "distance(from:)" + "rawIndexableTextContent" : "The points that make up the corners of the bounds. ", + "summary" : "The points that make up the corners of the bounds.", + "title" : "corners" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Efficiently gets the difference between multiple meshes. Return Value A new mesh representing the difference between the meshes. Discussion Parameters meshes: An ordered collection of meshes. All but the first will be subtracted from the first. isCancelled: Callback used to cancel the operation.", - "summary" : "Efficiently gets the difference between multiple meshes.", - "title" : "difference(_:isCancelled:)" + "rawIndexableTextContent" : "Angle representing a full rotation. ", + "summary" : "Angle representing a full rotation.", + "title" : "twoPi" }, { "headings" : [ @@ -9312,29 +9345,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Create a color from RGB values and optional alpha component The red component of the color, from 0 to 1. The green component of the color, from 0 to 1. The blue component of the color, from 0 to 1. The alpha component of the color. Defaults to 1 (fully opaque)", - "summary" : "Create a color from RGB values and optional alpha component", - "title" : "init(_:_:_:_:)" + "rawIndexableTextContent" : "The angle of rotation. ", + "summary" : "The angle of rotation.", + "title" : "angle" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.type.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the sum of two quaternion rotations. ", - "summary" : "Returns the sum of two quaternion rotations.", - "title" : "+(_:_:)" + "rawIndexableTextContent" : "Creates a new mesh that is the combination of the polygons from all the specified meshes. The meshes to merge. Return Value A new mesh that includes all polygons from all meshes. Discussion No attempt is made to deduplicate or join meshes. Polygons are neither split nor removed.", + "summary" : "Creates a new mesh that is the combination of the polygons from all the specified meshes.", + "title" : "merge(_:)" }, { "headings" : [ @@ -9344,13 +9378,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Creates a copy of the color updated with the specified alpha. ", + "summary" : "Creates a copy of the color updated with the specified alpha.", + "title" : "withAlpha(_:)" }, { "headings" : [ @@ -9360,13 +9394,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a vector of uniform size. The value to use for all components.", - "summary" : "Creates a vector of uniform size.", - "title" : "init(size:)" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -9376,13 +9410,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounding box containing the line segment. ", - "summary" : "The bounding box containing the line segment.", - "title" : "bounds" + "rawIndexableTextContent" : "The surface normal of the vertex, used to calculate lighting. Set this to zero if you want the normal to be calculated automatically from the polygon face normal. ", + "summary" : "The surface normal of the vertex, used to calculate lighting. Set this to zero if you want the normal to be calculated automatically from the polygon face normal.", + "title" : "normal" }, { "headings" : [ @@ -9392,7 +9426,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)" }, "type" : "topLevelPage" }, @@ -9408,13 +9442,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-21ah6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", - "summary" : "Returns a transformed copy of the value.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ @@ -9424,13 +9458,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "black" + "rawIndexableTextContent" : "Creates a rotation around the Y axis. The angle to rotate by.", + "summary" : "Creates a rotation around the Y axis.", + "title" : "yaw(_:)" }, { "headings" : [ @@ -9440,13 +9474,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "The distinct (disconnected) submeshes that make up the mesh. ", + "summary" : "The distinct (disconnected) submeshes that make up the mesh.", + "title" : "submeshes" }, { "headings" : [ @@ -9456,13 +9490,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "green" + "rawIndexableTextContent" : "Create a color from RGB values and optional alpha component The red component of the color, from 0 to 1. The green component of the color, from 0 to 1. The blue component of the color, from 0 to 1. The alpha component of the color. Defaults to 1 (fully opaque)", + "summary" : "Create a color from RGB values and optional alpha component", + "title" : "init(_:_:_:_:)" }, { "headings" : [ @@ -9472,13 +9506,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/roundedRectangle(width:height:radius:detail:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a closed square path. The width and height of the square. An optional Color to apply to the path’s points.", - "summary" : "Creates a closed square path.", - "title" : "square(size:color:)" + "rawIndexableTextContent" : "Creates a rounded rectangle path. The width of the rectangle. The height of the rectangle. The corner radius, The number of line segments used to approximate each corner curve. An optional Color to apply to the path’s points.", + "summary" : "Creates a rounded rectangle path.", + "title" : "roundedRectangle(width:height:radius:detail:color:)" }, { "headings" : [ @@ -9488,13 +9522,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the reverse (aka transpose) rotation. ", - "summary" : "Returns the reverse (aka transpose) rotation.", - "title" : "-(_:)" + "rawIndexableTextContent" : "Creates a offset transform. An offset distance.", + "summary" : "Creates a offset transform.", + "title" : "offset(_:)" }, { "headings" : [ @@ -9504,29 +9538,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/gray" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the perpendicular distance of the line from a specified point. The point to compare. Return Value The absolute perpendicular distance between the point and line.", - "summary" : "Returns the perpendicular distance of the line from a specified point.", - "title" : "distance(from:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "gray" }, { "headings" : [ @@ -9536,13 +9570,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-5bh7b" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a bounds from two SceneKit vectors. A tuple of two SCNVector3 that represent opposite corners of the bounding box volume.", - "summary" : "Creates a bounds from two SceneKit vectors.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -9552,13 +9586,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", - "summary" : "Scale the value in place.", - "title" : "scale(by:)" + "rawIndexableTextContent" : "Creates a new transform by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new transform by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ @@ -9568,29 +9602,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle in degrees. ", - "summary" : "The angle in degrees.", - "title" : "degrees" + "rawIndexableTextContent" : "Encodes this line into the given encoder. The encoder to write data to.", + "summary" : "Encodes this line into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -9600,13 +9634,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Creates a new angle by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new angle by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ @@ -9616,45 +9650,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An unordered set of polygon edges. The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons. ", - "summary" : "An unordered set of polygon edges. The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", - "title" : "undirectedEdges" + "rawIndexableTextContent" : "Creates a new path by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new path by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a line segment with a start and end point. The start of the line segment. The end of the line segment.", - "summary" : "Creates a line segment with a start and end point.", - "title" : "init(start:end:)" + "rawIndexableTextContent" : "An array of vertices suitable for constructing a set of edge polygons for the path. The wrap mode to use for generating texture coordinates. Return Value The edge vertices, or an empty array if path has subpaths.", + "summary" : "An array of vertices suitable for constructing a set of edge polygons for the path.", + "title" : "edgeVertices(for:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates if the specified point is within the bounds. The point to compare. Return Value true if the point lies inside the bounds, and false otherwise.", - "summary" : "Returns a Boolean value that indicates if the specified point is within the bounds.", - "title" : "containsPoint(_:)" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -9664,13 +9698,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "All vector components are one (or close to one) in length. ", + "summary" : "All vector components are one (or close to one) in length.", + "title" : "isOne" }, { "headings" : [ @@ -9680,29 +9714,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Combines two rotations to get the cumulative rotation. ", - "summary" : "Combines two rotations to get the cumulative rotation.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Encodes this color into the given encoder. The encoder to write data to.", + "summary" : "Encodes this color into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.type.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Divides the components of the vector by the specified value. ", - "summary" : "Divides the components of the vector by the specified value.", - "title" : "\/=(_:_:)" + "rawIndexableTextContent" : "Efficiently XORs multiple meshes. Return Value A new mesh representing the XOR of the meshes. Discussion Parameters meshes: A collection of meshes to be XORed. isCancelled: Callback used to cancel the operation", + "summary" : "Efficiently XORs multiple meshes.", + "title" : "symmetricDifference(_:isCancelled:)" }, { "headings" : [ @@ -9712,93 +9747,93 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this transform into the given encoder. The encoder to write data to.", - "summary" : "Encodes this transform into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "A Boolean value that indicates whether the mesh includes texture coordinates. ", + "summary" : "A Boolean value that indicates whether the mesh includes texture coordinates.", + "title" : "hasTexcoords" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", - "summary" : "Inherited from Comparable.>=(_:_:).", - "title" : ">=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Callback used to cancel a long-running operation. Return Value true if operation should be cancelled, or false otherwise.", - "summary" : "Callback used to cancel a long-running operation.", - "title" : "Mesh.CancellationHandler" + "rawIndexableTextContent" : "Creates a uniform scale transform. A uniform scale factor to apply.", + "summary" : "Creates a uniform scale transform.", + "title" : "scale(_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A plane located at the origin, aligned with the X and Z axes. ", - "summary" : "A plane located at the origin, aligned with the X and Z axes.", - "title" : "xz" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Material used by a given polygon. This can be any type that conforms to Hashable, but encoding\/decoding is only supported for the following types: Color, String, Int, Data or any NSSecureCodable type. ", - "summary" : "Material used by a given polygon. This can be any type that conforms to Hashable, but encoding\/decoding is only supported for the following types: Color, String, Int, Data or any NSSecureCodable type.", - "title" : "Polygon.Material" + "rawIndexableTextContent" : "Returns a Boolean value that indicates whether the lines intersect. The line to compare with. Return Value true if the lines intersect and false otherwise.", + "summary" : "Returns a Boolean value that indicates whether the lines intersect.", + "title" : "intersects(_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Clip polygon to the specified plane The plane to clip the polygon to. Return Value An array of the polygon fragments that lie in front of the plane.", - "summary" : "Clip polygon to the specified plane", - "title" : "clip(to:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -9808,30 +9843,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Loads a mesh from a file using any format supported by SceneKit, with optional material mapping. The URL of the file to be loaded. Should node transforms from the input file be ignored. An optional closure to map the SceneKit materials to Euclid materials. If omitted, the SCNMaterial will be directly used as the mesh material.", - "summary" : "Loads a mesh from a file using any format supported by SceneKit, with optional material mapping.", - "title" : "init(url:ignoringTransforms:materialLookup:)" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", + "summary" : "Inherited from Comparable...<(_:).", + "title" : "..<(_:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.type.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Efficiently XORs multiple meshes. Return Value A new mesh representing the XOR of the meshes. Discussion Parameters meshes: A collection of meshes to be XORed. isCancelled: Callback used to cancel the operation", - "summary" : "Efficiently XORs multiple meshes.", - "title" : "symmetricDifference(_:isCancelled:)" + "rawIndexableTextContent" : "The size or scale component of the transform. ", + "summary" : "The size or scale component of the transform.", + "title" : "scale" }, { "headings" : [ @@ -9841,13 +9875,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The texture wrapping mode to use when generating a mesh. ", - "summary" : "The texture wrapping mode to use when generating a mesh.", - "title" : "Mesh.WrapMode" + "rawIndexableTextContent" : "Creates a new vertex. The position of the vertex in 3D space. The surface normal for the vertex (defaults to zero). The optional texture coordinates for the vertex (defaults to zero). The optional vertex color (defaults to white).", + "summary" : "Creates a new vertex.", + "title" : "init(_:_:_:_:)" }, { "headings" : [ @@ -9857,29 +9891,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Multiplies the angle by a numeric value. ", + "summary" : "Multiplies the angle by a numeric value.", + "title" : "*=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a vector from a CoreGraphics CGPoint. the CoreGraphics point.", - "summary" : "Creates a vector from a CoreGraphics CGPoint.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ @@ -9889,109 +9923,109 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A vector of length 1 along the Z axis. ", - "summary" : "A vector of length 1 along the Z axis.", - "title" : "unitZ" + "rawIndexableTextContent" : "The square of the length of the vector. This is less expensive to compute than the length itself. ", + "summary" : "The square of the length of the vector. This is less expensive to compute than the length itself.", + "title" : "lengthSquared" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", - "summary" : "Inherited from Comparable....(_:_:).", - "title" : "...(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a color from a luminance value and optional alpha component. The luminance value, from 0 to 1. The alpha component. Defaults to 1 (fully opaque)", - "summary" : "Creates a color from a luminance value and optional alpha component.", - "title" : "init(_:_:)" + "rawIndexableTextContent" : "A Boolean value that indicates whether the mesh is watertight, meaning that every edge is attached to two polygons (or a multiple of two). Discussion A value of true doesn’t guarantee that mesh is not self-intersecting or inside-out.", + "summary" : "A Boolean value that indicates whether the mesh is watertight, meaning that every edge is attached to two polygons (or a multiple of two).", + "title" : "isWatertight" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The quaternion W component. ", - "summary" : "The quaternion W component.", - "title" : "w" + "rawIndexableTextContent" : "An array of the subpaths that make up the path. Discussion For paths without nested subpaths, this will return an array containing only self.", + "summary" : "An array of the subpaths that make up the path.", + "title" : "subpaths" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new transform by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new transform by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Splits a polygon into two or more convex polygons using the “ear clipping” method. The maximum number of sides each polygon may have. Return Value An array of convex polygons.", + "summary" : "Splits a polygon into two or more convex polygons using the “ear clipping” method.", + "title" : "tessellate(maxSides:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", - "summary" : "Inherited from Comparable.>(_:_:).", - "title" : ">(_:_:)" + "rawIndexableTextContent" : "Returns a Boolean value that indicates whether the specified point lies on the line. The point to test. Return Value true if the point lies on the line and false otherwise.", + "summary" : "Returns a Boolean value that indicates whether the specified point lies on the line.", + "title" : "containsPoint(_:)" }, { "headings" : [ @@ -10001,29 +10035,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The minimum coordinate of the bounds. ", - "summary" : "The minimum coordinate of the bounds.", - "title" : "min" + "rawIndexableTextContent" : "An infinite 2D plane in 3D space. ", + "summary" : "An infinite 2D plane in 3D space.", + "title" : "Plane" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.type.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The total length of the path. ", - "summary" : "The total length of the path.", - "title" : "length" + "rawIndexableTextContent" : "Efficiently computes the intersection of multiple meshes. Return Value A new mesh representing the intersection of the meshes. Discussion Parameters meshes: A collection of meshes to be intersected. isCancelled: Callback used to cancel the operation.", + "summary" : "Efficiently computes the intersection of multiple meshes.", + "title" : "intersection(_:isCancelled:)" }, { "headings" : [ @@ -10033,29 +10068,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+(_:). ", - "summary" : "Inherited from AdditiveArithmetic.+(_:).", - "title" : "+(_:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -10065,13 +10100,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "Reduces the bounds to contain just the intersection of itself and the specified bounds. The bounds with which to intersect.", + "summary" : "Reduces the bounds to contain just the intersection of itself and the specified bounds.", + "title" : "formIntersection(_:)" }, { "headings" : [ @@ -10081,13 +10116,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a composite mesh from an array of submeshes. An array of meshes.", - "summary" : "Creates a composite mesh from an array of submeshes.", - "title" : "init(submeshes:)" + "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", + "summary" : "Inherited from Comparable.>(_:_:).", + "title" : ">(_:_:)" }, { "headings" : [ @@ -10097,13 +10132,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the sum of two angles. ", - "summary" : "Returns the sum of two angles.", - "title" : "+(_:_:)" + "rawIndexableTextContent" : "An arbitrary point on the line selected as the origin. ", + "summary" : "An arbitrary point on the line selected as the origin.", + "title" : "origin" }, { "headings" : [ @@ -10113,45 +10148,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean indicating whether the point is curved or sharp. ", - "summary" : "A Boolean indicating whether the point is curved or sharp.", - "title" : "isCurved" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A polygon in 3D space. Overview A polygon must be composed of three or more vertices, and those vertices must all lie on the same plane. The edges of a polygon can be either convex or concave, but not self-intersecting.", - "summary" : "A polygon in 3D space.", - "title" : "Polygon" + "rawIndexableTextContent" : "A finite line segment in 3D space. ", + "summary" : "A finite line segment in 3D space.", + "title" : "LineSegment" }, { "headings" : [ @@ -10161,13 +10196,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "Creates a mesh by extruding a path along its face normal. The path to extrude in order to create the mesh. The depth of the extrusion. Angular twist to apply along the extrusion. Number of sections to create along extrusion. The direction of the generated polygon faces. The optional material for the mesh.", + "summary" : "Creates a mesh by extruding a path along its face normal.", + "title" : "extrude(_:depth:twist:sections:faces:material:)" }, { "headings" : [ @@ -10177,13 +10212,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounding box containing the polygon. ", - "summary" : "The bounding box containing the polygon.", - "title" : "bounds" + "rawIndexableTextContent" : "A Boolean value that indicates whether the polygon includes texture coordinates. ", + "summary" : "A Boolean value that indicates whether the polygon includes texture coordinates.", + "title" : "hasTexcoords" }, { "headings" : [ @@ -10193,13 +10228,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An infinite 2D plane in 3D space. ", - "summary" : "An infinite 2D plane in 3D space.", - "title" : "Plane" + "rawIndexableTextContent" : "Creates a transform from a SceneKit transform matrix. The SCNMatrix4 from which to determine the transform.", + "summary" : "Creates a transform from a SceneKit transform matrix.", + "title" : "init(_:)" }, { "headings" : [ @@ -10209,61 +10244,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An array of the subpaths that make up the path. Discussion For paths without nested subpaths, this will return an array containing only self.", - "summary" : "An array of the subpaths that make up the path.", - "title" : "subpaths" + "rawIndexableTextContent" : "Returns the product of two quaternions (i.e. the effect of rotating the left by the right). ", + "summary" : "Returns the product of two quaternions (i.e. the effect of rotating the left by the right).", + "title" : "*(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-3m9le" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new bounds that contains both the specified bounds and this one. The other bounds to be included. Return Value The combined bounds.", - "summary" : "Creates a new bounds that contains both the specified bounds and this one.", - "title" : "union(_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", + "summary" : "Inherited from Comparable...<(_:).", + "title" : "..<(_:)" }, { "headings" : [ @@ -10273,13 +10308,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(points:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-91swk" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a plane from a set of points. A set of coplanar points describing a polygon. Discussion The polygon can be convex or concave. The direction of the plane normal is based on the assumption that the points are wound in an anti-clockwise direction.", - "summary" : "Creates a plane from a set of points.", - "title" : "init(points:)" + "rawIndexableTextContent" : "Computes the convex hull of a set of line segments. Discussion Parameters edges: A set of line segments to compute the hull around. material: An optional material to apply to the mesh.", + "summary" : "Computes the convex hull of a set of line segments.", + "title" : "convexHull(of:material:)" }, { "headings" : [ @@ -10289,13 +10324,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the angle divided by a numeric denominator. ", - "summary" : "Returns the angle divided by a numeric denominator.", - "title" : "\/(_:_:)" + "rawIndexableTextContent" : "Creates a transform from the current position, scale and orientation of a SceneKit node. The SCNNode from which to determine the transform.", + "summary" : "Creates a transform from the current position, scale and orientation of a SceneKit node.", + "title" : "transform(from:)" }, { "headings" : [ @@ -10305,13 +10340,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation around the Z axis. The angle to rotate by.", - "summary" : "Creates a rotation around the Z axis.", - "title" : "roll(_:)" + "rawIndexableTextContent" : "An optional Polygon.Material associated with the polygon. ", + "summary" : "An optional Polygon.Material associated with the polygon.", + "title" : "material" }, { "headings" : [ @@ -10321,13 +10356,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the Z-axis. ", - "summary" : "The angle of rotation around the Z-axis.", - "title" : "roll" + "rawIndexableTextContent" : "Creates a closed regular polygon. The distance from the center of the polygon to each point. The number of sides on the polygon. An optional Color to apply to the path’s points.", + "summary" : "Creates a closed regular polygon.", + "title" : "polygon(radius:sides:color:)" }, { "headings" : [ @@ -10337,29 +10372,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion representing a rotation around the Z axis. The angle to rotate by.", - "summary" : "Creates a quaternion representing a rotation around the Z axis.", - "title" : "roll(_:)" + "rawIndexableTextContent" : "Creates a corner path point at the specified X, Y and Z coordinates. The X coordinate of the path point. The Y coordinate of the path point. The Z coordinate of the path point (optional - defaults to zero). An optional texture coordinate for this path point. An optional vertex color for this path point.", + "summary" : "Creates a corner path point at the specified X, Y and Z coordinates.", + "title" : "point(_:_:_:texcoord:color:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -10369,13 +10404,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new identity rotation. ", - "summary" : "Creates a new identity rotation.", - "title" : "init()" + "rawIndexableTextContent" : "Generate front faces. ", + "summary" : "Generate front faces.", + "title" : "Mesh.Faces.front" }, { "headings" : [ @@ -10385,29 +10420,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The end point of the line segment. ", - "summary" : "The end point of the line segment.", - "title" : "end" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Combines with the specified rotation. ", + "summary" : "Combines with the specified rotation.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -10417,29 +10452,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An empty bounds. ", - "summary" : "An empty bounds.", - "title" : "empty" + "rawIndexableTextContent" : "Returns whether the leftmost vector has the lower value. This provides a stable order when sorting collections of vectors. ", + "summary" : "Returns whether the leftmost vector has the lower value. This provides a stable order when sorting collections of vectors.", + "title" : "<(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The face generation policy for Euclid to use when creating a mesh. ", - "summary" : "The face generation policy for Euclid to use when creating a mesh.", - "title" : "Mesh.Faces" + "rawIndexableTextContent" : "Returns the perpendicular distance from another line to this one. The line to compare. Return Value The perpendicular distance from the other line.", + "summary" : "Returns the perpendicular distance from another line to this one.", + "title" : "distance(from:)" }, { "headings" : [ @@ -10449,13 +10484,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-85o14" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a mesh by stroking a path with the line width, detail, and material you provide. The path to stroke. The line width of the stroke. The number of sides to use for the cross-sectional shape of the stroked mesh. The optional material for the mesh.", - "summary" : "Creates a mesh by stroking a path with the line width, detail, and material you provide.", - "title" : "stroke(_:width:detail:material:isCancelled:)" + "rawIndexableTextContent" : "Returns a vector with its components multiplied by the specified value. ", + "summary" : "Returns a vector with its components multiplied by the specified value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -10465,13 +10500,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A zero-length vector. ", - "summary" : "A zero-length vector.", - "title" : "zero" + "rawIndexableTextContent" : "The angle in degrees. ", + "summary" : "The angle in degrees.", + "title" : "degrees" }, { "headings" : [ @@ -10481,29 +10516,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle in radians. ", - "summary" : "The angle in radians.", - "title" : "radians" + "rawIndexableTextContent" : "Expands this bounds (if necessary) to contain the specified bounds. The bounds to be included.", + "summary" : "Expands this bounds (if necessary) to contain the specified bounds.", + "title" : "formUnion(_:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "Returns a new mesh reprenting only the volume exclusively occupied by one shape or the other, but not both. Return Value A new mesh representing the XOR of the meshes. Discussion Parameters mesh: The mesh to be XORed with this one. isCancelled: Callback used to cancel the operation.", + "summary" : "Returns a new mesh reprenting only the volume exclusively occupied by one shape or the other, but not both.", + "title" : "symmetricDifference(_:isCancelled:)" }, { "headings" : [ @@ -10513,13 +10549,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "Creates a color from an NSColor. The NSColor to convert.", + "summary" : "Creates a color from an NSColor.", + "title" : "init(_:)" }, { "headings" : [ @@ -10529,13 +10565,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the mesh. A transform to apply to the mesh.", - "summary" : "Returns a transformed copy of the mesh.", - "title" : "transformed(by:)" + "rawIndexableTextContent" : "The angle is zero (or close to zero). ", + "summary" : "The angle is zero (or close to zero).", + "title" : "isZero" }, { "headings" : [ @@ -10545,29 +10581,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Divides the angle by a numeric denominator. ", + "summary" : "Divides the angle by a numeric denominator.", + "title" : "\/=(_:_:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-5ztum" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "Computes the convex hull of a set of path points. Discussion Parameters points: A set of path points to compute the hull around. material: An optional material to apply to the mesh. The curvature of the point is currently ignored when calculating hull surface normals.", + "summary" : "Computes the convex hull of a set of path points.", + "title" : "convexHull(of:material:)" }, { "headings" : [ @@ -10577,13 +10613,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Axis of rotation ", - "summary" : "Axis of rotation", - "title" : "axis" + "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -10593,61 +10629,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a linear path from a line segment. The LineSegment defining the path. An optional Color to apply to the path’s points.", - "summary" : "Creates a linear path from a line segment.", - "title" : "line(_:color:)" + "rawIndexableTextContent" : "Creates an angle representing the trigonometric arc sine of the value you provide. The sine value to use to calculate the angle.", + "summary" : "Creates an angle representing the trigonometric arc sine of the value you provide.", + "title" : "asin(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Returns the product of a numeric multiplier and an angle. ", + "summary" : "Returns the product of a numeric multiplier and an angle.", + "title" : "*(_:_:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "yellow" + "rawIndexableTextContent" : "The face normal for the path. Discussion If path is non-planar then this returns an average\/approximate normal.", + "summary" : "The face normal for the path.", + "title" : "faceNormal" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A Boolean value that indicates whether the mesh includes vertex normals that differ from the face normal. ", - "summary" : "A Boolean value that indicates whether the mesh includes vertex normals that differ from the face normal.", - "title" : "hasVertexNormals" + "rawIndexableTextContent" : "Performs a spherical linear interpolation between two rotations. The rotation to interpolate towards. The normalized extent of interpolation, from 0 to 1. Return Value The interpolated rotation.", + "summary" : "Performs a spherical linear interpolation between two rotations.", + "title" : "slerp(_:_:)" }, { "headings" : [ @@ -10657,13 +10693,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a spherical mesh. The radius of the sphere. The number of vertical slices that make up the sphere. The number of horizontal stacks that make up the sphere. Optionally add extra detail around poles to prevent texture warping The direction the polygon faces. The way that texture coordinates are calculated for the sphere. The optional material for the mesh.", - "summary" : "Creates a spherical mesh.", - "title" : "sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)" + "rawIndexableTextContent" : "A vector of length 1 along the Z axis. ", + "summary" : "A vector of length 1 along the Z axis.", + "title" : "unitZ" }, { "headings" : [ @@ -10673,13 +10709,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A plane located at the origin, aligned with the X and Y axes. ", - "summary" : "A plane located at the origin, aligned with the X and Y axes.", - "title" : "xy" + "rawIndexableTextContent" : "Protocol for transformable types. ", + "summary" : "Protocol for transformable types.", + "title" : "Transformable" }, { "headings" : [ @@ -10689,7 +10725,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Equatable-Implementations" }, "type" : "topLevelPage" }, @@ -10705,77 +10741,77 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:font:width:detail:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an array of glyph contours from a string and font you provide. The text to convert. The font to use for the text. The optional width at which to line-wrap the text. The number line segments used to approximate glyph curves.", - "summary" : "Creates an array of glyph contours from a string and font you provide.", - "title" : "text(_:font:width:detail:)" + "rawIndexableTextContent" : "Returns a transformed copy of the mesh. A transform to apply to the mesh.", + "summary" : "Returns a transformed copy of the mesh.", + "title" : "transformed(by:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-4hvi3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the convex hull of a set of paths. Discussion Parameters paths: A set of paths to compute the hull around. material: An optional material to apply to the mesh.", - "summary" : "Computes the convex hull of a set of paths.", - "title" : "convexHull(of:material:)" + "rawIndexableTextContent" : "Use default alignment heuristic for the given path. ", + "summary" : "Use default alignment heuristic for the given path.", + "title" : "Path.Alignment.default" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Comparable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Comparable Implementations" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "The angle of rotation around the Z-axis. ", + "summary" : "The angle of rotation around the Z-axis.", + "title" : "roll" }, { "headings" : [ @@ -10785,29 +10821,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", - "summary" : "Transform the value in place.", - "title" : "transform(by:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Returns a vector with its components multiplied by the specified value. ", + "summary" : "Returns a vector with its components multiplied by the specified value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -10817,13 +10853,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", - "summary" : "Returns a rotated copy of the value.", - "title" : "rotated(by:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -10833,13 +10869,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Supported NSSecureCodable Material base classes. ", - "summary" : "Supported NSSecureCodable Material base classes.", - "title" : "codableClasses" + "rawIndexableTextContent" : "Creates a new vector by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new vector by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ @@ -10849,13 +10885,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Merges this polygon with another, removing redundant vertices where possible. The polygon to merge with. A Boolean indicating is the resultant polygon must be convex. Return Value The combined polygon, or nil if the polygons can’t be merged.", - "summary" : "Merges this polygon with another, removing redundant vertices where possible.", - "title" : "merge(_:ensureConvex:)" + "rawIndexableTextContent" : "Computes the dot-product of this vector and another. The vector with which to compute the dot product. Return Value The dot product of the two vectors.", + "summary" : "Computes the dot-product of this vector and another.", + "title" : "dot(_:)" }, { "headings" : [ @@ -10865,13 +10901,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+(_:). ", + "summary" : "Inherited from AdditiveArithmetic.+(_:).", + "title" : "+(_:)" }, { "headings" : [ @@ -10881,13 +10917,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns whether the leftmost angle has the lower value. ", - "summary" : "Returns whether the leftmost angle has the lower value.", - "title" : "<(_:_:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -10897,13 +10933,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a mesh by extruding a path along its face normal. The path to extrude in order to create the mesh. The depth of the extrusion. Angular twist to apply along the extrusion. Number of sections to create along extrusion. The direction of the generated polygon faces. The optional material for the mesh.", - "summary" : "Creates a mesh by extruding a path along its face normal.", - "title" : "extrude(_:depth:twist:sections:faces:material:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" + }, + { + "headings" : [ + "Return Value" + ], + "kind" : "symbol", + "location" : { + "reference" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-rksk" + }, + "type" : "topLevelPage" + }, + "rawIndexableTextContent" : "Returns the nearest point on the specified line to the vector (representing a position in space). The line to project onto. Return Value The nearest point in 3D space that lies on the line.", + "summary" : "Returns the nearest point on the specified line to the vector (representing a position in space).", + "title" : "project(onto:)" }, { "headings" : [ @@ -10913,11 +10965,11 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", "summary" : "Returns a scaled copy of the value.", "title" : "scaled(by:)" }, @@ -10929,29 +10981,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a vector with its components multiplied by the specified value. ", - "summary" : "Returns a vector with its components multiplied by the specified value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Returns the difference between two quaternion rotations,. ", + "summary" : "Returns the difference between two quaternion rotations,.", + "title" : "-(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-79olr" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the point of intersection between a line and a plane. The Line to compare with. Return Value The point of intersection between the line and plane, or nil if they are parallel.", - "summary" : "Computes the point of intersection between a line and a plane.", - "title" : "intersection(with:)" + "rawIndexableTextContent" : "The starting point of the line segment. ", + "summary" : "The starting point of the line segment.", + "title" : "start" }, { "headings" : [ @@ -10961,29 +11013,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Multiplies the quaternion rotation on the left by the one on the right. ", - "summary" : "Multiplies the quaternion rotation on the left by the one on the right.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Returns a new mesh that retains the shape of the receiver, but with the intersecting area colored using material from the parameter. Return Value A new mesh representing the result of stencilling. Discussion Parameters mesh: The mesh to be stencilled onto this one. isCancelled: Callback used to cancel the operation.", + "summary" : "Returns a new mesh that retains the shape of the receiver, but with the intersecting area colored using material from the parameter.", + "title" : "stencil(_:isCancelled:)" }, { "headings" : [ @@ -10993,13 +11046,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Protocol for transformable types. ", - "summary" : "Protocol for transformable types.", - "title" : "Transformable" + "rawIndexableTextContent" : "Returns the flip-side of the plane. ", + "summary" : "Returns the flip-side of the plane.", + "title" : "inverted()" }, { "headings" : [ @@ -11009,29 +11062,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-21ah6" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation transform. A rotation to apply.", - "summary" : "Creates a rotation transform.", - "title" : "rotation(_:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Computes the cross-product of this vector and another. The vector with which to compute the cross product. Return Value Returns a vector that is orthogonal to the two vectors used to compute the cross product.", - "summary" : "Computes the cross-product of this vector and another.", - "title" : "cross(_:)" + "rawIndexableTextContent" : "Creates a bounds from a collection of points. A collection of points that the bounds contains.", + "summary" : "Creates a bounds from a collection of points.", + "title" : "init(_:)" }, { "headings" : [ @@ -11041,29 +11094,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Returns the ordered array of polygon edges. ", + "summary" : "Returns the ordered array of polygon edges.", + "title" : "orderedEdges" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Creates a new bounds that contains both the specified bounds and this one. The other bounds to be included. Return Value The combined bounds.", + "summary" : "Creates a new bounds that contains both the specified bounds and this one.", + "title" : "union(_:)" }, { "headings" : [ @@ -11073,29 +11126,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+(_:). ", - "summary" : "Inherited from AdditiveArithmetic.+(_:).", - "title" : "+(_:)" + "rawIndexableTextContent" : "Creates a new identity rotation. ", + "summary" : "Creates a new identity rotation.", + "title" : "init()" }, { "headings" : [ - + "Overview" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "A color in RGBA format. Overview Color can be used as a material or as a color.", + "summary" : "A color in RGBA format.", + "title" : "Color" }, { "headings" : [ @@ -11105,62 +11158,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "orange" + "rawIndexableTextContent" : "Indicates whether all the path’s points lie on a single plane. ", + "summary" : "Indicates whether all the path’s points lie on a single plane.", + "title" : "isPlanar" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/split(along:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Split the mesh along a plane. The Plane to split the mesh along. Return Value A pair of meshes representing the parts in front of and behind the plane respectively. Discussion If the plane and mesh do not intersect, one of the returned meshes will be nil.", - "summary" : "Split the mesh along a plane.", - "title" : "split(along:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", + "summary" : "Inherited from Comparable....(_:_:).", + "title" : "...(_:_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "Creates a cylindrical mesh. The radius of the cylinder. The height of the cylinder. The number of vertical slices that make up the cylinder. Optionally add extra detail around poles to prevent texture warping. The direction of the generated polygon faces. The way that texture coordinates are calculated for the cylinder. The optional material for the mesh.", + "summary" : "Creates a cylindrical mesh.", + "title" : "cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Returns the normalized quaternion. Return Value The normalized quaternion (with a length of 1) or zero if the length is 0.", + "summary" : "Returns the normalized quaternion.", + "title" : "normalized()" }, { "headings" : [ @@ -11170,13 +11222,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "The polygons in the mesh, grouped by material. ", + "summary" : "The polygons in the mesh, grouped by material.", + "title" : "polygonsByMaterial" }, { "headings" : [ @@ -11186,13 +11238,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -11202,13 +11254,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Returns a new vertex with the normal inverted. ", + "summary" : "Returns a new vertex with the normal inverted.", + "title" : "inverted()" }, { "headings" : [ @@ -11218,49 +11270,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform has no effect. ", - "summary" : "Transform has no effect.", - "title" : "isIdentity" + "rawIndexableTextContent" : "The angle of rotation around the X-axis. ", + "summary" : "The angle of rotation around the X-axis.", + "title" : "pitch" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "init(cgPath:detail:color:)" + "rawIndexableTextContent" : "Computes the point of intersection between a line segment and a plane. The LineSegment to compare with. Return Value The point of intersection between the line segment and plane, or nil if they do not intersect.", + "summary" : "Computes the point of intersection between a line segment and a plane.", + "title" : "intersection(with:)" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/facePolygons(material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns one or more polygons needed to fill the path. An optional Polygon.Material to apply to the polygons. Return Value An array of polygons needed to fill the path, or an empty array if path is not closed. Discussion Polygon normals are calculated automatically based on the curvature of the path points. If the path points do not include textcoords, they will be calculated automatically based on the path point positions relative to the bounding rectangle of the path.", - "summary" : "Returns one or more polygons needed to fill the path.", - "title" : "facePolygons(material:)" + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -11270,13 +11318,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Returns whether the leftmost line segment has the lower value. This provides a stable order when sorting collections of line segments. ", + "summary" : "Returns whether the leftmost line segment has the lower value. This provides a stable order when sorting collections of line segments.", + "title" : "<(_:_:)" }, { "headings" : [ @@ -11286,29 +11334,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Material used by a given polygon. This can be any type that conforms to Hashable, but encoding\/decoding is only supported for the following types: Color, String, Int, Data or any NSSecureCodable type. ", + "summary" : "Material used by a given polygon. This can be any type that conforms to Hashable, but encoding\/decoding is only supported for the following types: Color, String, Int, Data or any NSSecureCodable type.", + "title" : "Polygon.Material" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Returns a quaternion with its components multiplied by the specified value. ", + "summary" : "Returns a quaternion with its components multiplied by the specified value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -11318,13 +11366,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the X-axis. ", - "summary" : "The angle of rotation around the X-axis.", - "title" : "pitch" + "rawIndexableTextContent" : "Creates a bounds from a collection of bounds. A collection of existing bounds that the bounds contains.", + "summary" : "Creates a bounds from a collection of bounds.", + "title" : "init(_:)" }, { "headings" : [ @@ -11334,45 +11382,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounds of the mesh. ", - "summary" : "The bounds of the mesh.", - "title" : "bounds" + "rawIndexableTextContent" : "The unique polygon edges in the mesh. The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons. ", + "summary" : "The unique polygon edges in the mesh. The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", + "title" : "uniqueEdges" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates whether the lines intersect. The line to compare with. Return Value true if the lines intersect and false otherwise.", - "summary" : "Returns a Boolean value that indicates whether the lines intersect.", - "title" : "intersects(_:)" + "rawIndexableTextContent" : "Returns a rotated copy of the value. A rotation to apply to the value.", + "summary" : "Returns a rotated copy of the value.", + "title" : "rotated(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detessellate()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new mesh by decoding from the given decoder. The decoder to read data from.", - "summary" : "Creates a new mesh by decoding from the given decoder.", - "title" : "init(from:)" + "rawIndexableTextContent" : "Merges any coplanar polygons that share one or more edges. Return Value A new mesh containing the merged (possibly non-convex) polygons.", + "summary" : "Merges any coplanar polygons that share one or more edges.", + "title" : "detessellate()" }, { "headings" : [ @@ -11382,13 +11430,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -11398,13 +11446,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-8q2nt" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", - "summary" : "Inherited from Comparable.<=(_:_:).", - "title" : "<=(_:_:)" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -11414,13 +11462,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new vertex from a position with default values for normal, texcoord and color. The position of the vertex in 3D space.", - "summary" : "Creates a new vertex from a position with default values for normal, texcoord and color.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Return ASCII STL string data for the mesh. ", + "summary" : "Return ASCII STL string data for the mesh.", + "title" : "stlString(name:)" }, { "headings" : [ @@ -11430,13 +11478,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -11446,13 +11494,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", - "summary" : "Returns a translated copy of the value.", - "title" : "translated(by:)" + "rawIndexableTextContent" : "A Boolean value that indicates whether the mesh includes vertex colors. ", + "summary" : "A Boolean value that indicates whether the mesh includes vertex colors.", + "title" : "hasVertexColors" }, { "headings" : [ @@ -11462,13 +11510,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Cropped and flattened version of path suitable for lathing around the Y axis. ", + "summary" : "Cropped and flattened version of path suitable for lathing around the Y axis.", + "title" : "latheProfile" }, { "headings" : [ @@ -11478,48 +11526,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.type.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "xor(_:isCancelled:)" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Performs a spherical interpolation between two quaternions. A quaternion to interpolate with. The normalized extent of interpolation, from 0 to 1. Return Value The interpolated quaternion.", - "summary" : "Performs a spherical interpolation between two quaternions.", - "title" : "slerp(_:_:)" + "rawIndexableTextContent" : "Returns a translated copy of the value. An offset vector to apply to the value.", + "summary" : "Returns a translated copy of the value.", + "title" : "translated(by:)" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/roundedRectangle(width:height:radius:detail:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rounded rectangle path. The width of the rectangle. The height of the rectangle. The corner radius, The number of line segments used to approximate each corner curve. An optional Color to apply to the path’s points.", - "summary" : "Creates a rounded rectangle path.", - "title" : "roundedRectangle(width:height:radius:detail:color:)" + "rawIndexableTextContent" : "A 3D surface made of polygons. Overview A mesh surface can be convex or concave, and can have zero volume (for example, a flat shape such as a square) but shouldn’t contain holes or exposed back-faces. The result of CSG operations on meshes that have holes or exposed back-faces is undefined.", + "summary" : "A 3D surface made of polygons.", + "title" : "Mesh" }, { "headings" : [ @@ -11529,13 +11574,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-1l9u5" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -11545,13 +11590,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a quaternion with its components multiplied by the specified value. ", - "summary" : "Returns a quaternion with its components multiplied by the specified value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -11561,13 +11606,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", - "summary" : "Rotate the value in place.", - "title" : "rotate(by:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "intersect(_:isCancelled:)" }, { "headings" : [ @@ -11577,13 +11625,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The starting point of the line segment. ", - "summary" : "The starting point of the line segment.", - "title" : "start" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "clear" }, { "headings" : [ @@ -11593,13 +11641,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Euclid Quaternion from a SceneKit quaternion. The SCNQuaternion to convert.", - "summary" : "Creates a Euclid Quaternion from a SceneKit quaternion.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -11609,13 +11657,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A common protocol for objects that have a bounds. ", - "summary" : "A common protocol for objects that have a bounds.", - "title" : "Bounded" + "rawIndexableTextContent" : "A vector of length 1 along the Y axis. ", + "summary" : "A vector of length 1 along the Y axis.", + "title" : "unitY" }, { "headings" : [ @@ -11625,11 +11673,11 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "rawIndexableTextContent" : "Returns a scaled copy of the value. A uniform scale factor to apply to the value.", "summary" : "Returns a scaled copy of the value.", "title" : "scaled(by:)" }, @@ -11641,13 +11689,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The surface normal of the vertex, used to calculate lighting. Set this to zero if you want the normal to be calculated automatically from the polygon face normal. ", - "summary" : "The surface normal of the vertex, used to calculate lighting. Set this to zero if you want the normal to be calculated automatically from the polygon face normal.", - "title" : "normal" + "rawIndexableTextContent" : "Creates a new polygon by decoding from the given decoder. The decoder to read data from.", + "summary" : "Creates a new polygon by decoding from the given decoder.", + "title" : "init(from:)" }, { "headings" : [ @@ -11657,45 +11705,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Decodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Encodable Implementations" - }, - { - "headings" : [ - "Return Value" - ], - "kind" : "symbol", - "location" : { - "reference" : { - "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p" - }, - "type" : "topLevelPage" - }, - "rawIndexableTextContent" : "Returns a Boolean value that indicates if the bounds intersects the specified plane. The plane to compare. Return Value true if the plane intersects the bounds, and false otherwise.", - "summary" : "Returns a Boolean value that indicates if the bounds intersects the specified plane.", - "title" : "intersects(_:)" + "title" : "Decodable Implementations" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the point where the specified plane intersects the line. The plane to compare with. Return Value The point of intersection, or nil if the line and plane are parallel (don’t intersect).", - "summary" : "Returns the point where the specified plane intersects the line.", - "title" : "intersection(with:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -11705,13 +11737,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/max(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-8q2nt" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new vector representing the maximum of the components of the two vectors. ", - "summary" : "Returns a new vector representing the maximum of the components of the two vectors.", - "title" : "max(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", + "summary" : "Inherited from Comparable.<=(_:_:).", + "title" : "<=(_:_:)" }, { "headings" : [ @@ -11721,29 +11753,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+=(_:_:). ", - "summary" : "Inherited from AdditiveArithmetic.+=(_:_:).", - "title" : "+=(_:_:)" + "rawIndexableTextContent" : "Creates a rotation from a quaternion. A quaternion defining a rotation.", + "summary" : "Creates a rotation from a quaternion.", + "title" : "init(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "A vector of length 1 along the X axis. ", + "summary" : "A vector of length 1 along the X axis.", + "title" : "unitX" }, { "headings" : [ @@ -11774,29 +11806,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:)" - }, - "type" : "topLevelPage" - }, - "rawIndexableTextContent" : "Efficiently strokes a collection of line segments (useful for drawing wireframes). A collection of LineSegment to stroke. The line width of the strokes. The number of sides to use for the cross-sectional shape of the stroked mesh. The optional material for the mesh.", - "summary" : "Efficiently strokes a collection of line segments (useful for drawing wireframes).", - "title" : "stroke(_:width:detail:material:)" - }, - { - "headings" : [ - - ], - "kind" : "symbol", - "location" : { - "reference" : { - "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the reverse quaternion rotation. ", - "summary" : "Returns the reverse quaternion rotation.", - "title" : "-(_:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ @@ -11806,29 +11822,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The array of points that makes up this path. ", - "summary" : "The array of points that makes up this path.", - "title" : "points" + "rawIndexableTextContent" : "Encodes this mesh into the given encoder. The encoder to write data to.", + "summary" : "Encodes this mesh into the given encoder.", + "title" : "encode(to:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this bounds into the given encoder. The encoder to write data to.", - "summary" : "Encodes this bounds into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "Creates a circular arc. The angular span of the arc, measured clockwise from vertical. Defaults to pi (180 degrees). The distance from the center of the arc to each point used to approximate its shape. The number of line segments used to approximate the circle. An optional Color to apply to the path’s points. Discussion Because the arc is approximated using line segments, its radius is not uniform. The radius specified is the outer radius, i.e. the radius at the end points.", + "summary" : "Creates a circular arc.", + "title" : "arc(angle:radius:segments:color:)" }, { "headings" : [ @@ -11838,29 +11854,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Equatable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Encodable Implementations" - }, - { - "headings" : [ - - ], - "kind" : "symbol", - "location" : { - "reference" : { - "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a" - }, - "type" : "topLevelPage" - }, - "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", - "summary" : "Inherited from Comparable.>(_:_:).", - "title" : ">(_:_:)" + "title" : "Equatable Implementations" }, { "headings" : [ @@ -11870,29 +11870,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The quaternion Y component. ", - "summary" : "The quaternion Y component.", - "title" : "y" + "rawIndexableTextContent" : "Returns a transformed copy of the value. A transform to apply to the value.", + "summary" : "Returns a transformed copy of the value.", + "title" : "transformed(by:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Linearly interpolates between two path points. The path point to interpolate with. The normalized extent of interpolation, from 0 to 1. Return Value A new path point at the interpolated position.", + "summary" : "Linearly interpolates between two path points.", + "title" : "lerp(_:_:)" }, { "headings" : [ @@ -11902,13 +11902,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "Loads a mesh from a file using any format supported by SceneKit, with optional material mapping. The URL of the file to be loaded. Should node transforms from the input file be ignored. An optional closure to map the SceneKit materials to Euclid materials. If omitted, the SCNMaterial will be directly used as the mesh material.", + "summary" : "Loads a mesh from a file using any format supported by SceneKit, with optional material mapping.", + "title" : "init(url:ignoringTransforms:materialLookup:)" }, { "headings" : [ @@ -11918,13 +11918,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The blue component of the color. ", - "summary" : "The blue component of the color.", - "title" : "b" + "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", + "summary" : "Returns a scaled copy of the value.", + "title" : "scaled(by:)" }, { "headings" : [ @@ -11934,13 +11934,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Encodes this line into the given encoder. The encoder to write data to.", - "summary" : "Encodes this line into the given encoder.", - "title" : "encode(to:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -11950,13 +11950,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "The angle of rotation around the Z-axis. ", + "summary" : "The angle of rotation around the Z-axis.", + "title" : "roll" }, { "headings" : [ @@ -11966,13 +11966,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a scaled copy of the value. A vector scale factor to apply to the value.", - "summary" : "Returns a scaled copy of the value.", - "title" : "scaled(by:)" + "rawIndexableTextContent" : "Creates a color from a luminance value and optional alpha component. The luminance value, from 0 to 1. The alpha component. Defaults to 1 (fully opaque)", + "summary" : "Creates a color from a luminance value and optional alpha component.", + "title" : "init(_:_:)" }, { "headings" : [ @@ -11982,12 +11982,12 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:along:twist:align:faces:material:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a mesh by extruding one path along another path. The shape to extrude into a mesh. The path along which to extrude the shape. Angular twist to apply along the extrusion. The alignment mode to use for the extruded shape. The direction of the generated polygon faces. The optional material for the mesh.", - "summary" : "Creates a mesh by extruding one path along another path.", - "title" : "extrude(_:along:twist:align:faces:material:isCancelled:)" + "rawIndexableTextContent" : "Creates a new vector from a CoreGraphics size. the CoreGraphics size.", + "summary" : "Creates a new vector from a CoreGraphics size.", + "title" : "init(_:)" } ] \ No newline at end of file diff --git a/docs/linkable-entities.json b/docs/linkable-entities.json index 951b33f2..39f48134 100644 --- a/docs/linkable-entities.json +++ b/docs/linkable-entities.json @@ -1,8 +1,26 @@ [ + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/bounded-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds" + ], + "title" : "Instance Properties" + } + ], + "title" : "Bounded Implementations" + }, { "abstract" : [ { - "text" : "Creates a transform from a SceneKit transform matrix.", + "text" : "The bounding box containing the line segment.", "type" : "text" } ], @@ -12,31 +30,35 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@SCNMatrix4", - "text" : "SCNMatrix4" + "kind" : "identifier", + "text" : "bounds" }, { "kind" : "text", - "text" : ")" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/init(_:)-83oy3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3", + "path" : "\/documentation\/euclid\/linesegment\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid9TransformVyACSo13CATransform3DVcfc" + "title" : "bounds", + "usr" : "s:6Euclid11LineSegmentV6boundsAA6BoundsVvp" }, { "availableLanguages" : [ @@ -45,41 +67,43 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "intersect" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "kind" : "identifier", + "text" : "<=" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "isCancelled" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "text" : "Self" }, { "kind" : "text", @@ -87,27 +111,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/intersect(_:iscancelled:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)", + "path" : "\/documentation\/euclid\/angle\/_=(_:_:)-375to", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to", "taskGroups" : [ ], - "title" : "intersect(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV9intersect_11isCancelledA2C_SbyXEtF" + "title" : "<=(_:_:)", + "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Creates a new plane by decoding from the given decoder.", "type" : "text" } ], @@ -117,15 +138,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "transform" + "text" : "init" }, { "kind" : "text", @@ -133,7 +146,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -141,28 +154,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)", + "path" : "\/documentation\/euclid\/plane\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "init(from:)", + "usr" : "s:6Euclid5PlaneV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "The angle of rotation.", "type" : "text" } ], @@ -172,7 +189,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -180,15 +197,7 @@ }, { "kind" : "identifier", - "text" : "scale" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "angle" }, { "kind" : "text", @@ -196,28 +205,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/scale(by:)-677dp", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp", + "path" : "\/documentation\/euclid\/quaternion\/angle", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "angle", + "usr" : "s:6Euclid10QuaternionV5angleAA5AngleVvp" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Merges this polygon with another, removing redundant vertices where possible.", "type" : "text" } ], @@ -235,15 +240,24 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "merge" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "by" + "text" : "ensureConvex" }, { "kind" : "text", @@ -251,8 +265,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" }, { "kind" : "text", @@ -260,24 +274,46 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/scaled(by:)-20sq4", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4", + "path" : "\/documentation\/euclid\/polygon\/merge(_:ensureconvex:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6VertexV6scaled2byAcA6VectorV_tF" + "title" : "merge(_:ensureConvex:)", + "usr" : "s:6Euclid7PolygonV5merge_12ensureConvexACSgAC_SbtF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/bounded-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Bounded-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds" + ], + "title" : "Instance Properties" + } + ], + "title" : "Bounded Implementations" }, { "abstract" : [ { - "text" : "Encodes this quaternion into the given encoder.", + "text" : "Encodes this path into the given encoder.", "type" : "text" } ], @@ -325,18 +361,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)", + "path" : "\/documentation\/euclid\/path\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)", "taskGroups" : [ ], "title" : "encode(to:)", - "usr" : "s:6Euclid10QuaternionV6encode2toys7Encoder_p_tKF" + "usr" : "s:6Euclid4PathV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Creates a polygon from an array of vertices.", "type" : "text" } ], @@ -346,23 +382,24 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?([" }, { - "kind" : "identifier", - "text" : "rotated" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", - "text" : "(" + "text" : "], " }, { "kind" : "externalParam", - "text" : "by" + "text" : "material" }, { "kind" : "text", @@ -370,59 +407,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)", + "path" : "\/documentation\/euclid\/polygon\/init(_:material:)-9mns5", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid9TransformV7rotated2byAcA8RotationV_tF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "init(_:material:)", + "usr" : "s:6Euclid7PolygonV_8materialACSgSayAA6VertexVG_s11AnyHashableVSgtcfc" }, { "abstract" : [ { - "text" : "Creates a ", - "type" : "text" - }, - { - "code" : "Rotation", - "type" : "codeVoice" - }, - { - "text" : " from a simd quaternion.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -432,39 +438,53 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "transformed" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@SA@simd_quatd", - "text" : "simd_quatd" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(_:)-7j4ql", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql", + "path" : "\/documentation\/euclid\/vector\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid8RotationVyACSo10simd_quatdacfc" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { - "abstract" : [ - { - "text" : "Divides the angle by a numeric denominator.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -487,7 +507,7 @@ }, { "kind" : "identifier", - "text" : "\/=" + "text" : "!=" }, { "kind" : "text", @@ -498,46 +518,41 @@ "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/\/=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)", + "path" : "\/documentation\/euclid\/rotation\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)", "taskGroups" : [ ], - "title" : "\/=(_:_:)", - "usr" : "s:6Euclid5AngleV2deoiyyACz_SdtFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid8RotationV" }, { "abstract" : [ { - "text" : "Returns a new bounds inset by the specified amount.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -555,7 +570,7 @@ }, { "kind" : "identifier", - "text" : "inset" + "text" : "transform" }, { "kind" : "text", @@ -571,96 +586,75 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/inset(by:)-4gk62", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62", + "path" : "\/documentation\/euclid\/transformable\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)", "taskGroups" : [ ], - "title" : "inset(by:)", - "usr" : "s:6Euclid6BoundsV5inset2byACSd_tF" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF" }, { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "abstract" : [ { - "kind" : "keyword", - "text" : "static" + "text" : "Creates a ", + "type" : "text" }, { - "kind" : "text", - "text" : " " + "code" : "Quaternion", + "type" : "codeVoice" }, + { + "text" : " from a simd quaternion.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "white" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@SA@simd_quatd", + "text" : "simd_quatd" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/white", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white", + "path" : "\/documentation\/euclid\/quaternion\/init(_:)-27eol", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-27eol", "taskGroups" : [ ], - "title" : "white", - "usr" : "s:6Euclid5ColorV5whiteACvpZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/hashable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Hashable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Hashable Implementations" + "title" : "init(_:)", + "usr" : "s:6Euclid10QuaternionVyACSo10simd_quatdacfc" }, { "abstract" : [ { - "text" : "The angle is zero (or close to zero).", + "text" : "Creates an angle from a degrees value.", "type" : "text" } ], @@ -670,7 +664,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -678,32 +680,41 @@ }, { "kind" : "identifier", - "text" : "isZero" + "text" : "degrees" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/iszero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero", + "path" : "\/documentation\/euclid\/angle\/degrees(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)", "taskGroups" : [ ], - "title" : "isZero", - "usr" : "s:6Euclid5AngleV6isZeroSbvp" + "title" : "degrees(_:)", + "usr" : "s:6Euclid5AngleV7degreesyACSdFZ" }, { "abstract" : [ { - "text" : "Linearly interpolate between this vector and another.", + "text" : "Returns the point where the specified plane intersects the line segment.", "type" : "text" } ], @@ -721,25 +732,24 @@ }, { "kind" : "identifier", - "text" : "lerp" + "text" : "intersection" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "with" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", @@ -749,22 +759,26 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/lerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/intersection(with:)-1tffl", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl", "taskGroups" : [ ], - "title" : "lerp(_:_:)", - "usr" : "s:6Euclid6VectorV4lerpyA2C_SdtF" + "title" : "intersection(with:)", + "usr" : "s:6Euclid11LineSegmentV12intersection4withAA6VectorVSgAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Angle representing a quarter rotation.", + "text" : "Encodes this angle into the given encoder.", "type" : "text" } ], @@ -774,23 +788,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "encode" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "halfPi" + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", @@ -798,24 +812,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/halfpi", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi", + "path" : "\/documentation\/euclid\/angle\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)", "taskGroups" : [ ], - "title" : "halfPi", - "usr" : "s:6Euclid5AngleV6halfPiACvpZ" + "title" : "encode(to:)", + "usr" : "s:6Euclid5AngleV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Creates a new mesh that is the combination of the polygons from all the specified meshes.", + "text" : "Creates an axis-aligned cubical mesh.", "type" : "text" } ], @@ -841,28 +863,96 @@ }, { "kind" : "identifier", - "text" : "merge" + "text" : "cube" }, { "kind" : "text", - "text" : "<" + "text" : "(" }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "externalParam", + "text" : "center" }, { "kind" : "text", - "text" : ">(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5mergeyACxSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "size" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "faces" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "wrapMode" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", + "text" : "WrapMode" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?) -> " }, { "kind" : "typeIdentifier", @@ -872,18 +962,18 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/merge(_:)-swift.type.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.type.method", + "path" : "\/documentation\/euclid\/mesh\/cube(center:size:faces:wrapmode:material:)-eado", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-eado", "taskGroups" : [ ], - "title" : "merge(_:)", - "usr" : "s:6Euclid4MeshV5mergeyACxSlRzAC7ElementRtzlFZ" + "title" : "cube(center:size:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV4cube6center4size5faces8wrapMode8materialAcA6VectorV_SdAC5FacesOAC04WrapH0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Smooth vertex normals for corners with angles greater (more obtuse) than the specified threshold.", + "text" : "A normalized direction vector pointing upwards relative to the current rotation.", "type" : "text" } ], @@ -893,7 +983,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -901,15 +991,7 @@ }, { "kind" : "identifier", - "text" : "smoothingNormals" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "forAnglesGreaterThan" + "text" : "up" }, { "kind" : "text", @@ -917,30 +999,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/smoothingnormals(foranglesgreaterthan:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)", + "path" : "\/documentation\/euclid\/rotation\/up", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up", "taskGroups" : [ ], - "title" : "smoothingNormals(forAnglesGreaterThan:)", - "usr" : "s:6Euclid4MeshV16smoothingNormals20forAnglesGreaterThanAcA5AngleV_tF" + "title" : "up", + "usr" : "s:6Euclid8RotationV2upAA6VectorVvp" }, { + "abstract" : [ + { + "text" : "Combines two rotations to get the cumulative rotation.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -963,7 +1042,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "*" }, { "kind" : "text", @@ -975,7 +1054,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -983,7 +1063,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -991,24 +1072,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)", + "path" : "\/documentation\/euclid\/rotation\/*(_:_:)-55zcf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4LineV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid8RotationV1moiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "A finite line segment in 3D space.", + "text" : "A normalized direction vector pointing rightwards relative to the current rotation.", "type" : "text" } ], @@ -1018,7 +1099,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "var" }, { "kind" : "text", @@ -1026,74 +1107,71 @@ }, { "kind" : "identifier", - "text" : "LineSegment" + "text" : "right" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.structure", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment", + "path" : "\/documentation\/euclid\/rotation\/right", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right", "taskGroups" : [ + + ], + "title" : "right", + "usr" : "s:6Euclid8RotationV5rightAA6VectorVvp" + }, + { + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)" - ], - "title" : "Creating Line Segments" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction" - ], - "title" : "Line Segment Properties" - }, + "text" : "Creates a vector from an array of coordinates.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-2u7vo", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)" - ], - "title" : "Comparing Line Segments" + "kind" : "keyword", + "text" : "init" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()" - ], - "title" : "Transforming Line Segments" + "kind" : "text", + "text" : "([" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)" - ], - "title" : "Initializers" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Bounded-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Comparable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Transformable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "text", + "text" : "])" } ], - "title" : "LineSegment", - "usr" : "s:6Euclid11LineSegmentV" + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/init(_:)-63ct7", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACSaySdGcfc" }, { "abstract" : [ { - "text" : "Creates a uniform scale transform.", + "text" : "Returns one or more polygons needed to fill the path.", "type" : "text" } ], @@ -1103,57 +1181,70 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "facePolygons" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "scale" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : ") -> " + "text" : "." }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?) -> [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : "]" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scale(_:)-7a30s", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s", + "path" : "\/documentation\/euclid\/path\/facepolygons(material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/facePolygons(material:)", "taskGroups" : [ ], - "title" : "scale(_:)", - "usr" : "s:6Euclid9TransformV5scaleyACSdFZ" + "title" : "facePolygons(material:)", + "usr" : "s:6Euclid4PathV12facePolygons8materialSayAA7PolygonVGs11AnyHashableVSg_tF" }, { "abstract" : [ { - "text" : "Creates an axis-aligned cubical mesh.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -1161,14 +1252,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -1179,7 +1262,7 @@ }, { "kind" : "identifier", - "text" : "cube" + "text" : "scale" }, { "kind" : "text", @@ -1187,7 +1270,7 @@ }, { "kind" : "externalParam", - "text" : "center" + "text" : "by" }, { "kind" : "text", @@ -1195,33 +1278,54 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ", " - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/pathpoint\/scale(by:)-4egi6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6", + "taskGroups" : [ + + ], + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid9PathPointV" + }, + { + "abstract" : [ { - "kind" : "externalParam", - "text" : "size" + "text" : "Scale the value in place.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "faces" + "text" : "by" }, { "kind" : "text", @@ -1229,67 +1333,75 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "wrapMode" - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/transformable\/scale(by:)-89xwv", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv", + "taskGroups" : [ + + ], + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " + "text" : "Creates a ", + "type" : "text" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "code" : "Vector", + "type" : "codeVoice" }, { - "kind" : "text", - "text" : ", " - }, + "text" : " from a simd vector 3.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "material" + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "c:@T@simd_double3", + "text" : "simd_double3" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cube(center:size:faces:wrapmode:material:)-eado", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-eado", + "path" : "\/documentation\/euclid\/vector\/init(_:)-5n3j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j", "taskGroups" : [ ], - "title" : "cube(center:size:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV4cube6center4size5faces8wrapMode8materialAcA6VectorV_SdAC5FacesOAC04WrapH0Os11AnyHashableVSgtFZ" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACs5SIMD3VySdGcfc" }, { "abstract" : [ { - "text" : "The translation or position component of the transform.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -1299,7 +1411,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -1307,7 +1419,15 @@ }, { "kind" : "identifier", - "text" : "offset" + "text" : "transform" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -1315,24 +1435,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/offset", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset", + "path" : "\/documentation\/euclid\/transform\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)", "taskGroups" : [ ], - "title" : "offset", - "usr" : "s:6Euclid9TransformV6offsetAA6VectorVvp" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Creates a closed circular path.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -1342,31 +1466,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "translated" }, { "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "circle" - }, - { - "kind" : "text", - "text" : "(" + "text" : "(" }, { "kind" : "externalParam", - "text" : "radius" + "text" : "by" }, { "kind" : "text", @@ -1374,101 +1490,120 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "segments" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)", + "taskGroups" : [ + + ], + "title" : "translated(by:)", + "usr" : "s:6Euclid6VectorV10translated2byA2C_tF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "A normalized direction vector pointing forwards relative to the current rotation.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "color" + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "kind" : "identifier", + "text" : "forward" }, { "kind" : "text", - "text" : "?) -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/circle(radius:segments:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)", + "path" : "\/documentation\/euclid\/rotation\/forward", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward", "taskGroups" : [ ], - "title" : "circle(radius:segments:color:)", - "usr" : "s:6Euclid4PathV6circle6radius8segments5colorACSd_SiAA5ColorVSgtFZ" + "title" : "forward", + "usr" : "s:6Euclid8RotationV7forwardAA6VectorVvp" }, { - "abstract" : [ - { - "text" : "A closure that maps a Euclid material to an STL facet color.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "STLColorProvider" + "kind" : "externalParam", + "text" : "polygon" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeAlias", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stlcolorprovider", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider", + "path" : "\/documentation\/euclid\/path\/init(polygon:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)", "taskGroups" : [ ], - "title" : "Mesh.STLColorProvider", - "usr" : "s:6Euclid4MeshV16STLColorProvidera" + "title" : "init(polygon:)", + "usr" : "s:6Euclid4PathV7polygonAcA7PolygonV_tcfc" }, { "abstract" : [ { - "text" : "Returns the angle between this vector and the specified plane.", + "text" : "Creates a sphere by subdividing an icosahedron.", "type" : "text" } ], @@ -1476,6 +1611,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -1486,7 +1629,7 @@ }, { "kind" : "identifier", - "text" : "angle" + "text" : "icosahedron" }, { "kind" : "text", @@ -1494,7 +1637,7 @@ }, { "kind" : "externalParam", - "text" : "with" + "text" : "radius" }, { "kind" : "text", @@ -1502,59 +1645,49 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "faces" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/angle(with:)-9sfg1", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1", - "taskGroups" : [ - - ], - "title" : "angle(with:)", - "usr" : "s:6Euclid6VectorV5angle4withAA5AngleVAA5PlaneV_tF" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" + }, { - "text" : "An optional ", - "type" : "text" + "kind" : "text", + "text" : ", " }, { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", - "isActive" : true, - "type" : "reference" + "kind" : "externalParam", + "text" : "wrapMode" }, { - "text" : " associated with the polygon.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", + "text" : "WrapMode" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", + "kind" : "externalParam", "text" : "material" }, { @@ -1563,28 +1696,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", "text" : "Material" }, { "kind" : "text", - "text" : "?" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/material-swift.property", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property", + "path" : "\/documentation\/euclid\/mesh\/icosahedron(radius:faces:wrapmode:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/icosahedron(radius:faces:wrapMode:material:)", "taskGroups" : [ ], - "title" : "material", - "usr" : "s:6Euclid7PolygonV8materials11AnyHashableVSgvp" + "title" : "icosahedron(radius:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV11icosahedron6radius5faces8wrapMode8materialACSd_AC5FacesOAC04WrapG0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Replace\/remove path point colors.", + "text" : "Adds the quaternion rotation on the right to the one on the left.", "type" : "text" } ], @@ -1592,6 +1730,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -1602,41 +1748,76 @@ }, { "kind" : "identifier", - "text" : "withColor" + "text" : "+=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : "?) -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/withcolor(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)", + "path" : "\/documentation\/euclid\/quaternion\/+=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)", "taskGroups" : [ ], - "title" : "withColor(_:)", - "usr" : "s:6Euclid4PathV9withColoryAcA0D0VSgF" + "title" : "+=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2peoiyyACz_ACtFZ" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether the two bounds intersect.", + "text" : "Display the 3D shapes you created with meshes.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.article", + "language" : "swift", + "path" : "\/documentation\/euclid\/renderingmeshes", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes", + "taskGroups" : [ + + ], + "title" : "Rendering Meshes" + }, + { + "abstract" : [ + { + "text" : "Returns a quaternion with its components divided by the specified value.", "type" : "text" } ], @@ -1644,6 +1825,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -1654,7 +1843,11 @@ }, { "kind" : "identifier", - "text" : "intersects" + "text" : "\/" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -1662,8 +1855,17 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -1671,24 +1873,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/intersects(_:)-95v17", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17", + "path" : "\/documentation\/euclid\/quaternion\/\/(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)", "taskGroups" : [ ], - "title" : "intersects(_:)", - "usr" : "s:6Euclid6BoundsV10intersectsySbACF" + "title" : "\/(_:_:)", + "usr" : "s:6Euclid10QuaternionV1doiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Expands this bounds (if necessary) to contain the specified bounds.", + "text" : "Returns the componentwise sum of two vectors.", "type" : "text" } ], @@ -1696,6 +1898,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -1706,7 +1916,11 @@ }, { "kind" : "identifier", - "text" : "formUnion" + "text" : "+" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -1714,106 +1928,87 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/formunion(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)", + "path" : "\/documentation\/euclid\/vector\/+(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)", "taskGroups" : [ ], - "title" : "formUnion(_:)", - "usr" : "s:6Euclid6BoundsV9formUnionyyACF" + "title" : "+(_:_:)", + "usr" : "s:6Euclid6VectorV1poiyA2C_ACtFZ" }, { - "abstract" : [ - { - "text" : "Computes the dot-product of this quaternion and another.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "dot" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "kind" : "identifier", + "text" : "green" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/dot(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)", + "path" : "\/documentation\/euclid\/color\/green", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green", "taskGroups" : [ ], - "title" : "dot(_:)", - "usr" : "s:6Euclid10QuaternionV3dotySdACF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" + "title" : "green", + "usr" : "s:6Euclid5ColorV5greenACvpZ" }, { "abstract" : [ { - "text" : "Returns a new mesh reprenting only the volume exclusively occupied by", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "one shape or the other, but not both.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -1831,24 +2026,15 @@ }, { "kind" : "identifier", - "text" : "symmetricDifference" + "text" : "rotated" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - }, - { - "kind" : "text", - "text" : ", " - }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "by" }, { "kind" : "text", @@ -1856,8 +2042,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -1865,24 +2051,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/symmetricdifference(_:iscancelled:)-swift.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.method", + "path" : "\/documentation\/euclid\/plane\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)", "taskGroups" : [ ], - "title" : "symmetricDifference(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledA2C_SbyXEtF" + "title" : "rotated(by:)", + "usr" : "s:6Euclid5PlaneV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Creates a new color by decoding from the given decoder.", "type" : "text" } ], @@ -1892,15 +2078,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotate" + "text" : "init" }, { "kind" : "text", @@ -1908,7 +2086,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -1916,84 +2094,97 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/rotate(by:)-93ypi", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi", + "path" : "\/documentation\/euclid\/color\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(from:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "init(from:)", + "usr" : "s:6Euclid5ColorV4fromACs7Decoder_p_tKcfc" }, { - "abstract" : [ - { - "text" : "Creates a mesh from a SceneKit geometry, with optional material mapping.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNGeometry", - "text" : "SCNGeometry" - }, + "kind" : "keyword", + "text" : "func" + }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "materialLookup" + "kind" : "identifier", + "text" : ">=" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV16MaterialProvidera", - "text" : "MaterialProvider" + "text" : "Self" }, { "kind" : "text", - "text" : "?)" + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:materiallookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)", + "path" : "\/documentation\/euclid\/vector\/_=(_:_:)-9s7pp", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp", "taskGroups" : [ ], - "title" : "init(_:materialLookup:)", - "usr" : "s:6Euclid4MeshV_14materialLookupACSgSo11SCNGeometryC_s11AnyHashableVSgSo11SCNMaterialCcSgtcfc" + "title" : ">=(_:_:)", + "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "A closure that maps a SceneKit material to a Euclid material.", + "text" : "Computes a set of edges where the polygon intersects a plane.", "type" : "text" } ], @@ -2003,7 +2194,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "func" }, { "kind" : "text", @@ -2011,84 +2202,62 @@ }, { "kind" : "identifier", - "text" : "MaterialProvider" - } - ], - "kind" : "org.swift.docc.kind.typeAlias", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/materialprovider", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider", - "taskGroups" : [ - - ], - "title" : "Mesh.MaterialProvider", - "usr" : "s:6Euclid4MeshV16MaterialProvidera" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Decodable-Implementations", - "taskGroups" : [ + "text" : "edges" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" - }, - { - "abstract" : [ + "kind" : "text", + "text" : "(" + }, { - "text" : "Splits all polygons in the mesh into triangles.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "externalParam", + "text" : "intersecting" + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : " " + "text" : ") -> " }, { - "kind" : "identifier", - "text" : "triangulate" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sh", + "text" : "Set" }, { "kind" : "text", - "text" : "() -> " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + }, + { + "kind" : "text", + "text" : ">" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/triangulate()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()", + "path" : "\/documentation\/euclid\/polygon\/edges(intersecting:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)", "taskGroups" : [ ], - "title" : "triangulate()", - "usr" : "s:6Euclid4MeshV11triangulateACyF" + "title" : "edges(intersecting:)", + "usr" : "s:6Euclid7PolygonV5edges12intersectingShyAA11LineSegmentVGAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -2106,7 +2275,7 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "translate" }, { "kind" : "text", @@ -2122,33 +2291,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)", + "path" : "\/documentation\/euclid\/pathpoint\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid11LineSegmentV7rotated2byAcA8RotationV_tF" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Return a copy of the mesh with transformed texture coordinates.", + "text" : "The maximum coordinate of the bounds.", "type" : "text" } ], @@ -2158,7 +2322,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -2166,41 +2330,32 @@ }, { "kind" : "identifier", - "text" : "withTextureTransform" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "max" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/withtexturetransform(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)", + "path" : "\/documentation\/euclid\/bounds\/max", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max", "taskGroups" : [ ], - "title" : "withTextureTransform(_:)", - "usr" : "s:6Euclid4MeshV20withTextureTransformyAcA0E0VF" + "title" : "max", + "usr" : "s:6Euclid6BoundsV3maxAA6VectorVvp" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Returns the product of an angle and numeric multiplier.", "type" : "text" } ], @@ -2238,7 +2393,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -2246,8 +2402,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -2255,23 +2411,24 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)", + "path" : "\/documentation\/euclid\/angle\/*(_:_:)-8l78z", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z", "taskGroups" : [ ], "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4PathV" + "usr" : "s:6Euclid5AngleV1moiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Encodes this path point into the given encoder.", + "text" : "The center of the bounds. If the bounds is empty this will return the zero vector.", "type" : "text" } ], @@ -2281,7 +2438,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -2289,15 +2446,7 @@ }, { "kind" : "identifier", - "text" : "encode" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "to" + "text" : "center" }, { "kind" : "text", @@ -2305,32 +2454,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)", + "path" : "\/documentation\/euclid\/bounds\/center", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid9PathPointV6encode2toys7Encoder_p_tKF" + "title" : "center", + "usr" : "s:6Euclid6BoundsV6centerAA6VectorVvp" }, { "abstract" : [ { - "text" : "The rotation or orientation component of the transform.", + "text" : "Returns a vector with its components divided by the specified value.", "type" : "text" } ], @@ -2340,62 +2481,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "rotation" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/rotation", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation", - "taskGroups" : [ - - ], - "title" : "rotation", - "usr" : "s:6Euclid9TransformV8rotationAA8RotationVvp" - }, - { - "abstract" : [ - { - "text" : "Creates an Angle from a degrees value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "identifier", + "text" : "\/" + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "degrees" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", @@ -2404,23 +2523,28 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/init(degrees:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(degrees:)", + "path" : "\/documentation\/euclid\/vector\/\/(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)", "taskGroups" : [ ], - "title" : "init(degrees:)", - "usr" : "s:6Euclid5AngleV7degreesACSd_tcfc" + "title" : "\/(_:_:)", + "usr" : "s:6Euclid6VectorV1doiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Creates a new path by decoding from the given decoder.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -2430,48 +2554,68 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "*" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)", + "path" : "\/documentation\/euclid\/mesh\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid4PathV4fromACs7Decoder_p_tKcfc" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -2489,7 +2633,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "transform" }, { "kind" : "text", @@ -2505,8 +2649,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -2515,18 +2659,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/rotate(by:)-622p8", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8", + "path" : "\/documentation\/euclid\/vector\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "The color of the path point (optional).", + "text" : "Clip polygon to the specified plane", "type" : "text" } ], @@ -2536,7 +2680,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -2544,7 +2688,15 @@ }, { "kind" : "identifier", - "text" : "color" + "text" : "clip" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", @@ -2552,28 +2704,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : "?" + "text" : ") -> [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/color", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color", + "path" : "\/documentation\/euclid\/polygon\/clip(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)", "taskGroups" : [ ], - "title" : "color", - "usr" : "s:6Euclid9PathPointV5colorAA5ColorVSgvp" + "title" : "clip(to:)", + "usr" : "s:6Euclid7PolygonV4clip2toSayACGAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Creates a color from an array of component values.", + "text" : "Align extruded cross-sections with the X, Y or Z axis", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "(whichever is most perpendicular to the extrusion path).", "type" : "text" } ], @@ -2583,36 +2752,31 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "case" }, { "kind" : "text", - "text" : "?([" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : " " }, { - "kind" : "text", - "text" : "])" + "kind" : "identifier", + "text" : "axis" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(_:)-53lhy", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-53lhy", + "path" : "\/documentation\/euclid\/path\/alignment\/axis", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid5ColorVyACSgSaySdGcfc" + "title" : "Path.Alignment.axis", + "usr" : "s:6Euclid4PathV9AlignmentO4axisyA2EmF" }, { "abstract" : [ { - "text" : "Generate both the front and back faces.", + "text" : "Removes hairline cracks by inserting additional vertices without altering the shape.", "type" : "text" } ], @@ -2622,7 +2786,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "func" }, { "kind" : "text", @@ -2630,49 +2794,52 @@ }, { "kind" : "identifier", - "text" : "frontAndBack" + "text" : "makeWatertight" + }, + { + "kind" : "text", + "text" : "() -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/frontandback", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack", + "path" : "\/documentation\/euclid\/mesh\/makewatertight()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()", "taskGroups" : [ ], - "title" : "Mesh.Faces.frontAndBack", - "usr" : "s:6Euclid4MeshV5FacesO12frontAndBackyA2EmF" + "title" : "makeWatertight()", + "usr" : "s:6Euclid4MeshV14makeWatertightACyF" }, { - "abstract" : [ - { - "text" : "Returns a scaled copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "scaled" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "black" }, { "kind" : "text", @@ -2680,51 +2847,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/scaled(by:)-7e3o7", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7", + "path" : "\/documentation\/euclid\/color\/black", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid9PathPointV6scaled2byACSd_tF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Decodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" + "title" : "black", + "usr" : "s:6Euclid5ColorV5blackACvpZ" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "The angle of rotation around the Y-axis.", "type" : "text" } ], @@ -2734,7 +2874,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -2742,15 +2882,7 @@ }, { "kind" : "identifier", - "text" : "rotated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "yaw" }, { "kind" : "text", @@ -2758,33 +2890,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)", + "path" : "\/documentation\/euclid\/rotation\/yaw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid9PathPointV7rotated2byAcA8RotationV_tF" + "title" : "yaw", + "usr" : "s:6Euclid8RotationV3yawAA5AngleVvp" }, { "abstract" : [ { - "text" : "The plane upon which all path points lie. Will be nil for non-planar paths.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -2794,7 +2917,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "struct" }, { "kind" : "text", @@ -2802,83 +2925,111 @@ }, { "kind" : "identifier", - "text" : "plane" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : "?" + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/plane", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane", + "path" : "\/documentation\/euclid\/quaternion", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion", "taskGroups" : [ - - ], - "title" : "plane", - "usr" : "s:6Euclid4PathV5planeAA5PlaneVSgvp" - }, - { - "abstract" : [ { - "text" : "Creates a ", - "type" : "text" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-27eol", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw(_:)" + ], + "title" : "Creating Quaternions" }, { - "code" : "Vector", - "type" : "codeVoice" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity" + ], + "title" : "Default Quaternions" }, { - "text" : " from a simd vector 3.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity" + ], + "title" : "Quaternion Properties" + }, { - "kind" : "keyword", - "text" : "init" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()" + ], + "title" : "Computing Quaternions" }, { - "kind" : "text", - "text" : "(" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)" + ], + "title" : "Interpolating Quaternions" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@simd_double3", - "text" : "simd_double3" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo" + ], + "title" : "Operators" }, { - "kind" : "text", - "text" : ")" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z" + ], + "title" : "Instance Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Hashable-Implementations" + ], + "title" : "Default Implementations" } ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-5n3j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j", - "taskGroups" : [ - - ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACs5SIMD3VySdGcfc" + "title" : "Quaternion", + "usr" : "s:6Euclid10QuaternionV" }, { "abstract" : [ { - "text" : "Encodes this vertex into the given encoder.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -2896,7 +3047,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "scaled" }, { "kind" : "text", @@ -2904,7 +3055,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -2912,83 +3063,111 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)", + "path" : "\/documentation\/euclid\/linesegment\/scaled(by:)-2lm8c", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid6VertexV6encode2toys7Encoder_p_tKF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid11LineSegmentV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Creates a new plane by decoding from the given decoder.", + "text" : "Euclid is a library for creating and manipulating 3D geometry using techniques such as extruding or “lathing” 2D paths to create solid 3D shapes, and CSG (Constructive Solid Geometry) to combine or subtract those shapes from one another.", "type" : "text" } ], "availableLanguages" : [ "swift" ], - "fragments" : [ + "kind" : "org.swift.docc.kind.module", + "language" : "swift", + "path" : "\/documentation\/euclid", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid", + "taskGroups" : [ { - "kind" : "keyword", - "text" : "init" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes" + ], + "title" : "Using Euclid" }, { - "kind" : "text", - "text" : "(" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon" + ], + "title" : "Surfaces" }, { - "kind" : "externalParam", - "text" : "from" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment" + ], + "title" : "Lines and Paths" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle" + ], + "title" : "Rotations and Transforms" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color" + ], + "title" : "Fundamental Types" }, { - "kind" : "text", - "text" : ") " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/max(_:_:)" + ], + "title" : "Supporting Functions" }, { - "kind" : "keyword", - "text" : "throws" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable" + ], + "title" : "Protocols" } ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)", - "taskGroups" : [ - - ], - "title" : "init(from:)", - "usr" : "s:6Euclid5PlaneV4fromACs7Decoder_p_tKcfc" + "title" : "Euclid", + "usr" : "Euclid" }, { "abstract" : [ { - "text" : "Indicates whether the path is a closed path.", + "text" : "Creates a rotation from a SceneKit quaternion.", "type" : "text" } ], @@ -2998,104 +3177,101 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "isClosed" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@T@SCNQuaternion", + "text" : "SCNQuaternion" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/isclosed", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isClosed", + "path" : "\/documentation\/euclid\/rotation\/init(_:)-68leo", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo", "taskGroups" : [ ], - "title" : "isClosed", - "usr" : "s:6Euclid4PathV8isClosedSbvp" + "title" : "init(_:)", + "usr" : "s:6Euclid8RotationVyACSo10SCNVector4Vcfc" }, { - "abstract" : [ - { - "text" : "Creates a rotation from an axis and angle.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "axis" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "<=" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "angle" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(axis:angle:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)", + "path" : "\/documentation\/euclid\/plane\/_=(_:_:)-1oq2t", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t", "taskGroups" : [ ], - "title" : "init(axis:angle:)", - "usr" : "s:6Euclid8RotationV4axis5angleACSgAA6VectorV_AA5AngleVtcfc" + "title" : "<=(_:_:)", + "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Do not generate texture coordinates.", + "text" : "The zero quaternion.", "type" : "text" } ], @@ -3105,7 +3281,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", @@ -3113,26 +3297,29 @@ }, { "kind" : "identifier", - "text" : "none" + "text" : "zero" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/none", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none", + "path" : "\/documentation\/euclid\/quaternion\/zero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero", "taskGroups" : [ ], - "title" : "Mesh.WrapMode.none", - "usr" : "s:6Euclid4MeshV8WrapModeO4noneyA2EmF" + "title" : "zero", + "usr" : "s:6Euclid10QuaternionV4zeroACvpZ" }, { - "abstract" : [ - { - "text" : "A plane located at the origin, aligned with the Y and Z axes.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -3147,7 +3334,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -3155,32 +3342,43 @@ }, { "kind" : "identifier", - "text" : "yz" + "text" : "+" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/yz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz", + "path" : "\/documentation\/euclid\/angle\/+(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:)", "taskGroups" : [ ], - "title" : "yz", - "usr" : "s:6Euclid5PlaneV2yzACvpZ" + "title" : "+(_:)", + "usr" : "s:s18AdditiveArithmeticPsE1popyxxFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Returns a normalized vector.", + "text" : "Creates a new quaternion by decoding from the given decoder.", "type" : "text" } ], @@ -3190,61 +3388,45 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "normalized" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/normalized()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()", + "path" : "\/documentation\/euclid\/quaternion\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)", "taskGroups" : [ ], - "title" : "normalized()", - "usr" : "s:6Euclid6VectorV10normalizedACyF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "init(from:)", + "usr" : "s:6Euclid10QuaternionV4fromACs7Decoder_p_tKcfc" }, { - "abstract" : [ - { - "text" : "Creates a quaternion representing a rotation around the X axis.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -3267,7 +3449,11 @@ }, { "kind" : "identifier", - "text" : "pitch" + "text" : ">=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -3275,8 +3461,15 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", @@ -3284,67 +3477,63 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/pitch(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)", + "path" : "\/documentation\/euclid\/angle\/_=(_:_:)-9rm6o", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-9rm6o", "taskGroups" : [ ], - "title" : "pitch(_:)", - "usr" : "s:6Euclid10QuaternionV5pitchyAcA5AngleVFZ" + "title" : ">=(_:_:)", + "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { + "abstract" : [ + { + "text" : "Creates a new line from the specified line segment.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-Implementations", - "taskGroups" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)" - ], - "title" : "Operators" + "kind" : "keyword", + "text" : "init" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-3m9le", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + }, + { + "kind" : "text", + "text" : ")" } ], - "title" : "Transformable Implementations" + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/line\/init(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid4LineVyAcA0B7SegmentVcfc" }, { "abstract" : [ { - "text" : "A vector with all coordinates set to ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : ".", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -3354,23 +3543,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "one" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -3378,34 +3567,40 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/one", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one", + "path" : "\/documentation\/euclid\/vertex\/scale(by:)-1hyw0", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0", "taskGroups" : [ ], - "title" : "one", - "usr" : "s:6Euclid6VectorV3oneACvpZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { - "abstract" : [ - { - "text" : "Returns the ordered array of polygon edges.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -3413,36 +3608,73 @@ }, { "kind" : "identifier", - "text" : "orderedEdges" + "text" : "-=" }, { "kind" : "text", - "text" : ": [" + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : "Self" }, { "kind" : "text", - "text" : "]" + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/orderededges", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges", + "path" : "\/documentation\/euclid\/vector\/-=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)", "taskGroups" : [ ], - "title" : "orderedEdges", - "usr" : "s:6Euclid7PolygonV12orderedEdgesSayAA11LineSegmentVGvp" + "title" : "-=(_:_:)", + "usr" : "s:s18AdditiveArithmeticPsE2seoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Generate front faces.", + "text" : "The plane on which all vertices lie.", "type" : "text" } ], @@ -3452,7 +3684,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "var" }, { "kind" : "text", @@ -3460,30 +3692,41 @@ }, { "kind" : "identifier", - "text" : "front" + "text" : "plane" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/front", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front", + "path" : "\/documentation\/euclid\/polygon\/plane", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/plane", "taskGroups" : [ ], - "title" : "Mesh.Faces.front", - "usr" : "s:6Euclid4MeshV5FacesO5frontyA2EmF" + "title" : "plane", + "usr" : "s:6Euclid7PolygonV5planeAA5PlaneVvp" }, { - "abstract" : [ - { - "text" : "Returns the distance between the vector (representing a position in space) from the specified plane.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -3494,164 +3737,197 @@ }, { "kind" : "identifier", - "text" : "distance" + "text" : "+=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/distance(from:)-5p7ko", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko", + "path" : "\/documentation\/euclid\/angle\/+=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid6VectorV8distance4fromSdAA5PlaneV_tF" + "title" : "+=(_:_:)", + "usr" : "s:s18AdditiveArithmeticPsE2peoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { - "abstract" : [ - { - "text" : "Creates a plane from a point and surface normal.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "normal" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "identifier", + "text" : "..<" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "pointOnPlane" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sn", + "text" : "Range" }, { "kind" : "text", - "text" : ")" + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/init(normal:pointonplane:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)", + "path" : "\/documentation\/euclid\/vector\/'.._(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)", "taskGroups" : [ ], - "title" : "init(normal:pointOnPlane:)", - "usr" : "s:6Euclid5PlaneV6normal07pointOnB0ACSgAA6VectorV_AHtcfc" + "title" : "..<(_:_:)", + "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { - "abstract" : [ - { - "text" : "Creates a new path point by decoding from the given decoder.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "!=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "text" : "Self" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)", + "path" : "\/documentation\/euclid\/line\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid9PathPointV4fromACs7Decoder_p_tKcfc" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4LineV" }, { "abstract" : [ { - "text" : "Returns a vector with all components inverted.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -3677,7 +3953,7 @@ }, { "kind" : "identifier", - "text" : "-" + "text" : "*=" }, { "kind" : "text", @@ -3687,30 +3963,59 @@ "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/-(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)", + "path" : "\/documentation\/euclid\/vector\/*=(_:_:)-3ur4e", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e", "taskGroups" : [ ], - "title" : "-(_:)", - "usr" : "s:6Euclid6VectorV1sopyA2CFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VectorV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ @@ -3759,18 +4064,26 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/rotate(by:)-1umln", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln", + "path" : "\/documentation\/euclid\/linesegment\/rotate(by:)-16elu", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu", "taskGroups" : [ ], "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Performs a spherical linear interpolation between two rotations.", + "text" : "Creates a Euclid ", + "type" : "text" + }, + { + "code" : "Quaternion", + "type" : "codeVoice" + }, + { + "text" : " from a SceneKit quaternion.", "type" : "text" } ], @@ -3780,15 +4093,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "slerp" + "text" : "init" }, { "kind" : "text", @@ -3796,42 +4101,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "c:@T@SCNQuaternion", + "text" : "SCNQuaternion" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/slerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)", + "path" : "\/documentation\/euclid\/quaternion\/init(_:)-b3v3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3", "taskGroups" : [ ], - "title" : "slerp(_:_:)", - "usr" : "s:6Euclid8RotationV5slerpyA2C_SdtF" + "title" : "init(_:)", + "usr" : "s:6Euclid10QuaternionVyACSo10SCNVector4Vcfc" }, { "abstract" : [ { - "text" : "Reduces the bounds to contain just the intersection of itself and the specified bounds.", + "text" : "Returns a copy of the mesh with the new material applied to all polygons.", "type" : "text" } ], @@ -3849,7 +4140,7 @@ }, { "kind" : "identifier", - "text" : "formIntersection" + "text" : "withMaterial" }, { "kind" : "text", @@ -3857,29 +4148,105 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ")" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/formintersection(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)", + "path" : "\/documentation\/euclid\/mesh\/withmaterial(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)", "taskGroups" : [ ], - "title" : "formIntersection(_:)", - "usr" : "s:6Euclid6BoundsV16formIntersectionyyACF" + "title" : "withMaterial(_:)", + "usr" : "s:6Euclid4MeshV12withMaterialyACs11AnyHashableVSgF" }, { - "abstract" : [ - { - "text" : "Creates a new vector from a SceneKit vector.", - "type" : "text" + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "cyan" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/cyan", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/cyan", + "taskGroups" : [ + + ], + "title" : "cyan", + "usr" : "s:6Euclid5ColorV4cyanACvpZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/comparable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Comparable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq" + ], + "title" : "Operators" + } + ], + "title" : "Comparable Implementations" + }, + { + "abstract" : [ + { + "text" : "Creates a new mesh from an array of polygons.", + "type" : "text" } ], "availableLanguages" : [ @@ -3892,32 +4259,32 @@ }, { "kind" : "text", - "text" : "(" + "text" : "([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@SCNVector3", - "text" : "SCNVector3" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ")" + "text" : "])" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-228p6", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-228p6", + "path" : "\/documentation\/euclid\/mesh\/init(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)", "taskGroups" : [ ], "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACSo10SCNVector3Vcfc" + "usr" : "s:6Euclid4MeshVyACSayAA7PolygonVGcfc" }, { "abstract" : [ { - "text" : "Closes the path by joining last point to first.", + "text" : "Return a copy of the polygon without texture coordinates", "type" : "text" } ], @@ -3935,7 +4302,7 @@ }, { "kind" : "identifier", - "text" : "closed" + "text" : "withoutTexcoords" }, { "kind" : "text", @@ -3943,33 +4310,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/closed()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/closed()", + "path" : "\/documentation\/euclid\/polygon\/withouttexcoords()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()", "taskGroups" : [ ], - "title" : "closed()", - "usr" : "s:6Euclid4PathV6closedACyF" + "title" : "withoutTexcoords()", + "usr" : "s:6Euclid7PolygonV16withoutTexcoordsACyF" }, { + "abstract" : [ + { + "text" : "Returns a Boolean value that indicates if the specified point is within the bounds.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -3980,11 +4345,7 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "containsPoint" }, { "kind" : "text", @@ -3992,7 +4353,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -4000,36 +4362,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s19PartialRangeThroughV", - "text" : "PartialRangeThrough" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/'...(_:)-732z3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3", + "path" : "\/documentation\/euclid\/bounds\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid6BoundsV13containsPointySbAA6VectorVF" }, { "abstract" : [ { - "text" : "Creates a quaternion from raw components.", + "text" : "Return a copy of the mesh with cylindrically-mapped texture coordinates.", "type" : "text" } ], @@ -4039,36 +4389,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "?([" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "identifier", + "text" : "cylinderMapped" }, { "kind" : "text", - "text" : "])" + "text" : "() -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(_:)-fyhx", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx", + "path" : "\/documentation\/euclid\/mesh\/cylindermapped()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyACSgSaySdGcfc" + "title" : "cylinderMapped()", + "usr" : "s:6Euclid4MeshV14cylinderMappedACyF" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "The quaternion Z component.", "type" : "text" } ], @@ -4078,7 +4432,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -4086,15 +4440,7 @@ }, { "kind" : "identifier", - "text" : "scale" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "z" }, { "kind" : "text", @@ -4102,41 +4448,19 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scale(by:)-9i9s9", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9", + "path" : "\/documentation\/euclid\/quaternion\/z", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9TransformV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Decodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" + "title" : "z", + "usr" : "s:6Euclid10QuaternionV1zSdvp" }, { "abstract" : [ @@ -4184,24 +4508,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)", + "path" : "\/documentation\/euclid\/mesh\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)", "taskGroups" : [ ], "title" : "translated(by:)", - "usr" : "s:6Euclid7PolygonV10translated2byAcA6VectorV_tF" + "usr" : "s:6Euclid4MeshV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Creates a new color by decoding from the given decoder.", + "text" : "Creates a new rotation by decoding from the given decoder.", "type" : "text" } ], @@ -4241,117 +4565,18 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(from:)", + "path" : "\/documentation\/euclid\/rotation\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)", "taskGroups" : [ ], "title" : "init(from:)", - "usr" : "s:6Euclid5ColorV4fromACs7Decoder_p_tKcfc" - }, - { - "abstract" : [ - { - "text" : "Scale the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "scale" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scale(by:)-55r4j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j", - "taskGroups" : [ - - ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid9TransformV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" + "usr" : "s:6Euclid8RotationV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Returns whether the leftmost plane has the lower value.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "This provides a stable order when sorting collections of planes.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -4377,7 +4602,7 @@ }, { "kind" : "identifier", - "text" : "<" + "text" : "*" }, { "kind" : "text", @@ -4389,8 +4614,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : "Self" }, { "kind" : "text", @@ -4398,8 +4622,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -4407,24 +4631,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/_(_:_:)-6eeco", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco", + "path" : "\/documentation\/euclid\/pathpoint\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)", "taskGroups" : [ ], - "title" : "<(_:_:)", - "usr" : "s:6Euclid5PlaneV1loiySbAC_ACtFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Creates a vector from an array of coordinates.", + "text" : "The position of the path point.", "type" : "text" } ], @@ -4434,44 +4657,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "([" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "identifier", + "text" : "position" }, { "kind" : "text", - "text" : "])" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-63ct7", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7", + "path" : "\/documentation\/euclid\/pathpoint\/position", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACSaySdGcfc" + "title" : "position", + "usr" : "s:6Euclid9PathPointV8positionAA6VectorVvp" }, { "abstract" : [ { - "text" : "Returns whether the leftmost line segment has the lower value.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "This provides a stable order when sorting collections of line segments.", + "text" : "Does the transform apply a mirror operation (negative scale)?", "type" : "text" } ], @@ -4481,15 +4700,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -4497,33 +4708,11 @@ }, { "kind" : "identifier", - "text" : "<" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : "isFlipped" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -4531,40 +4720,46 @@ "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/_(_:_:)-2si4j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j", + "path" : "\/documentation\/euclid\/transform\/isflipped", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped", "taskGroups" : [ ], - "title" : "<(_:_:)", - "usr" : "s:6Euclid11LineSegmentV1loiySbAC_ACtFZ" + "title" : "isFlipped", + "usr" : "s:6Euclid9TransformV9isFlippedSbvp" }, { + "abstract" : [ + { + "text" : "Returns a translated copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "translated" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "blue" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -4572,19 +4767,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/blue", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue", + "path" : "\/documentation\/euclid\/polygon\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)", "taskGroups" : [ ], - "title" : "blue", - "usr" : "s:6Euclid5ColorV4blueACvpZ" + "title" : "translated(by:)", + "usr" : "s:6Euclid7PolygonV10translated2byAcA6VectorV_tF" }, { "availableLanguages" : [ @@ -4592,22 +4796,22 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Decodable-Implementations", + "path" : "\/documentation\/euclid\/line\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Equatable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(from:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)" ], - "title" : "Initializers" + "title" : "Operators" } ], - "title" : "Decodable Implementations" + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Returns a Boolean value that indicates whether the two bounds intersect.", "type" : "text" } ], @@ -4625,24 +4829,16 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "intersects" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", @@ -4650,23 +4846,24 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)", + "path" : "\/documentation\/euclid\/bounds\/intersects(_:)-95v17", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid13TransformableP10translated2byxAA6VectorV_tF" + "title" : "intersects(_:)", + "usr" : "s:6Euclid6BoundsV10intersectsySbACF" }, { "abstract" : [ { - "text" : "Replace\/remove point color.", + "text" : "Creates an extruded text model from an attributed string", "type" : "text" } ], @@ -4674,6 +4871,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -4684,7 +4889,7 @@ }, { "kind" : "identifier", - "text" : "withColor" + "text" : "text" }, { "kind" : "text", @@ -4692,102 +4897,101 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "c:objc(cs)NSAttributedString", + "text" : "NSAttributedString" }, { "kind" : "text", - "text" : "?) -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/withcolor(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)", - "taskGroups" : [ - - ], - "title" : "withColor(_:)", - "usr" : "s:6Euclid9PathPointV9withColoryAcA0E0VSgF" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "externalParam", + "text" : "width" + }, { - "kind" : "keyword", - "text" : "static" + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : "?, " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "depth" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "..." + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "detail" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s19PartialRangeThroughV", - "text" : "PartialRangeThrough" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : "<" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ">" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/'...(_:)-49h2f", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f", + "path" : "\/documentation\/euclid\/mesh\/text(_:width:depth:detail:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "text(_:width:depth:detail:material:)", + "usr" : "s:6Euclid4MeshV4text_5width5depth6detail8materialACSo18NSAttributedStringC_SdSgSdSis11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Linearly interpolate between this vector and another.", "type" : "text" } ], @@ -4797,68 +5001,103 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "lerp" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "*" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : " " + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "(" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/lerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)", + "taskGroups" : [ + + ], + "title" : "lerp(_:_:)", + "usr" : "s:6Euclid6VectorV4lerpyA2C_SdtF" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ") -> " + "text" : " " + }, + { + "kind" : "identifier", + "text" : "magenta" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)", + "path" : "\/documentation\/euclid\/color\/magenta", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "magenta", + "usr" : "s:6Euclid5ColorV7magentaACvpZ" }, { "abstract" : [ { - "text" : "Returns the perpendicular distance from another line to this one.", + "text" : "Creates a quaternion from raw component values.", "type" : "text" } ], @@ -4868,66 +5107,70 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "distance" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/distance(from:)-77i61", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61", + "path" : "\/documentation\/euclid\/quaternion\/init(_:_:_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid4LineV8distance4fromSdAC_tF" + "title" : "init(_:_:_:_:)", + "usr" : "s:6Euclid10QuaternionVyACSd_S3dtcfc" }, { + "abstract" : [ + { + "text" : "Returns a scaled copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -4938,56 +5181,49 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeFromV", - "text" : "PartialRangeFrom" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "<" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/'...(_:)-7xdsm", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm", + "path" : "\/documentation\/euclid\/bounds\/scaled(by:)-6epo6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6BoundsV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "The polygons that make up the mesh.", + "text" : "The axis of rotation.", "type" : "text" } ], @@ -5005,36 +5241,32 @@ }, { "kind" : "identifier", - "text" : "polygons" + "text" : "axis" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/polygons", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons", + "path" : "\/documentation\/euclid\/quaternion\/axis", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis", "taskGroups" : [ ], - "title" : "polygons", - "usr" : "s:6Euclid4MeshV8polygonsSayAA7PolygonVGvp" + "title" : "axis", + "usr" : "s:6Euclid10QuaternionV4axisAA6VectorVvp" }, { "abstract" : [ { - "text" : "Creates a rotation from Euler angles applied in pitch\/yaw\/roll order.", + "text" : "Alignment mode to use when extruding along a path.", "type" : "text" } ], @@ -5044,49 +5276,92 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "typealias" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "pitch" - }, + "kind" : "identifier", + "text" : "Alignment" + } + ], + "kind" : "org.swift.docc.kind.typeAlias", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/alignment", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment", + "taskGroups" : [ + + ], + "title" : "Mesh.Alignment", + "usr" : "s:6Euclid4MeshV9Alignmenta" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Transformable-Implementations", + "taskGroups" : [ { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)" + ], + "title" : "Operators" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Transformable Implementations" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Returns a translated copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "yaw" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "identifier", + "text" : "translated" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "roll" + "text" : "by" }, { "kind" : "text", @@ -5094,28 +5369,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(pitch:yaw:roll:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)", + "path" : "\/documentation\/euclid\/plane\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)", "taskGroups" : [ ], - "title" : "init(pitch:yaw:roll:)", - "usr" : "s:6Euclid8RotationV5pitch3yaw4rollAcA5AngleV_A2Htcfc" + "title" : "translated(by:)", + "usr" : "s:6Euclid5PlaneV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Creates an angle from a degrees value.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -5125,32 +5405,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "transformed" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "degrees" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -5158,33 +5438,30 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/degrees(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)", + "path" : "\/documentation\/euclid\/linesegment\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)", "taskGroups" : [ ], - "title" : "degrees(_:)", - "usr" : "s:6Euclid5AngleV7degreesyACSdFZ" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { + "abstract" : [ + { + "text" : "Transform the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -5195,106 +5472,95 @@ }, { "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " + "text" : "transform" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV8WrapModeO" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { + "abstract" : [ + { + "text" : "A plane located at the origin, aligned with the X and Z axes.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations", - "taskGroups" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Decodable-Implementations", - "taskGroups" : [ + "kind" : "keyword", + "text" : "static" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)" - ], - "title" : "Initializers" + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "xz" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], - "title" : "Decodable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Encodable-Implementations", + "path" : "\/documentation\/euclid\/plane\/xz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)" - ], - "title" : "Instance Methods" - } + ], - "title" : "Encodable Implementations" + "title" : "xz", + "usr" : "s:6Euclid5PlaneV2xzACvpZ" }, { "abstract" : [ { - "text" : "Divides the rotation angle by the specified value.", + "text" : "Creates a spherical mesh.", "type" : "text" } ], @@ -5320,57 +5586,151 @@ }, { "kind" : "identifier", - "text" : "\/=" + "text" : "sphere" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "radius" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "slices" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "stacks" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ")" + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "poleDetail" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "faces" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "wrapMode" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", + "text" : "WrapMode" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/\/=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/sphere(radius:slices:stacks:poledetail:faces:wrapmode:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)", "taskGroups" : [ ], - "title" : "\/=(_:_:)", - "usr" : "s:6Euclid8RotationV2deoiyyACz_SdtFZ" + "title" : "sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV6sphere6radius6slices6stacks10poleDetail5faces8wrapMode8materialACSd_S2iSgSiAC5FacesOAC04WrapK0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Computes the convex hull of a set of polygons.", "type" : "text" } ], @@ -5378,6 +5738,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -5388,7 +5756,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "convexHull" }, { "kind" : "text", @@ -5396,41 +5764,41 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "of" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ") -> " + "text" : "]) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/scaled(by:)-350oy", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:)-6c896", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6VectorV6scaled2byACSd_tF" + "title" : "convexHull(of:)", + "usr" : "s:6Euclid4MeshV10convexHull2ofACSayAA7PolygonVG_tFZ" }, { "abstract" : [ { - "text" : "Creates a new angle by decoding from the given decoder.", + "text" : "Creates a vector from the values you provide.", "type" : "text" } ], @@ -5447,41 +5815,47 @@ "text" : "(" }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") " + "text" : ", " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)", + "path" : "\/documentation\/euclid\/vector\/init(_:_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid5AngleV4fromACs7Decoder_p_tKcfc" + "title" : "init(_:_:_:)", + "usr" : "s:6Euclid6VectorVyACSd_S2dtcfc" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Creates a path point.", "type" : "text" } ], @@ -5491,23 +5865,24 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "scale" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "texcoord" }, { "kind" : "text", @@ -5518,25 +5893,59 @@ "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" }, + { + "kind" : "text", + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "color" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "isCurved" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/scale(by:)-1kdd7", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7", + "path" : "\/documentation\/euclid\/pathpoint\/init(_:texcoord:color:iscurved:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "init(_:texcoord:color:isCurved:)", + "usr" : "s:6Euclid9PathPointV_8texcoord5color8isCurvedAcA6VectorV_AHSgAA5ColorVSgSbtcfc" }, { "abstract" : [ { - "text" : "An arbitrary point on the line selected as the origin.", + "text" : "Texture is tube-wrapped.", "type" : "text" } ], @@ -5546,7 +5955,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "case" }, { "kind" : "text", @@ -5554,32 +5963,70 @@ }, { "kind" : "identifier", - "text" : "origin" + "text" : "tube" + } + ], + "kind" : "org.swift.docc.kind.enumerationCase", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/tube", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube", + "taskGroups" : [ + + ], + "title" : "Mesh.WrapMode.tube", + "usr" : "s:6Euclid4MeshV8WrapModeO4tubeyA2EmF" + }, + { + "abstract" : [ + { + "text" : "Creates a quaternion from a rotation matrix.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/origin", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin", + "path" : "\/documentation\/euclid\/quaternion\/init(_:)-7xa5o", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o", "taskGroups" : [ ], - "title" : "origin", - "usr" : "s:6Euclid4LineV6originAA6VectorVvp" + "title" : "init(_:)", + "usr" : "s:6Euclid10QuaternionVyAcA8RotationVcfc" }, { "abstract" : [ { - "text" : "Returns a new vertex with the normal inverted.", + "text" : "Creates a ", + "type" : "text" + }, + { + "code" : "Rotation", + "type" : "codeVoice" + }, + { + "text" : " from a simd quaternion.", "type" : "text" } ], @@ -5589,7 +6036,46 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@SA@simd_quatd", + "text" : "simd_quatd" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/init(_:)-7j4ql", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid8RotationVyACSo10simd_quatdacfc" + }, + { + "abstract" : [ + { + "text" : "The magnitude of the quaternion.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", @@ -5597,32 +6083,32 @@ }, { "kind" : "identifier", - "text" : "inverted" + "text" : "length" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()", + "path" : "\/documentation\/euclid\/quaternion\/length", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid6VertexV8invertedACyF" + "title" : "length", + "usr" : "s:6Euclid10QuaternionV6lengthSdvp" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Creates a rotation transform.", "type" : "text" } ], @@ -5630,6 +6116,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -5640,44 +6134,41 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "rotation" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid9TransformV", "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)", + "path" : "\/documentation\/euclid\/transform\/rotation(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "rotation(_:)", + "usr" : "s:6Euclid9TransformV8rotationyAcA8RotationVFZ" }, { "abstract" : [ { - "text" : "The bounds of all the path’s points.", + "text" : "The length of the line segment.", "type" : "text" } ], @@ -5695,7 +6186,7 @@ }, { "kind" : "identifier", - "text" : "bounds" + "text" : "length" }, { "kind" : "text", @@ -5703,24 +6194,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds", + "path" : "\/documentation\/euclid\/linesegment\/length", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid4PathV6boundsAA6BoundsVvp" + "title" : "length", + "usr" : "s:6Euclid11LineSegmentV6lengthSdvp" }, { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "A Boolean value that indicates whether the polygon includes vertex normals that differ from the face normal.", "type" : "text" } ], @@ -5730,7 +6221,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "var" }, { "kind" : "text", @@ -5738,94 +6229,32 @@ }, { "kind" : "identifier", - "text" : "Rotation" + "text" : "hasVertexNormals" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.structure", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", + "path" : "\/documentation\/euclid\/polygon\/hasvertexnormals", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)" - ], - "title" : "Creating Rotations" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity" - ], - "title" : "Default Quaternions" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)" - ], - "title" : "Creating Rotations Around an Axis" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity" - ], - "title" : "Rotation Properties" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)" - ], - "title" : "Interpolating Rotations" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Equatable-Implementations" - ], - "title" : "Default Implementations" - } + ], - "title" : "Rotation", - "usr" : "s:6Euclid8RotationV" + "title" : "hasVertexNormals", + "usr" : "s:6Euclid7PolygonV16hasVertexNormalsSbvp" }, { "abstract" : [ { - "text" : "Encodes this plane into the given encoder.", + "text" : "The plane upon which all path points lie. Will be nil for non-planar paths.", "type" : "text" } ], @@ -5835,7 +6264,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -5843,15 +6272,7 @@ }, { "kind" : "identifier", - "text" : "encode" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "to" + "text" : "plane" }, { "kind" : "text", @@ -5859,32 +6280,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : "?" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)", + "path" : "\/documentation\/euclid\/path\/plane", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid5PlaneV6encode2toys7Encoder_p_tKF" + "title" : "plane", + "usr" : "s:6Euclid4PathV5planeAA5PlaneVSgvp" }, { "abstract" : [ { - "text" : "Creates a bounds from two points.", + "text" : "Creates a mesh by stroking a path with the line width, detail, and material you provide.", "type" : "text" } ], @@ -5894,127 +6311,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "static" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : " " }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)", - "taskGroups" : [ - - ], - "title" : "init(_:_:)", - "usr" : "s:6Euclid6BoundsVyAcA6VectorV_AEtcfc" - }, - { - "abstract" : [ - { - "text" : "Creates a composite path from an array of subpaths.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "subpaths" + "kind" : "identifier", + "text" : "stroke" }, { "kind" : "text", - "text" : ": [" + "text" : "(" }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid4PathV", "text" : "Path" }, - { - "kind" : "text", - "text" : "])" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(subpaths:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)", - "taskGroups" : [ - - ], - "title" : "init(subpaths:)", - "usr" : "s:6Euclid4PathV8subpathsACSayACG_tcfc" - }, - { - "abstract" : [ - { - "text" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "roll" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, { "kind" : "text", "text" : ", " }, { "kind" : "externalParam", - "text" : "yaw" + "text" : "width" }, { "kind" : "text", @@ -6022,8 +6352,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -6031,79 +6361,7 @@ }, { "kind" : "externalParam", - "text" : "pitch" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(roll:yaw:pitch:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)", - "taskGroups" : [ - - ], - "title" : "init(roll:yaw:pitch:)", - "usr" : "s:6Euclid10QuaternionV4roll3yaw5pitchAcA5AngleV_A2Htcfc" - }, - { - "abstract" : [ - { - "text" : "Efficiently fills an array of paths, avoiding unecessary work if there are duplicates.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "fill" - }, - { - "kind" : "text", - "text" : "([" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "], " - }, - { - "kind" : "externalParam", - "text" : "faces" + "text" : "detail" }, { "kind" : "text", @@ -6111,8 +6369,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", @@ -6160,18 +6418,18 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/fill(_:faces:material:iscancelled:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)", + "path" : "\/documentation\/euclid\/mesh\/stroke(_:width:detail:material:iscancelled:)-85o14", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-85o14", "taskGroups" : [ ], - "title" : "fill(_:faces:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV4fill_5faces8material11isCancelledACSayAA4PathVG_AC5FacesOs11AnyHashableVSgSbyXEtFZ" + "title" : "stroke(_:width:detail:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV6stroke_5width6detail8material11isCancelledAcA4PathV_SdSis11AnyHashableVSgSbyXEtFZ" }, { "abstract" : [ { - "text" : "An array of vertices suitable for constructing a set of edge polygons for the path.", + "text" : "Texture coordinates for the vertex. Set this to zero if you are not using a texture map.", "type" : "text" } ], @@ -6189,36 +6447,32 @@ }, { "kind" : "identifier", - "text" : "edgeVertices" + "text" : "texcoord" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/edgevertices", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices", + "path" : "\/documentation\/euclid\/vertex\/texcoord", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord", "taskGroups" : [ ], - "title" : "edgeVertices", - "usr" : "s:6Euclid4PathV12edgeVerticesSayAA6VertexVGvp" + "title" : "texcoord", + "usr" : "s:6Euclid6VertexV8texcoordAA6VectorVvp" }, { "abstract" : [ { - "text" : "The Z component of the vector.", + "text" : "Generate both the front and back faces.", "type" : "text" } ], @@ -6228,7 +6482,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "case" }, { "kind" : "text", @@ -6236,75 +6490,49 @@ }, { "kind" : "identifier", - "text" : "z" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "frontAndBack" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/z", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z", + "path" : "\/documentation\/euclid\/mesh\/faces\/frontandback", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack", "taskGroups" : [ ], - "title" : "z", - "usr" : "s:6Euclid6VectorV1zSdvp" + "title" : "Mesh.Faces.frontAndBack", + "usr" : "s:6Euclid4MeshV5FacesO12frontAndBackyA2EmF" }, { - "abstract" : [ - { - "text" : "The square of the length of the quaternion. This is less expensive to compute than the length itself.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "lengthSquared" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/lengthsquared", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared", + "path" : "\/documentation\/euclid\/plane\/comparable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Comparable-Implementations", "taskGroups" : [ - + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27" + ], + "title" : "Operators" + } ], - "title" : "lengthSquared", - "usr" : "s:6Euclid10QuaternionV13lengthSquaredSdvp" + "title" : "Comparable Implementations" }, { "abstract" : [ { - "text" : "Creates an angle from a radians value.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -6314,7 +6542,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", @@ -6322,7 +6558,7 @@ }, { "kind" : "externalParam", - "text" : "radians" + "text" : "by" }, { "kind" : "text", @@ -6338,23 +6574,17 @@ "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/init(radians:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)", + "path" : "\/documentation\/euclid\/mesh\/scale(by:)-1h2f7", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7", "taskGroups" : [ ], - "title" : "init(radians:)", - "usr" : "s:6Euclid5AngleV7radiansACSd_tcfc" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { - "abstract" : [ - { - "text" : "Creates a linear path from a start and end point.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -6377,67 +6607,52 @@ }, { "kind" : "identifier", - "text" : "line" + "text" : "!=" }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : " " }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "color" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : "Self" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/line(_:_:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)", + "path" : "\/documentation\/euclid\/vertex\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)", "taskGroups" : [ ], - "title" : "line(_:_:color:)", - "usr" : "s:6Euclid4PathV4line__5colorAcA6VectorV_AgA5ColorVSgtFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "The polygons in the mesh, grouped by material.", + "text" : "Returns the difference between two angles.", "type" : "text" } ], @@ -6447,7 +6662,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -6455,45 +6678,54 @@ }, { "kind" : "identifier", - "text" : "polygonsByMaterial" + "text" : "-" }, { "kind" : "text", - "text" : ": [" + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "? : [" + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "]]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/polygonsbymaterial", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial", + "path" : "\/documentation\/euclid\/angle\/-(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)", "taskGroups" : [ ], - "title" : "polygonsByMaterial", - "usr" : "s:6Euclid4MeshV18polygonsByMaterialSDys11AnyHashableVSgSayAA7PolygonVGGvp" + "title" : "-(_:_:)", + "usr" : "s:6Euclid5AngleV1soiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "Creates a copy of the polygon with the specified material.", + "text" : "Creates an array of glyph contours from a string and font you provide.", "type" : "text" } ], @@ -6501,6 +6733,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -6511,7 +6751,7 @@ }, { "kind" : "identifier", - "text" : "withMaterial" + "text" : "text" }, { "kind" : "text", @@ -6519,33 +6759,88 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:SS", + "text" : "String" }, { "kind" : "text", - "text" : "?) -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "font" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "c:@T@CTFontRef", + "text" : "CTFont" + }, + { + "kind" : "text", + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "width" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "detail" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : ") -> [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, + { + "kind" : "text", + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/withmaterial(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)", + "path" : "\/documentation\/euclid\/path\/text(_:font:width:detail:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:font:width:detail:)", "taskGroups" : [ ], - "title" : "withMaterial(_:)", - "usr" : "s:6Euclid7PolygonV12withMaterialyACs11AnyHashableVSgF" + "title" : "text(_:font:width:detail:)", + "usr" : "s:6Euclid4PathV4text_4font5width6detailSayACGSS_So9CTFontRefaSgSdSgSitFZ" }, { "abstract" : [ { - "text" : "Creates a copy of the color updated with the specified alpha.", + "text" : "Linearly interpolates between two vertices.", "type" : "text" } ], @@ -6563,12 +6858,21 @@ }, { "kind" : "identifier", - "text" : "withAlpha" + "text" : "lerp" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", @@ -6580,24 +6884,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/withalpha(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)", + "path" : "\/documentation\/euclid\/vertex\/lerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)", "taskGroups" : [ ], - "title" : "withAlpha(_:)", - "usr" : "s:6Euclid5ColorV9withAlphayACSdF" + "title" : "lerp(_:_:)", + "usr" : "s:6Euclid6VertexV4lerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "Computes the trigonometric cosine of an angle.", + "text" : "The size of the bounds. The minimum returned size is zero, even if max < min.", "type" : "text" } ], @@ -6607,7 +6911,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -6615,41 +6919,32 @@ }, { "kind" : "identifier", - "text" : "cos" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "size" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.function", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/cos(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)", + "path" : "\/documentation\/euclid\/bounds\/size", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size", "taskGroups" : [ ], - "title" : "cos(_:)", - "usr" : "s:6Euclid3cosySdAA5AngleVF" + "title" : "size", + "usr" : "s:6Euclid6BoundsV4sizeAA6VectorVvp" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -6667,7 +6962,7 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "rotate" }, { "kind" : "text", @@ -6683,36 +6978,25 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)", + "path" : "\/documentation\/euclid\/polygon\/rotate(by:)-7073s", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid4MeshV10translated2byAcA6VectorV_tF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { - "abstract" : [ - { - "text" : "The identity quaternion (i.e. no rotation).", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -6727,7 +7011,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -6735,58 +7019,95 @@ }, { "kind" : "identifier", - "text" : "identity" + "text" : ">" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/identity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity", + "path" : "\/documentation\/euclid\/angle\/_(_:_:)-filj", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj", "taskGroups" : [ ], - "title" : "identity", - "usr" : "s:6Euclid10QuaternionV8identityACvpZ" + "title" : ">(_:_:)", + "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { + "abstract" : [ + { + "text" : "Quaternion has no effect.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/comparable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Comparable-Implementations", - "taskGroups" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27" - ], - "title" : "Operators" + "kind" : "keyword", + "text" : "var" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "isIdentity" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "title" : "Comparable Implementations" + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/isidentity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity", + "taskGroups" : [ + + ], + "title" : "isIdentity", + "usr" : "s:6Euclid10QuaternionV10isIdentitySbvp" }, { "abstract" : [ { - "text" : "Linearly interpolates between two vertices.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -6804,50 +7125,44 @@ }, { "kind" : "identifier", - "text" : "lerp" + "text" : "rotate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/lerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)", + "path" : "\/documentation\/euclid\/transform\/rotate(by:)-11t07", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07", "taskGroups" : [ ], - "title" : "lerp(_:_:)", - "usr" : "s:6Euclid6VertexV4lerpyA2C_SdtF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Creates a polygon from a set of vertex positions.", + "text" : "Creates a mesh from a SceneKit geometry, with optional material mapping.", "type" : "text" } ], @@ -6861,20 +7176,12 @@ }, { "kind" : "text", - "text" : "?<" - }, - { - "kind" : "genericParameter", - "text" : "T" - }, - { - "kind" : "text", - "text" : ">(" + "text" : "?(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV_8materialACSgx_s11AnyHashableVSgtcSTRzAA6VectorV7ElementRtzlufc1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "c:objc(cs)SCNGeometry", + "text" : "SCNGeometry" }, { "kind" : "text", @@ -6882,7 +7189,7 @@ }, { "kind" : "externalParam", - "text" : "material" + "text" : "materialLookup" }, { "kind" : "text", @@ -6890,8 +7197,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid4MeshV16MaterialProvidera", + "text" : "MaterialProvider" }, { "kind" : "text", @@ -6900,18 +7207,18 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/init(_:material:)-8gsiw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw", + "path" : "\/documentation\/euclid\/mesh\/init(_:materiallookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)", "taskGroups" : [ ], - "title" : "init(_:material:)", - "usr" : "s:6Euclid7PolygonV_8materialACSgx_s11AnyHashableVSgtcSTRzAA6VectorV7ElementRtzlufc" + "title" : "init(_:materialLookup:)", + "usr" : "s:6Euclid4MeshV_14materialLookupACSgSo11SCNGeometryC_s11AnyHashableVSgSo11SCNMaterialCcSgtcfc" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates a plane from a set of points.", "type" : "text" } ], @@ -6921,27 +7228,19 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "scaled" + "text" : "init" }, { "kind" : "text", - "text" : "(" + "text" : "?(" }, { "kind" : "externalParam", - "text" : "by" + "text" : "points" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", @@ -6950,28 +7249,23 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/scaled(by:)-4wtbg", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg", + "path" : "\/documentation\/euclid\/plane\/init(points:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(points:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid9PathPointV6scaled2byAcA6VectorV_tF" + "title" : "init(points:)", + "usr" : "s:6Euclid5PlaneV6pointsACSgSayAA6VectorVG_tcfc" }, { "abstract" : [ { - "text" : "Computes the trigonometric sine of an angle.", + "text" : "Divides the components of the vector by the specified value.", "type" : "text" } ], @@ -6981,92 +7275,73 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "sin" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "identifier", + "text" : "\/=" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - } - ], - "kind" : "org.swift.docc.kind.function", - "language" : "swift", - "path" : "\/documentation\/euclid\/sin(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)", - "taskGroups" : [ - - ], - "title" : "sin(_:)", - "usr" : "s:6Euclid3sinySdAA5AngleVF" - }, - { - "abstract" : [ - { - "text" : "Flips the face direction and vertex normals of all polygons within the mesh.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : "(" + }, { "kind" : "keyword", - "text" : "func" + "text" : "inout" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "inverted" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : "() -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/inverted()", + "path" : "\/documentation\/euclid\/quaternion\/\/=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid4MeshV8invertedACyF" + "title" : "\/=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2deoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "The array of vertices that make up the polygon.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -7076,7 +7351,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -7084,39 +7359,41 @@ }, { "kind" : "identifier", - "text" : "vertices" + "text" : "rotate" }, { "kind" : "text", - "text" : ": [" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : "]" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/vertices", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices", + "path" : "\/documentation\/euclid\/vertex\/rotate(by:)-622p8", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8", "taskGroups" : [ ], - "title" : "vertices", - "usr" : "s:6Euclid7PolygonV8verticesSayAA6VertexVGvp" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { - "abstract" : [ - { - "text" : "Creates a circular arc.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -7139,66 +7416,81 @@ }, { "kind" : "identifier", - "text" : "arc" + "text" : "-=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "angle" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "radius" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/-=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)", + "taskGroups" : [ + + ], + "title" : "-=(_:_:)", + "usr" : "s:s18AdditiveArithmeticPsE2seoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Translate the value in place.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "segments" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "kind" : "identifier", + "text" : "translate" }, { "kind" : "text", - "text" : "?, " + "text" : "(" }, { "kind" : "externalParam", - "text" : "color" + "text" : "by" }, { "kind" : "text", @@ -7206,33 +7498,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/arc(angle:radius:segments:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)", + "path" : "\/documentation\/euclid\/bounds\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)", "taskGroups" : [ ], - "title" : "arc(angle:radius:segments:color:)", - "usr" : "s:6Euclid4PathV3arc5angle6radius8segments5colorAcA5AngleV_SdSiSgAA5ColorVSgtFZ" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Tessellates the polygon into triangles.", "type" : "text" } ], @@ -7242,48 +7529,44 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "triangulate" }, { "kind" : "text", - "text" : ", " + "text" : "() -> [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ")" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/init(_:_:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)", + "path" : "\/documentation\/euclid\/polygon\/triangulate()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()", "taskGroups" : [ ], - "title" : "init(_:_:)", - "usr" : "s:6Euclid11LineSegmentVyACSgAA6VectorV_AFtcfc" + "title" : "triangulate()", + "usr" : "s:6Euclid7PolygonV11triangulateSayACGyF" }, { "abstract" : [ { - "text" : "Creates a scale transform.", + "text" : "Returns the angle divided by a numeric denominator.", "type" : "text" } ], @@ -7309,7 +7592,11 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "\/" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -7317,8 +7604,17 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -7326,24 +7622,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scale(_:)-55t4p", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p", + "path" : "\/documentation\/euclid\/angle\/\/(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)", "taskGroups" : [ ], - "title" : "scale(_:)", - "usr" : "s:6Euclid9TransformV5scaleyAcA6VectorVFZ" + "title" : "\/(_:_:)", + "usr" : "s:6Euclid5AngleV1doiyA2C_SdtFZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Creates a corner path point at the specified X, Y and Z coordinates.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -7351,14 +7665,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -7369,20 +7675,19 @@ }, { "kind" : "identifier", - "text" : "point" + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -7391,37 +7696,48 @@ }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/scaled(by:)-94kks", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks", + "taskGroups" : [ + + ], + "title" : "scaled(by:)", + "usr" : "s:6Euclid4MeshV6scaled2byACSd_tF" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "texcoord" + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "?, " + "text" : " " }, { - "kind" : "externalParam", - "text" : "color" + "kind" : "identifier", + "text" : "red" }, { "kind" : "text", @@ -7431,31 +7747,22 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid5ColorV", "text" : "Color" - }, - { - "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/point(_:_:_:texcoord:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)", + "path" : "\/documentation\/euclid\/color\/red", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red", "taskGroups" : [ ], - "title" : "point(_:_:_:texcoord:color:)", - "usr" : "s:6Euclid9PathPointV5point___8texcoord5colorACSd_S2dAA6VectorVSgAA5ColorVSgtFZ" + "title" : "red", + "usr" : "s:6Euclid5ColorV3redACvpZ" }, { "abstract" : [ { - "text" : "Returns a rotation divided by the specified value.", + "text" : "Creates a rotation around the X axis.", "type" : "text" } ], @@ -7481,11 +7788,7 @@ }, { "kind" : "identifier", - "text" : "\/" - }, - { - "kind" : "text", - "text" : " " + "text" : "pitch" }, { "kind" : "text", @@ -7493,17 +7796,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -7515,20 +7809,20 @@ "text" : "Rotation" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/\/(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)", + "path" : "\/documentation\/euclid\/rotation\/pitch(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)", "taskGroups" : [ ], - "title" : "\/(_:_:)", - "usr" : "s:6Euclid8RotationV1doiyA2C_SdtFZ" + "title" : "pitch(_:)", + "usr" : "s:6Euclid8RotationV5pitchyAcA5AngleVFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -7546,7 +7840,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "scaled" }, { "kind" : "text", @@ -7562,28 +7856,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/scale(by:)-4egi6", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6", + "path" : "\/documentation\/euclid\/bounds\/scaled(by:)-5dvvh", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6BoundsV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Creates a new vector by decoding from the given decoder.", + "text" : "Returns the point where the specified plane intersects the line.", "type" : "text" } ], @@ -7593,7 +7892,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "intersection" }, { "kind" : "text", @@ -7601,7 +7908,7 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "with" }, { "kind" : "text", @@ -7609,32 +7916,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : "?" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)", + "path" : "\/documentation\/euclid\/line\/intersection(with:)-7s1sd", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid6VectorV4fromACs7Decoder_p_tKcfc" + "title" : "intersection(with:)", + "usr" : "s:6Euclid4LineV12intersection4withAA6VectorVSgAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Creates a new line from the specified line segment.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -7644,45 +7956,59 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "rotate" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/init(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)", + "path" : "\/documentation\/euclid\/bounds\/rotate(by:)-ntgj", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid4LineVyAcA0B7SegmentVcfc" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { + "abstract" : [ + { + "text" : "Returns a scaled copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -7693,27 +8019,24 @@ }, { "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -7721,24 +8044,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)", + "path" : "\/documentation\/euclid\/transform\/scaled(by:)-9vwak", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid9TransformV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "The perpendicular distance from the world origin to the plane.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -7748,7 +8071,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -7756,7 +8079,15 @@ }, { "kind" : "identifier", - "text" : "w" + "text" : "scale" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -7766,22 +8097,52 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/w", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w", + "path" : "\/documentation\/euclid\/transform\/scale(by:)-55r4j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j", "taskGroups" : [ ], - "title" : "w", - "usr" : "s:6Euclid5PlaneV1wSdvp" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid9TransformV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Multiplies the components of the quaternion by the specified value.", + "text" : "Returns whether the leftmost plane has the lower value.", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This provides a stable order when sorting collections of planes.", "type" : "text" } ], @@ -7807,7 +8168,7 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "<" }, { "kind" : "text", @@ -7818,46 +8179,43 @@ "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/*=(_:_:)-lsgo", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo", + "path" : "\/documentation\/euclid\/plane\/_(_:_:)-6eeco", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2meoiyyACz_SdtFZ" + "title" : "<(_:_:)", + "usr" : "s:6Euclid5PlaneV1loiySbAC_ACtFZ" }, { "abstract" : [ { - "text" : "Creates a rotation from a SceneKit quaternion.", + "text" : "A struct that represents an orientation or rotation in 3D space.", "type" : "text" } ], @@ -7867,36 +8225,102 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "struct" }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@SCNQuaternion", - "text" : "SCNQuaternion" + "text" : " " }, { - "kind" : "text", - "text" : ")" + "kind" : "identifier", + "text" : "Rotation" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(_:)-68leo", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo", + "path" : "\/documentation\/euclid\/rotation", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", "taskGroups" : [ - - ], - "title" : "init(_:)", - "usr" : "s:6Euclid8RotationVyACSo10SCNVector4Vcfc" + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)" + ], + "title" : "Creating Rotations" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity" + ], + "title" : "Default Quaternions" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)" + ], + "title" : "Creating Rotations Around an Axis" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity" + ], + "title" : "Rotation Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)" + ], + "title" : "Interpolating Rotations" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Equatable-Implementations" + ], + "title" : "Default Implementations" + } + ], + "title" : "Rotation", + "usr" : "s:6Euclid8RotationV" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Deprecated.", "type" : "text" } ], @@ -7904,14 +8328,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -7922,102 +8338,52 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "with" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ", " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*=(_:_:)-3ur4e", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e", - "taskGroups" : [ + "path" : "\/documentation\/euclid\/polygon\/with(material:)", + "platforms" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VectorV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/additivearithmetic-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/AdditiveArithmetic-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero" - ], - "title" : "Type Properties" - } - ], - "title" : "AdditiveArithmetic Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/bounded-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-Implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds" - ], - "title" : "Instance Properties" - } + ], - "title" : "Bounded Implementations" + "title" : "with(material:)", + "usr" : "s:6Euclid7PolygonV4with8materialACs11AnyHashableVSg_tF" }, { "abstract" : [ { - "text" : "The magnitude of the quaternion.", + "text" : "The end point of the line segment.", "type" : "text" } ], @@ -8027,7 +8393,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "let" }, { "kind" : "text", @@ -8035,7 +8401,7 @@ }, { "kind" : "identifier", - "text" : "length" + "text" : "end" }, { "kind" : "text", @@ -8043,33 +8409,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/length", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length", + "path" : "\/documentation\/euclid\/linesegment\/end", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end", "taskGroups" : [ ], - "title" : "length", - "usr" : "s:6Euclid10QuaternionV6lengthSdvp" + "title" : "end", + "usr" : "s:6Euclid11LineSegmentV3endAA6VectorVvp" }, { + "abstract" : [ + { + "text" : "Returns a translated copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -8080,27 +8444,24 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "translated" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -8108,36 +8469,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SN", - "text" : "ClosedRange" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'...(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)", "taskGroups" : [ ], - "title" : "...(_:_:)", - "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "translated(by:)", + "usr" : "s:6Euclid11LineSegmentV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Return a copy of the mesh with spherically-mapped texture coordinates.", + "text" : "Returns a Boolean value that indicates if the specified point is inside the mesh.", "type" : "text" } ], @@ -8155,32 +8504,58 @@ }, { "kind" : "identifier", - "text" : "sphereMapped" + "text" : "containsPoint" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/spheremapped()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()", + "path" : "\/documentation\/euclid\/mesh\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "sphereMapped()", - "usr" : "s:6Euclid4MeshV12sphereMappedACyF" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid4MeshV13containsPointySbAA6VectorVF" }, { "abstract" : [ { - "text" : "Use default alignment heuristic for the given path.", + "text" : "Material used by the mesh polygons.", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "See ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", + "isActive" : true, + "type" : "reference" + }, + { + "text" : " for details.", "type" : "text" } ], @@ -8190,7 +8565,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "typealias" }, { "kind" : "text", @@ -8198,23 +8573,23 @@ }, { "kind" : "identifier", - "text" : "`default`" + "text" : "Material" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment\/default", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default", + "path" : "\/documentation\/euclid\/mesh\/material", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material", "taskGroups" : [ ], - "title" : "Path.Alignment.default", - "usr" : "s:6Euclid4PathV9AlignmentO7defaultyA2EmF" + "title" : "Mesh.Material", + "usr" : "s:6Euclid4MeshV8Materiala" }, { "abstract" : [ { - "text" : "Creates a closed path from a polygon.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -8224,36 +8599,72 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(_:)-3c0eo", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo", + "path" : "\/documentation\/euclid\/transformable\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid4PathVyAcA7PolygonVcfc" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ" }, { "abstract" : [ { - "text" : "The quaternion X component.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -8263,7 +8674,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -8271,7 +8682,15 @@ }, { "kind" : "identifier", - "text" : "x" + "text" : "scale" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -8281,22 +8700,26 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/x", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x", + "path" : "\/documentation\/euclid\/linesegment\/scale(by:)-8v4ag", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag", "taskGroups" : [ ], - "title" : "x", - "usr" : "s:6Euclid10QuaternionV1xSdvp" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "The quaternion Z component.", + "text" : "The square of the length of the quaternion. This is less expensive to compute than the length itself.", "type" : "text" } ], @@ -8314,7 +8737,7 @@ }, { "kind" : "identifier", - "text" : "z" + "text" : "lengthSquared" }, { "kind" : "text", @@ -8328,18 +8751,18 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/z", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z", + "path" : "\/documentation\/euclid\/quaternion\/lengthsquared", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared", "taskGroups" : [ ], - "title" : "z", - "usr" : "s:6Euclid10QuaternionV1zSdvp" + "title" : "lengthSquared", + "usr" : "s:6Euclid10QuaternionV13lengthSquaredSdvp" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -8357,7 +8780,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "transformed" }, { "kind" : "text", @@ -8373,28 +8796,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/rotate(by:)-3ed6z", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z", + "path" : "\/documentation\/euclid\/pathpoint\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid9PathPointV11transformed2byAcA9TransformV_tF" }, { "abstract" : [ { - "text" : "Creates a size\/scale vector from an array of two coordinates.", + "text" : "Creates a closed elliptical path.", "type" : "text" } ], @@ -8404,253 +8832,181 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "size" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": [" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "identifier", + "text" : "ellipse" }, { "kind" : "text", - "text" : "])" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(size:)-8b34m", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m", - "taskGroups" : [ - - ], - "title" : "init(size:)", - "usr" : "s:6Euclid6VectorV4sizeACSaySdG_tcfc" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : "(" + }, { - "kind" : "keyword", - "text" : "static" + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "..<" + "text" : ", " }, { - "kind" : "text", - "text" : " " + "kind" : "externalParam", + "text" : "height" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeUpToV", - "text" : "PartialRangeUpTo" + "kind" : "externalParam", + "text" : "segments" }, { "kind" : "text", - "text" : "<" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ">" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "color" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/'.._(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:)", + "path" : "\/documentation\/euclid\/path\/ellipse(width:height:segments:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/ellipse(width:height:segments:color:)", "taskGroups" : [ ], - "title" : "..<(_:)", - "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "ellipse(width:height:segments:color:)", + "usr" : "s:6Euclid4PathV7ellipse5width6height8segments5colorACSd_SdSiAA5ColorVSgtFZ" }, { - "abstract" : [ - { - "text" : "An orientation or rotation in 3D space.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "Quaternion" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion", - "taskGroups" : [ + "kind" : "keyword", + "text" : "func" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-27eol", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw(_:)" - ], - "title" : "Creating Quaternions" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity" - ], - "title" : "Default Quaternions" + "kind" : "identifier", + "text" : "!=" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity" - ], - "title" : "Quaternion Properties" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()" - ], - "title" : "Computing Quaternions" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)" - ], - "title" : "Interpolating Quaternions" + "kind" : "typeIdentifier", + "text" : "Self" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo" - ], - "title" : "Operators" + "kind" : "text", + "text" : ", " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)" - ], - "title" : "Operators" + "kind" : "typeIdentifier", + "text" : "Self" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z" - ], - "title" : "Instance Properties" + "kind" : "text", + "text" : ") -> " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Hashable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "title" : "Quaternion", - "usr" : "s:6Euclid10QuaternionV" + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)", + "taskGroups" : [ + + ], + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid10QuaternionV" }, { "abstract" : [ { - "text" : "Encodes this path into the given encoder.", + "text" : "A Boolean indicating whether the point is curved or sharp.", "type" : "text" } ], @@ -8660,7 +9016,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -8668,48 +9024,115 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "isCurved" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "externalParam", - "text" : "to" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/pathpoint\/iscurved", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved", + "taskGroups" : [ + + ], + "title" : "isCurved", + "usr" : "s:6Euclid9PathPointV8isCurvedSbvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Encodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" + }, + { + "abstract" : [ + { + "text" : "Creates a color from a CoreGraphics ", + "type" : "text" }, { - "kind" : "text", - "text" : ": " + "code" : "CGColor", + "type" : "codeVoice" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "text" : ".", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ") " + "text" : "(" }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@T@CGColorRef", + "text" : "CGColor" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)", + "path" : "\/documentation\/euclid\/color\/init(_:)-25eby", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid4PathV6encode2toys7Encoder_p_tKF" + "title" : "init(_:)", + "usr" : "s:6Euclid5ColorVyACSo10CGColorRefacfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Computes a set of edges where the mesh intersects a plane.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -8727,7 +9150,7 @@ }, { "kind" : "identifier", - "text" : "edges" + "text" : "translate" }, { "kind" : "text", @@ -8735,7 +9158,7 @@ }, { "kind" : "externalParam", - "text" : "intersecting" + "text" : "by" }, { "kind" : "text", @@ -8743,46 +9166,64 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sh", - "text" : "Set" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/edges(intersecting:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)", + "path" : "\/documentation\/euclid\/plane\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)", "taskGroups" : [ ], - "title" : "edges(intersecting:)", - "usr" : "s:6Euclid4MeshV5edges12intersectingShyAA11LineSegmentVGAA5PlaneV_tF" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/bounded-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds" + ], + "title" : "Instance Properties" + } + ], + "title" : "Bounded Implementations" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/line\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Creates a new vertex from a position with default values for normal, texcoord and color.", "type" : "text" } ], @@ -8792,52 +9233,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotate" + "text" : "init" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/rotate(by:)-577nk", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk", + "path" : "\/documentation\/euclid\/vertex\/init(_:)-5517j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "init(_:)", + "usr" : "s:6Euclid6VertexVyAcA6VectorVcfc" }, { "abstract" : [ { - "text" : "Clip mesh to the specified plane and optionally fill sheared faces with specified material.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -8855,7 +9280,7 @@ }, { "kind" : "identifier", - "text" : "clip" + "text" : "scale" }, { "kind" : "text", @@ -8863,24 +9288,7 @@ }, { "kind" : "externalParam", - "text" : "to" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "fill" + "text" : "by" }, { "kind" : "text", @@ -8888,28 +9296,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/clip(to:fill:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)", + "path" : "\/documentation\/euclid\/polygon\/scale(by:)-3en6y", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y", "taskGroups" : [ ], - "title" : "clip(to:fill:)", - "usr" : "s:6Euclid4MeshV4clip2to4fillAcA5PlaneV_s11AnyHashableVSgtF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "availableLanguages" : [ @@ -8917,12 +9320,12 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Encodable-Implementations", + "path" : "\/documentation\/euclid\/quaternion\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Encodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)" ], "title" : "Instance Methods" } @@ -8930,16 +9333,18 @@ "title" : "Encodable Implementations" }, { - "abstract" : [ - { - "text" : "Deprecated.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -8950,153 +9355,164 @@ }, { "kind" : "identifier", - "text" : "with" + "text" : "!=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "color" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : "Self" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/with(color:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)", + "path" : "\/documentation\/euclid\/plane\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)", "taskGroups" : [ ], - "title" : "with(color:)", - "usr" : "s:6Euclid9PathPointV4with5colorAcA5ColorVSg_tF" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { - "abstract" : [ + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "text" : "A vertex represents a corner of a ", - "type" : "text" + "kind" : "keyword", + "text" : "static" }, { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon", - "isActive" : true, - "type" : "reference" + "kind" : "text", + "text" : " " }, { - "text" : " or a point on the surface of a ", - "type" : "text" + "kind" : "keyword", + "text" : "func" }, { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", - "isActive" : true, - "type" : "reference" + "kind" : "text", + "text" : " " }, { - "text" : ".", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "struct" + "kind" : "identifier", + "text" : "..." }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "Vertex" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/vertex", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex", - "taskGroups" : [ + "kind" : "text", + "text" : "(" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25" - ], - "title" : "Creating Vertices" + "kind" : "typeIdentifier", + "text" : "Self" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color" - ], - "title" : "Vertex Properties" + "kind" : "text", + "text" : ", " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)" - ], - "title" : "Transforming Vertices" + "kind" : "typeIdentifier", + "text" : "Self" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)" - ], - "title" : "Interpolating Vertices" + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SN", + "text" : "ClosedRange" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, + { + "kind" : "text", + "text" : ">" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/'...(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)", + "taskGroups" : [ + + ], + "title" : "...(_:_:)", + "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Transformable-Implementations", + "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)" ], - "title" : "Encoding and Decoding Vertices" + "title" : "Operators" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Transformable-Implementations" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)" ], - "title" : "Default Implementations" + "title" : "Instance Methods" } ], - "title" : "Vertex", - "usr" : "s:6Euclid6VertexV" + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -9114,7 +9530,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "scaled" }, { "kind" : "text", @@ -9130,28 +9546,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/rotate(by:)-4cg0v", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v", + "path" : "\/documentation\/euclid\/plane\/scaled(by:)-6axqe", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid5PlaneV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "An infinite line in 3D space.", + "text" : "Creates an angle representing the trigonometric arc tangent of the vector you provide.", "type" : "text" } ], @@ -9161,89 +9582,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "Line" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/line", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)" - ], - "title" : "Creating Lines" + "kind" : "keyword", + "text" : "func" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction" - ], - "title" : "Line Properties" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)" - ], - "title" : "Comparing Lines" + "kind" : "identifier", + "text" : "atan2" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Equatable-Implementations" - ], - "title" : "Default Implementations" - } - ], - "title" : "Line", - "usr" : "s:6Euclid4LineV" - }, - { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : "(" + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "y" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "transformed" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "x" }, { "kind" : "text", @@ -9251,8 +9631,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -9260,24 +9640,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)", + "path" : "\/documentation\/euclid\/angle\/atan2(y:x:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid4PathV11transformed2byAcA9TransformV_tF" + "title" : "atan2(y:x:)", + "usr" : "s:6Euclid5AngleV5atan21y1xACSd_SdtFZ" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -9295,7 +9675,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "translate" }, { "kind" : "text", @@ -9311,8 +9691,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -9321,18 +9701,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/rotate(by:)-3m9le", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-3m9le", + "path" : "\/documentation\/euclid\/vertex\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether a point lies inside the polygon, on the same plane.", + "text" : "The color of the path point (optional).", "type" : "text" } ], @@ -9342,7 +9722,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -9350,41 +9730,44 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "color" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "?" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/pathpoint\/color", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid7PolygonV13containsPointySbAA6VectorVF" + "title" : "color", + "usr" : "s:6Euclid9PathPointV5colorAA5ColorVSgvp" }, { "abstract" : [ { - "text" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", + "text" : "Returns a new mesh representing the volume shared by both the mesh", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "parameter and the receiver. If these do not intersect, an empty mesh will be returned.", "type" : "text" } ], @@ -9394,24 +9777,24 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "roll" + "kind" : "identifier", + "text" : "intersection" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", @@ -9419,7 +9802,7 @@ }, { "kind" : "externalParam", - "text" : "yaw" + "text" : "isCancelled" }, { "kind" : "text", @@ -9427,63 +9810,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "pitch" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(roll:yaw:pitch:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)", + "path" : "\/documentation\/euclid\/mesh\/intersection(_:iscancelled:)-swift.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : "init(roll:yaw:pitch:)", - "usr" : "s:6Euclid8RotationV4roll3yaw5pitchAcA5AngleV_A2Htcfc" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/bounded-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Bounded-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds" - ], - "title" : "Instance Properties" - } - ], - "title" : "Bounded Implementations" + "title" : "intersection(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV12intersection_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Align extruded cross-sections to the tangent of the path curve.", + "text" : "The texture wrapping mode to use when generating a mesh.", "type" : "text" } ], @@ -9493,7 +9846,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "enum" }, { "kind" : "text", @@ -9501,23 +9854,37 @@ }, { "kind" : "identifier", - "text" : "tangent" + "text" : "WrapMode" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.enumeration", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment\/tangent", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent", + "path" : "\/documentation\/euclid\/mesh\/wrapmode", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode", "taskGroups" : [ - + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube" + ], + "title" : "Enumeration Cases" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations" + ], + "title" : "Default Implementations" + } ], - "title" : "Path.Alignment.tangent", - "usr" : "s:6Euclid4PathV9AlignmentO7tangentyA2EmF" + "title" : "Mesh.WrapMode", + "usr" : "s:6Euclid4MeshV8WrapModeO" }, { "abstract" : [ { - "text" : "All vector components are zero (or close to zero) in length.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -9527,7 +9894,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -9535,7 +9902,15 @@ }, { "kind" : "identifier", - "text" : "isZero" + "text" : "rotate" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -9543,24 +9918,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/iszero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero", + "path" : "\/documentation\/euclid\/transformable\/rotate(by:)-5a3iz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz", "taskGroups" : [ ], - "title" : "isZero", - "usr" : "s:6Euclid6VectorV6isZeroSbvp" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Encodes this transform into the given encoder.", "type" : "text" } ], @@ -9568,14 +9947,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -9586,52 +9957,48 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "encode" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)", + "path" : "\/documentation\/euclid\/transform\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ" + "title" : "encode(to:)", + "usr" : "s:6Euclid9TransformV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Flips the polygon along its plane and reverses the order and surface normals of the vertices.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -9649,27 +10016,74 @@ }, { "kind" : "identifier", - "text" : "inverted" + "text" : "rotate" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()", + "path" : "\/documentation\/euclid\/bounds\/rotate(by:)-15yni", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid7PolygonV8invertedACyF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Transformable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-mpk5", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Transformable Implementations" }, { "availableLanguages" : [ @@ -9694,7 +10108,7 @@ }, { "kind" : "identifier", - "text" : "<=" + "text" : "..<" }, { "kind" : "text", @@ -9722,42 +10136,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sn", + "text" : "Range" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/_=(_:_:)-375to", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to", + "path" : "\/documentation\/euclid\/linesegment\/'.._(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)", "taskGroups" : [ ], - "title" : "<=(_:_:)", - "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Decodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" + "title" : "..<(_:_:)", + "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Creates a linear path from a line segment.", "type" : "text" } ], @@ -9765,6 +10173,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -9775,15 +10191,24 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "line" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "by" + "text" : "color" }, { "kind" : "text", @@ -9791,36 +10216,30 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)", + "path" : "\/documentation\/euclid\/path\/line(_:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid9TransformV10translated2byAcA6VectorV_tF" + "title" : "line(_:color:)", + "usr" : "s:6Euclid4PathV4line_5colorAcA11LineSegmentV_AA5ColorVSgtFZ" }, { - "abstract" : [ - { - "text" : "Creates an angle representing the trigonometric arc tangent of the vector you provide.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -9843,41 +10262,27 @@ }, { "kind" : "identifier", - "text" : "atan2" + "text" : "!=" }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "y" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "x" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", @@ -9885,24 +10290,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/atan2(y:x:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)", + "path" : "\/documentation\/euclid\/color\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)", "taskGroups" : [ ], - "title" : "atan2(y:x:)", - "usr" : "s:6Euclid5AngleV5atan21y1xACSd_SdtFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5ColorV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Creates a rotation from Euler angles applied in yaw\/pitch\/roll order.", "type" : "text" } ], @@ -9912,23 +10317,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "rotate" + "kind" : "externalParam", + "text" : "yaw" }, { "kind" : "text", - "text" : "(" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "pitch" }, { "kind" : "text", @@ -9936,28 +10350,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "roll" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/rotate(by:)-1azi6", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6", + "path" : "\/documentation\/euclid\/rotation\/init(yaw:pitch:roll:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "init(yaw:pitch:roll:)", + "usr" : "s:6Euclid8RotationV3yaw5pitch4rollAcA5AngleV_A2Htcfc" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Creates a closed square path.", "type" : "text" } ], @@ -9965,6 +10396,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -9975,7 +10414,7 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "square" }, { "kind" : "text", @@ -9983,7 +10422,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "size" }, { "kind" : "text", @@ -9991,12 +10430,29 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "color" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?) -> " }, { "kind" : "typeIdentifier", @@ -10004,20 +10460,20 @@ "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)", + "path" : "\/documentation\/euclid\/path\/square(size:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid4PathV10translated2byAcA6VectorV_tF" + "title" : "square(size:color:)", + "usr" : "s:6Euclid4PathV6square4size5colorACSd_AA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "The blue component of the color.", "type" : "text" } ], @@ -10027,7 +10483,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -10035,15 +10491,7 @@ }, { "kind" : "identifier", - "text" : "scale" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "b" }, { "kind" : "text", @@ -10053,87 +10501,83 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/scale(by:)-758tv", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv", + "path" : "\/documentation\/euclid\/color\/b", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "b", + "usr" : "s:6Euclid5ColorV1bSdvp" }, { - "abstract" : [ - { - "text" : "Linearly interpolate between two colors.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "lerp" + "kind" : "externalParam", + "text" : "scnGeometry" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "c:objc(cs)SCNGeometry", + "text" : "SCNGeometry" }, { "kind" : "text", "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "materialLookup" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid4MeshV16MaterialProvidera", + "text" : "MaterialProvider" + }, + { + "kind" : "text", + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/lerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/init(scngeometry:materiallookup:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)", "taskGroups" : [ ], - "title" : "lerp(_:_:)", - "usr" : "s:6Euclid5ColorV4lerpyA2C_SdtF" + "title" : "init(scnGeometry:materialLookup:)", + "usr" : "s:6Euclid4MeshV11scnGeometry14materialLookupACSgSo11SCNGeometryC_s11AnyHashableVSgSo11SCNMaterialCcSgtcfc" }, { "abstract" : [ { - "text" : "Merges the polygons from two meshes.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -10151,16 +10595,24 @@ }, { "kind" : "identifier", - "text" : "merge" + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -10168,24 +10620,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/merge(_:)-swift.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.method", + "path" : "\/documentation\/euclid\/path\/scaled(by:)-84xdd", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd", "taskGroups" : [ ], - "title" : "merge(_:)", - "usr" : "s:6Euclid4MeshV5mergeyA2CF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid4PathV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "The X component of the vector.", "type" : "text" } ], @@ -10195,15 +10647,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -10211,56 +10655,67 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : "x" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)", + "path" : "\/documentation\/euclid\/vector\/x", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "x", + "usr" : "s:6Euclid6VectorV1xSdvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Transformable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Efficiently performs a stencil with multiple meshes.", "type" : "text" } ], @@ -10268,6 +10723,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -10278,15 +10741,32 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "stencil" }, { "kind" : "text", - "text" : "(" + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" + }, + { + "kind" : "text", + "text" : ">(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV7stencil_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" + }, + { + "kind" : "text", + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "isCancelled" }, { "kind" : "text", @@ -10294,8 +10774,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -10303,24 +10783,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)", + "path" : "\/documentation\/euclid\/mesh\/stencil(_:iscancelled:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid6VectorV10translated2byA2C_tF" + "title" : "stencil(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV7stencil_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Divides the rotation angle by the specified value.", "type" : "text" } ], @@ -10346,7 +10826,7 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "\/=" }, { "kind" : "text", @@ -10366,7 +10846,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -10374,8 +10855,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -10384,18 +10865,36 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)", + "path" : "\/documentation\/euclid\/rotation\/\/=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ" + "title" : "\/=(_:_:)", + "usr" : "s:6Euclid8RotationV2deoiyyACz_SdtFZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/pathpoint\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Computes the convex hull of a set of paths.", "type" : "text" } ], @@ -10405,7 +10904,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -10413,15 +10920,23 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "convexHull" }, { "kind" : "text", - "text" : "(" + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" + }, + { + "kind" : "text", + "text" : ">(" }, { "kind" : "externalParam", - "text" : "by" + "text" : "of" }, { "kind" : "text", @@ -10429,29 +10944,61 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA4PathV7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-4hvi3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-4hvi3", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA4PathV7ElementRtzlFZ" }, { + "abstract" : [ + { + "text" : "A vector with all coordinates set to ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : ".", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -10466,7 +11013,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -10474,32 +11021,68 @@ }, { "kind" : "identifier", - "text" : "..." + "text" : "one" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/one", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one", + "taskGroups" : [ + + ], + "title" : "one", + "usr" : "s:6Euclid6VectorV3oneACvpZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", "text" : " " }, + { + "kind" : "keyword", + "text" : "func" + }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "identifier", + "text" : "<=" }, { "kind" : "text", - "text" : ") -> " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeFromV", - "text" : "PartialRangeFrom" + "text" : "Self" }, { "kind" : "text", - "text" : "<" + "text" : ", " }, { "kind" : "typeIdentifier", @@ -10507,23 +11090,28 @@ }, { "kind" : "text", - "text" : ">" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/'...(_:)-4yucl", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl", + "path" : "\/documentation\/euclid\/vector\/_=(_:_:)-j6oq", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "<=(_:_:)", + "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "An array of vertices suitable for constructing a polygon from the path.", + "text" : "Returns the reverse quaternion rotation.", "type" : "text" } ], @@ -10533,7 +11121,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -10541,65 +11137,42 @@ }, { "kind" : "identifier", - "text" : "faceVertices" + "text" : "-" }, { "kind" : "text", - "text" : ": [" + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : "]?" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/facevertices", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices", + "path" : "\/documentation\/euclid\/quaternion\/-(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)", "taskGroups" : [ ], - "title" : "faceVertices", - "usr" : "s:6Euclid4PathV12faceVerticesSayAA6VertexVGSgvp" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Decodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" + "title" : "-(_:)", + "usr" : "s:6Euclid10QuaternionV1sopyA2CFZ" }, { - "abstract" : [ - { - "text" : "A vector of length ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : " along the X axis.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -10614,7 +11187,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -10622,32 +11195,56 @@ }, { "kind" : "identifier", - "text" : "unitX" + "text" : "..." }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s16PartialRangeFromV", + "text" : "PartialRangeFrom" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/unitx", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX", + "path" : "\/documentation\/euclid\/plane\/'...(_:)-4yucl", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl", "taskGroups" : [ ], - "title" : "unitX", - "usr" : "s:6Euclid6VectorV5unitXACvpZ" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Encodes this path point into the given encoder.", "type" : "text" } ], @@ -10665,7 +11262,7 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "encode" }, { "kind" : "text", @@ -10673,7 +11270,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "to" }, { "kind" : "text", @@ -10681,28 +11278,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)", + "path" : "\/documentation\/euclid\/pathpoint\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "encode(to:)", + "usr" : "s:6Euclid9PathPointV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Creates an extruded text model from an attributed string", + "text" : "Returns the reverse (aka transpose) rotation.", "type" : "text" } ], @@ -10728,7 +11329,11 @@ }, { "kind" : "identifier", - "text" : "text" + "text" : "-" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -10736,50 +11341,75 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)NSAttributedString", - "text" : "NSAttributedString" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "width" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/-(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)", + "taskGroups" : [ + + ], + "title" : "-(_:)", + "usr" : "s:6Euclid8RotationV1sopyA2CFZ" + }, + { + "abstract" : [ + { + "text" : "Computes the convex hull of a set of vertices.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "?, " + "text" : " " }, { - "kind" : "externalParam", - "text" : "depth" + "kind" : "identifier", + "text" : "convexHull" }, { "kind" : "text", - "text" : ": " + "text" : "<" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : ", " + "text" : ">(" }, { "kind" : "externalParam", - "text" : "detail" + "text" : "of" }, { "kind" : "text", @@ -10787,8 +11417,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VertexV7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", @@ -10819,18 +11449,18 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/text(_:width:depth:detail:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-75on2", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2", "taskGroups" : [ ], - "title" : "text(_:width:depth:detail:material:)", - "usr" : "s:6Euclid4MeshV4text_5width5depth6detail8materialACSo18NSAttributedStringC_SdSgSdSis11AnyHashableVSgtFZ" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VertexV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Creates a new vertex by decoding from the given decoder.", + "text" : "Flips the polygon along its plane and reverses the order and surface normals of the vertices.", "type" : "text" } ], @@ -10840,66 +11470,88 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "identifier", + "text" : "inverted" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)", + "path" : "\/documentation\/euclid\/polygon\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid6VertexV4fromACs7Decoder_p_tKcfc" + "title" : "inverted()", + "usr" : "s:6Euclid7PolygonV8invertedACyF" }, { + "abstract" : [ + { + "text" : "The face generation policy for Euclid to use when creating a mesh.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", + "fragments" : [ + { + "kind" : "keyword", + "text" : "enum" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "Faces" + } + ], + "kind" : "org.swift.docc.kind.enumeration", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/bounded-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Bounded-Implementations", + "path" : "\/documentation\/euclid\/mesh\/faces", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack" ], - "title" : "Instance Properties" + "title" : "Enumeration Cases" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/Equatable-Implementations" + ], + "title" : "Default Implementations" } ], - "title" : "Bounded Implementations" + "title" : "Mesh.Faces", + "usr" : "s:6Euclid4MeshV5FacesO" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Computes the trigonometric cosine of an angle.", "type" : "text" } ], @@ -10917,44 +11569,41 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "cos" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.function", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/scale(by:)-3en6y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y", + "path" : "\/documentation\/euclid\/cos(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "cos(_:)", + "usr" : "s:6Euclid3cosySdAA5AngleVF" }, { "abstract" : [ { - "text" : "Angle representing a zero (identity) rotation.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -10964,23 +11613,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "transformed" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "zero" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -10988,24 +11637,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/zero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero", + "path" : "\/documentation\/euclid\/transform\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)", "taskGroups" : [ ], - "title" : "zero", - "usr" : "s:6Euclid5AngleV4zeroACvpZ" + "title" : "transformed(by:)", + "usr" : "s:6Euclid9TransformV11transformed2byA2C_tF" }, { "abstract" : [ { - "text" : "Returns the distance between the vector (representing a position in space) from the specified line.", + "text" : "Deprecated.", "type" : "text" } ], @@ -11023,24 +11681,16 @@ }, { "kind" : "identifier", - "text" : "distance" + "text" : "smoothNormals" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "from" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -11048,24 +11698,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/distance(from:)-3eglz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-3eglz", + "path" : "\/documentation\/euclid\/mesh\/smoothnormals(_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid6VectorV8distance4fromSdAA4LineV_tF" + "title" : "smoothNormals(_:)", + "usr" : "s:6Euclid4MeshV13smoothNormalsyAcA5AngleVF" }, { "abstract" : [ { - "text" : "Creates an extruded text model from a string.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -11073,14 +11726,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -11091,24 +11736,15 @@ }, { "kind" : "identifier", - "text" : "text" + "text" : "scale" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" - }, - { - "kind" : "text", - "text" : ", " - }, { "kind" : "externalParam", - "text" : "font" + "text" : "by" }, { "kind" : "text", @@ -11116,109 +11752,109 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CTFontRef", - "text" : "CTFont" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "width" - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/scale(by:)-8g7t0", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0", + "taskGroups" : [ + + ], + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VectorV" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "Returns the sum of two angles.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : "?, " + "text" : " " }, { - "kind" : "externalParam", - "text" : "depth" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "identifier", + "text" : "+" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "detail" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/text(_:font:width:depth:detail:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:font:width:depth:detail:material:)", + "path" : "\/documentation\/euclid\/angle\/+(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)", "taskGroups" : [ ], - "title" : "text(_:font:width:depth:detail:material:)", - "usr" : "s:6Euclid4MeshV4text_4font5width5depth6detail8materialACSS_So9CTFontRefaSgSdSgSdSis11AnyHashableVSgtFZ" + "title" : "+(_:_:)", + "usr" : "s:6Euclid5AngleV1poiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "Creates a Path from a ", + "text" : "Creates a vector from a CoreGraphics ", "type" : "text" }, { - "code" : "CGPath", + "code" : "CGPoint", "type" : "codeVoice" }, { - "text" : ". The returned path may contain nested subpaths.", + "text" : ".", "type" : "text" } ], @@ -11236,62 +11872,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CGPathRef", - "text" : "CGPath" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "detail" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "color" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "c:@S@CGPoint", + "text" : "CGPoint" }, { "kind" : "text", - "text" : "?)" + "text" : ")" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(_:detail:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:detail:color:)", + "path" : "\/documentation\/euclid\/vector\/init(_:)-4eop9", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9", "taskGroups" : [ ], - "title" : "init(_:detail:color:)", - "usr" : "s:6Euclid4PathV_6detail5colorACSo9CGPathRefa_SiAA5ColorVSgtcfc" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACSo7CGPointVcfc" }, { "abstract" : [ { - "text" : "Creates a closed elliptical path.", + "text" : "Creates a mesh by extruding one path along another path.", "type" : "text" } ], @@ -11317,15 +11919,24 @@ }, { "kind" : "identifier", - "text" : "ellipse" + "text" : "extrude" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "width" + "text" : "along" }, { "kind" : "text", @@ -11333,8 +11944,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", @@ -11342,7 +11953,7 @@ }, { "kind" : "externalParam", - "text" : "height" + "text" : "twist" }, { "kind" : "text", @@ -11350,8 +11961,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -11359,7 +11970,7 @@ }, { "kind" : "externalParam", - "text" : "segments" + "text" : "align" }, { "kind" : "text", @@ -11367,8 +11978,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid4MeshV9Alignmenta", + "text" : "Alignment" }, { "kind" : "text", @@ -11376,7 +11987,7 @@ }, { "kind" : "externalParam", - "text" : "color" + "text" : "faces" }, { "kind" : "text", @@ -11384,33 +11995,67 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : "?) -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/ellipse(width:height:segments:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/ellipse(width:height:segments:color:)", + "path" : "\/documentation\/euclid\/mesh\/extrude(_:along:twist:align:faces:material:iscancelled:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:along:twist:align:faces:material:isCancelled:)", "taskGroups" : [ ], - "title" : "ellipse(width:height:segments:color:)", - "usr" : "s:6Euclid4PathV7ellipse5width6height8segments5colorACSd_SdSiAA5ColorVSgtFZ" + "title" : "extrude(_:along:twist:align:faces:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV7extrude_5along5twist5align5faces8material11isCancelledAcA4PathV_AlA5AngleVAL9AlignmentOAC5FacesOs11AnyHashableVSgSbyXEtFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "The identity rotation (i.e. no rotation).", "type" : "text" } ], @@ -11420,23 +12065,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "scale" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "identity" }, { "kind" : "text", @@ -11444,23 +12089,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/scale(by:)-2v2ef", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef", + "path" : "\/documentation\/euclid\/rotation\/identity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "identity", + "usr" : "s:6Euclid8RotationV8identityACvpZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ @@ -11513,18 +12172,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)", + "path" : "\/documentation\/euclid\/polygon\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)", "taskGroups" : [ ], "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Computes the point of intersection between a line segment and a plane.", + "text" : "Axis of rotation", "type" : "text" } ], @@ -11534,7 +12193,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -11542,56 +12201,29 @@ }, { "kind" : "identifier", - "text" : "intersection" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "with" + "text" : "axis" }, { "kind" : "text", "text" : ": " }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" - }, - { - "kind" : "text", - "text" : ") -> " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/intersection(with:)-9o28g", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g", + "path" : "\/documentation\/euclid\/rotation\/axis", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid5PlaneV12intersection4withAA6VectorVSgAA11LineSegmentV_tF" + "title" : "axis", + "usr" : "s:6Euclid8RotationV4axisAA6VectorVvp" }, { - "abstract" : [ - { - "text" : "Combines with the specified rotation.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -11614,7 +12246,7 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "!=" }, { "kind" : "text", @@ -11625,64 +12257,75 @@ "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "Self" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/*=(_:_:)-68kkw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw", + "path" : "\/documentation\/euclid\/pathpoint\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid8RotationV2meoiyyACz_ACtFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid9PathPointV" }, { + "abstract" : [ + { + "text" : "The default wrap behavior. Context-dependent.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations", - "taskGroups" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)" - ], - "title" : "Operators" + "kind" : "keyword", + "text" : "case" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "`default`" } ], - "title" : "Equatable Implementations" + "kind" : "org.swift.docc.kind.enumerationCase", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/default", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default", + "taskGroups" : [ + + ], + "title" : "Mesh.WrapMode.default", + "usr" : "s:6Euclid4MeshV8WrapModeO7defaultyA2EmF" }, { "abstract" : [ { - "text" : "The angle of rotation around the Z-axis.", + "text" : "A Boolean value that indicates whether the polygon includes vertex colors.", "type" : "text" } ], @@ -11700,7 +12343,7 @@ }, { "kind" : "identifier", - "text" : "roll" + "text" : "hasVertexColors" }, { "kind" : "text", @@ -11708,24 +12351,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/roll", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll", + "path" : "\/documentation\/euclid\/polygon\/hasvertexcolors", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors", "taskGroups" : [ ], - "title" : "roll", - "usr" : "s:6Euclid8RotationV4rollAA5AngleVvp" + "title" : "hasVertexColors", + "usr" : "s:6Euclid7PolygonV15hasVertexColorsSbvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/pathpoint\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Encodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "Multiplies the angle by a numeric value.", + "text" : "The translation or position component of the transform.", "type" : "text" } ], @@ -11735,15 +12396,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -11751,69 +12404,42 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "keyword", - "text" : "inout" + "text" : "offset" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*=(_:_:)", + "path" : "\/documentation\/euclid\/transform\/offset", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid5AngleV2meoiyyACz_SdtFZ" + "title" : "offset", + "usr" : "s:6Euclid9TransformV6offsetAA6VectorVvp" }, { + "abstract" : [ + { + "text" : "The perpendicular distance from the world origin to the plane.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -11821,52 +12447,75 @@ }, { "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " + "text" : "w" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/w", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w", + "taskGroups" : [ + + ], + "title" : "w", + "usr" : "s:6Euclid5PlaneV1wSdvp" + }, + { + "abstract" : [ + { + "text" : "The position of the vertex.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "identifier", + "text" : "position" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)", + "path" : "\/documentation\/euclid\/vertex\/position", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "position", + "usr" : "s:6Euclid6VertexV8positionAA6VectorVvp" }, { "abstract" : [ { - "text" : "Returns a rotation multiplied by the specified value.", + "text" : "Efficiently forms a union from multiple meshes.", "type" : "text" } ], @@ -11892,29 +12541,41 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "union" }, { "kind" : "text", - "text" : " " + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4MeshV5union_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -11922,24 +12583,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/*(_:_:)-5fe82", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82", + "path" : "\/documentation\/euclid\/mesh\/union(_:iscancelled:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.type.method", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid8RotationV1moiyA2C_SdtFZ" + "title" : "union(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV5union_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "The default face generation behavior. Context-dependent.", + "text" : "The total length of the path.", "type" : "text" } ], @@ -11949,7 +12610,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "var" }, { "kind" : "text", @@ -11957,70 +12618,32 @@ }, { "kind" : "identifier", - "text" : "`default`" - } - ], - "kind" : "org.swift.docc.kind.enumerationCase", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/default", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default", - "taskGroups" : [ - - ], - "title" : "Mesh.Faces.default", - "usr" : "s:6Euclid4MeshV5FacesO7defaultyA2EmF" - }, - { - "abstract" : [ - { - "text" : "Creates a color from an ", - "type" : "text" - }, - { - "code" : "NSColor", - "type" : "codeVoice" - }, - { - "text" : ".", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "text" : "length" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)NSColor", - "text" : "NSColor" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(_:)-7d8un", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un", + "path" : "\/documentation\/euclid\/path\/length", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid5ColorVyACSo7NSColorCcfc" + "title" : "length", + "usr" : "s:6Euclid4PathV6lengthSdvp" }, { "abstract" : [ { - "text" : "Creates a vector from the values you provide.", + "text" : "Deprecated.", "type" : "text" } ], @@ -12037,56 +12660,47 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "bounds" }, { "kind" : "text", - "text" : ", " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", - "text" : ")" + "text" : "])" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)", + "path" : "\/documentation\/euclid\/bounds\/init(bounds:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)", "taskGroups" : [ ], - "title" : "init(_:_:_:)", - "usr" : "s:6Euclid6VectorVyACSd_S2dtcfc" + "title" : "init(bounds:)", + "usr" : "s:6Euclid6BoundsV6boundsACSayACG_tcfc" }, { + "abstract" : [ + { + "text" : "Splits all polygons in the mesh into triangles.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -12097,49 +12711,35 @@ }, { "kind" : "identifier", - "text" : ">" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : "triangulate" }, { "kind" : "text", - "text" : ") -> " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/_(_:_:)-7i9lp", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp", + "path" : "\/documentation\/euclid\/mesh\/triangulate()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()", "taskGroups" : [ ], - "title" : ">(_:_:)", - "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "triangulate()", + "usr" : "s:6Euclid4MeshV11triangulateACyF" }, { + "abstract" : [ + { + "text" : "Creates a bounds with min and max coordinates.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -12150,11 +12750,11 @@ }, { "kind" : "text", - "text" : "?(" + "text" : "(" }, { "kind" : "externalParam", - "text" : "scnGeometry" + "text" : "min" }, { "kind" : "text", @@ -12162,8 +12762,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNGeometry", - "text" : "SCNGeometry" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -12171,7 +12771,7 @@ }, { "kind" : "externalParam", - "text" : "materialLookup" + "text" : "max" }, { "kind" : "text", @@ -12179,49 +12779,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV16MaterialProvidera", - "text" : "MaterialProvider" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?)" + "text" : ")" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(scngeometry:materiallookup:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)", + "path" : "\/documentation\/euclid\/bounds\/init(min:max:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(min:max:)", "taskGroups" : [ ], - "title" : "init(scnGeometry:materialLookup:)", - "usr" : "s:6Euclid4MeshV11scnGeometry14materialLookupACSgSo11SCNGeometryC_s11AnyHashableVSgSo11SCNMaterialCcSgtcfc" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" + "title" : "init(min:max:)", + "usr" : "s:6Euclid6BoundsV3min3maxAcA6VectorV_AGtcfc" }, { "abstract" : [ { - "text" : "Returns a quaternion with its components divided by the specified value.", + "text" : "The identity quaternion (i.e. no rotation).", "type" : "text" } ], @@ -12239,7 +12818,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -12247,33 +12826,11 @@ }, { "kind" : "identifier", - "text" : "\/" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "identity" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -12281,20 +12838,20 @@ "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/\/(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)", + "path" : "\/documentation\/euclid\/quaternion\/identity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity", "taskGroups" : [ ], - "title" : "\/(_:_:)", - "usr" : "s:6Euclid10QuaternionV1doiyA2C_SdtFZ" + "title" : "identity", + "usr" : "s:6Euclid10QuaternionV8identityACvpZ" }, { "abstract" : [ { - "text" : "Merges any coplanar polygons that share one or more edges.", + "text" : "Alignment mode to use when extruding along a path.", "type" : "text" } ], @@ -12304,7 +12861,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "enum" }, { "kind" : "text", @@ -12312,85 +12869,56 @@ }, { "kind" : "identifier", - "text" : "detessellate" - }, - { - "kind" : "text", - "text" : "() -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Alignment" } ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/detessellate()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detessellate()", - "taskGroups" : [ - - ], - "title" : "detessellate()", - "usr" : "s:6Euclid4MeshV12detessellateACyF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.enumeration", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Decodable-Implementations", + "path" : "\/documentation\/euclid\/path\/alignment", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent" ], - "title" : "Initializers" + "title" : "Enumeration Cases" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations" + ], + "title" : "Default Implementations" } ], - "title" : "Decodable Implementations" + "title" : "Path.Alignment", + "usr" : "s:6Euclid4PathV9AlignmentO" }, { - "abstract" : [ - { - "text" : "Creates a line from an origin and direction.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?(" - }, - { - "kind" : "externalParam", - "text" : "origin" + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "direction" + "kind" : "identifier", + "text" : "yellow" }, { "kind" : "text", @@ -12398,36 +12926,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/init(origin:direction:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)", + "path" : "\/documentation\/euclid\/color\/yellow", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow", "taskGroups" : [ ], - "title" : "init(origin:direction:)", - "usr" : "s:6Euclid4LineV6origin9directionACSgAA6VectorV_AHtcfc" + "title" : "yellow", + "usr" : "s:6Euclid5ColorV6yellowACvpZ" }, { "abstract" : [ { - "text" : "Returns a new mesh representing the volume shared by both the mesh", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "parameter and the receiver. If these do not intersect, an empty mesh will be returned.", + "text" : "Returns a rotated copy of the bounds.", "type" : "text" } ], @@ -12445,24 +12961,15 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "rotated" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - }, - { - "kind" : "text", - "text" : ", " - }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "by" }, { "kind" : "text", @@ -12470,8 +12977,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -12479,42 +12986,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/intersection(_:iscancelled:)-swift.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.method", + "path" : "\/documentation\/euclid\/bounds\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)", "taskGroups" : [ ], - "title" : "intersection(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV12intersection_11isCancelledA2C_SbyXEtF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" + "title" : "rotated(by:)", + "usr" : "s:6Euclid6BoundsV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "An array containing the raw components of the quaternion.", + "text" : "Returns a new bounds inset by the specified amount.", "type" : "text" } ], @@ -12524,7 +13013,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -12532,11 +13021,19 @@ }, { "kind" : "identifier", - "text" : "components" + "text" : "inset" }, { "kind" : "text", - "text" : ": [" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", @@ -12545,26 +13042,25 @@ }, { "kind" : "text", - "text" : "]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/components", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components", + "path" : "\/documentation\/euclid\/bounds\/inset(by:)-4gk62", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62", "taskGroups" : [ ], - "title" : "components", - "usr" : "s:6Euclid10QuaternionV10componentsSaySdGvp" + "title" : "inset(by:)", + "usr" : "s:6Euclid6BoundsV5inset2byACSd_tF" }, { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -12587,28 +13083,41 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "xor" }, { "kind" : "text", - "text" : " " + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ">(" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV3xor_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -12616,30 +13125,36 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/xor(_:iscancelled:)-swift.type.method", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.type.method", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "xor(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV3xor_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -12650,24 +13165,27 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "!=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "Self" }, { "kind" : "text", @@ -12675,20 +13193,27 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)", + "path" : "\/documentation\/euclid\/polygon\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid7PolygonV" }, { + "abstract" : [ + { + "text" : "Multiplies the quaternion rotation on the left by the one on the right.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -12711,7 +13236,7 @@ }, { "kind" : "identifier", - "text" : "<=" + "text" : "*=" }, { "kind" : "text", @@ -12722,41 +13247,81 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/_=(_:_:)-1oq2t", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t", + "path" : "\/documentation\/euclid\/quaternion\/*=(_:_:)-5ic2j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j", "taskGroups" : [ ], - "title" : "<=(_:_:)", - "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2meoiyyACz_ACtFZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Transformable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Splits a polygon into two or more convex polygons using the “ear clipping” method.", + "text" : "Curve or uncurve the point.", "type" : "text" } ], @@ -12774,53 +13339,41 @@ }, { "kind" : "identifier", - "text" : "tessellate" + "text" : "curved" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "maxSides" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" }, { "kind" : "text", - "text" : ") -> [" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/tessellate(maxsides:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)", + "path" : "\/documentation\/euclid\/pathpoint\/curved(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curved(_:)", "taskGroups" : [ ], - "title" : "tessellate(maxSides:)", - "usr" : "s:6Euclid7PolygonV10tessellate8maxSidesSayACGSi_tF" + "title" : "curved(_:)", + "usr" : "s:6Euclid9PathPointV6curvedyACSbF" }, { "abstract" : [ { - "text" : "Creates a quadratic bezier spline.", + "text" : "Creates a plane from a point and surface normal.", "type" : "text" } ], @@ -12830,40 +13383,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "curve" + "kind" : "externalParam", + "text" : "normal" }, { "kind" : "text", - "text" : "([" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "], " + "text" : ", " }, { "kind" : "externalParam", - "text" : "detail" + "text" : "pointOnPlane" }, { "kind" : "text", @@ -12871,33 +13416,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/curve(_:detail:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)", + "path" : "\/documentation\/euclid\/plane\/init(normal:pointonplane:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)", "taskGroups" : [ ], - "title" : "curve(_:detail:)", - "usr" : "s:6Euclid4PathV5curve_6detailACSayAA0B5PointVG_SitFZ" + "title" : "init(normal:pointOnPlane:)", + "usr" : "s:6Euclid5PlaneV6normal07pointOnB0ACSgAA6VectorV_AHtcfc" }, { "abstract" : [ { - "text" : "The magnitude of the vector.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -12907,7 +13447,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -12915,7 +13455,15 @@ }, { "kind" : "identifier", - "text" : "length" + "text" : "scale" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -12925,22 +13473,26 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/length", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length", + "path" : "\/documentation\/euclid\/path\/scale(by:)-vnel", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel", "taskGroups" : [ ], - "title" : "length", - "usr" : "s:6Euclid6VectorV6lengthSdvp" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -12958,7 +13510,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "rotated" }, { "kind" : "text", @@ -12974,40 +13526,51 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/rotate(by:)-ntgj", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj", + "path" : "\/documentation\/euclid\/mesh\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "rotated(by:)", + "usr" : "s:6Euclid4MeshV7rotated2byAcA8RotationV_tF" }, { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "abstract" : [ { - "kind" : "keyword", - "text" : "static" + "text" : "An unordered set of polygon edges.", + "type" : "text" }, { - "kind" : "text", - "text" : " " + "text" : " ", + "type" : "text" }, + { + "text" : "The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -13015,52 +13578,45 @@ }, { "kind" : "identifier", - "text" : ">=" - }, - { - "kind" : "text", - "text" : " " + "text" : "undirectedEdges" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sh", + "text" : "Set" }, { "kind" : "text", - "text" : ", " + "text" : "<" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : ">" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/_=(_:_:)-5dvuy", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy", + "path" : "\/documentation\/euclid\/polygon\/undirectededges", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges", "taskGroups" : [ ], - "title" : ">=(_:_:)", - "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "undirectedEdges", + "usr" : "s:6Euclid7PolygonV15undirectedEdgesShyAA11LineSegmentVGvp" }, { "abstract" : [ { - "text" : "Return a copy of the polygon without texture coordinates", + "text" : "The bounds of the object.", "type" : "text" } ], @@ -13070,7 +13626,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -13078,103 +13634,84 @@ }, { "kind" : "identifier", - "text" : "withoutTexcoords" + "text" : "bounds" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/withouttexcoords()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()", + "path" : "\/documentation\/euclid\/bounded\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds", "taskGroups" : [ ], - "title" : "withoutTexcoords()", - "usr" : "s:6Euclid7PolygonV16withoutTexcoordsACyF" + "title" : "bounds", + "usr" : "s:6Euclid7BoundedP6boundsAA6BoundsVvp" }, { + "abstract" : [ + { + "text" : "Replace\/remove path point colors.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "withColor" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "gray" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ": " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/gray", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/gray", + "path" : "\/documentation\/euclid\/path\/withcolor(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)", "taskGroups" : [ ], - "title" : "gray", - "usr" : "s:6Euclid5ColorV4grayACvpZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/comparable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Comparable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq" - ], - "title" : "Operators" - } - ], - "title" : "Comparable Implementations" + "title" : "withColor(_:)", + "usr" : "s:6Euclid4PathV9withColoryAcA0D0VSgF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -13182,14 +13719,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -13200,56 +13729,44 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "scale" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)", + "path" : "\/documentation\/euclid\/transformable\/scale(by:)-8ec9r", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "A zero-length vector.", "type" : "text" } ], @@ -13259,23 +13776,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "scale" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "zero" }, { "kind" : "text", @@ -13285,26 +13802,40 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/scale(by:)-8ec9r", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r", + "path" : "\/documentation\/euclid\/vector\/zero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF" + "title" : "zero", + "usr" : "s:6Euclid6VectorV4zeroACvpZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Return Wavefront OBJ string data for the mesh.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -13322,32 +13853,44 @@ }, { "kind" : "identifier", - "text" : "objString" + "text" : "scale" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/objstring()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()", + "path" : "\/documentation\/euclid\/polygon\/scale(by:)-2pycj", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj", "taskGroups" : [ ], - "title" : "objString()", - "usr" : "s:6Euclid4MeshV9objStringSSyF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Creates a rotation from Euler angles applied in yaw\/pitch\/roll order.", + "text" : "A Boolean value that indicates whether the mesh includes vertex normals that differ from the face normal.", "type" : "text" } ], @@ -13357,15 +13900,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "yaw" + "kind" : "identifier", + "text" : "hasVertexNormals" }, { "kind" : "text", @@ -13373,33 +13916,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/hasvertexnormals", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals", + "taskGroups" : [ + + ], + "title" : "hasVertexNormals", + "usr" : "s:6Euclid4MeshV16hasVertexNormalsSbvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "An empty mesh.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "pitch" + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "roll" + "kind" : "identifier", + "text" : "empty" }, { "kind" : "text", @@ -13407,28 +13967,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(yaw:pitch:roll:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)", + "path" : "\/documentation\/euclid\/mesh\/empty", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty", "taskGroups" : [ ], - "title" : "init(yaw:pitch:roll:)", - "usr" : "s:6Euclid8RotationV3yaw5pitch4rollAcA5AngleV_A2Htcfc" + "title" : "empty", + "usr" : "s:6Euclid4MeshV5emptyACvpZ" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the bounds.", + "text" : "Creates a new mesh by decoding from the given decoder.", "type" : "text" } ], @@ -13438,15 +13994,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotated" + "text" : "init" }, { "kind" : "text", @@ -13454,7 +14002,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -13462,33 +14010,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)", + "path" : "\/documentation\/euclid\/mesh\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid6BoundsV7rotated2byAcA8RotationV_tF" + "title" : "init(from:)", + "usr" : "s:6Euclid4MeshV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Split the mesh along a plane.", "type" : "text" } ], @@ -13506,7 +14053,7 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "split" }, { "kind" : "text", @@ -13514,7 +14061,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "along" }, { "kind" : "text", @@ -13522,42 +14069,55 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ") -> " + "text" : ") -> (front" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "kind" : "text", + "text" : "?, back" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "kind" : "text", + "text" : "?)" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)", + "path" : "\/documentation\/euclid\/mesh\/split(along:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/split(along:)", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid9TransformV11transformed2byA2C_tF" + "title" : "split(along:)", + "usr" : "s:6Euclid4MeshV5split5alongACSg5front_AF4backtAA5PlaneV_tF" }, { "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -13568,55 +14128,61 @@ }, { "kind" : "identifier", - "text" : "-=" - }, - { - "kind" : "text", - "text" : " " + "text" : "subtract" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/-=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/subtract(_:iscancelled:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)", "taskGroups" : [ ], - "title" : "-=(_:_:)", - "usr" : "s:s18AdditiveArithmeticPsE2seoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "subtract(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV8subtract_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Return binary STL data for the mesh.", + "text" : "Angle representing a quarter rotation.", "type" : "text" } ], @@ -13626,23 +14192,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "stlData" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "colorLookup" + "kind" : "identifier", + "text" : "halfPi" }, { "kind" : "text", @@ -13650,51 +14216,90 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV16STLColorProvidera", - "text" : "STLColorProvider" - }, - { - "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:10Foundation4DataV", - "text" : "Data" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stldata(colorlookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)", + "path" : "\/documentation\/euclid\/angle\/halfpi", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi", "taskGroups" : [ ], - "title" : "stlData(colorLookup:)", - "usr" : "s:6Euclid4MeshV7stlData11colorLookup10Foundation0D0VAA5ColorVSgs11AnyHashableVSgcSg_tF" + "title" : "halfPi", + "usr" : "s:6Euclid5AngleV6halfPiACvpZ" }, { + "abstract" : [ + { + "text" : "An infinite line in 3D space.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", + "fragments" : [ + { + "kind" : "keyword", + "text" : "struct" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "Line" + } + ], + "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Decodable-Implementations", + "path" : "\/documentation\/euclid\/line", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)" ], - "title" : "Initializers" + "title" : "Creating Lines" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction" + ], + "title" : "Line Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)" + ], + "title" : "Comparing Lines" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Equatable-Implementations" + ], + "title" : "Default Implementations" } ], - "title" : "Decodable Implementations" + "title" : "Line", + "usr" : "s:6Euclid4LineV" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether the specified point lies on the line.", + "text" : "Callback used to cancel a long-running operation.", "type" : "text" } ], @@ -13704,7 +14309,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "typealias" }, { "kind" : "text", @@ -13712,41 +14317,66 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "CancellationHandler" + } + ], + "kind" : "org.swift.docc.kind.typeAlias", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/cancellationhandler", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler", + "taskGroups" : [ + + ], + "title" : "Mesh.CancellationHandler", + "usr" : "s:6Euclid4MeshV19CancellationHandlera" + }, + { + "abstract" : [ + { + "text" : "The rotation or orientation component of the transform.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "rotation" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/transform\/rotation", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid4LineV13containsPointySbAA6VectorVF" + "title" : "rotation", + "usr" : "s:6Euclid9TransformV8rotationAA8RotationVvp" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Rotation has no effect.", "type" : "text" } ], @@ -13756,7 +14386,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -13764,15 +14394,7 @@ }, { "kind" : "identifier", - "text" : "scale" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "isIdentity" }, { "kind" : "text", @@ -13780,36 +14402,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/scale(by:)-2pycj", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj", + "path" : "\/documentation\/euclid\/rotation\/isidentity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "isIdentity", + "usr" : "s:6Euclid8RotationV10isIdentitySbvp" }, { "abstract" : [ { - "text" : "Returns a new mesh representing the combined volume of the", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "mesh parameter and the receiver, with inner faces removed.", + "text" : "Angle representing a half-rotation.", "type" : "text" } ], @@ -13819,101 +14429,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "union" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "kind" : "identifier", + "text" : "pi" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "isCancelled" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" - }, - { - "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/union(_:iscancelled:)-swift.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.method", + "path" : "\/documentation\/euclid\/angle\/pi", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi", "taskGroups" : [ ], - "title" : "union(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV5union_11isCancelledA2C_SbyXEtF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Transformable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Transformable Implementations" + "title" : "pi", + "usr" : "s:6Euclid5AngleV2piACvpZ" }, { "abstract" : [ { - "text" : "The angle of rotation around the X-axis.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -13923,7 +14480,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -13931,7 +14488,15 @@ }, { "kind" : "identifier", - "text" : "pitch" + "text" : "translated" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -13939,24 +14504,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/pitch", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch", + "path" : "\/documentation\/euclid\/transformable\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)", "taskGroups" : [ ], - "title" : "pitch", - "usr" : "s:6Euclid10QuaternionV5pitchAA5AngleVvp" + "title" : "translated(by:)", + "usr" : "s:6Euclid13TransformableP10translated2byxAA6VectorV_tF" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "The quaternion W component.", "type" : "text" } ], @@ -13966,7 +14539,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -13974,15 +14547,7 @@ }, { "kind" : "identifier", - "text" : "scale" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "w" }, { "kind" : "text", @@ -13992,23 +14557,25 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/scale(by:)-vnel", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel", + "path" : "\/documentation\/euclid\/quaternion\/w", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "w", + "usr" : "s:6Euclid10QuaternionV1wSdvp" }, { + "abstract" : [ + { + "text" : "Transform the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -14031,7 +14598,7 @@ }, { "kind" : "identifier", - "text" : "..<" + "text" : "*=" }, { "kind" : "text", @@ -14042,45 +14609,45 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeUpToV", - "text" : "PartialRangeUpTo" + "text" : "Self" }, { "kind" : "text", - "text" : "<" + "text" : ", " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'.._(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)", + "path" : "\/documentation\/euclid\/plane\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)", "taskGroups" : [ ], - "title" : "..<(_:)", - "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Creates an array of glyph contours from an attributed string.", + "text" : "Computes the convex hull of one or more meshes.", "type" : "text" } ], @@ -14106,79 +14673,49 @@ }, { "kind" : "identifier", - "text" : "text" + "text" : "convexHull" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)NSAttributedString", - "text" : "NSAttributedString" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "width" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : "?, " - }, { "kind" : "externalParam", - "text" : "detail" + "text" : "of" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : ") -> [" + "text" : "]) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/text(_:width:detail:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:)-8x4al", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al", "taskGroups" : [ ], - "title" : "text(_:width:detail:)", - "usr" : "s:6Euclid4PathV4text_5width6detailSayACGSo18NSAttributedStringC_SdSgSitFZ" + "title" : "convexHull(of:)", + "usr" : "s:6Euclid4MeshV10convexHull2ofACSayACG_tFZ" }, { "abstract" : [ { - "text" : "Angle representing a half-rotation.", + "text" : "Deprecated.", "type" : "text" } ], @@ -14188,23 +14725,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "with" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "pi" + "kind" : "externalParam", + "text" : "color" }, { "kind" : "text", @@ -14212,24 +14749,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/pi", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi", + "path" : "\/documentation\/euclid\/path\/with(color:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)", "taskGroups" : [ ], - "title" : "pi", - "usr" : "s:6Euclid5AngleV2piACvpZ" + "title" : "with(color:)", + "usr" : "s:6Euclid4PathV4with5colorAcA5ColorVSg_tF" }, { "abstract" : [ { - "text" : "Indicates whether all the path’s points lie on a single plane.", + "text" : "Creates a rotation around the Z axis.", "type" : "text" } ], @@ -14239,7 +14788,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -14247,32 +14804,41 @@ }, { "kind" : "identifier", - "text" : "isPlanar" + "text" : "roll" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/isplanar", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar", + "path" : "\/documentation\/euclid\/rotation\/roll(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)", "taskGroups" : [ ], - "title" : "isPlanar", - "usr" : "s:6Euclid4PathV8isPlanarSbvp" + "title" : "roll(_:)", + "usr" : "s:6Euclid8RotationV4rollyAcA5AngleVFZ" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Creates a composite mesh from an array of submeshes.", "type" : "text" } ], @@ -14290,7 +14856,7 @@ }, { "kind" : "externalParam", - "text" : "polygons" + "text" : "submeshes" }, { "kind" : "text", @@ -14298,8 +14864,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", @@ -14308,21 +14874,18 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(polygons:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)", + "path" : "\/documentation\/euclid\/mesh\/init(submeshes:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)", "taskGroups" : [ ], - "title" : "init(polygons:)", - "usr" : "s:6Euclid6BoundsV8polygonsACSayAA7PolygonVG_tcfc" + "title" : "init(submeshes:)", + "usr" : "s:6Euclid4MeshV9submeshesACSayACG_tcfc" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates an angle representing the trigonometric arc tangent of the value you provide.", "type" : "text" } ], @@ -14332,32 +14895,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "scaled" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "atan" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -14365,24 +14928,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/scaled(by:)-8sjrv", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv", + "path" : "\/documentation\/euclid\/angle\/atan(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid7PolygonV6scaled2byAcA6VectorV_tF" + "title" : "atan(_:)", + "usr" : "s:6Euclid5AngleV4atanyACSdFZ" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Returns a rotation divided by the specified value.", "type" : "text" } ], @@ -14390,6 +14953,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -14400,72 +14971,80 @@ }, { "kind" : "identifier", - "text" : "with" + "text" : "\/" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "color" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/with(color:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)", + "path" : "\/documentation\/euclid\/rotation\/\/(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)", "taskGroups" : [ ], - "title" : "with(color:)", - "usr" : "s:6Euclid4PathV4with5colorAcA5ColorVSg_tF" + "title" : "\/(_:_:)", + "usr" : "s:6Euclid8RotationV1doiyA2C_SdtFZ" }, { + "abstract" : [ + { + "text" : "Rotate the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "rotate" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "red" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -14473,24 +15052,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/red", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red", + "path" : "\/documentation\/euclid\/transformable\/rotate(by:)-1l9u5", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-1l9u5", "taskGroups" : [ ], - "title" : "red", - "usr" : "s:6Euclid5ColorV3redACvpZ" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -14508,7 +15091,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "scaled" }, { "kind" : "text", @@ -14524,28 +15107,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)", + "path" : "\/documentation\/euclid\/pathpoint\/scaled(by:)-4wtbg", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid9PathPointV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Creates a bounds from a collection of bounds.", + "text" : "Creates a new line by decoding from the given decoder.", "type" : "text" } ], @@ -14559,58 +15147,44 @@ }, { "kind" : "text", - "text" : "<" + "text" : "(" }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : ">(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAC7ElementRtzlufc1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(_:)-r54o", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o", + "path" : "\/documentation\/euclid\/line\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6BoundsVyACxcSlRzAC7ElementRtzlufc" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "init(from:)", + "usr" : "s:6Euclid4LineV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Split the polygon along a plane.", + "text" : "Returns the area of the polygon.", "type" : "text" } ], @@ -14620,7 +15194,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -14628,15 +15202,7 @@ }, { "kind" : "identifier", - "text" : "split" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "along" + "text" : "area" }, { "kind" : "text", @@ -14644,54 +15210,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ") -> (front" - }, - { - "kind" : "text", - "text" : ": [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, - { - "kind" : "text", - "text" : "], back" - }, - { - "kind" : "text", - "text" : ": [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, - { - "kind" : "text", - "text" : "])" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/split(along:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)", + "path" : "\/documentation\/euclid\/polygon\/area", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area", "taskGroups" : [ ], - "title" : "split(along:)", - "usr" : "s:6Euclid7PolygonV5split5alongSayACG5front_AF4backtAA5PlaneV_tF" + "title" : "area", + "usr" : "s:6Euclid7PolygonV4areaSdvp" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "The minimum coordinate of the bounds.", "type" : "text" } ], @@ -14701,15 +15237,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -14717,47 +15245,27 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "min" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", + "path" : "\/documentation\/euclid\/bounds\/min", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "min", + "usr" : "s:6Euclid6BoundsV3minAA6VectorVvp" }, { "availableLanguages" : [ @@ -14782,7 +15290,7 @@ }, { "kind" : "identifier", - "text" : ">=" + "text" : "..<" }, { "kind" : "text", @@ -14798,36 +15306,40 @@ }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:s16PartialRangeUpToV", + "text" : "PartialRangeUpTo" }, { "kind" : "text", - "text" : ") -> " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/_=(_:_:)-9rm6o", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-9rm6o", + "path" : "\/documentation\/euclid\/vector\/'.._(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)", "taskGroups" : [ ], - "title" : ">=(_:_:)", - "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "..<(_:)", + "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a single polygon from a path.", + "text" : "Creates a copy of the polygon with the specified material.", "type" : "text" } ], @@ -14837,79 +15349,49 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "shape" + "kind" : "identifier", + "text" : "withMaterial" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "material" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ": " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?)" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/init(shape:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)", + "path" : "\/documentation\/euclid\/polygon\/withmaterial(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)", "taskGroups" : [ ], - "title" : "init(shape:material:)", - "usr" : "s:6Euclid7PolygonV5shape8materialACSgAA4PathV_s11AnyHashableVSgtcfc" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "withMaterial(_:)", + "usr" : "s:6Euclid7PolygonV12withMaterialyACs11AnyHashableVSgF" }, { "abstract" : [ { - "text" : "Returns the product of an angle and numeric multiplier.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -14917,14 +15399,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -14935,24 +15409,19 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -14965,24 +15434,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/*(_:_:)-8l78z", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z", + "path" : "\/documentation\/euclid\/polygon\/scaled(by:)-69m6m", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid5AngleV1moiyA2C_SdtFZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid7PolygonV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Returns a vector with its components divided by the specified value.", + "text" : "Creates a quaternion representing a rotation around the Y axis.", "type" : "text" } ], @@ -15008,11 +15477,7 @@ }, { "kind" : "identifier", - "text" : "\/" - }, - { - "kind" : "text", - "text" : " " + "text" : "yaw" }, { "kind" : "text", @@ -15020,17 +15485,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -15038,42 +15494,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/\/(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)", + "path" : "\/documentation\/euclid\/quaternion\/yaw(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw(_:)", "taskGroups" : [ ], - "title" : "\/(_:_:)", - "usr" : "s:6Euclid6VectorV1doiyA2C_SdtFZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Decodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" + "title" : "yaw(_:)", + "usr" : "s:6Euclid10QuaternionV3yawyAcA5AngleVFZ" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the mesh includes texture coordinates.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -15083,7 +15521,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -15091,7 +15529,15 @@ }, { "kind" : "identifier", - "text" : "hasTexcoords" + "text" : "translate" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -15099,24 +15545,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/hastexcoords", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords", + "path" : "\/documentation\/euclid\/path\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)", "taskGroups" : [ ], - "title" : "hasTexcoords", - "usr" : "s:6Euclid4MeshV12hasTexcoordsSbvp" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Returns a new vector that represents the mininum of the components of the two vectors.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -15134,50 +15584,44 @@ }, { "kind" : "identifier", - "text" : "min" + "text" : "rotate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.function", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/min(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)", + "path" : "\/documentation\/euclid\/path\/rotate(by:)-93ypi", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi", "taskGroups" : [ ], - "title" : "min(_:_:)", - "usr" : "s:6Euclid3minyAA6VectorVAD_ADtF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "The normalized direction of the line.", + "text" : "Creates a color from an array of component values.", "type" : "text" } ], @@ -15187,35 +15631,31 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?([" }, { - "kind" : "identifier", - "text" : "direction" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/direction", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction", + "path" : "\/documentation\/euclid\/color\/init(_:)-53lhy", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-53lhy", "taskGroups" : [ ], - "title" : "direction", - "usr" : "s:6Euclid4LineV9directionAA6VectorVvp" + "title" : "init(_:)", + "usr" : "s:6Euclid5ColorVyACSgSaySdGcfc" }, { "availableLanguages" : [ @@ -15223,30 +15663,22 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/comparable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Comparable-Implementations", + "path" : "\/documentation\/euclid\/plane\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Decodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-9rm6o" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)" ], - "title" : "Operators" + "title" : "Initializers" } ], - "title" : "Comparable Implementations" + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the mesh includes vertex colors.", + "text" : "Efficiently strokes an array of paths, avoiding duplicate work.", "type" : "text" } ], @@ -15256,7 +15688,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -15264,7 +15704,24 @@ }, { "kind" : "identifier", - "text" : "hasVertexColors" + "text" : "stroke" + }, + { + "kind" : "text", + "text" : "([" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, + { + "kind" : "text", + "text" : "], " + }, + { + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", @@ -15272,24 +15729,84 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "detail" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/hasvertexcolors", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors", + "path" : "\/documentation\/euclid\/mesh\/stroke(_:width:detail:material:iscancelled:)-9mn9o", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-9mn9o", "taskGroups" : [ ], - "title" : "hasVertexColors", - "usr" : "s:6Euclid4MeshV15hasVertexColorsSbvp" + "title" : "stroke(_:width:detail:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV6stroke_5width6detail8material11isCancelledACSayAA4PathVG_SdSis11AnyHashableVSgSbyXEtFZ" }, { "abstract" : [ { - "text" : "Alignment mode to use when extruding along a path.", + "text" : "Creates an array of contours by extruding one path along another path.", "type" : "text" } ], @@ -15299,7 +15816,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "enum" + "text" : "func" }, { "kind" : "text", @@ -15307,81 +15824,67 @@ }, { "kind" : "identifier", - "text" : "Alignment" - } - ], - "kind" : "org.swift.docc.kind.enumeration", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment", - "taskGroups" : [ + "text" : "extrusionContours" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent" - ], - "title" : "Enumeration Cases" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations" - ], - "title" : "Default Implementations" - } - ], - "title" : "Path.Alignment", - "usr" : "s:6Euclid4PathV9AlignmentO" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/line\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Equatable-Implementations", - "taskGroups" : [ + "kind" : "externalParam", + "text" : "along" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" - }, - { - "abstract" : [ + "kind" : "text", + "text" : ": " + }, { - "text" : "Tessellates the polygon into triangles.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "twist" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "triangulate" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "() -> [" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "align" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid4PathV9AlignmentO", + "text" : "Alignment" + }, + { + "kind" : "text", + "text" : ") -> [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", @@ -15390,18 +15893,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/triangulate()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()", + "path" : "\/documentation\/euclid\/path\/extrusioncontours(along:twist:align:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/extrusionContours(along:twist:align:)", "taskGroups" : [ ], - "title" : "triangulate()", - "usr" : "s:6Euclid7PolygonV11triangulateSayACGyF" + "title" : "extrusionContours(along:twist:align:)", + "usr" : "s:6Euclid4PathV17extrusionContours5along5twist5alignSayACGAC_AA5AngleVAC9AlignmentOtF" }, { "abstract" : [ { - "text" : "Creates a offset transform.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -15411,27 +15914,27 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "offset" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", @@ -15440,28 +15943,49 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/offset(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)", + "path" : "\/documentation\/euclid\/path\/scale(by:)-1kdd7", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7", "taskGroups" : [ ], - "title" : "offset(_:)", - "usr" : "s:6Euclid9TransformV6offsetyAcA6VectorVFZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4PathV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/comparable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Comparable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-8q2nt" + ], + "title" : "Operators" + } + ], + "title" : "Comparable Implementations" }, { "abstract" : [ { - "text" : "The default wrap behavior. Context-dependent.", + "text" : "A distance or position in 3D space.", "type" : "text" } ], @@ -15471,7 +15995,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "struct" }, { "kind" : "text", @@ -15479,23 +16003,131 @@ }, { "kind" : "identifier", - "text" : "`default`" + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/default", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default", + "path" : "\/documentation\/euclid\/vector", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector", "taskGroups" : [ - + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-228p6", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk" + ], + "title" : "Creating Vectors" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ" + ], + "title" : "Default Vectors" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne" + ], + "title" : "Vector Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)" + ], + "title" : "Computing Vectors" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)" + ], + "title" : "Interpolating Vectors" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)" + ], + "title" : "Transforming Vectors" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-3eglz", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-817o2", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-rksk" + ], + "title" : "Comparing Vectors" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized" + ], + "title" : "Instance Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/AdditiveArithmetic-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Comparable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Transformable-Implementations" + ], + "title" : "Default Implementations" + } ], - "title" : "Mesh.WrapMode.default", - "usr" : "s:6Euclid4MeshV8WrapModeO7defaultyA2EmF" + "title" : "Vector", + "usr" : "s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -15503,6 +16135,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -15513,19 +16153,23 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "*" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", @@ -15534,18 +16178,22 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)", + "path" : "\/documentation\/euclid\/transformable\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ" }, { "availableLanguages" : [ @@ -15553,22 +16201,22 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Equatable-Implementations", + "path" : "\/documentation\/euclid\/path\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Encodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)" ], - "title" : "Operators" + "title" : "Instance Methods" } ], - "title" : "Equatable Implementations" + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether the specified point lies on the line segment.", + "text" : "Computes the trigonometric tangent of an angle.", "type" : "text" } ], @@ -15586,7 +16234,7 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "tan" }, { "kind" : "text", @@ -15594,8 +16242,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -15603,24 +16251,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.function", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/tan(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid11LineSegmentV13containsPointySbAA6VectorVF" + "title" : "tan(_:)", + "usr" : "s:6Euclid3tanySdAA5AngleVF" }, { "abstract" : [ { - "text" : "The texture coordinate of the path point (optional). If omitted, will be inferred automatically.", + "text" : "Returns the distance between the vector (representing a position in space) from the specified plane.", "type" : "text" } ], @@ -15630,7 +16278,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -15638,7 +16286,15 @@ }, { "kind" : "identifier", - "text" : "texcoord" + "text" : "distance" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", @@ -15646,35 +16302,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : "?" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/texcoord", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord", + "path" : "\/documentation\/euclid\/vector\/distance(from:)-5p7ko", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko", "taskGroups" : [ ], - "title" : "texcoord", - "usr" : "s:6Euclid9PathPointV8texcoordAA6VectorVSgvp" + "title" : "distance(from:)", + "usr" : "s:6Euclid6VectorV8distance4fromSdAA5PlaneV_tF" }, { - "abstract" : [ - { - "text" : "Translate the value in place.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -15685,39 +16348,47 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : ">" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)", + "path" : "\/documentation\/euclid\/vector\/_(_:_:)-7i9lp", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : ">(_:_:)", + "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "availableLanguages" : [ @@ -15725,19 +16396,25 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations", + "path" : "\/documentation\/euclid\/mesh\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Equatable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)" ], - "title" : "Initializers" + "title" : "Operators" } ], - "title" : "Decodable Implementations" + "title" : "Equatable Implementations" }, { + "abstract" : [ + { + "text" : "Transform the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -15760,7 +16437,7 @@ }, { "kind" : "identifier", - "text" : ">=" + "text" : "*=" }, { "kind" : "text", @@ -15771,12 +16448,12 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { "kind" : "typeIdentifier", @@ -15784,36 +16461,32 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/_=(_:_:)-5nk27", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27", + "path" : "\/documentation\/euclid\/pathpoint\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)", "taskGroups" : [ ], - "title" : ">=(_:_:)", - "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Returns a new mesh that retains the shape of the receiver, but with", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "the intersecting area colored using material from the parameter.", + "text" : "The angle of rotation around the X-axis.", "type" : "text" } ], @@ -15823,7 +16496,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -15831,76 +16504,79 @@ }, { "kind" : "identifier", - "text" : "stencil" + "text" : "pitch" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/pitch", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch", + "taskGroups" : [ + + ], + "title" : "pitch", + "usr" : "s:6Euclid8RotationV5pitchAA5AngleVvp" + }, + { + "abstract" : [ + { + "text" : "An array containing the raw components of the quaternion.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "isCancelled" + "kind" : "identifier", + "text" : "components" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stencil(_:iscancelled:)-swift.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.method", + "path" : "\/documentation\/euclid\/quaternion\/components", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components", "taskGroups" : [ ], - "title" : "stencil(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV7stencil_11isCancelledA2C_SbyXEtF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "components", + "usr" : "s:6Euclid10QuaternionV10componentsSaySdGvp" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates a new vertex by decoding from the given decoder.", "type" : "text" } ], @@ -15910,15 +16586,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "scaled" + "text" : "init" }, { "kind" : "text", @@ -15926,7 +16594,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -15934,33 +16602,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/scaled(by:)-5dvvh", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh", + "path" : "\/documentation\/euclid\/vertex\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6BoundsV6scaled2byAcA6VectorV_tF" + "title" : "init(from:)", + "usr" : "s:6Euclid6VertexV4fromACs7Decoder_p_tKcfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Encodes this polygon into the given encoder.", + "text" : "Creates a quaternion from raw components.", "type" : "text" } ], @@ -15970,56 +16655,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "encode" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "to" + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "?([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)", + "path" : "\/documentation\/euclid\/quaternion\/init(_:)-fyhx", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid7PolygonV6encode2toys7Encoder_p_tKF" + "title" : "init(_:)", + "usr" : "s:6Euclid10QuaternionVyACSgSaySdGcfc" }, { "abstract" : [ { - "text" : "Angle representing a full rotation.", + "text" : "A path made up of a sequence of straight line segments between points.", "type" : "text" } ], @@ -16029,48 +16694,132 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "struct" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "Path" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/path", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty" + ], + "title" : "Default Paths" }, { - "kind" : "text", - "text" : " " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:detail:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)" + ], + "title" : "Creating Paths" }, { - "kind" : "identifier", - "text" : "twoPi" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/ellipse(width:height:segments:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rectangle(width:height:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/roundedRectangle(width:height:radius:detail:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)" + ], + "title" : "Creating Shape Paths" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:font:width:detail:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)" + ], + "title" : "Creating Text Paths" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isClosed", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar" + ], + "title" : "Path Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/closed()" + ], + "title" : "Transforming Paths" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)" + ], + "title" : "Initializers" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths" + ], + "title" : "Instance Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/extrusionContours(along:twist:align:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/facePolygons(material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)" + ], + "title" : "Instance Methods" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment" + ], + "title" : "Enumerations" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-Implementations" + ], + "title" : "Default Implementations" } ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/twopi", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi", - "taskGroups" : [ - - ], - "title" : "twoPi", - "usr" : "s:6Euclid5AngleV5twoPiACvpZ" + "title" : "Path", + "usr" : "s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "The angle of rotation.", + "text" : "Creates a new vector by decoding from the given decoder.", "type" : "text" } ], @@ -16080,15 +16829,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "angle" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", @@ -16096,19 +16845,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/angle", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle", + "path" : "\/documentation\/euclid\/bounds\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)", "taskGroups" : [ ], - "title" : "angle", - "usr" : "s:6Euclid8RotationV5angleAA5AngleVvp" + "title" : "init(from:)", + "usr" : "s:6Euclid6BoundsV4fromACs7Decoder_p_tKcfc" }, { "availableLanguages" : [ @@ -16133,7 +16890,7 @@ }, { "kind" : "identifier", - "text" : "..<" + "text" : "!=" }, { "kind" : "text", @@ -16161,36 +16918,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sn", - "text" : "Range" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'.._(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)", + "path" : "\/documentation\/euclid\/path\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)", "taskGroups" : [ ], - "title" : "..<(_:_:)", - "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Returns a new vector representing the maximum of the components of the two vectors.", "type" : "text" } ], @@ -16208,24 +16953,25 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "max" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -16233,18 +16979,19 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.function", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)", + "path" : "\/documentation\/euclid\/max(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/max(_:_:)", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "max(_:_:)", + "usr" : "s:6Euclid3maxyAA6VectorVAD_ADtF" }, { "availableLanguages" : [ @@ -16269,7 +17016,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : ">=" }, { "kind" : "text", @@ -16303,18 +17050,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)", + "path" : "\/documentation\/euclid\/plane\/_=(_:_:)-5nk27", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : ">=(_:_:)", + "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -16332,7 +17079,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "translate" }, { "kind" : "text", @@ -16348,8 +17095,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -16358,56 +17105,15 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)", + "path" : "\/documentation\/euclid\/transformable\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid9TransformV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Transformable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Transformable Implementations" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF" }, { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -16430,7 +17136,7 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "..." }, { "kind" : "text", @@ -16450,32 +17156,44 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "Self" }, { "kind" : "text", "text" : ") -> " }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SN", + "text" : "ClosedRange" + }, + { + "kind" : "text", + "text" : "<" + }, { "kind" : "typeIdentifier", "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/'...(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "...(_:_:)", + "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Does the transform apply a mirror operation (negative scale)?", + "text" : "Creates a new line segment by decoding from the given decoder.", "type" : "text" } ], @@ -16485,15 +17203,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "isFlipped" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", @@ -16501,25 +17219,41 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/isflipped", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped", + "path" : "\/documentation\/euclid\/linesegment\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)", "taskGroups" : [ ], - "title" : "isFlipped", - "usr" : "s:6Euclid9TransformV9isFlippedSbvp" + "title" : "init(from:)", + "usr" : "s:6Euclid11LineSegmentV4fromACs7Decoder_p_tKcfc" }, { "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -16530,7 +17264,11 @@ }, { "kind" : "identifier", - "text" : "subtract" + "text" : "..." + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -16538,53 +17276,44 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "isCancelled" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s16PartialRangeFromV", + "text" : "PartialRangeFrom" }, { "kind" : "text", - "text" : ": " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/subtract(_:iscancelled:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)", + "path" : "\/documentation\/euclid\/linesegment\/'...(_:)-2uz97", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97", "taskGroups" : [ ], - "title" : "subtract(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV8subtract_11isCancelledA2C_SbyXEtF" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Returns the flip-side of the plane.", + "text" : "A closure that maps a Euclid material to an STL facet color.", "type" : "text" } ], @@ -16594,7 +17323,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "typealias" }, { "kind" : "text", @@ -16602,32 +17331,23 @@ }, { "kind" : "identifier", - "text" : "inverted" - }, - { - "kind" : "text", - "text" : "() -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : "STLColorProvider" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()", + "path" : "\/documentation\/euclid\/mesh\/stlcolorprovider", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid5PlaneV8invertedACyF" + "title" : "Mesh.STLColorProvider", + "usr" : "s:6Euclid4MeshV16STLColorProvidera" }, { "abstract" : [ { - "text" : "Creates a new quaternion by decoding from the given decoder.", + "text" : "Efficiently strokes a collection of line segments (useful for drawing wireframes).", "type" : "text" } ], @@ -16637,74 +17357,82 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "identifier", + "text" : "stroke" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" + }, + { + "kind" : "text", + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:6Euclid4MeshV6stroke_5width6detail8materialACx_SdSis11AnyHashableVSgtSlRzAA11LineSegmentV7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : ") " + "text" : ", " }, { - "kind" : "keyword", - "text" : "throws" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)", - "taskGroups" : [ - - ], - "title" : "init(from:)", - "usr" : "s:6Euclid10QuaternionV4fromACs7Decoder_p_tKcfc" - }, - { - "abstract" : [ + "kind" : "externalParam", + "text" : "width" + }, { - "text" : "Translate the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "translate" + "kind" : "externalParam", + "text" : "detail" }, { "kind" : "text", - "text" : "(" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "material" }, { "kind" : "text", @@ -16712,28 +17440,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ")" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)", + "path" : "\/documentation\/euclid\/mesh\/stroke(_:width:detail:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "stroke(_:width:detail:material:)", + "usr" : "s:6Euclid4MeshV6stroke_5width6detail8materialACx_SdSis11AnyHashableVSgtSlRzAA11LineSegmentV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Linearly interpolates between two path points.", + "text" : "Creates an axis-aligned cuboidal mesh.", "type" : "text" } ], @@ -16741,6 +17474,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -16751,128 +17492,112 @@ }, { "kind" : "identifier", - "text" : "lerp" + "text" : "cube" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "kind" : "externalParam", + "text" : "center" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/lerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)", - "taskGroups" : [ - - ], - "title" : "lerp(_:_:)", - "usr" : "s:6Euclid9PathPointV4lerpyA2C_SdtF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Equatable-Implementations", - "taskGroups" : [ + "kind" : "externalParam", + "text" : "size" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "static" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "!=" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : " " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "wrapMode" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", + "text" : "WrapMode" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/cube(center:size:faces:wrapmode:material:)-8t5q8", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-8t5q8", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "cube(center:size:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV4cube6center4size5faces8wrapMode8materialAcA6VectorV_AkC5FacesOAC04WrapH0Os11AnyHashableVSgtFZ" }, { "abstract" : [ @@ -16921,18 +17646,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)", + "path" : "\/documentation\/euclid\/mesh\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)", "taskGroups" : [ ], "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "Merges coplanar polygons that share one or more edges, provided the result will be convex.", + "text" : "Returns the point where the specified line intersects this one.", "type" : "text" } ], @@ -16950,27 +17675,48 @@ }, { "kind" : "identifier", - "text" : "detriangulate" + "text" : "intersection" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "with" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/detriangulate()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()", + "path" : "\/documentation\/euclid\/line\/intersection(with:)-2nysu", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu", "taskGroups" : [ ], - "title" : "detriangulate()", - "usr" : "s:6Euclid4MeshV13detriangulateACyF" + "title" : "intersection(with:)", + "usr" : "s:6Euclid4LineV12intersection4withAA6VectorVSgAC_tF" }, { "availableLanguages" : [ @@ -17009,22 +17755,14 @@ "kind" : "typeIdentifier", "text" : "Self" }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, { "kind" : "text", "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SN", - "text" : "ClosedRange" + "preciseIdentifier" : "s:s19PartialRangeThroughV", + "text" : "PartialRangeThrough" }, { "kind" : "text", @@ -17041,22 +17779,28 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/'...(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/'...(_:)-732z3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3", "taskGroups" : [ ], - "title" : "...(_:_:)", - "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { + "abstract" : [ + { + "text" : "Returns an array containing the red, green, blue, and alpha components of the color.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -17064,61 +17808,97 @@ }, { "kind" : "identifier", - "text" : "xor" + "text" : "components" }, { "kind" : "text", - "text" : "(" + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ", " - }, + "text" : "]" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/components", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components", + "taskGroups" : [ + + ], + "title" : "components", + "usr" : "s:6Euclid5ColorV10componentsSaySdGvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Encodable-Implementations", + "taskGroups" : [ { - "kind" : "externalParam", - "text" : "isCancelled" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" + }, + { + "abstract" : [ + { + "text" : "The quaternion Y component.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "kind" : "identifier", + "text" : "y" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/xor(_:iscancelled:)-swift.method", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method", + "path" : "\/documentation\/euclid\/quaternion\/y", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y", "taskGroups" : [ ], - "title" : "xor(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV3xor_11isCancelledA2C_SbyXEtF" + "title" : "y", + "usr" : "s:6Euclid10QuaternionV1ySdvp" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Creates a composite path from an array of subpaths.", "type" : "text" } ], @@ -17128,15 +17908,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "translate" + "text" : "init" }, { "kind" : "text", @@ -17144,36 +17916,36 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "subpaths" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ")" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)", + "path" : "\/documentation\/euclid\/path\/init(subpaths:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "init(subpaths:)", + "usr" : "s:6Euclid4PathV8subpathsACSayACG_tcfc" }, { "abstract" : [ { - "text" : "Align extruded cross-sections with the X, Y or Z axis", + "text" : "The position of the center of the polygon.", "type" : "text" }, { @@ -17181,7 +17953,16 @@ "type" : "text" }, { - "text" : "(whichever is most perpendicular to the extrusion path).", + "text" : "This is calculated as the average of the vertex positions, and may not be equal to the center of the polygon’s ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", "type" : "text" } ], @@ -17191,7 +17972,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "var" }, { "kind" : "text", @@ -17199,30 +17980,41 @@ }, { "kind" : "identifier", - "text" : "axis" + "text" : "center" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment\/axis", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis", + "path" : "\/documentation\/euclid\/polygon\/center", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center", "taskGroups" : [ ], - "title" : "Path.Alignment.axis", - "usr" : "s:6Euclid4PathV9AlignmentO4axisyA2EmF" + "title" : "center", + "usr" : "s:6Euclid7PolygonV6centerAA6VectorVvp" }, { - "abstract" : [ - { - "text" : "Removes hairline cracks by inserting additional vertices without altering the shape.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -17233,32 +18025,64 @@ }, { "kind" : "identifier", - "text" : "makeWatertight" + "text" : "..." }, { "kind" : "text", - "text" : "() -> " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SN", + "text" : "ClosedRange" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/makewatertight()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()", + "path" : "\/documentation\/euclid\/angle\/'...(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:_:)", "taskGroups" : [ ], - "title" : "makeWatertight()", - "usr" : "s:6Euclid4MeshV14makeWatertightACyF" + "title" : "...(_:_:)", + "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Computes the cross-product of this vector and another.", "type" : "text" } ], @@ -17276,44 +18100,59 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "cross" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)", + "path" : "\/documentation\/euclid\/vector\/cross(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "cross(_:)", + "usr" : "s:6Euclid6VectorV5crossyA2CF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "The quaternion X component.", "type" : "text" } ], @@ -17323,7 +18162,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -17331,56 +18170,88 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "x" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/x", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x", + "taskGroups" : [ + + ], + "title" : "x", + "usr" : "s:6Euclid10QuaternionV1xSdvp" + }, + { + "abstract" : [ + { + "text" : "Creates a bounds from a collection of ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", + "isActive" : true, + "type" : "reference" + }, + { + "text" : " objects.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "<" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : ") -> " + "text" : ">(" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAA7Bounded7ElementRpzlufc1TL_xmfp", + "text" : "T" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/transformed(by:)-9m686", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-9m686", + "path" : "\/documentation\/euclid\/bounds\/init(_:)-1icmf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformableP11transformed2byxAA9TransformV_tF" + "title" : "init(_:)", + "usr" : "s:6Euclid6BoundsVyACxcSlRzAA7Bounded7ElementRpzlufc" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the quaternion has a length of ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : ".", + "text" : "A Boolean value that indicates whether the bounds is empty (has zero volume).", "type" : "text" } ], @@ -17398,7 +18269,7 @@ }, { "kind" : "identifier", - "text" : "isNormalized" + "text" : "isEmpty" }, { "kind" : "text", @@ -17412,18 +18283,18 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/isnormalized", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized", + "path" : "\/documentation\/euclid\/bounds\/isempty", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty", "taskGroups" : [ ], - "title" : "isNormalized", - "usr" : "s:6Euclid10QuaternionV12isNormalizedSbvp" + "title" : "isEmpty", + "usr" : "s:6Euclid6BoundsV7isEmptySbvp" }, { "abstract" : [ { - "text" : "Creates a new vector by decoding from the given decoder.", + "text" : "The bounds of the mesh.", "type" : "text" } ], @@ -17433,15 +18304,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "identifier", + "text" : "bounds" }, { "kind" : "text", @@ -17449,32 +18320,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)", + "path" : "\/documentation\/euclid\/mesh\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid6BoundsV4fromACs7Decoder_p_tKcfc" + "title" : "bounds", + "usr" : "s:6Euclid4MeshV6boundsAA6BoundsVvp" }, { "abstract" : [ { - "text" : "Returns the nearest point on the specified line to the vector (representing a position in space).", + "text" : "The normalized direction of the line.", "type" : "text" } ], @@ -17484,7 +18347,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -17492,46 +18355,35 @@ }, { "kind" : "identifier", - "text" : "project" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "onto" + "text" : "direction" }, { "kind" : "text", "text" : ": " }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" - }, - { - "kind" : "text", - "text" : ") -> " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/project(onto:)-rksk", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-rksk", + "path" : "\/documentation\/euclid\/line\/direction", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction", "taskGroups" : [ ], - "title" : "project(onto:)", - "usr" : "s:6Euclid6VectorV7project4ontoAcA4LineV_tF" + "title" : "direction", + "usr" : "s:6Euclid4LineV9directionAA6VectorVvp" }, { + "abstract" : [ + { + "text" : "Multiplies the components of the vector by the specified value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -17554,7 +18406,7 @@ }, { "kind" : "identifier", - "text" : "..<" + "text" : "*=" }, { "kind" : "text", @@ -17565,53 +18417,46 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sn", - "text" : "Range" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "<" + "text" : ", " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/'.._(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)", + "path" : "\/documentation\/euclid\/vector\/*=(_:_:)-9l46a", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a", "taskGroups" : [ ], - "title" : "..<(_:_:)", - "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid6VectorV2meoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "Efficiently strokes an array of paths, avoiding duplicate work.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -17637,84 +18482,28 @@ }, { "kind" : "identifier", - "text" : "stroke" - }, - { - "kind" : "text", - "text" : "([" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "], " - }, - { - "kind" : "externalParam", - "text" : "width" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "*" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "detail" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "isCancelled" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -17722,24 +18511,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stroke(_:width:detail:material:iscancelled:)-9mn9o", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-9mn9o", + "path" : "\/documentation\/euclid\/bounds\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)", "taskGroups" : [ ], - "title" : "stroke(_:width:detail:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV6stroke_5width6detail8material11isCancelledACSayAA4PathVG_SdSis11AnyHashableVSgSbyXEtFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -17757,7 +18545,7 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "rotate" }, { "kind" : "text", @@ -17773,35 +18561,25 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)", + "path" : "\/documentation\/euclid\/vector\/rotate(by:)-hj8h", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { - "abstract" : [ - { - "text" : "Computes the convex hull of a set of path points.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -17824,74 +18602,95 @@ }, { "kind" : "identifier", - "text" : "convexHull" + "text" : "..." }, { "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" + "text" : " " }, { "kind" : "text", - "text" : ">(" + "text" : "(" }, { - "kind" : "externalParam", - "text" : "of" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA9PathPointV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:s19PartialRangeThroughV", + "text" : "PartialRangeThrough" }, { "kind" : "text", - "text" : ", " + "text" : "<" }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " - }, + "text" : ">" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/'...(_:)-8feph", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph", + "taskGroups" : [ + + ], + "title" : "...(_:)", + "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" + }, + { + "abstract" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "text" : "Creates a path point from a vertex.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : "?) -> " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-5ztum", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-5ztum", + "path" : "\/documentation\/euclid\/pathpoint\/init(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA9PathPointV7ElementRtzlFZ" + "title" : "init(_:)", + "usr" : "s:6Euclid9PathPointVyAcA6VertexVcfc" }, { "abstract" : [ { - "text" : "A path made up of a sequence of straight line segments between points.", + "text" : "The polygons that make up the mesh.", "type" : "text" } ], @@ -17901,7 +18700,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "var" }, { "kind" : "text", @@ -17909,124 +18708,102 @@ }, { "kind" : "identifier", - "text" : "Path" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/path", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path", - "taskGroups" : [ + "text" : "polygons" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty" - ], - "title" : "Default Paths" + "kind" : "text", + "text" : ": [" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:detail:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)" - ], - "title" : "Creating Paths" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/ellipse(width:height:segments:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rectangle(width:height:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/roundedRectangle(width:height:radius:detail:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)" - ], - "title" : "Creating Shape Paths" - }, + "kind" : "text", + "text" : "]" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/polygons", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons", + "taskGroups" : [ + + ], + "title" : "polygons", + "usr" : "s:6Euclid4MeshV8polygonsSayAA7PolygonVGvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Decodable-Implementations", + "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:font:width:detail:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" ], - "title" : "Creating Text Paths" - }, + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" + }, + { + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isClosed", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar" - ], - "title" : "Path Properties" - }, + "text" : "Creates a bounds from two points.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/closed()" - ], - "title" : "Transforming Paths" + "kind" : "keyword", + "text" : "init" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)" - ], - "title" : "Initializers" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths" - ], - "title" : "Instance Properties" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/extrusionContours(along:twist:align:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/facePolygons(material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : ", " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment" - ], - "title" : "Enumerations" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "text", + "text" : ")" } ], - "title" : "Path", - "usr" : "s:6Euclid4PathV" + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/init(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)", + "taskGroups" : [ + + ], + "title" : "init(_:_:)", + "usr" : "s:6Euclid6BoundsVyAcA6VectorV_AEtcfc" }, { "abstract" : [ { - "text" : "Creates a rotationally symmetrical mesh by turning the specified path around the Y axis.", + "text" : "Generate back faces.", "type" : "text" } ], @@ -18036,12 +18813,38 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "case" }, { "kind" : "text", "text" : " " }, + { + "kind" : "identifier", + "text" : "back" + } + ], + "kind" : "org.swift.docc.kind.enumerationCase", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/faces\/back", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back", + "taskGroups" : [ + + ], + "title" : "Mesh.Faces.back", + "usr" : "s:6Euclid4MeshV5FacesO4backyA2EmF" + }, + { + "abstract" : [ + { + "text" : "Returns a Boolean value that indicates if the bounds intersects the specified plane.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -18052,7 +18855,7 @@ }, { "kind" : "identifier", - "text" : "lathe" + "text" : "intersects" }, { "kind" : "text", @@ -18060,33 +18863,51 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "slices" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/intersects(_:)-7br6p", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p", + "taskGroups" : [ + + ], + "title" : "intersects(_:)", + "usr" : "s:6Euclid6BoundsV10intersectsySbAA5PlaneVF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "The red component of the color.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "poleDetail" + "kind" : "identifier", + "text" : "r" }, { "kind" : "text", @@ -18094,33 +18915,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, + "preciseIdentifier" : "s:Sd", + "text" : "Double" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/r", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r", + "taskGroups" : [ + + ], + "title" : "r", + "usr" : "s:6Euclid5ColorV1rSdvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Encodes this line segment into the given encoder.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "addDetailForFlatPoles" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "kind" : "identifier", + "text" : "encode" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "faces" + "text" : "to" }, { "kind" : "text", @@ -18128,33 +18966,58 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ", " + "text" : ") " }, { - "kind" : "externalParam", - "text" : "wrapMode" + "kind" : "keyword", + "text" : "throws" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)", + "taskGroups" : [ + + ], + "title" : "encode(to:)", + "usr" : "s:6Euclid11LineSegmentV6encode2toys7Encoder_p_tKF" + }, + { + "abstract" : [ + { + "text" : "Transform the value in place.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "kind" : "identifier", + "text" : "transform" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "by" }, { "kind" : "text", @@ -18162,33 +19025,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/lathe(_:slices:poledetail:adddetailforflatpoles:faces:wrapmode:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", + "path" : "\/documentation\/euclid\/mesh\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)", "taskGroups" : [ ], - "title" : "lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV5lathe_6slices10poleDetail03addF12ForFlatPoles5faces8wrapMode8materialAcA4PathV_S2iSbAC5FacesOAC04WrapM0Os11AnyHashableVSgtFZ" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the polygon is convex.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -18198,7 +19056,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -18206,7 +19064,15 @@ }, { "kind" : "identifier", - "text" : "isConvex" + "text" : "rotate" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -18214,24 +19080,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/isconvex", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex", + "path" : "\/documentation\/euclid\/mesh\/rotate(by:)-7y2vv", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv", "taskGroups" : [ ], - "title" : "isConvex", - "usr" : "s:6Euclid7PolygonV8isConvexSbvp" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -18249,7 +19119,7 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "scale" }, { "kind" : "text", @@ -18265,32 +19135,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)", + "path" : "\/documentation\/euclid\/bounds\/scale(by:)-mpk5", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-mpk5", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -18308,7 +19174,7 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "rotated" }, { "kind" : "text", @@ -18324,28 +19190,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)", + "path" : "\/documentation\/euclid\/polygon\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "rotated(by:)", + "usr" : "s:6Euclid7PolygonV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "A combined rotation, position, and scale that can be applied to a 3D object.", + "text" : "The bounding box containing the polygon.", "type" : "text" } ], @@ -18355,7 +19226,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "var" }, { "kind" : "text", @@ -18363,81 +19234,32 @@ }, { "kind" : "identifier", - "text" : "Transform" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)" - ], - "title" : "Creating Transforms" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity" - ], - "title" : "Default Transforms" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity" - ], - "title" : "Transform properties" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)" - ], - "title" : "Combining Transforms" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" - ], - "title" : "Operators" + "text" : "bounds" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3" - ], - "title" : "Initializers" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Transformable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "title" : "Transform", - "usr" : "s:6Euclid9TransformV" + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "taskGroups" : [ + + ], + "title" : "bounds", + "usr" : "s:6Euclid7PolygonV6boundsAA6BoundsVvp" }, { "abstract" : [ { - "text" : "The length of the line segment.", + "text" : "A surface normal vector, perpendicular to the plane.", "type" : "text" } ], @@ -18447,7 +19269,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "let" }, { "kind" : "text", @@ -18455,7 +19277,7 @@ }, { "kind" : "identifier", - "text" : "length" + "text" : "normal" }, { "kind" : "text", @@ -18463,24 +19285,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/length", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length", + "path" : "\/documentation\/euclid\/plane\/normal", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal", "taskGroups" : [ ], - "title" : "length", - "usr" : "s:6Euclid11LineSegmentV6lengthSdvp" + "title" : "normal", + "usr" : "s:6Euclid5PlaneV6normalAA6VectorVvp" }, { "abstract" : [ { - "text" : "Computes a set of edges where the polygon intersects a plane.", + "text" : "The identity transform (i.e. no transform).", "type" : "text" } ], @@ -18490,23 +19312,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "edges" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "intersecting" + "kind" : "identifier", + "text" : "identity" }, { "kind" : "text", @@ -18514,46 +19336,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sh", - "text" : "Set" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/edges(intersecting:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)", + "path" : "\/documentation\/euclid\/transform\/identity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity", "taskGroups" : [ ], - "title" : "edges(intersecting:)", - "usr" : "s:6Euclid7PolygonV5edges12intersectingShyAA11LineSegmentVGAA5PlaneV_tF" + "title" : "identity", + "usr" : "s:6Euclid9TransformV8identityACvpZ" }, { "abstract" : [ { - "text" : "A point along a path.", + "text" : "Creates a curved path point at the specified position.", "type" : "text" } ], @@ -18563,130 +19363,91 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "PathPoint" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint", - "taskGroups" : [ + "kind" : "keyword", + "text" : "func" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:texcoord:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:_:_:texcoord:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)" - ], - "title" : "Creating Path Points" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved" - ], - "title" : "Path Point Properties" + "kind" : "identifier", + "text" : "curve" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)" - ], - "title" : "Interpolating Path Points" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curved(_:)" - ], - "title" : "Transforming Path Points" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : ", " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Transformable-Implementations" - ], - "title" : "Default Implementations" - } - ], - "title" : "PathPoint", - "usr" : "s:6Euclid9PathPointV" - }, - { - "abstract" : [ + "kind" : "externalParam", + "text" : "texcoord" + }, { - "text" : "Creates a color from a CoreGraphics ", - "type" : "text" + "kind" : "text", + "text" : ": " }, { - "code" : "CGColor", - "type" : "codeVoice" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { - "text" : ".", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : "?, " + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "externalParam", + "text" : "color" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CGColorRef", - "text" : "CGColor" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ")" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(_:)-25eby", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby", + "path" : "\/documentation\/euclid\/pathpoint\/curve(_:texcoord:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid5ColorVyACSo10CGColorRefacfc" + "title" : "curve(_:texcoord:color:)", + "usr" : "s:6Euclid9PathPointV5curve_8texcoord5colorAcA6VectorV_AHSgAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "All vector components are one (or close to one) in length.", + "text" : "Encodes this plane into the given encoder.", "type" : "text" } ], @@ -18696,7 +19457,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -18704,7 +19465,15 @@ }, { "kind" : "identifier", - "text" : "isOne" + "text" : "encode" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", @@ -18712,40 +19481,35 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/isone", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne", + "path" : "\/documentation\/euclid\/plane\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)", "taskGroups" : [ ], - "title" : "isOne", - "usr" : "s:6Euclid6VectorV5isOneSbvp" + "title" : "encode(to:)", + "usr" : "s:6Euclid5PlaneV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Display the 3D shapes you created with meshes.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.article", - "language" : "swift", - "path" : "\/documentation\/euclid\/renderingmeshes", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes", - "taskGroups" : [ - - ], - "title" : "Rendering Meshes" - }, - { "availableLanguages" : [ "swift" ], @@ -18768,7 +19532,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "*" }, { "kind" : "text", @@ -18788,7 +19552,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -18796,24 +19561,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Rotation has no effect.", + "text" : "Divides the components of the vector by the value you provide.", "type" : "text" } ], @@ -18823,7 +19587,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -18831,32 +19603,57 @@ }, { "kind" : "identifier", - "text" : "isIdentity" + "text" : "\/=" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/isidentity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity", + "path" : "\/documentation\/euclid\/vector\/\/=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/=(_:_:)", "taskGroups" : [ ], - "title" : "isIdentity", - "usr" : "s:6Euclid8RotationV10isIdentitySbvp" + "title" : "\/=(_:_:)", + "usr" : "s:6Euclid6VectorV2deoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "Texture is shrink-wrapped.", + "text" : "Creates a path from an array of path points.", "type" : "text" } ], @@ -18866,31 +19663,72 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "([" }, { - "kind" : "identifier", - "text" : "shrink" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" + }, + { + "kind" : "text", + "text" : "])" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/shrink", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink", + "path" : "\/documentation\/euclid\/path\/init(_:)-4jhkw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw", "taskGroups" : [ ], - "title" : "Mesh.WrapMode.shrink", - "usr" : "s:6Euclid4MeshV8WrapModeO6shrinkyA2EmF" + "title" : "init(_:)", + "usr" : "s:6Euclid4PathVyACSayAA0B5PointVGcfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/additivearithmetic-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/AdditiveArithmetic-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero" + ], + "title" : "Type Properties" + } + ], + "title" : "AdditiveArithmetic Implementations" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether two line segements intersect.", + "text" : "Creates a Path from a ", + "type" : "text" + }, + { + "code" : "CGPath", + "type" : "codeVoice" + }, + { + "text" : ". The returned path may contain nested subpaths.", "type" : "text" } ], @@ -18900,49 +19738,70 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "intersects" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@T@CGPathRef", + "text" : "CGPath" }, { "kind" : "text", - "text" : "(" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "detail" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "color" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/intersects(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)", + "path" : "\/documentation\/euclid\/path\/init(_:detail:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:detail:color:)", "taskGroups" : [ ], - "title" : "intersects(_:)", - "usr" : "s:6Euclid11LineSegmentV10intersectsySbACF" + "title" : "init(_:detail:color:)", + "usr" : "s:6Euclid4PathV_6detail5colorACSo9CGPathRefa_SiAA5ColorVSgtcfc" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -18960,7 +19819,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "transformed" }, { "kind" : "text", @@ -18976,8 +19835,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -18985,24 +19844,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/scaled(by:)-69m6m", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m", + "path" : "\/documentation\/euclid\/vertex\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid7PolygonV6scaled2byACSd_tF" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Creates a linear path from a start and end point.", "type" : "text" } ], @@ -19010,6 +19868,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -19020,15 +19886,33 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "line" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "by" + "text" : "color" }, { "kind" : "text", @@ -19036,28 +19920,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ")" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/scale(by:)-55ayx", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx", + "path" : "\/documentation\/euclid\/path\/line(_:_:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "line(_:_:color:)", + "usr" : "s:6Euclid4PathV4line__5colorAcA6VectorV_AgA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "The position of the path point.", + "text" : "The texture coordinate of the path point (optional). If omitted, will be inferred automatically.", "type" : "text" } ], @@ -19075,7 +19964,7 @@ }, { "kind" : "identifier", - "text" : "position" + "text" : "texcoord" }, { "kind" : "text", @@ -19085,22 +19974,26 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/position", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position", + "path" : "\/documentation\/euclid\/pathpoint\/texcoord", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord", "taskGroups" : [ ], - "title" : "position", - "usr" : "s:6Euclid9PathPointV8positionAA6VectorVvp" + "title" : "texcoord", + "usr" : "s:6Euclid9PathPointV8texcoordAA6VectorVSgvp" }, { "abstract" : [ { - "text" : "The Y component of the vector.", + "text" : "Efficiently fills an array of paths, avoiding unecessary work if there are duplicates.", "type" : "text" } ], @@ -19110,7 +20003,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -19118,71 +20019,54 @@ }, { "kind" : "identifier", - "text" : "y" + "text" : "fill" }, { "kind" : "text", - "text" : ": " + "text" : "([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y", - "taskGroups" : [ - - ], - "title" : "y", - "usr" : "s:6Euclid6VectorV1ySdvp" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, { - "text" : "Returns a new mesh created by subtracting the volume of the", - "type" : "text" + "kind" : "text", + "text" : "], " }, { - "text" : " ", - "type" : "text" + "kind" : "externalParam", + "text" : "faces" }, { - "text" : "mesh parameter from the receiver.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "subtracting" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { "kind" : "externalParam", @@ -19207,46 +20091,20 @@ "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/subtracting(_:iscancelled:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)", + "path" : "\/documentation\/euclid\/mesh\/fill(_:faces:material:iscancelled:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)", "taskGroups" : [ ], - "title" : "subtracting(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV11subtracting_11isCancelledA2C_SbyXEtF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" + "title" : "fill(_:faces:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV4fill_5faces8material11isCancelledACSayAA4PathVG_AC5FacesOs11AnyHashableVSgSbyXEtFZ" }, { "abstract" : [ { - "text" : "Returns whether the leftmost vector has the lower value.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "This provides a stable order when sorting collections of vectors.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -19254,14 +20112,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -19272,24 +20122,19 @@ }, { "kind" : "identifier", - "text" : "<" - }, - { - "kind" : "text", - "text" : " " + "text" : "scale" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -19298,28 +20143,23 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/_(_:_:)-9obdn", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn", + "path" : "\/documentation\/euclid\/mesh\/scale(by:)-9pjki", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki", "taskGroups" : [ ], - "title" : "<(_:_:)", - "usr" : "s:6Euclid6VectorV1loiySbAC_ACtFZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "The direction of the line segment as a normalized vector.", + "text" : "Align extruded cross-sections to the tangent of the path curve.", "type" : "text" } ], @@ -19329,7 +20169,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "case" }, { "kind" : "text", @@ -19337,109 +20177,51 @@ }, { "kind" : "identifier", - "text" : "direction" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "tangent" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/direction", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction", + "path" : "\/documentation\/euclid\/path\/alignment\/tangent", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent", "taskGroups" : [ ], - "title" : "direction", - "usr" : "s:6Euclid11LineSegmentV9directionAA6VectorVvp" + "title" : "Path.Alignment.tangent", + "usr" : "s:6Euclid4PathV9AlignmentO7tangentyA2EmF" }, { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, + "abstract" : [ { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : "A vertex represents a corner of a ", + "type" : "text" }, { - "kind" : "text", - "text" : ", " + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon", + "isActive" : true, + "type" : "reference" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : " or a point on the surface of a ", + "type" : "text" }, { - "kind" : "text", - "text" : ") -> " + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", + "isActive" : true, + "type" : "reference" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : ".", + "type" : "text" } ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)", - "taskGroups" : [ - - ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid8RotationV" - }, - { "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -19447,56 +20229,72 @@ }, { "kind" : "identifier", - "text" : "..<" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, + "text" : "Vertex" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex", + "taskGroups" : [ { - "kind" : "typeIdentifier", - "text" : "Self" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25" + ], + "title" : "Creating Vertices" }, { - "kind" : "text", - "text" : ") -> " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color" + ], + "title" : "Vertex Properties" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeUpToV", - "text" : "PartialRangeUpTo" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)" + ], + "title" : "Transforming Vertices" }, { - "kind" : "text", - "text" : "<" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)" + ], + "title" : "Interpolating Vertices" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" + ], + "title" : "Encoding and Decoding Vertices" }, { - "kind" : "text", - "text" : ">" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Transformable-Implementations" + ], + "title" : "Default Implementations" } ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/'.._(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)", - "taskGroups" : [ - - ], - "title" : "..<(_:)", - "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "Vertex", + "usr" : "s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Creates a line from an origin and direction.", "type" : "text" } ], @@ -19506,23 +20304,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "rotate" + "kind" : "externalParam", + "text" : "origin" }, { "kind" : "text", - "text" : "(" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "direction" }, { "kind" : "text", @@ -19530,28 +20337,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/rotate(by:)-11t07", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07", + "path" : "\/documentation\/euclid\/line\/init(origin:direction:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "init(origin:direction:)", + "usr" : "s:6Euclid4LineV6origin9directionACSgAA6VectorV_AHtcfc" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -19559,6 +20366,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -19569,44 +20384,56 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/scale(by:)-6c0wl", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl", + "path" : "\/documentation\/euclid\/transform\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "The size or scale component of the transform.", + "text" : "Returns a normalized vector.", "type" : "text" } ], @@ -19616,7 +20443,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -19624,11 +20451,11 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "normalized" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", @@ -19636,20 +20463,20 @@ "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scale", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale", + "path" : "\/documentation\/euclid\/vector\/normalized()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()", "taskGroups" : [ ], - "title" : "scale", - "usr" : "s:6Euclid9TransformV5scaleAA6VectorVvp" + "title" : "normalized()", + "usr" : "s:6Euclid6VectorV10normalizedACyF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Encodes this vertex into the given encoder.", "type" : "text" } ], @@ -19667,7 +20494,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "encode" }, { "kind" : "text", @@ -19675,7 +20502,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "to" }, { "kind" : "text", @@ -19683,27 +20510,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/scaled(by:)-3shbk", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk", + "path" : "\/documentation\/euclid\/vertex\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid13TransformableP6scaled2byxAA6VectorV_tF" + "title" : "encode(to:)", + "usr" : "s:6Euclid6VertexV6encode2toys7Encoder_p_tKF" }, { "availableLanguages" : [ @@ -19762,18 +20589,26 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)", + "path" : "\/documentation\/euclid\/angle\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)", "taskGroups" : [ ], "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Creates a new line segment by decoding from the given decoder.", + "text" : "Returns a new mesh representing the combined volume of the", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "mesh parameter and the receiver, with inner faces removed.", "type" : "text" } ], @@ -19783,15 +20618,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "union" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "from" + "text" : "isCancelled" }, { "kind" : "text", @@ -19799,32 +20651,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)", + "path" : "\/documentation\/euclid\/mesh\/union(_:iscancelled:)-swift.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid11LineSegmentV4fromACs7Decoder_p_tKcfc" + "title" : "union(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV5union_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "The X component of the vector.", + "text" : "Indicates whether the path is a closed path.", "type" : "text" } ], @@ -19834,7 +20687,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "let" }, { "kind" : "text", @@ -19842,7 +20695,7 @@ }, { "kind" : "identifier", - "text" : "x" + "text" : "isClosed" }, { "kind" : "text", @@ -19850,24 +20703,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/x", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x", + "path" : "\/documentation\/euclid\/path\/isclosed", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isClosed", "taskGroups" : [ ], - "title" : "x", - "usr" : "s:6Euclid6VectorV1xSdvp" + "title" : "isClosed", + "usr" : "s:6Euclid4PathV8isClosedSbvp" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -19877,72 +20730,82 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "kind" : "identifier", + "text" : "transformed" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)", + "path" : "\/documentation\/euclid\/transformable\/transformed(by:)-9m686", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-9m686", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformableP11transformed2byxAA9TransformV_tF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/comparable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Comparable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-9rm6o" + ], + "title" : "Operators" + } + ], + "title" : "Comparable Implementations" }, { "abstract" : [ { - "text" : "Returns the inverse angle.", + "text" : "Creates a closed path from a polygon.", "type" : "text" } ], @@ -19952,12 +20815,37 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/init(_:)-3c0eo", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid4PathVyAcA7PolygonVcfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -19968,45 +20856,70 @@ }, { "kind" : "identifier", - "text" : "-" + "text" : "hash" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "into" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:s6HasherV", + "text" : "Hasher" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/-(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)", + "path" : "\/documentation\/euclid\/quaternion\/hash(into:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)", "taskGroups" : [ ], - "title" : "-(_:)", - "usr" : "s:6Euclid5AngleV1sopyA2CFZ" + "title" : "hash(into:)", + "usr" : "s:6Euclid10QuaternionV4hash4intoys6HasherVz_tF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Encodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "Creates a new bounds representing the intersection between the specified bounds and this one.", + "text" : "Creates a quaternion representing a rotation around the Z axis.", "type" : "text" } ], @@ -20014,6 +20927,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -20024,7 +20945,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "roll" }, { "kind" : "text", @@ -20032,8 +20953,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -20041,24 +20962,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/intersection(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)", + "path" : "\/documentation\/euclid\/quaternion\/roll(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)", "taskGroups" : [ ], - "title" : "intersection(_:)", - "usr" : "s:6Euclid6BoundsV12intersectionyA2CF" + "title" : "roll(_:)", + "usr" : "s:6Euclid10QuaternionV4rollyAcA5AngleVFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -20076,7 +20997,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "rotate" }, { "kind" : "text", @@ -20092,8 +21013,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -20102,18 +21023,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/scale(by:)-89xwv", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv", + "path" : "\/documentation\/euclid\/polygon\/rotate(by:)-8lp0l", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "The angle of rotation around the Y-axis.", + "text" : "Returns a copy of the mesh with the specified old material replaced by a new one.", "type" : "text" } ], @@ -20123,7 +21044,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -20131,83 +21052,58 @@ }, { "kind" : "identifier", - "text" : "yaw" + "text" : "replacing" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/yaw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw", - "taskGroups" : [ - - ], - "title" : "yaw", - "usr" : "s:6Euclid10QuaternionV3yawAA5AngleVvp" - }, - { - "abstract" : [ - { - "text" : "A Boolean value that indicates whether the vector has a length of ", - "type" : "text" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { - "code" : "1", - "type" : "codeVoice" + "kind" : "text", + "text" : "?, " }, { - "text" : ".", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" + "kind" : "externalParam", + "text" : "with" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "isNormalized" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ": " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/isnormalized", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized", + "path" : "\/documentation\/euclid\/mesh\/replacing(_:with:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)", "taskGroups" : [ ], - "title" : "isNormalized", - "usr" : "s:6Euclid6VectorV12isNormalizedSbvp" + "title" : "replacing(_:with:)", + "usr" : "s:6Euclid4MeshV9replacing_4withACs11AnyHashableVSg_AHtF" }, { "abstract" : [ { - "text" : "Creates an angle from a radians value.", + "text" : "Clip mesh to the specified plane and optionally fill sheared faces with specified material.", "type" : "text" } ], @@ -20217,57 +21113,92 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "clip" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "radians" + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "fill" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/radians(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)", + "path" : "\/documentation\/euclid\/mesh\/clip(to:fill:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)", "taskGroups" : [ ], - "title" : "radians(_:)", - "usr" : "s:6Euclid5AngleV7radiansyACSdFZ" + "title" : "clip(to:fill:)", + "usr" : "s:6Euclid4MeshV4clip2to4fillAcA5PlaneV_s11AnyHashableVSgtF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/hashable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Hashable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Hashable Implementations" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Replace\/remove point color.", "type" : "text" } ], @@ -20275,14 +21206,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -20293,11 +21216,7 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "withColor" }, { "kind" : "text", @@ -20305,40 +21224,33 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)", + "path" : "\/documentation\/euclid\/pathpoint\/withcolor(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "withColor(_:)", + "usr" : "s:6Euclid9PathPointV9withColoryAcA0E0VSgF" }, { "abstract" : [ { - "text" : "Creates a rotation from a quaternion.", + "text" : "Creates a new vector from a SceneKit vector.", "type" : "text" } ], @@ -20356,8 +21268,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "c:@S@SCNVector3", + "text" : "SCNVector3" }, { "kind" : "text", @@ -20366,36 +21278,26 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(_:)-5w6mn", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn", + "path" : "\/documentation\/euclid\/vector\/init(_:)-228p6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-228p6", "taskGroups" : [ ], "title" : "init(_:)", - "usr" : "s:6Euclid8RotationVyAcA10QuaternionVcfc" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "usr" : "s:6Euclid6VectorVyACSo10SCNVector3Vcfc" }, { "abstract" : [ { - "text" : "Creates a curved path point at the specified position.", + "text" : "A Boolean value that indicates whether the vector has a length of ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -20405,15 +21307,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -20421,24 +21315,68 @@ }, { "kind" : "identifier", - "text" : "curve" + "text" : "isNormalized" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/isnormalized", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized", + "taskGroups" : [ + + ], + "title" : "isNormalized", + "usr" : "s:6Euclid6VectorV12isNormalizedSbvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Encodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" + }, + { + "abstract" : [ + { + "text" : "Creates a rotation from an axis and angle.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ", " + "text" : "?(" }, { "kind" : "externalParam", - "text" : "texcoord" + "text" : "axis" }, { "kind" : "text", @@ -20451,11 +21389,11 @@ }, { "kind" : "text", - "text" : "?, " + "text" : ", " }, { "kind" : "externalParam", - "text" : "color" + "text" : "angle" }, { "kind" : "text", @@ -20463,33 +21401,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/curve(_:texcoord:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)", + "path" : "\/documentation\/euclid\/rotation\/init(axis:angle:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)", "taskGroups" : [ ], - "title" : "curve(_:texcoord:color:)", - "usr" : "s:6Euclid9PathPointV5curve_8texcoord5colorAcA6VectorV_AHSgAA5ColorVSgtFZ" + "title" : "init(axis:angle:)", + "usr" : "s:6Euclid8RotationV4axis5angleACSgAA6VectorV_AA5AngleVtcfc" }, { "abstract" : [ { - "text" : "The size of the bounds. The minimum returned size is zero, even if max < min.", + "text" : "Efficiently gets the difference between multiple meshes.", "type" : "text" } ], @@ -20499,7 +21432,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -20507,7 +21448,32 @@ }, { "kind" : "identifier", - "text" : "size" + "text" : "difference" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" + }, + { + "kind" : "text", + "text" : ">(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV10difference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", @@ -20515,24 +21481,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/size", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size", + "path" : "\/documentation\/euclid\/mesh\/difference(_:iscancelled:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)", "taskGroups" : [ ], - "title" : "size", - "usr" : "s:6Euclid6BoundsV4sizeAA6VectorVvp" + "title" : "difference(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV10difference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Encodes this bounds into the given encoder.", "type" : "text" } ], @@ -20550,7 +21525,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "encode" }, { "kind" : "text", @@ -20558,7 +21533,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "to" }, { "kind" : "text", @@ -20566,28 +21541,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)", + "path" : "\/documentation\/euclid\/bounds\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "encode(to:)", + "usr" : "s:6Euclid6BoundsV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the polygon includes texture coordinates.", + "text" : "Creates a bounds from two SceneKit vectors.", "type" : "text" } ], @@ -20597,15 +21576,80 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "((min" }, { - "kind" : "identifier", - "text" : "hasTexcoords" + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@S@SCNVector3", + "text" : "SCNVector3" + }, + { + "kind" : "text", + "text" : ", max" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@S@SCNVector3", + "text" : "SCNVector3" + }, + { + "kind" : "text", + "text" : "))" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/init(_:)-5bh7b", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-5bh7b", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid6BoundsVyACSo10SCNVector3V3min_AE3maxt_tcfc" + }, + { + "abstract" : [ + { + "text" : "Creates a mesh from a SceneKit node, with optional material mapping.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:objc(cs)SCNNode", + "text" : "SCNNode" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "ignoringTransforms" }, { "kind" : "text", @@ -20615,22 +21659,43 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sb", "text" : "Bool" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "materialLookup" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV16MaterialProvidera", + "text" : "MaterialProvider" + }, + { + "kind" : "text", + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/hastexcoords", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords", + "path" : "\/documentation\/euclid\/mesh\/init(_:ignoringtransforms:materiallookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)", "taskGroups" : [ ], - "title" : "hasTexcoords", - "usr" : "s:6Euclid7PolygonV12hasTexcoordsSbvp" + "title" : "init(_:ignoringTransforms:materialLookup:)", + "usr" : "s:6Euclid4MeshV_18ignoringTransforms14materialLookupACSo7SCNNodeC_Sbs11AnyHashableVSgSo11SCNMaterialCcSgtcfc" }, { "abstract" : [ { - "text" : "Divides the components of the vector by the value you provide.", + "text" : "Returns the inverse angle.", "type" : "text" } ], @@ -20656,7 +21721,7 @@ }, { "kind" : "identifier", - "text" : "\/=" + "text" : "-" }, { "kind" : "text", @@ -20666,14 +21731,58 @@ "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/-(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)", + "taskGroups" : [ + + ], + "title" : "-(_:)", + "usr" : "s:6Euclid5AngleV1sopyA2CFZ" + }, + { + "abstract" : [ + { + "text" : "Returns a new vector that represents the mininum of the components of the two vectors.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", - "text" : "inout" + "text" : "func" }, { "kind" : "text", "text" : " " }, + { + "kind" : "identifier", + "text" : "min" + }, + { + "kind" : "text", + "text" : "(" + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", @@ -20685,28 +21794,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.function", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/\/=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/=(_:_:)", + "path" : "\/documentation\/euclid\/min(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)", "taskGroups" : [ ], - "title" : "\/=(_:_:)", - "usr" : "s:6Euclid6VectorV2deoiyyACz_SdtFZ" + "title" : "min(_:_:)", + "usr" : "s:6Euclid3minyAA6VectorVAD_ADtF" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Multiplies the components of the quaternion by the specified value.", "type" : "text" } ], @@ -20716,47 +21830,73 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "bounds" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": [" + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : "])" + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(bounds:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)", + "path" : "\/documentation\/euclid\/quaternion\/*=(_:_:)-lsgo", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo", "taskGroups" : [ ], - "title" : "init(bounds:)", - "usr" : "s:6Euclid6BoundsV6boundsACSayACG_tcfc" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2meoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "The position of the vertex.", + "text" : "Returns whether the leftmost angle has the lower value.", "type" : "text" } ], @@ -20766,7 +21906,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -20774,32 +21922,54 @@ }, { "kind" : "identifier", - "text" : "position" + "text" : "<" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/position", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position", + "path" : "\/documentation\/euclid\/angle\/_(_:_:)-1aqv9", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9", "taskGroups" : [ ], - "title" : "position", - "usr" : "s:6Euclid6VertexV8positionAA6VectorVvp" + "title" : "<(_:_:)", + "usr" : "s:6Euclid5AngleV1loiySbAC_ACtFZ" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -20817,44 +21987,62 @@ }, { "kind" : "identifier", - "text" : "smoothNormals" + "text" : "rotate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/smoothnormals(_:)", - "platforms" : [ + "path" : "\/documentation\/euclid\/linesegment\/rotate(by:)-l48f", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f", + "taskGroups" : [ ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)", + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/bounded-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Bounded-Implementations", "taskGroups" : [ - + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds" + ], + "title" : "Instance Properties" + } ], - "title" : "smoothNormals(_:)", - "usr" : "s:6Euclid4MeshV13smoothNormalsyAcA5AngleVF" + "title" : "Bounded Implementations" }, { "abstract" : [ { - "text" : "Creates a closed rectangular path.", + "text" : "Creates a closed circular path.", "type" : "text" } ], @@ -20880,7 +22068,7 @@ }, { "kind" : "identifier", - "text" : "rectangle" + "text" : "circle" }, { "kind" : "text", @@ -20888,7 +22076,7 @@ }, { "kind" : "externalParam", - "text" : "width" + "text" : "radius" }, { "kind" : "text", @@ -20905,7 +22093,7 @@ }, { "kind" : "externalParam", - "text" : "height" + "text" : "segments" }, { "kind" : "text", @@ -20913,8 +22101,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", @@ -20945,18 +22133,18 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/rectangle(width:height:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rectangle(width:height:color:)", + "path" : "\/documentation\/euclid\/path\/circle(radius:segments:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)", "taskGroups" : [ ], - "title" : "rectangle(width:height:color:)", - "usr" : "s:6Euclid4PathV9rectangle5width6height5colorACSd_SdAA5ColorVSgtFZ" + "title" : "circle(radius:segments:color:)", + "usr" : "s:6Euclid4PathV6circle6radius8segments5colorACSd_SiAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Encodes this polygon into the given encoder.", "type" : "text" } ], @@ -20974,7 +22162,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "encode" }, { "kind" : "text", @@ -20982,7 +22170,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "to" }, { "kind" : "text", @@ -20990,28 +22178,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/scale(by:)-mpk5", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-mpk5", + "path" : "\/documentation\/euclid\/polygon\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "encode(to:)", + "usr" : "s:6Euclid7PolygonV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Returns the point where the specified line intersects this one.", + "text" : "Creates an extruded text model from a string.", "type" : "text" } ], @@ -21019,6 +22211,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -21029,15 +22229,24 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "text" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SS", + "text" : "String" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "with" + "text" : "font" }, { "kind" : "text", @@ -21045,162 +22254,101 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" + "preciseIdentifier" : "c:@T@CTFontRef", + "text" : "CTFont" }, { "kind" : "text", - "text" : ") -> " + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "width" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "?" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/line\/intersection(with:)-2nysu", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu", - "taskGroups" : [ - - ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid4LineV12intersection4withAA6VectorVSgAC_tF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Encodable-Implementations", - "taskGroups" : [ + "text" : "?, " + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" - }, - { - "abstract" : [ + "kind" : "externalParam", + "text" : "depth" + }, { - "text" : "An axially-aligned bounding box in 3D space.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "struct" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "Bounds" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds", - "taskGroups" : [ + "kind" : "externalParam", + "text" : "detail" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(min:max:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)" - ], - "title" : "Creating Bounds" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty" - ], - "title" : "Default Bounds" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty" - ], - "title" : "Bounds Properties" + "kind" : "text", + "text" : ", " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17" - ], - "title" : "Comparing Bounds" + "kind" : "externalParam", + "text" : "material" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-49ykf", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)" - ], - "title" : "Combining and Modifying Bounds" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)" - ], - "title" : "Transforming Bounds" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-5bh7b", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)" - ], - "title" : "Initializers" + "kind" : "text", + "text" : "?) -> " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Transformable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "title" : "Bounds", - "usr" : "s:6Euclid6BoundsV" + "kind" : "org.swift.docc.kind.typeMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/text(_:font:width:depth:detail:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:font:width:depth:detail:material:)", + "taskGroups" : [ + + ], + "title" : "text(_:font:width:depth:detail:material:)", + "usr" : "s:6Euclid4MeshV4text_4font5width5depth6detail8materialACSS_So9CTFontRefaSgSdSgSdSis11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "The distinct (disconnected) submeshes that make up the mesh.", + "text" : "Returns the perpendicular distance of the line from a specified point.", "type" : "text" } ], @@ -21210,7 +22358,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -21218,36 +22366,49 @@ }, { "kind" : "identifier", - "text" : "submeshes" + "text" : "distance" }, { "kind" : "text", - "text" : ": [" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "from" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/submeshes", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes", + "path" : "\/documentation\/euclid\/line\/distance(from:)-4o41", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41", "taskGroups" : [ ], - "title" : "submeshes", - "usr" : "s:6Euclid4MeshV9submeshesSayACGvp" + "title" : "distance(from:)", + "usr" : "s:6Euclid4LineV8distance4fromSdAA6VectorV_tF" }, { "abstract" : [ { - "text" : "The zero quaternion.", + "text" : "Creates a single polygon from a path.", "type" : "text" } ], @@ -21257,23 +22418,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "keyword", - "text" : "let" + "kind" : "externalParam", + "text" : "shape" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "zero" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", @@ -21281,59 +22451,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/zero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero", + "path" : "\/documentation\/euclid\/polygon\/init(shape:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)", "taskGroups" : [ ], - "title" : "zero", - "usr" : "s:6Euclid10QuaternionV4zeroACvpZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Transformable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Transformable Implementations" + "title" : "init(shape:material:)", + "usr" : "s:6Euclid7PolygonV5shape8materialACSgAA4PathV_s11AnyHashableVSgtcfc" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "The angle of rotation around the Y-axis.", "type" : "text" } ], @@ -21343,7 +22482,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -21351,15 +22490,7 @@ }, { "kind" : "identifier", - "text" : "rotated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "yaw" }, { "kind" : "text", @@ -21367,32 +22498,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/rotated(by:)-76uyz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz", + "path" : "\/documentation\/euclid\/quaternion\/yaw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid13TransformableP7rotated2byxAA8RotationV_tF" + "title" : "yaw", + "usr" : "s:6Euclid10QuaternionV3yawAA5AngleVvp" }, { "abstract" : [ { - "text" : "Returns the componentwise sum of two vectors.", + "text" : "An array of vertices suitable for constructing a set of edge polygons for the path.", "type" : "text" } ], @@ -21402,70 +22525,91 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "var" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "edgeVertices" }, { "kind" : "text", - "text" : " " + "text" : ": [" }, { - "kind" : "identifier", - "text" : "+" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", - "text" : " " + "text" : "]" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/edgevertices", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices", + "taskGroups" : [ + + ], + "title" : "edgeVertices", + "usr" : "s:6Euclid4PathV12edgeVerticesSayAA6VertexVGvp" + }, + { + "abstract" : [ + { + "text" : "Creates an angle from a radians value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "radians" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/+(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)", + "path" : "\/documentation\/euclid\/angle\/init(radians:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)", "taskGroups" : [ ], - "title" : "+(_:_:)", - "usr" : "s:6Euclid6VectorV1poiyA2C_ACtFZ" + "title" : "init(radians:)", + "usr" : "s:6Euclid5AngleV7radiansACSd_tcfc" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -21483,7 +22627,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "scaled" }, { "kind" : "text", @@ -21504,49 +22648,48 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/scale(by:)-7pxnt", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt", + "path" : "\/documentation\/euclid\/plane\/scaled(by:)-29v7y", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid5PlaneV6scaled2byAcA6VectorV_tF" }, { - "abstract" : [ - { - "text" : "Returns a rotated copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "rotated" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "blue" }, { "kind" : "text", @@ -21554,32 +22697,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/rotated(by:)-5mcqw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-5mcqw", + "path" : "\/documentation\/euclid\/color\/blue", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid13TransformablePAAE7rotated2byxAA10QuaternionV_tF" + "title" : "blue", + "usr" : "s:6Euclid5ColorV4blueACvpZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -21597,7 +22732,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "scaled" }, { "kind" : "text", @@ -21618,23 +22753,28 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/scale(by:)-1hyw0", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0", + "path" : "\/documentation\/euclid\/transform\/scaled(by:)-19ukh", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid9TransformV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Returns the intersection point between the specified line segment and this one.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -21652,7 +22792,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "scaled" }, { "kind" : "text", @@ -21660,7 +22800,7 @@ }, { "kind" : "externalParam", - "text" : "with" + "text" : "by" }, { "kind" : "text", @@ -21668,8 +22808,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -21677,28 +22817,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/intersection(with:)-2u7vo", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-2u7vo", + "path" : "\/documentation\/euclid\/linesegment\/scaled(by:)-37r1v", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid11LineSegmentV12intersection4withAA6VectorVSgAC_tF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid11LineSegmentV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Cropped and flattened version of path suitable for lathing around the Y axis.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -21708,7 +22844,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -21716,32 +22852,49 @@ }, { "kind" : "identifier", - "text" : "latheProfile" + "text" : "translated" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", "text" : ": " }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid4PathV", "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/latheprofile", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile", + "path" : "\/documentation\/euclid\/path\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)", "taskGroups" : [ ], - "title" : "latheProfile", - "usr" : "s:6Euclid4PathV12latheProfileACvp" + "title" : "translated(by:)", + "usr" : "s:6Euclid4PathV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a copy of the mesh with the specified old material replaced by a new one.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -21759,24 +22912,15 @@ }, { "kind" : "identifier", - "text" : "replacing" + "text" : "transform" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "with" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -21784,33 +22928,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/replacing(_:with:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)", + "path" : "\/documentation\/euclid\/path\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)", "taskGroups" : [ ], - "title" : "replacing(_:with:)", - "usr" : "s:6Euclid4MeshV9replacing_4withACs11AnyHashableVSg_AHtF" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Creates a quadratic bezier spline.", "type" : "text" } ], @@ -21818,6 +22957,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -21828,15 +22975,24 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "curve" }, { "kind" : "text", - "text" : "(" + "text" : "([" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" + }, + { + "kind" : "text", + "text" : "], " }, { "kind" : "externalParam", - "text" : "by" + "text" : "detail" }, { "kind" : "text", @@ -21844,31 +23000,30 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/rotate(by:)-5a3iz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz", + "path" : "\/documentation\/euclid\/path\/curve(_:detail:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF" + "title" : "curve(_:detail:)", + "usr" : "s:6Euclid4PathV5curve_6detailACSayAA0B5PointVG_SitFZ" }, { - "abstract" : [ - { - "text" : "Creates a cylindrical mesh.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -21891,117 +23046,96 @@ }, { "kind" : "identifier", - "text" : "cylinder" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "radius" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "!=" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "height" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "slices" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "poleDetail" + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "faces" - }, - { - "kind" : "text", - "text" : ": " - }, + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)", + "taskGroups" : [ + + ], + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV8WrapModeO" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Equatable-Implementations", + "taskGroups" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Returns the angle between this vector and the specified plane.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "wrapMode" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "kind" : "identifier", + "text" : "angle" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "with" }, { "kind" : "text", @@ -22009,33 +23143,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cylinder(radius:height:slices:poledetail:faces:wrapmode:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)", + "path" : "\/documentation\/euclid\/vector\/angle(with:)-9sfg1", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1", "taskGroups" : [ ], - "title" : "cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV8cylinder6radius6height6slices10poleDetail5faces8wrapMode8materialACSd_SdS2iAC5FacesOAC04WrapK0Os11AnyHashableVSgtFZ" + "title" : "angle(with:)", + "usr" : "s:6Euclid6VectorV5angle4withAA5AngleVAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Creates a transform from the current position, scale and orientation of a SceneKit node.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -22043,14 +23177,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -22061,7 +23187,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "transformed" }, { "kind" : "text", @@ -22069,95 +23195,37 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "by" }, { "kind" : "text", "text" : ": " }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNNode", - "text" : "SCNNode" - }, - { - "kind" : "text", - "text" : ") -> " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid9TransformV", "text" : "Transform" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/transform(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)", - "taskGroups" : [ - - ], - "title" : "transform(from:)", - "usr" : "s:6Euclid9TransformV9transform4fromACSo7SCNNodeC_tFZ" - }, - { - "abstract" : [ - { - "text" : "Material used by the mesh polygons.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "See ", - "type" : "text" - }, - { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", - "isActive" : true, - "type" : "reference" - }, - { - "text" : " for details.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "typealias" }, { "kind" : "text", - "text" : " " + "text" : ") -> " }, { - "kind" : "identifier", - "text" : "Material" + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.typeAlias", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/material", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material", + "path" : "\/documentation\/euclid\/plane\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)", "taskGroups" : [ ], - "title" : "Mesh.Material", - "usr" : "s:6Euclid4MeshV8Materiala" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { - "abstract" : [ - { - "text" : "Creates a sphere by subdividing an icosahedron.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -22180,100 +23248,112 @@ }, { "kind" : "identifier", - "text" : "icosahedron" + "text" : "!=" }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "radius" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "faces" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" - }, + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)", + "taskGroups" : [ + + ], + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Creates a scale transform.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "wrapMode" + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/icosahedron(radius:faces:wrapmode:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/icosahedron(radius:faces:wrapMode:material:)", + "path" : "\/documentation\/euclid\/transform\/scale(_:)-55t4p", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p", "taskGroups" : [ ], - "title" : "icosahedron(radius:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV11icosahedron6radius5faces8wrapMode8materialACSd_AC5FacesOAC04WrapG0Os11AnyHashableVSgtFZ" + "title" : "scale(_:)", + "usr" : "s:6Euclid9TransformV5scaleyAcA6VectorVFZ" }, { "abstract" : [ { - "text" : "The bounds of the object.", + "text" : "Returns the distance between a point and the plane.", "type" : "text" } ], @@ -22283,7 +23363,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -22291,7 +23371,15 @@ }, { "kind" : "identifier", - "text" : "bounds" + "text" : "distance" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", @@ -22299,52 +23387,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounded\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds", + "path" : "\/documentation\/euclid\/plane\/distance(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid7BoundedP6boundsAA6BoundsVvp" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/additivearithmetic-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/AdditiveArithmetic-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero" - ], - "title" : "Type Properties" - } - ], - "title" : "AdditiveArithmetic Implementations" + "title" : "distance(from:)", + "usr" : "s:6Euclid5PlaneV8distance4fromSdAA6VectorV_tF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -22370,7 +23439,7 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "*" }, { "kind" : "text", @@ -22380,14 +23449,6 @@ "kind" : "text", "text" : "(" }, - { - "kind" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "typeIdentifier", "text" : "Self" @@ -22403,23 +23464,27 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)", + "path" : "\/documentation\/euclid\/vertex\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Subtracts the quaternion rotation on the right from the one on the left.", + "text" : "An empty bounds.", "type" : "text" } ], @@ -22437,7 +23502,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -22445,57 +23510,32 @@ }, { "kind" : "identifier", - "text" : "-=" - }, - { - "kind" : "text", - "text" : " " + "text" : "empty" }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/-=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)", + "path" : "\/documentation\/euclid\/bounds\/empty", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty", "taskGroups" : [ ], - "title" : "-=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2seoiyyACz_ACtFZ" + "title" : "empty", + "usr" : "s:6Euclid6BoundsV5emptyACvpZ" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of vertices.", + "text" : "Creates a new transform.", "type" : "text" } ], @@ -22505,39 +23545,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "convexHull" + "kind" : "externalParam", + "text" : "offset" }, { "kind" : "text", - "text" : "<" + "text" : ": " }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ">(" + "text" : "?, " }, { "kind" : "externalParam", - "text" : "of" + "text" : "rotation" }, { "kind" : "text", @@ -22545,16 +23578,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VertexV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { "kind" : "externalParam", - "text" : "material" + "text" : "scale" }, { "kind" : "text", @@ -22562,33 +23595,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-75on2", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2", + "path" : "\/documentation\/euclid\/transform\/init(offset:rotation:scale:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VertexV7ElementRtzlFZ" + "title" : "init(offset:rotation:scale:)", + "usr" : "s:6Euclid9TransformV6offset8rotation5scaleAcA6VectorVSg_AA8RotationVSgAItcfc" }, { "abstract" : [ { - "text" : "Quaternion has no effect.", + "text" : "Encodes the vector into the given encoder.", "type" : "text" } ], @@ -22598,7 +23626,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -22606,7 +23634,15 @@ }, { "kind" : "identifier", - "text" : "isIdentity" + "text" : "encode" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", @@ -22614,33 +23650,39 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/isidentity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity", + "path" : "\/documentation\/euclid\/vector\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)", "taskGroups" : [ ], - "title" : "isIdentity", - "usr" : "s:6Euclid10QuaternionV10isIdentitySbvp" + "title" : "encode(to:)", + "usr" : "s:6Euclid6VectorV6encode2toys7Encoder_p_tKF" }, { + "abstract" : [ + { + "text" : "Computes the dot-product of this quaternion and another.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -22651,11 +23693,7 @@ }, { "kind" : "identifier", - "text" : "..<" - }, - { - "kind" : "text", - "text" : " " + "text" : "dot" }, { "kind" : "text", @@ -22663,7 +23701,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -22671,33 +23710,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeUpToV", - "text" : "PartialRangeUpTo" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/'.._(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)", + "path" : "\/documentation\/euclid\/quaternion\/dot(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)", "taskGroups" : [ ], - "title" : "..<(_:)", - "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "dot(_:)", + "usr" : "s:6Euclid10QuaternionV3dotySdACF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { + "abstract" : [ + { + "text" : "Returns a rotation multiplied by the specified value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -22720,7 +23771,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "*" }, { "kind" : "text", @@ -22732,7 +23783,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -22740,7 +23792,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -22748,21 +23801,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)", + "path" : "\/documentation\/euclid\/rotation\/*(_:_:)-5fe82", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4PathV9AlignmentO" + "title" : "*(_:_:)", + "usr" : "s:6Euclid8RotationV1moiyA2C_SdtFZ" }, { + "abstract" : [ + { + "text" : "Subtracts the quaternion rotation on the right from the one on the left.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -22785,7 +23844,7 @@ }, { "kind" : "identifier", - "text" : ">" + "text" : "-=" }, { "kind" : "text", @@ -22796,41 +23855,46 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/_(_:_:)-3fd8h", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h", + "path" : "\/documentation\/euclid\/quaternion\/-=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)", "taskGroups" : [ ], - "title" : ">(_:_:)", - "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "-=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2seoiyyACz_ACtFZ" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -22848,7 +23912,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "transform" }, { "kind" : "text", @@ -22864,8 +23928,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -22874,18 +23938,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/rotate(by:)-l48f", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f", + "path" : "\/documentation\/euclid\/polygon\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Returns a new bounds inset by the specified distance.", + "text" : "Deprecated.", "type" : "text" } ], @@ -22903,7 +23967,7 @@ }, { "kind" : "identifier", - "text" : "inset" + "text" : "with" }, { "kind" : "text", @@ -22911,7 +23975,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "color" }, { "kind" : "text", @@ -22919,43 +23983,40 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/inset(by:)-49ykf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-49ykf", + "path" : "\/documentation\/euclid\/pathpoint\/with(color:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)", "taskGroups" : [ ], - "title" : "inset(by:)", - "usr" : "s:6Euclid6BoundsV5inset2byAcA6VectorV_tF" + "title" : "with(color:)", + "usr" : "s:6Euclid9PathPointV4with5colorAcA5ColorVSg_tF" }, { - "abstract" : [ - { - "text" : "The red component of the color.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -22963,7 +24024,24 @@ }, { "kind" : "identifier", - "text" : "r" + "text" : "xor" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", @@ -22971,24 +24049,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/r", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r", + "path" : "\/documentation\/euclid\/mesh\/xor(_:iscancelled:)-swift.method", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : "r", - "usr" : "s:6Euclid5ColorV1rSdvp" + "title" : "xor(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV3xor_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Multiplies the components of the vector by the specified value.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -23034,8 +24124,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", @@ -23043,8 +24132,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -23053,18 +24142,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*=(_:_:)-9l46a", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a", + "path" : "\/documentation\/euclid\/path\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)", "taskGroups" : [ ], "title" : "*=(_:_:)", - "usr" : "s:6Euclid6VectorV2meoiyyACz_SdtFZ" + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Returns a Boolean value that indicates whether a point lies inside the polygon, on the same plane.", "type" : "text" } ], @@ -23082,24 +24171,16 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "containsPoint" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -23107,24 +24188,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/scaled(by:)-94kks", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks", + "path" : "\/documentation\/euclid\/polygon\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid4MeshV6scaled2byACSd_tF" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid7PolygonV13containsPointySbAA6VectorVF" }, { "abstract" : [ { - "text" : "Creates a mesh by connecting a series of 3D paths representing the cross sections.", + "text" : "Creates an array of glyph contours from an attributed string.", "type" : "text" } ], @@ -23150,24 +24231,24 @@ }, { "kind" : "identifier", - "text" : "loft" + "text" : "text" }, { "kind" : "text", - "text" : "([" + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "c:objc(cs)NSAttributedString", + "text" : "NSAttributedString" }, { "kind" : "text", - "text" : "], " + "text" : ", " }, { "kind" : "externalParam", - "text" : "faces" + "text" : "width" }, { "kind" : "text", @@ -23175,16 +24256,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { "kind" : "externalParam", - "text" : "material" + "text" : "detail" }, { "kind" : "text", @@ -23192,33 +24273,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, + { + "kind" : "text", + "text" : "]" } ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/loft(_:faces:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)", + "path" : "\/documentation\/euclid\/path\/text(_:width:detail:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)", "taskGroups" : [ ], - "title" : "loft(_:faces:material:)", - "usr" : "s:6Euclid4MeshV4loft_5faces8materialACSayAA4PathVG_AC5FacesOs11AnyHashableVSgtFZ" + "title" : "text(_:width:detail:)", + "usr" : "s:6Euclid4PathV4text_5width6detailSayACGSo18NSAttributedStringC_SdSgSitFZ" }, { "abstract" : [ { - "text" : "Creates a new vertex.", + "text" : "A Boolean value that indicates whether the polygon is convex.", "type" : "text" } ], @@ -23228,63 +24313,58 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "var" }, { "kind" : "text", - "text" : "?, " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "isConvex" }, { "kind" : "text", - "text" : "?, " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - }, - { - "kind" : "text", - "text" : "?)" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/init(_:_:_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)", + "path" : "\/documentation\/euclid\/polygon\/isconvex", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex", "taskGroups" : [ ], - "title" : "init(_:_:_:_:)", - "usr" : "s:6Euclid6VertexVyAcA6VectorV_AESgAfA5ColorVSgtcfc" + "title" : "isConvex", + "usr" : "s:6Euclid7PolygonV8isConvexSbvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Encodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "Computes the trigonometric tangent of an angle.", + "text" : "Linearly interpolate between two colors.", "type" : "text" } ], @@ -23302,7 +24382,7 @@ }, { "kind" : "identifier", - "text" : "tan" + "text" : "lerp" }, { "kind" : "text", @@ -23310,33 +24390,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" - } - ], - "kind" : "org.swift.docc.kind.function", + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/tan(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)", + "path" : "\/documentation\/euclid\/color\/lerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)", "taskGroups" : [ ], - "title" : "tan(_:)", - "usr" : "s:6Euclid3tanySdAA5AngleVF" + "title" : "lerp(_:_:)", + "usr" : "s:6Euclid5ColorV4lerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the polygon includes vertex colors.", + "text" : "Splits all polygons in the mesh that are concave or have more than the specified number of", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "sides into two or more convex polygons.", "type" : "text" } ], @@ -23346,7 +24443,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -23354,7 +24451,15 @@ }, { "kind" : "identifier", - "text" : "hasVertexColors" + "text" : "tessellate" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "maxSides" }, { "kind" : "text", @@ -23362,21 +24467,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/hasvertexcolors", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors", + "path" : "\/documentation\/euclid\/mesh\/tessellate(maxsides:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)", "taskGroups" : [ ], - "title" : "hasVertexColors", - "usr" : "s:6Euclid7PolygonV15hasVertexColorsSbvp" + "title" : "tessellate(maxSides:)", + "usr" : "s:6Euclid4MeshV10tessellate8maxSidesACSi_tF" }, { + "abstract" : [ + { + "text" : "Returns a Boolean value that indicates whether two line segements intersect.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -23391,52 +24511,106 @@ }, { "kind" : "identifier", - "text" : "hash" + "text" : "intersects" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "into" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/intersects(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)", + "taskGroups" : [ + + ], + "title" : "intersects(_:)", + "usr" : "s:6Euclid11LineSegmentV10intersectsySbACF" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "keyword", - "text" : "inout" + "text" : "func" }, { "kind" : "text", "text" : " " }, + { + "kind" : "identifier", + "text" : ">=" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s6HasherV", - "text" : "Hasher" + "text" : "Self" }, { "kind" : "text", - "text" : ")" + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/hash(into:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)", + "path" : "\/documentation\/euclid\/linesegment\/_=(_:_:)-5dvuy", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy", "taskGroups" : [ ], - "title" : "hash(into:)", - "usr" : "s:6Euclid10QuaternionV4hash4intoys6HasherVz_tF" + "title" : ">=(_:_:)", + "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Creates a new rotation by decoding from the given decoder.", + "text" : "A combined rotation, position, and scale that can be applied to a 3D object.", "type" : "text" } ], @@ -23446,15 +24620,109 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "struct" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "identifier", + "text" : "Transform" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)" + ], + "title" : "Creating Transforms" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity" + ], + "title" : "Default Transforms" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity" + ], + "title" : "Transform properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)" + ], + "title" : "Combining Transforms" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3" + ], + "title" : "Initializers" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Transformable-Implementations" + ], + "title" : "Default Implementations" + } + ], + "title" : "Transform", + "usr" : "s:6Euclid9TransformV" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "orange" }, { "kind" : "text", @@ -23462,32 +24730,75 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/orange", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange", + "taskGroups" : [ + + ], + "title" : "orange", + "usr" : "s:6Euclid5ColorV6orangeACvpZ" + }, + { + "abstract" : [ + { + "text" : "Angle representing a zero (identity) rotation.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ") " + "text" : " " }, { "kind" : "keyword", - "text" : "throws" + "text" : "let" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "zero" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)", + "path" : "\/documentation\/euclid\/angle\/zero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid8RotationV4fromACs7Decoder_p_tKcfc" + "title" : "zero", + "usr" : "s:6Euclid5AngleV4zeroACvpZ" }, { "abstract" : [ { - "text" : "Texture coordinates for the vertex. Set this to zero if you are not using a texture map.", + "text" : "Returns a vector with all components inverted.", "type" : "text" } ], @@ -23497,7 +24808,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -23505,11 +24824,24 @@ }, { "kind" : "identifier", - "text" : "texcoord" + "text" : "-" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -23517,20 +24849,20 @@ "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/texcoord", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord", + "path" : "\/documentation\/euclid\/vector\/-(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)", "taskGroups" : [ ], - "title" : "texcoord", - "usr" : "s:6Euclid6VertexV8texcoordAA6VectorVvp" + "title" : "-(_:)", + "usr" : "s:6Euclid6VectorV1sopyA2CFZ" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -23540,7 +24872,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", @@ -23548,11 +24888,11 @@ }, { "kind" : "externalParam", - "text" : "points" + "text" : "by" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", @@ -23561,26 +24901,23 @@ }, { "kind" : "text", - "text" : "])" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(points:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)", + "path" : "\/documentation\/euclid\/plane\/scale(by:)-677dp", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp", "taskGroups" : [ ], - "title" : "init(points:)", - "usr" : "s:6Euclid6BoundsV6pointsACSayAA6VectorVG_tcfc" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Creates an axis-aligned cuboidal mesh.", + "text" : "Creates a conical mesh.", "type" : "text" } ], @@ -23606,7 +24943,7 @@ }, { "kind" : "identifier", - "text" : "cube" + "text" : "cone" }, { "kind" : "text", @@ -23614,7 +24951,7 @@ }, { "kind" : "externalParam", - "text" : "center" + "text" : "radius" }, { "kind" : "text", @@ -23622,8 +24959,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -23631,7 +24968,7 @@ }, { "kind" : "externalParam", - "text" : "size" + "text" : "height" }, { "kind" : "text", @@ -23639,8 +24976,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -23648,7 +24985,7 @@ }, { "kind" : "externalParam", - "text" : "faces" + "text" : "slices" }, { "kind" : "text", @@ -23656,8 +24993,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", @@ -23665,7 +25002,7 @@ }, { "kind" : "externalParam", - "text" : "wrapMode" + "text" : "stacks" }, { "kind" : "text", @@ -23673,8 +25010,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", @@ -23682,7 +25019,7 @@ }, { "kind" : "externalParam", - "text" : "material" + "text" : "poleDetail" }, { "kind" : "text", @@ -23690,52 +25027,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "?) -> " + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "addDetailAtBottomPole" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cube(center:size:faces:wrapmode:material:)-8t5q8", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-8t5q8", - "taskGroups" : [ - - ], - "title" : "cube(center:size:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV4cube6center4size5faces8wrapMode8materialAcA6VectorV_AkC5FacesOAC04WrapH0Os11AnyHashableVSgtFZ" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + }, { - "text" : "Creates a mesh from a SceneKit node, with optional material mapping.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNNode", - "text" : "SCNNode" + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", @@ -23743,7 +25070,7 @@ }, { "kind" : "externalParam", - "text" : "ignoringTransforms" + "text" : "wrapMode" }, { "kind" : "text", @@ -23751,8 +25078,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", + "text" : "WrapMode" }, { "kind" : "text", @@ -23760,7 +25087,7 @@ }, { "kind" : "externalParam", - "text" : "materialLookup" + "text" : "material" }, { "kind" : "text", @@ -23768,36 +25095,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV16MaterialProvidera", - "text" : "MaterialProvider" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : "?)" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:ignoringtransforms:materiallookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)", + "path" : "\/documentation\/euclid\/mesh\/cone(radius:height:slices:stacks:poledetail:adddetailatbottompole:faces:wrapmode:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)", "taskGroups" : [ ], - "title" : "init(_:ignoringTransforms:materialLookup:)", - "usr" : "s:6Euclid4MeshV_18ignoringTransforms14materialLookupACSo7SCNNodeC_Sbs11AnyHashableVSgSo11SCNMaterialCcSgtcfc" + "title" : "cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV4cone6radius6height6slices6stacks10poleDetail03addI12AtBottomPole5faces8wrapMode8materialACSd_SdS3iSgSbAC5FacesOAC04WrapP0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the mesh is watertight, meaning that every edge is", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "attached to two polygons (or a multiple of two).", + "text" : "Smooth vertex normals for corners with angles greater (more obtuse) than the specified threshold.", "type" : "text" } ], @@ -23807,7 +25131,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -23815,7 +25139,15 @@ }, { "kind" : "identifier", - "text" : "isWatertight" + "text" : "smoothingNormals" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "forAnglesGreaterThan" }, { "kind" : "text", @@ -23823,24 +25155,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/iswatertight", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight", + "path" : "\/documentation\/euclid\/mesh\/smoothingnormals(foranglesgreaterthan:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)", "taskGroups" : [ ], - "title" : "isWatertight", - "usr" : "s:6Euclid4MeshV12isWatertightSbvp" + "title" : "smoothingNormals(forAnglesGreaterThan:)", + "usr" : "s:6Euclid4MeshV16smoothingNormals20forAnglesGreaterThanAcA5AngleV_tF" }, { "abstract" : [ { - "text" : "An angle or 2D rotation.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -23850,7 +25191,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "func" }, { "kind" : "text", @@ -23858,105 +25199,44 @@ }, { "kind" : "identifier", - "text" : "Angle" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(degrees:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)" - ], - "title" : "Creating Angles" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi" - ], - "title" : "Default Angles" + "text" : "translate" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero" - ], - "title" : "Angle Properties" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)" - ], - "title" : "Computing Angles" + "kind" : "externalParam", + "text" : "by" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*=(_:_:)" - ], - "title" : "Operators" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)" - ], - "title" : "Operators" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/AdditiveArithmetic-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Comparable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Equatable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "text", + "text" : ")" } ], - "title" : "Angle", - "usr" : "s:6Euclid5AngleV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Decodable-Implementations", + "path" : "\/documentation\/euclid\/vector\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)" - ], - "title" : "Initializers" - } + ], - "title" : "Decodable Implementations" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates a polygon from a set of vertex positions.", "type" : "text" } ], @@ -23966,57 +25246,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?<" }, { - "kind" : "identifier", - "text" : "scaled" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ">(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV_8materialACSgx_s11AnyHashableVSgtcSTRzAA6VectorV7ElementRtzlufc1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/scaled(by:)-6axqe", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe", + "path" : "\/documentation\/euclid\/polygon\/init(_:material:)-8gsiw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid5PlaneV6scaled2byACSd_tF" + "title" : "init(_:material:)", + "usr" : "s:6Euclid7PolygonV_8materialACSgx_s11AnyHashableVSgtcSTRzAA6VectorV7ElementRtzlufc" }, { "abstract" : [ { - "text" : "Multiplies the rotation angle by the specified value.", + "text" : "Creates a mesh by filling a path to form one or more polygons.", "type" : "text" } ], @@ -24042,54 +25326,78 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "fill" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ")" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/*=(_:_:)-7u9hf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf", + "path" : "\/documentation\/euclid\/mesh\/fill(_:faces:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid8RotationV2meoiyyACz_SdtFZ" + "title" : "fill(_:faces:material:)", + "usr" : "s:6Euclid4MeshV4fill_5faces8materialAcA4PathV_AC5FacesOs11AnyHashableVSgtFZ" }, { + "abstract" : [ + { + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -24112,7 +25420,7 @@ }, { "kind" : "identifier", - "text" : "+=" + "text" : "*" }, { "kind" : "text", @@ -24123,52 +25431,139 @@ "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", "text" : "Self" - }, - { - "kind" : "text", - "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/+=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)", + "path" : "\/documentation\/euclid\/polygon\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)", "taskGroups" : [ ], - "title" : "+=(_:_:)", - "usr" : "s:s18AdditiveArithmeticPsE2peoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Creates a ", + "text" : "An angle or 2D rotation.", "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "struct" }, { - "code" : "Quaternion", - "type" : "codeVoice" + "kind" : "text", + "text" : " " }, { - "text" : " from a simd quaternion.", + "kind" : "identifier", + "text" : "Angle" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(degrees:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)" + ], + "title" : "Creating Angles" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi" + ], + "title" : "Default Angles" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero" + ], + "title" : "Angle Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)" + ], + "title" : "Computing Angles" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/AdditiveArithmetic-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Comparable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Equatable-Implementations" + ], + "title" : "Default Implementations" + } + ], + "title" : "Angle", + "usr" : "s:6Euclid5AngleV" + }, + { + "abstract" : [ + { + "text" : "Returns a Boolean value that indicates whether a point lies on the plane.", "type" : "text" } ], @@ -24178,7 +25573,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "containsPoint" }, { "kind" : "text", @@ -24186,23 +25589,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@SA@simd_quatd", - "text" : "simd_quatd" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(_:)-27eol", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-27eol", + "path" : "\/documentation\/euclid\/plane\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyACSo10simd_quatdacfc" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid5PlaneV13containsPointySbAA6VectorVF" }, { "availableLanguages" : [ @@ -24241,22 +25649,14 @@ "kind" : "typeIdentifier", "text" : "Self" }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, { "kind" : "text", "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SN", - "text" : "ClosedRange" + "preciseIdentifier" : "s:s19PartialRangeThroughV", + "text" : "PartialRangeThrough" }, { "kind" : "text", @@ -24273,18 +25673,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/'...(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)", + "path" : "\/documentation\/euclid\/plane\/'...(_:)-49h2f", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f", "taskGroups" : [ ], - "title" : "...(_:_:)", - "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Returns an array containing the red, green, blue, and alpha components of the color.", + "text" : "Flip the direction of the line segment", "type" : "text" } ], @@ -24294,7 +25694,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -24302,36 +25702,32 @@ }, { "kind" : "identifier", - "text" : "components" + "text" : "inverted" }, { "kind" : "text", - "text" : ": [" + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/components", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components", + "path" : "\/documentation\/euclid\/linesegment\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()", "taskGroups" : [ ], - "title" : "components", - "usr" : "s:6Euclid5ColorV10componentsSaySdGvp" + "title" : "inverted()", + "usr" : "s:6Euclid11LineSegmentV8invertedACyF" }, { "abstract" : [ { - "text" : "Returns the nearest point on the specified plane to the vector (representing a position in space).", + "text" : "Creates a new path point by decoding from the given decoder.", "type" : "text" } ], @@ -24341,15 +25737,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "project" + "text" : "init" }, { "kind" : "text", @@ -24357,7 +25745,7 @@ }, { "kind" : "externalParam", - "text" : "onto" + "text" : "from" }, { "kind" : "text", @@ -24365,49 +25753,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/project(onto:)-817o2", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-817o2", + "path" : "\/documentation\/euclid\/pathpoint\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)", "taskGroups" : [ ], - "title" : "project(onto:)", - "usr" : "s:6Euclid6VectorV7project4ontoAcA5PlaneV_tF" + "title" : "init(from:)", + "usr" : "s:6Euclid9PathPointV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "All materials used by the mesh.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "The array may contain ", - "type" : "text" - }, - { - "code" : "nil", - "type" : "codeVoice" - }, - { - "text" : " if some or all of the mesh uses the default material.", + "text" : "Returns a new bounds inset by the specified distance.", "type" : "text" } ], @@ -24417,7 +25788,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -24425,36 +25796,49 @@ }, { "kind" : "identifier", - "text" : "materials" + "text" : "inset" }, { "kind" : "text", - "text" : ": [" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?]" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/materials", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/inset(by:)-49ykf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-49ykf", "taskGroups" : [ ], - "title" : "materials", - "usr" : "s:6Euclid4MeshV9materialsSays11AnyHashableVSgGvp" + "title" : "inset(by:)", + "usr" : "s:6Euclid6BoundsV5inset2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns the point where the specified plane intersects the line segment.", + "text" : "A closure that maps a SceneKit material to a Euclid material.", "type" : "text" } ], @@ -24464,7 +25848,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "typealias" }, { "kind" : "text", @@ -24472,53 +25856,23 @@ }, { "kind" : "identifier", - "text" : "intersection" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "with" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?" + "text" : "MaterialProvider" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/intersection(with:)-1tffl", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl", + "path" : "\/documentation\/euclid\/mesh\/materialprovider", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid11LineSegmentV12intersection4withAA6VectorVSgAA5PlaneV_tF" + "title" : "Mesh.MaterialProvider", + "usr" : "s:6Euclid4MeshV16MaterialProvidera" }, { "abstract" : [ { - "text" : "Creates an angle representing the trigonometric arc sine of the value you provide.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -24528,27 +25882,27 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "asin" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", @@ -24557,28 +25911,23 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/asin(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)", + "path" : "\/documentation\/euclid\/plane\/scale(by:)-758tv", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv", "taskGroups" : [ ], - "title" : "asin(_:)", - "usr" : "s:6Euclid5AngleV4asinyACSdFZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -24596,7 +25945,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "scale" }, { "kind" : "text", @@ -24612,8 +25961,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -24622,18 +25971,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/rotate(by:)-3uymx", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx", + "path" : "\/documentation\/euclid\/transform\/scale(by:)-9i9s9", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates if the specified point is inside the mesh.", + "text" : "A point along a path.", "type" : "text" } ], @@ -24643,7 +25992,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -24651,41 +26000,110 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "PathPoint" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/pathpoint", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:texcoord:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:_:_:texcoord:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)" + ], + "title" : "Creating Path Points" }, { - "kind" : "text", - "text" : "(" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved" + ], + "title" : "Path Point Properties" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)" + ], + "title" : "Interpolating Path Points" }, { - "kind" : "text", - "text" : ") -> " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curved(_:)" + ], + "title" : "Transforming Path Points" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)" + ], + "title" : "Instance Methods" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Transformable-Implementations" + ], + "title" : "Default Implementations" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "title" : "PathPoint", + "usr" : "s:6Euclid9PathPointV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/vector\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Transformable-Implementations", "taskGroups" : [ - + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)" + ], + "title" : "Instance Methods" + } ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid4MeshV13containsPointySbAA6VectorVF" + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Creates a mesh by filling a path to form one or more polygons.", + "text" : "Creates a rotation from Euler angles applied in pitch\/yaw\/roll order.", "type" : "text" } ], @@ -24695,32 +26113,24 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "fill" + "kind" : "externalParam", + "text" : "pitch" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -24728,7 +26138,7 @@ }, { "kind" : "externalParam", - "text" : "faces" + "text" : "yaw" }, { "kind" : "text", @@ -24736,8 +26146,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -24745,7 +26155,7 @@ }, { "kind" : "externalParam", - "text" : "material" + "text" : "roll" }, { "kind" : "text", @@ -24753,33 +26163,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/fill(_:faces:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)", + "path" : "\/documentation\/euclid\/rotation\/init(pitch:yaw:roll:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)", "taskGroups" : [ ], - "title" : "fill(_:faces:material:)", - "usr" : "s:6Euclid4MeshV4fill_5faces8materialAcA4PathV_AC5FacesOs11AnyHashableVSgtFZ" + "title" : "init(pitch:yaw:roll:)", + "usr" : "s:6Euclid8RotationV5pitch3yaw4rollAcA5AngleV_A2Htcfc" }, { "abstract" : [ { - "text" : "The identity rotation (i.e. no rotation).", + "text" : "The magnitude of the vector.", "type" : "text" } ], @@ -24789,15 +26194,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -24805,7 +26202,7 @@ }, { "kind" : "identifier", - "text" : "identity" + "text" : "length" }, { "kind" : "text", @@ -24813,89 +26210,123 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/identity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity", + "path" : "\/documentation\/euclid\/vector\/length", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length", "taskGroups" : [ ], - "title" : "identity", - "usr" : "s:6Euclid8RotationV8identityACvpZ" + "title" : "length", + "usr" : "s:6Euclid6VectorV6lengthSdvp" }, { + "abstract" : [ + { + "text" : "Flips the face direction and vertex normals of all polygons within the mesh.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "inverted" }, { "kind" : "text", - "text" : " " + "text" : "() -> " }, { - "kind" : "identifier", - "text" : "!=" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/inverted()", + "taskGroups" : [ + + ], + "title" : "inverted()", + "usr" : "s:6Euclid4MeshV8invertedACyF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : " " + "text" : "Creates a mesh from a SceneKit geometry, with the material you provide.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : "(" + "text" : "?(" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "c:objc(cs)SCNGeometry", + "text" : "SCNGeometry" }, { "kind" : "text", "text" : ", " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/init(_:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV5FacesO" + "title" : "init(_:material:)", + "usr" : "s:6Euclid4MeshV_8materialACSgSo11SCNGeometryC_s11AnyHashableVSgtcfc" }, { "abstract" : [ { - "text" : "The face normal for the path.", + "text" : "Creates a vertex from a path point.", "type" : "text" } ], @@ -24905,40 +26336,62 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "faceNormal" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/facenormal", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal", + "path" : "\/documentation\/euclid\/vertex\/init(_:)-7go25", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25", "taskGroups" : [ ], - "title" : "faceNormal", - "usr" : "s:6Euclid4PathV10faceNormalAA6VectorVvp" + "title" : "init(_:)", + "usr" : "s:6Euclid6VertexVyAcA9PathPointVcfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "The green component of the color.", + "text" : "The color for the vertex.", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This will be multiplied by the material color, so set it to white if you do not require per-vertex colors.", "type" : "text" } ], @@ -24956,7 +26409,7 @@ }, { "kind" : "identifier", - "text" : "g" + "text" : "color" }, { "kind" : "text", @@ -24964,31 +26417,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/g", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g", + "path" : "\/documentation\/euclid\/vertex\/color", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color", "taskGroups" : [ ], - "title" : "g", - "usr" : "s:6Euclid5ColorV1gSdvp" + "title" : "color", + "usr" : "s:6Euclid6VertexV5colorAA5ColorVvp" }, { - "abstract" : [ - { - "text" : "Returns a scaled copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -24999,182 +26454,143 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "..." + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:s19PartialRangeThroughV", + "text" : "PartialRangeThrough" }, { "kind" : "text", - "text" : ") -> " + "text" : "<" }, { "kind" : "typeIdentifier", "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/scaled(by:)-5p6di", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di", + "path" : "\/documentation\/euclid\/angle\/'...(_:)-3s6ak", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid13TransformableP6scaled2byxSd_tF" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { - "abstract" : [ - { - "text" : "Euclid is a library for creating and manipulating 3D geometry using techniques such as extruding or “lathing” 2D paths to create solid 3D shapes, and CSG (Constructive Solid Geometry) to combine or subtract those shapes from one another.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.module", + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid", + "path" : "\/documentation\/euclid\/color\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)" ], - "title" : "Using Euclid" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon" - ], - "title" : "Surfaces" - }, + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment" - ], - "title" : "Lines and Paths" + "kind" : "keyword", + "text" : "static" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle" - ], - "title" : "Rotations and Transforms" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color" - ], - "title" : "Fundamental Types" + "kind" : "keyword", + "text" : "func" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/max(_:_:)" - ], - "title" : "Supporting Functions" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable" - ], - "title" : "Protocols" - } - ], - "title" : "Euclid", - "usr" : "Euclid" - }, - { - "abstract" : [ - { - "text" : "Creates a bounds from a collection of ", - "type" : "text" + "kind" : "identifier", + "text" : "..<" }, { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", - "isActive" : true, - "type" : "reference" + "kind" : "text", + "text" : " " }, { - "text" : " objects.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : "(" + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : "<" + "text" : ") -> " }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s16PartialRangeUpToV", + "text" : "PartialRangeUpTo" }, { "kind" : "text", - "text" : ">(" + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAA7Bounded7ElementRpzlufc1TL_xmfp", - "text" : "T" + "text" : "Self" }, { "kind" : "text", - "text" : ")" + "text" : ">" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(_:)-1icmf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf", + "path" : "\/documentation\/euclid\/linesegment\/'.._(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6BoundsVyACxcSlRzAA7Bounded7ElementRpzlufc" + "title" : "..<(_:)", + "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of polygons.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -25200,52 +26616,49 @@ }, { "kind" : "identifier", - "text" : "convexHull" + "text" : "*" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "of" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": [" + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "]) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/convexhull(of:)-6c896", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896", + "path" : "\/documentation\/euclid\/vector\/*(_:_:)-98mbu", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu", "taskGroups" : [ ], - "title" : "convexHull(of:)", - "usr" : "s:6Euclid4MeshV10convexHull2ofACSayAA7PolygonVG_tFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { - "abstract" : [ - { - "text" : "Efficiently forms a union from multiple meshes.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -25268,41 +26681,27 @@ }, { "kind" : "identifier", - "text" : "union" + "text" : "!=" }, { "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" + "text" : " " }, { "kind" : "text", - "text" : ">(" + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5union_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "isCancelled" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "text" : "Self" }, { "kind" : "text", @@ -25310,24 +26709,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/union(_:iscancelled:)-swift.type.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.type.method", + "path" : "\/documentation\/euclid\/transform\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)", "taskGroups" : [ ], - "title" : "union(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV5union_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Computes the point of intersection between a line and a plane.", "type" : "text" } ], @@ -25345,7 +26744,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "intersection" }, { "kind" : "text", @@ -25353,7 +26752,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "with" }, { "kind" : "text", @@ -25361,28 +26760,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)", + "path" : "\/documentation\/euclid\/plane\/intersection(with:)-79olr", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-79olr", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "intersection(with:)", + "usr" : "s:6Euclid5PlaneV12intersection4withAA6VectorVSgAA4LineV_tF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "The alpha component of the color.", "type" : "text" } ], @@ -25392,7 +26800,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -25400,15 +26808,7 @@ }, { "kind" : "identifier", - "text" : "scaled" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "a" }, { "kind" : "text", @@ -25418,31 +26818,22 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/scaled(by:)-6epo6", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6", + "path" : "\/documentation\/euclid\/color\/a", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6BoundsV6scaled2byACSd_tF" + "title" : "a", + "usr" : "s:6Euclid5ColorV1aSdvp" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Efficiently extrudes an array of paths along their respective face normals, avoiding duplicate work.", "type" : "text" } ], @@ -25450,6 +26841,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -25460,15 +26859,24 @@ }, { "kind" : "identifier", - "text" : "with" + "text" : "extrude" }, { "kind" : "text", - "text" : "(" + "text" : "([" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, + { + "kind" : "text", + "text" : "], " }, { "kind" : "externalParam", - "text" : "material" + "text" : "depth" }, { "kind" : "text", @@ -25476,89 +26884,93 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "?) -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "twist" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/with(material:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)", - "taskGroups" : [ - - ], - "title" : "with(material:)", - "usr" : "s:6Euclid7PolygonV4with8materialACs11AnyHashableVSg_tF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/bounded-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations", - "taskGroups" : [ + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds" - ], - "title" : "Instance Properties" - } - ], - "title" : "Bounded Implementations" - }, - { - "abstract" : [ + "kind" : "text", + "text" : ", " + }, { - "text" : "Creates a rotation around the X axis.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "externalParam", + "text" : "sections" + }, { - "kind" : "keyword", - "text" : "static" + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "pitch" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : "(" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -25566,24 +26978,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/pitch(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)", + "path" : "\/documentation\/euclid\/mesh\/extrude(_:depth:twist:sections:faces:material:iscancelled:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:isCancelled:)", "taskGroups" : [ ], - "title" : "pitch(_:)", - "usr" : "s:6Euclid8RotationV5pitchyAcA5AngleVFZ" + "title" : "extrude(_:depth:twist:sections:faces:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV7extrude_5depth5twist8sections5faces8material11isCancelledACSayAA4PathVG_SdAA5AngleVSiAC5FacesOs11AnyHashableVSgSbyXEtFZ" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Creates a mesh by connecting a series of 3D paths representing the cross sections.", "type" : "text" } ], @@ -25593,108 +27005,91 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "rotated" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "loft" }, { "kind" : "text", - "text" : ": " + "text" : "([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ") -> " + "text" : "], " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)", - "taskGroups" : [ - - ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid7PolygonV7rotated2byAcA8RotationV_tF" - }, - { - "abstract" : [ + "kind" : "externalParam", + "text" : "faces" + }, { - "text" : "The color for the vertex.", - "type" : "text" + "kind" : "text", + "text" : ": " }, { - "text" : " ", - "type" : "text" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { - "text" : "This will be multiplied by the material color, so set it to white if you do not require per-vertex colors.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "color" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ": " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/color", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color", + "path" : "\/documentation\/euclid\/mesh\/loft(_:faces:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)", "taskGroups" : [ ], - "title" : "color", - "usr" : "s:6Euclid6VertexV5colorAA5ColorVvp" + "title" : "loft(_:faces:material:)", + "usr" : "s:6Euclid4MeshV4loft_5faces8materialACSayAA4PathVG_AC5FacesOs11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "The angle of rotation.", + "text" : "Multiplies the rotation angle by the specified value.", "type" : "text" } ], @@ -25704,40 +27099,91 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "angle" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "identifier", + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/angle", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle", + "path" : "\/documentation\/euclid\/rotation\/*=(_:_:)-7u9hf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf", "taskGroups" : [ ], - "title" : "angle", - "usr" : "s:6Euclid10QuaternionV5angleAA5AngleVvp" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid8RotationV2meoiyyACz_SdtFZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/line\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Encodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "Returns the product of a numeric multiplier and an angle.", + "text" : "Merges the polygons from two meshes.", "type" : "text" } ], @@ -25745,14 +27191,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -25763,11 +27201,7 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "merge" }, { "kind" : "text", @@ -25775,17 +27209,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", @@ -25793,24 +27218,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/*(_:_:)-2ew65", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65", + "path" : "\/documentation\/euclid\/mesh\/merge(_:)-swift.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.method", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid5AngleV1moiyACSd_ACtFZ" + "title" : "merge(_:)", + "usr" : "s:6Euclid4MeshV5mergeyA2CF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "A plane located at the origin, aligned with the X and Y axes.", "type" : "text" } ], @@ -25828,7 +27253,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -25836,56 +27261,92 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "xy" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/xy", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy", + "taskGroups" : [ + + ], + "title" : "xy", + "usr" : "s:6Euclid5PlaneV2xyACvpZ" + }, + { + "abstract" : [ + { + "text" : "Returns a translated copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", "text" : " " }, + { + "kind" : "identifier", + "text" : "translated" + }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid9TransformV", "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)", + "path" : "\/documentation\/euclid\/transform\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "translated(by:)", + "usr" : "s:6Euclid9TransformV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Encodes this quaternion into the given encoder.", "type" : "text" } ], @@ -25903,7 +27364,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "encode" }, { "kind" : "text", @@ -25911,7 +27372,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "to" }, { "kind" : "text", @@ -25919,33 +27380,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/scaled(by:)-29v7y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y", + "path" : "\/documentation\/euclid\/quaternion\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid5PlaneV6scaled2byAcA6VectorV_tF" + "title" : "encode(to:)", + "usr" : "s:6Euclid10QuaternionV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Creates a mesh from a SceneKit geometry, with the material you provide.", + "text" : "Deprecated.", "type" : "text" } ], @@ -25963,42 +27423,43 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNGeometry", - "text" : "SCNGeometry" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?)" + "text" : ")" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)", + "path" : "\/documentation\/euclid\/linesegment\/init(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)", "taskGroups" : [ ], - "title" : "init(_:material:)", - "usr" : "s:6Euclid4MeshV_8materialACSgSo11SCNGeometryC_s11AnyHashableVSgtcfc" + "title" : "init(_:_:)", + "usr" : "s:6Euclid11LineSegmentVyACSgAA6VectorV_AFtcfc" }, { + "abstract" : [ + { + "text" : "Creates a closed rectangular path.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -26021,56 +27482,83 @@ }, { "kind" : "identifier", - "text" : "..." + "text" : "rectangle" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "height" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeFromV", - "text" : "PartialRangeFrom" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "<" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "color" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ">" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'...(_:)-14arr", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr", + "path" : "\/documentation\/euclid\/path\/rectangle(width:height:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rectangle(width:height:color:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "rectangle(width:height:color:)", + "usr" : "s:6Euclid4PathV9rectangle5width6height5colorACSd_SdAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Encodes this rotation into the given encoder.", "type" : "text" } ], @@ -26088,7 +27576,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "encode" }, { "kind" : "text", @@ -26096,7 +27584,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "to" }, { "kind" : "text", @@ -26104,28 +27592,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/scale(by:)-9pjki", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki", + "path" : "\/documentation\/euclid\/rotation\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "encode(to:)", + "usr" : "s:6Euclid8RotationV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Creates a new polygon by decoding from the given decoder.", + "text" : "Computes a set of edges where the mesh intersects a plane.", "type" : "text" } ], @@ -26135,7 +27627,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "edges" }, { "kind" : "text", @@ -26143,7 +27643,7 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "intersecting" }, { "kind" : "text", @@ -26151,40 +27651,46 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sh", + "text" : "Set" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)", + "path" : "\/documentation\/euclid\/mesh\/edges(intersecting:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid7PolygonV4fromACs7Decoder_p_tKcfc" + "title" : "edges(intersecting:)", + "usr" : "s:6Euclid4MeshV5edges12intersectingShyAA11LineSegmentVGAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "A vector of length ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : " along the Y axis.", + "text" : "The array of points that makes up this path.", "type" : "text" } ], @@ -26192,14 +27698,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "let" @@ -26210,32 +27708,36 @@ }, { "kind" : "identifier", - "text" : "unitY" + "text" : "points" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" + }, + { + "kind" : "text", + "text" : "]" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/unity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY", + "path" : "\/documentation\/euclid\/path\/points", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points", "taskGroups" : [ ], - "title" : "unitY", - "usr" : "s:6Euclid6VectorV5unitYACvpZ" + "title" : "points", + "usr" : "s:6Euclid4PathV6pointsSayAA0B5PointVGvp" }, { "abstract" : [ { - "text" : "Encodes this rotation into the given encoder.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -26253,7 +27755,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "rotated" }, { "kind" : "text", @@ -26261,7 +27763,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -26269,42 +27771,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)", + "path" : "\/documentation\/euclid\/vertex\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid8RotationV6encode2toys7Encoder_p_tKF" + "title" : "rotated(by:)", + "usr" : "s:6Euclid6VertexV7rotated2byAcA8RotationV_tF" }, { - "abstract" : [ - { - "text" : "Returns the normalized quaternion.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", @@ -26312,32 +27817,32 @@ }, { "kind" : "identifier", - "text" : "normalized" + "text" : "white" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/normalized()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()", + "path" : "\/documentation\/euclid\/color\/white", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white", "taskGroups" : [ ], - "title" : "normalized()", - "usr" : "s:6Euclid10QuaternionV10normalizedACyF" + "title" : "white", + "usr" : "s:6Euclid5ColorV5whiteACvpZ" }, { "abstract" : [ { - "text" : "Return a copy of the mesh without texture coordinates.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -26355,59 +27860,56 @@ }, { "kind" : "identifier", - "text" : "withoutTexcoords" + "text" : "translated" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/withouttexcoords()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()", + "path" : "\/documentation\/euclid\/bounds\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)", "taskGroups" : [ ], - "title" : "withoutTexcoords()", - "usr" : "s:6Euclid4MeshV16withoutTexcoordsACyF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/line\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" + "title" : "translated(by:)", + "usr" : "s:6Euclid6BoundsV10translated2byAcA6VectorV_tF" }, { + "abstract" : [ + { + "text" : "Returns a rotated copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -26418,55 +27920,49 @@ }, { "kind" : "identifier", - "text" : "-=" - }, - { - "kind" : "text", - "text" : " " + "text" : "rotated" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/-=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)", + "path" : "\/documentation\/euclid\/transform\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)", "taskGroups" : [ ], - "title" : "-=(_:_:)", - "usr" : "s:s18AdditiveArithmeticPsE2seoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "rotated(by:)", + "usr" : "s:6Euclid9TransformV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "Alignment mode to use when extruding along a path.", + "text" : "An array of vertices suitable for constructing a polygon from the path.", "type" : "text" } ], @@ -26476,7 +27972,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "var" }, { "kind" : "text", @@ -26484,66 +27980,36 @@ }, { "kind" : "identifier", - "text" : "Alignment" - } - ], - "kind" : "org.swift.docc.kind.typeAlias", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/alignment", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment", - "taskGroups" : [ - - ], - "title" : "Mesh.Alignment", - "usr" : "s:6Euclid4MeshV9Alignmenta" - }, - { - "abstract" : [ - { - "text" : "The plane on which all vertices lie.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" + "text" : "faceVertices" }, { "kind" : "text", - "text" : " " + "text" : ": [" }, { - "kind" : "identifier", - "text" : "plane" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : "]?" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/plane", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/plane", + "path" : "\/documentation\/euclid\/path\/facevertices", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices", "taskGroups" : [ ], - "title" : "plane", - "usr" : "s:6Euclid7PolygonV5planeAA5PlaneVvp" + "title" : "faceVertices", + "usr" : "s:6Euclid4PathV12faceVerticesSayAA6VertexVGSgvp" }, { "abstract" : [ { - "text" : "Encodes the vector into the given encoder.", + "text" : "Returns the intersection point between the specified line segment and this one.", "type" : "text" } ], @@ -26561,7 +28027,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "intersection" }, { "kind" : "text", @@ -26569,7 +28035,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "with" }, { "kind" : "text", @@ -26577,32 +28043,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)", + "path" : "\/documentation\/euclid\/linesegment\/intersection(with:)-2u7vo", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-2u7vo", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid6VectorV6encode2toys7Encoder_p_tKF" + "title" : "intersection(with:)", + "usr" : "s:6Euclid11LineSegmentV12intersection4withAA6VectorVSgAC_tF" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of points.", + "text" : "An array containing the X, Y, and Z components of the vector.", "type" : "text" } ], @@ -26612,15 +28083,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -26628,40 +28091,54 @@ }, { "kind" : "identifier", - "text" : "convexHull" + "text" : "components" }, { "kind" : "text", - "text" : "<" + "text" : ": [" }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ">(" - }, - { - "kind" : "externalParam", - "text" : "of" - }, + "text" : "]" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/components", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components", + "taskGroups" : [ + + ], + "title" : "components", + "usr" : "s:6Euclid6VectorV10componentsSaySdGvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "The Y component of the vector.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VectorV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "identifier", + "text" : "y" }, { "kind" : "text", @@ -26669,33 +28146,52 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-6176", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-6176", + "path" : "\/documentation\/euclid\/vector\/y", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VectorV7ElementRtzlFZ" + "title" : "y", + "usr" : "s:6Euclid6VectorV1ySdvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/additivearithmetic-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/AdditiveArithmetic-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero" + ], + "title" : "Type Properties" + } + ], + "title" : "AdditiveArithmetic Implementations" }, { "abstract" : [ { - "text" : "Curve or uncurve the point.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -26703,6 +28199,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -26713,41 +28217,56 @@ }, { "kind" : "identifier", - "text" : "curved" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/curved(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curved(_:)", + "path" : "\/documentation\/euclid\/polygon\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)", "taskGroups" : [ ], - "title" : "curved(_:)", - "usr" : "s:6Euclid9PathPointV6curvedyACSbF" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Returns the angle between this vector and another.", + "text" : "Computes the line of intersection between two planes.", "type" : "text" } ], @@ -26765,7 +28284,7 @@ }, { "kind" : "identifier", - "text" : "angle" + "text" : "intersection" }, { "kind" : "text", @@ -26781,8 +28300,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", @@ -26790,50 +28309,40 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/angle(with:)-29paf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf", + "path" : "\/documentation\/euclid\/plane\/intersection(with:)-4v7tg", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-4v7tg", "taskGroups" : [ ], - "title" : "angle(with:)", - "usr" : "s:6Euclid6VectorV5angle4withAA5AngleVAC_tF" + "title" : "intersection(with:)", + "usr" : "s:6Euclid5PlaneV12intersection4withAA4LineVSgAC_tF" }, { - "abstract" : [ - { - "text" : "The unique polygon edges in the mesh.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "uniqueEdges" + "kind" : "externalParam", + "text" : "cgPath" }, { "kind" : "text", @@ -26841,37 +28350,65 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sh", - "text" : "Set" + "preciseIdentifier" : "c:@T@CGPathRef", + "text" : "CGPath" }, { "kind" : "text", - "text" : "<" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "detail" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ">" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "color" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/uniqueedges", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges", + "path" : "\/documentation\/euclid\/path\/init(cgpath:detail:color:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)", "taskGroups" : [ ], - "title" : "uniqueEdges", - "usr" : "s:6Euclid4MeshV11uniqueEdgesShyAA11LineSegmentVGvp" + "title" : "init(cgPath:detail:color:)", + "usr" : "s:6Euclid4PathV02cgB06detail5colorACSo9CGPathRefa_SiAA5ColorVSgtcfc" }, { "abstract" : [ { - "text" : "Creates a rotation around the Y axis.", + "text" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", "type" : "text" } ], @@ -26881,27 +28418,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "roll" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", "text" : "yaw" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", @@ -26910,28 +28456,76 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "pitch" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/yaw(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)", + "path" : "\/documentation\/euclid\/quaternion\/init(roll:yaw:pitch:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)", "taskGroups" : [ ], - "title" : "yaw(_:)", - "usr" : "s:6Euclid8RotationV3yawyAcA5AngleVFZ" + "title" : "init(roll:yaw:pitch:)", + "usr" : "s:6Euclid10QuaternionV4roll3yaw5pitchAcA5AngleV_A2Htcfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/pathpoint\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "An array containing the X, Y, and Z components of the vector.", + "text" : "The array of vertices that make up the polygon.", "type" : "text" } ], @@ -26949,7 +28543,7 @@ }, { "kind" : "identifier", - "text" : "components" + "text" : "vertices" }, { "kind" : "text", @@ -26957,8 +28551,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", @@ -26967,18 +28561,18 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/components", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components", + "path" : "\/documentation\/euclid\/polygon\/vertices", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices", "taskGroups" : [ ], - "title" : "components", - "usr" : "s:6Euclid6VectorV10componentsSaySdGvp" + "title" : "vertices", + "usr" : "s:6Euclid7PolygonV8verticesSayAA6VertexVGvp" }, { "abstract" : [ { - "text" : "The square of the length of the vector. This is less expensive to compute than the length itself.", + "text" : "Closes the path by joining last point to first.", "type" : "text" } ], @@ -26988,7 +28582,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -26996,32 +28590,32 @@ }, { "kind" : "identifier", - "text" : "lengthSquared" + "text" : "closed" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/lengthsquared", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared", + "path" : "\/documentation\/euclid\/path\/closed()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/closed()", "taskGroups" : [ ], - "title" : "lengthSquared", - "usr" : "s:6Euclid6VectorV13lengthSquaredSdvp" + "title" : "closed()", + "usr" : "s:6Euclid4PathV6closedACyF" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the polygon includes vertex normals that differ from the face normal.", + "text" : "The Z component of the vector.", "type" : "text" } ], @@ -27039,7 +28633,7 @@ }, { "kind" : "identifier", - "text" : "hasVertexNormals" + "text" : "z" }, { "kind" : "text", @@ -27047,24 +28641,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/hasvertexnormals", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals", + "path" : "\/documentation\/euclid\/vector\/z", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z", "taskGroups" : [ ], - "title" : "hasVertexNormals", - "usr" : "s:6Euclid7PolygonV16hasVertexNormalsSbvp" + "title" : "z", + "usr" : "s:6Euclid6VectorV1zSdvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/alignment\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Creates a closed regular polygon.", + "text" : "Transform has no effect.", "type" : "text" } ], @@ -27074,15 +28686,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -27090,49 +28694,7 @@ }, { "kind" : "identifier", - "text" : "polygon" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "radius" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "sides" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "color" + "text" : "isIdentity" }, { "kind" : "text", @@ -27140,33 +28702,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - }, - { - "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/polygon(radius:sides:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)", + "path" : "\/documentation\/euclid\/transform\/isidentity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity", "taskGroups" : [ ], - "title" : "polygon(radius:sides:color:)", - "usr" : "s:6Euclid4PathV7polygon6radius5sides5colorACSd_SiAA5ColorVSgtFZ" + "title" : "isIdentity", + "usr" : "s:6Euclid9TransformV10isIdentitySbvp" }, { "abstract" : [ { - "text" : "Encodes this mesh into the given encoder.", + "text" : "Do not generate texture coordinates.", "type" : "text" } ], @@ -27176,7 +28729,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "case" }, { "kind" : "text", @@ -27184,57 +28737,30 @@ }, { "kind" : "identifier", - "text" : "encode" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "to" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : "none" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/none", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid4MeshV6encode2toys7Encoder_p_tKF" + "title" : "Mesh.WrapMode.none", + "usr" : "s:6Euclid4MeshV8WrapModeO4noneyA2EmF" }, { + "abstract" : [ + { + "text" : "Return a copy of the mesh with transformed texture coordinates.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -27245,11 +28771,7 @@ }, { "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " + "text" : "withTextureTransform" }, { "kind" : "text", @@ -27257,15 +28779,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -27273,24 +28788,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/withtexturetransform(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "withTextureTransform(_:)", + "usr" : "s:6Euclid4MeshV20withTextureTransformyAcA0E0VF" }, { "abstract" : [ { - "text" : "Creates a polygon from an array of vertices.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -27300,24 +28815,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "?([" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "kind" : "identifier", + "text" : "rotated" }, { "kind" : "text", - "text" : "], " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "by" }, { "kind" : "text", @@ -27325,28 +28839,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : "?)" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/init(_:material:)-9mns5", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5", + "path" : "\/documentation\/euclid\/transformable\/rotated(by:)-76uyz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz", "taskGroups" : [ ], - "title" : "init(_:material:)", - "usr" : "s:6Euclid7PolygonV_8materialACSgSayAA6VertexVG_s11AnyHashableVSgtcfc" + "title" : "rotated(by:)", + "usr" : "s:6Euclid13TransformableP7rotated2byxAA8RotationV_tF" }, { "abstract" : [ { - "text" : "Creates an array of contours by extruding one path along another path.", + "text" : "Deprecated.", "type" : "text" } ], @@ -27356,15 +28874,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "extrusionContours" + "text" : "init" }, { "kind" : "text", @@ -27372,122 +28882,57 @@ }, { "kind" : "externalParam", - "text" : "along" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "twist" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "align" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV9AlignmentO", - "text" : "Alignment" + "text" : "points" }, { "kind" : "text", - "text" : ") -> [" + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "]" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/extrusioncontours(along:twist:align:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/extrusionContours(along:twist:align:)", + "path" : "\/documentation\/euclid\/bounds\/init(points:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)", "taskGroups" : [ ], - "title" : "extrusionContours(along:twist:align:)", - "usr" : "s:6Euclid4PathV17extrusionContours5along5twist5alignSayACGAC_AA5AngleVAC9AlignmentOtF" + "title" : "init(points:)", + "usr" : "s:6Euclid6BoundsV6pointsACSayAA6VectorVG_tcfc" }, { - "abstract" : [ - { - "text" : "A Boolean value that indicates whether the bounds is empty (has zero volume).", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "isEmpty" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/isempty", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty", + "path" : "\/documentation\/euclid\/mesh\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations", "taskGroups" : [ - + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)" + ], + "title" : "Initializers" + } ], - "title" : "isEmpty", - "usr" : "s:6Euclid6BoundsV7isEmptySbvp" + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "An empty mesh.", + "text" : "A plane located at the origin, aligned with the Y and Z axes.", "type" : "text" } ], @@ -27513,7 +28958,7 @@ }, { "kind" : "identifier", - "text" : "empty" + "text" : "yz" }, { "kind" : "text", @@ -27521,24 +28966,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/empty", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty", + "path" : "\/documentation\/euclid\/plane\/yz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz", "taskGroups" : [ ], - "title" : "empty", - "usr" : "s:6Euclid4MeshV5emptyACvpZ" + "title" : "yz", + "usr" : "s:6Euclid5PlaneV2yzACvpZ" }, { "abstract" : [ { - "text" : "Encodes this line segment into the given encoder.", + "text" : "Deprecated.", "type" : "text" } ], @@ -27548,15 +28993,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "encode" + "text" : "init" }, { "kind" : "text", @@ -27564,40 +29001,39 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "polygons" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)", + "path" : "\/documentation\/euclid\/bounds\/init(polygons:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid11LineSegmentV6encode2toys7Encoder_p_tKF" + "title" : "init(polygons:)", + "usr" : "s:6Euclid6BoundsV8polygonsACSayAA7PolygonVG_tcfc" }, { "abstract" : [ { - "text" : "Creates a curved path point at the specified X, Y and Z coordinates.", + "text" : "Creates a line segment with a start and end point.", "type" : "text" } ], @@ -27607,58 +29043,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "curve" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "init" }, { "kind" : "text", - "text" : ", " + "text" : "?(" }, { "kind" : "externalParam", - "text" : "texcoord" + "text" : "start" }, { "kind" : "text", @@ -27671,11 +29064,11 @@ }, { "kind" : "text", - "text" : "?, " + "text" : ", " }, { "kind" : "externalParam", - "text" : "color" + "text" : "end" }, { "kind" : "text", @@ -27683,33 +29076,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/curve(_:_:_:texcoord:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:_:_:texcoord:color:)", + "path" : "\/documentation\/euclid\/linesegment\/init(start:end:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)", "taskGroups" : [ ], - "title" : "curve(_:_:_:texcoord:color:)", - "usr" : "s:6Euclid9PathPointV5curve___8texcoord5colorACSd_S2dAA6VectorVSgAA5ColorVSgtFZ" + "title" : "init(start:end:)", + "usr" : "s:6Euclid11LineSegmentV5start3endACSgAA6VectorV_AHtcfc" }, { "abstract" : [ { - "text" : "A normalized direction vector pointing rightwards relative to the current rotation.", + "text" : "A common protocol for objects that have a bounds.", "type" : "text" } ], @@ -27719,7 +29107,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "protocol" }, { "kind" : "text", @@ -27727,79 +29115,63 @@ }, { "kind" : "identifier", - "text" : "right" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Bounded" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.protocol", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/right", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right", + "path" : "\/documentation\/euclid\/bounded", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", "taskGroups" : [ - - ], - "title" : "right", - "usr" : "s:6Euclid8RotationV5rightAA6VectorVvp" - }, - { - "abstract" : [ { - "text" : "The points that make up the corners of the bounds.", - "type" : "text" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds" + ], + "title" : "Instance Properties" } ], + "title" : "Bounded", + "usr" : "s:6Euclid7BoundedP" + }, + { "availableLanguages" : [ "swift" ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "corners" - }, - { - "kind" : "text", - "text" : ": [" - }, + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-Implementations", + "taskGroups" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)" + ], + "title" : "Operators" }, { - "kind" : "text", - "text" : "]" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-3m9le", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)" + ], + "title" : "Instance Methods" } ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/corners", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners", - "taskGroups" : [ - - ], - "title" : "corners", - "usr" : "s:6Euclid6BoundsV7cornersSayAA6VectorVGvp" + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Encodes this angle into the given encoder.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -27807,6 +29179,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -27817,43 +29197,51 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "to" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "text" : "Self" }, { "kind" : "text", - "text" : ") " + "text" : ", " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)", + "path" : "\/documentation\/euclid\/vertex\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid5AngleV6encode2toys7Encoder_p_tKF" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VertexV" }, { "availableLanguages" : [ @@ -27878,7 +29266,7 @@ }, { "kind" : "identifier", - "text" : "<=" + "text" : "..<" }, { "kind" : "text", @@ -27906,24 +29294,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sn", + "text" : "Range" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/_=(_:_:)-j6oq", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq", + "path" : "\/documentation\/euclid\/plane\/'.._(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)", "taskGroups" : [ ], - "title" : "<=(_:_:)", - "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "..<(_:_:)", + "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Efficiently performs a stencil with multiple meshes.", + "text" : "Return binary STL data for the mesh.", "type" : "text" } ], @@ -27931,14 +29331,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -27949,32 +29341,15 @@ }, { "kind" : "identifier", - "text" : "stencil" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" - }, - { - "kind" : "text", - "text" : ">(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV7stencil_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : "stlData" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "colorLookup" }, { "kind" : "text", @@ -27982,42 +29357,58 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid4MeshV16STLColorProvidera", + "text" : "STLColorProvider" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:10Foundation4DataV", + "text" : "Data" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stencil(_:iscancelled:)-swift.type.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method", + "path" : "\/documentation\/euclid\/mesh\/stldata(colorlookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)", "taskGroups" : [ ], - "title" : "stencil(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV7stencil_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "stlData(colorLookup:)", + "usr" : "s:6Euclid4MeshV7stlData11colorLookup10Foundation0D0VAA5ColorVSgs11AnyHashableVSgcSg_tF" }, { "availableLanguages" : [ "swift" ], - "fragments" : [ + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations", + "taskGroups" : [ { - "kind" : "keyword", - "text" : "static" - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : " " - }, + "text" : "Returns a rotated copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -28028,56 +29419,49 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "rotated" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s19PartialRangeThroughV", - "text" : "PartialRangeThrough" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : "<" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/'...(_:)-3s6ak", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak", + "path" : "\/documentation\/euclid\/pathpoint\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "rotated(by:)", + "usr" : "s:6Euclid9PathPointV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether a point lies on the plane.", + "text" : "Creates a quaternion representing a rotation around the X axis.", "type" : "text" } ], @@ -28085,6 +29469,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -28095,7 +29487,7 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "pitch" }, { "kind" : "text", @@ -28103,8 +29495,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -28112,27 +29504,21 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/quaternion\/pitch(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid5PlaneV13containsPointySbAA6VectorVF" + "title" : "pitch(_:)", + "usr" : "s:6Euclid10QuaternionV5pitchyAcA5AngleVFZ" }, { - "abstract" : [ - { - "text" : "An empty path.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -28147,7 +29533,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -28155,32 +29541,64 @@ }, { "kind" : "identifier", - "text" : "empty" + "text" : "..<" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sn", + "text" : "Range" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/empty", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty", + "path" : "\/documentation\/euclid\/angle\/'.._(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)", "taskGroups" : [ ], - "title" : "empty", - "usr" : "s:6Euclid4PathV5emptyACvpZ" + "title" : "..<(_:_:)", + "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -28198,7 +29616,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "rotate" }, { "kind" : "text", @@ -28214,8 +29632,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -28224,95 +29642,117 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/scale(by:)-8v4ag", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag", + "path" : "\/documentation\/euclid\/mesh\/rotate(by:)-3uymx", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { + "abstract" : [ + { + "text" : "Split the polygon along a plane.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "split" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "..<" + "kind" : "externalParam", + "text" : "along" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "text", - "text" : "(" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "text", + "text" : ") -> (front" }, { "kind" : "text", - "text" : ", " + "text" : ": [" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sn", - "text" : "Range" + "text" : "], back" }, { "kind" : "text", - "text" : "<" + "text" : ": [" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ">" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/'.._(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)", + "path" : "\/documentation\/euclid\/polygon\/split(along:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)", "taskGroups" : [ ], - "title" : "..<(_:_:)", - "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "split(along:)", + "usr" : "s:6Euclid7PolygonV5split5alongSayACG5front_AF4backtAA5PlaneV_tF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Creates an angle representing the trigonometric arc tangent of the value you provide.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -28322,27 +29762,27 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "scaled" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "atan" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", @@ -28355,24 +29795,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/atan(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)", + "path" : "\/documentation\/euclid\/pathpoint\/scaled(by:)-7e3o7", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7", "taskGroups" : [ ], - "title" : "atan(_:)", - "usr" : "s:6Euclid5AngleV4atanyACSdFZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid9PathPointV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Creates a quaternion representing a rotation around the Y axis.", + "text" : "Creates a size\/scale vector from an array of two coordinates.", "type" : "text" } ], @@ -28382,52 +29822,57 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "yaw" + "kind" : "externalParam", + "text" : "size" }, { "kind" : "text", - "text" : "(" + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/yaw(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw(_:)", + "path" : "\/documentation\/euclid\/vector\/init(size:)-8b34m", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m", "taskGroups" : [ ], - "title" : "yaw(_:)", - "usr" : "s:6Euclid10QuaternionV3yawyAcA5AngleVFZ" + "title" : "init(size:)", + "usr" : "s:6Euclid6VectorV4sizeACSaySdG_tcfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "availableLanguages" : [ @@ -28452,7 +29897,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : ">" }, { "kind" : "text", @@ -28486,18 +29931,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)", + "path" : "\/documentation\/euclid\/plane\/_(_:_:)-3fd8h", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5ColorV" + "title" : ">(_:_:)", + "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Return ASCII STL string data for the mesh.", + "text" : "Creates an angle from a radians value.", "type" : "text" } ], @@ -28507,32 +29952,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "stlString" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "name" + "kind" : "identifier", + "text" : "radians" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -28540,24 +29985,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stlstring(name:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)", + "path" : "\/documentation\/euclid\/angle\/radians(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)", "taskGroups" : [ ], - "title" : "stlString(name:)", - "usr" : "s:6Euclid4MeshV9stlString4nameS2S_tF" + "title" : "radians(_:)", + "usr" : "s:6Euclid5AngleV7radiansyACSdFZ" }, { "abstract" : [ { - "text" : "Creates a new vector from a CoreGraphics size.", + "text" : "A Boolean value that indicates whether the quaternion has a length of ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -28567,36 +30020,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@CGSize", - "text" : "CGSize" + "kind" : "identifier", + "text" : "isNormalized" }, { "kind" : "text", - "text" : ")" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-6nlm", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm", + "path" : "\/documentation\/euclid\/quaternion\/isnormalized", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACSo6CGSizeVcfc" + "title" : "isNormalized", + "usr" : "s:6Euclid10QuaternionV12isNormalizedSbvp" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -28604,14 +30061,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -28622,28 +30071,24 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -28651,27 +30096,42 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*(_:_:)-98mbu", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu", + "path" : "\/documentation\/euclid\/vector\/scaled(by:)-350oy", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6VectorV6scaled2byACSd_tF" }, { + "abstract" : [ + { + "text" : "Transform the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "transform" }, { "kind" : "text", @@ -28679,7 +30139,7 @@ }, { "kind" : "externalParam", - "text" : "polygon" + "text" : "by" }, { "kind" : "text", @@ -28687,31 +30147,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(polygon:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)", + "path" : "\/documentation\/euclid\/vertex\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)", "taskGroups" : [ ], - "title" : "init(polygon:)", - "usr" : "s:6Euclid4PathV7polygonAcA7PolygonV_tcfc" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "An array of vertices suitable for constructing a set of edge polygons for the path.", + "text" : "Returns the distance between the vector (representing a position in space) from the specified line.", "type" : "text" } ], @@ -28729,7 +30186,7 @@ }, { "kind" : "identifier", - "text" : "edgeVertices" + "text" : "distance" }, { "kind" : "text", @@ -28737,7 +30194,7 @@ }, { "kind" : "externalParam", - "text" : "for" + "text" : "from" }, { "kind" : "text", @@ -28745,46 +30202,51 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - }, - { - "kind" : "text", - "text" : "." - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "kind" : "text", - "text" : ") -> [" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/edgevertices(for:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)", + "path" : "\/documentation\/euclid\/vector\/distance(from:)-3eglz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-3eglz", "taskGroups" : [ ], - "title" : "edgeVertices(for:)", - "usr" : "s:6Euclid4PathV12edgeVertices3forSayAA6VertexVGAA4MeshV8WrapModeO_tF" + "title" : "distance(from:)", + "usr" : "s:6Euclid6VectorV8distance4fromSdAA4LineV_tF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Efficiently computes the intersection of multiple meshes.", + "text" : "Creates an Angle from a degrees value.", "type" : "text" } ], @@ -28794,48 +30256,88 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "degrees" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "intersection" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "<" - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/init(degrees:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(degrees:)", + "taskGroups" : [ + + ], + "title" : "init(degrees:)", + "usr" : "s:6Euclid5AngleV7degreesACSd_tcfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations", + "taskGroups" : [ { - "kind" : "genericParameter", - "text" : "T" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" + }, + { + "abstract" : [ + { + "text" : "Returns a scaled copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ">(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV12intersection_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "kind" : "identifier", + "text" : "scaled" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "by" }, { "kind" : "text", @@ -28843,8 +30345,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -28852,24 +30354,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/intersection(_:iscancelled:)-swift.type.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.type.method", + "path" : "\/documentation\/euclid\/polygon\/scaled(by:)-8sjrv", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv", "taskGroups" : [ ], - "title" : "intersection(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV12intersection_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid7PolygonV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Creates a path from an array of path points.", + "text" : "Returns the nearest point on the specified plane to the vector (representing a position in space).", "type" : "text" } ], @@ -28879,58 +30381,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "([" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "kind" : "identifier", + "text" : "project" }, { "kind" : "text", - "text" : "])" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(_:)-4jhkw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw", - "taskGroups" : [ - - ], - "title" : "init(_:)", - "usr" : "s:6Euclid4PathVyACSayAA0B5PointVGcfc" - }, - { - "abstract" : [ - { - "text" : "A normalized direction vector pointing forwards relative to the current rotation.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : "(" + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "externalParam", + "text" : "onto" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "forward" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -28938,20 +30418,20 @@ "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/forward", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward", + "path" : "\/documentation\/euclid\/vector\/project(onto:)-817o2", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-817o2", "taskGroups" : [ ], - "title" : "forward", - "usr" : "s:6Euclid8RotationV7forwardAA6VectorVvp" + "title" : "project(onto:)", + "usr" : "s:6Euclid6VectorV7project4ontoAcA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Computes the line of intersection between two planes.", + "text" : "Performs a spherical interpolation between two quaternions.", "type" : "text" } ], @@ -28969,24 +30449,25 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "slerp" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "with" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -28994,28 +30475,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" - }, - { - "kind" : "text", - "text" : "?" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/intersection(with:)-4v7tg", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-4v7tg", + "path" : "\/documentation\/euclid\/quaternion\/slerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid5PlaneV12intersection4withAA4LineVSgAC_tF" + "title" : "slerp(_:_:)", + "usr" : "s:6Euclid10QuaternionV5slerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "The alpha component of the color.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -29025,7 +30502,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -29033,7 +30510,15 @@ }, { "kind" : "identifier", - "text" : "a" + "text" : "translate" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -29041,59 +30526,44 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/a", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a", + "path" : "\/documentation\/euclid\/transform\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)", "taskGroups" : [ ], - "title" : "a", - "usr" : "s:6Euclid5ColorV1aSdvp" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Transformable-Implementations", - "taskGroups" : [ + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)" - ], - "title" : "Operators" + "text" : "All materials used by the mesh.", + "type" : "text" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Transformable Implementations" - }, - { - "abstract" : [ + "text" : " ", + "type" : "text" + }, { - "text" : "Returns the area of the polygon.", + "text" : "The array may contain ", + "type" : "text" + }, + { + "code" : "nil", + "type" : "codeVoice" + }, + { + "text" : " if some or all of the mesh uses the default material.", "type" : "text" } ], @@ -29111,32 +30581,36 @@ }, { "kind" : "identifier", - "text" : "area" + "text" : "materials" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - } - ], + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?]" + } + ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/area", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area", + "path" : "\/documentation\/euclid\/mesh\/materials", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials", "taskGroups" : [ ], - "title" : "area", - "usr" : "s:6Euclid7PolygonV4areaSdvp" + "title" : "materials", + "usr" : "s:6Euclid4MeshV9materialsSays11AnyHashableVSgGvp" }, { "abstract" : [ { - "text" : "Returns the difference between two angles.", + "text" : "Creates a new bounds representing the intersection between the specified bounds and this one.", "type" : "text" } ], @@ -29144,14 +30618,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -29162,11 +30628,7 @@ }, { "kind" : "identifier", - "text" : "-" - }, - { - "kind" : "text", - "text" : " " + "text" : "intersection" }, { "kind" : "text", @@ -29174,17 +30636,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", @@ -29192,24 +30645,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/-(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)", + "path" : "\/documentation\/euclid\/bounds\/intersection(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)", "taskGroups" : [ ], - "title" : "-(_:_:)", - "usr" : "s:6Euclid5AngleV1soiyA2C_ACtFZ" + "title" : "intersection(_:)", + "usr" : "s:6Euclid6BoundsV12intersectionyA2CF" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -29219,117 +30672,80 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "translated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "*=" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)", - "taskGroups" : [ - - ], - "title" : "translated(by:)", - "usr" : "s:6Euclid6VertexV10translated2byAcA6VectorV_tF" - }, - { - "abstract" : [ - { - "text" : "Creates an angle representing the trigonometric arc cosine of the value you provide.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" + "text" : " " }, { "kind" : "text", - "text" : " " + "text" : "(" }, { "kind" : "keyword", - "text" : "func" + "text" : "inout" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "acos" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/acos(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)", + "path" : "\/documentation\/euclid\/linesegment\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)", "taskGroups" : [ ], - "title" : "acos(_:)", - "usr" : "s:6Euclid5AngleV4acosyACSdFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Returns a new mesh created by subtracting the volume of the", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "mesh parameter from the receiver.", "type" : "text" } ], @@ -29347,15 +30763,24 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "subtracting" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "by" + "text" : "isCancelled" }, { "kind" : "text", @@ -29363,8 +30788,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -29372,24 +30797,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)", + "path" : "\/documentation\/euclid\/mesh\/subtracting(_:iscancelled:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid6VertexV7rotated2byAcA8RotationV_tF" + "title" : "subtracting(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV11subtracting_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Returns the difference between two quaternion rotations,.", + "text" : "Creates a rotationally symmetrical mesh by turning the specified path around the Y axis.", "type" : "text" } ], @@ -29415,11 +30840,7 @@ }, { "kind" : "identifier", - "text" : "-" - }, - { - "kind" : "text", - "text" : " " + "text" : "lathe" }, { "kind" : "text", @@ -29427,162 +30848,84 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "kind" : "externalParam", + "text" : "slices" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/-(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)", - "taskGroups" : [ - - ], - "title" : "-(_:_:)", - "usr" : "s:6Euclid10QuaternionV1soiyA2C_ACtFZ" - }, - { - "abstract" : [ - { - "text" : "A color in RGBA format.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "struct" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "Color" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/color", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-53lhy", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un" - ], - "title" : "Creating a Color" + "kind" : "externalParam", + "text" : "poleDetail" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/gray", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/cyan", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange" - ], - "title" : "Default Colors" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a" - ], - "title" : "Color properties" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)" - ], - "title" : "Mutating Colors" + "kind" : "text", + "text" : ", " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components" - ], - "title" : "Instance Properties" + "kind" : "externalParam", + "text" : "addDetailForFlatPoles" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Equatable-Implementations" - ], - "title" : "Default Implementations" - } - ], - "title" : "Color", - "usr" : "s:6Euclid5ColorV" - }, - { - "abstract" : [ + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + }, { - "text" : "The identity transform (i.e. no transform).", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "static" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "identity" + "kind" : "externalParam", + "text" : "wrapMode" }, { "kind" : "text", @@ -29590,58 +30933,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - } - ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/identity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity", - "taskGroups" : [ - - ], - "title" : "identity", - "usr" : "s:6Euclid9TransformV8identityACvpZ" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", + "text" : "WrapMode" + }, { - "text" : "Creates a vertex from a path point.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ")" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/init(_:)-7go25", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25", + "path" : "\/documentation\/euclid\/mesh\/lathe(_:slices:poledetail:adddetailforflatpoles:faces:wrapmode:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VertexVyAcA9PathPointVcfc" + "title" : "lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV5lathe_6slices10poleDetail03addF12ForFlatPoles5faces8wrapMode8materialAcA4PathV_S2iSbAC5FacesOAC04WrapM0Os11AnyHashableVSgtFZ" }, { "availableLanguages" : [ @@ -29649,22 +30979,22 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Equatable-Implementations", + "path" : "\/documentation\/euclid\/linesegment\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Encodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)" ], - "title" : "Operators" + "title" : "Instance Methods" } ], - "title" : "Equatable Implementations" + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "The angle of rotation around the Y-axis.", + "text" : "The direction of the line segment as a normalized vector.", "type" : "text" } ], @@ -29682,7 +31012,7 @@ }, { "kind" : "identifier", - "text" : "yaw" + "text" : "direction" }, { "kind" : "text", @@ -29690,24 +31020,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/yaw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw", + "path" : "\/documentation\/euclid\/linesegment\/direction", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction", "taskGroups" : [ ], - "title" : "yaw", - "usr" : "s:6Euclid8RotationV3yawAA5AngleVvp" + "title" : "direction", + "usr" : "s:6Euclid11LineSegmentV9directionAA6VectorVvp" }, { "abstract" : [ { - "text" : "The maximum coordinate of the bounds.", + "text" : "Supported ", + "type" : "text" + }, + { + "code" : "NSSecureCodable", + "type" : "codeVoice" + }, + { + "text" : " Material base classes.", "type" : "text" } ], @@ -29717,7 +31055,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", @@ -29725,32 +31071,36 @@ }, { "kind" : "identifier", - "text" : "max" + "text" : "codableClasses" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s8AnyClassa", + "text" : "AnyClass" + }, + { + "kind" : "text", + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/max", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max", + "path" : "\/documentation\/euclid\/polygon\/codableclasses", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses", "taskGroups" : [ ], - "title" : "max", - "usr" : "s:6Euclid6BoundsV3maxAA6VectorVvp" + "title" : "codableClasses", + "usr" : "s:6Euclid7PolygonV14codableClassesSayyXlXpGvpZ" }, { "abstract" : [ { - "text" : "Adds the quaternion rotation on the right to the one on the left.", + "text" : "Returns the componentwise difference between two vectors.", "type" : "text" } ], @@ -29776,7 +31126,7 @@ }, { "kind" : "identifier", - "text" : "+=" + "text" : "-" }, { "kind" : "text", @@ -29787,46 +31137,43 @@ "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/+=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)", + "path" : "\/documentation\/euclid\/vector\/-(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)", "taskGroups" : [ ], - "title" : "+=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2peoiyyACz_ACtFZ" + "title" : "-(_:_:)", + "usr" : "s:6Euclid6VectorV1soiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "Texture is tube-wrapped.", + "text" : "Creates a curved path point at the specified X, Y and Z coordinates.", "type" : "text" } ], @@ -29836,41 +31183,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "tube" - } - ], - "kind" : "org.swift.docc.kind.enumerationCase", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/tube", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube", - "taskGroups" : [ - - ], - "title" : "Mesh.WrapMode.tube", - "usr" : "s:6Euclid4MeshV8WrapModeO4tubeyA2EmF" - }, - { - "abstract" : [ - { - "text" : "Returns the product of two quaternions (i.e. the effect of rotating the left by the right).", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" + "text" : "static" }, { "kind" : "text", @@ -29886,11 +31199,7 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "curve" }, { "kind" : "text", @@ -29898,8 +31207,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -29907,52 +31216,17 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/*(_:_:)-305tn", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn", - "taskGroups" : [ - - ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid10QuaternionV1moiyA2C_ACtFZ" - }, - { - "abstract" : [ - { - "text" : "Creates a path point.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -29990,163 +31264,107 @@ }, { "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "isCurved" - }, - { - "kind" : "text", - "text" : ": " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/init(_:texcoord:color:iscurved:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)", + "path" : "\/documentation\/euclid\/pathpoint\/curve(_:_:_:texcoord:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:_:_:texcoord:color:)", "taskGroups" : [ ], - "title" : "init(_:texcoord:color:isCurved:)", - "usr" : "s:6Euclid9PathPointV_8texcoord5color8isCurvedAcA6VectorV_AHSgAA5ColorVSgSbtcfc" + "title" : "curve(_:_:_:texcoord:color:)", + "usr" : "s:6Euclid9PathPointV5curve___8texcoord5colorACSd_S2dAA6VectorVSgAA5ColorVSgtFZ" }, { - "abstract" : [ - { - "text" : "The center of the bounds. If the bounds is empty this will return the zero vector.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" }, { "kind" : "text", "text" : " " }, - { - "kind" : "identifier", - "text" : "center" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/center", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center", - "taskGroups" : [ - - ], - "title" : "center", - "usr" : "s:6Euclid6BoundsV6centerAA6VectorVvp" - }, - { - "abstract" : [ - { - "text" : "Computes the convex hull of one or more meshes.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "..." }, { "kind" : "text", "text" : " " }, - { - "kind" : "identifier", - "text" : "convexHull" - }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "of" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": [" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:s16PartialRangeFromV", + "text" : "PartialRangeFrom" }, { "kind" : "text", - "text" : "]) -> " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/convexhull(of:)-8x4al", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al", + "path" : "\/documentation\/euclid\/angle\/'...(_:)-7xdsm", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm", "taskGroups" : [ ], - "title" : "convexHull(of:)", - "usr" : "s:6Euclid4MeshV10convexHull2ofACSayACG_tFZ" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { + "abstract" : [ + { + "text" : "Return a copy of the mesh without texture coordinates.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -30154,32 +31372,32 @@ }, { "kind" : "identifier", - "text" : "clear" + "text" : "withoutTexcoords" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/clear", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear", + "path" : "\/documentation\/euclid\/mesh\/withouttexcoords()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()", "taskGroups" : [ ], - "title" : "clear", - "usr" : "s:6Euclid5ColorV5clearACvpZ" + "title" : "withoutTexcoords()", + "usr" : "s:6Euclid4MeshV16withoutTexcoordsACyF" }, { "abstract" : [ { - "text" : "Efficiently extrudes an array of paths along their respective face normals, avoiding duplicate work.", + "text" : "Return a copy of the mesh with spherically-mapped texture coordinates.", "type" : "text" } ], @@ -30187,14 +31405,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -30205,41 +31415,50 @@ }, { "kind" : "identifier", - "text" : "extrude" + "text" : "sphereMapped" }, { "kind" : "text", - "text" : "([" + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "], " - }, - { - "kind" : "externalParam", - "text" : "depth" - }, + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/spheremapped()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()", + "taskGroups" : [ + + ], + "title" : "sphereMapped()", + "usr" : "s:6Euclid4MeshV12sphereMappedACyF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "twist" + "text" : "roll" }, { "kind" : "text", @@ -30256,24 +31475,7 @@ }, { "kind" : "externalParam", - "text" : "sections" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "faces" + "text" : "yaw" }, { "kind" : "text", @@ -30281,8 +31483,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -30290,84 +31492,7 @@ }, { "kind" : "externalParam", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "isCancelled" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/extrude(_:depth:twist:sections:faces:material:iscancelled:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:isCancelled:)", - "taskGroups" : [ - - ], - "title" : "extrude(_:depth:twist:sections:faces:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV7extrude_5depth5twist8sections5faces8material11isCancelledACSayAA4PathVG_SdAA5AngleVSiAC5FacesOs11AnyHashableVSgSbyXEtFZ" - }, - { - "abstract" : [ - { - "text" : "Rotate the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "pitch" }, { "kind" : "text", @@ -30375,28 +31500,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/rotate(by:)-8lp0l", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l", + "path" : "\/documentation\/euclid\/rotation\/init(roll:yaw:pitch:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "init(roll:yaw:pitch:)", + "usr" : "s:6Euclid8RotationV4roll3yaw5pitchAcA5AngleV_A2Htcfc" }, { "abstract" : [ { - "text" : "Creates a bounds with min and max coordinates.", + "text" : "Creates a vector of uniform size.", "type" : "text" } ], @@ -30414,24 +31539,7 @@ }, { "kind" : "externalParam", - "text" : "min" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "max" + "text" : "size" }, { "kind" : "text", @@ -30439,8 +31547,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -30449,21 +31557,15 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(min:max:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(min:max:)", + "path" : "\/documentation\/euclid\/vector\/init(size:)-nkyk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk", "taskGroups" : [ ], - "title" : "init(min:max:)", - "usr" : "s:6Euclid6BoundsV3min3maxAcA6VectorV_AGtcfc" + "title" : "init(size:)", + "usr" : "s:6Euclid6VectorV4sizeACSd_tcfc" }, { - "abstract" : [ - { - "text" : "Computes the convex hull of a set of line segments.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -30486,74 +31588,55 @@ }, { "kind" : "identifier", - "text" : "convexHull" + "text" : "+=" }, { "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" + "text" : " " }, { "kind" : "text", - "text" : ">(" + "text" : "(" }, { - "kind" : "externalParam", - "text" : "of" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA11LineSegmentV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "text" : "Self" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-91swk", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-91swk", + "path" : "\/documentation\/euclid\/vector\/+=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA11LineSegmentV7ElementRtzlFZ" + "title" : "+=(_:_:)", + "usr" : "s:s18AdditiveArithmeticPsE2peoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a quaternion from an axis and angle.", + "text" : "A polygon in 3D space.", "type" : "text" } ], @@ -30563,61 +31646,152 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "struct" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "axis" - }, + "kind" : "identifier", + "text" : "Polygon" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon", + "taskGroups" : [ { - "kind" : "text", - "text" : ": " - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)" + ], + "title" : "Creating Polygons" + }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/plane", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area" + ], + "title" : "Polygon Properties" }, { - "kind" : "text", - "text" : ", " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)" + ], + "title" : "Comparing Polygons" }, { - "kind" : "externalParam", - "text" : "angle" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)" + ], + "title" : "Transforming Polygons" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()" + ], + "title" : "Splitting Polygons" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals" + ], + "title" : "Instance Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()" + ], + "title" : "Instance Methods" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias" + ], + "title" : "Type Aliases" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses" + ], + "title" : "Type Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Transformable-Implementations" + ], + "title" : "Default Implementations" + } + ], + "title" : "Polygon", + "usr" : "s:6Euclid7PolygonV" + }, + { + "abstract" : [ + { + "text" : "Texture is shrink-wrapped.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "case" }, { "kind" : "text", - "text" : ")" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "shrink" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(axis:angle:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/shrink", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink", "taskGroups" : [ ], - "title" : "init(axis:angle:)", - "usr" : "s:6Euclid10QuaternionV4axis5angleACSgAA6VectorV_AA5AngleVtcfc" + "title" : "Mesh.WrapMode.shrink", + "usr" : "s:6Euclid4MeshV8WrapModeO6shrinkyA2EmF" }, { "abstract" : [ { - "text" : "Creates a new mesh from an array of polygons.", + "text" : "The angle in radians.", "type" : "text" } ], @@ -30627,44 +31801,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "([" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "kind" : "identifier", + "text" : "radians" }, { "kind" : "text", - "text" : "])" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)", + "path" : "\/documentation\/euclid\/angle\/radians", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid4MeshVyACSayAA7PolygonVGcfc" + "title" : "radians", + "usr" : "s:6Euclid5AngleV7radiansSdvp" }, { "abstract" : [ { - "text" : "Splits all polygons in the mesh that are concave or have more than the specified number of", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "sides into two or more convex polygons.", + "text" : "Returns the sum of two quaternion rotations.", "type" : "text" } ], @@ -30672,6 +31842,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -30682,24 +31860,29 @@ }, { "kind" : "identifier", - "text" : "tessellate" + "text" : "+" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "maxSides" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -30707,24 +31890,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/tessellate(maxsides:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)", + "path" : "\/documentation\/euclid\/quaternion\/+(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)", "taskGroups" : [ ], - "title" : "tessellate(maxSides:)", - "usr" : "s:6Euclid4MeshV10tessellate8maxSidesACSi_tF" + "title" : "+(_:_:)", + "usr" : "s:6Euclid10QuaternionV1poiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "The green component of the color.", "type" : "text" } ], @@ -30734,7 +31917,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -30742,15 +31925,7 @@ }, { "kind" : "identifier", - "text" : "transform" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "g" }, { "kind" : "text", @@ -30758,28 +31933,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)", + "path" : "\/documentation\/euclid\/color\/g", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "g", + "usr" : "s:6Euclid5ColorV1gSdvp" }, { "abstract" : [ { - "text" : "Creates a conical mesh.", + "text" : "Creates an angle representing the trigonometric arc cosine of the value you provide.", "type" : "text" } ], @@ -30805,20 +31976,12 @@ }, { "kind" : "identifier", - "text" : "cone" + "text" : "acos" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "radius" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", @@ -30826,54 +31989,63 @@ }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "height" - }, - { - "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + } + ], + "kind" : "org.swift.docc.kind.typeMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/acos(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)", + "taskGroups" : [ + + ], + "title" : "acos(_:)", + "usr" : "s:6Euclid5AngleV4acosyACSdFZ" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Creates a corner path point at the specified position.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "slices" + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "stacks" + "kind" : "identifier", + "text" : "point" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -30881,7 +32053,7 @@ }, { "kind" : "externalParam", - "text" : "poleDetail" + "text" : "texcoord" }, { "kind" : "text", @@ -30889,8 +32061,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -30898,7 +32070,7 @@ }, { "kind" : "externalParam", - "text" : "addDetailAtBottomPole" + "text" : "color" }, { "kind" : "text", @@ -30906,84 +32078,110 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "faces" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ": " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" - }, + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" + } + ], + "kind" : "org.swift.docc.kind.typeMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/pathpoint\/point(_:texcoord:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:texcoord:color:)", + "taskGroups" : [ + + ], + "title" : "point(_:texcoord:color:)", + "usr" : "s:6Euclid9PathPointV5point_8texcoord5colorAcA6VectorV_AHSgAA5ColorVSgtFZ" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "The default face generation behavior. Context-dependent.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "wrapMode" + "kind" : "keyword", + "text" : "case" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" - }, + "kind" : "identifier", + "text" : "`default`" + } + ], + "kind" : "org.swift.docc.kind.enumerationCase", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/faces\/default", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default", + "taskGroups" : [ + + ], + "title" : "Mesh.Faces.default", + "usr" : "s:6Euclid4MeshV5FacesO7defaultyA2EmF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Return Wavefront OBJ string data for the mesh.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "material" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "kind" : "identifier", + "text" : "objString" }, { "kind" : "text", - "text" : "?) -> " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:SS", + "text" : "String" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cone(radius:height:slices:stacks:poledetail:adddetailatbottompole:faces:wrapmode:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)", + "path" : "\/documentation\/euclid\/mesh\/objstring()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()", "taskGroups" : [ ], - "title" : "cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV4cone6radius6height6slices6stacks10poleDetail03addI12AtBottomPole5faces8wrapMode8materialACSd_SdS3iSgSbAC5FacesOAC04WrapP0Os11AnyHashableVSgtFZ" + "title" : "objString()", + "usr" : "s:6Euclid4MeshV9objStringSSyF" }, { "abstract" : [ { - "text" : "A distance or position in 3D space.", + "text" : "An axially-aligned bounding box in 3D space.", "type" : "text" } ], @@ -31001,131 +32199,96 @@ }, { "kind" : "identifier", - "text" : "Vector" + "text" : "Bounds" } ], "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/vector", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector", + "path" : "\/documentation\/euclid\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-228p6", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(min:max:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)" ], - "title" : "Creating Vectors" + "title" : "Creating Bounds" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty" ], - "title" : "Default Vectors" + "title" : "Default Bounds" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty" ], - "title" : "Vector Properties" + "title" : "Bounds Properties" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17" ], - "title" : "Computing Vectors" + "title" : "Comparing Bounds" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-49ykf", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)" ], - "title" : "Interpolating Vectors" + "title" : "Combining and Modifying Bounds" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)" ], - "title" : "Transforming Vectors" + "title" : "Transforming Bounds" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-3eglz", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-817o2", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-rksk" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-5bh7b", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)" ], - "title" : "Comparing Vectors" + "title" : "Initializers" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized" - ], - "title" : "Instance Properties" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/AdditiveArithmetic-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Comparable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Transformable-Implementations" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Transformable-Implementations" ], "title" : "Default Implementations" } ], - "title" : "Vector", - "usr" : "s:6Euclid6VectorV" + "title" : "Bounds", + "usr" : "s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Returns the angle between this vector and another.", "type" : "text" } ], @@ -31143,7 +32306,7 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "angle" }, { "kind" : "text", @@ -31151,7 +32314,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "with" }, { "kind" : "text", @@ -31159,8 +32322,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -31168,24 +32331,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)", + "path" : "\/documentation\/euclid\/vector\/angle(with:)-29paf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid9PathPointV11transformed2byAcA9TransformV_tF" + "title" : "angle(with:)", + "usr" : "s:6Euclid6VectorV5angle4withAA5AngleVAC_tF" }, { "abstract" : [ { - "text" : "Creates a new transform.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -31195,49 +32358,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "offset" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "rotation" + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "kind" : "identifier", + "text" : "rotate" }, { "kind" : "text", - "text" : "?, " + "text" : "(" }, { "kind" : "externalParam", - "text" : "scale" + "text" : "by" }, { "kind" : "text", @@ -31245,91 +32382,80 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : "?)" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/init(offset:rotation:scale:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)", + "path" : "\/documentation\/euclid\/pathpoint\/rotate(by:)-r7j4", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4", "taskGroups" : [ ], - "title" : "init(offset:rotation:scale:)", - "usr" : "s:6Euclid9TransformV6offset8rotation5scaleAcA6VectorVSg_AA8RotationVSgAItcfc" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { + "abstract" : [ + { + "text" : "Returns a Boolean value that indicates whether the specified point lies on the line segment.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "containsPoint" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "cyan" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/cyan", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/cyan", + "path" : "\/documentation\/euclid\/linesegment\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "cyan", - "usr" : "s:6Euclid5ColorV4cyanACvpZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid11LineSegmentV13containsPointySbAA6VectorVF" }, { "abstract" : [ { - "text" : "A 3D surface made of polygons.", + "text" : "Computes the convex hull of a set of points.", "type" : "text" } ], @@ -31339,238 +32465,90 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "Mesh" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty" - ], - "title" : "Default Meshes" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/icosahedron(radius:faces:wrapMode:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces" - ], - "title" : "Geometric Primitives" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.type.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.type.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.type.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler" - ], - "title" : "Creating Meshes from Other Meshes" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al" - ], - "title" : "Creating Meshes from Polygons" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-4hvi3", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:along:twist:align:faces:material:isCancelled:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:isCancelled:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-85o14", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-9mn9o" - ], - "title" : "Creating Meshes from Paths" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-6176", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-91swk", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-5ztum" - ], - "title" : "Creating Meshes from Vertices, Points or LineSegments" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:font:width:depth:detail:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)" - ], - "title" : "Creating Meshes from Text" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider" - ], - "title" : "Creating Meshes from SceneKit Models" + "kind" : "keyword", + "text" : "func" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)" - ], - "title" : "Exporting Meshes" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges" - ], - "title" : "Mesh Properties" + "kind" : "identifier", + "text" : "convexHull" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)" - ], - "title" : "Comparing Meshes" + "kind" : "text", + "text" : "<" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/inverted()" - ], - "title" : "Transforming Meshes" + "kind" : "genericParameter", + "text" : "T" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()" - ], - "title" : "Updating Materials and Texture Coordinates" + "kind" : "text", + "text" : ">(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.method", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.type.method" - ], - "title" : "Merging Meshes" + "kind" : "externalParam", + "text" : "of" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/split(along:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes" - ], - "title" : "Splitting Meshes" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detessellate()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)" - ], - "title" : "Adjusting Mesh Topology" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VectorV7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)" - ], - "title" : "Initializers" + "kind" : "text", + "text" : ", " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals" - ], - "title" : "Instance Properties" + "kind" : "externalParam", + "text" : "material" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider" - ], - "title" : "Type Aliases" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-8t5q8", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-eado", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.type.method" - ], - "title" : "Type Methods" + "kind" : "text", + "text" : "?) -> " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Bounded-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Transformable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "title" : "Mesh", - "usr" : "s:6Euclid4MeshV" + "kind" : "org.swift.docc.kind.typeMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-6176", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-6176", + "taskGroups" : [ + + ], + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VectorV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -31588,7 +32566,7 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "scale" }, { "kind" : "text", @@ -31604,33 +32582,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)", + "path" : "\/documentation\/euclid\/linesegment\/scale(by:)-2v2ef", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid5PlaneV7rotated2byAcA8RotationV_tF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Generate back faces.", + "text" : "Creates a quaternion from an axis and angle.", "type" : "text" } ], @@ -31640,31 +32613,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "back" + "kind" : "externalParam", + "text" : "axis" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "angle" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/back", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back", + "path" : "\/documentation\/euclid\/quaternion\/init(axis:angle:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)", "taskGroups" : [ ], - "title" : "Mesh.Faces.back", - "usr" : "s:6Euclid4MeshV5FacesO4backyA2EmF" + "title" : "init(axis:angle:)", + "usr" : "s:6Euclid10QuaternionV4axis5angleACSgAA6VectorV_AA5AngleVtcfc" }, { "abstract" : [ { - "text" : "The axis of rotation.", + "text" : "All vector components are zero (or close to zero) in length.", "type" : "text" } ], @@ -31682,7 +32685,7 @@ }, { "kind" : "identifier", - "text" : "axis" + "text" : "isZero" }, { "kind" : "text", @@ -31690,21 +32693,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/axis", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis", + "path" : "\/documentation\/euclid\/vector\/iszero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero", "taskGroups" : [ ], - "title" : "axis", - "usr" : "s:6Euclid10QuaternionV4axisAA6VectorVvp" + "title" : "isZero", + "usr" : "s:6Euclid6VectorV6isZeroSbvp" }, { + "abstract" : [ + { + "text" : "An empty path.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -31727,7 +32736,7 @@ }, { "kind" : "identifier", - "text" : "magenta" + "text" : "empty" }, { "kind" : "text", @@ -31735,24 +32744,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/magenta", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta", - "taskGroups" : [ + "path" : "\/documentation\/euclid\/path\/empty", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty", + "taskGroups" : [ ], - "title" : "magenta", - "usr" : "s:6Euclid5ColorV7magentaACvpZ" + "title" : "empty", + "usr" : "s:6Euclid4PathV5emptyACvpZ" }, { "abstract" : [ { - "text" : "A surface normal vector, perpendicular to the plane.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -31762,7 +32771,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -31770,7 +32779,15 @@ }, { "kind" : "identifier", - "text" : "normal" + "text" : "rotated" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -31778,24 +32795,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/normal", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal", + "path" : "\/documentation\/euclid\/transformable\/rotated(by:)-5mcqw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-5mcqw", "taskGroups" : [ ], - "title" : "normal", - "usr" : "s:6Euclid5PlaneV6normalAA6VectorVvp" + "title" : "rotated(by:)", + "usr" : "s:6Euclid13TransformablePAAE7rotated2byxAA10QuaternionV_tF" }, { "abstract" : [ { - "text" : "A normalized direction vector pointing upwards relative to the current rotation.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -31805,7 +32830,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -31813,7 +32838,15 @@ }, { "kind" : "identifier", - "text" : "up" + "text" : "transform" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -31821,24 +32854,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/up", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up", + "path" : "\/documentation\/euclid\/pathpoint\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)", "taskGroups" : [ ], - "title" : "up", - "usr" : "s:6Euclid8RotationV2upAA6VectorVvp" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Computes the trigonometric sine of an angle.", "type" : "text" } ], @@ -31848,72 +32885,110 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "sin" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "*=" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : " " + "text" : ") -> " }, { - "kind" : "text", - "text" : "(" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + } + ], + "kind" : "org.swift.docc.kind.function", + "language" : "swift", + "path" : "\/documentation\/euclid\/sin(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)", + "taskGroups" : [ + + ], + "title" : "sin(_:)", + "usr" : "s:6Euclid3sinySdAA5AngleVF" + }, + { + "abstract" : [ + { + "text" : "Merges coplanar polygons that share one or more edges, provided the result will be convex.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", - "text" : "inout" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "identifier", + "text" : "detriangulate" }, { "kind" : "text", - "text" : ", " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/detriangulate()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "detriangulate()", + "usr" : "s:6Euclid4MeshV13detriangulateACyF" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/faces\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/Equatable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Computes the dot-product of this vector and another.", + "text" : "The bounds of all the path’s points.", "type" : "text" } ], @@ -31923,7 +32998,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -31931,44 +33006,29 @@ }, { "kind" : "identifier", - "text" : "dot" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "bounds" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/dot(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)", + "path" : "\/documentation\/euclid\/path\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds", "taskGroups" : [ ], - "title" : "dot(_:)", - "usr" : "s:6Euclid6VectorV3dotySdACF" + "title" : "bounds", + "usr" : "s:6Euclid4PathV6boundsAA6BoundsVvp" }, { - "abstract" : [ - { - "text" : "Returns a vector with its components multiplied by the specified value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -31991,7 +33051,7 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "!=" }, { "kind" : "text", @@ -32003,8 +33063,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", @@ -32012,8 +33071,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", @@ -32021,24 +33079,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*(_:_:)-48gl1", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1", + "path" : "\/documentation\/euclid\/mesh\/faces\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid6VectorV1moiyACSd_ACtFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV5FacesO" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Creates a corner path point at the specified position.", + "text" : "The points that make up the corners of the bounds.", "type" : "text" } ], @@ -32048,15 +33124,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -32064,28 +33132,11 @@ }, { "kind" : "identifier", - "text" : "point" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "texcoord" + "text" : "corners" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", @@ -32094,45 +33145,23 @@ }, { "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "color" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - }, - { - "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/point(_:texcoord:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:texcoord:color:)", + "path" : "\/documentation\/euclid\/bounds\/corners", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners", "taskGroups" : [ ], - "title" : "point(_:texcoord:color:)", - "usr" : "s:6Euclid9PathPointV5point_8texcoord5colorAcA6VectorV_AHSgAA5ColorVSgtFZ" + "title" : "corners", + "usr" : "s:6Euclid6BoundsV7cornersSayAA6VectorVGvp" }, { "abstract" : [ { - "text" : "Flip the direction of the line segment", + "text" : "Angle representing a full rotation.", "type" : "text" } ], @@ -32142,7 +33171,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", @@ -32150,32 +33187,32 @@ }, { "kind" : "identifier", - "text" : "inverted" + "text" : "twoPi" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()", + "path" : "\/documentation\/euclid\/angle\/twopi", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid11LineSegmentV8invertedACyF" + "title" : "twoPi", + "usr" : "s:6Euclid5AngleV5twoPiACvpZ" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "The angle of rotation.", "type" : "text" } ], @@ -32185,7 +33222,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -32193,15 +33230,7 @@ }, { "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "angle" }, { "kind" : "text", @@ -32209,28 +33238,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/rotate(by:)-2ix6y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y", + "path" : "\/documentation\/euclid\/rotation\/angle", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "angle", + "usr" : "s:6Euclid8RotationV5angleAA5AngleVvp" }, { "abstract" : [ { - "text" : "Encodes this color into the given encoder.", + "text" : "Creates a new mesh that is the combination of the polygons from all the specified meshes.", "type" : "text" } ], @@ -32238,6 +33263,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -32248,48 +33281,49 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "merge" }, { "kind" : "text", - "text" : "(" + "text" : "<" }, { - "kind" : "externalParam", - "text" : "to" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : ": " + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid4MeshV5mergeyACxSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)", + "path" : "\/documentation\/euclid\/mesh\/merge(_:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.type.method", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid5ColorV6encode2toys7Encoder_p_tKF" + "title" : "merge(_:)", + "usr" : "s:6Euclid4MeshV5mergeyACxSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "The position of the center of the polygon.", + "text" : "Creates a copy of the color updated with the specified alpha.", "type" : "text" } ], @@ -32299,7 +33333,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -32307,32 +33341,41 @@ }, { "kind" : "identifier", - "text" : "center" + "text" : "withAlpha" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/center", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center", + "path" : "\/documentation\/euclid\/color\/withalpha(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)", "taskGroups" : [ ], - "title" : "center", - "usr" : "s:6Euclid7PolygonV6centerAA6VectorVvp" + "title" : "withAlpha(_:)", + "usr" : "s:6Euclid5ColorV9withAlphayACSdF" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -32350,7 +33393,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "scale" }, { "kind" : "text", @@ -32366,8 +33409,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -32376,18 +33419,26 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/rotate(by:)-16elu", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu", + "path" : "\/documentation\/euclid\/pathpoint\/scale(by:)-7pxnt", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Creates a path point from a vertex.", + "text" : "The surface normal of the vertex, used to calculate lighting.", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "Set this to zero if you want the normal to be calculated automatically from the polygon face normal.", "type" : "text" } ], @@ -32397,36 +33448,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "kind" : "identifier", + "text" : "normal" }, { "kind" : "text", - "text" : ")" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/init(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)", + "path" : "\/documentation\/euclid\/vertex\/normal", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid9PathPointVyAcA6VertexVcfc" + "title" : "normal", + "usr" : "s:6Euclid6VertexV6normalAA6VectorVvp" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -32444,7 +33499,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "translate" }, { "kind" : "text", @@ -32470,28 +33525,30 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/scale(by:)-8g7t0", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0", + "path" : "\/documentation\/euclid\/polygon\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { - "abstract" : [ - { - "text" : "Rotate the value in place.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -32499,44 +33556,56 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "..." + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:s16PartialRangeFromV", + "text" : "PartialRangeFrom" }, { "kind" : "text", - "text" : ")" + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/rotate(by:)-15yni", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni", + "path" : "\/documentation\/euclid\/vector\/'...(_:)-14arr", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a new line by decoding from the given decoder.", + "text" : "Creates a rotation around the Y axis.", "type" : "text" } ], @@ -32546,72 +33615,114 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "identifier", + "text" : "yaw" + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)", + "path" : "\/documentation\/euclid\/rotation\/yaw(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid4LineV4fromACs7Decoder_p_tKcfc" + "title" : "yaw(_:)", + "usr" : "s:6Euclid8RotationV3yawyAcA5AngleVFZ" }, { + "abstract" : [ + { + "text" : "The distinct (disconnected) submeshes that make up the mesh.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "var" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "submeshes" }, { "kind" : "text", - "text" : " " + "text" : ": [" }, { - "kind" : "identifier", - "text" : "..<" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : " " + "text" : "]" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/submeshes", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes", + "taskGroups" : [ + + ], + "title" : "submeshes", + "usr" : "s:6Euclid4MeshV9submeshesSayACGvp" + }, + { + "abstract" : [ + { + "text" : "Create a color from RGB values and optional alpha component", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", @@ -32619,7 +33730,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -32627,44 +33739,46 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sn", - "text" : "Range" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "<" + "text" : ", " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/'.._(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)", + "path" : "\/documentation\/euclid\/color\/init(_:_:_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:_:_:)", "taskGroups" : [ ], - "title" : "..<(_:_:)", - "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "init(_:_:_:_:)", + "usr" : "s:6Euclid5ColorVyACSd_S3dtcfc" }, { "abstract" : [ { - "text" : "Returns the componentwise difference between two vectors.", + "text" : "Creates a rounded rectangle path.", "type" : "text" } ], @@ -32690,25 +33804,148 @@ }, { "kind" : "identifier", - "text" : "-" + "text" : "roundedRectangle" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "height" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "radius" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "detail" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "color" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + } + ], + "kind" : "org.swift.docc.kind.typeMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/roundedrectangle(width:height:radius:detail:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/roundedRectangle(width:height:radius:detail:color:)", + "taskGroups" : [ + + ], + "title" : "roundedRectangle(width:height:radius:detail:color:)", + "usr" : "s:6Euclid4PathV16roundedRectangle5width6height6radius6detail5colorACSd_S2dSiAA5ColorVSgtFZ" + }, + { + "abstract" : [ + { + "text" : "Creates a offset transform.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "offset" + }, + { + "kind" : "text", + "text" : "(" + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", @@ -32720,24 +33957,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/-(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)", + "path" : "\/documentation\/euclid\/transform\/offset(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)", "taskGroups" : [ ], - "title" : "-(_:_:)", - "usr" : "s:6Euclid6VectorV1soiyA2C_ACtFZ" + "title" : "offset(_:)", + "usr" : "s:6Euclid9TransformV6offsetyAcA6VectorVFZ" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -32755,7 +33992,7 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "rotate" }, { "kind" : "text", @@ -32771,8 +34008,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -32781,28 +34018,30 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)", + "path" : "\/documentation\/euclid\/plane\/rotate(by:)-1azi6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { - "abstract" : [ - { - "text" : "Return a copy of the mesh with cylindrically-mapped texture coordinates.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", @@ -32810,32 +34049,32 @@ }, { "kind" : "identifier", - "text" : "cylinderMapped" + "text" : "gray" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cylindermapped()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()", + "path" : "\/documentation\/euclid\/color\/gray", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/gray", "taskGroups" : [ ], - "title" : "cylinderMapped()", - "usr" : "s:6Euclid4MeshV14cylinderMappedACyF" + "title" : "gray", + "usr" : "s:6Euclid5ColorV4grayACvpZ" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -32853,7 +34092,7 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "rotate" }, { "kind" : "text", @@ -32869,33 +34108,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)", + "path" : "\/documentation\/euclid\/transform\/rotate(by:)-577nk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid4MeshV7rotated2byAcA8RotationV_tF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Returns a copy of the mesh with the new material applied to all polygons.", + "text" : "Creates a new transform by decoding from the given decoder.", "type" : "text" } ], @@ -32905,49 +34139,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "withMaterial" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/withmaterial(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)", + "path" : "\/documentation\/euclid\/transform\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)", "taskGroups" : [ ], - "title" : "withMaterial(_:)", - "usr" : "s:6Euclid4MeshV12withMaterialyACs11AnyHashableVSgF" + "title" : "init(from:)", + "usr" : "s:6Euclid9TransformV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Creates a bounds from a collection of points.", + "text" : "Encodes this line into the given encoder.", "type" : "text" } ], @@ -32957,39 +34190,51 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "<" + "text" : " " }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "identifier", + "text" : "encode" }, { "kind" : "text", - "text" : ">(" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAA6VectorV7ElementRtzlufc1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(_:)-27jri", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri", + "path" : "\/documentation\/euclid\/line\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6BoundsVyACxcSlRzAA6VectorV7ElementRtzlufc" + "title" : "encode(to:)", + "usr" : "s:6Euclid4LineV6encode2toys7Encoder_p_tKF" }, { "availableLanguages" : [ @@ -32997,12 +34242,12 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Encodable-Implementations", + "path" : "\/documentation\/euclid\/vertex\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Encodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)" ], "title" : "Instance Methods" } @@ -33012,7 +34257,7 @@ { "abstract" : [ { - "text" : "Creates a quaternion from a rotation matrix.", + "text" : "Creates a new angle by decoding from the given decoder.", "type" : "text" } ], @@ -33028,30 +34273,42 @@ "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "from" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ")" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(_:)-7xa5o", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o", + "path" : "\/documentation\/euclid\/angle\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyAcA8RotationVcfc" + "title" : "init(from:)", + "usr" : "s:6Euclid5AngleV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Creates a quaternion from raw component values.", + "text" : "Creates a new path by decoding from the given decoder.", "type" : "text" } ], @@ -33068,56 +34325,41 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : ") " }, { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(_:_:_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)", + "path" : "\/documentation\/euclid\/path\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)", "taskGroups" : [ ], - "title" : "init(_:_:_:_:)", - "usr" : "s:6Euclid10QuaternionVyACSd_S3dtcfc" + "title" : "init(from:)", + "usr" : "s:6Euclid4PathV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Returns the distance between a point and the plane.", + "text" : "An array of vertices suitable for constructing a set of edge polygons for the path.", "type" : "text" } ], @@ -33135,7 +34377,7 @@ }, { "kind" : "identifier", - "text" : "distance" + "text" : "edgeVertices" }, { "kind" : "text", @@ -33143,7 +34385,7 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "for" }, { "kind" : "text", @@ -33151,33 +34393,46 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : ") -> " + "text" : "." }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", + "text" : "WrapMode" + }, + { + "kind" : "text", + "text" : ") -> [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" + }, + { + "kind" : "text", + "text" : "]" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/distance(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)", + "path" : "\/documentation\/euclid\/path\/edgevertices(for:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid5PlaneV8distance4fromSdAA6VectorV_tF" + "title" : "edgeVertices(for:)", + "usr" : "s:6Euclid4PathV12edgeVertices3forSayAA6VertexVGAA4MeshV8WrapModeO_tF" }, { "abstract" : [ { - "text" : "Efficiently gets the difference between multiple meshes.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -33185,14 +34440,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -33203,32 +34450,15 @@ }, { "kind" : "identifier", - "text" : "difference" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" - }, - { - "kind" : "text", - "text" : ">(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10difference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : "scale" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "by" }, { "kind" : "text", @@ -33236,33 +34466,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/difference(_:iscancelled:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)", + "path" : "\/documentation\/euclid\/bounds\/scale(by:)-7dhh3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3", "taskGroups" : [ ], - "title" : "difference(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV10difference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Create a color from RGB values and optional alpha component", + "text" : "All vector components are one (or close to one) in length.", "type" : "text" } ], @@ -33272,63 +34497,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "identifier", + "text" : "isOne" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(_:_:_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:_:_:)", + "path" : "\/documentation\/euclid\/vector\/isone", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne", "taskGroups" : [ ], - "title" : "init(_:_:_:_:)", - "usr" : "s:6Euclid5ColorVyACSd_S3dtcfc" + "title" : "isOne", + "usr" : "s:6Euclid6VectorV5isOneSbvp" }, { "abstract" : [ { - "text" : "Returns the sum of two quaternion rotations.", + "text" : "Encodes this color into the given encoder.", "type" : "text" } ], @@ -33336,14 +34538,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -33354,54 +34548,48 @@ }, { "kind" : "identifier", - "text" : "+" - }, - { - "kind" : "text", - "text" : " " + "text" : "encode" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/+(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)", + "path" : "\/documentation\/euclid\/color\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)", "taskGroups" : [ ], - "title" : "+(_:_:)", - "usr" : "s:6Euclid10QuaternionV1poiyA2C_ACtFZ" + "title" : "encode(to:)", + "usr" : "s:6Euclid5ColorV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Efficiently XORs multiple meshes.", "type" : "text" } ], @@ -33427,56 +34615,66 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "symmetricDifference" }, { "kind" : "text", - "text" : " " + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ">(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/symmetricdifference(_:iscancelled:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.type.method", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "symmetricDifference(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Creates a vector of uniform size.", + "text" : "A Boolean value that indicates whether the mesh includes texture coordinates.", "type" : "text" } ], @@ -33486,15 +34684,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "size" + "kind" : "identifier", + "text" : "hasTexcoords" }, { "kind" : "text", @@ -33502,28 +34700,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(size:)-nkyk", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk", + "path" : "\/documentation\/euclid\/mesh\/hastexcoords", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords", "taskGroups" : [ ], - "title" : "init(size:)", - "usr" : "s:6Euclid6VectorV4sizeACSd_tcfc" + "title" : "hasTexcoords", + "usr" : "s:6Euclid4MeshV12hasTexcoordsSbvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Encodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "The bounding box containing the line segment.", + "text" : "Creates a uniform scale transform.", "type" : "text" } ], @@ -33533,7 +34745,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -33541,32 +34761,59 @@ }, { "kind" : "identifier", - "text" : "bounds" + "text" : "scale" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds", + "path" : "\/documentation\/euclid\/transform\/scale(_:)-7a30s", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid11LineSegmentV6boundsAA6BoundsVvp" + "title" : "scale(_:)", + "usr" : "s:6Euclid9TransformV5scaleyACSdFZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Returns a Boolean value that indicates whether the lines intersect.", "type" : "text" } ], @@ -33584,44 +34831,41 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "intersects" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)", + "path" : "\/documentation\/euclid\/line\/intersects(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "intersects(_:)", + "usr" : "s:6Euclid4LineV10intersectsySbACF" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -33639,7 +34883,7 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "scaled" }, { "kind" : "text", @@ -33655,8 +34899,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -33669,13 +34913,13 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/transformed(by:)-21ah6", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-21ah6", + "path" : "\/documentation\/euclid\/transformable\/scaled(by:)-5p6di", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid13TransformableP6scaled2byxSd_tF" }, { "availableLanguages" : [ @@ -33692,7 +34936,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -33700,99 +34944,66 @@ }, { "kind" : "identifier", - "text" : "black" + "text" : "..<" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - } - ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/color\/black", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black", - "taskGroups" : [ - - ], - "title" : "black", - "usr" : "s:6Euclid5ColorV5blackACvpZ" - }, - { - "abstract" : [ - { - "text" : "Scale the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" + "text" : " " }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "scale" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : "(" + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s16PartialRangeUpToV", + "text" : "PartialRangeUpTo" }, { "kind" : "text", - "text" : ": " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", - "text" : ")" + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/scale(by:)-1h2f7", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7", + "path" : "\/documentation\/euclid\/plane\/'.._(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "..<(_:)", + "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { + "abstract" : [ + { + "text" : "The size or scale component of the transform.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -33800,7 +35011,7 @@ }, { "kind" : "identifier", - "text" : "green" + "text" : "scale" }, { "kind" : "text", @@ -33808,24 +35019,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/green", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green", + "path" : "\/documentation\/euclid\/transform\/scale", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale", "taskGroups" : [ ], - "title" : "green", - "usr" : "s:6Euclid5ColorV5greenACvpZ" + "title" : "scale", + "usr" : "s:6Euclid9TransformV5scaleAA6VectorVvp" }, { "abstract" : [ { - "text" : "Creates a closed square path.", + "text" : "Creates a new vertex.", "type" : "text" } ], @@ -33835,52 +35046,38 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "keyword", - "text" : "func" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "square" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "size" - }, - { - "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { - "kind" : "externalParam", - "text" : "color" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : "?, " }, { "kind" : "typeIdentifier", @@ -33889,28 +35086,23 @@ }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/square(size:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)", + "path" : "\/documentation\/euclid\/vertex\/init(_:_:_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)", "taskGroups" : [ ], - "title" : "square(size:color:)", - "usr" : "s:6Euclid4PathV6square4size5colorACSd_AA5ColorVSgtFZ" + "title" : "init(_:_:_:_:)", + "usr" : "s:6Euclid6VertexVyAcA6VectorV_AESgAfA5ColorVSgtcfc" }, { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "Multiplies the angle by a numeric value.", "type" : "text" } ], @@ -33936,7 +35128,7 @@ }, { "kind" : "identifier", - "text" : "-" + "text" : "*=" }, { "kind" : "text", @@ -33946,35 +35138,82 @@ "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/-(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)", + "path" : "\/documentation\/euclid\/angle\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*=(_:_:)", "taskGroups" : [ ], - "title" : "-(_:)", - "usr" : "s:6Euclid8RotationV1sopyA2CFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid5AngleV2meoiyyACz_SdtFZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Transformable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "The square of the length of the vector. This is less expensive to compute than the length itself.", "type" : "text" } ], @@ -33984,7 +35223,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -33992,15 +35231,7 @@ }, { "kind" : "identifier", - "text" : "translate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "lengthSquared" }, { "kind" : "text", @@ -34008,28 +35239,67 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)", + "path" : "\/documentation\/euclid\/vector\/lengthsquared", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "lengthSquared", + "usr" : "s:6Euclid6VectorV13lengthSquaredSdvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Transformable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Returns the perpendicular distance of the line from a specified point.", + "text" : "A Boolean value that indicates whether the mesh is watertight, meaning that every edge is", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "attached to two polygons (or a multiple of two).", "type" : "text" } ], @@ -34039,7 +35309,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -34047,49 +35317,114 @@ }, { "kind" : "identifier", - "text" : "distance" + "text" : "isWatertight" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/iswatertight", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight", + "taskGroups" : [ + + ], + "title" : "isWatertight", + "usr" : "s:6Euclid4MeshV12isWatertightSbvp" + }, + { + "abstract" : [ + { + "text" : "An array of the subpaths that make up the path.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "subpaths" }, { "kind" : "text", - "text" : ") -> " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, + { + "kind" : "text", + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/distance(from:)-4o41", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41", + "path" : "\/documentation\/euclid\/path\/subpaths", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid4LineV8distance4fromSdAA6VectorV_tF" + "title" : "subpaths", + "usr" : "s:6Euclid4PathV8subpathsSayACGvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/pathpoint\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Transformable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)" + ], + "title" : "Operators" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Creates a bounds from two SceneKit vectors.", + "text" : "Splits a polygon into two or more convex polygons using the “ear clipping” method.", "type" : "text" } ], @@ -34099,53 +35434,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "((min" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "tessellate" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@SCNVector3", - "text" : "SCNVector3" + "kind" : "externalParam", + "text" : "maxSides" }, { "kind" : "text", - "text" : ", max" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ": " + "text" : ") -> [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@SCNVector3", - "text" : "SCNVector3" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : "))" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(_:)-5bh7b", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-5bh7b", + "path" : "\/documentation\/euclid\/polygon\/tessellate(maxsides:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6BoundsVyACSo10SCNVector3V3min_AE3maxt_tcfc" + "title" : "tessellate(maxSides:)", + "usr" : "s:6Euclid7PolygonV10tessellate8maxSidesSayACGSi_tF" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a Boolean value that indicates whether the specified point lies on the line.", "type" : "text" } ], @@ -34163,44 +35506,41 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "containsPoint" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/scale(by:)-7dhh3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3", + "path" : "\/documentation\/euclid\/line\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid4LineV13containsPointySbAA6VectorVF" }, { "abstract" : [ { - "text" : "The angle in degrees.", + "text" : "An infinite 2D plane in 3D space.", "type" : "text" } ], @@ -34210,7 +35550,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "struct" }, { "kind" : "text", @@ -34218,32 +35558,80 @@ }, { "kind" : "identifier", - "text" : "degrees" + "text" : "Plane" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(points:)" + ], + "title" : "Creating Planes" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz" + ], + "title" : "Default Planes" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w" + ], + "title" : "Plane Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-4v7tg", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-79olr" + ], + "title" : "Comparing Planes" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)" + ], + "title" : "Transforming Planes" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g" + ], + "title" : "Instance Methods" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Comparable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Transformable-Implementations" + ], + "title" : "Default Implementations" } ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/degrees", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees", - "taskGroups" : [ - - ], - "title" : "degrees", - "usr" : "s:6Euclid5AngleV7degreesSdvp" + "title" : "Plane", + "usr" : "s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Efficiently computes the intersection of multiple meshes.", "type" : "text" } ], @@ -34269,59 +35657,63 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "intersection" }, { "kind" : "text", - "text" : " " + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ">(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV12intersection_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/intersection(_:iscancelled:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.type.method", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "intersection(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV12intersection_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -34344,7 +35736,7 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "!=" }, { "kind" : "text", @@ -34364,8 +35756,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "Self" }, { "kind" : "text", @@ -34373,31 +35764,42 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)", + "path" : "\/documentation\/euclid\/bounds\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6BoundsV" }, { - "abstract" : [ - { - "text" : "An unordered set of polygon edges.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Equatable-Implementations", + "taskGroups" : [ { - "text" : "The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" + }, + { + "abstract" : [ + { + "text" : "Reduces the bounds to contain just the intersection of itself and the specified bounds.", "type" : "text" } ], @@ -34407,7 +35809,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -34415,109 +35817,101 @@ }, { "kind" : "identifier", - "text" : "undirectedEdges" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sh", - "text" : "Set" + "text" : "formIntersection" }, { "kind" : "text", - "text" : "<" + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/undirectededges", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges", + "path" : "\/documentation\/euclid\/bounds\/formintersection(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)", "taskGroups" : [ ], - "title" : "undirectedEdges", - "usr" : "s:6Euclid7PolygonV15undirectedEdgesShyAA11LineSegmentVGvp" + "title" : "formIntersection(_:)", + "usr" : "s:6Euclid6BoundsV16formIntersectionyyACF" }, { - "abstract" : [ - { - "text" : "Creates a line segment with a start and end point.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "start" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : ">" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "end" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/init(start:end:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)", + "path" : "\/documentation\/euclid\/linesegment\/_(_:_:)-9688a", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a", "taskGroups" : [ ], - "title" : "init(start:end:)", - "usr" : "s:6Euclid11LineSegmentV5start3endACSgAA6VectorV_AHtcfc" + "title" : ">(_:_:)", + "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates if the specified point is within the bounds.", + "text" : "An arbitrary point on the line selected as the origin.", "type" : "text" } ], @@ -34527,7 +35921,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -34535,38 +35929,35 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "origin" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/line\/origin", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid6BoundsV13containsPointySbAA6VectorVF" + "title" : "origin", + "usr" : "s:6Euclid4LineV6originAA6VectorVvp" }, { + "abstract" : [ + { + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -34589,7 +35980,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "*" }, { "kind" : "text", @@ -34609,7 +36000,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -34617,24 +36009,126 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)", + "path" : "\/documentation\/euclid\/plane\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Decodable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Combines two rotations to get the cumulative rotation.", + "text" : "A finite line segment in 3D space.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "struct" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "LineSegment" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)" + ], + "title" : "Creating Line Segments" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction" + ], + "title" : "Line Segment Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-2u7vo", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)" + ], + "title" : "Comparing Line Segments" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()" + ], + "title" : "Transforming Line Segments" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)" + ], + "title" : "Initializers" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Bounded-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Comparable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Transformable-Implementations" + ], + "title" : "Default Implementations" + } + ], + "title" : "LineSegment", + "usr" : "s:6Euclid11LineSegmentV" + }, + { + "abstract" : [ + { + "text" : "Creates a mesh by extruding a path along its face normal.", "type" : "text" } ], @@ -34660,54 +36154,126 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "extrude" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : "(" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "depth" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "twist" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "sections" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "faces" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/*(_:_:)-55zcf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf", + "path" : "\/documentation\/euclid\/mesh\/extrude(_:depth:twist:sections:faces:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid8RotationV1moiyA2C_ACtFZ" + "title" : "extrude(_:depth:twist:sections:faces:material:)", + "usr" : "s:6Euclid4MeshV7extrude_5depth5twist8sections5faces8materialAcA4PathV_SdAA5AngleVSiAC5FacesOs11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Divides the components of the vector by the specified value.", + "text" : "A Boolean value that indicates whether the polygon includes texture coordinates.", "type" : "text" } ], @@ -34717,15 +36283,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -34733,57 +36291,71 @@ }, { "kind" : "identifier", - "text" : "\/=" - }, - { - "kind" : "text", - "text" : " " + "text" : "hasTexcoords" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "keyword", - "text" : "inout" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/hastexcoords", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords", + "taskGroups" : [ + + ], + "title" : "hasTexcoords", + "usr" : "s:6Euclid7PolygonV12hasTexcoordsSbvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : " " - }, + "text" : "Creates a transform from a SceneKit transform matrix.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "c:@T@SCNMatrix4", + "text" : "SCNMatrix4" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/\/=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)", + "path" : "\/documentation\/euclid\/transform\/init(_:)-83oy3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3", "taskGroups" : [ ], - "title" : "\/=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2deoiyyACz_SdtFZ" + "title" : "init(_:)", + "usr" : "s:6Euclid9TransformVyACSo13CATransform3DVcfc" }, { "abstract" : [ { - "text" : "Encodes this transform into the given encoder.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -34801,7 +36373,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "translated" }, { "kind" : "text", @@ -34809,7 +36381,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -34817,29 +36389,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)", + "path" : "\/documentation\/euclid\/vertex\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid9TransformV6encode2toys7Encoder_p_tKF" + "title" : "translated(by:)", + "usr" : "s:6Euclid6VertexV10translated2byAcA6VectorV_tF" }, { + "abstract" : [ + { + "text" : "Returns the product of two quaternions (i.e. the effect of rotating the left by the right).", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -34862,7 +36441,7 @@ }, { "kind" : "identifier", - "text" : ">=" + "text" : "*" }, { "kind" : "text", @@ -34874,7 +36453,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -34882,7 +36462,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -34890,24 +36471,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/_=(_:_:)-9s7pp", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp", + "path" : "\/documentation\/euclid\/quaternion\/*(_:_:)-305tn", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn", "taskGroups" : [ ], - "title" : ">=(_:_:)", - "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid10QuaternionV1moiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "Callback used to cancel a long-running operation.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -34917,7 +36498,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "func" }, { "kind" : "text", @@ -34925,26 +36506,41 @@ }, { "kind" : "identifier", - "text" : "CancellationHandler" - } - ], - "kind" : "org.swift.docc.kind.typeAlias", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cancellationhandler", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler", - "taskGroups" : [ - - ], - "title" : "Mesh.CancellationHandler", - "usr" : "s:6Euclid4MeshV19CancellationHandlera" - }, - { - "abstract" : [ + "text" : "rotate" + }, { - "text" : "A plane located at the origin, aligned with the X and Z axes.", - "type" : "text" - } - ], + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/rotate(by:)-3m9le", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-3m9le", + "taskGroups" : [ + + ], + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid4PathV" + }, + { "availableLanguages" : [ "swift" ], @@ -34959,7 +36555,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -34967,130 +36563,149 @@ }, { "kind" : "identifier", - "text" : "xz" + "text" : "..<" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s16PartialRangeUpToV", + "text" : "PartialRangeUpTo" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/xz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz", + "path" : "\/documentation\/euclid\/angle\/'.._(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:)", "taskGroups" : [ ], - "title" : "xz", - "usr" : "s:6Euclid5PlaneV2xzACvpZ" + "title" : "..<(_:)", + "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Material used by a given polygon.", - "type" : "text" - }, - { - "text" : " ", + "text" : "Computes the convex hull of a set of line segments.", "type" : "text" - }, + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "text" : "This can be any type that conforms to ", - "type" : "text" + "kind" : "keyword", + "text" : "static" }, { - "code" : "Hashable", - "type" : "codeVoice" + "kind" : "text", + "text" : " " }, { - "text" : ", but encoding\/decoding is only supported", - "type" : "text" + "kind" : "keyword", + "text" : "func" }, { - "text" : " ", - "type" : "text" + "kind" : "text", + "text" : " " }, { - "text" : "for the following types: ", - "type" : "text" + "kind" : "identifier", + "text" : "convexHull" }, { - "code" : "Color", - "type" : "codeVoice" + "kind" : "text", + "text" : "<" }, { - "text" : ", ", - "type" : "text" + "kind" : "genericParameter", + "text" : "T" }, { - "code" : "String", - "type" : "codeVoice" + "kind" : "text", + "text" : ">(" }, { - "text" : ", ", - "type" : "text" + "kind" : "externalParam", + "text" : "of" }, { - "code" : "Int", - "type" : "codeVoice" + "kind" : "text", + "text" : ": " }, { - "text" : ", ", - "type" : "text" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA11LineSegmentV7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { - "code" : "Data", - "type" : "codeVoice" + "kind" : "text", + "text" : ", " }, { - "text" : " or any ", - "type" : "text" + "kind" : "externalParam", + "text" : "material" }, { - "code" : "NSSecureCodable", - "type" : "codeVoice" + "kind" : "text", + "text" : ": " }, { - "text" : " type.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "typealias" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : " " + "text" : "?) -> " }, { - "kind" : "identifier", - "text" : "Material" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.typeAlias", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/material-swift.typealias", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-91swk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-91swk", "taskGroups" : [ ], - "title" : "Polygon.Material", - "usr" : "s:6Euclid7PolygonV8Materiala" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA11LineSegmentV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Clip polygon to the specified plane", + "text" : "Creates a transform from the current position, scale and orientation of a SceneKit node.", "type" : "text" } ], @@ -35098,6 +36713,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -35108,7 +36731,7 @@ }, { "kind" : "identifier", - "text" : "clip" + "text" : "transform" }, { "kind" : "text", @@ -35116,7 +36739,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "from" }, { "kind" : "text", @@ -35124,37 +36747,89 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "c:objc(cs)SCNNode", + "text" : "SCNNode" }, { "kind" : "text", - "text" : ") -> [" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + } + ], + "kind" : "org.swift.docc.kind.typeMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/transform(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)", + "taskGroups" : [ + + ], + "title" : "transform(from:)", + "usr" : "s:6Euclid9TransformV9transform4fromACSo7SCNNodeC_tFZ" + }, + { + "abstract" : [ + { + "text" : "An optional ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", + "isActive" : true, + "type" : "reference" + }, + { + "text" : " associated with the polygon.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : "]" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/clip(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)", + "path" : "\/documentation\/euclid\/polygon\/material-swift.property", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property", "taskGroups" : [ ], - "title" : "clip(to:)", - "usr" : "s:6Euclid7PolygonV4clip2toSayACGAA5PlaneV_tF" + "title" : "material", + "usr" : "s:6Euclid7PolygonV8materials11AnyHashableVSgvp" }, { "abstract" : [ { - "text" : "Loads a mesh from a file using any format supported by SceneKit, with optional material mapping.", + "text" : "Creates a closed regular polygon.", "type" : "text" } ], @@ -35164,7 +36839,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "polygon" }, { "kind" : "text", @@ -35172,7 +36863,7 @@ }, { "kind" : "externalParam", - "text" : "url" + "text" : "radius" }, { "kind" : "text", @@ -35180,8 +36871,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:10Foundation3URLV", - "text" : "URL" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -35189,7 +36880,7 @@ }, { "kind" : "externalParam", - "text" : "ignoringTransforms" + "text" : "sides" }, { "kind" : "text", @@ -35197,8 +36888,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", @@ -35206,7 +36897,7 @@ }, { "kind" : "externalParam", - "text" : "materialLookup" + "text" : "color" }, { "kind" : "text", @@ -35214,32 +36905,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV16MaterialProvidera", - "text" : "MaterialProvider" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : "?) " + "text" : "?) -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(url:ignoringtransforms:materiallookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)", + "path" : "\/documentation\/euclid\/path\/polygon(radius:sides:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)", "taskGroups" : [ ], - "title" : "init(url:ignoringTransforms:materialLookup:)", - "usr" : "s:6Euclid4MeshV3url18ignoringTransforms14materialLookupAC10Foundation3URLV_Sbs11AnyHashableVSgSo11SCNMaterialCcSgtKcfc" + "title" : "polygon(radius:sides:color:)", + "usr" : "s:6Euclid4PathV7polygon6radius5sides5colorACSd_SiAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Efficiently XORs multiple meshes.", + "text" : "Creates a corner path point at the specified X, Y and Z coordinates.", "type" : "text" } ], @@ -35265,24 +36957,34 @@ }, { "kind" : "identifier", - "text" : "symmetricDifference" + "text" : "point" }, { "kind" : "text", - "text" : "<" + "text" : "(" }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ">(" + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -35290,7 +36992,7 @@ }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "texcoord" }, { "kind" : "text", @@ -35298,76 +37000,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " + "text" : "?, " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/symmetricdifference(_:iscancelled:)-swift.type.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.type.method", - "taskGroups" : [ - - ], - "title" : "symmetricDifference(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" - }, - { - "abstract" : [ + "kind" : "externalParam", + "text" : "color" + }, { - "text" : "The texture wrapping mode to use when generating a mesh.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "enum" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : " " + "text" : "?) -> " }, { - "kind" : "identifier", - "text" : "WrapMode" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.enumeration", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode", + "path" : "\/documentation\/euclid\/pathpoint\/point(_:_:_:texcoord:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube" - ], - "title" : "Enumeration Cases" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations" - ], - "title" : "Default Implementations" - } + ], - "title" : "Mesh.WrapMode", - "usr" : "s:6Euclid4MeshV8WrapModeO" + "title" : "point(_:_:_:texcoord:color:)", + "usr" : "s:6Euclid9PathPointV5point___8texcoord5colorACSd_S2dAA6VectorVSgAA5ColorVSgtFZ" }, { "abstract" : [ @@ -35432,26 +37103,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)", + "path" : "\/documentation\/euclid\/transform\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", "taskGroups" : [ ], "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9PathPointV" + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Creates a vector from a CoreGraphics ", - "type" : "text" - }, - { - "code" : "CGPoint", - "type" : "codeVoice" - }, - { - "text" : ".", + "text" : "Generate front faces.", "type" : "text" } ], @@ -35461,44 +37124,31 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "case" }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@CGPoint", - "text" : "CGPoint" + "text" : " " }, { - "kind" : "text", - "text" : ")" + "kind" : "identifier", + "text" : "front" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-4eop9", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9", + "path" : "\/documentation\/euclid\/mesh\/faces\/front", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACSo7CGPointVcfc" + "title" : "Mesh.Faces.front", + "usr" : "s:6Euclid4MeshV5FacesO5frontyA2EmF" }, { "abstract" : [ { - "text" : "A vector of length ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : " along the Z axis.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -35508,23 +37158,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "rotated" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "unitZ" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -35532,25 +37182,40 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/unitz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ", + "path" : "\/documentation\/euclid\/linesegment\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)", "taskGroups" : [ ], - "title" : "unitZ", - "usr" : "s:6Euclid6VectorV5unitZACvpZ" + "title" : "rotated(by:)", + "usr" : "s:6Euclid11LineSegmentV7rotated2byAcA8RotationV_tF" }, { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "abstract" : [ + { + "text" : "Combines with the specified rotation.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "static" @@ -35569,7 +37234,7 @@ }, { "kind" : "identifier", - "text" : "..." + "text" : "*=" }, { "kind" : "text", @@ -35580,53 +37245,54 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SN", - "text" : "ClosedRange" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : "<" + "text" : ", " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/'...(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)", + "path" : "\/documentation\/euclid\/rotation\/*=(_:_:)-68kkw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw", "taskGroups" : [ ], - "title" : "...(_:_:)", - "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid8RotationV2meoiyyACz_ACtFZ" }, { "abstract" : [ { - "text" : "Creates a color from a luminance value and optional alpha component.", + "text" : "Returns whether the leftmost vector has the lower value.", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This provides a stable order when sorting collections of vectors.", "type" : "text" } ], @@ -35636,7 +37302,27 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "<" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -35644,8 +37330,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -35653,28 +37339,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)", + "path" : "\/documentation\/euclid\/vector\/_(_:_:)-9obdn", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn", "taskGroups" : [ ], - "title" : "init(_:_:)", - "usr" : "s:6Euclid5ColorVyACSd_Sdtcfc" + "title" : "<(_:_:)", + "usr" : "s:6Euclid6VectorV1loiySbAC_ACtFZ" }, { "abstract" : [ { - "text" : "The quaternion W component.", + "text" : "Returns the perpendicular distance from another line to this one.", "type" : "text" } ], @@ -35684,7 +37375,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -35692,32 +37383,49 @@ }, { "kind" : "identifier", - "text" : "w" + "text" : "distance" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", "text" : ": " }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" + }, + { + "kind" : "text", + "text" : ") -> " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/w", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w", + "path" : "\/documentation\/euclid\/line\/distance(from:)-77i61", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61", "taskGroups" : [ ], - "title" : "w", - "usr" : "s:6Euclid10QuaternionV1wSdvp" + "title" : "distance(from:)", + "usr" : "s:6Euclid4LineV8distance4fromSdAC_tF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Returns a vector with its components multiplied by the specified value.", "type" : "text" } ], @@ -35725,6 +37433,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -35735,44 +37451,54 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "*" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)", + "path" : "\/documentation\/euclid\/vector\/*(_:_:)-5mcy5", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid6VectorV1moiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Creates a new transform by decoding from the given decoder.", + "text" : "The angle in degrees.", "type" : "text" } ], @@ -35782,15 +37508,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "identifier", + "text" : "degrees" }, { "kind" : "text", @@ -35798,72 +37524,123 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)", + "path" : "\/documentation\/euclid\/angle\/degrees", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid9TransformV4fromACs7Decoder_p_tKcfc" + "title" : "degrees", + "usr" : "s:6Euclid5AngleV7degreesSdvp" }, { + "abstract" : [ + { + "text" : "Expands this bounds (if necessary) to contain the specified bounds.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "formUnion" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : ">" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/formunion(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)", + "taskGroups" : [ + + ], + "title" : "formUnion(_:)", + "usr" : "s:6Euclid6BoundsV9formUnionyyACF" + }, + { + "abstract" : [ + { + "text" : "Returns a new mesh reprenting only the volume exclusively occupied by", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "one shape or the other, but not both.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", "text" : " " }, + { + "kind" : "identifier", + "text" : "symmetricDifference" + }, { "kind" : "text", "text" : "(" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -35871,24 +37648,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/_(_:_:)-filj", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj", + "path" : "\/documentation\/euclid\/mesh\/symmetricdifference(_:iscancelled:)-swift.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : ">(_:_:)", - "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "symmetricDifference(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "The minimum coordinate of the bounds.", + "text" : "Creates a color from an ", + "type" : "text" + }, + { + "code" : "NSColor", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -35898,40 +37683,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "min" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:objc(cs)NSColor", + "text" : "NSColor" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/min", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min", + "path" : "\/documentation\/euclid\/color\/init(_:)-7d8un", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un", "taskGroups" : [ ], - "title" : "min", - "usr" : "s:6Euclid6BoundsV3minAA6VectorVvp" + "title" : "init(_:)", + "usr" : "s:6Euclid5ColorVyACSo7NSColorCcfc" }, { "abstract" : [ { - "text" : "The total length of the path.", + "text" : "The angle is zero (or close to zero).", "type" : "text" } ], @@ -35949,7 +37730,7 @@ }, { "kind" : "identifier", - "text" : "length" + "text" : "isZero" }, { "kind" : "text", @@ -35957,21 +37738,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/length", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length", + "path" : "\/documentation\/euclid\/angle\/iszero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero", "taskGroups" : [ ], - "title" : "length", - "usr" : "s:6Euclid4PathV6lengthSdvp" + "title" : "isZero", + "usr" : "s:6Euclid5AngleV6isZeroSbvp" }, { + "abstract" : [ + { + "text" : "Divides the angle by a numeric denominator.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -35994,7 +37781,7 @@ }, { "kind" : "identifier", - "text" : "+" + "text" : "\/=" }, { "kind" : "text", @@ -36004,30 +37791,50 @@ "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/+(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:)", + "path" : "\/documentation\/euclid\/angle\/\/=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)", "taskGroups" : [ ], - "title" : "+(_:)", - "usr" : "s:s18AdditiveArithmeticPsE1popyxxFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "\/=(_:_:)", + "usr" : "s:6Euclid5AngleV2deoiyyACz_SdtFZ" }, { + "abstract" : [ + { + "text" : "Computes the convex hull of a set of path points.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -36050,52 +37857,74 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "convexHull" }, { "kind" : "text", - "text" : " " + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ">(" + }, + { + "kind" : "externalParam", + "text" : "of" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA9PathPointV7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-5ztum", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-5ztum", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA9PathPointV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -36113,7 +37942,7 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "scale" }, { "kind" : "text", @@ -36129,33 +37958,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)", + "path" : "\/documentation\/euclid\/vector\/scale(by:)-55ayx", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid5PlaneV10translated2byAcA6VectorV_tF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a composite mesh from an array of submeshes.", + "text" : "Creates an angle representing the trigonometric arc sine of the value you provide.", "type" : "text" } ], @@ -36165,44 +37989,57 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "submeshes" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": [" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "asin" + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "])" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(submeshes:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)", + "path" : "\/documentation\/euclid\/angle\/asin(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)", "taskGroups" : [ ], - "title" : "init(submeshes:)", - "usr" : "s:6Euclid4MeshV9submeshesACSayACG_tcfc" + "title" : "asin(_:)", + "usr" : "s:6Euclid5AngleV4asinyACSdFZ" }, { "abstract" : [ { - "text" : "Returns the sum of two angles.", + "text" : "Returns the product of a numeric multiplier and an angle.", "type" : "text" } ], @@ -36228,7 +38065,7 @@ }, { "kind" : "identifier", - "text" : "+" + "text" : "*" }, { "kind" : "text", @@ -36240,9 +38077,9 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, { "kind" : "text", "text" : ", " @@ -36264,18 +38101,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/+(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)", + "path" : "\/documentation\/euclid\/angle\/*(_:_:)-2ew65", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65", "taskGroups" : [ ], - "title" : "+(_:_:)", - "usr" : "s:6Euclid5AngleV1poiyA2C_ACtFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid5AngleV1moiyACSd_ACtFZ" }, { "abstract" : [ { - "text" : "A Boolean indicating whether the point is curved or sharp.", + "text" : "The face normal for the path.", "type" : "text" } ], @@ -36293,7 +38130,7 @@ }, { "kind" : "identifier", - "text" : "isCurved" + "text" : "faceNormal" }, { "kind" : "text", @@ -36301,24 +38138,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/iscurved", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved", + "path" : "\/documentation\/euclid\/path\/facenormal", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal", "taskGroups" : [ ], - "title" : "isCurved", - "usr" : "s:6Euclid9PathPointV8isCurvedSbvp" + "title" : "faceNormal", + "usr" : "s:6Euclid4PathV10faceNormalAA6VectorVvp" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Performs a spherical linear interpolation between two rotations.", "type" : "text" } ], @@ -36336,44 +38173,58 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "slerp" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)", + "path" : "\/documentation\/euclid\/rotation\/slerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF" + "title" : "slerp(_:_:)", + "usr" : "s:6Euclid8RotationV5slerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "A polygon in 3D space.", + "text" : "A vector of length ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : " along the Z axis.", "type" : "text" } ], @@ -36383,127 +38234,129 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "Polygon" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)" - ], - "title" : "Creating Polygons" + "kind" : "keyword", + "text" : "let" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/plane", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area" - ], - "title" : "Polygon Properties" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)" - ], - "title" : "Comparing Polygons" + "kind" : "identifier", + "text" : "unitZ" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)" - ], - "title" : "Transforming Polygons" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()" - ], - "title" : "Splitting Polygons" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/unitz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ", + "taskGroups" : [ + + ], + "title" : "unitZ", + "usr" : "s:6Euclid6VectorV5unitZACvpZ" + }, + { + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals" - ], - "title" : "Instance Properties" + "text" : "Protocol for transformable types.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "protocol" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : " " }, + { + "kind" : "identifier", + "text" : "Transformable" + } + ], + "kind" : "org.swift.docc.kind.protocol", + "language" : "swift", + "path" : "\/documentation\/euclid\/transformable", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable", + "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)" ], - "title" : "Type Aliases" + "title" : "Operators" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-1l9u5", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-9m686", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)" ], - "title" : "Type Properties" - }, + "title" : "Instance Methods" + } + ], + "title" : "Transformable", + "usr" : "s:6Euclid13TransformableP" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Equatable-Implementations", + "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Transformable-Implementations" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)" ], - "title" : "Default Implementations" + "title" : "Operators" } ], - "title" : "Polygon", - "usr" : "s:6Euclid7PolygonV" + "title" : "Equatable Implementations" }, { + "abstract" : [ + { + "text" : "Returns a transformed copy of the mesh.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -36514,56 +38367,49 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "transformed" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s19PartialRangeThroughV", - "text" : "PartialRangeThrough" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "<" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'...(_:)-8feph", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph", + "path" : "\/documentation\/euclid\/mesh\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid4MeshV11transformed2byAcA9TransformV_tF" }, { "abstract" : [ { - "text" : "The bounding box containing the polygon.", + "text" : "Use default alignment heuristic for the given path.", "type" : "text" } ], @@ -36573,7 +38419,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "case" }, { "kind" : "text", @@ -36581,32 +38427,23 @@ }, { "kind" : "identifier", - "text" : "bounds" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "text" : "`default`" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "path" : "\/documentation\/euclid\/path\/alignment\/default", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid7PolygonV6boundsAA6BoundsVvp" + "title" : "Path.Alignment.default", + "usr" : "s:6Euclid4PathV9AlignmentO7defaultyA2EmF" }, { "abstract" : [ { - "text" : "An infinite 2D plane in 3D space.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -36616,7 +38453,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "func" }, { "kind" : "text", @@ -36624,75 +38461,39 @@ }, { "kind" : "identifier", - "text" : "Plane" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(points:)" - ], - "title" : "Creating Planes" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz" - ], - "title" : "Default Planes" + "text" : "rotate" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w" - ], - "title" : "Plane Properties" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-4v7tg", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-79olr" - ], - "title" : "Comparing Planes" + "kind" : "externalParam", + "text" : "by" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)" - ], - "title" : "Transforming Planes" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g" - ], - "title" : "Instance Methods" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Comparable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Equatable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Transformable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "text", + "text" : ")" } ], - "title" : "Plane", - "usr" : "s:6Euclid5PlaneV" + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex\/rotate(by:)-1umln", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln", + "taskGroups" : [ + + ], + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ @@ -36740,24 +38541,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)", + "path" : "\/documentation\/euclid\/vector\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)", "taskGroups" : [ ], "title" : "rotated(by:)", - "usr" : "s:6Euclid4PathV7rotated2byAcA8RotationV_tF" + "usr" : "s:6Euclid6VectorV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "An array of the subpaths that make up the path.", + "text" : "The angle of rotation around the Z-axis.", "type" : "text" } ], @@ -36775,36 +38576,32 @@ }, { "kind" : "identifier", - "text" : "subpaths" + "text" : "roll" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/subpaths", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths", + "path" : "\/documentation\/euclid\/rotation\/roll", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll", "taskGroups" : [ ], - "title" : "subpaths", - "usr" : "s:6Euclid4PathV8subpathsSayACGvp" + "title" : "roll", + "usr" : "s:6Euclid8RotationV4rollAA5AngleVvp" }, { "abstract" : [ { - "text" : "Creates a new bounds that contains both the specified bounds and this one.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -36822,81 +38619,19 @@ }, { "kind" : "identifier", - "text" : "union" + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/union(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)", - "taskGroups" : [ - - ], - "title" : "union(_:)", - "usr" : "s:6Euclid6BoundsV5unionyA2CF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" - }, - { - "abstract" : [ - { - "text" : "Creates a plane from a set of points.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?(" - }, { "kind" : "externalParam", - "text" : "points" + "text" : "by" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", @@ -36905,23 +38640,28 @@ }, { "kind" : "text", - "text" : "])" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/init(points:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(points:)", + "path" : "\/documentation\/euclid\/mesh\/scaled(by:)-90bab", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab", "taskGroups" : [ ], - "title" : "init(points:)", - "usr" : "s:6Euclid5PlaneV6pointsACSgSayAA6VectorVG_tcfc" + "title" : "scaled(by:)", + "usr" : "s:6Euclid4MeshV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns the angle divided by a numeric denominator.", + "text" : "Returns a vector with its components multiplied by the specified value.", "type" : "text" } ], @@ -36947,7 +38687,7 @@ }, { "kind" : "identifier", - "text" : "\/" + "text" : "*" }, { "kind" : "text", @@ -36959,8 +38699,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -36968,8 +38708,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -36977,27 +38717,21 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/\/(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)", + "path" : "\/documentation\/euclid\/vector\/*(_:_:)-48gl1", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1", "taskGroups" : [ ], - "title" : "\/(_:_:)", - "usr" : "s:6Euclid5AngleV1doiyA2C_SdtFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid6VectorV1moiyACSd_ACtFZ" }, { - "abstract" : [ - { - "text" : "Creates a rotation around the Z axis.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -37020,7 +38754,11 @@ }, { "kind" : "identifier", - "text" : "roll" + "text" : "!=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -37028,8 +38766,15 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", @@ -37037,24 +38782,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/roll(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)", + "path" : "\/documentation\/euclid\/vector\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)", "taskGroups" : [ ], - "title" : "roll(_:)", - "usr" : "s:6Euclid8RotationV4rollyAcA5AngleVFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "The angle of rotation around the Z-axis.", + "text" : "Creates a new vector by decoding from the given decoder.", "type" : "text" } ], @@ -37064,15 +38809,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "roll" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", @@ -37080,24 +38825,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/roll", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll", + "path" : "\/documentation\/euclid\/vector\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)", "taskGroups" : [ ], - "title" : "roll", - "usr" : "s:6Euclid10QuaternionV4rollAA5AngleVvp" + "title" : "init(from:)", + "usr" : "s:6Euclid6VectorV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Creates a quaternion representing a rotation around the Z axis.", + "text" : "Computes the dot-product of this vector and another.", "type" : "text" } ], @@ -37105,14 +38858,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -37123,7 +38868,7 @@ }, { "kind" : "identifier", - "text" : "roll" + "text" : "dot" }, { "kind" : "text", @@ -37131,8 +38876,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -37140,82 +38885,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/roll(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)", + "path" : "\/documentation\/euclid\/vector\/dot(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)", "taskGroups" : [ ], - "title" : "roll(_:)", - "usr" : "s:6Euclid10QuaternionV4rollyAcA5AngleVFZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/color\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" + "title" : "dot(_:)", + "usr" : "s:6Euclid6VectorV3dotySdACF" }, { - "abstract" : [ - { - "text" : "Creates a new identity rotation.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "()" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()", - "taskGroups" : [ - - ], - "title" : "init()", - "usr" : "s:6Euclid8RotationVACycfc" - }, - { - "abstract" : [ - { - "text" : "The end point of the line segment.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : " " + }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -37223,50 +38922,43 @@ }, { "kind" : "identifier", - "text" : "end" + "text" : "+" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/end", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end", + "path" : "\/documentation\/euclid\/vector\/+(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)", "taskGroups" : [ ], - "title" : "end", - "usr" : "s:6Euclid11LineSegmentV3endAA6VectorVvp" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Decodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" + "title" : "+(_:)", + "usr" : "s:s18AdditiveArithmeticPsE1popyxxFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "An empty bounds.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -37276,23 +38968,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "scaled" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "empty" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -37300,24 +38992,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/empty", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty", + "path" : "\/documentation\/euclid\/vector\/scaled(by:)-356zr", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr", "taskGroups" : [ ], - "title" : "empty", - "usr" : "s:6Euclid6BoundsV5emptyACvpZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6VectorV6scaled2byA2C_tF" }, { "abstract" : [ { - "text" : "The face generation policy for Euclid to use when creating a mesh.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -37327,7 +39028,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "enum" + "text" : "func" }, { "kind" : "text", @@ -37335,37 +39036,44 @@ }, { "kind" : "identifier", - "text" : "Faces" - } - ], - "kind" : "org.swift.docc.kind.enumeration", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces", - "taskGroups" : [ + "text" : "rotate" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack" - ], - "title" : "Enumeration Cases" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/Equatable-Implementations" - ], - "title" : "Default Implementations" + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ")" } ], - "title" : "Mesh.Faces", - "usr" : "s:6Euclid4MeshV5FacesO" + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/rotate(by:)-3ed6z", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z", + "taskGroups" : [ + + ], + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a mesh by stroking a path with the line width, detail, and material you provide.", + "text" : "Returns the nearest point on the specified line to the vector (representing a position in space).", "type" : "text" } ], @@ -37373,14 +39081,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -37391,24 +39091,15 @@ }, { "kind" : "identifier", - "text" : "stroke" + "text" : "project" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : ", " - }, { "kind" : "externalParam", - "text" : "width" + "text" : "onto" }, { "kind" : "text", @@ -37416,50 +39107,59 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "detail" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/project(onto:)-rksk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-rksk", + "taskGroups" : [ + + ], + "title" : "project(onto:)", + "usr" : "s:6Euclid6VectorV7project4ontoAcA4LineV_tF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Returns a scaled copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "material" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "kind" : "identifier", + "text" : "scaled" }, { "kind" : "text", - "text" : "?, " + "text" : "(" }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "by" }, { "kind" : "text", @@ -37467,8 +39167,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -37476,24 +39176,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stroke(_:width:detail:material:iscancelled:)-85o14", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-85o14", + "path" : "\/documentation\/euclid\/path\/scaled(by:)-19jpq", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq", "taskGroups" : [ ], - "title" : "stroke(_:width:detail:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV6stroke_5width6detail8material11isCancelledAcA4PathV_SdSis11AnyHashableVSgSbyXEtFZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid4PathV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "A zero-length vector.", + "text" : "Returns the difference between two quaternion rotations,.", "type" : "text" } ], @@ -37511,7 +39211,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -37519,32 +39219,54 @@ }, { "kind" : "identifier", - "text" : "zero" + "text" : "-" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/zero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero", + "path" : "\/documentation\/euclid\/quaternion\/-(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)", "taskGroups" : [ ], - "title" : "zero", - "usr" : "s:6Euclid6VectorV4zeroACvpZ" + "title" : "-(_:_:)", + "usr" : "s:6Euclid10QuaternionV1soiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "The angle in radians.", + "text" : "The starting point of the line segment.", "type" : "text" } ], @@ -37554,7 +39276,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "let" }, { "kind" : "text", @@ -37562,7 +39284,7 @@ }, { "kind" : "identifier", - "text" : "radians" + "text" : "start" }, { "kind" : "text", @@ -37570,54 +39292,19 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/radians", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians", + "path" : "\/documentation\/euclid\/linesegment\/start", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start", "taskGroups" : [ ], - "title" : "radians", - "usr" : "s:6Euclid5AngleV7radiansSdvp" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Transformable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-mpk5", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Transformable Implementations" + "title" : "start", + "usr" : "s:6Euclid11LineSegmentV5startAA6VectorVvp" }, { "abstract" : [ @@ -37666,24 +39353,32 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transform(by:)", + "path" : "\/documentation\/euclid\/plane\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)", "taskGroups" : [ ], "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the mesh.", + "text" : "Returns a new mesh that retains the shape of the receiver, but with", "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "the intersecting area colored using material from the parameter.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], "fragments" : [ { "kind" : "keyword", @@ -37695,15 +39390,24 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "stencil" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "by" + "text" : "isCancelled" }, { "kind" : "text", @@ -37711,8 +39415,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -37726,18 +39430,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)", + "path" : "\/documentation\/euclid\/mesh\/stencil(_:iscancelled:)-swift.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid4MeshV11transformed2byAcA9TransformV_tF" + "title" : "stencil(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV7stencil_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns the flip-side of the plane.", "type" : "text" } ], @@ -37755,44 +39459,32 @@ }, { "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "inverted" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/rotate(by:)-hj8h", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h", + "path" : "\/documentation\/euclid\/plane\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "inverted()", + "usr" : "s:6Euclid5PlaneV8invertedACyF" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -37810,7 +39502,7 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "transformed" }, { "kind" : "text", @@ -37826,8 +39518,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -37835,24 +39527,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)", + "path" : "\/documentation\/euclid\/transformable\/transformed(by:)-21ah6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-21ah6", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid9PathPointV10translated2byAcA6VectorV_tF" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF" }, { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "Creates a bounds from a collection of points.", "type" : "text" } ], @@ -37862,40 +39553,44 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "<" }, { - "kind" : "identifier", - "text" : "axis" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : ": " + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAA6VectorV7ElementRtzlufc1TL_xmfp", + "text" : "T" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/axis", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis", + "path" : "\/documentation\/euclid\/bounds\/init(_:)-27jri", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri", "taskGroups" : [ ], - "title" : "axis", - "usr" : "s:6Euclid8RotationV4axisAA6VectorVvp" + "title" : "init(_:)", + "usr" : "s:6Euclid6BoundsVyACxcSlRzAA6VectorV7ElementRtzlufc" }, { "abstract" : [ { - "text" : "Creates a linear path from a line segment.", + "text" : "Returns the ordered array of polygon edges.", "type" : "text" } ], @@ -37905,15 +39600,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -37921,11 +39608,11 @@ }, { "kind" : "identifier", - "text" : "line" + "text" : "orderedEdges" }, { "kind" : "text", - "text" : "(" + "text" : ": [" }, { "kind" : "typeIdentifier", @@ -37934,75 +39621,209 @@ }, { "kind" : "text", - "text" : ", " + "text" : "]" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/orderededges", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges", + "taskGroups" : [ + + ], + "title" : "orderedEdges", + "usr" : "s:6Euclid7PolygonV12orderedEdgesSayAA11LineSegmentVGvp" + }, + { + "abstract" : [ + { + "text" : "Creates a new bounds that contains both the specified bounds and this one.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { - "kind" : "externalParam", - "text" : "color" + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "union" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/line(_:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)", + "path" : "\/documentation\/euclid\/bounds\/union(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)", "taskGroups" : [ ], - "title" : "line(_:color:)", - "usr" : "s:6Euclid4PathV4line_5colorAcA11LineSegmentV_AA5ColorVSgtFZ" + "title" : "union(_:)", + "usr" : "s:6Euclid6BoundsV5unionyA2CF" }, { + "abstract" : [ + { + "text" : "Creates a new identity rotation.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Equatable-Implementations", - "taskGroups" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)" - ], - "title" : "Operators" + "kind" : "keyword", + "text" : "init" + }, + { + "kind" : "text", + "text" : "()" } ], - "title" : "Equatable Implementations" + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/init()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()", + "taskGroups" : [ + + ], + "title" : "init()", + "usr" : "s:6Euclid8RotationVACycfc" }, { + "abstract" : [ + { + "text" : "A color in RGBA format.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "struct" }, { "kind" : "text", "text" : " " }, + { + "kind" : "identifier", + "text" : "Color" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/color", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-53lhy", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un" + ], + "title" : "Creating a Color" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/gray", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/cyan", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange" + ], + "title" : "Default Colors" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a" + ], + "title" : "Color properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)" + ], + "title" : "Mutating Colors" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components" + ], + "title" : "Instance Properties" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)" + ], + "title" : "Instance Methods" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Equatable-Implementations" + ], + "title" : "Default Implementations" + } + ], + "title" : "Color", + "usr" : "s:6Euclid5ColorV" + }, + { + "abstract" : [ + { + "text" : "Indicates whether all the path’s points lie on a single plane.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -38010,7 +39831,7 @@ }, { "kind" : "identifier", - "text" : "yellow" + "text" : "isPlanar" }, { "kind" : "text", @@ -38018,34 +39839,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/yellow", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow", + "path" : "\/documentation\/euclid\/path\/isplanar", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar", "taskGroups" : [ ], - "title" : "yellow", - "usr" : "s:6Euclid5ColorV6yellowACvpZ" + "title" : "isPlanar", + "usr" : "s:6Euclid4PathV8isPlanarSbvp" }, { - "abstract" : [ - { - "text" : "A Boolean value that indicates whether the mesh includes vertex normals that differ from the face normal.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -38053,32 +39876,64 @@ }, { "kind" : "identifier", - "text" : "hasVertexNormals" + "text" : "..." }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SN", + "text" : "ClosedRange" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/hasvertexnormals", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals", + "path" : "\/documentation\/euclid\/vector\/'...(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:_:)", "taskGroups" : [ ], - "title" : "hasVertexNormals", - "usr" : "s:6Euclid4MeshV16hasVertexNormalsSbvp" + "title" : "...(_:_:)", + "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a spherical mesh.", + "text" : "Creates a cylindrical mesh.", "type" : "text" } ], @@ -38104,7 +39959,7 @@ }, { "kind" : "identifier", - "text" : "sphere" + "text" : "cylinder" }, { "kind" : "text", @@ -38129,7 +39984,7 @@ }, { "kind" : "externalParam", - "text" : "slices" + "text" : "height" }, { "kind" : "text", @@ -38137,8 +39992,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -38146,7 +40001,7 @@ }, { "kind" : "externalParam", - "text" : "stacks" + "text" : "slices" }, { "kind" : "text", @@ -38159,7 +40014,7 @@ }, { "kind" : "text", - "text" : "?, " + "text" : ", " }, { "kind" : "externalParam", @@ -38237,18 +40092,18 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/sphere(radius:slices:stacks:poledetail:faces:wrapmode:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)", + "path" : "\/documentation\/euclid\/mesh\/cylinder(radius:height:slices:poledetail:faces:wrapmode:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)", "taskGroups" : [ ], - "title" : "sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV6sphere6radius6slices6stacks10poleDetail5faces8wrapMode8materialACSd_S2iSgSiAC5FacesOAC04WrapK0Os11AnyHashableVSgtFZ" + "title" : "cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV8cylinder6radius6height6slices10poleDetail5faces8wrapMode8materialACSd_SdS2iAC5FacesOAC04WrapK0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "A plane located at the origin, aligned with the X and Y axes.", + "text" : "Returns the normalized quaternion.", "type" : "text" } ], @@ -38258,15 +40113,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -38274,50 +40121,32 @@ }, { "kind" : "identifier", - "text" : "xy" + "text" : "normalized" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/xy", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy", + "path" : "\/documentation\/euclid\/quaternion\/normalized()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()", "taskGroups" : [ ], - "title" : "xy", - "usr" : "s:6Euclid5PlaneV2xyACvpZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "normalized()", + "usr" : "s:6Euclid10QuaternionV10normalizedACyF" }, { "abstract" : [ { - "text" : "Creates an array of glyph contours from a string and font you provide.", + "text" : "The polygons in the mesh, grouped by material.", "type" : "text" } ], @@ -38327,15 +40156,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -38343,96 +40164,45 @@ }, { "kind" : "identifier", - "text" : "text" + "text" : "polygonsByMaterial" }, { "kind" : "text", - "text" : "(" + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "font" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ": " + "text" : "? : [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CTFontRef", - "text" : "CTFont" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "width" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "detail" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ") -> [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "]" + "text" : "]]" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/text(_:font:width:detail:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:font:width:detail:)", + "path" : "\/documentation\/euclid\/mesh\/polygonsbymaterial", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial", "taskGroups" : [ ], - "title" : "text(_:font:width:detail:)", - "usr" : "s:6Euclid4PathV4text_4font5width6detailSayACGSS_So9CTFontRefaSgSdSgSitFZ" + "title" : "polygonsByMaterial", + "usr" : "s:6Euclid4MeshV18polygonsByMaterialSDys11AnyHashableVSgSayAA7PolygonVGGvp" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of paths.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -38440,14 +40210,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -38458,40 +40220,15 @@ }, { "kind" : "identifier", - "text" : "convexHull" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" - }, - { - "kind" : "text", - "text" : ">(" - }, - { - "kind" : "externalParam", - "text" : "of" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA4PathV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : "rotate" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "by" }, { "kind" : "text", @@ -38499,112 +40236,71 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-4hvi3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-4hvi3", + "path" : "\/documentation\/euclid\/plane\/rotate(by:)-2ix6y", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA4PathV7ElementRtzlFZ" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Decodable-Implementations", - "taskGroups" : [ + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)" - ], - "title" : "Initializers" + "text" : "Returns a new vertex with the normal inverted.", + "type" : "text" } ], - "title" : "Decodable Implementations" - }, - { "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/comparable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Comparable-Implementations", - "taskGroups" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-8q2nt" - ], - "title" : "Operators" - } - ], - "title" : "Comparable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Transformable-Implementations", - "taskGroups" : [ + "kind" : "keyword", + "text" : "func" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" - ], - "title" : "Operators" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)" - ], - "title" : "Instance Methods" + "kind" : "identifier", + "text" : "inverted" + }, + { + "kind" : "text", + "text" : "() -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], - "title" : "Transformable Implementations" + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()", + "taskGroups" : [ + + ], + "title" : "inverted()", + "usr" : "s:6Euclid6VertexV8invertedACyF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "The angle of rotation around the X-axis.", "type" : "text" } ], @@ -38614,7 +40310,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -38622,15 +40318,7 @@ }, { "kind" : "identifier", - "text" : "transform" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "pitch" }, { "kind" : "text", @@ -38638,46 +40326,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)", + "path" : "\/documentation\/euclid\/quaternion\/pitch", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid5PlaneV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "pitch", + "usr" : "s:6Euclid10QuaternionV5pitchAA5AngleVvp" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Computes the point of intersection between a line segment and a plane.", "type" : "text" } ], @@ -38695,7 +40361,7 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "intersection" }, { "kind" : "text", @@ -38703,7 +40369,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "with" }, { "kind" : "text", @@ -38711,8 +40377,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", @@ -38722,30 +40388,26 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)", + "path" : "\/documentation\/euclid\/plane\/intersection(with:)-9o28g", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid6VectorV7rotated2byAcA8RotationV_tF" + "title" : "intersection(with:)", + "usr" : "s:6Euclid5PlaneV12intersection4withAA6VectorVSgAA11LineSegmentV_tF" }, { "abstract" : [ { - "text" : "Supported ", - "type" : "text" - }, - { - "code" : "NSSecureCodable", - "type" : "codeVoice" - }, - { - "text" : " Material base classes.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -38755,52 +40417,60 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "var" + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "codableClasses" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s8AnyClassa", - "text" : "AnyClass" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "]" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/codableclasses", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses", + "path" : "\/documentation\/euclid\/vertex\/scale(by:)-6c0wl", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl", "taskGroups" : [ ], - "title" : "codableClasses", - "usr" : "s:6Euclid7PolygonV14codableClassesSayyXlXpGvpZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Merges this polygon with another, removing redundant vertices where possible.", + "text" : "Returns whether the leftmost line segment has the lower value.", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This provides a stable order when sorting collections of line segments.", "type" : "text" } ], @@ -38810,145 +40480,168 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "merge" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "kind" : "identifier", + "text" : "<" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "ensureConvex" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : "?" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/merge(_:ensureconvex:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)", + "path" : "\/documentation\/euclid\/linesegment\/_(_:_:)-2si4j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j", "taskGroups" : [ ], - "title" : "merge(_:ensureConvex:)", - "usr" : "s:6Euclid7PolygonV5merge_12ensureConvexACSgAC_SbtF" + "title" : "<(_:_:)", + "usr" : "s:6Euclid11LineSegmentV1loiySbAC_ACtFZ" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Material used by a given polygon.", "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + }, { - "kind" : "keyword", - "text" : "static" + "text" : " ", + "type" : "text" }, { - "kind" : "text", - "text" : " " + "text" : "This can be any type that conforms to ", + "type" : "text" }, { - "kind" : "keyword", - "text" : "func" + "code" : "Hashable", + "type" : "codeVoice" }, { - "kind" : "text", - "text" : " " + "text" : ", but encoding\/decoding is only supported", + "type" : "text" }, { - "kind" : "identifier", - "text" : "*=" + "text" : " ", + "type" : "text" }, { - "kind" : "text", - "text" : " " + "text" : "for the following types: ", + "type" : "text" }, { - "kind" : "text", - "text" : "(" + "code" : "Color", + "type" : "codeVoice" }, { - "kind" : "keyword", - "text" : "inout" + "text" : ", ", + "type" : "text" }, { - "kind" : "text", - "text" : " " + "code" : "String", + "type" : "codeVoice" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : ", ", + "type" : "text" }, { - "kind" : "text", - "text" : ", " + "code" : "Int", + "type" : "codeVoice" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : ", ", + "type" : "text" + }, + { + "code" : "Data", + "type" : "codeVoice" + }, + { + "text" : " or any ", + "type" : "text" + }, + { + "code" : "NSSecureCodable", + "type" : "codeVoice" + }, + { + "text" : " type.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "typealias" }, { "kind" : "text", - "text" : ")" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "Material" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)", + "path" : "\/documentation\/euclid\/polygon\/material-swift.typealias", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4PathV" + "title" : "Polygon.Material", + "usr" : "s:6Euclid7PolygonV8Materiala" }, { "abstract" : [ { - "text" : "Returns whether the leftmost angle has the lower value.", + "text" : "Returns a quaternion with its components multiplied by the specified value.", "type" : "text" } ], @@ -38974,7 +40667,7 @@ }, { "kind" : "identifier", - "text" : "<" + "text" : "*" }, { "kind" : "text", @@ -38986,8 +40679,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -38995,8 +40688,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -39004,24 +40697,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/_(_:_:)-1aqv9", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9", + "path" : "\/documentation\/euclid\/quaternion\/*(_:_:)-2drke", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke", "taskGroups" : [ ], - "title" : "<(_:_:)", - "usr" : "s:6Euclid5AngleV1loiySbAC_ACtFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid10QuaternionV1moiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Creates a mesh by extruding a path along its face normal.", + "text" : "Creates a bounds from a collection of bounds.", "type" : "text" } ], @@ -39031,57 +40724,70 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "<" }, { - "kind" : "keyword", - "text" : "func" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "extrude" - }, - { - "kind" : "text", - "text" : "(" + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAC7ElementRtzlufc1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : ", " - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/init(_:)-r54o", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid6BoundsVyACxcSlRzAC7ElementRtzlufc" + }, + { + "abstract" : [ { - "kind" : "externalParam", - "text" : "depth" + "text" : "The unique polygon edges in the mesh.", + "type" : "text" }, { - "kind" : "text", - "text" : ": " + "text" : " ", + "type" : "text" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "twist" + "kind" : "identifier", + "text" : "uniqueEdges" }, { "kind" : "text", @@ -39089,50 +40795,63 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "sections" + "preciseIdentifier" : "s:Sh", + "text" : "Set" }, { "kind" : "text", - "text" : ": " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ", " - }, + "text" : ">" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/uniqueedges", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges", + "taskGroups" : [ + + ], + "title" : "uniqueEdges", + "usr" : "s:6Euclid4MeshV11uniqueEdgesShyAA11LineSegmentVGvp" + }, + { + "abstract" : [ { - "kind" : "externalParam", - "text" : "faces" + "text" : "Returns a rotated copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "kind" : "identifier", + "text" : "rotated" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "by" }, { "kind" : "text", @@ -39140,33 +40859,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/extrude(_:depth:twist:sections:faces:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:)", + "path" : "\/documentation\/euclid\/path\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)", "taskGroups" : [ ], - "title" : "extrude(_:depth:twist:sections:faces:material:)", - "usr" : "s:6Euclid4MeshV7extrude_5depth5twist8sections5faces8materialAcA4PathV_SdAA5AngleVSiAC5FacesOs11AnyHashableVSgtFZ" + "title" : "rotated(by:)", + "usr" : "s:6Euclid4PathV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Merges any coplanar polygons that share one or more edges.", "type" : "text" } ], @@ -39184,52 +40903,29 @@ }, { "kind" : "identifier", - "text" : "scaled" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "detessellate" }, { "kind" : "text", - "text" : ") -> " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/scaled(by:)-1dtbr", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr", + "path" : "\/documentation\/euclid\/mesh\/detessellate()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detessellate()", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6VertexV6scaled2byACSd_tF" + "title" : "detessellate()", + "usr" : "s:6Euclid4MeshV12detessellateACyF" }, { - "abstract" : [ - { - "text" : "Returns a vector with its components multiplied by the specified value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -39252,7 +40948,7 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "!=" }, { "kind" : "text", @@ -39264,8 +40960,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", @@ -39273,8 +40968,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", @@ -39282,24 +40976,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*(_:_:)-5mcy5", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5", + "path" : "\/documentation\/euclid\/path\/alignment\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid6VectorV1moiyA2C_SdtFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4PathV9AlignmentO" }, { "abstract" : [ { - "text" : "Computes the point of intersection between a line and a plane.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -39317,7 +41011,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "rotate" }, { "kind" : "text", @@ -39325,7 +41019,7 @@ }, { "kind" : "externalParam", - "text" : "with" + "text" : "by" }, { "kind" : "text", @@ -39333,37 +41027,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : "?" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/intersection(with:)-79olr", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-79olr", + "path" : "\/documentation\/euclid\/pathpoint\/rotate(by:)-4cg0v", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid5PlaneV12intersection4withAA6VectorVSgAA4LineV_tF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Multiplies the quaternion rotation on the left by the one on the right.", + "text" : "Return ASCII STL string data for the mesh.", "type" : "text" } ], @@ -39371,14 +41056,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -39389,75 +41066,49 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "stlString" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "name" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:SS", + "text" : "String" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:SS", + "text" : "String" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/*=(_:_:)-5ic2j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j", + "path" : "\/documentation\/euclid\/mesh\/stlstring(name:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2meoiyyACz_ACtFZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "stlString(name:)", + "usr" : "s:6Euclid4MeshV9stlString4nameS2S_tF" }, { "abstract" : [ { - "text" : "Protocol for transformable types.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -39467,113 +41118,72 @@ "fragments" : [ { "kind" : "keyword", - "text" : "protocol" + "text" : "static" }, { "kind" : "text", "text" : " " }, - { - "kind" : "identifier", - "text" : "Transformable" - } - ], - "kind" : "org.swift.docc.kind.protocol", - "language" : "swift", - "path" : "\/documentation\/euclid\/transformable", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-1l9u5", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-9m686", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Transformable", - "usr" : "s:6Euclid13TransformableP" - }, - { - "abstract" : [ - { - "text" : "Creates a rotation transform.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "*=" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "rotation" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid9TransformV", "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/rotation(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)", + "path" : "\/documentation\/euclid\/bounds\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)", "taskGroups" : [ ], - "title" : "rotation(_:)", - "usr" : "s:6Euclid9TransformV8rotationyAcA8RotationVFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Computes the cross-product of this vector and another.", + "text" : "A Boolean value that indicates whether the mesh includes vertex colors.", "type" : "text" } ], @@ -39583,7 +41193,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -39591,41 +41201,32 @@ }, { "kind" : "identifier", - "text" : "cross" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "hasVertexColors" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/cross(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)", + "path" : "\/documentation\/euclid\/mesh\/hasvertexcolors", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors", "taskGroups" : [ ], - "title" : "cross(_:)", - "usr" : "s:6Euclid6VectorV5crossyA2CF" + "title" : "hasVertexColors", + "usr" : "s:6Euclid4MeshV15hasVertexColorsSbvp" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Cropped and flattened version of path suitable for lathing around the Y axis.", "type" : "text" } ], @@ -39635,7 +41236,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -39643,44 +41244,27 @@ }, { "kind" : "identifier", - "text" : "scaled" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "latheProfile" }, { "kind" : "text", "text" : ": " }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ") -> " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid4PathV", "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/scaled(by:)-19jpq", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq", + "path" : "\/documentation\/euclid\/path\/latheprofile", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid4PathV6scaled2byAcA6VectorV_tF" + "title" : "latheProfile", + "usr" : "s:6Euclid4PathV12latheProfileACvp" }, { "abstract" : [ @@ -39719,8 +41303,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -39728,33 +41312,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scaled(by:)-19ukh", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh", + "path" : "\/documentation\/euclid\/vertex\/scaled(by:)-20sq4", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4", "taskGroups" : [ ], "title" : "scaled(by:)", - "usr" : "s:6Euclid9TransformV6scaled2byACSd_tF" + "usr" : "s:6Euclid6VertexV6scaled2byAcA6VectorV_tF" }, { + "abstract" : [ + { + "text" : "Returns a translated copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -39765,19 +41347,24 @@ }, { "kind" : "identifier", - "text" : "+" + "text" : "translated" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -39785,216 +41372,268 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/+(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)", + "path" : "\/documentation\/euclid\/pathpoint\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)", "taskGroups" : [ ], - "title" : "+(_:)", - "usr" : "s:s18AdditiveArithmeticPsE1popyxxFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "translated(by:)", + "usr" : "s:6Euclid9PathPointV10translated2byAcA6VectorV_tF" }, { + "abstract" : [ + { + "text" : "A 3D surface made of polygons.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Transformable-Implementations", - "taskGroups" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" - ], - "title" : "Operators" + "kind" : "keyword", + "text" : "struct" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "Mesh" } ], - "title" : "Transformable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", + "taskGroups" : [ { - "kind" : "keyword", - "text" : "static" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty" + ], + "title" : "Default Meshes" }, { - "kind" : "text", - "text" : " " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/icosahedron(radius:faces:wrapMode:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces" + ], + "title" : "Geometric Primitives" }, { - "kind" : "keyword", - "text" : "let" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.type.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.type.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.type.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler" + ], + "title" : "Creating Meshes from Other Meshes" }, { - "kind" : "text", - "text" : " " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al" + ], + "title" : "Creating Meshes from Polygons" }, { - "kind" : "identifier", - "text" : "orange" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-4hvi3", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:along:twist:align:faces:material:isCancelled:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:isCancelled:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-85o14", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-9mn9o" + ], + "title" : "Creating Meshes from Paths" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-6176", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-91swk", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-5ztum" + ], + "title" : "Creating Meshes from Vertices, Points or LineSegments" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - } - ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/color\/orange", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange", - "taskGroups" : [ - - ], - "title" : "orange", - "usr" : "s:6Euclid5ColorV6orangeACvpZ" - }, - { - "abstract" : [ - { - "text" : "Split the mesh along a plane.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:font:width:depth:detail:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)" + ], + "title" : "Creating Meshes from Text" }, { - "kind" : "text", - "text" : " " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider" + ], + "title" : "Creating Meshes from SceneKit Models" }, { - "kind" : "identifier", - "text" : "split" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)" + ], + "title" : "Exporting Meshes" }, { - "kind" : "text", - "text" : "(" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges" + ], + "title" : "Mesh Properties" }, { - "kind" : "externalParam", - "text" : "along" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)" + ], + "title" : "Comparing Meshes" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/inverted()" + ], + "title" : "Transforming Meshes" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()" + ], + "title" : "Updating Materials and Texture Coordinates" }, { - "kind" : "text", - "text" : ") -> (front" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.method", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.type.method" + ], + "title" : "Merging Meshes" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/split(along:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes" + ], + "title" : "Splitting Meshes" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detessellate()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)" + ], + "title" : "Adjusting Mesh Topology" }, { - "kind" : "text", - "text" : "?, back" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)" + ], + "title" : "Initializers" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals" + ], + "title" : "Instance Properties" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method" + ], + "title" : "Instance Methods" }, { - "kind" : "text", - "text" : "?)" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/split(along:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/split(along:)", - "taskGroups" : [ - - ], - "title" : "split(along:)", - "usr" : "s:6Euclid4MeshV5split5alongACSg5front_AF4backtAA5PlaneV_tF" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Transformable-Implementations", - "taskGroups" : [ + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider" + ], + "title" : "Type Aliases" + }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-8t5q8", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-eado", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.type.method" ], - "title" : "Operators" + "title" : "Type Methods" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Bounded-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Transformable-Implementations" ], - "title" : "Instance Methods" + "title" : "Default Implementations" } ], - "title" : "Transformable Implementations" + "title" : "Mesh", + "usr" : "s:6Euclid4MeshV" }, { + "abstract" : [ + { + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -40017,7 +41656,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "*" }, { "kind" : "text", @@ -40037,7 +41676,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -40045,79 +41685,18 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)", - "taskGroups" : [ - - ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid10QuaternionV" - }, - { - "abstract" : [ - { - "text" : "Returns a translated copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "translated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)", + "path" : "\/documentation\/euclid\/path\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid6BoundsV10translated2byAcA6VectorV_tF" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4PathV" }, { "availableLanguages" : [ @@ -40176,1538 +41755,15 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)", "taskGroups" : [ ], "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid9TransformV" - }, - { - "abstract" : [ - { - "text" : "Returns a scaled copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "scaled" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/scaled(by:)-356zr", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr", - "taskGroups" : [ - - ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6VectorV6scaled2byA2C_tF" - }, - { - "abstract" : [ - { - "text" : "Transform has no effect.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "isIdentity" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/isidentity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity", - "taskGroups" : [ - - ], - "title" : "isIdentity", - "usr" : "s:6Euclid9TransformV10isIdentitySbvp" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "cgPath" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CGPathRef", - "text" : "CGPath" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "detail" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "color" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - }, - { - "kind" : "text", - "text" : "?)" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(cgpath:detail:color:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)", - "taskGroups" : [ - - ], - "title" : "init(cgPath:detail:color:)", - "usr" : "s:6Euclid4PathV02cgB06detail5colorACSo9CGPathRefa_SiAA5ColorVSgtcfc" - }, - { - "abstract" : [ - { - "text" : "Returns one or more polygons needed to fill the path.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "facePolygons" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - }, - { - "kind" : "text", - "text" : "." - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?) -> [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, - { - "kind" : "text", - "text" : "]" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/facepolygons(material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/facePolygons(material:)", - "taskGroups" : [ - - ], - "title" : "facePolygons(material:)", - "usr" : "s:6Euclid4PathV12facePolygons8materialSayAA7PolygonVGs11AnyHashableVSg_tF" - }, - { - "abstract" : [ - { - "text" : "Rotate the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/rotate(by:)-r7j4", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4", - "taskGroups" : [ - - ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid9PathPointV" - }, - { - "abstract" : [ - { - "text" : "Rotate the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/rotate(by:)-7073s", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s", - "taskGroups" : [ - - ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid7PolygonV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Equatable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" - }, - { - "abstract" : [ - { - "text" : "The angle of rotation around the X-axis.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "pitch" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/pitch", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch", - "taskGroups" : [ - - ], - "title" : "pitch", - "usr" : "s:6Euclid8RotationV5pitchAA5AngleVvp" - }, - { - "abstract" : [ - { - "text" : "The bounds of the mesh.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "bounds" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds", - "taskGroups" : [ - - ], - "title" : "bounds", - "usr" : "s:6Euclid4MeshV6boundsAA6BoundsVvp" - }, - { - "abstract" : [ - { - "text" : "Returns a Boolean value that indicates whether the lines intersect.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "intersects" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/line\/intersects(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)", - "taskGroups" : [ - - ], - "title" : "intersects(_:)", - "usr" : "s:6Euclid4LineV10intersectsySbACF" - }, - { - "abstract" : [ - { - "text" : "Creates a new mesh by decoding from the given decoder.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "from" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)", - "taskGroups" : [ - - ], - "title" : "init(from:)", - "usr" : "s:6Euclid4MeshV4fromACs7Decoder_p_tKcfc" - }, - { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)", - "taskGroups" : [ - - ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid5PlaneV" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "<=" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/_=(_:_:)-8q2nt", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-8q2nt", - "taskGroups" : [ - - ], - "title" : "<=(_:_:)", - "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" - }, - { - "abstract" : [ - { - "text" : "Creates a new vertex from a position with default values for normal, texcoord and color.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/init(_:)-5517j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j", - "taskGroups" : [ - - ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VertexVyAcA6VectorVcfc" - }, - { - "abstract" : [ - { - "text" : "Returns a scaled copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "scaled" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/scaled(by:)-37r1v", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v", - "taskGroups" : [ - - ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid11LineSegmentV6scaled2byACSd_tF" - }, - { - "abstract" : [ - { - "text" : "Returns a translated copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "translated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)", - "taskGroups" : [ - - ], - "title" : "translated(by:)", - "usr" : "s:6Euclid11LineSegmentV10translated2byAcA6VectorV_tF" - }, - { - "abstract" : [ - { - "text" : "Returns a scaled copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "scaled" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/scaled(by:)-84xdd", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd", - "taskGroups" : [ - - ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid4PathV6scaled2byACSd_tF" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "xor" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" - }, - { - "kind" : "text", - "text" : ">(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV3xor_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "isCancelled" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/xor(_:iscancelled:)-swift.type.method", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.type.method", - "taskGroups" : [ - - ], - "title" : "xor(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV3xor_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" - }, - { - "abstract" : [ - { - "text" : "Performs a spherical interpolation between two quaternions.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "slerp" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/slerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)", - "taskGroups" : [ - - ], - "title" : "slerp(_:_:)", - "usr" : "s:6Euclid10QuaternionV5slerpyA2C_SdtF" - }, - { - "abstract" : [ - { - "text" : "Creates a rounded rectangle path.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "roundedRectangle" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "width" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "height" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "radius" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "detail" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "color" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - }, - { - "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/roundedrectangle(width:height:radius:detail:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/roundedRectangle(width:height:radius:detail:color:)", - "taskGroups" : [ - - ], - "title" : "roundedRectangle(width:height:radius:detail:color:)", - "usr" : "s:6Euclid4PathV16roundedRectangle5width6height6radius6detail5colorACSd_S2dSiAA5ColorVSgtFZ" - }, - { - "abstract" : [ - { - "text" : "Rotate the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/rotate(by:)-1l9u5", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-1l9u5", - "taskGroups" : [ - - ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF" - }, - { - "abstract" : [ - { - "text" : "Returns a quaternion with its components multiplied by the specified value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/*(_:_:)-2drke", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke", - "taskGroups" : [ - - ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid10QuaternionV1moiyA2C_SdtFZ" - }, - { - "abstract" : [ - { - "text" : "Rotate the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/rotate(by:)-7y2vv", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv", - "taskGroups" : [ - - ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid4MeshV" - }, - { - "abstract" : [ - { - "text" : "The starting point of the line segment.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "let" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "start" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/start", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start", - "taskGroups" : [ - - ], - "title" : "start", - "usr" : "s:6Euclid11LineSegmentV5startAA6VectorVvp" - }, - { - "abstract" : [ - { - "text" : "Creates a Euclid ", - "type" : "text" - }, - { - "code" : "Quaternion", - "type" : "codeVoice" - }, - { - "text" : " from a SceneKit quaternion.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@SCNQuaternion", - "text" : "SCNQuaternion" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(_:)-b3v3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3", - "taskGroups" : [ - - ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyACSo10SCNVector4Vcfc" - }, - { - "abstract" : [ - { - "text" : "A common protocol for objects that have a bounds.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "protocol" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "Bounded" - } - ], - "kind" : "org.swift.docc.kind.protocol", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounded", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds" - ], - "title" : "Instance Properties" - } - ], - "title" : "Bounded", - "usr" : "s:6Euclid7BoundedP" - }, - { - "abstract" : [ - { - "text" : "Returns a scaled copy of the value.", - "type" : "text" - } - ], + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + }, + { "availableLanguages" : [ "swift" ], @@ -41722,15 +41778,24 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "intersect" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "by" + "text" : "isCancelled" }, { "kind" : "text", @@ -41738,8 +41803,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -41747,42 +41812,39 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scaled(by:)-9vwak", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak", + "path" : "\/documentation\/euclid\/mesh\/intersect(_:iscancelled:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid9TransformV6scaled2byAcA6VectorV_tF" + "title" : "intersect(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV9intersect_11isCancelledA2C_SbyXEtF" }, { - "abstract" : [ - { - "text" : "The surface normal of the vertex, used to calculate lighting.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, - { - "text" : "Set this to zero if you want the normal to be calculated automatically from the polygon face normal.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", @@ -41790,7 +41852,7 @@ }, { "kind" : "identifier", - "text" : "normal" + "text" : "clear" }, { "kind" : "text", @@ -41798,42 +41860,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/normal", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal", + "path" : "\/documentation\/euclid\/color\/clear", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear", "taskGroups" : [ ], - "title" : "normal", - "usr" : "s:6Euclid6VertexV6normalAA6VectorVvp" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Encodable-Implementations", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)" - ], - "title" : "Instance Methods" - } - ], - "title" : "Encodable Implementations" + "title" : "clear", + "usr" : "s:6Euclid5ColorV5clearACvpZ" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates if the bounds intersects the specified plane.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -41841,6 +41885,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -41851,41 +41903,64 @@ }, { "kind" : "identifier", - "text" : "intersects" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/intersects(_:)-7br6p", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p", + "path" : "\/documentation\/euclid\/mesh\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)", "taskGroups" : [ ], - "title" : "intersects(_:)", - "usr" : "s:6Euclid6BoundsV10intersectsySbAA5PlaneVF" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "Returns the point where the specified plane intersects the line.", + "text" : "A vector of length ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : " along the Y axis.", "type" : "text" } ], @@ -41895,61 +41970,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "intersection" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "with" + "kind" : "identifier", + "text" : "unitY" }, { "kind" : "text", "text" : ": " }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ") -> " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/intersection(with:)-7s1sd", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd", + "path" : "\/documentation\/euclid\/vector\/unity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid4LineV12intersection4withAA6VectorVSgAA5PlaneV_tF" + "title" : "unitY", + "usr" : "s:6Euclid6VectorV5unitYACvpZ" }, { "abstract" : [ { - "text" : "Returns a new vector representing the maximum of the components of the two vectors.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -41967,25 +42029,24 @@ }, { "kind" : "identifier", - "text" : "max" + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -41993,87 +42054,70 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], - "kind" : "org.swift.docc.kind.function", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/max(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/max(_:_:)", + "path" : "\/documentation\/euclid\/vertex\/scaled(by:)-1dtbr", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr", "taskGroups" : [ ], - "title" : "max(_:_:)", - "usr" : "s:6Euclid3maxyAA6VectorVAD_ADtF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6VertexV6scaled2byACSd_tF" }, { + "abstract" : [ + { + "text" : "Creates a new polygon by decoding from the given decoder.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "+=" - }, - { - "kind" : "text", - "text" : " " + "text" : "init" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : ") " }, { - "kind" : "text", - "text" : ")" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/+=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)", + "path" : "\/documentation\/euclid\/polygon\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)", "taskGroups" : [ ], - "title" : "+=(_:_:)", - "usr" : "s:s18AdditiveArithmeticPsE2peoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "init(from:)", + "usr" : "s:6Euclid7PolygonV4fromACs7Decoder_p_tKcfc" }, { "availableLanguages" : [ @@ -42081,61 +42125,74 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Transformable-Implementations", + "path" : "\/documentation\/euclid\/rotation\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Decodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)" - ], - "title" : "Operators" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)" ], - "title" : "Instance Methods" + "title" : "Initializers" } ], - "title" : "Transformable Implementations" + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Define 3D objects by constructing meshes.", + "text" : "Transform the value in place.", "type" : "text" } ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.article", + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "transform" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/constructingmeshes", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes", + "path" : "\/documentation\/euclid\/bounds\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transform(by:)", "taskGroups" : [ ], - "title" : "Constructing Meshes" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { - "abstract" : [ - { - "text" : "Efficiently strokes a collection of line segments (useful for drawing wireframes).", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -42158,100 +42215,99 @@ }, { "kind" : "identifier", - "text" : "stroke" + "text" : "<=" }, { "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" + "text" : " " }, { "kind" : "text", - "text" : ">(" + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV6stroke_5width6detail8materialACx_SdSis11AnyHashableVSgtSlRzAA11LineSegmentV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "width" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "detail" + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/_=(_:_:)-8q2nt", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-8q2nt", + "taskGroups" : [ + + ], + "title" : "<=(_:_:)", + "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Creates a rotation from a quaternion.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "material" + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stroke(_:width:detail:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:)", + "path" : "\/documentation\/euclid\/rotation\/init(_:)-5w6mn", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn", "taskGroups" : [ ], - "title" : "stroke(_:width:detail:material:)", - "usr" : "s:6Euclid4MeshV6stroke_5width6detail8materialACx_SdSis11AnyHashableVSgtSlRzAA11LineSegmentV7ElementRtzlFZ" + "title" : "init(_:)", + "usr" : "s:6Euclid8RotationVyAcA10QuaternionVcfc" }, { "abstract" : [ { - "text" : "Returns the reverse quaternion rotation.", + "text" : "A vector of length ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : " along the X axis.", "type" : "text" } ], @@ -42269,7 +42325,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -42277,45 +42333,51 @@ }, { "kind" : "identifier", - "text" : "-" - }, - { - "kind" : "text", - "text" : " " + "text" : "unitX" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ") -> " - }, + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/unitx", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX", + "taskGroups" : [ + + ], + "title" : "unitX", + "usr" : "s:6Euclid6VectorV5unitXACvpZ" + }, + { + "abstract" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "Define 3D objects by constructing meshes.", + "type" : "text" } ], - "kind" : "org.swift.docc.kind.operator", + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.article", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/-(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)", + "path" : "\/documentation\/euclid\/constructingmeshes", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes", "taskGroups" : [ ], - "title" : "-(_:)", - "usr" : "s:6Euclid10QuaternionV1sopyA2CFZ" + "title" : "Constructing Meshes" }, { "abstract" : [ { - "text" : "The array of points that makes up this path.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -42325,7 +42387,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -42333,36 +42395,48 @@ }, { "kind" : "identifier", - "text" : "points" + "text" : "transformed" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/points", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points", + "path" : "\/documentation\/euclid\/bounds\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)", "taskGroups" : [ ], - "title" : "points", - "usr" : "s:6Euclid4PathV6pointsSayAA0B5PointVGvp" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Encodes this bounds into the given encoder.", + "text" : "Encodes this mesh into the given encoder.", "type" : "text" } ], @@ -42410,33 +42484,21 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)", + "path" : "\/documentation\/euclid\/mesh\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)", "taskGroups" : [ ], "title" : "encode(to:)", - "usr" : "s:6Euclid6BoundsV6encode2toys7Encoder_p_tKF" + "usr" : "s:6Euclid4MeshV6encode2toys7Encoder_p_tKF" }, { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-Implementations", - "taskGroups" : [ + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)" - ], - "title" : "Instance Methods" + "text" : "Creates a circular arc.", + "type" : "text" } ], - "title" : "Encodable Implementations" - }, - { "availableLanguages" : [ "swift" ], @@ -42459,70 +42521,66 @@ }, { "kind" : "identifier", - "text" : ">" + "text" : "arc" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "angle" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", "text" : ", " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "radius" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/_(_:_:)-9688a", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a", - "taskGroups" : [ - - ], - "title" : ">(_:_:)", - "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, { - "text" : "The quaternion Y component.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "externalParam", + "text" : "segments" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "y" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "color" }, { "kind" : "text", @@ -42530,33 +42588,58 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y", + "path" : "\/documentation\/euclid\/path\/arc(angle:radius:segments:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)", "taskGroups" : [ ], - "title" : "y", - "usr" : "s:6Euclid10QuaternionV1ySdvp" + "title" : "arc(angle:radius:segments:color:)", + "usr" : "s:6Euclid4PathV3arc5angle6radius8segments5colorAcA5AngleV_SdSiSgAA5ColorVSgtFZ" }, { "availableLanguages" : [ "swift" ], - "fragments" : [ + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Equatable-Implementations", + "taskGroups" : [ { - "kind" : "keyword", - "text" : "static" - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : " " - }, + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -42567,27 +42650,24 @@ }, { "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " + "text" : "transformed" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -42595,33 +42675,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)", + "path" : "\/documentation\/euclid\/path\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4PathV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid4PathV11transformed2byAcA9TransformV_tF" }, { + "abstract" : [ + { + "text" : "Linearly interpolates between two path points.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -42632,11 +42710,7 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "lerp" }, { "kind" : "text", @@ -42644,44 +42718,42 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeFromV", - "text" : "PartialRangeFrom" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "<" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/'...(_:)-2uz97", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97", + "path" : "\/documentation\/euclid\/pathpoint\/lerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "lerp(_:_:)", + "usr" : "s:6Euclid9PathPointV4lerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "The blue component of the color.", + "text" : "Loads a mesh from a file using any format supported by SceneKit, with optional material mapping.", "type" : "text" } ], @@ -42691,15 +42763,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "b" + "kind" : "externalParam", + "text" : "url" }, { "kind" : "text", @@ -42707,50 +42779,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/color\/b", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b", - "taskGroups" : [ - - ], - "title" : "b", - "usr" : "s:6Euclid5ColorV1bSdvp" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:10Foundation3URLV", + "text" : "URL" + }, { - "text" : "Encodes this line into the given encoder.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "ignoringTransforms" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "encode" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "to" + "text" : "materialLookup" }, { "kind" : "text", @@ -42758,27 +42813,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid4MeshV16MaterialProvidera", + "text" : "MaterialProvider" }, { "kind" : "text", - "text" : ") " + "text" : "?) " }, { "kind" : "keyword", "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)", + "path" : "\/documentation\/euclid\/mesh\/init(url:ignoringtransforms:materiallookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid4LineV6encode2toys7Encoder_p_tKF" + "title" : "init(url:ignoringTransforms:materialLookup:)", + "usr" : "s:6Euclid4MeshV3url18ignoringTransforms14materialLookupAC10Foundation3URLV_Sbs11AnyHashableVSgSo11SCNMaterialCcSgtKcfc" }, { "abstract" : [ @@ -42826,24 +42881,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/scaled(by:)-90bab", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab", + "path" : "\/documentation\/euclid\/transformable\/scaled(by:)-3shbk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk", "taskGroups" : [ ], "title" : "scaled(by:)", - "usr" : "s:6Euclid4MeshV6scaled2byAcA6VectorV_tF" + "usr" : "s:6Euclid13TransformableP6scaled2byxAA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -42861,7 +42915,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "translate" }, { "kind" : "text", @@ -42882,28 +42936,23 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/scaled(by:)-2lm8c", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c", + "path" : "\/documentation\/euclid\/linesegment\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid11LineSegmentV6scaled2byAcA6VectorV_tF" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Creates a mesh by extruding one path along another path.", + "text" : "The angle of rotation around the Z-axis.", "type" : "text" } ], @@ -42913,15 +42962,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -42929,41 +42970,7 @@ }, { "kind" : "identifier", - "text" : "extrude" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "along" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "twist" + "text" : "roll" }, { "kind" : "text", @@ -42973,93 +42980,103 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid5AngleV", "text" : "Angle" - }, + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/roll", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll", + "taskGroups" : [ + + ], + "title" : "roll", + "usr" : "s:6Euclid10QuaternionV4rollAA5AngleVvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Creates a color from a luminance value and optional alpha component.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "align" + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV9Alignmenta", - "text" : "Alignment" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "faces" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "material" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/init(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)", + "taskGroups" : [ + + ], + "title" : "init(_:_:)", + "usr" : "s:6Euclid5ColorVyACSd_Sdtcfc" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : "?, " - }, + "text" : "Creates a new vector from a CoreGraphics size.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "isCancelled" + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "c:@S@CGSize", + "text" : "CGSize" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/extrude(_:along:twist:align:faces:material:iscancelled:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:along:twist:align:faces:material:isCancelled:)", + "path" : "\/documentation\/euclid\/vector\/init(_:)-6nlm", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm", "taskGroups" : [ ], - "title" : "extrude(_:along:twist:align:faces:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV7extrude_5along5twist5align5faces8material11isCancelledAcA4PathV_AlA5AngleVAL9AlignmentOAC5FacesOs11AnyHashableVSgSbyXEtFZ" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACSo6CGSizeVcfc" } ] \ No newline at end of file