diff --git a/CHANGELOG.md b/CHANGELOG.md index a3043f61..78b3ff60 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## [0.7.5](https://github.com/nicklockwood/Euclid/releases/tag/0.7.5) (2024-01-29) + +- Added I/O functions +- Fixed transform not being applied to meshes created from a RealityKit `ModelEntity` +- Materials are now preserved for meshes created from RealityKit models +- Deprecated the `Quaternion` type in favor of `Rotation` + ## [0.7.4](https://github.com/nicklockwood/Euclid/releases/tag/0.7.4) (2024-01-19) - Removed stray `print()` statement from RealityKit exporter diff --git a/Euclid.podspec.json b/Euclid.podspec.json index 9cc512b3..5510ecf4 100644 --- a/Euclid.podspec.json +++ b/Euclid.podspec.json @@ -1,6 +1,6 @@ { "name": "Euclid", - "version": "0.7.4", + "version": "0.7.5", "license": { "type": "MIT", "file": "LICENSE.md" @@ -10,7 +10,7 @@ "authors": "Nick Lockwood", "source": { "git": "https://github.com/nicklockwood/Euclid.git", - "tag": "0.7.4" + "tag": "0.7.5" }, "source_files": "Sources", "requires_arc": true, diff --git a/Euclid.xcodeproj/project.pbxproj b/Euclid.xcodeproj/project.pbxproj index e4a0d4bb..94209483 100644 --- a/Euclid.xcodeproj/project.pbxproj +++ b/Euclid.xcodeproj/project.pbxproj @@ -796,7 +796,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 0.7.4; + MARKETING_VERSION = 0.7.5; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-expression-type-checking=75"; @@ -835,7 +835,7 @@ "@executable_path/../Frameworks", "@loader_path/Frameworks", ); - MARKETING_VERSION = 0.7.4; + MARKETING_VERSION = 0.7.5; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-expression-type-checking=75"; diff --git a/Sources/Polygon.swift b/Sources/Polygon.swift index 415db22b..de1baa97 100644 --- a/Sources/Polygon.swift +++ b/Sources/Polygon.swift @@ -640,11 +640,10 @@ extension Collection where Element == Polygon { /// Group polygons by plane func groupedByPlane() -> [(plane: Plane, polygons: [Polygon])] { - if isEmpty { + let polygons = sorted(by: { $0.plane.w < $1.plane.w }) + guard var prev = polygons.first else { return [] } - let polygons = sorted(by: { $0.plane.w < $1.plane.w }) - var prev = polygons[0] var sorted = [(Plane, [Polygon])]() var groups = [(Plane, [Polygon])]() for p in polygons { diff --git a/all_identifiers.txt b/all_identifiers.txt index cf7dfa6e..c899390f 100644 --- a/all_identifiers.txt +++ b/all_identifiers.txt @@ -581,10 +581,12 @@ doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation//=(_:_:) 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 +doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/Hashable-Implementations doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/angle doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/encode(to:) doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/forward +doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/hash(into:) doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/identity doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/init() doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/init(_:)-5w6mn diff --git a/all_symbols.txt b/all_symbols.txt index b634274b..16a84bde 100644 --- a/all_symbols.txt +++ b/all_symbols.txt @@ -581,10 +581,12 @@ - ``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`` +- ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/Hashable-Implementations`` - ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/angle`` - ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis`` - ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/encode(to:)`` - ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/forward`` +- ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/hash(into:)`` - ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/identity`` - ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/init()`` - ``doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/init(_:)-5w6mn`` diff --git a/docs/data/documentation/euclid.json b/docs/data/documentation/euclid.json index c33c8d65..1fbd3b93 100644 --- a/docs/data/documentation/euclid.json +++ b/docs/data/documentation/euclid.json @@ -598,6 +598,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -642,7 +643,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/angle.json b/docs/data/documentation/euclid/angle.json index 932f9655..04b61d0b 100644 --- a/docs/data/documentation/euclid/angle.json +++ b/docs/data/documentation/euclid/angle.json @@ -1715,6 +1715,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1745,7 +1746,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/bounds/rotate(by:)-15yni.json b/docs/data/documentation/euclid/bounds/rotate(by:)-15yni.json index ce53de6b..44a1e01a 100644 --- a/docs/data/documentation/euclid/bounds/rotate(by:)-15yni.json +++ b/docs/data/documentation/euclid/bounds/rotate(by:)-15yni.json @@ -286,7 +286,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/bounds/rotate(by:)-ntgj.json b/docs/data/documentation/euclid/bounds/rotate(by:)-ntgj.json index bd579d60..18e4b0f5 100644 --- a/docs/data/documentation/euclid/bounds/rotate(by:)-ntgj.json +++ b/docs/data/documentation/euclid/bounds/rotate(by:)-ntgj.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -241,6 +244,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -290,6 +294,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/bounds/rotated(by:).json b/docs/data/documentation/euclid/bounds/rotated(by:).json index 6651bcc7..21d17ff1 100644 --- a/docs/data/documentation/euclid/bounds/rotated(by:).json +++ b/docs/data/documentation/euclid/bounds/rotated(by:).json @@ -576,7 +576,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/bounds/transformable-implementations.json b/docs/data/documentation/euclid/bounds/transformable-implementations.json index 6c444d53..adcdb0de 100644 --- a/docs/data/documentation/euclid/bounds/transformable-implementations.json +++ b/docs/data/documentation/euclid/bounds/transformable-implementations.json @@ -308,6 +308,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/linesegment/rotate(by:)-16elu.json b/docs/data/documentation/euclid/linesegment/rotate(by:)-16elu.json index 29cd9321..2332a0e8 100644 --- a/docs/data/documentation/euclid/linesegment/rotate(by:)-16elu.json +++ b/docs/data/documentation/euclid/linesegment/rotate(by:)-16elu.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -241,6 +244,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -290,6 +294,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/linesegment/rotate(by:)-l48f.json b/docs/data/documentation/euclid/linesegment/rotate(by:)-l48f.json index 137d0840..37d0f43c 100644 --- a/docs/data/documentation/euclid/linesegment/rotate(by:)-l48f.json +++ b/docs/data/documentation/euclid/linesegment/rotate(by:)-l48f.json @@ -286,7 +286,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/linesegment/rotated(by:).json b/docs/data/documentation/euclid/linesegment/rotated(by:).json index 6d95a298..a729e727 100644 --- a/docs/data/documentation/euclid/linesegment/rotated(by:).json +++ b/docs/data/documentation/euclid/linesegment/rotated(by:).json @@ -563,7 +563,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/linesegment/transformable-implementations.json b/docs/data/documentation/euclid/linesegment/transformable-implementations.json index 3b82fca8..66f0f6da 100644 --- a/docs/data/documentation/euclid/linesegment/transformable-implementations.json +++ b/docs/data/documentation/euclid/linesegment/transformable-implementations.json @@ -259,6 +259,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/mesh/rotate(by:)-3uymx.json b/docs/data/documentation/euclid/mesh/rotate(by:)-3uymx.json index 5bd34349..dedf8ea3 100644 --- a/docs/data/documentation/euclid/mesh/rotate(by:)-3uymx.json +++ b/docs/data/documentation/euclid/mesh/rotate(by:)-3uymx.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -241,6 +244,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -290,6 +294,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/mesh/rotate(by:)-7y2vv.json b/docs/data/documentation/euclid/mesh/rotate(by:)-7y2vv.json index 9cd1b067..86634066 100644 --- a/docs/data/documentation/euclid/mesh/rotate(by:)-7y2vv.json +++ b/docs/data/documentation/euclid/mesh/rotate(by:)-7y2vv.json @@ -286,7 +286,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/mesh/rotated(by:).json b/docs/data/documentation/euclid/mesh/rotated(by:).json index 7276abcc..1f7aa9cb 100644 --- a/docs/data/documentation/euclid/mesh/rotated(by:).json +++ b/docs/data/documentation/euclid/mesh/rotated(by:).json @@ -564,7 +564,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/mesh/transformable-implementations.json b/docs/data/documentation/euclid/mesh/transformable-implementations.json index 1f5cba43..d2b7f14e 100644 --- a/docs/data/documentation/euclid/mesh/transformable-implementations.json +++ b/docs/data/documentation/euclid/mesh/transformable-implementations.json @@ -259,6 +259,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/path/rotate(by:)-3m9le.json b/docs/data/documentation/euclid/path/rotate(by:)-3m9le.json index 1b3e7b4a..806ca9e9 100644 --- a/docs/data/documentation/euclid/path/rotate(by:)-3m9le.json +++ b/docs/data/documentation/euclid/path/rotate(by:)-3m9le.json @@ -286,7 +286,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/path/rotate(by:)-93ypi.json b/docs/data/documentation/euclid/path/rotate(by:)-93ypi.json index 4fb3a962..01d31e69 100644 --- a/docs/data/documentation/euclid/path/rotate(by:)-93ypi.json +++ b/docs/data/documentation/euclid/path/rotate(by:)-93ypi.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -241,6 +244,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -290,6 +294,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/path/rotated(by:).json b/docs/data/documentation/euclid/path/rotated(by:).json index 236636f8..483af661 100644 --- a/docs/data/documentation/euclid/path/rotated(by:).json +++ b/docs/data/documentation/euclid/path/rotated(by:).json @@ -611,7 +611,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/path/transformable-implementations.json b/docs/data/documentation/euclid/path/transformable-implementations.json index 56d6a010..5dd9e55d 100644 --- a/docs/data/documentation/euclid/path/transformable-implementations.json +++ b/docs/data/documentation/euclid/path/transformable-implementations.json @@ -308,6 +308,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/pathpoint/rotate(by:)-4cg0v.json b/docs/data/documentation/euclid/pathpoint/rotate(by:)-4cg0v.json index c842dade..79e12349 100644 --- a/docs/data/documentation/euclid/pathpoint/rotate(by:)-4cg0v.json +++ b/docs/data/documentation/euclid/pathpoint/rotate(by:)-4cg0v.json @@ -286,7 +286,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/pathpoint/rotate(by:)-r7j4.json b/docs/data/documentation/euclid/pathpoint/rotate(by:)-r7j4.json index 8e3ad8f3..0385a830 100644 --- a/docs/data/documentation/euclid/pathpoint/rotate(by:)-r7j4.json +++ b/docs/data/documentation/euclid/pathpoint/rotate(by:)-r7j4.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -241,6 +244,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -290,6 +294,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/pathpoint/rotated(by:).json b/docs/data/documentation/euclid/pathpoint/rotated(by:).json index dfba5e94..3291d1c0 100644 --- a/docs/data/documentation/euclid/pathpoint/rotated(by:).json +++ b/docs/data/documentation/euclid/pathpoint/rotated(by:).json @@ -620,7 +620,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/pathpoint/transformable-implementations.json b/docs/data/documentation/euclid/pathpoint/transformable-implementations.json index 8daef40f..6049965c 100644 --- a/docs/data/documentation/euclid/pathpoint/transformable-implementations.json +++ b/docs/data/documentation/euclid/pathpoint/transformable-implementations.json @@ -308,6 +308,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/plane/rotate(by:)-1azi6.json b/docs/data/documentation/euclid/plane/rotate(by:)-1azi6.json index 15a5b2a8..bf82f7f4 100644 --- a/docs/data/documentation/euclid/plane/rotate(by:)-1azi6.json +++ b/docs/data/documentation/euclid/plane/rotate(by:)-1azi6.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -241,6 +244,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -290,6 +294,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/plane/rotate(by:)-2ix6y.json b/docs/data/documentation/euclid/plane/rotate(by:)-2ix6y.json index f78193e9..d4745774 100644 --- a/docs/data/documentation/euclid/plane/rotate(by:)-2ix6y.json +++ b/docs/data/documentation/euclid/plane/rotate(by:)-2ix6y.json @@ -286,7 +286,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/plane/rotated(by:).json b/docs/data/documentation/euclid/plane/rotated(by:).json index 3eca9386..05daed2a 100644 --- a/docs/data/documentation/euclid/plane/rotated(by:).json +++ b/docs/data/documentation/euclid/plane/rotated(by:).json @@ -563,7 +563,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/plane/transformable-implementations.json b/docs/data/documentation/euclid/plane/transformable-implementations.json index c6824a24..3f0edbc2 100644 --- a/docs/data/documentation/euclid/plane/transformable-implementations.json +++ b/docs/data/documentation/euclid/plane/transformable-implementations.json @@ -259,6 +259,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/polygon/rotate(by:)-7073s.json b/docs/data/documentation/euclid/polygon/rotate(by:)-7073s.json index dc864151..ef6b4e05 100644 --- a/docs/data/documentation/euclid/polygon/rotate(by:)-7073s.json +++ b/docs/data/documentation/euclid/polygon/rotate(by:)-7073s.json @@ -286,7 +286,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/polygon/rotate(by:)-8lp0l.json b/docs/data/documentation/euclid/polygon/rotate(by:)-8lp0l.json index 7293275a..148f2b90 100644 --- a/docs/data/documentation/euclid/polygon/rotate(by:)-8lp0l.json +++ b/docs/data/documentation/euclid/polygon/rotate(by:)-8lp0l.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -241,6 +244,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -290,6 +294,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/polygon/rotated(by:).json b/docs/data/documentation/euclid/polygon/rotated(by:).json index 396d900e..670bb13c 100644 --- a/docs/data/documentation/euclid/polygon/rotated(by:).json +++ b/docs/data/documentation/euclid/polygon/rotated(by:).json @@ -678,7 +678,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/polygon/transformable-implementations.json b/docs/data/documentation/euclid/polygon/transformable-implementations.json index 16c78859..5d56a84d 100644 --- a/docs/data/documentation/euclid/polygon/transformable-implementations.json +++ b/docs/data/documentation/euclid/polygon/transformable-implementations.json @@ -308,6 +308,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion.json b/docs/data/documentation/euclid/quaternion.json index 41b15eb4..5c5f761a 100644 --- a/docs/data/documentation/euclid/quaternion.json +++ b/docs/data/documentation/euclid/quaternion.json @@ -5,6 +5,17 @@ "type" : "text" } ], + "deprecationSummary" : [ + { + "inlineContent" : [ + { + "text" : "Use Rotation instead", + "type" : "text" + } + ], + "type" : "paragraph" + } + ], "hierarchy" : { "paths" : [ [ @@ -43,6 +54,9 @@ "kind" : "identifier", "text" : "Quaternion" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Structure", @@ -352,6 +366,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -386,6 +401,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -453,6 +469,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -520,6 +537,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -590,6 +608,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -660,6 +679,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -727,6 +747,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -797,6 +818,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -855,6 +877,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -922,6 +945,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -992,6 +1016,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1059,6 +1084,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1173,6 +1199,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1210,6 +1237,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1247,6 +1275,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1288,6 +1317,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1334,6 +1364,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1387,6 +1418,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -1420,6 +1452,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -1461,6 +1494,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -1502,6 +1536,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -1535,6 +1570,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -1568,6 +1604,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -1628,6 +1665,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -1686,6 +1724,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -1761,6 +1800,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1806,6 +1846,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1843,6 +1884,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1880,6 +1922,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1917,6 +1960,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1954,6 +1998,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -1991,6 +2036,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2045,6 +2091,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2082,6 +2129,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2136,6 +2184,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2191,6 +2240,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2228,6 +2278,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2265,6 +2316,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2302,6 +2354,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2339,6 +2392,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2393,6 +2447,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2430,6 +2485,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -2471,7 +2527,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/quaternion/!=(_:_:).json b/docs/data/documentation/euclid/quaternion/!=(_:_:).json index 6aba229f..298b4692 100644 --- a/docs/data/documentation/euclid/quaternion/!=(_:_:).json +++ b/docs/data/documentation/euclid/quaternion/!=(_:_:).json @@ -219,6 +219,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/(_:_:).json b/docs/data/documentation/euclid/quaternion/(_:_:).json index a84e4382..bc17fcab 100644 --- a/docs/data/documentation/euclid/quaternion/(_:_:).json +++ b/docs/data/documentation/euclid/quaternion/(_:_:).json @@ -78,6 +78,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -213,6 +216,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -247,6 +251,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/*(_:_:)-2drke.json b/docs/data/documentation/euclid/quaternion/*(_:_:)-2drke.json index 3283950c..c654f243 100644 --- a/docs/data/documentation/euclid/quaternion/*(_:_:)-2drke.json +++ b/docs/data/documentation/euclid/quaternion/*(_:_:)-2drke.json @@ -78,6 +78,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -229,6 +232,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -263,6 +267,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -330,6 +335,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -397,6 +403,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -467,6 +474,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -537,6 +545,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -604,6 +613,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -674,6 +684,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -732,6 +743,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -799,6 +811,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/*(_:_:)-305tn.json b/docs/data/documentation/euclid/quaternion/*(_:_:)-305tn.json index cdc34a3d..14369436 100644 --- a/docs/data/documentation/euclid/quaternion/*(_:_:)-305tn.json +++ b/docs/data/documentation/euclid/quaternion/*(_:_:)-305tn.json @@ -78,6 +78,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -230,6 +233,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -264,6 +268,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -331,6 +336,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -398,6 +404,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -468,6 +475,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -538,6 +546,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -605,6 +614,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -675,6 +685,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -733,6 +744,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -800,6 +812,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/*=(_:_:)-5ic2j.json b/docs/data/documentation/euclid/quaternion/*=(_:_:)-5ic2j.json index f0b52fb2..1d62eb55 100644 --- a/docs/data/documentation/euclid/quaternion/*=(_:_:)-5ic2j.json +++ b/docs/data/documentation/euclid/quaternion/*=(_:_:)-5ic2j.json @@ -81,6 +81,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -235,6 +238,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -269,6 +273,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -336,6 +341,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -403,6 +409,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -473,6 +480,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -543,6 +551,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -610,6 +619,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -680,6 +690,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -738,6 +749,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -805,6 +817,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/*=(_:_:)-lsgo.json b/docs/data/documentation/euclid/quaternion/*=(_:_:)-lsgo.json index 609b856c..4439b3e9 100644 --- a/docs/data/documentation/euclid/quaternion/*=(_:_:)-lsgo.json +++ b/docs/data/documentation/euclid/quaternion/*=(_:_:)-lsgo.json @@ -81,6 +81,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -234,6 +237,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -268,6 +272,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -335,6 +340,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -402,6 +408,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -472,6 +479,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -542,6 +550,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -609,6 +618,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -679,6 +689,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -737,6 +748,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -804,6 +816,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/+(_:_:).json b/docs/data/documentation/euclid/quaternion/+(_:_:).json index 86f95a46..b02d178b 100644 --- a/docs/data/documentation/euclid/quaternion/+(_:_:).json +++ b/docs/data/documentation/euclid/quaternion/+(_:_:).json @@ -78,6 +78,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -230,6 +233,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -264,6 +268,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -331,6 +336,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -398,6 +404,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -468,6 +475,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -538,6 +546,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -605,6 +614,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -675,6 +685,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -733,6 +744,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -800,6 +812,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/+=(_:_:).json b/docs/data/documentation/euclid/quaternion/+=(_:_:).json index 42bdae7e..6ebe12a8 100644 --- a/docs/data/documentation/euclid/quaternion/+=(_:_:).json +++ b/docs/data/documentation/euclid/quaternion/+=(_:_:).json @@ -81,6 +81,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -235,6 +238,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -269,6 +273,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -336,6 +341,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -403,6 +409,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -473,6 +480,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -543,6 +551,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -610,6 +619,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -680,6 +690,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -738,6 +749,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -805,6 +817,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/-(_:).json b/docs/data/documentation/euclid/quaternion/-(_:).json index 61830eaa..c8e66933 100644 --- a/docs/data/documentation/euclid/quaternion/-(_:).json +++ b/docs/data/documentation/euclid/quaternion/-(_:).json @@ -69,6 +69,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -203,6 +206,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -237,6 +241,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -304,6 +309,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -371,6 +377,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -441,6 +448,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -511,6 +519,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -578,6 +587,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -648,6 +658,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -706,6 +717,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -773,6 +785,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/-(_:_:).json b/docs/data/documentation/euclid/quaternion/-(_:_:).json index 0bda623d..dbcab384 100644 --- a/docs/data/documentation/euclid/quaternion/-(_:_:).json +++ b/docs/data/documentation/euclid/quaternion/-(_:_:).json @@ -78,6 +78,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -230,6 +233,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -264,6 +268,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -331,6 +336,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -398,6 +404,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -468,6 +475,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -538,6 +546,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -605,6 +614,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -675,6 +685,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -733,6 +744,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -800,6 +812,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/-=(_:_:).json b/docs/data/documentation/euclid/quaternion/-=(_:_:).json index 07c575d5..67235e7c 100644 --- a/docs/data/documentation/euclid/quaternion/-=(_:_:).json +++ b/docs/data/documentation/euclid/quaternion/-=(_:_:).json @@ -81,6 +81,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -235,6 +238,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -269,6 +273,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -336,6 +341,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -403,6 +409,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -473,6 +480,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -543,6 +551,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -610,6 +619,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -680,6 +690,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -738,6 +749,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -805,6 +817,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/=(_:_:).json b/docs/data/documentation/euclid/quaternion/=(_:_:).json index 6b20f6d8..ca3c95ef 100644 --- a/docs/data/documentation/euclid/quaternion/=(_:_:).json +++ b/docs/data/documentation/euclid/quaternion/=(_:_:).json @@ -81,6 +81,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Operator", @@ -218,6 +221,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -252,6 +256,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/angle.json b/docs/data/documentation/euclid/quaternion/angle.json index 1223b050..80904eb1 100644 --- a/docs/data/documentation/euclid/quaternion/angle.json +++ b/docs/data/documentation/euclid/quaternion/angle.json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -195,6 +198,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -229,6 +233,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -266,6 +271,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -303,6 +309,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -340,6 +347,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -377,6 +385,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -414,6 +423,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/axis.json b/docs/data/documentation/euclid/quaternion/axis.json index 76665583..82dffe81 100644 --- a/docs/data/documentation/euclid/quaternion/axis.json +++ b/docs/data/documentation/euclid/quaternion/axis.json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -161,6 +164,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -195,6 +199,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -232,6 +237,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -269,6 +275,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -306,6 +313,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -343,6 +351,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -380,6 +389,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/components.json b/docs/data/documentation/euclid/quaternion/components.json index 08a051a4..0a4fb302 100644 --- a/docs/data/documentation/euclid/quaternion/components.json +++ b/docs/data/documentation/euclid/quaternion/components.json @@ -52,6 +52,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -151,6 +154,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -185,6 +189,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/decodable-implementations.json b/docs/data/documentation/euclid/quaternion/decodable-implementations.json index 38d0b485..7fd39609 100644 --- a/docs/data/documentation/euclid/quaternion/decodable-implementations.json +++ b/docs/data/documentation/euclid/quaternion/decodable-implementations.json @@ -73,6 +73,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -107,6 +108,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/quaternion/dot(_:).json b/docs/data/documentation/euclid/quaternion/dot(_:).json index ad8da865..b62aeeef 100644 --- a/docs/data/documentation/euclid/quaternion/dot(_:).json +++ b/docs/data/documentation/euclid/quaternion/dot(_:).json @@ -57,6 +57,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -218,6 +221,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -252,6 +256,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -298,6 +303,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/encodable-implementations.json b/docs/data/documentation/euclid/quaternion/encodable-implementations.json index 7665802c..95c79dfb 100644 --- a/docs/data/documentation/euclid/quaternion/encodable-implementations.json +++ b/docs/data/documentation/euclid/quaternion/encodable-implementations.json @@ -73,6 +73,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -107,6 +108,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/encode(to:).json b/docs/data/documentation/euclid/quaternion/encode(to:).json index c1d8e62f..8584f601 100644 --- a/docs/data/documentation/euclid/quaternion/encode(to:).json +++ b/docs/data/documentation/euclid/quaternion/encode(to:).json @@ -65,6 +65,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -195,6 +198,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -240,6 +244,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/equatable-implementations.json b/docs/data/documentation/euclid/quaternion/equatable-implementations.json index c84413d5..8207cf73 100644 --- a/docs/data/documentation/euclid/quaternion/equatable-implementations.json +++ b/docs/data/documentation/euclid/quaternion/equatable-implementations.json @@ -73,6 +73,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/hash(into:).json b/docs/data/documentation/euclid/quaternion/hash(into:).json index e0315589..3e571fc1 100644 --- a/docs/data/documentation/euclid/quaternion/hash(into:).json +++ b/docs/data/documentation/euclid/quaternion/hash(into:).json @@ -77,6 +77,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -192,6 +195,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -234,6 +238,7 @@ "abstract" : [ ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/hashable-implementations.json b/docs/data/documentation/euclid/quaternion/hashable-implementations.json index 1c604186..e19eade4 100644 --- a/docs/data/documentation/euclid/quaternion/hashable-implementations.json +++ b/docs/data/documentation/euclid/quaternion/hashable-implementations.json @@ -73,6 +73,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -104,6 +105,7 @@ "abstract" : [ ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/identity.json b/docs/data/documentation/euclid/quaternion/identity.json index a6f4abce..df828b0e 100644 --- a/docs/data/documentation/euclid/quaternion/identity.json +++ b/docs/data/documentation/euclid/quaternion/identity.json @@ -56,6 +56,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Type Property", @@ -161,6 +164,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -195,6 +199,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -240,6 +245,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/init(_:)-27eol.json b/docs/data/documentation/euclid/quaternion/init(_:)-27eol.json index 822654f5..2fba6c15 100644 --- a/docs/data/documentation/euclid/quaternion/init(_:)-27eol.json +++ b/docs/data/documentation/euclid/quaternion/init(_:)-27eol.json @@ -52,6 +52,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -187,6 +190,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -229,6 +233,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -262,6 +267,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -303,6 +309,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -336,6 +343,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -369,6 +377,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -429,6 +438,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -487,6 +497,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -562,6 +573,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -616,6 +628,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -670,6 +683,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/init(_:)-7xa5o.json b/docs/data/documentation/euclid/quaternion/init(_:)-7xa5o.json index 2804b3f6..3e9e37a6 100644 --- a/docs/data/documentation/euclid/quaternion/init(_:)-7xa5o.json +++ b/docs/data/documentation/euclid/quaternion/init(_:)-7xa5o.json @@ -44,6 +44,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -180,6 +183,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -222,6 +226,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -255,6 +260,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -296,6 +302,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -329,6 +336,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -362,6 +370,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -422,6 +431,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -480,6 +490,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -555,6 +566,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -609,6 +621,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -663,6 +676,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -713,7 +727,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/quaternion/init(_:)-99vxt.json b/docs/data/documentation/euclid/quaternion/init(_:)-99vxt.json index 85062f39..aa7dc79d 100644 --- a/docs/data/documentation/euclid/quaternion/init(_:)-99vxt.json +++ b/docs/data/documentation/euclid/quaternion/init(_:)-99vxt.json @@ -52,6 +52,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -170,6 +173,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -212,6 +216,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/quaternion/init(_:)-b3v3.json b/docs/data/documentation/euclid/quaternion/init(_:)-b3v3.json index 4e3011de..4e572146 100644 --- a/docs/data/documentation/euclid/quaternion/init(_:)-b3v3.json +++ b/docs/data/documentation/euclid/quaternion/init(_:)-b3v3.json @@ -52,6 +52,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -195,6 +198,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -237,6 +241,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -270,6 +275,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -311,6 +317,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -344,6 +351,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -377,6 +385,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -437,6 +446,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -495,6 +505,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -570,6 +581,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -624,6 +636,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -678,6 +691,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/init(_:)-fyhx.json b/docs/data/documentation/euclid/quaternion/init(_:)-fyhx.json index 791a3139..9ac34377 100644 --- a/docs/data/documentation/euclid/quaternion/init(_:)-fyhx.json +++ b/docs/data/documentation/euclid/quaternion/init(_:)-fyhx.json @@ -44,6 +44,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -179,6 +182,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -221,6 +225,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -254,6 +259,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -295,6 +301,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -328,6 +335,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -361,6 +369,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -421,6 +430,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -479,6 +489,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -554,6 +565,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -608,6 +620,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -662,6 +675,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/init(_:_:_:_:).json b/docs/data/documentation/euclid/quaternion/init(_:_:_:_:).json index c0e9565c..a7613e01 100644 --- a/docs/data/documentation/euclid/quaternion/init(_:_:_:_:).json +++ b/docs/data/documentation/euclid/quaternion/init(_:_:_:_:).json @@ -71,6 +71,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -262,6 +265,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -304,6 +308,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -337,6 +342,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -378,6 +384,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -411,6 +418,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -444,6 +452,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -504,6 +513,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -562,6 +572,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -637,6 +648,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -691,6 +703,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -745,6 +758,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/init(axis:angle:).json b/docs/data/documentation/euclid/quaternion/init(axis:angle:).json index bf8a6f51..c4d76806 100644 --- a/docs/data/documentation/euclid/quaternion/init(axis:angle:).json +++ b/docs/data/documentation/euclid/quaternion/init(axis:angle:).json @@ -69,6 +69,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -263,6 +266,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -305,6 +309,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -338,6 +343,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -379,6 +385,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -412,6 +419,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -445,6 +453,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -505,6 +514,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -563,6 +573,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -638,6 +649,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -692,6 +704,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -746,6 +759,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/init(from:).json b/docs/data/documentation/euclid/quaternion/init(from:).json index 03055591..205ef5f4 100644 --- a/docs/data/documentation/euclid/quaternion/init(from:).json +++ b/docs/data/documentation/euclid/quaternion/init(from:).json @@ -57,6 +57,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -179,6 +182,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -224,6 +228,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/quaternion/init(roll:yaw:pitch:).json b/docs/data/documentation/euclid/quaternion/init(roll:yaw:pitch:).json index c7cd1002..a678c8b9 100644 --- a/docs/data/documentation/euclid/quaternion/init(roll:yaw:pitch:).json +++ b/docs/data/documentation/euclid/quaternion/init(roll:yaw:pitch:).json @@ -86,6 +86,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -312,6 +315,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -354,6 +358,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -387,6 +392,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -428,6 +434,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -461,6 +468,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -494,6 +502,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -554,6 +563,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -612,6 +622,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -687,6 +698,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -741,6 +753,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -795,6 +808,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/isidentity.json b/docs/data/documentation/euclid/quaternion/isidentity.json index 19e6889f..6ad0f479 100644 --- a/docs/data/documentation/euclid/quaternion/isidentity.json +++ b/docs/data/documentation/euclid/quaternion/isidentity.json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -160,6 +163,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -194,6 +198,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -231,6 +236,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -268,6 +274,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -305,6 +312,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -342,6 +350,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -379,6 +388,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/isnormalized.json b/docs/data/documentation/euclid/quaternion/isnormalized.json index b50f145c..15bef965 100644 --- a/docs/data/documentation/euclid/quaternion/isnormalized.json +++ b/docs/data/documentation/euclid/quaternion/isnormalized.json @@ -56,6 +56,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -155,6 +158,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -197,6 +201,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/length.json b/docs/data/documentation/euclid/quaternion/length.json index 62617585..eb78ac73 100644 --- a/docs/data/documentation/euclid/quaternion/length.json +++ b/docs/data/documentation/euclid/quaternion/length.json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -147,6 +150,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -181,6 +185,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/lengthsquared.json b/docs/data/documentation/euclid/quaternion/lengthsquared.json index 8756e268..4d98f62b 100644 --- a/docs/data/documentation/euclid/quaternion/lengthsquared.json +++ b/docs/data/documentation/euclid/quaternion/lengthsquared.json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -147,6 +150,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -181,6 +185,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/normalized().json b/docs/data/documentation/euclid/quaternion/normalized().json index f2fba3b4..80e32cde 100644 --- a/docs/data/documentation/euclid/quaternion/normalized().json +++ b/docs/data/documentation/euclid/quaternion/normalized().json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -190,6 +193,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -224,6 +228,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -270,6 +275,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -307,6 +313,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/pitch(_:).json b/docs/data/documentation/euclid/quaternion/pitch(_:).json index 24ea7dca..725f50f2 100644 --- a/docs/data/documentation/euclid/quaternion/pitch(_:).json +++ b/docs/data/documentation/euclid/quaternion/pitch(_:).json @@ -65,6 +65,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Type Method", @@ -257,6 +260,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -299,6 +303,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -332,6 +337,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -373,6 +379,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -406,6 +413,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -439,6 +447,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -499,6 +508,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -557,6 +567,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -632,6 +643,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -686,6 +698,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -740,6 +753,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/pitch.json b/docs/data/documentation/euclid/quaternion/pitch.json index e7dd7467..f768b758 100644 --- a/docs/data/documentation/euclid/quaternion/pitch.json +++ b/docs/data/documentation/euclid/quaternion/pitch.json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -195,6 +198,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -229,6 +233,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -266,6 +271,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -303,6 +309,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -340,6 +347,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -377,6 +385,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -414,6 +423,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/roll(_:).json b/docs/data/documentation/euclid/quaternion/roll(_:).json index 28c91cd8..6f8557f4 100644 --- a/docs/data/documentation/euclid/quaternion/roll(_:).json +++ b/docs/data/documentation/euclid/quaternion/roll(_:).json @@ -65,6 +65,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Type Method", @@ -257,6 +260,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -299,6 +303,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -332,6 +337,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -373,6 +379,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -406,6 +413,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -439,6 +447,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -499,6 +508,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -557,6 +567,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -632,6 +643,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -686,6 +698,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -740,6 +753,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/roll.json b/docs/data/documentation/euclid/quaternion/roll.json index a4bd2d8d..f2fb1a3b 100644 --- a/docs/data/documentation/euclid/quaternion/roll.json +++ b/docs/data/documentation/euclid/quaternion/roll.json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -195,6 +198,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -229,6 +233,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -266,6 +271,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -303,6 +309,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -340,6 +347,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -377,6 +385,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -414,6 +423,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/slerp(_:_:).json b/docs/data/documentation/euclid/quaternion/slerp(_:_:).json index 85bd860d..77c0fbe1 100644 --- a/docs/data/documentation/euclid/quaternion/slerp(_:_:).json +++ b/docs/data/documentation/euclid/quaternion/slerp(_:_:).json @@ -66,6 +66,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -258,6 +261,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -292,6 +296,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/w.json b/docs/data/documentation/euclid/quaternion/w.json index 58d90827..126deff7 100644 --- a/docs/data/documentation/euclid/quaternion/w.json +++ b/docs/data/documentation/euclid/quaternion/w.json @@ -5,6 +5,17 @@ "type" : "text" } ], + "deprecationSummary" : [ + { + "inlineContent" : [ + { + "text" : "Use Rotation instead", + "type" : "text" + } + ], + "type" : "paragraph" + } + ], "hierarchy" : { "paths" : [ [ @@ -47,6 +58,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -154,6 +168,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -188,6 +203,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/x.json b/docs/data/documentation/euclid/quaternion/x.json index e1769c30..85955cac 100644 --- a/docs/data/documentation/euclid/quaternion/x.json +++ b/docs/data/documentation/euclid/quaternion/x.json @@ -5,6 +5,17 @@ "type" : "text" } ], + "deprecationSummary" : [ + { + "inlineContent" : [ + { + "text" : "Use Rotation instead", + "type" : "text" + } + ], + "type" : "paragraph" + } + ], "hierarchy" : { "paths" : [ [ @@ -47,6 +58,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -154,6 +168,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -188,6 +203,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/y.json b/docs/data/documentation/euclid/quaternion/y.json index 6a6ea97f..abdae03a 100644 --- a/docs/data/documentation/euclid/quaternion/y.json +++ b/docs/data/documentation/euclid/quaternion/y.json @@ -5,6 +5,17 @@ "type" : "text" } ], + "deprecationSummary" : [ + { + "inlineContent" : [ + { + "text" : "Use Rotation instead", + "type" : "text" + } + ], + "type" : "paragraph" + } + ], "hierarchy" : { "paths" : [ [ @@ -47,6 +58,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -154,6 +168,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -188,6 +203,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/yaw(_:).json b/docs/data/documentation/euclid/quaternion/yaw(_:).json index f76e8ea2..6b23060d 100644 --- a/docs/data/documentation/euclid/quaternion/yaw(_:).json +++ b/docs/data/documentation/euclid/quaternion/yaw(_:).json @@ -65,6 +65,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Type Method", @@ -257,6 +260,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -299,6 +303,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -332,6 +337,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -373,6 +379,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -406,6 +413,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -439,6 +447,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -499,6 +508,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -557,6 +567,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", @@ -632,6 +643,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -686,6 +698,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -740,6 +753,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/yaw.json b/docs/data/documentation/euclid/quaternion/yaw.json index 54baae6b..43db23f4 100644 --- a/docs/data/documentation/euclid/quaternion/yaw.json +++ b/docs/data/documentation/euclid/quaternion/yaw.json @@ -48,6 +48,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -195,6 +198,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -229,6 +233,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -266,6 +271,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -303,6 +309,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -340,6 +347,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -377,6 +385,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -414,6 +423,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/z.json b/docs/data/documentation/euclid/quaternion/z.json index 6f334445..e7cd4ceb 100644 --- a/docs/data/documentation/euclid/quaternion/z.json +++ b/docs/data/documentation/euclid/quaternion/z.json @@ -5,6 +5,17 @@ "type" : "text" } ], + "deprecationSummary" : [ + { + "inlineContent" : [ + { + "text" : "Use Rotation instead", + "type" : "text" + } + ], + "type" : "paragraph" + } + ], "hierarchy" : { "paths" : [ [ @@ -47,6 +58,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Property", @@ -154,6 +168,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -188,6 +203,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/quaternion/zero.json b/docs/data/documentation/euclid/quaternion/zero.json index 5fbbe9e7..44c5b1c9 100644 --- a/docs/data/documentation/euclid/quaternion/zero.json +++ b/docs/data/documentation/euclid/quaternion/zero.json @@ -56,6 +56,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Type Property", @@ -161,6 +164,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -195,6 +199,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -240,6 +245,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/renderingmeshes.json b/docs/data/documentation/euclid/renderingmeshes.json index f2aa0958..4e6da70e 100644 --- a/docs/data/documentation/euclid/renderingmeshes.json +++ b/docs/data/documentation/euclid/renderingmeshes.json @@ -1174,7 +1174,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation.json b/docs/data/documentation/euclid/rotation.json index f6d6393a..11f94057 100644 --- a/docs/data/documentation/euclid/rotation.json +++ b/docs/data/documentation/euclid/rotation.json @@ -1,7 +1,7 @@ { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -87,14 +87,6 @@ }, { "inlineContent" : [ - { - "text" : "Internally, a rotation is stored as a 3x3 matrix, but that’s an implementation detail that may change in future.", - "type" : "text" - }, - { - "text" : " ", - "type" : "text" - }, { "text" : "A rotation can be converted to and from an axis vector and angle, or a set of 3 Euler angles (pitch, yaw and roll).", "type" : "text" @@ -215,7 +207,8 @@ "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" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Equatable-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Hashable-Implementations" ], "title" : "Default Implementations" } @@ -309,6 +302,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -339,7 +333,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -647,7 +641,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/-(_:)": { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "Returns the inverse rotation.", "type" : "text" } ], @@ -872,6 +866,17 @@ "type" : "topic", "url" : "\/documentation\/euclid\/rotation\/equatable-implementations" }, +"doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/Hashable-Implementations": { + "abstract" : [ + + ], + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Hashable-Implementations", + "kind" : "article", + "role" : "collectionGroup", + "title" : "Hashable Implementations", + "type" : "topic", + "url" : "\/documentation\/euclid\/rotation\/hashable-implementations" +}, "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/angle": { "abstract" : [ { @@ -912,7 +917,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], @@ -1059,6 +1064,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/!=(_:_:).json b/docs/data/documentation/euclid/rotation/!=(_:_:).json index 52f1202b..3b45b07e 100644 --- a/docs/data/documentation/euclid/rotation/!=(_:_:).json +++ b/docs/data/documentation/euclid/rotation/!=(_:_:).json @@ -215,7 +215,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/(_:_:).json b/docs/data/documentation/euclid/rotation/(_:_:).json index f77cad67..b13b7e38 100644 --- a/docs/data/documentation/euclid/rotation/(_:_:).json +++ b/docs/data/documentation/euclid/rotation/(_:_:).json @@ -209,7 +209,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/*(_:_:)-55zcf.json b/docs/data/documentation/euclid/rotation/*(_:_:)-55zcf.json index 81301073..9d4cb8af 100644 --- a/docs/data/documentation/euclid/rotation/*(_:_:)-55zcf.json +++ b/docs/data/documentation/euclid/rotation/*(_:_:)-55zcf.json @@ -222,7 +222,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -530,7 +530,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/-(_:)": { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "Returns the inverse rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/*(_:_:)-5fe82.json b/docs/data/documentation/euclid/rotation/*(_:_:)-5fe82.json index 7ee609c4..0deda4d9 100644 --- a/docs/data/documentation/euclid/rotation/*(_:_:)-5fe82.json +++ b/docs/data/documentation/euclid/rotation/*(_:_:)-5fe82.json @@ -221,7 +221,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -529,7 +529,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/-(_:)": { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "Returns the inverse rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/*=(_:_:)-68kkw.json b/docs/data/documentation/euclid/rotation/*=(_:_:)-68kkw.json index 459e6d64..24b5924b 100644 --- a/docs/data/documentation/euclid/rotation/*=(_:_:)-68kkw.json +++ b/docs/data/documentation/euclid/rotation/*=(_:_:)-68kkw.json @@ -227,7 +227,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -535,7 +535,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/-(_:)": { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "Returns the inverse rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/*=(_:_:)-7u9hf.json b/docs/data/documentation/euclid/rotation/*=(_:_:)-7u9hf.json index 3e11ca44..2addae65 100644 --- a/docs/data/documentation/euclid/rotation/*=(_:_:)-7u9hf.json +++ b/docs/data/documentation/euclid/rotation/*=(_:_:)-7u9hf.json @@ -226,7 +226,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -534,7 +534,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/-(_:)": { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "Returns the inverse rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/-(_:).json b/docs/data/documentation/euclid/rotation/-(_:).json index 0cf6af7c..33dfd77e 100644 --- a/docs/data/documentation/euclid/rotation/-(_:).json +++ b/docs/data/documentation/euclid/rotation/-(_:).json @@ -1,7 +1,7 @@ { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "Returns the inverse rotation.", "type" : "text" } ], @@ -116,7 +116,7 @@ }, { "kind" : "internalParam", - "text" : "rhs" + "text" : "r" }, { "kind" : "text", @@ -195,7 +195,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -503,7 +503,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/-(_:)": { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "Returns the inverse rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/=(_:_:).json b/docs/data/documentation/euclid/rotation/=(_:_:).json index 7e340d74..4d93a396 100644 --- a/docs/data/documentation/euclid/rotation/=(_:_:).json +++ b/docs/data/documentation/euclid/rotation/=(_:_:).json @@ -214,7 +214,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/angle.json b/docs/data/documentation/euclid/rotation/angle.json index 62f23d95..a7dc5ffa 100644 --- a/docs/data/documentation/euclid/rotation/angle.json +++ b/docs/data/documentation/euclid/rotation/angle.json @@ -194,7 +194,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -265,7 +265,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/axis.json b/docs/data/documentation/euclid/rotation/axis.json index e1833fad..e7fabfb7 100644 --- a/docs/data/documentation/euclid/rotation/axis.json +++ b/docs/data/documentation/euclid/rotation/axis.json @@ -1,7 +1,7 @@ { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], @@ -160,7 +160,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -231,7 +231,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/decodable-implementations.json b/docs/data/documentation/euclid/rotation/decodable-implementations.json index 20c8d9a4..6df5896c 100644 --- a/docs/data/documentation/euclid/rotation/decodable-implementations.json +++ b/docs/data/documentation/euclid/rotation/decodable-implementations.json @@ -69,7 +69,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/encodable-implementations.json b/docs/data/documentation/euclid/rotation/encodable-implementations.json index 428d1b92..a579b9fd 100644 --- a/docs/data/documentation/euclid/rotation/encodable-implementations.json +++ b/docs/data/documentation/euclid/rotation/encodable-implementations.json @@ -69,7 +69,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/encode(to:).json b/docs/data/documentation/euclid/rotation/encode(to:).json index d0f1e957..47a6e304 100644 --- a/docs/data/documentation/euclid/rotation/encode(to:).json +++ b/docs/data/documentation/euclid/rotation/encode(to:).json @@ -191,7 +191,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/equatable-implementations.json b/docs/data/documentation/euclid/rotation/equatable-implementations.json index 5fc4599e..86846a5a 100644 --- a/docs/data/documentation/euclid/rotation/equatable-implementations.json +++ b/docs/data/documentation/euclid/rotation/equatable-implementations.json @@ -69,7 +69,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/forward.json b/docs/data/documentation/euclid/rotation/forward.json index 53f17ade..9652feb9 100644 --- a/docs/data/documentation/euclid/rotation/forward.json +++ b/docs/data/documentation/euclid/rotation/forward.json @@ -160,7 +160,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -231,7 +231,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/hash(into:).json b/docs/data/documentation/euclid/rotation/hash(into:).json new file mode 100644 index 00000000..4839a66b --- /dev/null +++ b/docs/data/documentation/euclid/rotation/hash(into:).json @@ -0,0 +1,288 @@ +{ + "abstract" : [ + { + "text" : "Inherited from ", + "type" : "text" + }, + { + "code" : "Hashable.hash(into:)", + "type" : "codeVoice" + }, + { + "text" : ".", + "type" : "text" + } + ], + "hierarchy" : { + "paths" : [ + [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Hashable-Implementations" + ] + ] + }, + "identifier" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/hash(into:)" + }, + "kind" : "symbol", + "metadata" : { + "extendedModule" : "Euclid", + "externalID" : "s:6Euclid8RotationV4hash4intoys6HasherVz_tF", + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "hash" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "into" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s6HasherV", + "text" : "Hasher" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "modules" : [ + { + "name" : "Euclid" + } + ], + "role" : "symbol", + "roleHeading" : "Instance Method", + "symbolKind" : "method", + "title" : "hash(into:)" + }, + "primaryContentSections" : [ + { + "declarations" : [ + { + "languages" : [ + "swift" + ], + "platforms" : [ + "macOS" + ], + "tokens" : [ + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "hash" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "into" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "internalParam", + "text" : "hasher" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s6HasherV", + "text" : "Hasher" + }, + { + "kind" : "text", + "text" : ")" + } + ] + } + ], + "kind" : "declarations" + } + ], + "schemaVersion" : { + "major" : 0, + "minor" : 3, + "patch" : 0 + }, + "sections" : [ + + ], + "variants" : [ + { + "paths" : [ + "\/documentation\/euclid\/rotation\/hash(into:)" + ], + "traits" : [ + { + "interfaceLanguage" : "swift" + } + ] + } + ] +, +"references": { +"doc://com.charcoaldesign.Euclid/documentation/Euclid": { + "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" + } + ], + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid", + "kind" : "symbol", + "role" : "collection", + "title" : "Euclid", + "type" : "topic", + "url" : "\/documentation\/euclid" +}, +"doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { + "abstract" : [ + { + "text" : "An orientation or rotation in 3D space.", + "type" : "text" + } + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "struct" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "Rotation" + } + ], + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", + "kind" : "symbol", + "navigatorTitle" : [ + { + "kind" : "identifier", + "text" : "Rotation" + } + ], + "role" : "symbol", + "title" : "Rotation", + "type" : "topic", + "url" : "\/documentation\/euclid\/rotation" +}, +"doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/Hashable-Implementations": { + "abstract" : [ + + ], + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Hashable-Implementations", + "kind" : "article", + "role" : "collectionGroup", + "title" : "Hashable Implementations", + "type" : "topic", + "url" : "\/documentation\/euclid\/rotation\/hashable-implementations" +}, +"doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/hash(into:)": { + "abstract" : [ + + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "hash" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "into" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s6HasherV", + "text" : "Hasher" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/hash(into:)", + "kind" : "symbol", + "role" : "symbol", + "title" : "hash(into:)", + "type" : "topic", + "url" : "\/documentation\/euclid\/rotation\/hash(into:)" +} +} +} \ No newline at end of file diff --git a/docs/data/documentation/euclid/rotation/hashable-implementations.json b/docs/data/documentation/euclid/rotation/hashable-implementations.json new file mode 100644 index 00000000..62bef08f --- /dev/null +++ b/docs/data/documentation/euclid/rotation/hashable-implementations.json @@ -0,0 +1,158 @@ +{ + "hierarchy" : { + "paths" : [ + [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation" + ] + ] + }, + "identifier" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Hashable-Implementations" + }, + "kind" : "article", + "metadata" : { + "modules" : [ + { + "name" : "Euclid" + } + ], + "role" : "collectionGroup", + "title" : "Hashable Implementations" + }, + "schemaVersion" : { + "major" : 0, + "minor" : 3, + "patch" : 0 + }, + "sections" : [ + + ], + "topicSections" : [ + { + "generated" : true, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/hash(into:)" + ], + "title" : "Instance Methods" + } + ], + "variants" : [ + { + "paths" : [ + "\/documentation\/euclid\/rotation\/hashable-implementations" + ], + "traits" : [ + { + "interfaceLanguage" : "swift" + } + ] + } + ] +, +"references": { +"doc://com.charcoaldesign.Euclid/documentation/Euclid": { + "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" + } + ], + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid", + "kind" : "symbol", + "role" : "collection", + "title" : "Euclid", + "type" : "topic", + "url" : "\/documentation\/euclid" +}, +"doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { + "abstract" : [ + { + "text" : "An orientation or rotation in 3D space.", + "type" : "text" + } + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "struct" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "Rotation" + } + ], + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", + "kind" : "symbol", + "navigatorTitle" : [ + { + "kind" : "identifier", + "text" : "Rotation" + } + ], + "role" : "symbol", + "title" : "Rotation", + "type" : "topic", + "url" : "\/documentation\/euclid\/rotation" +}, +"doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/hash(into:)": { + "abstract" : [ + + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "hash" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "into" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s6HasherV", + "text" : "Hasher" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/hash(into:)", + "kind" : "symbol", + "role" : "symbol", + "title" : "hash(into:)", + "type" : "topic", + "url" : "\/documentation\/euclid\/rotation\/hash(into:)" +} +} +} \ No newline at end of file diff --git a/docs/data/documentation/euclid/rotation/identity.json b/docs/data/documentation/euclid/rotation/identity.json index f951633b..0fd30dd8 100644 --- a/docs/data/documentation/euclid/rotation/identity.json +++ b/docs/data/documentation/euclid/rotation/identity.json @@ -148,7 +148,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/init().json b/docs/data/documentation/euclid/rotation/init().json index 178bd42e..e138f6b3 100644 --- a/docs/data/documentation/euclid/rotation/init().json +++ b/docs/data/documentation/euclid/rotation/init().json @@ -120,7 +120,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -182,6 +182,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/init(_:)-5w6mn.json b/docs/data/documentation/euclid/rotation/init(_:)-5w6mn.json index a957ad93..6971dcab 100644 --- a/docs/data/documentation/euclid/rotation/init(_:)-5w6mn.json +++ b/docs/data/documentation/euclid/rotation/init(_:)-5w6mn.json @@ -44,6 +44,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Initializer", @@ -178,6 +181,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -208,7 +212,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -270,6 +274,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/init(_:)-68leo.json b/docs/data/documentation/euclid/rotation/init(_:)-68leo.json index 37addb91..2d76311e 100644 --- a/docs/data/documentation/euclid/rotation/init(_:)-68leo.json +++ b/docs/data/documentation/euclid/rotation/init(_:)-68leo.json @@ -79,7 +79,7 @@ }, { "kind" : "internalParam", - "text" : "quaternion" + "text" : "q" }, { "kind" : "text", @@ -122,7 +122,7 @@ "type" : "paragraph" } ], - "name" : "quaternion" + "name" : "q" } ] } @@ -181,7 +181,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -243,6 +243,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/init(_:)-7j4ql.json b/docs/data/documentation/euclid/rotation/init(_:)-7j4ql.json index e50d23c6..30dd9f88 100644 --- a/docs/data/documentation/euclid/rotation/init(_:)-7j4ql.json +++ b/docs/data/documentation/euclid/rotation/init(_:)-7j4ql.json @@ -181,7 +181,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -243,6 +243,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/init(_:)-8izj.json b/docs/data/documentation/euclid/rotation/init(_:)-8izj.json index cda27974..73df2d5c 100644 --- a/docs/data/documentation/euclid/rotation/init(_:)-8izj.json +++ b/docs/data/documentation/euclid/rotation/init(_:)-8izj.json @@ -166,7 +166,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/init(axis:angle:).json b/docs/data/documentation/euclid/rotation/init(axis:angle:).json index 007b5448..47e9428c 100644 --- a/docs/data/documentation/euclid/rotation/init(axis:angle:).json +++ b/docs/data/documentation/euclid/rotation/init(axis:angle:).json @@ -164,7 +164,7 @@ "type" : "paragraph" } ], - "name" : "end" + "name" : "angle" } ] } @@ -257,7 +257,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -319,6 +319,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/init(from:).json b/docs/data/documentation/euclid/rotation/init(from:).json index c7b54baf..9c6f3064 100644 --- a/docs/data/documentation/euclid/rotation/init(from:).json +++ b/docs/data/documentation/euclid/rotation/init(from:).json @@ -175,7 +175,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/init(pitch:yaw:roll:).json b/docs/data/documentation/euclid/rotation/init(pitch:yaw:roll:).json index dae61dfd..66904018 100644 --- a/docs/data/documentation/euclid/rotation/init(pitch:yaw:roll:).json +++ b/docs/data/documentation/euclid/rotation/init(pitch:yaw:roll:).json @@ -306,7 +306,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -368,6 +368,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/init(roll:yaw:pitch:).json b/docs/data/documentation/euclid/rotation/init(roll:yaw:pitch:).json index 3c78ccf9..337330b6 100644 --- a/docs/data/documentation/euclid/rotation/init(roll:yaw:pitch:).json +++ b/docs/data/documentation/euclid/rotation/init(roll:yaw:pitch:).json @@ -306,7 +306,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -368,6 +368,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/init(yaw:pitch:roll:).json b/docs/data/documentation/euclid/rotation/init(yaw:pitch:roll:).json index ac1e93ce..a824dd4e 100644 --- a/docs/data/documentation/euclid/rotation/init(yaw:pitch:roll:).json +++ b/docs/data/documentation/euclid/rotation/init(yaw:pitch:roll:).json @@ -306,7 +306,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -368,6 +368,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "identifier", diff --git a/docs/data/documentation/euclid/rotation/isidentity.json b/docs/data/documentation/euclid/rotation/isidentity.json index 4613d323..1af40f2a 100644 --- a/docs/data/documentation/euclid/rotation/isidentity.json +++ b/docs/data/documentation/euclid/rotation/isidentity.json @@ -159,7 +159,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -230,7 +230,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/pitch(_:).json b/docs/data/documentation/euclid/rotation/pitch(_:).json index a3b98672..be43519b 100644 --- a/docs/data/documentation/euclid/rotation/pitch(_:).json +++ b/docs/data/documentation/euclid/rotation/pitch(_:).json @@ -246,7 +246,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/pitch.json b/docs/data/documentation/euclid/rotation/pitch.json index 4e0cc868..32338bf1 100644 --- a/docs/data/documentation/euclid/rotation/pitch.json +++ b/docs/data/documentation/euclid/rotation/pitch.json @@ -194,7 +194,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -265,7 +265,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/right.json b/docs/data/documentation/euclid/rotation/right.json index dd12b0c7..9c18d48e 100644 --- a/docs/data/documentation/euclid/rotation/right.json +++ b/docs/data/documentation/euclid/rotation/right.json @@ -160,7 +160,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -231,7 +231,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/roll(_:).json b/docs/data/documentation/euclid/rotation/roll(_:).json index 45eab5bb..faec94a2 100644 --- a/docs/data/documentation/euclid/rotation/roll(_:).json +++ b/docs/data/documentation/euclid/rotation/roll(_:).json @@ -246,7 +246,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/roll.json b/docs/data/documentation/euclid/rotation/roll.json index 83e9d60c..d69967d1 100644 --- a/docs/data/documentation/euclid/rotation/roll.json +++ b/docs/data/documentation/euclid/rotation/roll.json @@ -194,7 +194,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -265,7 +265,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/slerp(_:_:).json b/docs/data/documentation/euclid/rotation/slerp(_:_:).json index b1cded1f..7a3d59be 100644 --- a/docs/data/documentation/euclid/rotation/slerp(_:_:).json +++ b/docs/data/documentation/euclid/rotation/slerp(_:_:).json @@ -254,7 +254,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/up.json b/docs/data/documentation/euclid/rotation/up.json index 82eb00e2..b41464b2 100644 --- a/docs/data/documentation/euclid/rotation/up.json +++ b/docs/data/documentation/euclid/rotation/up.json @@ -160,7 +160,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -231,7 +231,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/yaw(_:).json b/docs/data/documentation/euclid/rotation/yaw(_:).json index dc058db0..6f5a68d1 100644 --- a/docs/data/documentation/euclid/rotation/yaw(_:).json +++ b/docs/data/documentation/euclid/rotation/yaw(_:).json @@ -246,7 +246,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/rotation/yaw.json b/docs/data/documentation/euclid/rotation/yaw.json index 9225bc72..e40796a4 100644 --- a/docs/data/documentation/euclid/rotation/yaw.json +++ b/docs/data/documentation/euclid/rotation/yaw.json @@ -194,7 +194,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -265,7 +265,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation/axis": { "abstract" : [ { - "text" : "Axis of rotation", + "text" : "The axis of rotation.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/transform.json b/docs/data/documentation/euclid/transform.json index 3185d4e7..02601c93 100644 --- a/docs/data/documentation/euclid/transform.json +++ b/docs/data/documentation/euclid/transform.json @@ -292,6 +292,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -322,7 +323,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/transform/init(offset:rotation:scale:).json b/docs/data/documentation/euclid/transform/init(offset:rotation:scale:).json index c880f6c7..8a62a852 100644 --- a/docs/data/documentation/euclid/transform/init(offset:rotation:scale:).json +++ b/docs/data/documentation/euclid/transform/init(offset:rotation:scale:).json @@ -269,7 +269,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/transform/rotate(by:)-11t07.json b/docs/data/documentation/euclid/transform/rotate(by:)-11t07.json index 161ee0b1..0eb32b17 100644 --- a/docs/data/documentation/euclid/transform/rotate(by:)-11t07.json +++ b/docs/data/documentation/euclid/transform/rotate(by:)-11t07.json @@ -192,7 +192,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/transform/rotate(by:)-577nk.json b/docs/data/documentation/euclid/transform/rotate(by:)-577nk.json index 58d9fbcb..3de588fa 100644 --- a/docs/data/documentation/euclid/transform/rotate(by:)-577nk.json +++ b/docs/data/documentation/euclid/transform/rotate(by:)-577nk.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -196,6 +199,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -275,6 +279,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/transform/rotated(by:).json b/docs/data/documentation/euclid/transform/rotated(by:).json index 3aacbbbf..11fe8bfd 100644 --- a/docs/data/documentation/euclid/transform/rotated(by:).json +++ b/docs/data/documentation/euclid/transform/rotated(by:).json @@ -211,7 +211,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/transform/rotation(_:).json b/docs/data/documentation/euclid/transform/rotation(_:).json index 33f38285..c49da00c 100644 --- a/docs/data/documentation/euclid/transform/rotation(_:).json +++ b/docs/data/documentation/euclid/transform/rotation(_:).json @@ -215,7 +215,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/transform/rotation.json b/docs/data/documentation/euclid/transform/rotation.json index 2db1abc8..c72fb69a 100644 --- a/docs/data/documentation/euclid/transform/rotation.json +++ b/docs/data/documentation/euclid/transform/rotation.json @@ -143,7 +143,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/transform/transformable-implementations.json b/docs/data/documentation/euclid/transform/transformable-implementations.json index b20ee5f7..d8eebc5f 100644 --- a/docs/data/documentation/euclid/transform/transformable-implementations.json +++ b/docs/data/documentation/euclid/transform/transformable-implementations.json @@ -308,6 +308,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/transformable.json b/docs/data/documentation/euclid/transformable.json index c187ac3b..0dbffc38 100644 --- a/docs/data/documentation/euclid/transformable.json +++ b/docs/data/documentation/euclid/transformable.json @@ -654,6 +654,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/transformable/rotate(by:)-1l9u5.json b/docs/data/documentation/euclid/transformable/rotate(by:)-1l9u5.json index 220ac883..1eab64cd 100644 --- a/docs/data/documentation/euclid/transformable/rotate(by:)-1l9u5.json +++ b/docs/data/documentation/euclid/transformable/rotate(by:)-1l9u5.json @@ -191,7 +191,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/transformable/rotate(by:)-5a3iz.json b/docs/data/documentation/euclid/transformable/rotate(by:)-5a3iz.json index ee402e4a..694edb2d 100644 --- a/docs/data/documentation/euclid/transformable/rotate(by:)-5a3iz.json +++ b/docs/data/documentation/euclid/transformable/rotate(by:)-5a3iz.json @@ -60,6 +60,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -195,6 +198,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -263,6 +267,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/transformable/rotated(by:)-5mcqw.json b/docs/data/documentation/euclid/transformable/rotated(by:)-5mcqw.json index 2b223375..b67519cc 100644 --- a/docs/data/documentation/euclid/transformable/rotated(by:)-5mcqw.json +++ b/docs/data/documentation/euclid/transformable/rotated(by:)-5mcqw.json @@ -65,6 +65,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -196,6 +199,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -264,6 +268,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/transformable/rotated(by:)-76uyz.json b/docs/data/documentation/euclid/transformable/rotated(by:)-76uyz.json index 1234158f..430d3524 100644 --- a/docs/data/documentation/euclid/transformable/rotated(by:)-76uyz.json +++ b/docs/data/documentation/euclid/transformable/rotated(by:)-76uyz.json @@ -199,7 +199,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -271,6 +271,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/vector/rotate(by:)-3ed6z.json b/docs/data/documentation/euclid/vector/rotate(by:)-3ed6z.json index fdea39d5..30a38ed8 100644 --- a/docs/data/documentation/euclid/vector/rotate(by:)-3ed6z.json +++ b/docs/data/documentation/euclid/vector/rotate(by:)-3ed6z.json @@ -192,7 +192,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/vector/rotate(by:)-hj8h.json b/docs/data/documentation/euclid/vector/rotate(by:)-hj8h.json index aa911757..8a4f079f 100644 --- a/docs/data/documentation/euclid/vector/rotate(by:)-hj8h.json +++ b/docs/data/documentation/euclid/vector/rotate(by:)-hj8h.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -196,6 +199,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -275,6 +279,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/vector/rotated(by:).json b/docs/data/documentation/euclid/vector/rotated(by:).json index d2b84cf9..ea483208 100644 --- a/docs/data/documentation/euclid/vector/rotated(by:).json +++ b/docs/data/documentation/euclid/vector/rotated(by:).json @@ -212,7 +212,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/vector/transformable-implementations.json b/docs/data/documentation/euclid/vector/transformable-implementations.json index 0c1f6992..fcac51a0 100644 --- a/docs/data/documentation/euclid/vector/transformable-implementations.json +++ b/docs/data/documentation/euclid/vector/transformable-implementations.json @@ -308,6 +308,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/vertex/rotate(by:)-1umln.json b/docs/data/documentation/euclid/vertex/rotate(by:)-1umln.json index b3dacdc8..4368bd0a 100644 --- a/docs/data/documentation/euclid/vertex/rotate(by:)-1umln.json +++ b/docs/data/documentation/euclid/vertex/rotate(by:)-1umln.json @@ -61,6 +61,9 @@ { "name" : "Euclid" } + ], + "platforms" : [ + ], "role" : "symbol", "roleHeading" : "Instance Method", @@ -264,6 +267,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", @@ -361,6 +365,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/data/documentation/euclid/vertex/rotate(by:)-622p8.json b/docs/data/documentation/euclid/vertex/rotate(by:)-622p8.json index e60a672e..d0b950b6 100644 --- a/docs/data/documentation/euclid/vertex/rotate(by:)-622p8.json +++ b/docs/data/documentation/euclid/vertex/rotate(by:)-622p8.json @@ -260,7 +260,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/vertex/rotated(by:).json b/docs/data/documentation/euclid/vertex/rotated(by:).json index c226f297..36f82eda 100644 --- a/docs/data/documentation/euclid/vertex/rotated(by:).json +++ b/docs/data/documentation/euclid/vertex/rotated(by:).json @@ -280,7 +280,7 @@ "doc://com.charcoaldesign.Euclid/documentation/Euclid/Rotation": { "abstract" : [ { - "text" : "A struct that represents an orientation or rotation in 3D space.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], diff --git a/docs/data/documentation/euclid/vertex/transformable-implementations.json b/docs/data/documentation/euclid/vertex/transformable-implementations.json index 78af4385..017511f4 100644 --- a/docs/data/documentation/euclid/vertex/transformable-implementations.json +++ b/docs/data/documentation/euclid/vertex/transformable-implementations.json @@ -345,6 +345,7 @@ "type" : "text" } ], + "deprecated" : true, "fragments" : [ { "kind" : "keyword", diff --git a/docs/diagnostics.json b/docs/diagnostics.json index 112899d4..67504f84 100644 --- a/docs/diagnostics.json +++ b/docs/diagnostics.json @@ -4,72 +4,72 @@ ], "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" : [ ], "severity" : 2, - "source" : "..\/Sources\/Angle.swift", + "source" : "Extensions\/Quaternion.md", "start" : { - "column" : 16, - "line" : 75 + "column" : 17, + "line" : 52 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Angle'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Angle.swift", + "source" : "Extensions\/Quaternion.md", "start" : { - "column" : 16, - "line" : 76 + "column" : 17, + "line" : 53 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Angle'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Rotation.md", + "source" : "..\/Sources\/Angle.swift", "start" : { - "column" : 15, - "line" : 49 + "column" : 16, + "line" : 75 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Rotation'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Angle'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Rotation.md", + "source" : "..\/Sources\/Angle.swift", "start" : { - "column" : 15, - "line" : 50 + "column" : 16, + "line" : 76 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Rotation'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Angle'" }, { "notes" : [ @@ -124,48 +124,48 @@ ], "severity" : 2, - "source" : "..\/Sources\/Quaternion.swift", + "source" : "..\/Sources\/Rotation.swift", "start" : { - "column" : 21, - "line" : 89 + "column" : 19, + "line" : 86 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Rotation'" }, { "notes" : [ ], "severity" : 2, - "source" : "..\/Sources\/Quaternion.swift", + "source" : "..\/Sources\/Rotation.swift", "start" : { - "column" : 21, - "line" : 90 + "column" : 19, + "line" : 87 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Rotation'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Quaternion.md", + "source" : "Extensions\/Rotation.md", "start" : { - "column" : 17, - "line" : 52 + "column" : 15, + "line" : 49 }, - "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" + "summary" : "'(_:_:)' doesn't exist at '\/Euclid\/Rotation'" }, { "notes" : [ ], "severity" : 2, - "source" : "Extensions\/Quaternion.md", + "source" : "Extensions\/Rotation.md", "start" : { - "column" : 17, - "line" : 53 + "column" : 15, + "line" : 50 }, - "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Quaternion'" + "summary" : "'=(_:_:)' doesn't exist at '\/Euclid\/Rotation'" }, { "notes" : [ diff --git a/docs/documentation/euclid/rotation/hash(into:)/index.html b/docs/documentation/euclid/rotation/hash(into:)/index.html new file mode 100644 index 00000000..d5a5096b --- /dev/null +++ b/docs/documentation/euclid/rotation/hash(into:)/index.html @@ -0,0 +1 @@ +Documentation
\ No newline at end of file diff --git a/docs/documentation/euclid/rotation/hashable-implementations/index.html b/docs/documentation/euclid/rotation/hashable-implementations/index.html new file mode 100644 index 00000000..d5a5096b --- /dev/null +++ b/docs/documentation/euclid/rotation/hashable-implementations/index.html @@ -0,0 +1 @@ +Documentation
\ No newline at end of file diff --git a/docs/index/index.json b/docs/index/index.json index d10952b3..0c6f0c10 100644 --- a/docs/index/index.json +++ b/docs/index/index.json @@ -2687,6 +2687,22 @@ "path" : "\/documentation\/euclid\/rotation\/equatable-implementations", "title" : "Equatable Implementations", "type" : "symbol" + }, + { + "children" : [ + { + "title" : "Instance Methods", + "type" : "groupMarker" + }, + { + "path" : "\/documentation\/euclid\/rotation\/hash(into:)", + "title" : "func hash(into: inout Hasher)", + "type" : "method" + } + ], + "path" : "\/documentation\/euclid\/rotation\/hashable-implementations", + "title" : "Hashable Implementations", + "type" : "symbol" } ], "path" : "\/documentation\/euclid\/rotation", diff --git a/docs/indexing-records.json b/docs/indexing-records.json index 228c8a4e..4db65e32 100644 --- a/docs/indexing-records.json +++ b/docs/indexing-records.json @@ -7,13 +7,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", - "summary" : "Inherited from Comparable...<(_:).", - "title" : "..<(_:)" + "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" : [ @@ -23,13 +23,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The normalized direction of the line. ", - "summary" : "The normalized direction of the line.", - "title" : "direction" + "rawIndexableTextContent" : "The bounding box containing the line segment. ", + "summary" : "The bounding box containing the line segment.", + "title" : "bounds" }, { "headings" : [ @@ -39,29 +39,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back" }, "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" : "Generate back faces. ", + "summary" : "Generate back faces.", + "title" : "Mesh.Faces.back" }, { "headings" : [ - + "Discussion" ], - "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\/Plane\/init(points:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "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" : [ @@ -71,13 +71,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/extrusionContours(along:twist:align:)" }, "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 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" : [ @@ -87,13 +87,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g" }, "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 green component of the color. ", + "summary" : "The green component of the color.", + "title" : "g" }, { "headings" : [ @@ -103,13 +103,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow" }, "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" : "yellow" }, { "headings" : [ @@ -119,13 +119,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\/Color\/gray" }, "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" : " ", + "summary" : "", + "title" : "gray" }, { "headings" : [ @@ -135,61 +135,63 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Encodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Bounded Implementations" + "title" : "Encodable Implementations" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-228p6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.method" }, "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" : "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/SCNMaterialProvider" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns whether the leftmost angle has the lower value. ", - "summary" : "Returns whether the leftmost angle has the lower value.", - "title" : "<(_:_:)" + "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.SCNMaterialProvider" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.type.method" }, "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" : "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" : [ @@ -199,30 +201,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)" }, "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 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" : [ - "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\/Polygon\/plane" }, "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 plane on which all vertices lie. ", + "summary" : "The plane on which all vertices lie.", + "title" : "plane" }, { "headings" : [ @@ -232,45 +233,48 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)" }, "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(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "smoothNormals(_:)" }, { "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\/Path\/scale(by:)-vnel" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return binary STL data for the mesh. A closure to map Euclid materials to STL facet colors. Use nil for default mapping. Return Value A Euclid Color value.", - "summary" : "Return binary STL data for the mesh.", - "title" : "stlData(colorLookup:)" + "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\/Mesh\/clip(to:fill:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag" }, "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 uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -280,45 +284,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c" }, "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 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\/Vector\/distance(from:)-3eglz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z" }, "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" : "The Z component of the vector. ", + "summary" : "The Z component of the vector.", + "title" : "z" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)" }, "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" : "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" : [ @@ -328,94 +332,93 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)" }, "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 copy of the color updated with the specified alpha. ", + "summary" : "Creates a copy of the color updated with the specified alpha.", + "title" : "withAlpha(_:)" }, { "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\/Path\/translated(by:)" }, "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 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" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up" }, "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" : "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" : [ - "Discussion" + "Return Value" ], "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\/STLMaterialProvider" }, "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" : "A closure that maps an STL facet color to a Euclid material. A Euclid Color to convert, or nil for the default color. Return Value A Euclid Material value, or nil for the default material.", + "summary" : "A closure that maps an STL facet color to a Euclid material.", + "title" : "Mesh.STLMaterialProvider" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)" }, "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" : "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", - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "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\/Transformable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ @@ -425,77 +428,83 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates an angle from a degrees value. The angle in degrees.", - "summary" : "Creates an angle from a degrees value.", - "title" : "degrees(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "with(color:)" }, { "headings" : [ ], - "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\/PathPoint\/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" : [ - + "Return Value", + "Discussion" ], - "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\/Mesh\/merge(_:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "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" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method" }, "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" : "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" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.type.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", - "summary" : "Inherited from Comparable.>(_:_:).", - "title" : ">(_:_:)" + "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" : [ @@ -505,13 +514,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\/rotate(by:)-3ed6z" }, "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" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -521,29 +530,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-27eol" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)" }, "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 vector with all components inverted. ", + "summary" : "Returns a vector with all components inverted.", + "title" : "-(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withColor(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Creates a copy of the vertex with the specified color. The color to apply to the vertex.", + "summary" : "Creates a copy of the vertex with the specified color.", + "title" : "withColor(_:)" }, { "headings" : [ @@ -553,7 +562,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)" }, "type" : "topLevelPage" }, @@ -564,34 +573,18 @@ { "headings" : [ - ], - "kind" : "symbol", - "location" : { - "reference" : { - "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)" - }, - "type" : "topLevelPage" - }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" - }, - { - "headings" : [ - ], "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Encodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Equatable Implementations" + "title" : "Encodable Implementations" }, { "headings" : [ @@ -601,45 +594,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+(_:). ", - "summary" : "Inherited from AdditiveArithmetic.+(_:).", - "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-99vxt" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Quaternion from a simd quaternion. A simd quaternion.", - "summary" : "Creates a Quaternion from a simd quaternion.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "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\/Vector\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -649,13 +642,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)" }, "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" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -665,13 +658,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)" }, "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" : "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" : [ @@ -681,13 +674,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/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" : "The bounding box containing the polygon. ", + "summary" : "The bounding box containing the polygon.", + "title" : "bounds" }, { "headings" : [ @@ -697,13 +690,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The angle of rotation around the Z-axis. ", + "summary" : "The angle of rotation around the Z-axis.", + "title" : "roll" }, { "headings" : [ @@ -713,7 +709,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)" }, "type" : "topLevelPage" }, @@ -723,35 +719,65 @@ }, { "headings" : [ - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Transformable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLMaterialProvider" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/localizedDescription" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A closure that maps an STL facet color to a Euclid material. A Euclid Color to convert, or nil for the default color. Return Value A Euclid Material value, or nil for the default material.", - "summary" : "A closure that maps an STL facet color to a Euclid material.", - "title" : "Mesh.STLMaterialProvider" + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "8.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.10", + "name" : "macOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "9.0", + "name" : "tvOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "2.0", + "name" : "watchOS", + "unavailable" : false + } + ], + "rawIndexableTextContent" : "Inherited from Error.localizedDescription. ", + "summary" : "Inherited from Error.localizedDescription.", + "title" : "localizedDescription" }, { "headings" : [ @@ -761,13 +787,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y" }, "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" : "The Y component of the vector. ", + "summary" : "The Y component of the vector.", + "title" : "y" }, { "headings" : [ @@ -777,12 +803,12 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-8izj" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a color from a CoreGraphics CGColor. The CoreGraphics color instance.", - "summary" : "Creates a color from a CoreGraphics CGColor.", + "rawIndexableTextContent" : "Creates a Rotation from a simd quaternion. A simd quaternion.", + "summary" : "Creates a Rotation from a simd quaternion.", "title" : "init(_:)" }, { @@ -793,13 +819,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "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" : [ @@ -809,45 +835,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-7hvb3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-8t5q8" }, "type" : "topLevelPage" }, - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "13.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.15", - "name" : "macOS", - "unavailable" : false - } - ], - "rawIndexableTextContent" : "Creates a EuclidTransform from a simd matrix. The simd matrix to convert into a Euclid transform.", - "summary" : "Creates a EuclidTransform from a simd matrix.", - "title" : "init(_:)" + "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" : [ ], - "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\/Bounds\/min" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "The minimum coordinate of the bounds. ", + "summary" : "The minimum coordinate of the bounds.", + "title" : "min" }, { "headings" : [ @@ -857,29 +867,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)" }, "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" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)" }, "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" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -889,13 +899,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97" }, "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" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ @@ -905,29 +915,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "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\/Quaternion\/-=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/CustomNSError-Implementations" }, "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" : "", + "summary" : "", + "title" : "CustomNSError Implementations" }, { "headings" : [ @@ -937,13 +947,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)" }, "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" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -953,16 +963,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "init(_:_:)" + "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" : [ @@ -972,29 +979,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A vector with all coordinates set to 1. ", - "summary" : "A vector with all coordinates set to 1.", - "title" : "one" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "green" }, { "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\/Rotation\/slerp(_:_:)" }, "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" : "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" : [ @@ -1004,45 +1011,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/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 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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-49ykf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An empty bounds. ", - "summary" : "An empty bounds.", - "title" : "empty" + "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" : [ @@ -1052,29 +1059,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color" }, "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 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" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m" }, "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" : "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" : [ @@ -1084,29 +1091,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-cys2" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty" }, "type" : "topLevelPage" }, - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "13.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.15", - "name" : "macOS", - "unavailable" : false - } - ], - "rawIndexableTextContent" : "Creates a EuclidTransform from a RealityKit Transform. The RealityKit transform to convert into a Euclid transform.", - "summary" : "Creates a EuclidTransform from a RealityKit Transform.", - "title" : "init(_:)" + "rawIndexableTextContent" : "An empty mesh. ", + "summary" : "An empty mesh.", + "title" : "empty" }, { "headings" : [ @@ -1116,13 +1107,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform has no effect. ", - "summary" : "Transform has no effect.", - "title" : "isIdentity" + "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" : [ @@ -1132,13 +1123,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An empty mesh. ", - "summary" : "An empty mesh.", - "title" : "empty" + "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" : [ @@ -1148,13 +1139,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components" }, "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" : "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" : [ @@ -1164,13 +1155,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/ellipse(width:height:segments: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 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" : [ @@ -1180,29 +1171,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", - "summary" : "Inherited from Comparable.>=(_:_:).", - "title" : ">=(_:_:)" + "rawIndexableTextContent" : "The total length of the path. ", + "summary" : "The total length of the path.", + "title" : "length" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path" }, "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" : "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" : [ @@ -1212,13 +1203,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)" }, "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 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" : [ @@ -1228,29 +1219,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Angle representing a full rotation. ", - "summary" : "Angle representing a full rotation.", - "title" : "twoPi" + "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" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/AdditiveArithmetic-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "AdditiveArithmetic Implementations" + "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" : [ @@ -1260,13 +1251,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "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" : [ @@ -1276,13 +1267,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-9mn9o" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", - "summary" : "Inherited from Comparable...<(_:_:).", - "title" : "..<(_:_:)" + "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" : [ @@ -1292,13 +1283,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)" }, "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" : "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" : [ + "Return Value" + ], + "kind" : "symbol", + "location" : { + "reference" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko" + }, + "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:)" }, { "headings" : [ @@ -1308,13 +1315,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(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" : "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" : [ @@ -1324,13 +1331,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)" }, "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" : "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" : [ @@ -1340,61 +1347,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a vector from a CoreGraphics CGPoint. the CoreGraphics point.", - "summary" : "Creates a vector from a CoreGraphics CGPoint.", + "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" : [ ], - "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\/cyan" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", + "rawIndexableTextContent" : " ", "summary" : "", - "title" : "Encodable Implementations" + "title" : "cyan" }, { "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\/Vertex\/normal" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The magnitude of the quaternion. ", - "summary" : "The magnitude of the quaternion.", - "title" : "length" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -1404,13 +1411,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-85o14" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "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" : [ @@ -1420,13 +1427,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s" }, "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 uniform scale transform. A uniform scale factor to apply.", + "summary" : "Creates a uniform scale transform.", + "title" : "scale(_:)" }, { "headings" : [ @@ -1436,13 +1443,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di" }, "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" : "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" : [ @@ -1452,45 +1459,48 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis" }, "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" : "The axis of rotation. ", + "summary" : "The axis of rotation.", + "title" : "axis" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "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\/Mesh\/init(url:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Loads a mesh from a file, with optional material mapping. The URL of the file to be loaded. A closure to map format-specific materials to Euclid materials. Use nil for default mapping.", - "summary" : "Loads a mesh from a file, with optional material mapping.", - "title" : "init(url:materialLookup:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -1500,13 +1510,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4" }, "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" : "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" : [ @@ -1516,13 +1526,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "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" : [ @@ -1532,29 +1542,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj" }, "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 Comparable.>(_:_:). ", + "summary" : "Inherited from Comparable.>(_:_:).", + "title" : ">(_:_:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7" }, "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" : "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" : [ @@ -1564,13 +1574,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Do not generate texture coordinates. ", - "summary" : "Do not generate texture coordinates.", - "title" : "Mesh.WrapMode.none" + "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" : [ @@ -1580,45 +1590,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk" }, "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" : "Creates a vector of uniform size. The value to use for all components.", + "summary" : "Creates a vector of uniform size.", + "title" : "init(size:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Divides the angle by a numeric denominator. ", + "summary" : "Divides the angle by a numeric denominator.", + "title" : "\/=(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al" }, "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 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" : [ @@ -1628,13 +1638,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-8izj" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)" }, "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 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" : [ @@ -1644,13 +1654,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY" }, "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" : "A vector of length 1 along the Y axis. ", + "summary" : "A vector of length 1 along the Y axis.", + "title" : "unitY" }, { "headings" : [ @@ -1660,13 +1670,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)" }, "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" : "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" : [ @@ -1676,13 +1686,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Supported NSSecureCodable Material base classes. ", - "summary" : "Supported NSSecureCodable Material base classes.", - "title" : "codableClasses" + "rawIndexableTextContent" : "Return a copy of the mesh without texture coordinates. ", + "summary" : "Return a copy of the mesh without texture coordinates.", + "title" : "withoutTexcoords()" }, { "headings" : [ @@ -1692,29 +1702,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "platforms" : [ + + ], + "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\/Color\/orange" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", + "rawIndexableTextContent" : "", "summary" : "", - "title" : "orange" + "title" : "Decodable Implementations" }, { "headings" : [ @@ -1724,13 +1737,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-1l9u5" }, "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" : [ @@ -1740,13 +1753,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl" }, "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 vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -1756,13 +1769,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1" }, "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" : "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" : [ @@ -1772,13 +1785,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -1788,29 +1801,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "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" : [ ], - "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\/PathPoint\/rotate(by:)-r7j4" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -1820,48 +1836,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity" }, "type" : "topLevelPage" }, - "platforms" : [ + "rawIndexableTextContent" : "Transform has no effect. ", + "summary" : "Transform has no effect.", + "title" : "isIdentity" + }, + { + "headings" : [ ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "with(material:)" + "kind" : "symbol", + "location" : { + "reference" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start" + }, + "type" : "topLevelPage" + }, + "rawIndexableTextContent" : "The starting point of the line segment. ", + "summary" : "The starting point of the line segment.", + "title" : "start" }, { "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\/Vector\/init(_:)-228p6" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Creates a new vector from a SceneKit vector. The SceneKit SCNVector3.", + "summary" : "Creates a new vector from a SceneKit vector.", + "title" : "init(_:)" }, { "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\/Mesh\/translated(by:)" }, "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" : "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" : [ @@ -1871,13 +1900,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right" }, "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" : "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" : [ @@ -1887,13 +1916,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -1903,50 +1935,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees" }, "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" : "The angle in degrees. ", + "summary" : "The angle in degrees.", + "title" : "degrees" }, { "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\/Transform\/scaled(by:)-19ukh" }, "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" : [ - "Overview", - "Primitive Geometry", - "Builders", - "Curves", - "Constructive Solid Geometry (CSG)", - "Text" + "Return Value" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Define 3D objects by constructing meshes. Overview To create a 3D object, create a Mesh in Euclid. You can manually create an array of Polygon instances, but that’s pretty tedious. Euclid offers a number of helper methods to quickly create complex geometry. Primitive Geometry The simplest way to create a Mesh is to start with an existing primitive, such as a cube or sphere. The following primitive types are available in Euclid, and are defined as static constructor methods on Mesh: cube(center:size:faces:wrapMode:material:) - A cubic Mesh (or cuboid, if you specify different values for the width, height and\/or depth). sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:) - A spherical Mesh. cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:) - A cylindrical Mesh. cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:) - A conical Mesh. All Mesh instances are made of flat polygons. Since true curves cannot be represented using straight edges, the sphere, cylinder and cone primitives are approximations. Control the quality of these approximations by using the slices and\/or stacks parameters to configure the level of detail. In addition to the 3D Mesh primitives listed, there are also 2D Path primitives. These are implemented as static constructor methods on the Path type instead of Mesh: line(_:color:) - A straight line. ellipse(width:height:segments:color:)- A closed, elliptical Path. circle(radius:segments:color:) - A closed, circular Path. rectangle(width:height:color:) - A closed, rectangular Path. roundedRectangle(width:height:radius:detail:color:) - A closed, rectangular Path with rounded corners. square(size:color:) - Same as rectangle(width:height:color:), but with equal width and height. polygon(radius:sides:color:) - A regular polygon shape (not to be confused with Euclid’s Polygon type). Builders Geometric primitives are all very well, but there is a limit to what you can create by combining spheres, cubes, etc. As an intermediate step between the extremes of using predefined primitives or individually positioning polygons, you can use builders. Builders create a Mesh from a (typically) 2D Path. The following builders are defined as static constructor functions on the Mesh type: fill(_:faces:material:) - This builder fills a single Path to create a pair of Polygons (front and back faces). stroke(_:width:detail:material:isCancelled:) - This builder strokes a single Path to create a strip or tube. A second variant (stroke(_:width:detail:material:)) of the function accepts an array of LineSegment, which is convenient for creating a wireframe geometry from the uniqueEdges of a Mesh. lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:) - This builder takes a 2D Path and rotates it around the Y-axis to create a rotationally symmetrical Mesh. This is an easy way to create complex shapes like candlesticks, chess pieces, rocket ships, etc. extrude(_:along:twist:align:faces:material:isCancelled:) - This builder fills a Path and extrudes it along its axis, or another path. This can turn a circular path into a tube, or a square into a cube etc. loft(_:faces:material:) - This builder is similar to extrude(_:along:twist:align:faces:material:isCancelled:), but takes multiple Path instances and joins them. The sequence of Path instances do not need to be the same shape, but must all have the same number of points and subpaths. To work correctly, each Path must be pre-positioned in 3D space so they do not all lie on the same plane. convexHull(of:material:) - Similar the the loft(_:faces:material:) builder, this method can form a Mesh by wrapping a skin around one or more Path instances. But unlike the other builders, in addition to paths you can also form a convex hull around a collection of meshes, polygons, vertices or points. Curves Builders are a powerful tool for creating interesting Mesh instances from one or more Path instances, but what about creating an interesting Path in the first place? Creating a polygonal Path by specifying points individually is straightforward, but creating curves that way is tedious. That’s where Bezier curves come in. Beziers allow you to specify complex curves using just a few control points. Euclid exposes this feature via the curve(_:detail:) constructor method. The curve(_:detail:) 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 create sharp corners in the Path as normal, but curved ones are treated as off-curve Bezier control points. The detail argument of the curve(_:detail:) method controls how many line segments are used to approximate the curve. The curve(_:detail:) 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 Core Graphics CGPath by using the CGPath.paths() extension method. CGPath supports cubic bezier curves as well as quadratic. Constructive Solid Geometry (CSG) CSG is another powerful tool for creating intricate geometry. CSG allows you to perform boolean operations (logical AND, OR, etc.) on solid shapes. The following CSG operations are defined as methods on the Mesh type: subtracting(_:isCancelled:) - Subtracts the volume of one Mesh from another. symmetricDifference(_:isCancelled:) - Produces a shape representing the non-overlapping parts of the input Meshes (this is useful for rendering text glyphs). union(_:isCancelled:) - Combines two intersecting Meshes, removing internal faces and leaving only the outer shell around both shapes (logical OR). intersection(_:isCancelled:) - Returns a single Mesh representing the common volume of two intersecting Meshes (logical AND). stencil(_:isCancelled:) - This effectively “paints” part of one Mesh with the material from another. All CSG operations require Meshes that are “watertight”, that is they have no holes in their surface. Using a CSG operation on a mesh that isn’t sealed may result in unexpected results. Text On macOS and iOS you can make use of Euclid’s Core Text integration to create 2D or 3D extruded text. The text(_:width:detail:) method produces an array of 2D Path that represent the contours of each glyph in an AttributedString. You can use these paths with either fill(_:faces:material:) or extrude(_:depth:twist:sections:faces:material:isCancelled:) builder methods to create solid text. Alternatively, the text(_:font:width:depth:detail:material:) constructor directly produces an extruded 3D text model from a String or AttributedString. Each glyph in the input string maps to a single Path in the result, but these Paths may contain nested subpaths. Glyphs formed from multiple subpaths will be filled using the even-odd rule (equivalent to using symmetricDifference with the individually filled or extruded subpaths).", - "summary" : "Define 3D objects by constructing meshes.", - "title" : "Constructing Meshes" + "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" : [ @@ -1956,29 +1983,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Divides the rotation angle by the specified value. ", - "summary" : "Divides the rotation angle by the specified value.", - "title" : "\/=(_:_:)" + "platforms" : [ + + ], + "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" : [ - "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\/Transform\/scale(by:)-55r4j" }, "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" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -1988,13 +2018,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", - "summary" : "Inherited from Comparable....(_:_:).", - "title" : "...(_:_:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -2004,43 +2034,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorCode" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar" }, "type" : "topLevelPage" }, - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "8.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.10", - "name" : "macOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "9.0", - "name" : "tvOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "2.0", - "name" : "watchOS", - "unavailable" : false - } - ], - "rawIndexableTextContent" : "Inherited from CustomNSError.errorCode. ", - "summary" : "Inherited from CustomNSError.errorCode.", - "title" : "errorCode" + "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" : [ @@ -2050,13 +2050,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta" }, "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" : " ", + "summary" : "", + "title" : "magenta" }, { "headings" : [ @@ -2066,29 +2066,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)" }, "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 the inverse rotation. ", + "summary" : "Returns the inverse rotation.", + "title" : "-(_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-4v7tg" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The green component of the color. ", - "summary" : "The green component of the color.", - "title" : "g" + "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" : [ @@ -2098,13 +2098,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+(_:). ", - "summary" : "Inherited from AdditiveArithmetic.+(_:).", - "title" : "+(_:)" + "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" : [ @@ -2114,13 +2114,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9" }, "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" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -2130,7 +2130,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-22brv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-4k8gs" }, "type" : "topLevelPage" }, @@ -2150,25 +2150,25 @@ "unavailable" : false } ], - "rawIndexableTextContent" : "Creates a mesh from a RealityKit MeshDescriptor with optional material. The MeshDescriptor to convert into a mesh. An array of materials to apply to the mesh.", - "summary" : "Creates a mesh from a RealityKit MeshDescriptor with optional material.", + "rawIndexableTextContent" : "Creates a mesh from a RealityKit MeshResource. The MeshResource to convert into a mesh. An array of materials to apply to the mesh.", + "summary" : "Creates a mesh from a RealityKit MeshResource.", "title" : "init(_:materials:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)" }, "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" : "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" : [ @@ -2178,13 +2178,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-9m686" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An infinite 2D plane in 3D space. ", - "summary" : "An infinite 2D plane in 3D space.", - "title" : "Plane" + "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" : [ @@ -2194,13 +2194,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "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" : [ @@ -2210,13 +2210,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front" }, "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" : "Generate front faces. ", + "summary" : "Generate front faces.", + "title" : "Mesh.Faces.front" }, { "headings" : [ @@ -2226,32 +2226,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7" }, "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" : "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\/mapVertexColors(_:)" }, "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 and RealityKit integration. This is demonstrated in the Example app included with the project. SceneKit is a high-level Apple 3D framework that 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. RealityKit is a newer Apple framework mainly intended for VR\/AR purposes. It is slightly lower-level than SceneKit, and missing some high-level functionality such as camera control, but is equally-well supported by Euclid. 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 CG\/UI\/NSColor or CG\/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. An equivalent closure exists for Euclid’s RealityKit ModelEntity constructor. 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 supports applying colors to a Mesh or Polygon using the material property, but you can also set colors individually for each vertex, which will be interpolated to create smooth gradients. 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 CGColor, 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 cylindrical or spherical texture wrapping. You can also scale, rotate or translate the texture coordinates for a Mesh by using - withTextureTransform(_:), or remap the texture coordinates completely by using the sphereMapped(), cylinderMapped() and cubeMapped() methods. This can be useful for wrapping composite objects that you’ve created using CSG functions, where the texture coordinates may end up scrambled. 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 or RealityKit Material directly.", - "summary" : "Display the 3D shapes you created with meshes.", - "title" : "Rendering Meshes" + "rawIndexableTextContent" : "Return a copy of the polygon with transformed vertex colors A closure to be applied to each vertex color in the polygon.", + "summary" : "Return a copy of the polygon with transformed vertex colors", + "title" : "mapVertexColors(_:)" }, { "headings" : [ @@ -2261,29 +2258,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-4k8gs" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)" }, "type" : "topLevelPage" }, - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "15.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "12.0", - "name" : "macOS", - "unavailable" : false - } - ], - "rawIndexableTextContent" : "Creates a mesh from a RealityKit MeshResource. The MeshResource to convert into a mesh. An array of materials to apply to the mesh.", - "summary" : "Creates a mesh from a RealityKit MeshResource.", - "title" : "init(_:materials:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -2293,13 +2274,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "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" : [ @@ -2309,29 +2290,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the componentwise difference between two vectors. ", - "summary" : "Returns the componentwise difference between two vectors.", - "title" : "-(_:_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Inherited from Hashable.hash(into:). ", + "summary" : "Inherited from Hashable.hash(into:).", + "title" : "hash(into:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Flip the direction of the line segment ", - "summary" : "Flip the direction of the line segment", - "title" : "inverted()" + "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" : [ @@ -2341,13 +2325,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias" }, "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" : "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" : [ @@ -2357,29 +2341,29 @@ "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\/Bounds\/*(_:_:)" }, "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" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "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\/Bounds\/init(_:)-5bh7b" }, "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" : "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" : [ @@ -2389,29 +2373,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)" }, "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 the angle divided by a numeric denominator. ", + "summary" : "Returns the angle divided by a numeric denominator.", + "title" : "\/(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll" }, "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" : "The angle of rotation around the Z-axis. ", + "summary" : "The angle of rotation around the Z-axis.", + "title" : "roll" }, { "headings" : [ @@ -2421,13 +2405,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withNormal(_:)" }, "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 copy of the vertex with the specified normal. The normal value to apply to the vertex.", + "summary" : "Creates a copy of the vertex with the specified normal.", + "title" : "withNormal(_:)" }, { "headings" : [ @@ -2437,13 +2421,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)" }, "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" : "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" : [ @@ -2453,13 +2437,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curved(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Curve or uncurve the point. Whether the resultant point should be curved.", - "summary" : "Curve or uncurve the point.", - "title" : "curved(_:)" + "rawIndexableTextContent" : "Angle representing a zero (identity) rotation. ", + "summary" : "Angle representing a zero (identity) rotation.", + "title" : "zero" }, { "headings" : [ @@ -2469,13 +2453,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)" }, "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(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Creates a quaternion from raw component values. ", + "summary" : "Creates a quaternion from raw component values.", + "title" : "init(_:_:_:_:)" }, { "headings" : [ @@ -2485,45 +2472,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/roundedRectangle(width:height:radius:detail:color:)" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapTexcoords(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the polygon with transformed texture coordinates A closure to be applied to each texcoord in the polygon.", - "summary" : "Return a copy of the polygon with transformed texture coordinates", - "title" : "mapTexcoords(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "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\/PathPoint\/lerp(_:_:)" }, "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" : "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" : [ @@ -2533,13 +2520,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "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" : [ @@ -2549,29 +2536,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)" }, "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" : "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\/Angle\/...(_:)-3s6ak" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "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" : [ @@ -2581,16 +2568,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "xor(_:isCancelled:)" + "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" : [ @@ -2600,61 +2584,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y" + "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" : "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" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds" }, "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(_:)" + "rawIndexableTextContent" : "The bounds of all the path’s points. ", + "summary" : "The bounds of all the path’s points.", + "title" : "bounds" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Transformable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A zero-length vector. ", - "summary" : "A zero-length vector.", - "title" : "zero" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Bounded Implementations" }, { "headings" : [ @@ -2664,29 +2648,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:texcoord:color:)" }, "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" : "Creates a corner path point at the specified position. The location of the path point. 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 position.", + "title" : "point(_:texcoord:color:)" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction" }, "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" : "The direction of the line segment as a normalized vector. ", + "summary" : "The direction of the line segment as a normalized vector.", + "title" : "direction" }, { "headings" : [ @@ -2696,13 +2680,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial" }, "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" : "The polygons in the mesh, grouped by material. ", + "summary" : "The polygons in the mesh, grouped by material.", + "title" : "polygonsByMaterial" }, { "headings" : [ @@ -2712,29 +2696,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -2744,29 +2728,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/plane" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The plane on which all vertices lie. ", - "summary" : "The plane on which all vertices lie.", - "title" : "plane" + "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" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab" }, "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" : "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" : [ @@ -2776,30 +2760,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)" }, "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" : "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", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction" }, "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" : "The normalized direction of the line. ", + "summary" : "The normalized direction of the line.", + "title" : "direction" }, { "headings" : [ @@ -2809,45 +2792,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError" }, "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" : "Input\/output error. ", + "summary" : "Input\/output error.", + "title" : "Mesh.IOError" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A surface normal vector, perpendicular to the plane. ", - "summary" : "A surface normal vector, perpendicular to the plane.", - "title" : "normal" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords" }, "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" : "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" : [ @@ -2857,45 +2840,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()" }, "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" : "Returns the flip-side of the plane. ", + "summary" : "Returns the flip-side of the plane.", + "title" : "inverted()" }, { "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\/Mesh\/init(url:materialLookup:)" }, "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" : "Loads a mesh from a file, with optional material mapping. The URL of the file to be loaded. A closure to map format-specific materials to Euclid materials. Use nil for default mapping.", + "summary" : "Loads a mesh from a file, with optional material mapping.", + "title" : "init(url:materialLookup:)" }, { "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\/Polygon\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable 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" : [ @@ -2905,29 +2888,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak" }, "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" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "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" : [ @@ -2937,7 +2920,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)" }, "type" : "topLevelPage" }, @@ -2949,17 +2932,17 @@ "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\/PathPoint\/color" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "The color of the path point (optional). ", + "summary" : "The color of the path point (optional).", + "title" : "color" }, { "headings" : [ @@ -2969,13 +2952,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The maximum coordinate of the bounds. ", - "summary" : "The maximum coordinate of the bounds.", - "title" : "max" + "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" : [ @@ -2985,13 +2968,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:)" }, "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" : "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" : [ @@ -3001,29 +2984,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)" }, "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" : "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", + "Materials", + "Colors", + "Textures" ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes" }, "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" : "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 and RealityKit integration. This is demonstrated in the Example app included with the project. SceneKit is a high-level Apple 3D framework that 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. RealityKit is a newer Apple framework mainly intended for VR\/AR purposes. It is slightly lower-level than SceneKit, and missing some high-level functionality such as camera control, but is equally-well supported by Euclid. 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 CG\/UI\/NSColor or CG\/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. An equivalent closure exists for Euclid’s RealityKit ModelEntity constructor. 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 supports applying colors to a Mesh or Polygon using the material property, but you can also set colors individually for each vertex, which will be interpolated to create smooth gradients. 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 CGColor, 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 cylindrical or spherical texture wrapping. You can also scale, rotate or translate the texture coordinates for a Mesh by using - withTextureTransform(_:), or remap the texture coordinates completely by using the sphereMapped(), cylinderMapped() and cubeMapped() methods. This can be useful for wrapping composite objects that you’ve created using CSG functions, where the texture coordinates may end up scrambled. 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 or RealityKit Material directly.", + "summary" : "Display the 3D shapes you created with meshes.", + "title" : "Rendering Meshes" }, { "headings" : [ @@ -3033,30 +3019,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a color from an NSColor. The NSColor to convert.", - "summary" : "Creates a color from an NSColor.", - "title" : "init(_:)" + "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" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)" }, "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" : "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" : [ @@ -3065,29 +3051,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)" }, "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" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ - + "Discussion" ], - "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\/Bounds\/init(min:max:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "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" : [ @@ -3097,16 +3083,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "with(color:)" + "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" : [ @@ -3116,13 +3099,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices" }, "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 array of vertices that make up the polygon. ", + "summary" : "The array of vertices that make up the polygon.", + "title" : "vertices" }, { "headings" : [ @@ -3132,13 +3115,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved" }, "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" : "A Boolean indicating whether the point is curved or sharp. ", + "summary" : "A Boolean indicating whether the point is curved or sharp.", + "title" : "isCurved" }, { "headings" : [ @@ -3148,29 +3131,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Divides the angle by a numeric denominator. ", - "summary" : "Divides the angle by a numeric denominator.", - "title" : "\/=(_:_:)" + "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" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)" }, "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" : "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" : [ @@ -3180,13 +3164,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v" }, "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" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -3196,13 +3180,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear" }, "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" : " ", + "summary" : "", + "title" : "clear" }, { "headings" : [ @@ -3212,13 +3196,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -3228,29 +3212,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5s4mt" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Vector from a simd vector 3. A simd vector.", - "summary" : "Creates a Vector from a simd vector 3.", - "title" : "init(_:)" + "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\/Mesh\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounds of the mesh. ", - "summary" : "The bounds of the mesh.", - "title" : "bounds" + "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" : [ @@ -3260,13 +3244,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The zero quaternion. ", - "summary" : "The zero quaternion.", - "title" : "zero" + "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" : [ @@ -3276,13 +3260,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/gray" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "gray" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -3292,13 +3276,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)" }, "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 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" : [ @@ -3308,61 +3292,64 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o" }, "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" : "Creates a quaternion from a rotation matrix. A rotation matrix.", + "summary" : "Creates a quaternion from a rotation matrix.", + "title" : "init(_:)" }, { "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\/Angle\/*=(_:_:)" }, "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" : "Multiplies the angle by a numeric value. ", + "summary" : "Multiplies the angle by a numeric value.", + "title" : "*=(_:_:)" }, { "headings" : [ - "Return Value" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Equatable-Implementations" }, "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" : "", + "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\/Bounds" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the sum of two quaternion rotations. ", - "summary" : "Returns the sum of two quaternion rotations.", - "title" : "+(_:_:)" + "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" : [ @@ -3372,45 +3359,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j" }, "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 Vector from a simd vector 3. A simd vector.", + "summary" : "Creates a Vector from a simd vector 3.", + "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\/LineSegment" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "A finite line segment in 3D space. ", + "summary" : "A finite line segment in 3D space.", + "title" : "LineSegment" }, { "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\/Plane\/xz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "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" : [ @@ -3420,61 +3407,64 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The alpha component of the color. ", - "summary" : "The alpha component of the color.", - "title" : "a" + "platforms" : [ + + ], + "rawIndexableTextContent" : "An array containing the raw components of the quaternion. ", + "summary" : "An array containing the raw components of the quaternion.", + "title" : "components" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detessellate()" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Rotation from a simd quaternion. A simd quaternion.", - "summary" : "Creates a Rotation from a simd quaternion.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Equatable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -3484,13 +3474,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd" }, "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" : "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" : [ @@ -3500,13 +3490,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The size or scale component of the transform. ", - "summary" : "The size or scale component of the transform.", - "title" : "scale" + "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" : [ @@ -3516,13 +3506,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "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" : [ + + ], + "kind" : "symbol", + "location" : { + "reference" : { + "interfaceLanguage" : "swift", + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)" + }, + "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:)" }, { "headings" : [ @@ -3532,7 +3538,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-Implementations" }, "type" : "topLevelPage" }, @@ -3544,17 +3550,17 @@ "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-Implementations" }, "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" : "", + "summary" : "", + "title" : "Bounded Implementations" }, { "headings" : [ @@ -3564,13 +3570,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one" }, "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" : "A vector with all coordinates set to 1. ", + "summary" : "A vector with all coordinates set to 1.", + "title" : "one" }, { "headings" : [ @@ -3580,13 +3586,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/CustomNSError-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Equatable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "CustomNSError Implementations" + "title" : "Equatable Implementations" }, { "headings" : [ @@ -3596,13 +3602,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation. ", - "summary" : "The angle of rotation.", - "title" : "angle" + "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" : [ @@ -3612,13 +3618,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)" }, "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" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -3628,45 +3634,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Decodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "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\/Vertex\/inverted()" }, "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()" + "rawIndexableTextContent" : "Returns a new vertex with the normal inverted. ", + "summary" : "Returns a new vertex with the normal inverted.", + "title" : "inverted()" }, { "headings" : [ @@ -3676,29 +3682,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion from raw component values. ", - "summary" : "Creates a quaternion from raw component values.", - "title" : "init(_:_:_:_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "init(scnGeometry:materialLookup:)" }, { "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\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "AdditiveArithmetic Implementations" + "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" : [ @@ -3708,45 +3717,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An infinite line in 3D space. ", - "summary" : "An infinite line in 3D space.", - "title" : "Line" + "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", + "summary" : "Inherited from Comparable.>(_:_:).", + "title" : ">(_:_:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Multiplies the rotation angle by the specified value. ", - "summary" : "Multiplies the rotation angle by the specified value.", - "title" : "*=(_:_:)" + "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" : [ - "Return Value" + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint" }, "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" : "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" : [ @@ -3756,13 +3765,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The array of vertices that make up the polygon. ", - "summary" : "The array of vertices that make up the polygon.", - "title" : "vertices" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The identity quaternion (i.e. no rotation). ", + "summary" : "The identity quaternion (i.e. no rotation).", + "title" : "identity" }, { "headings" : [ @@ -3772,29 +3784,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rectangle(width:height:color:)" }, "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 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" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlData:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Create a mesh from STL data. Discussion Parameters stlData: binary or ASCII STL file data materialLookup: A closure to map STL facet colors to Euclid materials. Use nil for default mapping.", - "summary" : "Create a mesh from STL data.", - "title" : "init(stlData:materialLookup:)" + "rawIndexableTextContent" : "An empty path. ", + "summary" : "An empty path.", + "title" : "empty" }, { "headings" : [ @@ -3804,13 +3816,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)" }, "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 an angle from a degrees value. The angle in degrees.", + "summary" : "Creates an angle from a degrees value.", + "title" : "degrees(_:)" }, { "headings" : [ @@ -3820,29 +3832,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)" }, "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" : "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" ], - "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\/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" : [ @@ -3852,13 +3864,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch" }, "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 angle of rotation around the X-axis. ", + "summary" : "The angle of rotation around the X-axis.", + "title" : "pitch" }, { "headings" : [ @@ -3868,13 +3880,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", + "summary" : "Inherited from Comparable....(_:_:).", + "title" : "...(_:_:)" }, { "headings" : [ @@ -3884,49 +3896,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm" }, "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" : [ - "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\/Plane\/!=(_:_:)" }, "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" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", + "rawIndexableTextContent" : "", "summary" : "", - "title" : "subtract(_:isCancelled:)" + "title" : "Equatable Implementations" }, { "headings" : [ @@ -3936,13 +3944,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin" }, "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" : "An arbitrary point on the line selected as the origin. ", + "summary" : "An arbitrary point on the line selected as the origin.", + "title" : "origin" }, { "headings" : [ @@ -3952,13 +3960,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Combines two rotations to get the cumulative rotation. ", - "summary" : "Combines two rotations to get the cumulative rotation.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "red" }, { "headings" : [ @@ -3968,45 +3976,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w" }, "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" : "The perpendicular distance from the world origin to the plane. ", + "summary" : "The perpendicular distance from the world origin to the plane.", + "title" : "w" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal" }, "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" : "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" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", - "summary" : "Inherited from Comparable...<(_:_:).", - "title" : "..<(_:_:)" + "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" : [ @@ -4016,13 +4024,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounding box containing the line segment. ", - "summary" : "The bounding box containing the line segment.", - "title" : "bounds" + "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" : [ @@ -4032,29 +4040,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)" }, "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" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "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\/Quaternion\/isNormalized" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "platforms" : [ + + ], + "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" : [ @@ -4064,77 +4075,96 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Rotation has no effect. ", - "summary" : "Rotation has no effect.", - "title" : "isIdentity" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Divides the components of the vector by the specified value. ", + "summary" : "Divides the components of the vector by the specified value.", + "title" : "\/=(_:_:)" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/mapColors(_:)" }, "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" : "Return a copy of the polygon with transformed vertex colors A closure to be applied to each color in the path.", + "summary" : "Return a copy of the polygon with transformed vertex colors", + "title" : "mapColors(_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotation divided by the specified value. ", - "summary" : "Returns a rotation divided by the specified value.", - "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" : [ - + "Return Value" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/RealityKitMaterialProvider" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "15.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "12.0", + "name" : "macOS", + "unavailable" : false + } + ], + "rawIndexableTextContent" : "A closure that converts a RealityKit material to a Euclid material. A RealityKit material to convert. Return Value A Euclid Material.", + "summary" : "A closure that converts a RealityKit material to a Euclid material.", + "title" : "Mesh.RealityKitMaterialProvider" }, { "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\/Rotation\/!=(_:_:)" }, "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" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -4144,45 +4174,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(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" : "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\/Rotation\/pitch" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-3eglz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the X-axis. ", - "summary" : "The angle of rotation around the X-axis.", - "title" : "pitch" + "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" : [ - "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\/Path\/Equatable-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" : "Equatable Implementations" }, { "headings" : [ @@ -4192,13 +4222,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-1l9u5" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange" }, "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" : "orange" }, { "headings" : [ @@ -4208,61 +4238,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)" }, "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" : "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" : [ - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(points:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Bounded-Implementations" }, "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" : "", + "summary" : "", + "title" : "Bounded Implementations" }, { "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\/Mesh\/containsPoint(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The X component of the vector. ", - "summary" : "The X component of the vector.", - "title" : "x" + "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" : [ ], - "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\/LineSegment\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Comparable Implementations" + "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" : [ @@ -4272,29 +4302,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return ASCII STL string data for the mesh. ", - "summary" : "Return ASCII STL string data for the mesh.", - "title" : "stlString(name:)" + "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" + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)" }, "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" : "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" : [ @@ -4304,29 +4334,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7" + "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" : "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\/PathPoint\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)" }, "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" : "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" : [ @@ -4336,13 +4366,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(degrees:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)" }, "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" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -4352,29 +4382,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi" }, "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" : "Angle representing a full rotation. ", + "summary" : "Angle representing a full rotation.", + "title" : "twoPi" }, { "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\/Quaternion\/init(_:)-b3v3" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "platforms" : [ + + ], + "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" : [ @@ -4384,13 +4417,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the 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" : [ @@ -4400,62 +4433,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a offset transform. An offset distance.", - "summary" : "Creates a offset transform.", - "title" : "offset(_:)" + "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\/Bounds\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "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" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/Error-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Error Implementations" + "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" : "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\/Polygon\/mapTexcoords(_:)" }, "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" : "Return a copy of the polygon with transformed texture coordinates A closure to be applied to each texcoord in the polygon.", + "summary" : "Return a copy of the polygon with transformed texture coordinates", + "title" : "mapTexcoords(_:)" }, { "headings" : [ @@ -4465,29 +4497,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)" }, "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" : "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" : [ - "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\/Angle\/...(_:_:)" }, "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" : "Inherited from Comparable....(_:_:). ", + "summary" : "Inherited from Comparable....(_:_:).", + "title" : "...(_:_:)" }, { "headings" : [ @@ -4497,13 +4529,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the difference between two quaternion rotations,. ", - "summary" : "Returns the difference between two quaternion rotations,.", - "title" : "-(_:_:)" + "rawIndexableTextContent" : "The magnitude of the vector. ", + "summary" : "The magnitude of the vector.", + "title" : "length" }, { "headings" : [ @@ -4513,13 +4545,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:_:_:texcoord:color:)" }, "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" : "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" : [ @@ -4529,13 +4561,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)" }, "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" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -4545,13 +4577,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)" }, "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" : "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" : [ @@ -4561,13 +4593,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the X-axis. ", - "summary" : "The angle of rotation around the X-axis.", - "title" : "pitch" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -4577,13 +4609,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:_:_:texcoord:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm" }, "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" : "Creates a new vector from a CoreGraphics size. the CoreGraphics size.", + "summary" : "Creates a new vector from a CoreGraphics size.", + "title" : "init(_:)" }, { "headings" : [ @@ -4593,13 +4625,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors" }, "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" : "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" : [ @@ -4609,13 +4641,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0" }, "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" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -4625,64 +4657,62 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby" }, "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 color from a CoreGraphics CGColor. The CoreGraphics color instance.", + "summary" : "Creates a color from a CoreGraphics CGColor.", + "title" : "init(_:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "init(bounds:)" + "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" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Hashable.hash(into:). ", - "summary" : "Inherited from Hashable.hash(into:).", - "title" : "hash(into:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -4692,32 +4722,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An empty path. ", - "summary" : "An empty path.", - "title" : "empty" + "rawIndexableTextContent" : "Returns the ordered array of polygon edges. ", + "summary" : "Returns the ordered array of polygon edges.", + "title" : "orderedEdges" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "Mesh.MaterialProvider" + "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" : [ @@ -4727,13 +4754,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)" }, "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" : "Divides the rotation angle by the specified value. ", + "summary" : "Divides the rotation angle by the specified value.", + "title" : "\/=(_:_:)" }, { "headings" : [ @@ -4743,77 +4770,77 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Does the transform apply a mirror operation (negative scale)? ", + "summary" : "Does the transform apply a mirror operation (negative scale)?", + "title" : "isFlipped" }, { "headings" : [ - "Return Value" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/AdditiveArithmetic-Implementations" }, "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" : "", + "summary" : "", + "title" : "AdditiveArithmetic Implementations" }, { "headings" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)" }, "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" : "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" : [ - "Return Value" + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-4hvi3" }, "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" : "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" : [ ], - "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\/Transformable\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -4823,29 +4850,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default" }, "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" : "The default face generation behavior. Context-dependent. ", + "summary" : "The default face generation behavior. Context-dependent.", + "title" : "Mesh.Faces.default" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)" }, "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" : "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" : [ @@ -4855,13 +4882,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)" }, "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(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "init(polygons:)" }, { "headings" : [ @@ -4871,61 +4901,65 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-3m9le" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)" }, "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" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "init(_:_:)" }, { "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\/Mesh\/edges(intersecting:)" }, "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 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" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.method" }, "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 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" : [ ], - "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\/Vector\/init(_:)-7r7et" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Creates a Vector from a simd vector 2. A simd vector.", + "summary" : "Creates a Vector from a simd vector 2.", + "title" : "init(_:)" }, { "headings" : [ @@ -4935,13 +4969,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-22brv" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The length of the line segment. ", - "summary" : "The length of the line segment.", - "title" : "length" + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "15.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "12.0", + "name" : "macOS", + "unavailable" : false + } + ], + "rawIndexableTextContent" : "Creates a mesh from a RealityKit MeshDescriptor with optional material. The MeshDescriptor to convert into a mesh. An array of materials to apply to the mesh.", + "summary" : "Creates a mesh from a RealityKit MeshDescriptor with optional material.", + "title" : "init(_:materials:)" }, { "headings" : [ @@ -4951,13 +5001,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/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 AdditiveArithmetic.+(_:). ", + "summary" : "Inherited from AdditiveArithmetic.+(_:).", + "title" : "+(_:)" }, { "headings" : [ @@ -4967,13 +5017,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)" }, "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" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -4983,13 +5033,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the flip-side of the plane. ", - "summary" : "Returns the flip-side of the plane.", - "title" : "inverted()" + "rawIndexableTextContent" : "An infinite 2D plane in 3D space. ", + "summary" : "An infinite 2D plane in 3D space.", + "title" : "Plane" }, { "headings" : [ @@ -4999,13 +5049,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp" }, "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" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -5015,29 +5065,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Decodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Encodable Implementations" + "title" : "Decodable Implementations" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)" }, "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 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" : [ @@ -5047,13 +5097,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)" }, "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 an angle from a radians value. The angle in radians.", + "summary" : "Creates an angle from a radians value.", + "title" : "init(radians:)" }, { "headings" : [ @@ -5063,13 +5113,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The red component of the color. ", - "summary" : "The red component of the color.", - "title" : "r" + "rawIndexableTextContent" : "The angle of rotation around the Y-axis. ", + "summary" : "The angle of rotation around the Y-axis.", + "title" : "yaw" }, { "headings" : [ @@ -5079,16 +5129,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "init(points:)" + "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" : [ @@ -5098,45 +5145,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials" }, "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" : "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" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-91swk" }, "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" : "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" : [ ], - "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\/Color\/init(_:_:_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "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" : [ @@ -5146,45 +5193,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)" }, "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" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(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\/LineSegment\/translated(by:)" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -5194,13 +5241,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx" }, "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" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -5210,13 +5257,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6" }, "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" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -5226,13 +5273,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the inverse angle. ", - "summary" : "Returns the inverse angle.", - "title" : "-(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -5242,29 +5292,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cubeMapped()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the mesh with cube-mapped texture coordinates. ", - "summary" : "Return a copy of the mesh with cube-mapped texture coordinates.", - "title" : "cubeMapped()" + "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:_:)" + "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" : [ @@ -5274,29 +5324,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-8q2nt" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", - "summary" : "Inherited from Comparable.<=(_:_:).", - "title" : "<=(_:_:)" + "rawIndexableTextContent" : "The alpha component of the color. ", + "summary" : "The alpha component of the color.", + "title" : "a" }, { "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\/init(_:)-7go25" }, "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" : "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" : [ @@ -5306,29 +5356,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Vector from a simd vector 3. A simd vector.", - "summary" : "Creates a Vector from a simd vector 3.", - "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" : [ - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Transformable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "headings" : [ @@ -5338,13 +5388,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The angle of rotation around the Y-axis. ", + "summary" : "The angle of rotation around the Y-axis.", + "title" : "yaw" }, { "headings" : [ @@ -5354,13 +5407,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The Y component of the vector. ", - "summary" : "The Y component of the vector.", - "title" : "y" + "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" : [ @@ -5370,13 +5423,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The quaternion Y component. ", + "summary" : "The quaternion Y component.", + "title" : "y" }, { "headings" : [ @@ -5386,13 +5442,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord" }, "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" : "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" : [ @@ -5402,13 +5458,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", - "summary" : "Translate the value in place.", - "title" : "translate(by:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -5418,13 +5477,13 @@ "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\/Mesh\/fill(_:faces: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" : "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" : [ @@ -5434,13 +5493,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a rotation multiplied by the specified value. ", - "summary" : "Returns a rotation multiplied by the specified value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ @@ -5450,45 +5509,51 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The default face generation behavior. Context-dependent. ", - "summary" : "The default face generation behavior. Context-dependent.", - "title" : "Mesh.Faces.default" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z" }, "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" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The quaternion Z component. ", + "summary" : "The quaternion Z component.", + "title" : "z" }, { "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\/LineSegment\/inverted()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "rawIndexableTextContent" : "Flip the direction of the line segment ", + "summary" : "Flip the direction of the line segment", + "title" : "inverted()" }, { "headings" : [ @@ -5498,13 +5563,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal" }, "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" : "A surface normal vector, perpendicular to the plane. ", + "summary" : "A surface normal vector, perpendicular to the plane.", + "title" : "normal" }, { "headings" : [ @@ -5514,45 +5579,48 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-21ah6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity" }, "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" : "Rotation has no effect. ", + "summary" : "Rotation has no effect.", + "title" : "isIdentity" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle" }, "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()" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The angle of rotation. ", + "summary" : "The angle of rotation.", + "title" : "angle" }, { "headings" : [ - "Discussion" + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)" }, "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" : "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" : [ @@ -5562,13 +5630,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -5578,13 +5646,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "black" + "rawIndexableTextContent" : "Returns the componentwise sum of two vectors. ", + "summary" : "Returns the componentwise sum of two vectors.", + "title" : "+(_:_:)" }, { "headings" : [ @@ -5594,13 +5662,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty" }, "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" : "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" : [ @@ -5610,45 +5678,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Quaternion has no effect. ", - "summary" : "Quaternion has no effect.", - "title" : "isIdentity" + "rawIndexableTextContent" : "Creates a rotation around the Z axis. The angle to rotate by.", + "summary" : "Creates a rotation around the Z axis.", + "title" : "roll(_:)" }, { "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\/Mesh\/WrapMode\/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" : "The default wrap behavior. Context-dependent. ", + "summary" : "The default wrap behavior. Context-dependent.", + "title" : "Mesh.WrapMode.default" }, { "headings" : [ - + "Return Value" ], - "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\/Mesh\/inverted()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "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" : [ @@ -5658,13 +5726,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A finite line segment in 3D space. ", - "summary" : "A finite line segment in 3D space.", - "title" : "LineSegment" + "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" : [ @@ -5674,13 +5742,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-21ah6" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The blue component of the color. ", - "summary" : "The blue component of the color.", - "title" : "b" + "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" : [ @@ -5690,13 +5758,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Decodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Equatable Implementations" + "title" : "Decodable Implementations" }, { "headings" : [ @@ -5706,13 +5774,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:isCancelled:)" }, "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 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" : [ @@ -5722,77 +5790,80 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f" }, "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" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "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\/Plane\/init(normal:pointOnPlane:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "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" : [ - "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\/Mesh\/WrapMode" }, "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" : "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" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)" }, "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" : "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" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)" }, "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(_:)" + "platforms" : [ + + ], + "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" : [ @@ -5802,45 +5873,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p" }, "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" : "Creates a scale transform. A vector scale factor apply.", + "summary" : "Creates a scale transform.", + "title" : "scale(_:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlData:materialLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The end point of the line segment. ", - "summary" : "The end point of the line segment.", - "title" : "end" + "rawIndexableTextContent" : "Create a mesh from STL data. Discussion Parameters stlData: binary or ASCII STL file data materialLookup: A closure to map STL facet colors to Euclid materials. Use nil for default mapping.", + "summary" : "Create a mesh from STL data.", + "title" : "init(stlData:materialLookup:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)" }, "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" : "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" : [ @@ -5850,61 +5921,78 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)" }, "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 transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "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\/Vertex\/scaled(by:)-1dtbr" }, "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" : "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\/LineSegment\/scale(by:)-8v4ag" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)" }, "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" : "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" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-cys2" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "13.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.15", + "name" : "macOS", + "unavailable" : false + } + ], + "rawIndexableTextContent" : "Creates a EuclidTransform from a RealityKit Transform. The RealityKit transform to convert into a Euclid transform.", + "summary" : "Creates a EuclidTransform from a RealityKit Transform.", + "title" : "init(_:)" }, { "headings" : [ @@ -5914,13 +6002,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord: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 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" : [ @@ -5930,13 +6018,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a scale transform. A vector scale factor apply.", - "summary" : "Creates a scale transform.", - "title" : "scale(_:)" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", + "summary" : "Inherited from Comparable...<(_:_:).", + "title" : "..<(_:_:)" }, { "headings" : [ @@ -5946,13 +6034,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65" }, "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" : "Returns the product of a numeric multiplier and an angle. ", + "summary" : "Returns the product of a numeric multiplier and an angle.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -5962,29 +6050,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5s4mt" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The quaternion W component. ", - "summary" : "The quaternion W component.", - "title" : "w" + "rawIndexableTextContent" : "Creates a Vector from a simd vector 3. A simd vector.", + "summary" : "Creates a Vector from a simd vector 3.", + "title" : "init(_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The quaternion X component. ", - "summary" : "The quaternion X component.", - "title" : "x" + "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" : [ @@ -5994,13 +6082,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a vector with all components inverted. ", - "summary" : "Returns a vector with all components inverted.", - "title" : "-(_:)" + "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" : [ @@ -6010,29 +6098,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-2lm8c" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Encodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -6042,13 +6130,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord" }, "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" : "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" : [ @@ -6058,13 +6146,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink" }, "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" : "Texture is shrink-wrapped. ", + "summary" : "Texture is shrink-wrapped.", + "title" : "Mesh.WrapMode.shrink" }, { "headings" : [ @@ -6074,29 +6162,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)" }, "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" : "Inherited from AdditiveArithmetic.-=(_:_:). ", + "summary" : "Inherited from AdditiveArithmetic.-=(_:_:).", + "title" : "-=(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Decodable-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" : "Decodable Implementations" }, { "headings" : [ @@ -6106,13 +6194,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", - "summary" : "Inherited from Comparable.>=(_:_:).", - "title" : ">=(_:_:)" + "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+(_:). ", + "summary" : "Inherited from AdditiveArithmetic.+(_:).", + "title" : "+(_:)" }, { "headings" : [ @@ -6122,13 +6210,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The translation or position component of the transform. ", - "summary" : "The translation or position component of the transform.", - "title" : "offset" + "rawIndexableTextContent" : "Alignment mode to use when extruding along a path. ", + "summary" : "Alignment mode to use when extruding along a path.", + "title" : "Path.Alignment" }, { "headings" : [ @@ -6138,13 +6226,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "green" + "rawIndexableTextContent" : "A zero-length vector. ", + "summary" : "A zero-length vector.", + "title" : "zero" }, { "headings" : [ @@ -6154,29 +6242,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" }, "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" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "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\/zero" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The zero quaternion. ", + "summary" : "The zero quaternion.", + "title" : "zero" }, { "headings" : [ @@ -6186,13 +6277,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Angle representing a zero (identity) rotation. ", - "summary" : "Angle representing a zero (identity) rotation.", - "title" : "zero" + "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" : [ @@ -6202,13 +6293,13 @@ "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\/points" }, "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" : "The array of points that makes up this path. ", + "summary" : "The array of points that makes up this path.", + "title" : "points" }, { "headings" : [ @@ -6218,46 +6309,48 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9" }, "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" : "Returns whether the leftmost angle has the lower value. ", + "summary" : "Returns whether the leftmost angle has the lower value.", + "title" : "<(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Encodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "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\/Quaternion\/*=(_:_:)-5ic2j" }, "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:)" + "platforms" : [ + + ], + "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" : [ @@ -6267,13 +6360,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Hashable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Equatable Implementations" + "title" : "Hashable Implementations" }, { "headings" : [ @@ -6283,13 +6376,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn" }, "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" : "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" : [ @@ -6299,29 +6395,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider" }, "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" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "Mesh.MaterialProvider" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", - "summary" : "Inherited from Comparable....(_:_:).", - "title" : "...(_:_:)" + "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" : [ @@ -6331,29 +6430,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)" }, "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(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "intersect(_:isCancelled:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-2u7vo" }, "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" : "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" : [ @@ -6363,30 +6465,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Combines with the specified rotation. ", - "summary" : "Combines with the specified rotation.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "The translation or position component of the transform. ", + "summary" : "The translation or position component of the transform.", + "title" : "offset" }, { "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\/Polygon\/transformed(by:)" }, "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" : "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" : [ @@ -6396,13 +6497,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "subtract(_:isCancelled:)" }, { "headings" : [ @@ -6412,13 +6516,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation. ", - "summary" : "The angle of rotation.", - "title" : "angle" + "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" : [ @@ -6428,29 +6532,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-7r7et" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a Vector from a simd vector 2. A simd vector.", - "summary" : "Creates a Vector from a simd vector 2.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Creates a rotation around the Y axis. The angle to rotate by.", + "summary" : "Creates a rotation around the Y axis.", + "title" : "yaw(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -6460,45 +6564,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()" }, "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" : "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" : [ ], - "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\/init(submeshes:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "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" : [ ], - "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\/Bounds\/transformed(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "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" : [ @@ -6508,46 +6612,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b" }, "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" : "The blue component of the color. ", + "summary" : "The blue component of the color.", + "title" : "b" }, { "headings" : [ - "Return Value" - ], - "kind" : "symbol", - "location" : { - "reference" : { - "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)" - }, - "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(_:)" - }, - { - "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\/Line\/init(origin:direction:)" }, "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 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" : [ @@ -6557,13 +6644,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from a SceneKit quaternion. The SCNQuaternion to convert.", - "summary" : "Creates a rotation from a SceneKit quaternion.", - "title" : "init(_:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ @@ -6573,30 +6660,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals" }, "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" : "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", - "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\/Vector\/lerp(_:_:)" }, "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" : "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" : [ @@ -6606,29 +6692,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Equatable Implementations" + "title" : "Decodable Implementations" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle in radians. ", - "summary" : "The angle in radians.", - "title" : "radians" + "platforms" : [ + + ], + "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" : [ @@ -6638,13 +6727,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri" }, "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" : "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" : [ @@ -6654,13 +6743,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withTexcoord(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a copy of the vertex with the specified texture coordinate. The texture coordinate to apply to the vertex.", - "summary" : "Creates a copy of the vertex with the specified texture coordinate.", - "title" : "withTexcoord(_:)" + "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" : [ @@ -6670,13 +6759,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", + "summary" : "Inherited from Comparable...<(_:_:).", + "title" : "..<(_:_:)" }, { "headings" : [ @@ -6686,13 +6775,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x" }, "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(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The quaternion X component. ", + "summary" : "The quaternion X component.", + "title" : "x" }, { "headings" : [ @@ -6702,16 +6794,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cubeMapped()" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "init(polygons:)" + "rawIndexableTextContent" : "Return a copy of the mesh with cube-mapped texture coordinates. ", + "summary" : "Return a copy of the mesh with cube-mapped texture coordinates.", + "title" : "cubeMapped()" }, { "headings" : [ @@ -6721,45 +6810,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "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\/LineSegment\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Encodable-Implementations" }, "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" : "Encodable Implementations" }, { "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\/Bounds\/transform(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" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -6769,13 +6858,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle in degrees. ", - "summary" : "The angle in degrees.", - "title" : "degrees" + "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" : [ @@ -6785,13 +6874,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Texture is tube-wrapped. ", - "summary" : "Texture is tube-wrapped.", - "title" : "Mesh.WrapMode.tube" + "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" : [ @@ -6801,13 +6890,13 @@ "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\/Plane\/transform(by:)" }, "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" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -6833,13 +6922,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a" }, "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" : "Inherited from Comparable.>(_:_:). ", + "summary" : "Inherited from Comparable.>(_:_:).", + "title" : ">(_:_:)" }, { "headings" : [ @@ -6849,29 +6938,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)" }, "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 transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds" }, "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(_:)" + "rawIndexableTextContent" : "The bounds of the object. ", + "summary" : "The bounds of the object.", + "title" : "bounds" }, { "headings" : [ @@ -6881,13 +6970,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The identity quaternion (i.e. no rotation). ", - "summary" : "The identity quaternion (i.e. no rotation).", - "title" : "identity" + "platforms" : [ + + ], + "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" : [ @@ -6897,45 +6989,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)" }, "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" : "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" : [ - "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\/PathPoint\/translate(by:)" }, "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" : "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\/Rotation\/identity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The identity rotation (i.e. no rotation). ", - "summary" : "The identity rotation (i.e. no rotation).", - "title" : "identity" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -6945,13 +7037,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation transform. A rotation to apply.", - "summary" : "Creates a rotation transform.", - "title" : "rotation(_:)" + "rawIndexableTextContent" : "An infinite line in 3D space. ", + "summary" : "An infinite line in 3D space.", + "title" : "Line" }, { "headings" : [ @@ -6961,13 +7053,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", - "summary" : "Inherited from Comparable....(_:).", - "title" : "...(_:)" + "rawIndexableTextContent" : "The identity rotation (i.e. no rotation). ", + "summary" : "The identity rotation (i.e. no rotation).", + "title" : "identity" }, { "headings" : [ @@ -6977,14 +7069,17 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)" }, "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:)" - }, + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "init(cgPath:detail:color:)" + }, { "headings" : [ @@ -6993,13 +7088,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ @@ -7009,13 +7104,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The position of the vertex. ", - "summary" : "The position of the vertex.", - "title" : "position" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -7025,30 +7120,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)" }, "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" : "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", - "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\/Transformable\/rotate(by:)-5a3iz" }, "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(_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -7058,13 +7155,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to" }, "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" : "Inherited from Comparable.<=(_:_:). ", + "summary" : "Inherited from Comparable.<=(_:_:).", + "title" : "<=(_:_:)" }, { "headings" : [ @@ -7074,13 +7171,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "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" : [ @@ -7090,29 +7187,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)" }, "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" : "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" : [ - "Overview" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Encodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -7122,13 +7219,13 @@ "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" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -7138,12 +7235,15 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-5bh7b" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx" }, "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.", + "platforms" : [ + + ], + "rawIndexableTextContent" : "Creates a quaternion from raw components. An array of 4 floating-point values.", + "summary" : "Creates a quaternion from raw components.", "title" : "init(_:)" }, { @@ -7154,13 +7254,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-7p5hd" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a new identity rotation. ", - "summary" : "Creates a new identity rotation.", - "title" : "init()" + "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" : [ @@ -7170,13 +7270,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)" }, "type" : "topLevelPage" }, - "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" + "platforms" : [ + + ], + "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" : [ @@ -7186,29 +7289,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/hash(into:)" }, "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" : "Inherited from Hashable.hash(into:). ", + "summary" : "Inherited from Hashable.hash(into:).", + "title" : "hash(into:)" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color" }, "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" : "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" : [ @@ -7218,13 +7321,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-mpk5" }, "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" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -7234,13 +7337,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Generate front faces. ", - "summary" : "Generate front faces.", - "title" : "Mesh.Faces.front" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -7250,13 +7353,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", - "summary" : "Inherited from Comparable.<=(_:_:).", - "title" : "<=(_:_:)" + "rawIndexableTextContent" : "The axis of rotation. ", + "summary" : "The axis of rotation.", + "title" : "axis" }, { "headings" : [ @@ -7266,13 +7369,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-9m686" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:detail:color:)" }, "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 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" : [ @@ -7282,13 +7385,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "yellow" + "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" : [ @@ -7298,160 +7401,160 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The quaternion Y component. ", - "summary" : "The quaternion Y component.", - "title" : "y" + "rawIndexableTextContent" : "Returns the difference between two angles. ", + "summary" : "Returns the difference between two angles.", + "title" : "-(_:_:)" }, { "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\/Vertex\/init(_:)-5517j" }, "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" : "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" : [ - "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\/scale(by:)-1h2f7" }, "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" : "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\/Bounds\/init(_:)-1icmf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices" }, "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" : "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" : [ - + "Return Value" ], - "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\/cos(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "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" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "smoothNormals(_:)" + "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" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)" }, "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" : "Creates a rotation transform. A rotation to apply.", + "summary" : "Creates a rotation transform.", + "title" : "rotation(_:)" + }, + { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The total length of the path. ", - "summary" : "The total length of the path.", - "title" : "length" + "platforms" : [ + + ], + "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", - "summary" : "Inherited from Comparable....(_:_:).", - "title" : "...(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -7461,45 +7564,49 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the 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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An array containing the raw components of the quaternion. ", - "summary" : "An array containing the raw components of the quaternion.", - "title" : "components" + "platforms" : [ + + ], + "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" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()" }, "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" : "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" : [ @@ -7509,13 +7616,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)" }, "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" : "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" : [ @@ -7525,13 +7632,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The magnitude of the vector. ", - "summary" : "The magnitude of the vector.", - "title" : "length" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -7541,29 +7648,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)" }, "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" : "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\/Bounded\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounds of the object. ", - "summary" : "The bounds of the object.", - "title" : "bounds" + "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" : [ @@ -7573,45 +7680,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the angle divided by a numeric denominator. ", - "summary" : "Returns the angle divided by a numeric denominator.", - "title" : "\/(_:_:)" + "rawIndexableTextContent" : "The angle is zero (or close to zero). ", + "summary" : "The angle is zero (or close to zero).", + "title" : "isZero" }, { "headings" : [ - + "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\/Bounds\/init(_:_:)" }, "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 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" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Creates a color from an NSColor. The NSColor to convert.", + "summary" : "Creates a color from an NSColor.", + "title" : "init(_:)" }, { "headings" : [ @@ -7621,13 +7728,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components" }, "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" : "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" : [ @@ -7637,13 +7744,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq" }, "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" : "Inherited from Comparable.<=(_:_:). ", + "summary" : "Inherited from Comparable.<=(_:_:).", + "title" : "<=(_:_:)" }, { "headings" : [ @@ -7653,29 +7760,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)" }, "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" : "Replace\/remove path point colors. The color to apply to each point in the path.", + "summary" : "Replace\/remove path point colors.", + "title" : "withColor(_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The axis of rotation. ", - "summary" : "The axis of rotation.", - "title" : "axis" + "rawIndexableTextContent" : "Return binary STL data for the mesh. A closure to map Euclid materials to STL facet colors. Use nil for default mapping. Return Value A Euclid Color value.", + "summary" : "Return binary STL data for the mesh.", + "title" : "stlData(colorLookup:)" }, { "headings" : [ @@ -7685,13 +7792,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)" }, "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" : "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" : [ @@ -7701,13 +7808,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)" }, "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 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" : [ @@ -7717,13 +7824,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black" }, "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" : " ", + "summary" : "", + "title" : "black" }, { "headings" : [ @@ -7733,45 +7840,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapVertexColors(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the polygon with transformed vertex colors A closure to be applied to each vertex color in the polygon.", - "summary" : "Return a copy of the polygon with transformed vertex colors", - "title" : "mapVertexColors(_:)" + "rawIndexableTextContent" : "Returns the area of the polygon. ", + "summary" : "Returns the area of the polygon.", + "title" : "area" }, { "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\/Color\/init(_:_:)" }, "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" : "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" : [ - "Return Value" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Decodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -7781,13 +7888,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -7797,13 +7904,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "init(bounds:)" }, { "headings" : [ @@ -7813,13 +7923,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd" + "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" : [ @@ -7829,13 +7939,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorUserInfo" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from CustomNSError.errorUserInfo. ", - "summary" : "Inherited from CustomNSError.errorUserInfo.", - "title" : "errorUserInfo" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Multiplies the components of the quaternion by the specified value. ", + "summary" : "Multiplies the components of the quaternion by the specified value.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -7845,126 +7958,125 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)" }, "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 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", - "Discussion" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Decodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "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\/Plane\/_=(_:_:)-1oq2t" }, "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" : "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\/scale(by:)-7pxnt" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Equatable-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" : "Equatable Implementations" }, { "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\/Angle\/-=(_:_:)" }, "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" : "Inherited from AdditiveArithmetic.-=(_:_:). ", + "summary" : "Inherited from AdditiveArithmetic.-=(_:_:).", + "title" : "-=(_:_:)" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5" }, "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 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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()" }, "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 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" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation" }, "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 rotation or orientation component of the transform. ", + "summary" : "The rotation or orientation component of the transform.", + "title" : "rotation" }, { "headings" : [ @@ -7974,61 +8086,64 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h" }, "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(_:)" + "platforms" : [ + + ], + "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\/Vector\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Encodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile" }, "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" : "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounding box containing the polygon. ", - "summary" : "The bounding box containing the polygon.", - "title" : "bounds" + "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" : [ @@ -8038,13 +8153,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withColor(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a copy of the vertex with the specified color. The color to apply to the vertex.", - "summary" : "Creates a copy of the vertex with the specified color.", - "title" : "withColor(_:)" + "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -8054,13 +8169,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the reverse (aka transpose) rotation. ", - "summary" : "Returns the reverse (aka transpose) rotation.", - "title" : "-(_:)" + "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", + "summary" : "Inherited from Comparable.>(_:_:).", + "title" : ">(_:_:)" }, { "headings" : [ @@ -8070,13 +8185,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", - "summary" : "Inherited from Comparable.<=(_:_:).", - "title" : "<=(_:_:)" + "rawIndexableTextContent" : "Returns a rotation divided by the specified value. ", + "summary" : "Returns a rotation divided by the specified value.", + "title" : "\/(_:_:)" }, { "headings" : [ @@ -8086,13 +8201,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0" }, "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" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -8102,13 +8217,43 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorDomain" }, "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:)" + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "8.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.10", + "name" : "macOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "9.0", + "name" : "tvOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "2.0", + "name" : "watchOS", + "unavailable" : false + } + ], + "rawIndexableTextContent" : "Inherited from CustomNSError.errorDomain. ", + "summary" : "Inherited from CustomNSError.errorDomain.", + "title" : "errorDomain" }, { "headings" : [ @@ -8118,13 +8263,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the Y-axis. ", - "summary" : "The angle of rotation around the Y-axis.", - "title" : "yaw" + "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" : [ @@ -8134,13 +8279,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y" }, "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" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -8150,13 +8295,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/mapColors(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return a copy of the polygon with transformed vertex colors A closure to be applied to each color in the path.", - "summary" : "Return a copy of the polygon with transformed vertex colors", - "title" : "mapColors(_:)" + "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" : [ @@ -8166,30 +8311,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Multiplies the angle by a numeric value. ", - "summary" : "Multiplies the angle by a numeric value.", - "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" : [ - "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\/Angle\/radians(_:)" }, "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" : "Creates an angle from a radians value. The angle in radians.", + "summary" : "Creates an angle from a radians value.", + "title" : "radians(_:)" }, { "headings" : [ @@ -8199,13 +8343,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w" }, "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" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The quaternion W component. ", + "summary" : "The quaternion W component.", + "title" : "w" }, { "headings" : [ @@ -8215,13 +8362,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", - "summary" : "Inherited from Comparable.>(_:_:).", - "title" : ">(_:_:)" + "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" : [ @@ -8231,29 +8378,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the reverse quaternion rotation. ", - "summary" : "Returns the reverse quaternion rotation.", - "title" : "-(_:)" + "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" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Input\/output error. ", - "summary" : "Input\/output error.", - "title" : "Mesh.IOError" + "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" : [ @@ -8263,13 +8410,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Generate back faces. ", - "summary" : "Generate back faces.", - "title" : "Mesh.Faces.back" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Quaternion has no effect. ", + "summary" : "Quaternion has no effect.", + "title" : "isIdentity" }, { "headings" : [ @@ -8279,13 +8429,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The polygons that make up the mesh. ", - "summary" : "The polygons that make up the mesh.", - "title" : "polygons" + "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" : [ @@ -8295,13 +8445,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()" }, "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" : "Return a copy of the polygon without texture coordinates ", + "summary" : "Return a copy of the polygon without texture coordinates", + "title" : "withoutTexcoords()" }, { "headings" : [ @@ -8311,13 +8461,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)" }, "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" : "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" : [ @@ -8327,13 +8477,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj" }, "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" : "Scale the value in place. A uniform scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" }, { "headings" : [ @@ -8343,29 +8493,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale" }, "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 size or scale component of the transform. ", + "summary" : "The size or scale component of the transform.", + "title" : "scale" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.-=(_:_:). ", - "summary" : "Inherited from AdditiveArithmetic.-=(_:_:).", - "title" : "-=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -8375,13 +8525,13 @@ "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\/Path\/text(_:font:width:detail:)" }, "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" : "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" : [ @@ -8391,13 +8541,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)" }, "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" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -8407,29 +8557,35 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Returns the reverse quaternion rotation. ", + "summary" : "Returns the reverse quaternion rotation.", + "title" : "-(_:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", "summary" : "", - "title" : "Transformable Implementations" + "title" : "xor(_:isCancelled:)" }, { "headings" : [ @@ -8439,13 +8595,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default" }, "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" : "Use default alignment heuristic for the given path. ", + "summary" : "Use default alignment heuristic for the given path.", + "title" : "Path.Alignment.default" }, { "headings" : [ @@ -8455,7 +8611,7 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)" }, "type" : "topLevelPage" }, @@ -8471,13 +8627,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)" }, "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" + "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" : [ @@ -8487,29 +8643,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)" }, "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" : "Inherited from AdditiveArithmetic.+=(_:_:). ", + "summary" : "Inherited from AdditiveArithmetic.+=(_:_:).", + "title" : "+=(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/closed()" }, "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" : "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" : [ @@ -8519,13 +8675,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The color of the path point (optional). ", - "summary" : "The color of the path point (optional).", - "title" : "color" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Returns the sum of two quaternion rotations. ", + "summary" : "Returns the sum of two quaternion rotations.", + "title" : "+(_:_:)" }, { "headings" : [ @@ -8535,13 +8694,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The identity transform (i.e. no transform). ", - "summary" : "The identity transform (i.e. no transform).", - "title" : "identity" + "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" : [ @@ -8551,13 +8710,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The position of the path point. ", - "summary" : "The position of the path point.", - "title" : "position" + "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" : [ @@ -8567,13 +8726,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withTexcoord(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle is zero (or close to zero). ", - "summary" : "The angle is zero (or close to zero).", - "title" : "isZero" + "rawIndexableTextContent" : "Creates a copy of the vertex with the specified texture coordinate. The texture coordinate to apply to the vertex.", + "summary" : "Creates a copy of the vertex with the specified texture coordinate.", + "title" : "withTexcoord(_:)" }, { "headings" : [ @@ -8583,13 +8742,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm" + "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" : [ @@ -8599,13 +8761,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "white" }, { "headings" : [ @@ -8615,29 +8777,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/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" : "Inherited from Comparable...<(_:). ", + "summary" : "Inherited from Comparable...<(_:).", + "title" : "..<(_:)" }, { "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\/Bounds\/init(_:)-r54o" }, "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 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" : [ @@ -8647,13 +8809,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j" }, "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" : "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" : [ @@ -8663,13 +8825,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.<=(_:_:). ", - "summary" : "Inherited from Comparable.<=(_:_:).", - "title" : "<=(_:_:)" + "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" : [ @@ -8679,13 +8841,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", - "summary" : "Inherited from Comparable...<(_:).", - "title" : "..<(_:)" + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "blue" }, { "headings" : [ @@ -8695,13 +8857,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "Returns the product of an angle and numeric multiplier. ", + "summary" : "Returns the product of an angle and numeric multiplier.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -8711,61 +8873,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the Y-axis. ", - "summary" : "The angle of rotation around the Y-axis.", - "title" : "yaw" + "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" : [ ], - "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\/Angle\/_=(_:_:)-9rm6o" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Comparable Implementations" + "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\/Path\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlString:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Create a mesh from an STL string. ASCII STL string data.", + "summary" : "Create a mesh from an STL string.", + "title" : "init(stlString:)" }, { "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\/Bounds\/Encodable-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" : "Encodable Implementations" }, { "headings" : [ @@ -8775,45 +8937,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf" }, "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" : "Combines two rotations to get the cumulative rotation. ", + "summary" : "Combines two rotations to get the cumulative rotation.", + "title" : "*(_:_:)" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/Error-Implementations" }, "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" : "", + "summary" : "", + "title" : "Error Implementations" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/write(to:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Saves a mesh to a file, with optional material mapping. The URL of the file to be written. A closure to map Euclid materials to format-appropriate materials. Use nil for default mapping.", - "summary" : "Saves a mesh to a file, with optional material mapping.", - "title" : "write(to:materialLookup:)" + "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" : [ @@ -8823,13 +8985,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Equatable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Encodable Implementations" + "title" : "Equatable Implementations" }, { "headings" : [ @@ -8839,13 +9001,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a rotation from a quaternion. A quaternion defining a rotation.", - "summary" : "Creates a rotation from a quaternion.", - "title" : "init(_:)" + "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" : [ @@ -8855,13 +9017,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "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" : [ @@ -8871,29 +9033,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)" }, "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" : "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" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Comparable-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" : "Comparable Implementations" }, { "headings" : [ @@ -8903,13 +9065,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "magenta" + "rawIndexableTextContent" : "Angle representing a half-rotation. ", + "summary" : "Angle representing a half-rotation.", + "title" : "pi" }, { "headings" : [ @@ -8919,61 +9081,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Equatable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Decodable Implementations" + "title" : "Equatable Implementations" }, { "headings" : [ - "Return Value" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Comparable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Comparable Implementations" }, { "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\/.._(_:)" }, "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/Equatable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a new vertex with the normal inverted. ", - "summary" : "Returns a new vertex with the normal inverted.", - "title" : "inverted()" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -8983,13 +9145,13 @@ "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\/Plane\/translate(by:)" }, "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" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ @@ -8999,13 +9161,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)" }, "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 Comparable...<(_:). ", + "summary" : "Inherited from Comparable...<(_:).", + "title" : "..<(_:)" }, { "headings" : [ @@ -9015,13 +9177,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3" }, "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 Comparable....(_:). ", + "summary" : "Inherited from Comparable....(_:).", + "title" : "...(_:)" }, { "headings" : [ @@ -9031,29 +9193,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The Z component of the vector. ", - "summary" : "The Z component of the vector.", - "title" : "z" + "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\/Path\/square(size:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ @@ -9063,45 +9225,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons" }, "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.", - "title" : "init(from:)" + "rawIndexableTextContent" : "The polygons that make up the mesh. ", + "summary" : "The polygons that make up the mesh.", + "title" : "polygons" }, { "headings" : [ - "Return Value" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Comparable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Comparable Implementations" }, { "headings" : [ - "Discussion" + "Return Value" ], "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\/Vector\/project(onto:)-rksk" }, "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" : "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" : [ @@ -9111,29 +9273,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo" }, "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" : "Creates a rotation from a SceneKit quaternion. The SCNQuaternion to convert.", + "summary" : "Creates a rotation from a SceneKit quaternion.", + "title" : "init(_:)" }, { "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\/rotate(by:)-3m9le" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -9143,29 +9305,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An optional Polygon.Material associated with the polygon. ", - "summary" : "An optional Polygon.Material associated with the polygon.", - "title" : "material" + "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" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Multiplies the rotation angle by the specified value. ", + "summary" : "Multiplies the rotation angle by the specified value.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -9175,29 +9337,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)" }, "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 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" : [ ], - "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\/Angle\/init(degrees:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Bounded Implementations" + "rawIndexableTextContent" : "Creates an Angle from a degrees value. The angle in degrees.", + "summary" : "Creates an Angle from a degrees value.", + "title" : "init(degrees:)" }, { "headings" : [ @@ -9207,77 +9369,77 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the difference between two angles. ", - "summary" : "Returns the difference between two angles.", - "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "red" + "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Encodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Encodable Implementations" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the sum of two angles. ", - "summary" : "Returns the sum of two angles.", - "title" : "+(_:_:)" + "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\/Angle\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Hashable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Hashable Implementations" }, { "headings" : [ @@ -9287,29 +9449,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The rotation or orientation component of the transform. ", - "summary" : "The rotation or orientation component of the transform.", - "title" : "rotation" + "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" : [ - + "Overview" ], - "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\/Mesh" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "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" : [ @@ -9319,45 +9481,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/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 new identity rotation. ", + "summary" : "Creates a new identity rotation.", + "title" : "init()" }, { "headings" : [ - + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", - "summary" : "Inherited from Comparable.>(_:_:).", - "title" : ">(_:_:)" + "rawIndexableTextContent" : "An orientation or rotation in 3D space. Overview 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" : "An orientation or rotation in 3D space.", + "title" : "Rotation" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -9367,13 +9529,43 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorCode" }, "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" + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "8.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.10", + "name" : "macOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "9.0", + "name" : "tvOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "2.0", + "name" : "watchOS", + "unavailable" : false + } + ], + "rawIndexableTextContent" : "Inherited from CustomNSError.errorCode. ", + "summary" : "Inherited from CustomNSError.errorCode.", + "title" : "errorCode" }, { "headings" : [ @@ -9383,13 +9575,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The default wrap behavior. Context-dependent. ", - "summary" : "The default wrap behavior. Context-dependent.", - "title" : "Mesh.WrapMode.default" + "rawIndexableTextContent" : "Creates a vector from a CoreGraphics CGPoint. the CoreGraphics point.", + "summary" : "Creates a vector from a CoreGraphics CGPoint.", + "title" : "init(_:)" }, { "headings" : [ @@ -9399,13 +9591,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)" }, "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" : [ @@ -9415,29 +9607,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-3drza" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m" }, "type" : "topLevelPage" }, - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "15.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "12.0", - "name" : "macOS", - "unavailable" : false - } - ], - "rawIndexableTextContent" : "Creates a mesh from a RealityKit ModelEntity with optional material mapping. The ModelEntity to convert into a mesh. An optional closure to map the RealityKit materials to Euclid materials.", - "summary" : "Creates a mesh from a RealityKit ModelEntity with optional material mapping.", - "title" : "init(_:materialLookup:)" + "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" : [ @@ -9447,13 +9623,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv" }, "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" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -9463,29 +9639,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", - "summary" : "Inherited from Comparable.>=(_:_:).", - "title" : ">=(_:_:)" + "platforms" : [ + + ], + "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\/Vector\/+=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+=(_:_:). ", - "summary" : "Inherited from AdditiveArithmetic.+=(_:_:).", - "title" : "+=(_:_:)" + "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" : [ @@ -9495,45 +9674,48 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "init(points:)" }, { "headings" : [ ], - "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\/Vector\/unitX" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Bounded Implementations" + "rawIndexableTextContent" : "A vector of length 1 along the X axis. ", + "summary" : "A vector of length 1 along the X axis.", + "title" : "unitX" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Equatable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ @@ -9543,13 +9725,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The minimum coordinate of the bounds. ", - "summary" : "The minimum coordinate of the bounds.", - "title" : "min" + "rawIndexableTextContent" : "Transform the value in place. A transform to apply to the value.", + "summary" : "Transform the value in place.", + "title" : "transform(by:)" }, { "headings" : [ @@ -9559,11 +9741,11 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6" }, "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:)" }, @@ -9575,15 +9757,15 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a" }, "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" : "Multiplies the components of the vector by the specified value. ", + "summary" : "Multiplies the components of the vector by the specified value.", + "title" : "*=(_:_:)" + }, + { "headings" : [ ], @@ -9591,77 +9773,79 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>(_:_:). ", - "summary" : "Inherited from Comparable.>(_:_:).", - "title" : ">(_:_:)" + "rawIndexableTextContent" : "Replace\/remove point color. The color to apply to the point.", + "summary" : "Replace\/remove point color.", + "title" : "withColor(_:)" }, { "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\/Mesh\/WrapMode\/none" }, "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" : "Do not generate texture coordinates. ", + "summary" : "Do not generate texture coordinates.", + "title" : "Mesh.WrapMode.none" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)" }, "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" : "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", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.type.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Texture is shrink-wrapped. ", - "summary" : "Texture is shrink-wrapped.", - "title" : "Mesh.WrapMode.shrink" + "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" : [ - "Return Value" + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/symmetricDifference(_:isCancelled:)-swift.type.method" }, "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" : "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" : [ @@ -9671,13 +9855,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-99vxt" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns a transformed copy of the value. ", - "summary" : "Returns a transformed copy of the value.", - "title" : "*(_:_:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Creates a Quaternion from a simd quaternion. A simd quaternion.", + "summary" : "Creates a Quaternion from a simd quaternion.", + "title" : "init(_:)" }, { "headings" : [ @@ -9687,29 +9874,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq" }, "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 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" + "Overview" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform" }, "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" : "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" : [ @@ -9719,13 +9906,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The quaternion Z component. ", - "summary" : "The quaternion Z component.", - "title" : "z" + "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" : [ @@ -9735,13 +9922,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.+=(_:_:). ", - "summary" : "Inherited from AdditiveArithmetic.+=(_:_:).", - "title" : "+=(_:_:)" + "platforms" : [ + + ], + "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" : [ @@ -9751,13 +9941,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Angle representing a quarter rotation. ", - "summary" : "Angle representing a quarter rotation.", - "title" : "halfPi" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -9767,13 +9960,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/icosahedron(radius:faces:wrapMode:material:)" }, "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" : "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" : [ @@ -9783,29 +9976,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "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\/init(_:detail:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl" }, "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:)" + "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" : [ @@ -9815,13 +10008,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)" }, "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" : "Return ASCII STL string data for the mesh. ", + "summary" : "Return ASCII STL string data for the mesh.", + "title" : "stlString(name:)" }, { "headings" : [ @@ -9831,29 +10024,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:along:twist:align:faces:material:isCancelled:)" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/cyan" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Comparable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", + "rawIndexableTextContent" : "", "summary" : "", - "title" : "cyan" + "title" : "Comparable Implementations" }, { "headings" : [ @@ -9863,29 +10056,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)" }, "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(_:)" + "platforms" : [ + + ], + "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", - "summary" : "Inherited from Comparable...<(_:).", - "title" : "..<(_:)" + "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" : [ @@ -9895,13 +10091,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-5mcqw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "A vector of length 1 along the X axis. ", - "summary" : "A vector of length 1 along the X axis.", - "title" : "unitX" + "platforms" : [ + + ], + "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" : [ @@ -9911,30 +10110,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Return Wavefront OBJ string data for the mesh. ", - "summary" : "Return Wavefront OBJ string data for the mesh.", - "title" : "objString()" + "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" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)" }, "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" : "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" : [ @@ -9944,13 +10142,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd" }, "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" : "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" : [ @@ -9960,13 +10158,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The starting point of the line segment. ", - "summary" : "The starting point of the line segment.", - "title" : "start" + "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" : [ @@ -9976,13 +10174,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "white" + "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" : [ @@ -9992,13 +10190,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)" }, "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" : "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" : [ @@ -10008,109 +10206,109 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withPosition(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a copy of the vertex with the specified position. The position to apply to the vertex.", - "summary" : "Creates a copy of the vertex with the specified position.", - "title" : "withPosition(_:)" + "rawIndexableTextContent" : "Alignment mode to use when extruding along a path. ", + "summary" : "Alignment mode to use when extruding along a path.", + "title" : "Mesh.Alignment" }, { "headings" : [ - "Return Value" + ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/AdditiveArithmetic-Implementations" }, "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" : "", + "summary" : "", + "title" : "AdditiveArithmetic Implementations" }, { "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\/Mesh\/STLColorProvider" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Decodable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-5ztum" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-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" : "Encodable Implementations" }, { "headings" : [ - + "Discussion" ], - "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\/Color\/init(_:)-53lhy" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable 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" : [ @@ -10120,13 +10318,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82" }, "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 rotation multiplied by the specified value. ", + "summary" : "Returns a rotation multiplied by the specified value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -10136,94 +10334,96 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)" }, "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 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:)" }, { "headings" : [ - "Discussion" + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()" }, "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" + "platforms" : [ + + ], + "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The bounds of all the path’s points. ", - "summary" : "The bounds of all the path’s points.", - "title" : "bounds" + "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" : [ - "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\/Angle\/radians" }, "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" : "The angle in radians. ", + "summary" : "The angle in radians.", + "title" : "radians" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-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" : "Decodable Implementations" }, { "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" : [ @@ -10233,12 +10433,12 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)" }, "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.", + "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:)" }, { @@ -10249,13 +10449,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne" }, "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" : "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" : [ @@ -10265,45 +10465,50 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)" }, "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" : "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" : [ - + "Overview", + "Primitive Geometry", + "Builders", + "Curves", + "Constructive Solid Geometry (CSG)", + "Text" ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "The angle of rotation around the Z-axis. ", - "summary" : "The angle of rotation around the Z-axis.", - "title" : "roll" + "rawIndexableTextContent" : "Define 3D objects by constructing meshes. Overview To create a 3D object, create a Mesh in Euclid. You can manually create an array of Polygon instances, but that’s pretty tedious. Euclid offers a number of helper methods to quickly create complex geometry. Primitive Geometry The simplest way to create a Mesh is to start with an existing primitive, such as a cube or sphere. The following primitive types are available in Euclid, and are defined as static constructor methods on Mesh: cube(center:size:faces:wrapMode:material:) - A cubic Mesh (or cuboid, if you specify different values for the width, height and\/or depth). sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:) - A spherical Mesh. cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:) - A cylindrical Mesh. cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:) - A conical Mesh. All Mesh instances are made of flat polygons. Since true curves cannot be represented using straight edges, the sphere, cylinder and cone primitives are approximations. Control the quality of these approximations by using the slices and\/or stacks parameters to configure the level of detail. In addition to the 3D Mesh primitives listed, there are also 2D Path primitives. These are implemented as static constructor methods on the Path type instead of Mesh: line(_:color:) - A straight line. ellipse(width:height:segments:color:)- A closed, elliptical Path. circle(radius:segments:color:) - A closed, circular Path. rectangle(width:height:color:) - A closed, rectangular Path. roundedRectangle(width:height:radius:detail:color:) - A closed, rectangular Path with rounded corners. square(size:color:) - Same as rectangle(width:height:color:), but with equal width and height. polygon(radius:sides:color:) - A regular polygon shape (not to be confused with Euclid’s Polygon type). Builders Geometric primitives are all very well, but there is a limit to what you can create by combining spheres, cubes, etc. As an intermediate step between the extremes of using predefined primitives or individually positioning polygons, you can use builders. Builders create a Mesh from a (typically) 2D Path. The following builders are defined as static constructor functions on the Mesh type: fill(_:faces:material:) - This builder fills a single Path to create a pair of Polygons (front and back faces). stroke(_:width:detail:material:isCancelled:) - This builder strokes a single Path to create a strip or tube. A second variant (stroke(_:width:detail:material:)) of the function accepts an array of LineSegment, which is convenient for creating a wireframe geometry from the uniqueEdges of a Mesh. lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:) - This builder takes a 2D Path and rotates it around the Y-axis to create a rotationally symmetrical Mesh. This is an easy way to create complex shapes like candlesticks, chess pieces, rocket ships, etc. extrude(_:along:twist:align:faces:material:isCancelled:) - This builder fills a Path and extrudes it along its axis, or another path. This can turn a circular path into a tube, or a square into a cube etc. loft(_:faces:material:) - This builder is similar to extrude(_:along:twist:align:faces:material:isCancelled:), but takes multiple Path instances and joins them. The sequence of Path instances do not need to be the same shape, but must all have the same number of points and subpaths. To work correctly, each Path must be pre-positioned in 3D space so they do not all lie on the same plane. convexHull(of:material:) - Similar the the loft(_:faces:material:) builder, this method can form a Mesh by wrapping a skin around one or more Path instances. But unlike the other builders, in addition to paths you can also form a convex hull around a collection of meshes, polygons, vertices or points. Curves Builders are a powerful tool for creating interesting Mesh instances from one or more Path instances, but what about creating an interesting Path in the first place? Creating a polygonal Path by specifying points individually is straightforward, but creating curves that way is tedious. That’s where Bezier curves come in. Beziers allow you to specify complex curves using just a few control points. Euclid exposes this feature via the curve(_:detail:) constructor method. The curve(_:detail:) 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 create sharp corners in the Path as normal, but curved ones are treated as off-curve Bezier control points. The detail argument of the curve(_:detail:) method controls how many line segments are used to approximate the curve. The curve(_:detail:) 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 Core Graphics CGPath by using the CGPath.paths() extension method. CGPath supports cubic bezier curves as well as quadratic. Constructive Solid Geometry (CSG) CSG is another powerful tool for creating intricate geometry. CSG allows you to perform boolean operations (logical AND, OR, etc.) on solid shapes. The following CSG operations are defined as methods on the Mesh type: subtracting(_:isCancelled:) - Subtracts the volume of one Mesh from another. symmetricDifference(_:isCancelled:) - Produces a shape representing the non-overlapping parts of the input Meshes (this is useful for rendering text glyphs). union(_:isCancelled:) - Combines two intersecting Meshes, removing internal faces and leaving only the outer shell around both shapes (logical OR). intersection(_:isCancelled:) - Returns a single Mesh representing the common volume of two intersecting Meshes (logical AND). stencil(_:isCancelled:) - This effectively “paints” part of one Mesh with the material from another. All CSG operations require Meshes that are “watertight”, that is they have no holes in their surface. Using a CSG operation on a mesh that isn’t sealed may result in unexpected results. Text On macOS and iOS you can make use of Euclid’s Core Text integration to create 2D or 3D extruded text. The text(_:width:detail:) method produces an array of 2D Path that represent the contours of each glyph in an AttributedString. You can use these paths with either fill(_:faces:material:) or extrude(_:depth:twist:sections:faces:material:isCancelled:) builder methods to create solid text. Alternatively, the text(_:font:width:depth:detail:material:) constructor directly produces an extruded 3D text model from a String or AttributedString. Each glyph in the input string maps to a single Path in the result, but these Paths may contain nested subpaths. Glyphs formed from multiple subpaths will be filled using the even-odd rule (equivalent to using symmetricDifference with the individually filled or extruded subpaths).", + "summary" : "Define 3D objects by constructing meshes.", + "title" : "Constructing Meshes" }, { "headings" : [ - + "Return Value" ], - "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\/Vector\/project(onto:)-817o2" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Comparable Implementations" + "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" : [ @@ -10313,13 +10518,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ" }, "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" : "A vector of length 1 along the Z axis. ", + "summary" : "A vector of length 1 along the Z axis.", + "title" : "unitZ" }, { "headings" : [ @@ -10329,62 +10534,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity" }, "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 identity transform (i.e. no transform). ", + "summary" : "The identity transform (i.e. no transform).", + "title" : "identity" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Equatable-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" : "Equatable Implementations" }, { "headings" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Equatable-Implementations" }, "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" : "", + "summary" : "", + "title" : "Equatable Implementations" }, { "headings" : [ - "Return Value", - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)" }, "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" : "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" : [ @@ -10394,29 +10598,32 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the componentwise sum of two vectors. ", - "summary" : "Returns the componentwise sum of two vectors.", - "title" : "+(_:_:)" + "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\/Plane\/intersection(with:)-79olr" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "The angle of rotation around the X-axis. ", + "summary" : "The angle of rotation around the X-axis.", + "title" : "pitch" }, { "headings" : [ @@ -10426,13 +10633,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from AdditiveArithmetic.-=(_:_:). ", - "summary" : "Inherited from AdditiveArithmetic.-=(_:_:).", - "title" : "-=(_:_:)" + "rawIndexableTextContent" : "Creates a offset transform. An offset distance.", + "summary" : "Creates a offset transform.", + "title" : "offset(_:)" }, { "headings" : [ @@ -10442,13 +10649,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()" }, "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" : "Return Wavefront OBJ string data for the mesh. ", + "summary" : "Return Wavefront OBJ string data for the mesh.", + "title" : "objString()" }, { "headings" : [ @@ -10458,13 +10665,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)" }, "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:)" + "platforms" : [ + + ], + "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" : [ @@ -10474,13 +10684,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Generate both the front and back faces. ", - "summary" : "Generate both the front and back faces.", - "title" : "Mesh.Faces.frontAndBack" + "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" : [ @@ -10490,13 +10700,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:). ", - "summary" : "Inherited from Comparable...<(_:).", - "title" : "..<(_:)" + "rawIndexableTextContent" : "Texture is tube-wrapped. ", + "summary" : "Texture is tube-wrapped.", + "title" : "Mesh.WrapMode.tube" }, { "headings" : [ @@ -10506,13 +10716,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln" }, "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()" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -10522,43 +10735,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorDomain" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)" }, "type" : "topLevelPage" }, - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "8.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.10", - "name" : "macOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "9.0", - "name" : "tvOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "2.0", - "name" : "watchOS", - "unavailable" : false - } - ], - "rawIndexableTextContent" : "Inherited from CustomNSError.errorDomain. ", - "summary" : "Inherited from CustomNSError.errorDomain.", - "title" : "errorDomain" + "rawIndexableTextContent" : "Creates a rotation around the X axis. The angle to rotate by.", + "summary" : "Creates a rotation around the X axis.", + "title" : "pitch(_:)" }, { "headings" : [ @@ -10568,13 +10751,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8" }, "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" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -10584,29 +10767,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/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" : "Protocol for transformable types. ", + "summary" : "Protocol for transformable types.", + "title" : "Transformable" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql" }, "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" : "Creates a Rotation from a simd quaternion. A simd quaternion.", + "summary" : "Creates a Rotation from a simd quaternion.", + "title" : "init(_:)" }, { "headings" : [ @@ -10616,13 +10799,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)" }, "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 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" : [ @@ -10632,13 +10815,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:texcoord:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a corner path point at the specified position. The location of the path point. 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 position.", - "title" : "point(_:texcoord:color:)" + "rawIndexableTextContent" : "The position of the vertex. ", + "summary" : "The position of the vertex.", + "title" : "position" }, { "headings" : [ @@ -10648,13 +10831,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)" }, "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" : "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" : [ @@ -10664,13 +10847,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\/Angle\/+(_:_:)" }, "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" : "Returns the sum of two angles. ", + "summary" : "Returns the sum of two angles.", + "title" : "+(_:_:)" }, { "headings" : [ @@ -10680,13 +10863,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)" }, "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" : "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" : [ @@ -10696,13 +10879,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\/Vector\/rotated(by:)" }, "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" : "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" : [ @@ -10712,13 +10895,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-9rm6o" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable.>=(_:_:). ", - "summary" : "Inherited from Comparable.>=(_:_:).", - "title" : ">=(_:_:)" + "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:)" + }, + "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:)" }, { "headings" : [ @@ -10728,16 +10927,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.type.method" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length" }, "type" : "topLevelPage" }, "platforms" : [ ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "xor(_:isCancelled:)" + "rawIndexableTextContent" : "The magnitude of the quaternion. ", + "summary" : "The magnitude of the quaternion.", + "title" : "length" }, { "headings" : [ @@ -10763,45 +10962,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)" }, "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" : "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\/Line\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)" }, "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" : "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" : [ ], - "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\/Polygon\/codableClasses" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "rawIndexableTextContent" : "Supported NSSecureCodable Material base classes. ", + "summary" : "Supported NSSecureCodable Material base classes.", + "title" : "codableClasses" }, { "headings" : [ @@ -10811,13 +11010,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi" }, "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" : "Angle representing a quarter rotation. ", + "summary" : "Angle representing a quarter rotation.", + "title" : "halfPi" }, { "headings" : [ @@ -10827,30 +11026,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-5mcqw" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw" }, "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" : "Combines with the specified rotation. ", + "summary" : "Combines with the specified rotation.", + "title" : "*=(_:_:)" }, { "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\/PathPoint\/curved(_:)" }, "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" : "Curve or uncurve the point. Whether the resultant point should be curved.", + "summary" : "Curve or uncurve the point.", + "title" : "curved(_:)" }, { "headings" : [ @@ -10860,15 +11058,15 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r" }, "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" : "Scale the value in place. A vector scale factor to apply to the value.", + "summary" : "Scale the value in place.", + "title" : "scale(by:)" + }, + { "headings" : [ ], @@ -10876,13 +11074,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)" }, "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" : "Inherited from Comparable...<(_:_:). ", + "summary" : "Inherited from Comparable...<(_:_:).", + "title" : "..<(_:_:)" }, { "headings" : [ @@ -10892,13 +11090,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)" }, "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" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ @@ -10908,29 +11106,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Angle representing a half-rotation. ", - "summary" : "Angle representing a half-rotation.", - "title" : "pi" + "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" : [ - "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\/Path\/rotated(by:)" }, "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" : "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" : [ @@ -10940,16 +11138,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "init(polygon:)" + "rawIndexableTextContent" : "Inherited from Comparable....(_:_:). ", + "summary" : "Inherited from Comparable....(_:_:).", + "title" : "...(_:_:)" }, { "headings" : [ @@ -10959,13 +11154,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/max(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-7hvb3" }, "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(_:_:)" + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "13.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.15", + "name" : "macOS", + "unavailable" : false + } + ], + "rawIndexableTextContent" : "Creates a EuclidTransform from a simd matrix. The simd matrix to convert into a Euclid transform.", + "summary" : "Creates a EuclidTransform from a simd matrix.", + "title" : "init(_:)" }, { "headings" : [ @@ -10975,13 +11186,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end" }, "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" + "rawIndexableTextContent" : "The end point of the line segment. ", + "summary" : "The end point of the line segment.", + "title" : "end" }, { "headings" : [ @@ -10991,13 +11202,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "rawIndexableTextContent" : "The length of the line segment. ", + "summary" : "The length of the line segment.", + "title" : "length" }, { "headings" : [ @@ -11007,13 +11218,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position" }, "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" : "The position of the path point. ", + "summary" : "The position of the path point.", + "title" : "position" }, { "headings" : [ @@ -11024,13 +11235,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/facePolygons(material:)" }, "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" : "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" : [ @@ -11040,29 +11251,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/Decodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Encodable-Implementations" }, "type" : "topLevelPage" }, "rawIndexableTextContent" : "", "summary" : "", - "title" : "Decodable Implementations" + "title" : "Encodable Implementations" }, { "headings" : [ - + "Return Value" ], - "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\/Plane\/intersection(with:)-79olr" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Transformable Implementations" + "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" : [ @@ -11072,13 +11283,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)" }, "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 AdditiveArithmetic.+=(_:_:). ", + "summary" : "Inherited from AdditiveArithmetic.+=(_:_:).", + "title" : "+=(_:_:)" }, { "headings" : [ @@ -11088,16 +11299,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "init(cgPath:detail:color:)" + "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" : [ @@ -11107,16 +11315,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : "Deprecated. ", - "summary" : "Deprecated.", - "title" : "with(color:)" + "rawIndexableTextContent" : "The distinct (disconnected) submeshes that make up the mesh. ", + "summary" : "The distinct (disconnected) submeshes that make up the mesh.", + "title" : "submeshes" }, { "headings" : [ @@ -11126,61 +11331,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)" }, "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 Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" }, { "headings" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Transformable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a quaternion from a rotation matrix. A rotation matrix.", - "summary" : "Creates a quaternion from a rotation matrix.", - "title" : "init(_:)" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Transformable Implementations" }, { "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\/Plane\/_=(_:_:)-5nk27" }, "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" : "Inherited from Comparable.>=(_:_:). ", + "summary" : "Inherited from Comparable.>=(_:_:).", + "title" : ">=(_:_:)" }, { "headings" : [ @@ -11190,16 +11395,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "intersect(_:isCancelled:)" + "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" : [ @@ -11209,13 +11411,16 @@ "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\/Quaternion\/init(_:)-27eol" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Creates a Quaternion from a simd quaternion. A simd quaternion.", + "summary" : "Creates a Quaternion from a simd quaternion.", + "title" : "init(_:)" }, { "headings" : [ @@ -11225,61 +11430,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()" }, "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" : "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" : "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\/Faces\/frontAndBack" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "rawIndexableTextContent" : "Generate both the front and back faces. ", + "summary" : "Generate both the front and back faces.", + "title" : "Mesh.Faces.frontAndBack" }, { "headings" : [ - "Discussion" + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)" }, "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" : "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" : [ @@ -11289,14 +11494,14 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:font:width:detail:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)" }, "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" : "Inherited from Equatable.!=(_:_:). ", + "summary" : "Inherited from Equatable.!=(_:_:).", + "title" : "!=(_:_:)" + }, { "headings" : [ @@ -11305,13 +11510,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)" }, "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" : "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" : [ @@ -11321,13 +11526,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-3drza" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Replace\/remove point color. The color to apply to the point.", - "summary" : "Replace\/remove point color.", - "title" : "withColor(_:)" + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "15.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "12.0", + "name" : "macOS", + "unavailable" : false + } + ], + "rawIndexableTextContent" : "Creates a mesh from a RealityKit ModelEntity with optional material mapping. The ModelEntity to convert into a mesh. An optional closure to map the RealityKit materials to Euclid materials.", + "summary" : "Creates a mesh from a RealityKit ModelEntity with optional material mapping.", + "title" : "init(_:materialLookup:)" }, { "headings" : [ @@ -11337,13 +11558,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1" }, "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" : "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" : [ @@ -11353,13 +11574,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cube(center:size:faces:wrapMode:material:)-eado" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "blue" + "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" : [ @@ -11369,29 +11590,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)" }, "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" : "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\/Angle\/Equatable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable 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" : [ @@ -11401,13 +11622,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withNormal(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Creates a copy of the vertex with the specified normal. The normal value to apply to the vertex.", - "summary" : "Creates a copy of the vertex with the specified normal.", - "title" : "withNormal(_:)" + "rawIndexableTextContent" : "Returns the componentwise difference between two vectors. ", + "summary" : "Returns the componentwise difference between two vectors.", + "title" : "-(_:_:)" }, { "headings" : [ @@ -11417,43 +11638,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/localizedDescription" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)" }, "type" : "topLevelPage" }, - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "8.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.10", - "name" : "macOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "9.0", - "name" : "tvOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "2.0", - "name" : "watchOS", - "unavailable" : false - } - ], - "rawIndexableTextContent" : "Inherited from Error.localizedDescription. ", - "summary" : "Inherited from Error.localizedDescription.", - "title" : "localizedDescription" + "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" : [ @@ -11463,13 +11654,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)" }, "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" : "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" : [ @@ -11479,13 +11670,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn" }, "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" : "Creates a rotation from a quaternion. A quaternion defining a rotation.", + "summary" : "Creates a rotation from a quaternion.", + "title" : "init(_:)" }, { "headings" : [ @@ -11495,13 +11689,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896" }, "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" : "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" : [ @@ -11511,45 +11705,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f" }, "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" : "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\/Mesh\/RealityKitMaterialProvider" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)" }, "type" : "topLevelPage" }, - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "15.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "12.0", - "name" : "macOS", - "unavailable" : false - } - ], - "rawIndexableTextContent" : "A closure that converts a RealityKit material to a Euclid material. A RealityKit material to convert. Return Value A Euclid Material.", - "summary" : "A closure that converts a RealityKit material to a Euclid material.", - "title" : "Mesh.RealityKitMaterialProvider" + "rawIndexableTextContent" : "Transform the value in place. ", + "summary" : "Transform the value in place.", + "title" : "*=(_:_:)" }, { "headings" : [ @@ -11559,29 +11737,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rectangle(width:height:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()" }, "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" : "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Decodable-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the ordered array of polygon edges. ", - "summary" : "Returns the ordered array of polygon edges.", - "title" : "orderedEdges" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Decodable Implementations" }, { "headings" : [ @@ -11591,13 +11769,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07" }, "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" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -11607,93 +11785,97 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transformed(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges" }, "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" : "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" : [ ], - "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\/Mesh\/bounds" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "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\/Mesh\/inverted()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)" }, "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()" + "platforms" : [ + + ], + "rawIndexableTextContent" : " ", + "summary" : "", + "title" : "init(polygon:)" }, { "headings" : [ ], - "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\/Vector\/...(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Equatable Implementations" + "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\/Line\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Translate the value in place. A translation to apply to the value.", + "summary" : "Translate the value in place.", + "title" : "translate(by:)" }, { "headings" : [ - "Overview" + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/split(along:)" }, "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" : "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" : [ @@ -11703,13 +11885,13 @@ "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\/LineSegment\/_=(_:_:)-8q2nt" }, "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" : "Inherited from Comparable.<=(_:_:). ", + "summary" : "Inherited from Comparable.<=(_:_:).", + "title" : "<=(_:_:)" }, { "headings" : [ @@ -11719,13 +11901,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "An angle or 2D rotation. ", - "summary" : "An angle or 2D rotation.", - "title" : "Angle" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "with(color:)" }, { "headings" : [ @@ -11735,13 +11920,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners" }, "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" : "The points that make up the corners of the bounds. ", + "summary" : "The points that make up the corners of the bounds.", + "title" : "corners" }, { "headings" : [ @@ -11751,13 +11936,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)" }, "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" : [ @@ -11767,13 +11952,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)" }, "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" : "Returns the inverse angle. ", + "summary" : "Returns the inverse angle.", + "title" : "-(_:)" }, { "headings" : [ @@ -11783,13 +11968,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke" }, "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" + "platforms" : [ + + ], + "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" : [ @@ -11799,29 +11987,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)" }, "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 mesh. A transform to apply to the mesh.", + "summary" : "Returns a transformed copy of the mesh.", + "title" : "transformed(by:)" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)" }, "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" : "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" : [ @@ -11831,29 +12020,30 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "clear" + "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", + "Discussion" ], - "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\/Mesh\/intersection(_:isCancelled:)-swift.method" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "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" : [ @@ -11863,11 +12053,11 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Scale the value in place. A uniform scale factor to apply to the value.", + "rawIndexableTextContent" : "Scale the value in place. A vector scale factor to apply to the value.", "summary" : "Scale the value in place.", "title" : "scale(by:)" }, @@ -11879,13 +12069,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g" }, "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" : "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" : [ @@ -11895,29 +12085,29 @@ "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\/max(_:_:)" }, "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:)" + "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the area of the polygon. ", - "summary" : "Returns the area of the polygon.", - "title" : "area" + "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" : [ @@ -11927,13 +12117,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Rotate the value in place. A rotation to apply to the value.", + "summary" : "Rotate the value in place.", + "title" : "rotate(by:)" }, { "headings" : [ @@ -11943,13 +12136,16 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Equatable.!=(_:_:). ", - "summary" : "Inherited from Equatable.!=(_:_:).", - "title" : "!=(_:_:)" + "platforms" : [ + + ], + "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" : [ @@ -11959,13 +12155,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy" }, "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" : "Inherited from Comparable.>=(_:_:). ", + "summary" : "Inherited from Comparable.>=(_:_:).", + "title" : ">=(_:_:)" }, { "headings" : [ @@ -11975,61 +12171,61 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)" }, "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" : [ ], - "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\/Mesh\/text(_:font:width:depth:detail:material:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Decodable Implementations" + "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" : [ ], - "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\/Plane\/init(from:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Hashable Implementations" + "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" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlString:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Create a mesh from an STL string. ASCII STL string data.", - "summary" : "Create a mesh from an STL string.", - "title" : "init(stlString:)" + "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" : [ @@ -12039,77 +12235,80 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Inherited from Comparable...<(_:_:). ", - "summary" : "Inherited from Comparable...<(_:_:).", - "title" : "..<(_:_:)" + "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\/Mesh\/STLColorProvider" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe" }, "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" : "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\/Color\/init(_:)-53lhy" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorUserInfo" }, "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" : "Inherited from CustomNSError.errorUserInfo. ", + "summary" : "Inherited from CustomNSError.errorUserInfo.", + "title" : "errorUserInfo" }, { "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\/Quaternion\/yaw(_:)" }, "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:)" + "platforms" : [ + + ], + "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Bounded-Implementations" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Axis of rotation ", - "summary" : "Axis of rotation", - "title" : "axis" + "rawIndexableTextContent" : "", + "summary" : "", + "title" : "Bounded Implementations" }, { "headings" : [ @@ -12119,45 +12318,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)" }, "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" : "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\/containsPoint(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward" }, "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" : "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\/Transformable" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Protocol for transformable types. ", - "summary" : "Protocol for transformable types.", - "title" : "Transformable" + "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" : [ @@ -12167,13 +12366,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu" }, "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" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -12183,64 +12382,64 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)" }, "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(_:)" + "platforms" : [ + + ], + "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" : [ ], - "kind" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4" + "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" : [ - + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw" }, "type" : "topLevelPage" }, - "platforms" : [ - - ], - "rawIndexableTextContent" : " ", - "summary" : "", - "title" : "init(scnGeometry:materialLookup:)" + "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" : [ - + "Return Value" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "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" : [ @@ -12250,45 +12449,45 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty" }, "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" : "An empty bounds. ", + "summary" : "An empty bounds.", + "title" : "empty" }, { "headings" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3" }, "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" : "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" : [ - "Discussion" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)" }, "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" : [ @@ -12298,29 +12497,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center" }, "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 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" : [ - + "Return Value" ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Bounded Implementations" + "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" : [ @@ -12330,13 +12529,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max" }, "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" : "The maximum coordinate of the bounds. ", + "summary" : "The maximum coordinate of the bounds.", + "title" : "max" }, { "headings" : [ @@ -12346,13 +12545,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis" }, "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" : "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" : [ @@ -12362,29 +12561,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "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" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded" }, "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" : "A common protocol for objects that have a bounds. ", + "summary" : "A common protocol for objects that have a bounds.", + "title" : "Bounded" }, { "headings" : [ @@ -12394,13 +12593,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property" }, "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" : "An optional Polygon.Material associated with the polygon. ", + "summary" : "An optional Polygon.Material associated with the polygon.", + "title" : "material" }, { "headings" : [ @@ -12410,13 +12609,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x" }, "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:)" + "rawIndexableTextContent" : "The X component of the vector. ", + "summary" : "The X component of the vector.", + "title" : "x" }, { "headings" : [ @@ -12426,45 +12625,48 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy" }, "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 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" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)" }, "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:)" + "platforms" : [ + + ], + "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" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/SCNMaterialProvider" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withPosition(_:)" }, "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.SCNMaterialProvider" + "rawIndexableTextContent" : "Creates a copy of the vertex with the specified position. The position to apply to the vertex.", + "summary" : "Creates a copy of the vertex with the specified position.", + "title" : "withPosition(_:)" }, { "headings" : [ @@ -12474,94 +12676,97 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(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" : "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" : "symbol", + "kind" : "article", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-7p5hd" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Transformable-Implementations" }, "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" : "Transformable Implementations" }, { "headings" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "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" : [ - "Overview" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)" }, "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" : "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" : [ - "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\/Polygon\/with(material:)" }, "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:)" + "platforms" : [ + + ], + "rawIndexableTextContent" : "Deprecated. ", + "summary" : "Deprecated.", + "title" : "with(material:)" }, { "headings" : [ ], - "kind" : "article", + "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-Implementations" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/write(to:materialLookup:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "", - "summary" : "", - "title" : "Encodable Implementations" + "rawIndexableTextContent" : "Saves a mesh to a file, with optional material mapping. The URL of the file to be written. A closure to map Euclid materials to format-appropriate materials. Use nil for default mapping.", + "summary" : "Saves a mesh to a file, with optional material mapping.", + "title" : "write(to:materialLookup:)" }, { "headings" : [ @@ -12571,29 +12776,29 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero" }, "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" : "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" : [ - "Return Value" + ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center" }, "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" : "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" : [ @@ -12603,13 +12808,13 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Transform the value in place. ", - "summary" : "Transform the value in place.", - "title" : "*=(_:_:)" + "rawIndexableTextContent" : "Returns a transformed copy of the value. ", + "summary" : "Returns a transformed copy of the value.", + "title" : "*(_:_:)" }, { "headings" : [ @@ -12619,29 +12824,30 @@ "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\/Polygon\/hasVertexNormals" }, "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" : "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" : [ - + "Return Value", + "Discussion" ], "kind" : "symbol", "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.method" }, "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" : "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" : [ @@ -12651,28 +12857,28 @@ "location" : { "reference" : { "interfaceLanguage" : "swift", - "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z" + "url" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)" }, "type" : "topLevelPage" }, - "rawIndexableTextContent" : "Returns the product of an angle and numeric multiplier. ", - "summary" : "Returns the product of an angle and numeric multiplier.", - "title" : "*(_:_:)" + "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" : [ ], - "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\/Vertex\/Decodable-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" : "Decodable Implementations" } ] \ No newline at end of file diff --git a/docs/linkable-entities.json b/docs/linkable-entities.json index ae9d7231..9c6a381f 100644 --- a/docs/linkable-entities.json +++ b/docs/linkable-entities.json @@ -1,17 +1,15 @@ [ { + "abstract" : [ + { + "text" : "Scale the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -22,56 +20,44 @@ }, { "kind" : "identifier", - "text" : "..<" - }, - { - "kind" : "text", - "text" : " " + "text" : "scale" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeUpToV", - "text" : "PartialRangeUpTo" + "kind" : "externalParam", + "text" : "by" }, { "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/'.._(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)", + "path" : "\/documentation\/euclid\/bounds\/scale(by:)-7dhh3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3", "taskGroups" : [ ], - "title" : "..<(_:)", - "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "The normalized direction of the line.", + "text" : "The bounding box containing the line segment.", "type" : "text" } ], @@ -81,7 +67,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -89,7 +75,7 @@ }, { "kind" : "identifier", - "text" : "direction" + "text" : "bounds" }, { "kind" : "text", @@ -97,24 +83,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/direction", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction", + "path" : "\/documentation\/euclid\/linesegment\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds", "taskGroups" : [ ], - "title" : "direction", - "usr" : "s:6Euclid4LineV9directionAA6VectorVvp" + "title" : "bounds", + "usr" : "s:6Euclid11LineSegmentV6boundsAA6BoundsVvp" }, { "abstract" : [ { - "text" : "Cropped and flattened version of path suitable for lathing around the Y axis.", + "text" : "Generate back faces.", "type" : "text" } ], @@ -124,7 +110,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "case" }, { "kind" : "text", @@ -132,50 +118,23 @@ }, { "kind" : "identifier", - "text" : "latheProfile" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : "back" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/latheprofile", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile", + "path" : "\/documentation\/euclid\/mesh\/faces\/back", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back", "taskGroups" : [ ], - "title" : "latheProfile", - "usr" : "s:6Euclid4PathV12latheProfileACvp" - }, - { - "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" + "title" : "Mesh.Faces.back", + "usr" : "s:6Euclid4MeshV5FacesO4backyA2EmF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates a plane from a set of points.", "type" : "text" } ], @@ -185,57 +144,44 @@ "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", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "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:)-7e3o7", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7", + "path" : "\/documentation\/euclid\/plane\/init(points:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(points:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid9PathPointV6scaled2byACSd_tF" + "title" : "init(points:)", + "usr" : "s:6Euclid5PlaneV6pointsACSgSayAA6VectorVG_tcfc" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Creates an array of contours by extruding one path along another path.", "type" : "text" } ], @@ -253,7 +199,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "extrusionContours" }, { "kind" : "text", @@ -261,7 +207,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "along" }, { "kind" : "text", @@ -269,46 +215,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/rotate(by:)-93ypi", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi", - "taskGroups" : [ - - ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid4PathV" - }, - { - "abstract" : [ - { - "text" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "roll" + "text" : "twist" }, { "kind" : "text", @@ -325,7 +241,7 @@ }, { "kind" : "externalParam", - "text" : "yaw" + "text" : "align" }, { "kind" : "text", @@ -333,45 +249,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "pitch" + "preciseIdentifier" : "s:6Euclid4PathV9AlignmentO", + "text" : "Alignment" }, { "kind" : "text", - "text" : ": " + "text" : ") -> [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ")" + "text" : "]" } ], - "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\/path\/extrusioncontours(along:twist:align:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/extrusionContours(along:twist:align:)", "taskGroups" : [ ], - "title" : "init(roll:yaw:pitch:)", - "usr" : "s:6Euclid8RotationV4roll3yaw5pitchAcA5AngleV_A2Htcfc" + "title" : "extrusionContours(along:twist:align:)", + "usr" : "s:6Euclid4PathV17extrusionContours5along5twist5alignSayACGAC_AA5AngleVAC9AlignmentOtF" }, { "abstract" : [ { - "text" : "Creates a closed elliptical path.", + "text" : "The green component of the color.", "type" : "text" } ], @@ -381,15 +289,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -397,15 +297,7 @@ }, { "kind" : "identifier", - "text" : "ellipse" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "width" + "text" : "g" }, { "kind" : "text", @@ -415,31 +307,42 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/g", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g", + "taskGroups" : [ + + ], + "title" : "g", + "usr" : "s:6Euclid5ColorV1gSdvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "height" + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "segments" + "kind" : "identifier", + "text" : "yellow" }, { "kind" : "text", @@ -447,45 +350,64 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/yellow", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow", + "taskGroups" : [ + + ], + "title" : "yellow", + "usr" : "s:6Euclid5ColorV6yellowACvpZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "color" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "kind" : "identifier", + "text" : "gray" }, { "kind" : "text", - "text" : "?) -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.typeProperty", "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\/color\/gray", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/gray", "taskGroups" : [ ], - "title" : "ellipse(width:height:segments:color:)", - "usr" : "s:6Euclid4PathV7ellipse5width6height8segments5colorACSd_SdSiAA5ColorVSgtFZ" + "title" : "gray", + "usr" : "s:6Euclid5ColorV4grayACvpZ" }, { "availableLanguages" : [ @@ -493,61 +415,30 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/bounded-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Bounded-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\/Polygon\/bounds" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)" ], - "title" : "Instance Properties" + "title" : "Instance Methods" } ], - "title" : "Bounded Implementations" + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "Creates a new vector from a SceneKit vector.", + "text" : "Returns a new mesh reprenting only the volume exclusively occupied by", "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@SCNVector3", - "text" : "SCNVector3" + "text" : " ", + "type" : "text" }, { - "kind" : "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", - "taskGroups" : [ - - ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACSo10SCNVector3Vcfc" - }, - { - "abstract" : [ - { - "text" : "Returns whether the leftmost angle has the lower value.", + "text" : "one shape or the other, but not both.", "type" : "text" } ], @@ -557,70 +448,100 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "symmetricDifference" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "<" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : " " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + } + ], + "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", + "taskGroups" : [ + + ], + "title" : "symmetricDifference(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledA2C_SbyXEtF" + }, + { + "abstract" : [ + { + "text" : "A closure that maps a SceneKit material to a Euclid material.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "typealias" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "kind" : "identifier", + "text" : "SCNMaterialProvider" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/_(_:_:)-1aqv9", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9", + "path" : "\/documentation\/euclid\/mesh\/scnmaterialprovider", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/SCNMaterialProvider", "taskGroups" : [ ], - "title" : "<(_:_:)", - "usr" : "s:6Euclid5AngleV1loiySbAC_ACtFZ" + "title" : "Mesh.SCNMaterialProvider", + "usr" : "s:6Euclid4MeshV19SCNMaterialProvidera" }, { "abstract" : [ { - "text" : "Divides the components of the vector by the value you provide.", + "text" : "Creates a new mesh that is the combination of the polygons from all the specified meshes.", "type" : "text" } ], @@ -646,57 +567,49 @@ }, { "kind" : "identifier", - "text" : "\/=" - }, - { - "kind" : "text", - "text" : " " + "text" : "merge" }, { "kind" : "text", - "text" : "(" + "text" : "<" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : " " + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV5mergeyACxSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "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\/merge(_:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.type.method", "taskGroups" : [ ], - "title" : "\/=(_:_:)", - "usr" : "s:6Euclid6VectorV2deoiyyACz_SdtFZ" + "title" : "merge(_:)", + "usr" : "s:6Euclid4MeshV5mergeyACxSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "The angle of rotation around the Z-axis.", + "text" : "Creates a new mesh from an array of polygons.", "type" : "text" } ], @@ -706,48 +619,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "([" }, { - "kind" : "identifier", - "text" : "roll" - }, - { - "kind" : "text", - "text" : ": " + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "text", + "text" : "])" } ], - "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\/mesh\/init(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)", "taskGroups" : [ ], - "title" : "roll", - "usr" : "s:6Euclid10QuaternionV4rollAA5AngleVvp" + "title" : "init(_:)", + "usr" : "s:6Euclid4MeshVyACSayAA7PolygonVGcfc" }, { "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 plane on which all vertices lie.", "type" : "text" } ], @@ -757,7 +658,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -765,33 +666,59 @@ }, { "kind" : "identifier", - "text" : "stencil" + "text" : "plane" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/plane", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/plane", + "taskGroups" : [ + + ], + "title" : "plane", + "usr" : "s:6Euclid7PolygonV5planeAA5PlaneVvp" + }, + { + "abstract" : [ + { + "text" : "Deprecated.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "isCancelled" + "kind" : "identifier", + "text" : "smoothNormals" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -805,18 +732,21 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "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\/mesh\/smoothnormals(_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)", "taskGroups" : [ ], - "title" : "stencil(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV7stencil_11isCancelledA2C_SbyXEtF" + "title" : "smoothNormals(_:)", + "usr" : "s:6Euclid4MeshV13smoothNormalsyAcA5AngleVF" }, { "abstract" : [ { - "text" : "Creates a rotation around the Y axis.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -824,14 +754,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -842,41 +764,44 @@ }, { "kind" : "identifier", - "text" : "yaw" + "text" : "scale" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/yaw(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)", + "path" : "\/documentation\/euclid\/path\/scale(by:)-vnel", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel", "taskGroups" : [ ], - "title" : "yaw(_:)", - "usr" : "s:6Euclid8RotationV3yawyAcA5AngleVFZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Return binary STL data for the mesh.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -894,7 +819,7 @@ }, { "kind" : "identifier", - "text" : "stlData" + "text" : "scale" }, { "kind" : "text", @@ -902,7 +827,7 @@ }, { "kind" : "externalParam", - "text" : "colorLookup" + "text" : "by" }, { "kind" : "text", @@ -910,33 +835,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV16STLColorProvidera", - "text" : "STLColorProvider" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:10Foundation4DataV", - "text" : "Data" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stldata(colorlookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)", + "path" : "\/documentation\/euclid\/linesegment\/scale(by:)-8v4ag", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag", "taskGroups" : [ ], - "title" : "stlData(colorLookup:)", - "usr" : "s:6Euclid4MeshV7stlData11colorLookup10Foundation0D0VAA5ColorVSgs11AnyHashableVSgcSg_tF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Clip mesh to the specified plane and optionally fill sheared faces with specified material.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -954,7 +874,7 @@ }, { "kind" : "identifier", - "text" : "clip" + "text" : "scaled" }, { "kind" : "text", @@ -962,7 +882,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -970,50 +890,76 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "fill" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + } + ], + "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", + "taskGroups" : [ + + ], + "title" : "scaled(by:)", + "usr" : "s:6Euclid11LineSegmentV6scaled2byAcA6VectorV_tF" + }, + { + "abstract" : [ + { + "text" : "The Z component of the vector.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "kind" : "identifier", + "text" : "z" }, { "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\/clip(to:fill:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)", + "path" : "\/documentation\/euclid\/vector\/z", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z", "taskGroups" : [ ], - "title" : "clip(to:fill:)", - "usr" : "s:6Euclid4MeshV4clip2to4fillAcA5PlaneV_s11AnyHashableVSgtF" + "title" : "z", + "usr" : "s:6Euclid6VectorV1zSdvp" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Computes the trigonometric tangent of an angle.", "type" : "text" } ], @@ -1031,44 +977,93 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "tan" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + } + ], + "kind" : "org.swift.docc.kind.function", + "language" : "swift", + "path" : "\/documentation\/euclid\/tan(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)", + "taskGroups" : [ + + ], + "title" : "tan(_:)", + "usr" : "s:6Euclid3tanySdAA5AngleVF" + }, + { + "abstract" : [ + { + "text" : "Creates a copy of the color updated with the specified alpha.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ")" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "withAlpha" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/rotate(by:)-8lp0l", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l", + "path" : "\/documentation\/euclid\/color\/withalpha(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "withAlpha(_:)", + "usr" : "s:6Euclid5ColorV9withAlphayACSdF" }, { "abstract" : [ { - "text" : "Returns the distance between the vector (representing a position in space) from the specified line.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -1086,7 +1081,7 @@ }, { "kind" : "identifier", - "text" : "distance" + "text" : "translated" }, { "kind" : "text", @@ -1094,7 +1089,7 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "by" }, { "kind" : "text", @@ -1102,8 +1097,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -1111,24 +1106,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], "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\/path\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid6VectorV8distance4fromSdAA4LineV_tF" + "title" : "translated(by:)", + "usr" : "s:6Euclid4PathV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "The direction of the line segment as a normalized vector.", + "text" : "A normalized direction vector pointing upwards relative to the current rotation.", "type" : "text" } ], @@ -1146,7 +1141,7 @@ }, { "kind" : "identifier", - "text" : "direction" + "text" : "up" }, { "kind" : "text", @@ -1160,26 +1155,18 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/direction", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction", + "path" : "\/documentation\/euclid\/rotation\/up", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up", "taskGroups" : [ ], - "title" : "direction", - "usr" : "s:6Euclid11LineSegmentV9directionAA6VectorVvp" + "title" : "up", + "usr" : "s:6Euclid8RotationV2upAA6VectorVvp" }, { "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" : "A closure that maps an STL facet color to a Euclid material.", "type" : "text" } ], @@ -1189,12 +1176,38 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "typealias" }, { "kind" : "text", "text" : " " }, + { + "kind" : "identifier", + "text" : "STLMaterialProvider" + } + ], + "kind" : "org.swift.docc.kind.typeAlias", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/stlmaterialprovider", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLMaterialProvider", + "taskGroups" : [ + + ], + "title" : "Mesh.STLMaterialProvider", + "usr" : "s:6Euclid4MeshV19STLMaterialProvidera" + }, + { + "abstract" : [ + { + "text" : "Returns a translated copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -1205,24 +1218,19 @@ }, { "kind" : "identifier", - "text" : "<" - }, - { - "kind" : "text", - "text" : " " + "text" : "translated" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -1235,24 +1243,58 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" } ], - "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\/transformable\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translated(by:)", "taskGroups" : [ ], - "title" : "<(_:_:)", - "usr" : "s:6Euclid6VectorV1loiySbAC_ACtFZ" + "title" : "translated(by:)", + "usr" : "s:6Euclid13TransformableP10translated2byxAA6VectorV_tF" + }, + { + "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" : "Creates a single polygon from a path.", + "text" : "Deprecated.", "type" : "text" } ], @@ -1262,32 +1304,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?(" - }, - { - "kind" : "externalParam", - "text" : "shape" + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "kind" : "identifier", + "text" : "with" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "color" }, { "kind" : "text", @@ -1295,28 +1328,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/init(shape:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)", + "path" : "\/documentation\/euclid\/pathpoint\/with(color:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)", "taskGroups" : [ ], - "title" : "init(shape:material:)", - "usr" : "s:6Euclid7PolygonV5shape8materialACSgAA4PathV_s11AnyHashableVSgtcfc" + "title" : "with(color:)", + "usr" : "s:6Euclid9PathPointV4with5colorAcA5ColorVSg_tF" }, { "abstract" : [ { - "text" : "Computes the point of intersection between a line segment and a plane.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -1334,7 +1375,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "rotated" }, { "kind" : "text", @@ -1342,7 +1383,7 @@ }, { "kind" : "externalParam", - "text" : "with" + "text" : "by" }, { "kind" : "text", @@ -1350,8 +1391,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -1359,28 +1400,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/intersection(with:)-9o28g", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g", + "path" : "\/documentation\/euclid\/pathpoint\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid5PlaneV12intersection4withAA6VectorVSgAA11LineSegmentV_tF" + "title" : "rotated(by:)", + "usr" : "s:6Euclid9PathPointV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "Creates a circular arc.", + "text" : "Merges the polygons from two meshes.", "type" : "text" } ], @@ -1388,14 +1425,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -1406,66 +1435,92 @@ }, { "kind" : "identifier", - "text" : "arc" + "text" : "merge" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "angle" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + } + ], + "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", + "taskGroups" : [ + + ], + "title" : "merge(_:)", + "usr" : "s:6Euclid4MeshV5mergeyA2CF" + }, + { + "abstract" : [ + { + "text" : "Efficiently performs a stencil with multiple meshes.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "radius" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "identifier", + "text" : "stencil" }, { "kind" : "text", - "text" : ", " + "text" : "<" }, { - "kind" : "externalParam", - "text" : "segments" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : ": " + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid4MeshV7stencil_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : "?, " + "text" : ", " }, { "kind" : "externalParam", - "text" : "color" + "text" : "isCancelled" }, { "kind" : "text", @@ -1473,80 +1528,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/arc(angle:radius:segments:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)", - "taskGroups" : [ - - ], - "title" : "arc(angle:radius:segments:color:)", - "usr" : "s:6Euclid4PathV3arc5angle6radius8segments5colorAcA5AngleV_SdSiSgAA5ColorVSgtFZ" - }, - { - "abstract" : [ - { - "text" : "An array of vertices suitable for constructing a polygon from the path.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "faceVertices" - }, - { - "kind" : "text", - "text" : ": [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" - }, - { - "kind" : "text", - "text" : "]?" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/facevertices", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices", + "path" : "\/documentation\/euclid\/mesh\/stencil(_:iscancelled:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method", "taskGroups" : [ ], - "title" : "faceVertices", - "usr" : "s:6Euclid4PathV12faceVerticesSayAA6VertexVGSgvp" + "title" : "stencil(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV7stencil_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Efficiently XORs multiple meshes.", + "text" : "Efficiently computes the intersection of multiple meshes.", "type" : "text" } ], @@ -1572,7 +1580,7 @@ }, { "kind" : "identifier", - "text" : "symmetricDifference" + "text" : "intersection" }, { "kind" : "text", @@ -1588,7 +1596,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "preciseIdentifier" : "s:6Euclid4MeshV12intersection_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", "text" : "T" }, { @@ -1620,18 +1628,18 @@ ], "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", + "path" : "\/documentation\/euclid\/mesh\/intersection(_:iscancelled:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.type.method", "taskGroups" : [ ], - "title" : "symmetricDifference(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "intersection(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV12intersection_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Creates an angle from a degrees value.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -1639,14 +1647,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -1657,85 +1657,44 @@ }, { "kind" : "identifier", - "text" : "degrees" + "text" : "rotate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/degrees(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)", - "taskGroups" : [ - - ], - "title" : "degrees(_:)", - "usr" : "s:6Euclid5AngleV7degreesyACSdFZ" - }, - { - "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" : [ + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, { - "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" + "kind" : "text", + "text" : ")" } ], - "title" : "Comparable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Equatable-Implementations", + "path" : "\/documentation\/euclid\/vector\/rotate(by:)-3ed6z", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)" - ], - "title" : "Operators" - } + ], - "title" : "Equatable Implementations" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a rotation from Euler angles applied in pitch\/yaw\/roll order.", + "text" : "Returns a vector with all components inverted.", "type" : "text" } ], @@ -1745,87 +1704,68 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "pitch" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "identifier", + "text" : "-" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "yaw" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "roll" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "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\/vector\/-(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)", "taskGroups" : [ ], - "title" : "init(pitch:yaw:roll:)", - "usr" : "s:6Euclid8RotationV5pitch3yaw4rollAcA5AngleV_A2Htcfc" + "title" : "-(_:)", + "usr" : "s:6Euclid6VectorV1sopyA2CFZ" }, { + "abstract" : [ + { + "text" : "Creates a copy of the vertex with the specified color.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -1836,11 +1776,7 @@ }, { "kind" : "identifier", - "text" : ">" - }, - { - "kind" : "text", - "text" : " " + "text" : "withColor" }, { "kind" : "text", @@ -1848,40 +1784,33 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/_(_:_:)-9688a", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-9688a", + "path" : "\/documentation\/euclid\/vertex\/withcolor(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withColor(_:)", "taskGroups" : [ ], - "title" : ">(_:_:)", - "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "withColor(_:)", + "usr" : "s:6Euclid6VertexV9withColoryAcA0D0VSgF" }, { "abstract" : [ { - "text" : "Creates a mesh by stroking a path with the line width, detail, and material you provide.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -1907,84 +1836,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", @@ -1992,32 +1865,41 @@ }, { "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:)-85o14", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:isCancelled:)-85o14", + "path" : "\/documentation\/euclid\/polygon\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)", "taskGroups" : [ ], - "title" : "stroke(_:width:detail:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV6stroke_5width6detail8material11isCancelledAcA4PathV_SdSis11AnyHashableVSgSbyXEtFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid7PolygonV" }, { - "abstract" : [ - { - "text" : "Creates a ", - "type" : "text" - }, + "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" : [ { - "code" : "Quaternion", - "type" : "codeVoice" - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" + }, + { + "abstract" : [ { - "text" : " from a simd quaternion.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -2027,31 +1909,52 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "rotated" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@SA@simd_quatd", - "text" : "simd_quatd" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "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\/polygon\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyACSo10simd_quatdacfc" + "title" : "rotated(by:)", + "usr" : "s:6Euclid7PolygonV7rotated2byAcA8RotationV_tF" }, { "availableLanguages" : [ @@ -2059,25 +1962,19 @@ ], "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\/mesh\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)" ], - "title" : "Operators" + "title" : "Instance Methods" } ], - "title" : "Equatable Implementations" + "title" : "Encodable Implementations" }, { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -2100,7 +1997,7 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "!=" }, { "kind" : "text", @@ -2120,8 +2017,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "Self" }, { "kind" : "text", @@ -2129,23 +2025,24 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*(_:_:)-98mbu", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu", + "path" : "\/documentation\/euclid\/vector\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -2163,7 +2060,7 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "transform" }, { "kind" : "text", @@ -2179,8 +2076,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -2189,45 +2086,25 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)", + "path" : "\/documentation\/euclid\/transform\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { - "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" : [ + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)" - ], - "title" : "Operators" + "text" : "Returns a Boolean value that indicates whether the specified point lies on the line.", + "type" : "text" } ], - "title" : "Equatable Implementations" - }, - { "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -2238,11 +2115,7 @@ }, { "kind" : "identifier", - "text" : "+" - }, - { - "kind" : "text", - "text" : " " + "text" : "containsPoint" }, { "kind" : "text", @@ -2250,7 +2123,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -2258,31 +2132,24 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "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\/line\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "+(_:)", - "usr" : "s:s18AdditiveArithmeticPsE1popyxxFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid4LineV13containsPointySbAA6VectorVF" }, { "abstract" : [ { - "text" : "Creates a ", - "type" : "text" - }, - { - "code" : "Quaternion", - "type" : "codeVoice" - }, - { - "text" : " from a simd quaternion.", + "text" : "The bounding box containing the polygon.", "type" : "text" } ], @@ -2292,54 +2159,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@SA@simd_quatf", - "text" : "simd_quatf" + "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\/quaternion\/init(_:)-99vxt", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-99vxt", + "path" : "\/documentation\/euclid\/polygon\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyACSo10simd_quatfacfc" - }, - { - "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" + "title" : "bounds", + "usr" : "s:6Euclid7PolygonV6boundsAA6BoundsVvp" }, { "abstract" : [ { - "text" : "Creates a new vector by decoding from the given decoder.", + "text" : "The angle of rotation around the Z-axis.", "type" : "text" } ], @@ -2349,15 +2202,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "identifier", + "text" : "roll" }, { "kind" : "text", @@ -2365,32 +2218,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "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\/quaternion\/roll", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid6BoundsV4fromACs7Decoder_p_tKcfc" + "title" : "roll", + "usr" : "s:6Euclid10QuaternionV4rollAA5AngleVvp" }, { "abstract" : [ { - "text" : "Callback used to cancel a long-running operation.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -2400,7 +2248,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "func" }, { "kind" : "text", @@ -2408,33 +2256,83 @@ }, { "kind" : "identifier", - "text" : "CancellationHandler" + "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.typeAlias", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cancellationhandler", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler", + "path" : "\/documentation\/euclid\/vertex\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)", "taskGroups" : [ ], - "title" : "Mesh.CancellationHandler", - "usr" : "s:6Euclid4MeshV19CancellationHandlera" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { - "abstract" : [ + "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" : [ { - "text" : "Returns a scaled copy of the value.", - "type" : "text" + "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" : "Transformable Implementations" + }, + { "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -2442,49 +2340,62 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "localizedDescription" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "externalParam", - "text" : "by" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SS", + "text" : "String" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/ioerror\/localizeddescription", + "platforms" : [ { - "kind" : "text", - "text" : ": " + "beta" : false, + "deprecated" : false, + "introducedAt" : "8.0", + "name" : "iOS", + "unavailable" : false }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.10", + "name" : "macOS", + "unavailable" : false }, { - "kind" : "text", - "text" : ") -> " + "beta" : false, + "deprecated" : false, + "introducedAt" : "9.0", + "name" : "tvOS", + "unavailable" : false }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "beta" : false, + "deprecated" : false, + "introducedAt" : "2.0", + "name" : "watchOS", + "unavailable" : false } ], - "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", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/localizedDescription", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid9TransformV6scaled2byACSd_tF" + "title" : "localizedDescription", + "usr" : "s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:6Euclid4MeshV7IOErrorV" }, { "abstract" : [ { - "text" : "Returns the angle between this vector and the specified plane.", + "text" : "The Y component of the vector.", "type" : "text" } ], @@ -2494,7 +2405,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -2502,49 +2413,79 @@ }, { "kind" : "identifier", - "text" : "angle" + "text" : "y" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "externalParam", - "text" : "with" + "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" : [ + { + "text" : "Creates a ", + "type" : "text" }, { - "kind" : "text", - "text" : ": " + "code" : "Rotation", + "type" : "codeVoice" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : " from a simd quaternion.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ") -> " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "c:@SA@simd_quatf", + "text" : "simd_quatf" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/angle(with:)-9sfg1", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1", + "path" : "\/documentation\/euclid\/rotation\/init(_:)-8izj", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-8izj", "taskGroups" : [ ], - "title" : "angle(with:)", - "usr" : "s:6Euclid6VectorV5angle4withAA5AngleVAA5PlaneV_tF" + "title" : "init(_:)", + "usr" : "s:6Euclid8RotationVyACSo10simd_quatfacfc" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Creates a new mesh by decoding from the given decoder.", "type" : "text" } ], @@ -2554,15 +2495,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "transform" + "text" : "init" }, { "kind" : "text", @@ -2570,7 +2503,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -2578,28 +2511,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\/transform\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(by:)", + "path" : "\/documentation\/euclid\/mesh\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "init(from:)", + "usr" : "s:6Euclid4MeshV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of vertices.", + "text" : "Creates an axis-aligned cuboidal mesh.", "type" : "text" } ], @@ -2625,23 +2562,32 @@ }, { "kind" : "identifier", - "text" : "convexHull" + "text" : "cube" }, { "kind" : "text", - "text" : "<" + "text" : "(" }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "externalParam", + "text" : "center" }, { "kind" : "text", - "text" : ">(" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " }, { "kind" : "externalParam", - "text" : "of" + "text" : "size" }, { "kind" : "text", @@ -2649,8 +2595,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VertexV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "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", @@ -2681,18 +2661,18 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "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\/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" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VertexV7ElementRtzlFZ" + "title" : "cube(center:size:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV4cube6center4size5faces8wrapMode8materialAcA6VectorV_AkC5FacesOAC04WrapH0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "A closure that maps an STL facet color to a Euclid material.", + "text" : "The minimum coordinate of the bounds.", "type" : "text" } ], @@ -2702,7 +2682,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "let" }, { "kind" : "text", @@ -2710,23 +2690,32 @@ }, { "kind" : "identifier", - "text" : "STLMaterialProvider" + "text" : "min" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.typeAlias", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stlmaterialprovider", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLMaterialProvider", + "path" : "\/documentation\/euclid\/bounds\/min", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min", "taskGroups" : [ ], - "title" : "Mesh.STLMaterialProvider", - "usr" : "s:6Euclid4MeshV19STLMaterialProvidera" + "title" : "min", + "usr" : "s:6Euclid6BoundsV3minAA6VectorVvp" }, { "abstract" : [ { - "text" : "Creates a copy of the polygon with the specified material.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -2734,6 +2723,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -2744,49 +2741,56 @@ }, { "kind" : "identifier", - "text" : "withMaterial" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "text" : "Self" }, { "kind" : "text", - "text" : "?) -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/withmaterial(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)", "taskGroups" : [ ], - "title" : "withMaterial(_:)", - "usr" : "s:6Euclid7PolygonV12withMaterialyACs11AnyHashableVSgF" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Creates a color from a CoreGraphics ", - "type" : "text" - }, - { - "code" : "CGColor", - "type" : "codeVoice" - }, - { - "text" : ".", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -2796,7 +2800,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", @@ -2804,23 +2828,35 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CGColorRef", - "text" : "CGColor" + "text" : "Self" }, { "kind" : "text", - "text" : ")" + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(_:)-25eby", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby", + "path" : "\/documentation\/euclid\/path\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid5ColorVyACSo10CGColorRefacfc" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4PathV" }, { "availableLanguages" : [ @@ -2883,27 +2919,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'...(_:)-14arr", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr", + "path" : "\/documentation\/euclid\/linesegment\/'...(_:)-2uz97", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97", "taskGroups" : [ ], "title" : "...(_:)", - "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" + "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Creates a Euclid", - "type" : "text" - }, - { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform", - "isActive" : true, - "type" : "reference" - }, - { - "text" : " from a simd matrix.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -2913,47 +2940,47 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "rotate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@SA@simd_float4x4", - "text" : "simd_float4x4" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/init(_:)-7hvb3", - "platforms" : [ + "text" : ": " + }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "13.0", - "name" : "iOS", - "unavailable" : false + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.15", - "name" : "macOS", - "unavailable" : false + "kind" : "text", + "text" : ")" } ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-7hvb3", + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/rotate(by:)-2ix6y", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid9TransformVyACSo13simd_float4x4acfc" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { "availableLanguages" : [ @@ -2961,39 +2988,28 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Transformable-Implementations", + "path" : "\/documentation\/euclid\/mesh\/ioerror\/customnserror-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/CustomNSError-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorCode" ], - "title" : "Operators" + "title" : "Instance Properties" }, { "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:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorDomain" ], - "title" : "Instance Methods" + "title" : "Type Properties" } ], - "title" : "Transformable Implementations" + "title" : "CustomNSError Implementations" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -3001,6 +3017,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -3011,44 +3035,60 @@ }, { "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:6Euclid9TransformV", + "text" : "Transform" }, { "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\/bounds\/rotate(by:)-15yni", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni", + "path" : "\/documentation\/euclid\/mesh\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the bounds.", + "text" : "An unordered set of polygon edges.", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "The direction of each edge is normalized relative to the origin to simplify edge-equality comparisons.", "type" : "text" } ], @@ -3058,7 +3098,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -3066,75 +3106,65 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "undirectedEdges" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sh", + "text" : "Set" }, { "kind" : "text", - "text" : ": " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)", + "path" : "\/documentation\/euclid\/polygon\/undirectededges", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid6BoundsV7rotated2byAcA8RotationV_tF" + "title" : "undirectedEdges", + "usr" : "s:6Euclid7PolygonV15undirectedEdgesShyAA11LineSegmentVGvp" }, { - "abstract" : [ - { - "text" : "Scale the value in place.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "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" : "green" }, { "kind" : "text", @@ -3142,28 +3172,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/scale(by:)-55ayx", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx", + "path" : "\/documentation\/euclid\/color\/green", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "green", + "usr" : "s:6Euclid5ColorV5greenACvpZ" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Performs a spherical linear interpolation between two rotations.", "type" : "text" } ], @@ -3171,14 +3197,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -3189,56 +3207,50 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "slerp" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], - "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\/rotation\/slerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "slerp(_:_:)", + "usr" : "s:6Euclid8RotationV5slerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "Subtracts the quaternion rotation on the right from the one on the left.", + "text" : "Creates a new color by decoding from the given decoder.", "type" : "text" } ], @@ -3248,73 +3260,48 @@ "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", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "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\/quaternion\/-=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)", + "path" : "\/documentation\/euclid\/color\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(from:)", "taskGroups" : [ ], - "title" : "-=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2seoiyyACz_ACtFZ" + "title" : "init(from:)", + "usr" : "s:6Euclid5ColorV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Encodes this bounds into the given encoder.", + "text" : "Returns the point where the specified line intersects this one.", "type" : "text" } ], @@ -3332,7 +3319,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "intersection" }, { "kind" : "text", @@ -3340,7 +3327,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "with" }, { "kind" : "text", @@ -3348,32 +3335,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "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\/bounds\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)", + "path" : "\/documentation\/euclid\/line\/intersection(with:)-2nysu", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid6BoundsV6encode2toys7Encoder_p_tKF" + "title" : "intersection(with:)", + "usr" : "s:6Euclid4LineV12intersection4withAA6VectorVSgAC_tF" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Returns a new bounds inset by the specified distance.", "type" : "text" } ], @@ -3383,20 +3375,27 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "inset" }, { "kind" : "text", - "text" : ", " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", @@ -3405,34 +3404,36 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "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\/bounds\/inset(by:)-49ykf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-49ykf", "taskGroups" : [ ], - "title" : "init(_:_:)", - "usr" : "s:6Euclid11LineSegmentVyACSgAA6VectorV_AFtcfc" + "title" : "inset(by:)", + "usr" : "s:6Euclid6BoundsV5inset2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "A vector with all coordinates set to ", + "text" : "The color for the vertex.", "type" : "text" }, { - "code" : "1", - "type" : "codeVoice" + "text" : " ", + "type" : "text" }, { - "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" } ], @@ -3442,15 +3443,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -3458,7 +3451,7 @@ }, { "kind" : "identifier", - "text" : "one" + "text" : "color" }, { "kind" : "text", @@ -3466,24 +3459,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/one", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/one", + "path" : "\/documentation\/euclid\/vertex\/color", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color", "taskGroups" : [ ], - "title" : "one", - "usr" : "s:6Euclid6VectorV3oneACvpZ" + "title" : "color", + "usr" : "s:6Euclid6VertexV5colorAA5ColorVvp" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Creates a size\/scale vector from an array of two coordinates.", "type" : "text" } ], @@ -3493,15 +3486,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "transformed" + "text" : "init" }, { "kind" : "text", @@ -3509,40 +3494,36 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "size" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)", + "path" : "\/documentation\/euclid\/vector\/init(size:)-8b34m", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "init(size:)", + "usr" : "s:6Euclid6VectorV4sizeACSaySdG_tcfc" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "An empty mesh.", "type" : "text" } ], @@ -3552,23 +3533,23 @@ "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" : "empty" }, { "kind" : "text", @@ -3576,102 +3557,88 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/scaled(by:)-5dvvh", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh", + "path" : "\/documentation\/euclid\/mesh\/empty", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6BoundsV6scaled2byAcA6VectorV_tF" + "title" : "empty", + "usr" : "s:6Euclid4MeshV5emptyACvpZ" }, { + "abstract" : [ + { + "text" : "Creates a rotation from an axis and angle.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "..." + "text" : "?(" }, { - "kind" : "text", - "text" : " " + "kind" : "externalParam", + "text" : "axis" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeFromV", - "text" : "PartialRangeFrom" + "kind" : "externalParam", + "text" : "angle" }, { "kind" : "text", - "text" : "<" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/'...(_:)-4yucl", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl", + "path" : "\/documentation\/euclid\/rotation\/init(axis:angle:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "init(axis:angle:)", + "usr" : "s:6Euclid8RotationV4axis5angleACSgAA6VectorV_AA5AngleVtcfc" }, { "abstract" : [ { - "text" : "An empty bounds.", + "text" : "Creates a linear path from a line segment.", "type" : "text" } ], @@ -3689,7 +3656,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -3697,7 +3664,24 @@ }, { "kind" : "identifier", - "text" : "empty" + "text" : "line" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "color" }, { "kind" : "text", @@ -3705,24 +3689,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "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.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/empty", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty", + "path" : "\/documentation\/euclid\/path\/line(_:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)", "taskGroups" : [ ], - "title" : "empty", - "usr" : "s:6Euclid6BoundsV5emptyACvpZ" + "title" : "line(_:color:)", + "usr" : "s:6Euclid4PathV4line_5colorAcA11LineSegmentV_AA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Returns an array containing the red, green, blue, and alpha components of the color.", "type" : "text" } ], @@ -3732,7 +3725,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -3740,44 +3733,36 @@ }, { "kind" : "identifier", - "text" : "translate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "components" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)", + "path" : "\/documentation\/euclid\/color\/components", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "components", + "usr" : "s:6Euclid5ColorV10componentsSaySdGvp" }, { "abstract" : [ { - "text" : "Returns a quaternion with its components divided by the specified value.", + "text" : "Creates a closed elliptical path.", "type" : "text" } ], @@ -3803,24 +3788,19 @@ }, { "kind" : "identifier", - "text" : "\/" - }, - { - "kind" : "text", - "text" : " " + "text" : "ellipse" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -3829,104 +3809,79 @@ }, { "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:6Euclid10QuaternionV1doiyA2C_SdtFZ" - }, - { - "abstract" : [ + "kind" : "externalParam", + "text" : "height" + }, { - "text" : "Creates a Euclid", - "type" : "text" + "kind" : "text", + "text" : ": " }, { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform", - "isActive" : true, - "type" : "reference" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { - "text" : " from a RealityKit ", - "type" : "text" + "kind" : "text", + "text" : ", " }, { - "code" : "Transform", - "type" : "codeVoice" + "kind" : "externalParam", + "text" : "segments" }, { - "text" : ".", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "(RealityKit" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "color" }, { "kind" : "text", - "text" : "." + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:17RealityFoundation9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/init(_:)-cys2", - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "13.0", - "name" : "iOS", - "unavailable" : false + "text" : "?) -> " }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.15", - "name" : "macOS", - "unavailable" : false + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-cys2", + "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:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid9TransformVyAC17RealityFoundationABVcfc" + "title" : "ellipse(width:height:segments:color:)", + "usr" : "s:6Euclid4PathV7ellipse5width6height8segments5colorACSd_SdSiAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Transform has no effect.", + "text" : "The total length of the path.", "type" : "text" } ], @@ -3944,7 +3899,7 @@ }, { "kind" : "identifier", - "text" : "isIdentity" + "text" : "length" }, { "kind" : "text", @@ -3952,24 +3907,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/isidentity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity", + "path" : "\/documentation\/euclid\/path\/length", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length", "taskGroups" : [ ], - "title" : "isIdentity", - "usr" : "s:6Euclid9TransformV10isIdentitySbvp" + "title" : "length", + "usr" : "s:6Euclid4PathV6lengthSdvp" }, { "abstract" : [ { - "text" : "An empty mesh.", + "text" : "A path made up of a sequence of straight line segments between points.", "type" : "text" } ], @@ -3979,95 +3934,133 @@ "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" : [ { - "kind" : "text", - "text" : " " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty" + ], + "title" : "Default Paths" }, { - "kind" : "identifier", - "text" : "empty" + "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" : "text", - "text" : ": " + "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" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/empty", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty", - "taskGroups" : [ - - ], - "title" : "empty", - "usr" : "s:6Euclid4MeshV5emptyACvpZ" - }, - { - "abstract" : [ + "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" + }, { - "text" : "Creates a composite path from an array of subpaths.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "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" + }, { - "kind" : "keyword", - "text" : "init" + "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" : "text", - "text" : "(" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)" + ], + "title" : "Initializers" }, { - "kind" : "externalParam", - "text" : "subpaths" + "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" : "text", - "text" : ": [" + "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\/mapColors(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)" + ], + "title" : "Instance Methods" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment" + ], + "title" : "Enumerations" }, { - "kind" : "text", - "text" : "])" + "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.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" + "title" : "Path", + "usr" : "s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates an array of glyph contours from an attributed string.", "type" : "text" } ], @@ -4075,6 +4068,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -4085,15 +4086,24 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "text" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:objc(cs)NSAttributedString", + "text" : "NSAttributedString" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "by" + "text" : "width" }, { "kind" : "text", @@ -4106,93 +4116,49 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "detail" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "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" : "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" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ", " + "text" : ") -> [" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/_=(_:_:)-5dvuy", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy", + "path" : "\/documentation\/euclid\/path\/text(_:width:detail:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)", "taskGroups" : [ ], - "title" : ">=(_:_:)", - "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "text(_:width:detail:)", + "usr" : "s:6Euclid4PathV4text_5width6detailSayACGSo18NSAttributedStringC_SdSgSitFZ" }, { "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" } ], @@ -4200,14 +4166,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -4218,42 +4176,15 @@ }, { "kind" : "identifier", - "text" : "point" + "text" : "scaled" }, { "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" - }, - { - "kind" : "text", - "text" : ", " - }, { "kind" : "externalParam", - "text" : "texcoord" + "text" : "by" }, { "kind" : "text", @@ -4266,24 +4197,7 @@ }, { "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "color" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - }, - { - "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -4291,20 +4205,20 @@ "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/point(_:_:_:texcoord:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)", + "path" : "\/documentation\/euclid\/pathpoint\/scaled(by:)-4wtbg", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg", "taskGroups" : [ ], - "title" : "point(_:_:_:texcoord:color:)", - "usr" : "s:6Euclid9PathPointV5point___8texcoord5colorACSd_S2dAA6VectorVSgAA5ColorVSgtFZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid9PathPointV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "A distance or position in 3D space.", "type" : "text" } ], @@ -4314,7 +4228,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -4322,49 +4236,138 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "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" }, { - "kind" : "text", - "text" : "(" + "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" }, { - "kind" : "externalParam", - "text" : "by" + "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" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)" + ], + "title" : "Computing Vectors" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)" + ], + "title" : "Interpolating Vectors" }, { - "kind" : "text", - "text" : ") -> " + "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" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "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\/init(_:)-5s4mt", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-7r7et" + ], + "title" : "Initializers" + }, + { + "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" } ], - "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", - "taskGroups" : [ - - ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6VertexV6scaled2byACSd_tF" + "title" : "Vector", + "usr" : "s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Angle representing a full rotation.", + "text" : "Creates a closed path from a polygon.", "type" : "text" } ], @@ -4374,73 +4377,39 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "twoPi" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/twopi", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi", + "path" : "\/documentation\/euclid\/path\/init(_:)-3c0eo", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo", "taskGroups" : [ ], - "title" : "twoPi", - "usr" : "s:6Euclid5AngleV5twoPiACvpZ" + "title" : "init(_:)", + "usr" : "s:6Euclid4PathVyAcA7PolygonVcfc" }, { - "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" - }, + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero" - ], - "title" : "Type Properties" + "text" : "Efficiently strokes an array of paths, avoiding duplicate work.", + "type" : "text" } ], - "title" : "AdditiveArithmetic Implementations" - }, - { "availableLanguages" : [ "swift" ], @@ -4463,129 +4432,109 @@ }, { "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " + "text" : "stroke" }, { "kind" : "text", - "text" : "(" + "text" : "([" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ", " + "text" : "], " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)", - "taskGroups" : [ - - ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid9TransformV" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "detail" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "..<" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : " " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sn", - "text" : "Range" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "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.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'.._(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)", + "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" : "..<(_:_:)", - "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "stroke(_:width:detail:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV6stroke_5width6detail8material11isCancelledACSayAA4PathVG_SdSis11AnyHashableVSgSbyXEtFZ" }, { "abstract" : [ { - "text" : "Linearly interpolate between this vector and another.", + "text" : "Creates a new line from the specified line segment.", "type" : "text" } ], @@ -4595,15 +4544,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "lerp" + "text" : "init" }, { "kind" : "text", @@ -4611,42 +4552,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/lerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)", + "path" : "\/documentation\/euclid\/line\/init(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)", "taskGroups" : [ ], - "title" : "lerp(_:_:)", - "usr" : "s:6Euclid6VectorV4lerpyA2C_SdtF" + "title" : "init(_:)", + "usr" : "s:6Euclid4LineVyAcA0B7SegmentVcfc" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns the distance between the vector (representing a position in space) from the specified plane.", "type" : "text" } ], @@ -4664,7 +4591,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "distance" }, { "kind" : "text", @@ -4672,7 +4599,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -4680,28 +4607,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "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", + "path" : "\/documentation\/euclid\/vector\/distance(from:)-5p7ko", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "distance(from:)", + "usr" : "s:6Euclid6VectorV8distance4fromSdAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Merges coplanar polygons that share one or more edges, provided the result will be convex.", + "text" : "Encodes this path into the given encoder.", "type" : "text" } ], @@ -4719,40 +4651,48 @@ }, { "kind" : "identifier", - "text" : "detriangulate" + "text" : "encode" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "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\/path\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)", "taskGroups" : [ ], - "title" : "detriangulate()", - "usr" : "s:6Euclid4MeshV13detriangulateACyF" + "title" : "encode(to:)", + "usr" : "s:6Euclid4PathV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Creates a vector from a CoreGraphics ", - "type" : "text" - }, - { - "code" : "CGPoint", - "type" : "codeVoice" - }, - { - "text" : ".", + "text" : "Linearly interpolate between two colors.", "type" : "text" } ], @@ -4762,7 +4702,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "lerp" }, { "kind" : "text", @@ -4770,46 +4718,51 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@CGPoint", - "text" : "CGPoint" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ")" + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-4eop9", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9", + "path" : "\/documentation\/euclid\/color\/lerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACSo7CGPointVcfc" - }, - { - "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" + "title" : "lerp(_:_:)", + "usr" : "s:6Euclid5ColorV4lerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "Returns the perpendicular distance from another line to this one.", + "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" } ], @@ -4819,57 +4772,97 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "<" }, { - "kind" : "identifier", - "text" : "distance" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ">(" }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAA7Bounded7ElementRpzlufc1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : ": " + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/init(_:)-1icmf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid6BoundsVyACxcSlRzAA7Bounded7ElementRpzlufc" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ") -> " + "text" : " " + }, + { + "kind" : "identifier", + "text" : "cyan" + }, + { + "kind" : "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\/line\/distance(from:)-77i61", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61", + "path" : "\/documentation\/euclid\/color\/cyan", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/cyan", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid4LineV8distance4fromSdAC_tF" + "title" : "cyan", + "usr" : "s:6Euclid5ColorV4cyanACvpZ" }, { "abstract" : [ { - "text" : "The magnitude of the quaternion.", + "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" } ], @@ -4887,7 +4880,7 @@ }, { "kind" : "identifier", - "text" : "length" + "text" : "normal" }, { "kind" : "text", @@ -4895,24 +4888,42 @@ }, { "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\/vertex\/normal", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal", "taskGroups" : [ ], - "title" : "length", - "usr" : "s:6Euclid10QuaternionV6lengthSdvp" + "title" : "normal", + "usr" : "s:6Euclid6VertexV6normalAA6VectorVvp" + }, + { + "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" : "Transform the value in place.", + "text" : "Creates a mesh by stroking a path with the line width, detail, and material you provide.", "type" : "text" } ], @@ -4938,82 +4949,58 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "stroke" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)", - "taskGroups" : [ - - ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9PathPointV" - }, - { - "abstract" : [ - { - "text" : "Returns a scaled copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : ", " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "detail" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "scaled" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "material" }, { "kind" : "text", @@ -5021,55 +5008,29 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ") -> " + "text" : "?, " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - } - ], - "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", - "taskGroups" : [ - - ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid5PlaneV6scaled2byAcA6VectorV_tF" - }, - { - "abstract" : [ - { - "text" : "Return a copy of the mesh with spherically-mapped texture coordinates.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "sphereMapped" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : "() -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -5077,20 +5038,20 @@ "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/spheremapped()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/sphereMapped()", + "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" : "sphereMapped()", - "usr" : "s:6Euclid4MeshV12sphereMappedACyF" + "title" : "stroke(_:width:detail:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV6stroke_5width6detail8material11isCancelledAcA4PathV_SdSis11AnyHashableVSgSbyXEtFZ" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Creates a uniform scale transform.", "type" : "text" } ], @@ -5100,70 +5061,57 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "rotate" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/rotate(by:)-4cg0v", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v", + "path" : "\/documentation\/euclid\/transform\/scale(_:)-7a30s", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-7a30s", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid9PathPointV" - }, - { - "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" : "scale(_:)", + "usr" : "s:6Euclid9TransformV5scaleyACSdFZ" }, { "abstract" : [ { - "text" : "Loads a mesh from a file, with optional material mapping.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -5173,74 +5121,56 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "url" + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:10Foundation3URLV", - "text" : "URL" + "kind" : "identifier", + "text" : "scaled" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "materialLookup" + "text" : "by" }, { "kind" : "text", - "text" : ": ((" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s11AnyHashableV", - "text" : "AnyHashable" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?)?) " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(url:materiallookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:materialLookup:)", + "path" : "\/documentation\/euclid\/transformable\/scaled(by:)-5p6di", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di", "taskGroups" : [ ], - "title" : "init(url:materialLookup:)", - "usr" : "s:6Euclid4MeshV3url14materialLookupAC10Foundation3URLV_s11AnyHashableVSgAKcSgtKcfc" + "title" : "scaled(by:)", + "usr" : "s:6Euclid13TransformableP6scaled2byxSd_tF" }, { "abstract" : [ { - "text" : "Return a copy of the mesh without texture coordinates.", + "text" : "The axis of rotation.", "type" : "text" } ], @@ -5250,7 +5180,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -5258,27 +5188,30 @@ }, { "kind" : "identifier", - "text" : "withoutTexcoords" + "text" : "axis" }, { "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\/withouttexcoords()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()", + "path" : "\/documentation\/euclid\/quaternion\/axis", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis", "taskGroups" : [ ], - "title" : "withoutTexcoords()", - "usr" : "s:6Euclid4MeshV16withoutTexcoordsACyF" + "title" : "axis", + "usr" : "s:6Euclid10QuaternionV4axisAA6VectorVvp" }, { "availableLanguages" : [ @@ -5303,7 +5236,7 @@ }, { "kind" : "identifier", - "text" : "..." + "text" : "..<" }, { "kind" : "text", @@ -5317,14 +5250,22 @@ "kind" : "typeIdentifier", "text" : "Self" }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, { "kind" : "text", "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s19PartialRangeThroughV", - "text" : "PartialRangeThrough" + "preciseIdentifier" : "s:Sn", + "text" : "Range" }, { "kind" : "text", @@ -5341,36 +5282,54 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'...(_:)-8feph", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph", + "path" : "\/documentation\/euclid\/linesegment\/'.._(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "..<(_:_:)", + "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { - "abstract" : [ - { - "text" : "Returns a translated copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], - "fragments" : [ + "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" : "keyword", - "text" : "func" - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" + }, + { + "abstract" : [ + { + "text" : "Returns a scaled copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" + }, { "kind" : "text", "text" : " " }, { "kind" : "identifier", - "text" : "translated" + "text" : "scaled" }, { "kind" : "text", @@ -5395,24 +5354,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], "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\/vertex\/scaled(by:)-20sq4", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid4MeshV10translated2byAcA6VectorV_tF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6VertexV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Return a copy of the mesh with transformed texture coordinates.", + "text" : "Creates a rotation from Euler angles applied in pitch\/yaw\/roll order.", "type" : "text" } ], @@ -5422,90 +5381,87 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "withTextureTransform" + "kind" : "externalParam", + "text" : "pitch" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "yaw" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/withtexturetransform(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)", - "taskGroups" : [ - - ], - "title" : "withTextureTransform(_:)", - "usr" : "s:6Euclid4MeshV20withTextureTransformyAcA0E0VF" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, { - "text" : "Do not generate texture coordinates.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "case" + "kind" : "externalParam", + "text" : "roll" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "none" + "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\/wrapmode\/none", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none", + "path" : "\/documentation\/euclid\/rotation\/init(pitch:yaw:roll:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(pitch:yaw:roll:)", "taskGroups" : [ ], - "title" : "Mesh.WrapMode.none", - "usr" : "s:6Euclid4MeshV8WrapModeO4noneyA2EmF" + "title" : "init(pitch:yaw:roll:)", + "usr" : "s:6Euclid8RotationV5pitch3yaw4rollAcA5AngleV_A2Htcfc" }, { - "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" @@ -5516,24 +5472,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", @@ -5541,42 +5500,63 @@ }, { "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\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)", + "path" : "\/documentation\/euclid\/angle\/_(_:_:)-filj", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid4MeshV11transformed2byAcA9TransformV_tF" + "title" : ">(_:_:)", + "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { + "abstract" : [ + { + "text" : "Creates a vector from an array of coordinates.", + "type" : "text" + } + ], "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" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)" - ], - "title" : "Instance Methods" + "kind" : "keyword", + "text" : "init" + }, + { + "kind" : "text", + "text" : "([" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : "])" } ], - "title" : "Encodable Implementations" + "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" : "Merges this polygon with another, removing redundant vertices where possible.", + "text" : "Creates a mesh from a SceneKit node, with optional material mapping.", "type" : "text" } ], @@ -5586,15 +5566,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "merge" + "text" : "init" }, { "kind" : "text", @@ -5602,8 +5574,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "c:objc(cs)SCNNode", + "text" : "SCNNode" }, { "kind" : "text", @@ -5611,7 +5583,7 @@ }, { "kind" : "externalParam", - "text" : "ensureConvex" + "text" : "ignoringTransforms" }, { "kind" : "text", @@ -5624,40 +5596,40 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "materialLookup" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid4MeshV19SCNMaterialProvidera", + "text" : "SCNMaterialProvider" }, { "kind" : "text", - "text" : "?" + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/merge(_:ensureconvex:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)", + "path" : "\/documentation\/euclid\/mesh\/init(_:ignoringtransforms:materiallookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)", "taskGroups" : [ ], - "title" : "merge(_:ensureConvex:)", - "usr" : "s:6Euclid7PolygonV5merge_12ensureConvexACSgAC_SbtF" + "title" : "init(_:ignoringTransforms:materialLookup:)", + "usr" : "s:6Euclid4MeshV_18ignoringTransforms14materialLookupACSo7SCNNodeC_Sbs11AnyHashableVSgSo11SCNMaterialCcSgtcfc" }, { "abstract" : [ { - "text" : "Creates a ", - "type" : "text" - }, - { - "code" : "Rotation", - "type" : "codeVoice" - }, - { - "text" : " from a simd quaternion.", + "text" : "Creates a vector of uniform size.", "type" : "text" } ], @@ -5673,10 +5645,18 @@ "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "size" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@SA@simd_quatf", - "text" : "simd_quatf" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -5685,18 +5665,18 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(_:)-8izj", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-8izj", + "path" : "\/documentation\/euclid\/vector\/init(size:)-nkyk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid8RotationVyACSo10simd_quatfacfc" + "title" : "init(size:)", + "usr" : "s:6Euclid6VectorV4sizeACSd_tcfc" }, { "abstract" : [ { - "text" : "Multiplies the quaternion rotation on the left by the one on the right.", + "text" : "Divides the angle by a numeric denominator.", "type" : "text" } ], @@ -5722,7 +5702,7 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "\/=" }, { "kind" : "text", @@ -5742,8 +5722,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -5751,8 +5731,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -5761,26 +5741,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/*=(_:_:)-5ic2j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j", + "path" : "\/documentation\/euclid\/angle\/\/=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2meoiyyACz_ACtFZ" + "title" : "\/=(_:_:)", + "usr" : "s:6Euclid5AngleV2deoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the vector has a length of ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : ".", + "text" : "Computes the convex hull of one or more meshes.", "type" : "text" } ], @@ -5790,7 +5762,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -5798,40 +5778,49 @@ }, { "kind" : "identifier", - "text" : "isNormalized" + "text" : "convexHull" }, { "kind" : "text", - "text" : ": " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "of" + }, + { + "kind" : "text", + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "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\/vector\/isnormalized", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:)-8x4al", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al", "taskGroups" : [ ], - "title" : "isNormalized", - "usr" : "s:6Euclid6VectorV12isNormalizedSbvp" + "title" : "convexHull(of:)", + "usr" : "s:6Euclid4MeshV10convexHull2ofACSayACG_tFZ" }, { "abstract" : [ { - "text" : "Supported ", - "type" : "text" - }, - { - "code" : "NSSecureCodable", - "type" : "codeVoice" - }, - { - "text" : " Material base classes.", + "text" : "Creates a mesh by connecting a series of 3D paths representing the cross sections.", "type" : "text" } ], @@ -5849,7 +5838,7 @@ }, { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -5857,62 +5846,41 @@ }, { "kind" : "identifier", - "text" : "codableClasses" + "text" : "loft" }, { "kind" : "text", - "text" : ": [" + "text" : "([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s8AnyClassa", - "text" : "AnyClass" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : "]" - } - ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/codableclasses", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses", - "taskGroups" : [ - - ], - "title" : "codableClasses", - "usr" : "s:6Euclid7PolygonV14codableClassesSayyXlXpGvpZ" - }, - { - "abstract" : [ - { - "text" : "Translate the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : "], " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "translate" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "material" }, { "kind" : "text", @@ -5920,25 +5888,44 @@ }, { "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\/pathpoint\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)", + "path" : "\/documentation\/euclid\/mesh\/loft(_:faces:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "loft(_:faces:material:)", + "usr" : "s:6Euclid4MeshV4loft_5faces8materialACSayAA4PathVG_AC5FacesOs11AnyHashableVSgtFZ" }, { + "abstract" : [ + { + "text" : "A vector of length ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : " along the Y axis.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -5961,7 +5948,7 @@ }, { "kind" : "identifier", - "text" : "orange" + "text" : "unitY" }, { "kind" : "text", @@ -5969,24 +5956,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/orange", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange", + "path" : "\/documentation\/euclid\/vector\/unity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY", "taskGroups" : [ ], - "title" : "orange", - "usr" : "s:6Euclid5ColorV6orangeACvpZ" + "title" : "unitY", + "usr" : "s:6Euclid6VectorV5unitYACvpZ" }, { "abstract" : [ { - "text" : "The polygons in the mesh, grouped by material.", + "text" : "Creates a new path by decoding from the given decoder.", "type" : "text" } ], @@ -5996,53 +5983,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "polygonsByMaterial" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : "? : [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "text" : ") " }, { - "kind" : "text", - "text" : "]]" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/polygonsbymaterial", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial", + "path" : "\/documentation\/euclid\/path\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)", "taskGroups" : [ ], - "title" : "polygonsByMaterial", - "usr" : "s:6Euclid4MeshV18polygonsByMaterialSDys11AnyHashableVSgSayAA7PolygonVGGvp" + "title" : "init(from:)", + "usr" : "s:6Euclid4PathV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Return a copy of the mesh without texture coordinates.", "type" : "text" } ], @@ -6060,48 +6042,32 @@ }, { "kind" : "identifier", - "text" : "transformed" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "withoutTexcoords" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "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\/mesh\/withouttexcoords()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withoutTexcoords()", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "withoutTexcoords()", + "usr" : "s:6Euclid4MeshV16withoutTexcoordsACyF" }, { "abstract" : [ { - "text" : "Encodes this rotation into the given encoder.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -6119,7 +6085,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "rotate" }, { "kind" : "text", @@ -6127,7 +6093,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -6135,94 +6101,162 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : ")" } ], "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\/polygon\/rotate(by:)-8lp0l", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-8lp0l", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid8RotationV6encode2toys7Encoder_p_tKF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + }, + { + "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" : "Rotate the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "rotate" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "!=" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : " " + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "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" : "Scale the value in place.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "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\/quaternion\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)", + "path" : "\/documentation\/euclid\/vertex\/scale(by:)-6c0wl", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid10QuaternionV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { + "abstract" : [ + { + "text" : "Returns a vector with its components multiplied by the specified value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -6245,7 +6279,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "*" }, { "kind" : "text", @@ -6257,7 +6291,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -6265,7 +6300,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -6273,42 +6309,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)", + "path" : "\/documentation\/euclid\/vector\/*(_:_:)-48gl1", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VertexV" - }, - { - "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" : "*(_:_:)", + "usr" : "s:6Euclid6VectorV1moiyACSd_ACtFZ" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -6316,6 +6334,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -6326,70 +6352,56 @@ }, { "kind" : "identifier", - "text" : "with" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "text" : "Self" }, { "kind" : "text", - "text" : "?) -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "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\/polygon\/with(material:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)", + "path" : "\/documentation\/euclid\/transform\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)", "taskGroups" : [ ], - "title" : "with(material:)", - "usr" : "s:6Euclid7PolygonV4with8materialACs11AnyHashableVSg_tF" - }, - { - "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" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Returns a new bounds inset by the specified distance.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -6407,7 +6419,7 @@ }, { "kind" : "identifier", - "text" : "inset" + "text" : "translated" }, { "kind" : "text", @@ -6432,24 +6444,24 @@ }, { "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\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)", "taskGroups" : [ ], - "title" : "inset(by:)", - "usr" : "s:6Euclid6BoundsV5inset2byAcA6VectorV_tF" + "title" : "translated(by:)", + "usr" : "s:6Euclid9PathPointV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -6467,7 +6479,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "rotate" }, { "kind" : "text", @@ -6483,8 +6495,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -6493,18 +6505,21 @@ ], "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\/pathpoint\/rotate(by:)-r7j4", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Transform has no effect.", "type" : "text" } ], @@ -6514,7 +6529,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -6522,15 +6537,7 @@ }, { "kind" : "identifier", - "text" : "scaled" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "isIdentity" }, { "kind" : "text", @@ -6538,33 +6545,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "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\/transform\/isidentity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isIdentity", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6BoundsV6scaled2byACSd_tF" + "title" : "isIdentity", + "usr" : "s:6Euclid9TransformV10isIdentitySbvp" }, { "abstract" : [ { - "text" : "The face generation policy for Euclid to use when creating a mesh.", + "text" : "The starting point of the line segment.", "type" : "text" } ], @@ -6574,7 +6572,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "enum" + "text" : "let" }, { "kind" : "text", @@ -6582,74 +6580,71 @@ }, { "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" : "start" + }, { - "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" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "title" : "Mesh.Faces", - "usr" : "s:6Euclid4MeshV5FacesO" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/Decodable-Implementations", + "path" : "\/documentation\/euclid\/linesegment\/start", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/start", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)" - ], - "title" : "Initializers" - } + ], - "title" : "Decodable Implementations" + "title" : "start", + "usr" : "s:6Euclid11LineSegmentV5startAA6VectorVvp" }, { "abstract" : [ { - "text" : "Define 3D objects by constructing meshes.", + "text" : "Creates a new vector from a SceneKit vector.", "type" : "text" } ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.article", + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" + }, + { + "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\/constructingmeshes", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes", + "path" : "\/documentation\/euclid\/vector\/init(_:)-228p6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-228p6", "taskGroups" : [ ], - "title" : "Constructing Meshes" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACSo10SCNVector3Vcfc" }, { "abstract" : [ { - "text" : "Divides the rotation angle by the specified value.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -6657,14 +6652,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -6675,57 +6662,49 @@ }, { "kind" : "identifier", - "text" : "\/=" - }, - { - "kind" : "text", - "text" : " " + "text" : "translated" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "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\/rotation\/\/=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translated(by:)", "taskGroups" : [ ], - "title" : "\/=(_:_:)", - "usr" : "s:6Euclid8RotationV2deoiyyACz_SdtFZ" + "title" : "translated(by:)", + "usr" : "s:6Euclid4MeshV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Creates a polygon from a set of vertex positions.", + "text" : "A normalized direction vector pointing rightwards relative to the current rotation.", "type" : "text" } ], @@ -6735,32 +6714,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?<" - }, - { - "kind" : "genericParameter", - "text" : "T" - }, - { - "kind" : "text", - "text" : ">(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV_8materialACSgx_s11AnyHashableVSgtcSTRzAA6VectorV7ElementRtzlufc1TL_xmfp", - "text" : "T" + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "identifier", + "text" : "right" }, { "kind" : "text", @@ -6768,37 +6730,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?)" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/init(_:material:)-8gsiw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw", + "path" : "\/documentation\/euclid\/rotation\/right", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right", "taskGroups" : [ ], - "title" : "init(_:material:)", - "usr" : "s:6Euclid7PolygonV_8materialACSgx_s11AnyHashableVSgtcSTRzAA6VectorV7ElementRtzlufc" + "title" : "right", + "usr" : "s:6Euclid8RotationV5rightAA6VectorVvp" }, { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, + "abstract" : [ { - "kind" : "text", - "text" : " " - }, + "text" : "Rotate the value in place.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -6809,61 +6765,50 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "rotate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SN", - "text" : "ClosedRange" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "<" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], - "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\/bounds\/rotate(by:)-ntgj", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-ntgj", "taskGroups" : [ ], - "title" : "...(_:_:)", - "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { + "abstract" : [ + { + "text" : "The angle in degrees.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -6878,7 +6823,7 @@ }, { "kind" : "identifier", - "text" : "errorCode" + "text" : "degrees" }, { "kind" : "text", @@ -6886,54 +6831,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/ioerror\/errorcode", - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "8.0", - "name" : "iOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.10", - "name" : "macOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "9.0", - "name" : "tvOS", - "unavailable" : false - }, - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "2.0", - "name" : "watchOS", - "unavailable" : false - } - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorCode", + "path" : "\/documentation\/euclid\/angle\/degrees", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees", "taskGroups" : [ ], - "title" : "errorCode", - "usr" : "s:10Foundation13CustomNSErrorPAAE9errorCodeSivp::SYNTHESIZED::s:6Euclid4MeshV7IOErrorV" + "title" : "degrees", + "usr" : "s:6Euclid5AngleV7degreesSdvp" }, { "abstract" : [ { - "text" : "A plane located at the origin, aligned with the X and Y axes.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -6943,23 +6858,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" : "xy" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -6967,24 +6882,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "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\/plane\/xy", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy", + "path" : "\/documentation\/euclid\/transform\/scaled(by:)-19ukh", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-19ukh", "taskGroups" : [ ], - "title" : "xy", - "usr" : "s:6Euclid5PlaneV2xyACvpZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid9TransformV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "An array of vertices suitable for constructing a set of edge polygons for the path.", "type" : "text" } ], @@ -7002,7 +6926,7 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "edgeVertices" }, { "kind" : "text", @@ -7010,7 +6934,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "for" }, { "kind" : "text", @@ -7018,68 +6942,49 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)", - "taskGroups" : [ - - ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6BoundsV" - }, - { - "abstract" : [ - { - "text" : "The green component of the color.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : "." + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", + "text" : "WrapMode" }, { "kind" : "text", - "text" : " " + "text" : ") -> [" }, { - "kind" : "identifier", - "text" : "g" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/g", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/g", + "path" : "\/documentation\/euclid\/path\/edgevertices(for:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)", "taskGroups" : [ ], - "title" : "g", - "usr" : "s:6Euclid5ColorV1gSdvp" + "title" : "edgeVertices(for:)", + "usr" : "s:6Euclid4PathV12edgeVertices3forSayAA6VertexVGAA4MeshV8WrapModeO_tF" }, { + "abstract" : [ + { + "text" : "Creates a quaternion representing a rotation around the Z axis.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -7102,11 +7007,7 @@ }, { "kind" : "identifier", - "text" : "+" - }, - { - "kind" : "text", - "text" : " " + "text" : "roll" }, { "kind" : "text", @@ -7114,7 +7015,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -7122,23 +7024,27 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "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\/quaternion\/roll(_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/roll(_:)", "taskGroups" : [ ], - "title" : "+(_:)", - "usr" : "s:s18AdditiveArithmeticPsE1popyxxFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "roll(_:)", + "usr" : "s:6Euclid10QuaternionV4rollyAcA5AngleVFZ" }, { "abstract" : [ { - "text" : "Returns a new vector that represents the mininum of the components of the two vectors.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -7156,139 +7062,109 @@ }, { "kind" : "identifier", - "text" : "min" + "text" : "scale" }, { "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", - "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\/transform\/scale(by:)-55r4j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j", "taskGroups" : [ ], - "title" : "min(_:_:)", - "usr" : "s:6Euclid3minyAA6VectorVAD_ADtF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { - "abstract" : [ - { - "text" : "Creates a mesh from a RealityKit ", - "type" : "text" - }, - { - "code" : "MeshDescriptor", - "type" : "codeVoice" - }, - { - "text" : " with optional material.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:17RealityFoundation14MeshDescriptorV", - "text" : "MeshDescriptor" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "materials" + "kind" : "identifier", + "text" : "!=" }, { "kind" : "text", - "text" : ": [" + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "text" : "Self" }, { "kind" : "text", - "text" : "." + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "text" : "Self" }, { "kind" : "text", - "text" : "?])" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:materials:)-22brv", - "platforms" : [ - { - "beta" : false, - "deprecated" : false, - "introducedAt" : "15.0", - "name" : "iOS", - "unavailable" : false + "text" : ") -> " }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "12.0", - "name" : "macOS", - "unavailable" : false + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-22brv", + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/!=(_:_:)", "taskGroups" : [ ], - "title" : "init(_:materials:)", - "usr" : "s:6Euclid4MeshV_9materialsAC17RealityFoundation0B10DescriptorV_Says11AnyHashableVSgGtcfc" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Indicates whether all the path’s points lie on a single plane.", "type" : "text" } ], @@ -7298,7 +7174,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -7306,15 +7182,7 @@ }, { "kind" : "identifier", - "text" : "scale" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "isPlanar" }, { "kind" : "text", @@ -7322,116 +7190,72 @@ }, { "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\/mesh\/scale(by:)-1h2f7", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7", + "path" : "\/documentation\/euclid\/path\/isplanar", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "isPlanar", + "usr" : "s:6Euclid4PathV8isPlanarSbvp" }, { - "abstract" : [ - { - "text" : "An infinite 2D plane in 3D space.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "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" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w" - ], - "title" : "Plane Properties" + "kind" : "keyword", + "text" : "let" }, { - "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" : "text", + "text" : " " }, { - "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" : "identifier", + "text" : "magenta" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : ": " }, { - "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" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "title" : "Plane", - "usr" : "s:6Euclid5PlaneV" + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/magenta", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta", + "taskGroups" : [ + + ], + "title" : "magenta", + "usr" : "s:6Euclid5ColorV7magentaACvpZ" }, { + "abstract" : [ + { + "text" : "Returns the inverse rotation.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -7454,7 +7278,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "-" }, { "kind" : "text", @@ -7466,15 +7290,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -7482,24 +7299,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)", + "path" : "\/documentation\/euclid\/rotation\/-(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "-(_:)", + "usr" : "s:6Euclid8RotationV1sopyA2CFZ" }, { "abstract" : [ { - "text" : "Creates a closed path from a polygon.", + "text" : "Computes the line of intersection between two planes.", "type" : "text" } ], @@ -7509,36 +7326,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, + "kind" : "identifier", + "text" : "intersection" + }, { "kind" : "text", - "text" : ")" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "with" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" + }, + { + "kind" : "text", + "text" : "?" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(_:)-3c0eo", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-3c0eo", + "path" : "\/documentation\/euclid\/plane\/intersection(with:)-4v7tg", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-4v7tg", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid4PathVyAcA7PolygonVcfc" + "title" : "intersection(with:)", + "usr" : "s:6Euclid5PlaneV12intersection4withAA4LineVSgAC_tF" }, { "abstract" : [ { - "text" : "Encodes this polygon into the given encoder.", + "text" : "Creates a closed square path.", "type" : "text" } ], @@ -7546,6 +7388,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -7556,7 +7406,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "square" }, { "kind" : "text", @@ -7564,7 +7414,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "size" }, { "kind" : "text", @@ -7572,46 +7422,100 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") " + "text" : ", " }, { - "kind" : "keyword", - "text" : "throws" + "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.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)", + "path" : "\/documentation\/euclid\/path\/square(size:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid7PolygonV6encode2toys7Encoder_p_tKF" + "title" : "square(size:color:)", + "usr" : "s:6Euclid4PathV6square4size5colorACSd_AA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Display the 3D shapes you created with meshes.", + "text" : "Scale 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" : "scale" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/renderingmeshes", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes", + "path" : "\/documentation\/euclid\/transform\/scale(by:)-9i9s9", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9", "taskGroups" : [ ], - "title" : "Rendering Meshes" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ @@ -7705,7 +7609,7 @@ { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Splits a polygon into two or more convex polygons using the “ear clipping” method.", "type" : "text" } ], @@ -7715,47 +7619,91 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "tessellate" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "*=" + "kind" : "externalParam", + "text" : "maxSides" }, { "kind" : "text", - "text" : " " + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "(" + "text" : ") -> [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, + { + "kind" : "text", + "text" : "]" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/tessellate(maxsides:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)", + "taskGroups" : [ + + ], + "title" : "tessellate(maxSides:)", + "usr" : "s:6Euclid7PolygonV10tessellate8maxSidesSayACGSi_tF" + }, + { + "abstract" : [ + { + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", - "text" : "inout" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "identifier", + "text" : "transformed" }, { "kind" : "text", - "text" : ", " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", @@ -7764,23 +7712,27 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)", + "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:6Euclid4MeshV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformableP11transformed2byxAA9TransformV_tF" }, { "abstract" : [ { - "text" : "Returns the componentwise difference between two vectors.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -7788,14 +7740,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -7806,24 +7750,19 @@ }, { "kind" : "identifier", - "text" : "-" - }, - { - "kind" : "text", - "text" : " " + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -7836,24 +7775,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "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\/polygon\/scaled(by:)-8sjrv", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv", "taskGroups" : [ ], - "title" : "-(_:_:)", - "usr" : "s:6Euclid6VectorV1soiyA2C_ACtFZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid7PolygonV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Flip the direction of the line segment", + "text" : "Generate front faces.", "type" : "text" } ], @@ -7863,7 +7802,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "case" }, { "kind" : "text", @@ -7871,32 +7810,23 @@ }, { "kind" : "identifier", - "text" : "inverted" - }, - { - "kind" : "text", - "text" : "() -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : "front" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()", + "path" : "\/documentation\/euclid\/mesh\/faces\/front", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid11LineSegmentV8invertedACyF" + "title" : "Mesh.Faces.front", + "usr" : "s:6Euclid4MeshV5FacesO5frontyA2EmF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -7914,7 +7844,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "scale" }, { "kind" : "text", @@ -7930,8 +7860,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -7940,18 +7870,18 @@ ], "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\/path\/scale(by:)-1kdd7", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Creates a spherical mesh.", + "text" : "Return a copy of the polygon with transformed vertex colors", "type" : "text" } ], @@ -7959,14 +7889,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -7977,49 +7899,76 @@ }, { "kind" : "identifier", - "text" : "sphere" + "text" : "mapVertexColors" }, { "kind" : "text", - "text" : "(" + "text" : "((" }, { - "kind" : "externalParam", - "text" : "radius" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ", " + "text" : "?) -> " }, { - "kind" : "externalParam", - "text" : "slices" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/mapvertexcolors(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapVertexColors(_:)", + "taskGroups" : [ + + ], + "title" : "mapVertexColors(_:)", + "usr" : "s:6Euclid7PolygonV15mapVertexColorsyAcA5ColorVSgAFXEF" + }, + { + "abstract" : [ + { + "text" : "Transform the value in place.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "kind" : "identifier", + "text" : "transform" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "stacks" + "text" : "by" }, { "kind" : "text", @@ -8027,33 +7976,54 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "?, " - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)", + "taskGroups" : [ + + ], + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VectorV" + }, + { + "abstract" : [ { - "kind" : "externalParam", - "text" : "poleDetail" + "text" : "Encodes this color into the given encoder.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "kind" : "identifier", + "text" : "encode" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "faces" + "text" : "to" }, { "kind" : "text", @@ -8061,67 +8031,92 @@ }, { "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\/color\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)", + "taskGroups" : [ + + ], + "title" : "encode(to:)", + "usr" : "s:6Euclid5ColorV6encode2toys7Encoder_p_tKF" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "kind" : "identifier", + "text" : "hash" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "into" }, { "kind" : "text", "text" : ": " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : "?) -> " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:s6HasherV", + "text" : "Hasher" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "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\/quaternion\/hash(into:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)", "taskGroups" : [ ], - "title" : "sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV6sphere6radius6slices6stacks10poleDetail5faces8wrapMode8materialACSd_S2iSgSiAC5FacesOAC04WrapK0Os11AnyHashableVSgtFZ" + "title" : "hash(into:)", + "usr" : "s:6Euclid10QuaternionV4hash4intoys6HasherVz_tF" }, { "abstract" : [ { - "text" : "Returns the normalized quaternion.", + "text" : "Creates a rotationally symmetrical mesh by turning the specified path around the Y axis.", "type" : "text" } ], @@ -8129,6 +8124,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -8139,50 +8142,41 @@ }, { "kind" : "identifier", - "text" : "normalized" + "text" : "lathe" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/normalized()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()", - "taskGroups" : [ - - ], - "title" : "normalized()", - "usr" : "s:6Euclid10QuaternionV10normalizedACyF" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, { - "text" : "The size of the bounds. The minimum returned size is zero, even if max < min.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "externalParam", + "text" : "slices" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "size" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "poleDetail" }, { "kind" : "text", @@ -8190,24 +8184,165 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Si", + "text" : "Int" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "addDetailForFlatPoles" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + }, + { + "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.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\/lathe(_:slices:poledetail:adddetailforflatpoles:faces:wrapmode:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", "taskGroups" : [ ], - "title" : "size", - "usr" : "s:6Euclid6BoundsV4sizeAA6VectorVvp" + "title" : "lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV5lathe_6slices10poleDetail03addF12ForFlatPoles5faces8wrapMode8materialAcA4PathV_S2iSbAC5FacesOAC04WrapM0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether a point lies on the plane.", + "text" : "Material used by a given polygon.", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "This can be any type that conforms to ", + "type" : "text" + }, + { + "code" : "Hashable", + "type" : "codeVoice" + }, + { + "text" : ", but encoding\/decoding is only supported", + "type" : "text" + }, + { + "text" : " ", + "type" : "text" + }, + { + "text" : "for the following types: ", + "type" : "text" + }, + { + "code" : "Color", + "type" : "codeVoice" + }, + { + "text" : ", ", + "type" : "text" + }, + { + "code" : "String", + "type" : "codeVoice" + }, + { + "text" : ", ", + "type" : "text" + }, + { + "code" : "Int", + "type" : "codeVoice" + }, + { + "text" : ", ", + "type" : "text" + }, + { + "code" : "Data", + "type" : "codeVoice" + }, + { + "text" : " or any ", + "type" : "text" + }, + { + "code" : "NSSecureCodable", + "type" : "codeVoice" + }, + { + "text" : " type.", "type" : "text" } ], @@ -8217,7 +8352,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "typealias" }, { "kind" : "text", @@ -8225,41 +8360,23 @@ }, { "kind" : "identifier", - "text" : "containsPoint" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Material" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/polygon\/material-swift.typealias", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid5PlaneV13containsPointySbAA6VectorVF" + "title" : "Polygon.Material", + "usr" : "s:6Euclid7PolygonV8Materiala" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -8267,6 +8384,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -8277,44 +8402,52 @@ }, { "kind" : "identifier", - "text" : "scale" + "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:6Euclid9TransformV", + "text" : "Transform" }, { "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\/vertex\/scale(by:)-1hyw0", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0", + "path" : "\/documentation\/euclid\/bounds\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Creates a new transform by decoding from the given decoder.", + "text" : "Creates a bounds from two SceneKit vectors.", "type" : "text" } ], @@ -8328,11 +8461,7 @@ }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "from" + "text" : "((min" }, { "kind" : "text", @@ -8340,32 +8469,41 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "c:@S@SCNVector3", + "text" : "SCNVector3" }, { "kind" : "text", - "text" : ") " + "text" : ", max" }, { - "kind" : "keyword", - "text" : "throws" + "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\/transform\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)", + "path" : "\/documentation\/euclid\/bounds\/init(_:)-5bh7b", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-5bh7b", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid9TransformV4fromACs7Decoder_p_tKcfc" + "title" : "init(_:)", + "usr" : "s:6Euclid6BoundsVyACSo10SCNVector3V3min_AE3maxt_tcfc" }, { "abstract" : [ { - "text" : "Curve or uncurve the point.", + "text" : "Returns the angle divided by a numeric denominator.", "type" : "text" } ], @@ -8373,6 +8511,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -8383,7 +8529,11 @@ }, { "kind" : "identifier", - "text" : "curved" + "text" : "\/" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -8391,8 +8541,17 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -8400,24 +8559,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "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\/angle\/\/(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/(_:_:)", "taskGroups" : [ ], - "title" : "curved(_:)", - "usr" : "s:6Euclid9PathPointV6curvedyACSbF" + "title" : "\/(_:_:)", + "usr" : "s:6Euclid5AngleV1doiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Creates a new vector from a CoreGraphics size.", + "text" : "The angle of rotation around the Z-axis.", "type" : "text" } ], @@ -8427,36 +8586,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@CGSize", - "text" : "CGSize" + "kind" : "identifier", + "text" : "roll" }, { "kind" : "text", - "text" : ")" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "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\/rotation\/roll", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACSo6CGSizeVcfc" + "title" : "roll", + "usr" : "s:6Euclid8RotationV4rollAA5AngleVvp" }, { "abstract" : [ { - "text" : "The distinct (disconnected) submeshes that make up the mesh.", + "text" : "Creates a copy of the vertex with the specified normal.", "type" : "text" } ], @@ -8466,7 +8629,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -8474,36 +8637,41 @@ }, { "kind" : "identifier", - "text" : "submeshes" + "text" : "withNormal" }, { "kind" : "text", - "text" : ": [" + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], - "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\/vertex\/withnormal(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withNormal(_:)", "taskGroups" : [ ], - "title" : "submeshes", - "usr" : "s:6Euclid4MeshV9submeshesSayACGvp" + "title" : "withNormal(_:)", + "usr" : "s:6Euclid6VertexV10withNormalyAcA6VectorVF" }, { "abstract" : [ { - "text" : "Return a copy of the polygon with transformed texture coordinates", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -8521,25 +8689,24 @@ }, { "kind" : "identifier", - "text" : "mapTexcoords" + "text" : "transformed" }, { "kind" : "text", - "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:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -8547,24 +8714,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/maptexcoords(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapTexcoords(_:)", + "path" : "\/documentation\/euclid\/plane\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)", "taskGroups" : [ ], - "title" : "mapTexcoords(_:)", - "usr" : "s:6Euclid7PolygonV12mapTexcoordsyAcA6VectorVAFXEF" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Creates an array of contours by extruding one path along another path.", + "text" : "Angle representing a zero (identity) rotation.", "type" : "text" } ], @@ -8574,23 +8740,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "extrusionContours" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "along" + "kind" : "identifier", + "text" : "zero" }, { "kind" : "text", @@ -8598,71 +8764,93 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/zero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero", + "taskGroups" : [ + + ], + "title" : "zero", + "usr" : "s:6Euclid5AngleV4zeroACvpZ" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Creates a quaternion from raw component values.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "twist" + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "align" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV9AlignmentO", - "text" : "Alignment" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> [" + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "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:)", - "taskGroups" : [ + "path" : "\/documentation\/euclid\/quaternion\/init(_:_:_:_:)", + "platforms" : [ ], - "title" : "extrusionContours(along:twist:align:)", - "usr" : "s:6Euclid4PathV17extrusionContours5along5twist5alignSayACGAC_AA5AngleVAC9AlignmentOtF" + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:_:_:_:)", + "taskGroups" : [ + + ], + "title" : "init(_:_:_:_:)", + "usr" : "s:6Euclid10QuaternionVyACSd_S3dtcfc" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Creates a rounded rectangle path.", "type" : "text" } ], @@ -8688,100 +8876,159 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "roundedRectangle" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "height" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "radius" + }, + { + "kind" : "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\/*(_:_:)", - "taskGroups" : [ - - ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VertexV" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, { - "text" : "Creates a transform from a SceneKit transform matrix.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "externalParam", + "text" : "detail" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@SCNMatrix4", - "text" : "SCNMatrix4" + "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.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/init(_:)-83oy3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3", + "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" : "init(_:)", - "usr" : "s:6Euclid9TransformVyACSo13CATransform3DVcfc" + "title" : "roundedRectangle(width:height:radius:detail:color:)", + "usr" : "s:6Euclid4PathV16roundedRectangle5width6height6radius6detail5colorACSd_S2dSiAA5ColorVSgtFZ" }, { "availableLanguages" : [ "swift" ], - "fragments" : [ + "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" : [ { - "kind" : "keyword", - "text" : "static" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)" + ], + "title" : "Operators" }, { - "kind" : "text", - "text" : " " - }, + "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" : "Linearly interpolates between two path points.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -8792,11 +9039,7 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "lerp" }, { "kind" : "text", @@ -8804,41 +9047,45 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s19PartialRangeThroughV", - "text" : "PartialRangeThrough" + "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\/angle\/'...(_:)-3s6ak", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak", + "path" : "\/documentation\/euclid\/pathpoint\/lerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "lerp(_:_:)", + "usr" : "s:6Euclid9PathPointV4lerpyA2C_SdtF" }, { + "abstract" : [ + { + "text" : "Returns a translated copy of the value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -8853,24 +9100,15 @@ }, { "kind" : "identifier", - "text" : "xor" + "text" : "translated" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - }, - { - "kind" : "text", - "text" : ", " - }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "by" }, { "kind" : "text", @@ -8878,8 +9116,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -8887,27 +9125,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceMethod", "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\/vector\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)", "taskGroups" : [ ], - "title" : "xor(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV3xor_11isCancelledA2C_SbyXEtF" + "title" : "translated(by:)", + "usr" : "s:6Euclid6VectorV10translated2byA2C_tF" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -8925,7 +9160,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "translated" }, { "kind" : "text", @@ -8941,28 +9176,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/rotate(by:)-2ix6y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-2ix6y", + "path" : "\/documentation\/euclid\/transform\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "translated(by:)", + "usr" : "s:6Euclid9TransformV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether the two bounds intersect.", + "text" : "Returns a rotated copy of the bounds.", "type" : "text" } ], @@ -8980,16 +9220,24 @@ }, { "kind" : "identifier", - "text" : "intersects" + "text" : "rotated" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -8997,24 +9245,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/intersects(_:)-95v17", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17", + "path" : "\/documentation\/euclid\/bounds\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotated(by:)", "taskGroups" : [ ], - "title" : "intersects(_:)", - "usr" : "s:6Euclid6BoundsV10intersectsySbACF" + "title" : "rotated(by:)", + "usr" : "s:6Euclid6BoundsV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "Creates a vector from the values you provide.", + "text" : "Creates a cylindrical mesh.", "type" : "text" } ], @@ -9024,12 +9272,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "cylinder" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "radius" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", @@ -9039,6 +9311,14 @@ "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "height" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", @@ -9048,56 +9328,60 @@ "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "slices" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)", - "taskGroups" : [ - - ], - "title" : "init(_:_:_:)", - "usr" : "s:6Euclid6VectorVyACSd_S2dtcfc" - }, - { - "abstract" : [ + "text" : ", " + }, { - "text" : "A zero-length vector.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "externalParam", + "text" : "poleDetail" + }, { - "kind" : "keyword", - "text" : "static" + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "zero" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "wrapMode" }, { "kind" : "text", @@ -9105,24 +9389,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "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.typeProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/zero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero", + "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" : "zero", - "usr" : "s:6Euclid6VectorV4zeroACvpZ" + "title" : "cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV8cylinder6radius6height6slices10poleDetail5faces8wrapMode8materialACSd_SdS2iAC5FacesOAC04WrapK0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Returns a copy of the mesh with the new material applied to all polygons.", + "text" : "Divides the components of the vector by the value you provide.", "type" : "text" } ], @@ -9130,6 +9440,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -9140,41 +9458,57 @@ }, { "kind" : "identifier", - "text" : "withMaterial" + "text" : "\/=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "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:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/withmaterial(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)", + "path" : "\/documentation\/euclid\/vector\/\/=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/=(_:_:)", "taskGroups" : [ ], - "title" : "withMaterial(_:)", - "usr" : "s:6Euclid4MeshV12withMaterialyACs11AnyHashableVSgF" + "title" : "\/=(_:_:)", + "usr" : "s:6Euclid6VectorV2deoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "An axially-aligned bounding box in 3D space.", + "text" : "The bounds of all the path’s points.", "type" : "text" } ], @@ -9184,7 +9518,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "var" }, { "kind" : "text", @@ -9192,135 +9526,85 @@ }, { "kind" : "identifier", + "text" : "bounds" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", "text" : "Bounds" } ], - "kind" : "org.swift.docc.kind.structure", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds", + "path" : "\/documentation\/euclid\/path\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds", + "taskGroups" : [ + + ], + "title" : "bounds", + "usr" : "s:6Euclid4PathV6boundsAA6BoundsVvp" + }, + { + "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\/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" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty" - ], - "title" : "Default Bounds" - }, - { - "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" - }, - { - "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" - }, - { - "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" - }, - { - "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" - }, - { - "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:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)" ], - "title" : "Initializers" + "title" : "Operators" }, { "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" + "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" : "Default Implementations" + "title" : "Instance Methods" } ], - "title" : "Bounds", - "usr" : "s:6Euclid6BoundsV" + "title" : "Transformable Implementations" }, { - "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", + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/bounded", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", + "path" : "\/documentation\/euclid\/path\/bounded-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds" ], "title" : "Instance Properties" } ], - "title" : "Bounded", - "usr" : "s:6Euclid7BoundedP" + "title" : "Bounded Implementations" }, { "abstract" : [ { - "text" : "Creates a transform from the current position, scale and orientation of a SceneKit node.", + "text" : "Creates a corner path point at the specified position.", "type" : "text" } ], @@ -9346,15 +9630,24 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "point" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "from" + "text" : "texcoord" }, { "kind" : "text", @@ -9362,33 +9655,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNNode", - "text" : "SCNNode" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " + "text" : "?, " + }, + { + "kind" : "externalParam", + "text" : "color" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/transform(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)", + "path" : "\/documentation\/euclid\/pathpoint\/point(_:texcoord:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:texcoord:color:)", "taskGroups" : [ ], - "title" : "transform(from:)", - "usr" : "s:6Euclid9TransformV9transform4fromACSo7SCNNodeC_tFZ" + "title" : "point(_:texcoord:color:)", + "usr" : "s:6Euclid9PathPointV5point_8texcoord5colorAcA6VectorV_AHSgAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "The direction of the line segment as a normalized vector.", "type" : "text" } ], @@ -9398,15 +9708,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -9414,52 +9716,32 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "direction" }, { "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\/polygon\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/direction", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/direction", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "direction", + "usr" : "s:6Euclid11LineSegmentV9directionAA6VectorVvp" }, { "abstract" : [ { - "text" : "The plane on which all vertices lie.", + "text" : "The polygons in the mesh, grouped by material.", "type" : "text" } ], @@ -9477,32 +9759,45 @@ }, { "kind" : "identifier", - "text" : "plane" + "text" : "polygonsByMaterial" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "? : [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "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\/mesh\/polygonsbymaterial", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygonsByMaterial", "taskGroups" : [ ], - "title" : "plane", - "usr" : "s:6Euclid7PolygonV5planeAA5PlaneVvp" + "title" : "polygonsByMaterial", + "usr" : "s:6Euclid4MeshV18polygonsByMaterialSDys11AnyHashableVSgSayAA7PolygonVGGvp" }, { "abstract" : [ { - "text" : "Computes a set of edges where the mesh intersects a plane.", + "text" : "Encodes this transform into the given encoder.", "type" : "text" } ], @@ -9520,7 +9815,7 @@ }, { "kind" : "identifier", - "text" : "edges" + "text" : "encode" }, { "kind" : "text", @@ -9528,7 +9823,7 @@ }, { "kind" : "externalParam", - "text" : "intersecting" + "text" : "to" }, { "kind" : "text", @@ -9536,46 +9831,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sh", - "text" : "Set" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : ") " }, { - "kind" : "text", - "text" : ">" + "kind" : "keyword", + "text" : "throws" } ], "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\/transform\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/encode(to:)", "taskGroups" : [ ], - "title" : "edges(intersecting:)", - "usr" : "s:6Euclid4MeshV5edges12intersectingShyAA11LineSegmentVGAA5PlaneV_tF" + "title" : "encode(to:)", + "usr" : "s:6Euclid9TransformV6encode2toys7Encoder_p_tKF" + }, + { + "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" : "A Boolean value that indicates whether the polygon includes vertex colors.", + "text" : "Creates a linear path from a start and end point.", "type" : "text" } ], @@ -9585,7 +9884,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -9593,7 +9900,33 @@ }, { "kind" : "identifier", - "text" : "hasVertexColors" + "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" : "color" }, { "kind" : "text", @@ -9601,24 +9934,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "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\/polygon\/hasvertexcolors", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors", + "path" : "\/documentation\/euclid\/path\/line(_:_:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)", "taskGroups" : [ ], - "title" : "hasVertexColors", - "usr" : "s:6Euclid7PolygonV15hasVertexColorsSbvp" + "title" : "line(_:_:color:)", + "usr" : "s:6Euclid4PathV4line__5colorAcA6VectorV_AgA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Split the polygon along a plane.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -9636,7 +9978,7 @@ }, { "kind" : "identifier", - "text" : "split" + "text" : "scaled" }, { "kind" : "text", @@ -9644,7 +9986,7 @@ }, { "kind" : "externalParam", - "text" : "along" + "text" : "by" }, { "kind" : "text", @@ -9652,54 +9994,33 @@ }, { "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" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": [" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, - { - "kind" : "text", - "text" : "])" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/split(along:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)", + "path" : "\/documentation\/euclid\/mesh\/scaled(by:)-90bab", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-90bab", "taskGroups" : [ ], - "title" : "split(along:)", - "usr" : "s:6Euclid7PolygonV5split5alongSayACG5front_AF4backtAA5PlaneV_tF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid4MeshV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -9717,7 +10038,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "translated" }, { "kind" : "text", @@ -9733,8 +10054,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -9748,18 +10069,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/scaled(by:)-6axqe", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe", + "path" : "\/documentation\/euclid\/plane\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translated(by:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid5PlaneV6scaled2byACSd_tF" + "title" : "translated(by:)", + "usr" : "s:6Euclid5PlaneV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "A surface normal vector, perpendicular to the plane.", + "text" : "The normalized direction of the line.", "type" : "text" } ], @@ -9777,7 +10098,7 @@ }, { "kind" : "identifier", - "text" : "normal" + "text" : "direction" }, { "kind" : "text", @@ -9791,18 +10112,18 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/normal", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal", + "path" : "\/documentation\/euclid\/line\/direction", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction", "taskGroups" : [ ], - "title" : "normal", - "usr" : "s:6Euclid5PlaneV6normalAA6VectorVvp" + "title" : "direction", + "usr" : "s:6Euclid4LineV9directionAA6VectorVvp" }, { "abstract" : [ { - "text" : "A distance or position in 3D space.", + "text" : "Input\/output error.", "type" : "text" } ], @@ -9820,138 +10141,139 @@ }, { "kind" : "identifier", - "text" : "Vector" + "text" : "IOError" } ], "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/vector", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector", + "path" : "\/documentation\/euclid\/mesh\/ioerror", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError", "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\/Mesh\/IOError\/errorUserInfo" ], - "title" : "Creating Vectors" + "title" : "Instance Properties" }, { "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\/Mesh\/IOError\/CustomNSError-Implementations", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/Error-Implementations" ], - "title" : "Default Vectors" - }, + "title" : "Default Implementations" + } + ], + "title" : "Mesh.IOError", + "usr" : "s:6Euclid4MeshV7IOErrorV" + }, + { + "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\/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\/LineSegment\/!=(_:_:)" ], - "title" : "Vector Properties" - }, + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" + }, + { + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)" - ], - "title" : "Computing Vectors" - }, + "text" : "A Boolean value that indicates whether the mesh includes texture coordinates.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)" - ], - "title" : "Interpolating Vectors" + "kind" : "keyword", + "text" : "var" }, { - "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" + "kind" : "text", + "text" : " " }, { - "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" + "kind" : "identifier", + "text" : "hasTexcoords" }, { - "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" + "kind" : "text", + "text" : ": " }, { - "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" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/hastexcoords", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords", + "taskGroups" : [ + + ], + "title" : "hasTexcoords", + "usr" : "s:6Euclid4MeshV12hasTexcoordsSbvp" + }, + { + "abstract" : [ + { + "text" : "Returns the flip-side of the plane.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5s4mt", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-7r7et" - ], - "title" : "Initializers" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized" - ], - "title" : "Instance Properties" + "kind" : "identifier", + "text" : "inverted" }, { - "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" + "kind" : "text", + "text" : "() -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], - "title" : "Vector", - "usr" : "s:6Euclid6VectorV" + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()", + "taskGroups" : [ + + ], + "title" : "inverted()", + "usr" : "s:6Euclid5PlaneV8invertedACyF" }, { "abstract" : [ { - "text" : "Creates a new vertex from a position with default values for normal, texcoord and color.", + "text" : "Loads a mesh from a file, with optional material mapping.", "type" : "text" } ], @@ -9967,30 +10289,68 @@ "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "url" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:10Foundation3URLV", + "text" : "URL" }, { "kind" : "text", - "text" : ")" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "materialLookup" + }, + { + "kind" : "text", + "text" : ": ((" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s11AnyHashableV", + "text" : "AnyHashable" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?)?) " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/init(_:)-5517j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j", + "path" : "\/documentation\/euclid\/mesh\/init(url:materiallookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:materialLookup:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VertexVyAcA6VectorVcfc" + "title" : "init(url:materialLookup:)", + "usr" : "s:6Euclid4MeshV3url14materialLookupAC10Foundation3URLV_s11AnyHashableVSgAKcSgtKcfc" }, { "abstract" : [ { - "text" : "Computes the line of intersection between two planes.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -10008,7 +10368,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "translated" }, { "kind" : "text", @@ -10016,7 +10376,7 @@ }, { "kind" : "externalParam", - "text" : "with" + "text" : "by" }, { "kind" : "text", @@ -10024,8 +10384,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -10033,63 +10393,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" - }, - { - "kind" : "text", - "text" : "?" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], "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\/polygon\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid5PlaneV12intersection4withAA4LineVSgAC_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\/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" + "title" : "translated(by:)", + "usr" : "s:6Euclid7PolygonV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -10097,14 +10418,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -10115,28 +10428,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:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -10144,87 +10453,142 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "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\/scaled(by:)-9vwak", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scaled(by:)-9vwak", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid9TransformV6scaled2byAcA6VectorV_tF" }, { + "abstract" : [ + { + "text" : "A polygon in 3D space.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "struct" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" - }, + "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" : "identifier", - "text" : "..." + "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" : "text", - "text" : "(" + "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" : "typeIdentifier", - "text" : "Self" + "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" : "text", - "text" : ") -> " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals" + ], + "title" : "Instance Properties" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s19PartialRangeThroughV", - "text" : "PartialRangeThrough" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapTexcoords(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapVertexColors(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()" + ], + "title" : "Instance Methods" }, { - "kind" : "text", - "text" : "<" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias" + ], + "title" : "Type Aliases" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses" + ], + "title" : "Type Properties" }, { - "kind" : "text", - "text" : ">" + "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" } ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/'...(_:)-732z3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3", - "taskGroups" : [ - - ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "Polygon", + "usr" : "s:6Euclid7PolygonV" }, { "availableLanguages" : [ @@ -10283,36 +10647,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)", + "path" : "\/documentation\/euclid\/color\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)", "taskGroups" : [ ], "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4LineV" - }, - { - "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" + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5ColorV" }, { "abstract" : [ { - "text" : "The maximum coordinate of the bounds.", + "text" : "The color of the path point (optional).", "type" : "text" } ], @@ -10322,7 +10668,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -10330,7 +10676,7 @@ }, { "kind" : "identifier", - "text" : "max" + "text" : "color" }, { "kind" : "text", @@ -10338,24 +10684,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/max", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max", + "path" : "\/documentation\/euclid\/pathpoint\/color", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color", "taskGroups" : [ ], - "title" : "max", - "usr" : "s:6Euclid6BoundsV3maxAA6VectorVvp" + "title" : "color", + "usr" : "s:6Euclid9PathPointV5colorAA5ColorVSgvp" }, { "abstract" : [ { - "text" : "Creates a new polygon by decoding from the given decoder.", + "text" : "Returns a vector with its components divided by the specified value.", "type" : "text" } ], @@ -10365,56 +10715,70 @@ "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", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "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:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)", + "path" : "\/documentation\/euclid\/vector\/\/(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/\/(_:_:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid7PolygonV4fromACs7Decoder_p_tKcfc" + "title" : "\/(_:_:)", + "usr" : "s:6Euclid6VectorV1doiyA2C_SdtFZ" }, { "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" : "Creates a mesh by extruding a path along its face normal.", "type" : "text" } ], @@ -10422,6 +10786,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -10432,75 +10804,58 @@ }, { "kind" : "identifier", - "text" : "tessellate" + "text" : "extrude" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "maxSides" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "kind" : "externalParam", + "text" : "depth" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/tessellate(maxsides:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)", - "taskGroups" : [ - - ], - "title" : "tessellate(maxSides:)", - "usr" : "s:6Euclid4MeshV10tessellate8maxSidesACSi_tF" - }, - { - "abstract" : [ + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, { - "text" : "Transform the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "twist" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "transform" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "sections" }, { "kind" : "text", @@ -10508,123 +10863,67 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)", - "taskGroups" : [ - - ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF" - }, - { - "abstract" : [ - { - "text" : "Creates a color from an ", - "type" : "text" - }, - { - "code" : "NSColor", - "type" : "codeVoice" + "text" : ", " }, { - "text" : ".", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)NSColor", - "text" : "NSColor" + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(_:)-7d8un", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un", - "taskGroups" : [ - - ], - "title" : "init(_:)", - "usr" : "s:6Euclid5ColorVyACSo7NSColorCcfc" - }, - { - "abstract" : [ - { - "text" : "Creates a bounds from two points.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : ", " + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ", " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)", + "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" : "init(_:_:)", - "usr" : "s:6Euclid6BoundsVyAcA6VectorV_AEtcfc" + "title" : "extrude(_:depth:twist:sections:faces:material:)", + "usr" : "s:6Euclid4MeshV7extrude_5depth5twist8sections5faces8materialAcA4PathV_SdAA5AngleVSiAC5FacesOs11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Returns a Boolean value that indicates whether a point lies on the plane.", "type" : "text" } ], @@ -10642,20 +10941,12 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "containsPoint" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", @@ -10667,105 +10958,43 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "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\/plane\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid5PlaneV10translated2byAcA6VectorV_tF" - }, - { - "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" : "containsPoint(_:)", + "usr" : "s:6Euclid5PlaneV13containsPointySbAA6VectorVF" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Display the 3D shapes you created with meshes.", "type" : "text" } ], "availableLanguages" : [ "swift" ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "with" - }, - { - "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" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.article", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/with(color:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)", + "path" : "\/documentation\/euclid\/renderingmeshes", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes", "taskGroups" : [ ], - "title" : "with(color:)", - "usr" : "s:6Euclid9PathPointV4with5colorAcA5ColorVSg_tF" + "title" : "Rendering Meshes" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns the angle between this vector and another.", "type" : "text" } ], @@ -10783,7 +11012,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "angle" }, { "kind" : "text", @@ -10791,7 +11020,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "with" }, { "kind" : "text", @@ -10799,28 +11028,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "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\/vector\/angle(with:)-29paf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "angle(with:)", + "usr" : "s:6Euclid6VectorV5angle4withAA5AngleVAC_tF" }, { "abstract" : [ { - "text" : "Encodes this vertex into the given encoder.", + "text" : "Expands this bounds (if necessary) to contain the specified bounds.", "type" : "text" } ], @@ -10838,48 +11072,36 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "formUnion" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "to" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : ")" } ], "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\/bounds\/formunion(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid6VertexV6encode2toys7Encoder_p_tKF" + "title" : "formUnion(_:)", + "usr" : "s:6Euclid6BoundsV9formUnionyyACF" }, { "abstract" : [ { - "text" : "Divides the angle by a numeric denominator.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -10905,7 +11127,7 @@ }, { "kind" : "identifier", - "text" : "\/=" + "text" : "*=" }, { "kind" : "text", @@ -10925,8 +11147,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" }, { "kind" : "text", @@ -10934,8 +11155,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -10944,18 +11165,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/\/=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/\/=(_:_:)", + "path" : "\/documentation\/euclid\/path\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)", "taskGroups" : [ ], - "title" : "\/=(_:_:)", - "usr" : "s:6Euclid5AngleV2deoiyyACz_SdtFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates a bounds with min and max coordinates.", "type" : "text" } ], @@ -10965,57 +11186,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "scaled" + "kind" : "externalParam", + "text" : "min" }, { "kind" : "text", - "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" : "externalParam", + "text" : "max" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "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\/linesegment\/scaled(by:)-37r1v", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v", + "path" : "\/documentation\/euclid\/bounds\/init(min:max:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(min:max:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid11LineSegmentV6scaled2byACSd_tF" + "title" : "init(min:max:)", + "usr" : "s:6Euclid6BoundsV3min3maxAcA6VectorV_AGtcfc" }, { "abstract" : [ { - "text" : "Creates an angle representing the trigonometric arc sine of the value you provide.", + "text" : "Creates a spherical mesh.", "type" : "text" } ], @@ -11041,12 +11266,20 @@ }, { "kind" : "identifier", - "text" : "asin" + "text" : "sphere" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "radius" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", @@ -11054,46 +11287,28 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/asin(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)", - "taskGroups" : [ - - ], - "title" : "asin(_:)", - "usr" : "s:6Euclid5AngleV4asinyACSdFZ" - }, - { - "abstract" : [ + "kind" : "externalParam", + "text" : "slices" + }, { - "text" : "Creates a vector of uniform size.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "size" + "text" : "stacks" }, { "kind" : "text", @@ -11101,101 +11316,101 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(size:)-nkyk", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-nkyk", - "taskGroups" : [ - - ], - "title" : "init(size:)", - "usr" : "s:6Euclid6VectorV4sizeACSd_tcfc" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : "?, " + }, { - "kind" : "keyword", - "text" : "static" + "kind" : "externalParam", + "text" : "poleDetail" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "!=" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : " " + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : "(" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "wrapMode" + }, + { + "kind" : "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\/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:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid8RotationV" + "title" : "sphere(radius:slices:stacks:poleDetail:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV6sphere6radius6slices6stacks10poleDetail5faces8wrapMode8materialACSd_S2iSgSiAC5FacesOAC04WrapK0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Creates a ", - "type" : "text" - }, - { - "code" : "Vector", - "type" : "codeVoice" - }, - { - "text" : " from a simd vector 3.", + "text" : "The array of vertices that make up the polygon.", "type" : "text" } ], @@ -11205,36 +11420,44 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "vertices" + }, + { + "kind" : "text", + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@simd_float3", - "text" : "simd_float3" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", - "text" : ")" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-5s4mt", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5s4mt", + "path" : "\/documentation\/euclid\/polygon\/vertices", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACs5SIMD3VySfGcfc" + "title" : "vertices", + "usr" : "s:6Euclid7PolygonV8verticesSayAA6VertexVGvp" }, { "abstract" : [ { - "text" : "The bounds of the mesh.", + "text" : "A Boolean indicating whether the point is curved or sharp.", "type" : "text" } ], @@ -11252,7 +11475,7 @@ }, { "kind" : "identifier", - "text" : "bounds" + "text" : "isCurved" }, { "kind" : "text", @@ -11260,24 +11483,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds", + "path" : "\/documentation\/euclid\/pathpoint\/iscurved", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid4MeshV6boundsAA6BoundsVvp" + "title" : "isCurved", + "usr" : "s:6Euclid9PathPointV8isCurvedSbvp" }, { "abstract" : [ { - "text" : "The zero quaternion.", + "text" : "The plane upon which all path points lie. Will be nil for non-planar paths.", "type" : "text" } ], @@ -11287,15 +11510,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -11303,7 +11518,7 @@ }, { "kind" : "identifier", - "text" : "zero" + "text" : "plane" }, { "kind" : "text", @@ -11311,44 +11526,54 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" + }, + { + "kind" : "text", + "text" : "?" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/zero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero", + "path" : "\/documentation\/euclid\/path\/plane", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane", "taskGroups" : [ ], - "title" : "zero", - "usr" : "s:6Euclid10QuaternionV4zeroACvpZ" + "title" : "plane", + "usr" : "s:6Euclid4PathV5planeAA5PlaneVSgvp" }, { + "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" : "let" + "kind" : "identifier", + "text" : "split" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "gray" + "kind" : "externalParam", + "text" : "along" }, { "kind" : "text", @@ -11356,19 +11581,49 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "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" : "])" } ], - "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\/polygon\/split(along:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/split(along:)", "taskGroups" : [ ], - "title" : "gray", - "usr" : "s:6Euclid5ColorV4grayACvpZ" + "title" : "split(along:)", + "usr" : "s:6Euclid7PolygonV5split5alongSayACG5front_AF4backtAA5PlaneV_tF" }, { "abstract" : [ @@ -11417,44 +11672,38 @@ ], "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", + "path" : "\/documentation\/euclid\/pathpoint\/rotate(by:)-4cg0v", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-4cg0v", "taskGroups" : [ ], "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { - "abstract" : [ - { - "text" : "Rotate the value in place.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "rotate" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "clear" }, { "kind" : "text", @@ -11462,28 +11711,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/rotate(by:)-11t07", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07", + "path" : "\/documentation\/euclid\/color\/clear", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "clear", + "usr" : "s:6Euclid5ColorV5clearACvpZ" }, { "abstract" : [ { - "text" : "Returns the perpendicular distance of the line from a specified point.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -11501,7 +11746,7 @@ }, { "kind" : "identifier", - "text" : "distance" + "text" : "transform" }, { "kind" : "text", @@ -11509,7 +11754,7 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "by" }, { "kind" : "text", @@ -11517,33 +11762,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/distance(from:)-4o41", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41", + "path" : "\/documentation\/euclid\/path\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid4LineV8distance4fromSdAA6VectorV_tF" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Returns the distance between the vector (representing a position in space) from the specified plane.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -11561,7 +11801,7 @@ }, { "kind" : "identifier", - "text" : "distance" + "text" : "scaled" }, { "kind" : "text", @@ -11569,7 +11809,7 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "by" }, { "kind" : "text", @@ -11577,8 +11817,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -11586,24 +11826,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/distance(from:)-5p7ko", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-5p7ko", + "path" : "\/documentation\/euclid\/linesegment\/scaled(by:)-37r1v", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scaled(by:)-37r1v", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid6VectorV8distance4fromSdAA5PlaneV_tF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid11LineSegmentV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Returns the sum of two quaternion rotations.", + "text" : "An array of vertices suitable for constructing a polygon from the path.", "type" : "text" } ], @@ -11613,15 +11853,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -11629,54 +11861,36 @@ }, { "kind" : "identifier", - "text" : "+" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "faceVertices" }, { "kind" : "text", - "text" : ", " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "]?" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/+(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)", + "path" : "\/documentation\/euclid\/path\/facevertices", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceVertices", "taskGroups" : [ ], - "title" : "+(_:_:)", - "usr" : "s:6Euclid10QuaternionV1poiyA2C_ACtFZ" + "title" : "faceVertices", + "usr" : "s:6Euclid4PathV12faceVerticesSayAA6VertexVGSgvp" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Creates a new path point by decoding from the given decoder.", "type" : "text" } ], @@ -11686,15 +11900,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "scale" + "text" : "init" }, { "kind" : "text", @@ -11702,7 +11908,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -11710,81 +11916,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scale(by:)-9i9s9", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-9i9s9", - "taskGroups" : [ - - ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9TransformV" - }, - { - "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" + "text" : ") " }, { - "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" + "kind" : "keyword", + "text" : "throws" } ], - "title" : "Transformable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations", + "path" : "\/documentation\/euclid\/pathpoint\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)" - ], - "title" : "Instance Methods" - } + ], - "title" : "Encodable Implementations" + "title" : "init(from:)", + "usr" : "s:6Euclid9PathPointV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "The alpha component of the color.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -11794,7 +11951,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -11802,32 +11967,56 @@ }, { "kind" : "identifier", - "text" : "a" + "text" : "*=" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/a", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a", + "path" : "\/documentation\/euclid\/mesh\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)", "taskGroups" : [ ], - "title" : "a", - "usr" : "s:6Euclid5ColorV1aSdvp" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the polygon is convex.", + "text" : "Returns a copy of the mesh with the new material applied to all polygons.", "type" : "text" } ], @@ -11837,7 +12026,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -11845,40 +12034,41 @@ }, { "kind" : "identifier", - "text" : "isConvex" + "text" : "withMaterial" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "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\/isconvex", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex", + "path" : "\/documentation\/euclid\/mesh\/withmaterial(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withMaterial(_:)", "taskGroups" : [ ], - "title" : "isConvex", - "usr" : "s:6Euclid7PolygonV8isConvexSbvp" + "title" : "withMaterial(_:)", + "usr" : "s:6Euclid4MeshV12withMaterialyACs11AnyHashableVSgF" }, { "abstract" : [ { - "text" : "Creates a ", - "type" : "text" - }, - { - "code" : "Rotation", - "type" : "codeVoice" - }, - { - "text" : " from a simd quaternion.", + "text" : "Creates a quaternion from a rotation matrix.", "type" : "text" } ], @@ -11896,8 +12086,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@SA@simd_quatd", - "text" : "simd_quatd" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -11906,26 +12096,21 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(_:)-7j4ql", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql", + "path" : "\/documentation\/euclid\/quaternion\/init(_:)-7xa5o", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o", "taskGroups" : [ ], "title" : "init(_:)", - "usr" : "s:6Euclid8RotationVyACSo10simd_quatdacfc" + "usr" : "s:6Euclid10QuaternionVyAcA8RotationVcfc" }, { "abstract" : [ { - "text" : "A vector of length ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : " along the Y axis.", + "text" : "Multiplies the angle by a numeric value.", "type" : "text" } ], @@ -11943,7 +12128,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -11951,32 +12136,75 @@ }, { "kind" : "identifier", - "text" : "unitY" + "text" : "*=" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/unity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitY", + "path" : "\/documentation\/euclid\/angle\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*=(_:_:)", "taskGroups" : [ ], - "title" : "unitY", - "usr" : "s:6Euclid6VectorV5unitYACvpZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid5AngleV2meoiyyACz_SdtFZ" + }, + { + "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" : "Returns a Boolean value that indicates whether a point lies inside the polygon, on the same plane.", + "text" : "An axially-aligned bounding box in 3D space.", "type" : "text" } ], @@ -11986,7 +12214,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -11994,41 +12222,104 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "Bounds" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds", + "taskGroups" : [ + { + "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:6Euclid6VectorV", - "text" : "Vector" + "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" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "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" + }, + { + "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" + }, + { + "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" + }, + { + "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" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)", - "taskGroups" : [ - - ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid7PolygonV13containsPointySbAA6VectorVF" + "title" : "Bounds", + "usr" : "s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "The size or scale component of the transform.", + "text" : "Creates a ", + "type" : "text" + }, + { + "code" : "Vector", + "type" : "codeVoice" + }, + { + "text" : " from a simd vector 3.", "type" : "text" } ], @@ -12038,40 +12329,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "scale" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@T@simd_double3", + "text" : "simd_double3" }, { "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\/transform\/scale", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale", + "path" : "\/documentation\/euclid\/vector\/init(_:)-5n3j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j", "taskGroups" : [ ], - "title" : "scale", - "usr" : "s:6Euclid9TransformV5scaleAA6VectorVvp" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACs5SIMD3VySdGcfc" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "A finite line segment in 3D space.", "type" : "text" } ], @@ -12081,15 +12368,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -12097,91 +12376,74 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "keyword", - "text" : "inout" - }, + "text" : "LineSegment" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment", + "taskGroups" : [ { - "kind" : "text", - "text" : " " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)" + ], + "title" : "Creating Line Segments" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "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" }, { - "kind" : "text", - "text" : ", " + "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" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "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" : ")" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*=(_:_:)-3ur4e", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e", - "taskGroups" : [ - - ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VectorV" - }, - { - "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" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)" ], - "title" : "Operators" + "title" : "Initializers" }, { "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:)" + "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" : "Instance Methods" + "title" : "Default Implementations" } ], - "title" : "Transformable Implementations" + "title" : "LineSegment", + "usr" : "s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Creates an angle representing the trigonometric arc cosine of the value you provide.", + "text" : "A plane located at the origin, aligned with the X and Z axes.", "type" : "text" } ], @@ -12199,7 +12461,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -12207,41 +12469,32 @@ }, { "kind" : "identifier", - "text" : "acos" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "xz" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/acos(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)", + "path" : "\/documentation\/euclid\/plane\/xz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz", "taskGroups" : [ ], - "title" : "acos(_:)", - "usr" : "s:6Euclid5AngleV4acosyACSdFZ" + "title" : "xz", + "usr" : "s:6Euclid5PlaneV2xzACvpZ" }, { "abstract" : [ { - "text" : "Does the transform apply a mirror operation (negative scale)?", + "text" : "An array containing the raw components of the quaternion.", "type" : "text" } ], @@ -12259,56 +12512,39 @@ }, { "kind" : "identifier", - "text" : "isFlipped" + "text" : "components" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : "]" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/isflipped", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped", - "taskGroups" : [ + "path" : "\/documentation\/euclid\/quaternion\/components", + "platforms" : [ ], - "title" : "isFlipped", - "usr" : "s:6Euclid9TransformV9isFlippedSbvp" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/ioerror\/customnserror-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/CustomNSError-Implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/components", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorCode" - ], - "title" : "Instance Properties" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorDomain" - ], - "title" : "Type Properties" - } + ], - "title" : "CustomNSError Implementations" + "title" : "components", + "usr" : "s:6Euclid10QuaternionV10componentsSaySdGvp" }, { "abstract" : [ { - "text" : "The angle of rotation.", + "text" : "Merges any coplanar polygons that share one or more edges.", "type" : "text" } ], @@ -12318,7 +12554,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -12326,32 +12562,68 @@ }, { "kind" : "identifier", - "text" : "angle" + "text" : "detessellate" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/angle", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle", + "path" : "\/documentation\/euclid\/mesh\/detessellate()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detessellate()", "taskGroups" : [ ], - "title" : "angle", - "usr" : "s:6Euclid10QuaternionV5angleAA5AngleVvp" + "title" : "detessellate()", + "usr" : "s:6Euclid4MeshV12detessellateACyF" + }, + { + "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" + }, + { + "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" : "Scale the value in place.", + "text" : "Returns the point where the specified plane intersects the line.", "type" : "text" } ], @@ -12369,7 +12641,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "intersection" }, { "kind" : "text", @@ -12377,12 +12649,21 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "with" }, { "kind" : "text", "text" : ": " }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" + }, + { + "kind" : "text", + "text" : ") -> " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", @@ -12390,23 +12671,23 @@ }, { "kind" : "text", - "text" : ")" + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/scale(by:)-2v2ef", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef", + "path" : "\/documentation\/euclid\/line\/intersection(with:)-7s1sd", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "intersection(with:)", + "usr" : "s:6Euclid4LineV12intersection4withAA6VectorVSgAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Returns a new vector that represents the mininum of the components of the two vectors.", "type" : "text" } ], @@ -12414,14 +12695,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -12432,56 +12705,50 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "min" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "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" : ")" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.function", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)", + "path" : "\/documentation\/euclid\/min(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/min(_:_:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4PathV" + "title" : "min(_:_:)", + "usr" : "s:6Euclid3minyAA6VectorVAD_ADtF" }, { "abstract" : [ { - "text" : "Encodes this transform into the given encoder.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -12499,7 +12766,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "scaled" }, { "kind" : "text", @@ -12507,7 +12774,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -12515,32 +12782,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") " + "text" : ") -> " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "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\/vector\/scaled(by:)-356zr", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-356zr", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid9TransformV6encode2toys7Encoder_p_tKF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6VectorV6scaled2byA2C_tF" }, { "abstract" : [ { - "text" : "Merges any coplanar polygons that share one or more edges.", + "text" : "Creates a new transform.", "type" : "text" } ], @@ -12550,101 +12818,73 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "detessellate" + "kind" : "externalParam", + "text" : "offset" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "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" - }, - { - "abstract" : [ - { - "text" : "Creates a quaternion from raw component values.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "(" + "text" : "?, " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "rotation" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "scale" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ")" + "text" : "?)" } ], "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\/transform\/init(offset:rotation:scale:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(offset:rotation:scale:)", "taskGroups" : [ ], - "title" : "init(_:_:_:_:)", - "usr" : "s:6Euclid10QuaternionVyACSd_S3dtcfc" + "title" : "init(offset:rotation:scale:)", + "usr" : "s:6Euclid9TransformV6offset8rotation5scaleAcA6VectorVSg_AA8RotationVSgAItcfc" }, { "availableLanguages" : [ @@ -12652,32 +12892,65 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/additivearithmetic-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/AdditiveArithmetic-Implementations", + "path" : "\/documentation\/euclid\/path\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Transformable-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\/-=(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*=(_:_:)" ], "title" : "Operators" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero" + "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" : "Type Properties" + "title" : "Instance Methods" } ], - "title" : "AdditiveArithmetic Implementations" + "title" : "Transformable 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", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds" + ], + "title" : "Instance Properties" + } + ], + "title" : "Bounded Implementations" }, { "abstract" : [ { - "text" : "An infinite line in 3D space.", + "text" : "A vector with all coordinates set to ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -12687,63 +12960,66 @@ "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" : [ + "kind" : "keyword", + "text" : "let" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)" - ], - "title" : "Creating Lines" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/direction" - ], - "title" : "Line Properties" + "kind" : "identifier", + "text" : "one" }, { - "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" : "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" + ], + "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\/Line\/Decodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Encodable-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/Equatable-Implementations" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)" ], - "title" : "Default Implementations" + "title" : "Operators" } ], - "title" : "Line", - "usr" : "s:6Euclid4LineV" + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Multiplies the rotation angle by the specified value.", + "text" : "Smooth vertex normals for corners with angles greater (more obtuse) than the specified threshold.", "type" : "text" } ], @@ -12751,14 +13027,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -12769,57 +13037,49 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "smoothingNormals" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "forAnglesGreaterThan" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "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\/rotation\/*=(_:_:)-7u9hf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf", + "path" : "\/documentation\/euclid\/mesh\/smoothingnormals(foranglesgreaterthan:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid8RotationV2meoiyyACz_SdtFZ" + "title" : "smoothingNormals(forAnglesGreaterThan:)", + "usr" : "s:6Euclid4MeshV16smoothingNormals20forAnglesGreaterThanAcA5AngleV_tF" }, { "abstract" : [ { - "text" : "Creates a new bounds that contains both the specified bounds and this one.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -12837,41 +13097,44 @@ }, { "kind" : "identifier", - "text" : "union" + "text" : "translate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/union(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)", + "path" : "\/documentation\/euclid\/bounds\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translate(by:)", "taskGroups" : [ ], - "title" : "union(_:)", - "usr" : "s:6Euclid6BoundsV5unionyA2CF" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "The array of vertices that make up the polygon.", + "text" : "Align extruded cross-sections to the tangent of the path curve.", "type" : "text" } ], @@ -12881,7 +13144,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "case" }, { "kind" : "text", @@ -12889,36 +13152,41 @@ }, { "kind" : "identifier", - "text" : "vertices" - }, - { - "kind" : "text", - "text" : ": [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" - }, - { - "kind" : "text", - "text" : "]" + "text" : "tangent" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/vertices", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/vertices", + "path" : "\/documentation\/euclid\/path\/alignment\/tangent", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent", "taskGroups" : [ ], - "title" : "vertices", - "usr" : "s:6Euclid7PolygonV8verticesSayAA6VertexVGvp" + "title" : "Path.Alignment.tangent", + "usr" : "s:6Euclid4PathV9AlignmentO7tangentyA2EmF" + }, + { + "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" }, { "abstract" : [ { - "text" : "Creates a new line by decoding from the given decoder.", + "text" : "Returns a new vertex with the normal inverted.", "type" : "text" } ], @@ -12928,51 +13196,37 @@ "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:6Euclid6VertexV", + "text" : "Vertex" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)", + "path" : "\/documentation\/euclid\/vertex\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid4LineV4fromACs7Decoder_p_tKcfc" + "title" : "inverted()", + "usr" : "s:6Euclid6VertexV8invertedACyF" }, { - "abstract" : [ - { - "text" : "Create a mesh from STL data.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -12987,7 +13241,7 @@ }, { "kind" : "externalParam", - "text" : "stlData" + "text" : "scnGeometry" }, { "kind" : "text", @@ -12995,8 +13249,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:10Foundation4DataV", - "text" : "Data" + "preciseIdentifier" : "c:objc(cs)SCNGeometry", + "text" : "SCNGeometry" }, { "kind" : "text", @@ -13012,8 +13266,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19STLMaterialProvidera", - "text" : "STLMaterialProvider" + "preciseIdentifier" : "s:6Euclid4MeshV19SCNMaterialProvidera", + "text" : "SCNMaterialProvider" }, { "kind" : "text", @@ -13022,18 +13276,21 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(stldata:materiallookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlData:materialLookup:)", + "path" : "\/documentation\/euclid\/mesh\/init(scngeometry:materiallookup:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)", "taskGroups" : [ ], - "title" : "init(stlData:materialLookup:)", - "usr" : "s:6Euclid4MeshV7stlData14materialLookupACSg10Foundation0D0V_s11AnyHashableVSgAA5ColorVSgcSgtcfc" + "title" : "init(scnGeometry:materialLookup:)", + "usr" : "s:6Euclid4MeshV11scnGeometry14materialLookupACSgSo11SCNGeometryC_s11AnyHashableVSgSo11SCNMaterialCcSgtcfc" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -13051,7 +13308,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "transformed" }, { "kind" : "text", @@ -13067,46 +13324,97 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], "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\/linesegment\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transformed(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { - "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" : ".", + "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\/vector\/_(_:_:)-7i9lp", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp", + "taskGroups" : [ + + ], + "title" : ">(_:_:)", + "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + }, + { + "abstract" : [ + { + "text" : "Creates a circular arc.", "type" : "text" } ], @@ -13116,7 +13424,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -13124,99 +13440,186 @@ }, { "kind" : "identifier", - "text" : "Vertex" + "text" : "arc" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "angle" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "radius" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "segments" + }, + { + "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.structure", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex", + "path" : "\/documentation\/euclid\/path\/arc(angle:radius:segments:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/arc(angle:radius:segments:color:)", "taskGroups" : [ + + ], + "title" : "arc(angle:radius:segments:color:)", + "usr" : "s:6Euclid4PathV3arc5angle6radius8segments5colorAcA5AngleV_SdSiSgAA5ColorVSgtFZ" + }, + { + "abstract" : [ { - "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" + "text" : "A point along a path.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "struct" + }, + { + "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" : [ { "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" + "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" : "Vertex Properties" + "title" : "Creating Path Points" }, { "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:)" + "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" : "Transforming Vertices" + "title" : "Path Point Properties" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)" ], - "title" : "Interpolating Vertices" + "title" : "Interpolating Path Points" }, { "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\/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" : "Encoding and Decoding Vertices" + "title" : "Transforming Path Points" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withColor(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withNormal(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withPosition(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withTexcoord(_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)" ], "title" : "Instance Methods" }, { "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\/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" : "Vertex", - "usr" : "s:6Euclid6VertexV" - }, - { - "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" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" + "title" : "PathPoint", + "usr" : "s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Encodes this path point into the given encoder.", + "text" : "The identity quaternion (i.e. no rotation).", "type" : "text" } ], @@ -13226,23 +13629,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "encode" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "to" + "kind" : "identifier", + "text" : "identity" }, { "kind" : "text", @@ -13250,29 +13653,30 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)", + "path" : "\/documentation\/euclid\/quaternion\/identity", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid9PathPointV6encode2toys7Encoder_p_tKF" + "title" : "identity", + "usr" : "s:6Euclid10QuaternionV8identityACvpZ" }, { + "abstract" : [ + { + "text" : "Creates a closed rectangular path.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -13295,56 +13699,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\/linesegment\/'...(_:)-2uz97", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-2uz97", + "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:6Euclid11LineSegmentV" + "title" : "rectangle(width:height:color:)", + "usr" : "s:6Euclid4PathV9rectangle5width6height5colorACSd_SdAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "An empty path.", "type" : "text" } ], @@ -13354,23 +13785,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" : "empty" }, { "kind" : "text", @@ -13378,36 +13809,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/scale(by:)-9pjki", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki", + "path" : "\/documentation\/euclid\/path\/empty", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "empty", + "usr" : "s:6Euclid4PathV5emptyACvpZ" }, { "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" : "Creates an angle from a degrees value.", "type" : "text" } ], @@ -13417,41 +13836,32 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "union" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "isCancelled" + "kind" : "identifier", + "text" : "degrees" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -13459,45 +13869,51 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "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\/degrees(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/degrees(_:)", "taskGroups" : [ ], - "title" : "union(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV5union_11isCancelledA2C_SbyXEtF" + "title" : "degrees(_:)", + "usr" : "s:6Euclid5AngleV7degreesyACSdFZ" }, { + "abstract" : [ + { + "text" : "Creates a line segment with a start and end point.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "subtract" + "kind" : "externalParam", + "text" : "start" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -13505,7 +13921,7 @@ }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "end" }, { "kind" : "text", @@ -13513,36 +13929,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/subtract(_:iscancelled:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)", + "path" : "\/documentation\/euclid\/linesegment\/init(start:end:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)", "taskGroups" : [ ], - "title" : "subtract(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV8subtract_11isCancelledA2C_SbyXEtF" + "title" : "init(start:end:)", + "usr" : "s:6Euclid11LineSegmentV5start3endACSgAA6VectorV_AHtcfc" }, { "abstract" : [ { - "text" : "Returns the product of a numeric multiplier and an angle.", + "text" : "Splits all polygons in the mesh into triangles.", "type" : "text" } ], @@ -13550,14 +13958,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -13568,33 +13968,54 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "triangulate" }, { "kind" : "text", - "text" : "(" + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/triangulate()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()", + "taskGroups" : [ + + ], + "title" : "triangulate()", + "usr" : "s:6Euclid4MeshV11triangulateACyF" + }, + { + "abstract" : [ + { + "text" : "The angle of rotation around the X-axis.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "identifier", + "text" : "pitch" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -13602,23 +14023,17 @@ "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/*(_:_:)-2ew65", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65", + "path" : "\/documentation\/euclid\/rotation\/pitch", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid5AngleV1moiyACSd_ACtFZ" + "title" : "pitch", + "usr" : "s:6Euclid8RotationV5pitchAA5AngleVvp" }, { - "abstract" : [ - { - "text" : "Combines two rotations to get the cumulative rotation.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -13641,7 +14056,7 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "..." }, { "kind" : "text", @@ -13653,8 +14068,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "Self" }, { "kind" : "text", @@ -13662,8 +14076,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "Self" }, { "kind" : "text", @@ -13671,27 +14084,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - } - ], + "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\/rotation\/*(_:_:)-55zcf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf", + "path" : "\/documentation\/euclid\/plane\/'...(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid8RotationV1moiyA2C_ACtFZ" + "title" : "...(_:_:)", + "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { - "abstract" : [ - { - "text" : "Creates a linear path from a line segment.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -13714,92 +14133,51 @@ }, { "kind" : "identifier", - "text" : "line" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : "..." }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "color" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : "Self" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/line(_:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:color:)", - "taskGroups" : [ - - ], - "title" : "line(_:color:)", - "usr" : "s:6Euclid4PathV4line_5colorAcA11LineSegmentV_AA5ColorVSgtFZ" - }, - { - "abstract" : [ - { - "text" : "Creates a vertex from a path point.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "preciseIdentifier" : "s:s16PartialRangeFromV", + "text" : "PartialRangeFrom" }, { "kind" : "text", - "text" : "(" + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "text" : "Self" }, { "kind" : "text", - "text" : ")" + "text" : ">" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/init(_:)-7go25", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25", + "path" : "\/documentation\/euclid\/angle\/'...(_:)-7xdsm", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VertexVyAcA9PathPointVcfc" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "availableLanguages" : [ @@ -13824,7 +14202,7 @@ }, { "kind" : "identifier", - "text" : "..<" + "text" : "!=" }, { "kind" : "text", @@ -13852,36 +14230,42 @@ }, { "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\/angle\/'.._(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)", + "path" : "\/documentation\/euclid\/plane\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/!=(_:_:)", "taskGroups" : [ ], - "title" : "..<(_:_:)", - "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + }, + { + "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" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "The bounding box containing the line segment.", + "text" : "An arbitrary point on the line selected as the origin.", "type" : "text" } ], @@ -13891,7 +14275,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "let" }, { "kind" : "text", @@ -13899,7 +14283,7 @@ }, { "kind" : "identifier", - "text" : "bounds" + "text" : "origin" }, { "kind" : "text", @@ -13907,93 +14291,69 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds", + "path" : "\/documentation\/euclid\/line\/origin", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid11LineSegmentV6boundsAA6BoundsVvp" + "title" : "origin", + "usr" : "s:6Euclid4LineV6originAA6VectorVvp" }, { - "abstract" : [ - { - "text" : "Creates a new path by decoding from the given decoder.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "kind" : "identifier", + "text" : "red" }, { "kind" : "text", - "text" : ") " + "text" : ": " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)", + "path" : "\/documentation\/euclid\/color\/red", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid4PathV4fromACs7Decoder_p_tKcfc" - }, - { - "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" + "title" : "red", + "usr" : "s:6Euclid5ColorV3redACvpZ" }, { "abstract" : [ { - "text" : "Rotation has no effect.", + "text" : "The perpendicular distance from the world origin to the plane.", "type" : "text" } ], @@ -14003,7 +14363,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "let" }, { "kind" : "text", @@ -14011,7 +14371,7 @@ }, { "kind" : "identifier", - "text" : "isIdentity" + "text" : "w" }, { "kind" : "text", @@ -14019,24 +14379,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/isidentity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity", + "path" : "\/documentation\/euclid\/plane\/w", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w", "taskGroups" : [ ], - "title" : "isIdentity", - "usr" : "s:6Euclid8RotationV10isIdentitySbvp" + "title" : "w", + "usr" : "s:6Euclid5PlaneV1wSdvp" }, { "abstract" : [ { - "text" : "A point along a path.", + "text" : "The face normal for the path.", "type" : "text" } ], @@ -14046,7 +14406,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "var" }, { "kind" : "text", @@ -14054,75 +14414,110 @@ }, { "kind" : "identifier", - "text" : "PathPoint" + "text" : "faceNormal" + }, + { + "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\/pathpoint", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint", + "path" : "\/documentation\/euclid\/path\/facenormal", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal", + "taskGroups" : [ + + ], + "title" : "faceNormal", + "usr" : "s:6Euclid4PathV10faceNormalAA6VectorVvp" + }, + { + "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", + "language" : "swift", + "path" : "\/documentation\/euclid", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid", "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:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes" ], - "title" : "Creating Path Points" + "title" : "Using Euclid" }, { "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" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon" ], - "title" : "Path Point Properties" + "title" : "Surfaces" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)" + "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" : "Interpolating Path Points" + "title" : "Lines and Paths" }, { "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(_:)" + "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" : "Transforming Path Points" + "title" : "Rotations and Transforms" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/with(color:)" + "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" : "Instance Methods" + "title" : "Fundamental Types" }, { "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" + "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" : "Default Implementations" + "title" : "Supporting Functions" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable" + ], + "title" : "Protocols" } ], - "title" : "PathPoint", - "usr" : "s:6Euclid9PathPointV" + "title" : "Euclid", + "usr" : "Euclid" }, { "abstract" : [ { - "text" : "Returns a rotation divided by the specified value.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -14130,14 +14525,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -14148,24 +14535,19 @@ }, { "kind" : "identifier", - "text" : "\/" - }, - { - "kind" : "text", - "text" : " " + "text" : "scale" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -14174,70 +14556,32 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/\/(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)", + "path" : "\/documentation\/euclid\/transformable\/scale(by:)-89xwv", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-89xwv", "taskGroups" : [ ], - "title" : "\/(_:_:)", - "usr" : "s:6Euclid8RotationV1doiyA2C_SdtFZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF" }, { "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" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)" - ], - "title" : "Operators" + "kind" : "keyword", + "text" : "static" }, { - "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" : "Computes the dot-product of this quaternion and another.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -14248,7 +14592,11 @@ }, { "kind" : "identifier", - "text" : "dot" + "text" : "!=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -14256,8 +14604,15 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", @@ -14265,24 +14620,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/dot(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)", + "path" : "\/documentation\/euclid\/path\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)", "taskGroups" : [ ], - "title" : "dot(_:)", - "usr" : "s:6Euclid10QuaternionV3dotySdACF" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "A Boolean value that indicates whether the quaternion has a length of ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -14292,7 +14655,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -14300,15 +14663,7 @@ }, { "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "isNormalized" }, { "kind" : "text", @@ -14316,28 +14671,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "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\/vector\/rotate(by:)-3ed6z", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-3ed6z", + "path" : "\/documentation\/euclid\/quaternion\/isnormalized", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "isNormalized", + "usr" : "s:6Euclid10QuaternionV12isNormalizedSbvp" }, { "abstract" : [ { - "text" : "The angle of rotation around the X-axis.", + "text" : "Divides the components of the vector by the specified value.", "type" : "text" } ], @@ -14347,40 +14701,76 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "pitch" - }, + "kind" : "keyword", + "text" : "func" + }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "identifier", + "text" : "\/=" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "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\/pitch", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch", + "path" : "\/documentation\/euclid\/quaternion\/\/=(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)", "taskGroups" : [ ], - "title" : "pitch", - "usr" : "s:6Euclid8RotationV5pitchAA5AngleVvp" + "title" : "\/=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2deoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "Flips the polygon along its plane and reverses the order and surface normals of the vertices.", + "text" : "Return a copy of the polygon with transformed vertex colors", "type" : "text" } ], @@ -14398,32 +14788,50 @@ }, { "kind" : "identifier", - "text" : "inverted" + "text" : "mapColors" }, { "kind" : "text", - "text" : "() -> " + "text" : "((" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid5ColorV", + "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()", + "path" : "\/documentation\/euclid\/path\/mapcolors(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/mapColors(_:)", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid7PolygonV8invertedACyF" + "title" : "mapColors(_:)", + "usr" : "s:6Euclid4PathV9mapColorsyAcA5ColorVSgAGXEF" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a Boolean value that indicates whether the two bounds intersect.", "type" : "text" } ], @@ -14441,44 +14849,41 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "intersects" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "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", + "path" : "\/documentation\/euclid\/bounds\/intersects(_:)-95v17", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-95v17", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF" + "title" : "intersects(_:)", + "usr" : "s:6Euclid6BoundsV10intersectsySbACF" }, { "abstract" : [ { - "text" : "The array of points that makes up this path.", + "text" : "A closure that converts a RealityKit material to a Euclid material.", "type" : "text" } ], @@ -14488,7 +14893,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "typealias" }, { "kind" : "text", @@ -14496,36 +14901,104 @@ }, { "kind" : "identifier", - "text" : "points" + "text" : "RealityKitMaterialProvider" + } + ], + "kind" : "org.swift.docc.kind.typeAlias", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/realitykitmaterialprovider", + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "15.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "12.0", + "name" : "macOS", + "unavailable" : false + } + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/RealityKitMaterialProvider", + "taskGroups" : [ + + ], + "title" : "Mesh.RealityKitMaterialProvider", + "usr" : "s:6Euclid4MeshV26RealityKitMaterialProvidera" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ": [" + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "!=" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "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.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/points", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points", + "path" : "\/documentation\/euclid\/rotation\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)", "taskGroups" : [ ], - "title" : "points", - "usr" : "s:6Euclid4PathV6pointsSayAA0B5PointVGvp" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid8RotationV" }, { "abstract" : [ { - "text" : "Creates a plane from a set of points.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -14535,44 +15008,52 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "?(" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "transform" + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "externalParam", - "text" : "points" + "text" : "by" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "])" + "text" : ")" } ], - "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\/transformable\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transform(by:)", "taskGroups" : [ ], - "title" : "init(points:)", - "usr" : "s:6Euclid5PlaneV6pointsACSgSayAA6VectorVG_tcfc" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF" }, { "abstract" : [ { - "text" : "The X component of the vector.", + "text" : "Returns the distance between the vector (representing a position in space) from the specified line.", "type" : "text" } ], @@ -14582,7 +15063,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -14590,27 +15071,44 @@ }, { "kind" : "identifier", - "text" : "x" + "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\/vector\/x", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x", + "path" : "\/documentation\/euclid\/vector\/distance(from:)-3eglz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/distance(from:)-3eglz", "taskGroups" : [ ], - "title" : "x", - "usr" : "s:6Euclid6VectorV1xSdvp" + "title" : "distance(from:)", + "usr" : "s:6Euclid6VectorV8distance4fromSdAA4LineV_tF" }, { "availableLanguages" : [ @@ -14618,56 +15116,42 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/comparable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Comparable-Implementations", + "path" : "\/documentation\/euclid\/path\/equatable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Equatable-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" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)" ], "title" : "Operators" } ], - "title" : "Comparable Implementations" + "title" : "Equatable Implementations" }, { - "abstract" : [ - { - "text" : "Return ASCII STL string data for the mesh.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "stlString" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "name" + "kind" : "identifier", + "text" : "orange" }, { "kind" : "text", @@ -14675,33 +15159,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stlstring(name:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)", + "path" : "\/documentation\/euclid\/color\/orange", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/orange", "taskGroups" : [ ], - "title" : "stlString(name:)", - "usr" : "s:6Euclid4MeshV9stlString4nameS2S_tF" + "title" : "orange", + "usr" : "s:6Euclid5ColorV6orangeACvpZ" }, { "abstract" : [ { - "text" : "A combined rotation, position, and scale that can be applied to a 3D object.", + "text" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", "type" : "text" } ], @@ -14711,91 +15186,96 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "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" : [ + "kind" : "externalParam", + "text" : "roll" + }, { - "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" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity" - ], - "title" : "Default Transforms" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { - "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" + "kind" : "text", + "text" : ", " }, { - "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" + "kind" : "externalParam", + "text" : "yaw" }, { - "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\/init(_:)-7hvb3", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-cys2" - ], - "title" : "Initializers" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "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\/rotation\/init(roll:yaw:pitch:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(roll:yaw:pitch:)", + "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\/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" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/bounds" ], - "title" : "Default Implementations" + "title" : "Instance Properties" } ], - "title" : "Transform", - "usr" : "s:6Euclid9TransformV" + "title" : "Bounded Implementations" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a Boolean value that indicates if the specified point is inside the mesh.", "type" : "text" } ], @@ -14813,20 +15293,12 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "containsPoint" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", @@ -14834,23 +15306,28 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/scale(by:)-1kdd7", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-1kdd7", + "path" : "\/documentation\/euclid\/mesh\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid4MeshV13containsPointySbAA6VectorVF" }, { "abstract" : [ { - "text" : "Creates a new path point by decoding from the given decoder.", + "text" : "Creates a new line segment by decoding from the given decoder.", "type" : "text" } ], @@ -14890,18 +15367,18 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(from:)", + "path" : "\/documentation\/euclid\/linesegment\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)", "taskGroups" : [ ], "title" : "init(from:)", - "usr" : "s:6Euclid9PathPointV4fromACs7Decoder_p_tKcfc" + "usr" : "s:6Euclid11LineSegmentV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Creates an Angle from a degrees value.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -14911,7 +15388,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "scaled" }, { "kind" : "text", @@ -14919,7 +15404,7 @@ }, { "kind" : "externalParam", - "text" : "degrees" + "text" : "by" }, { "kind" : "text", @@ -14927,28 +15412,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "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\/angle\/init(degrees:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(degrees:)", + "path" : "\/documentation\/euclid\/plane\/scaled(by:)-29v7y", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-29v7y", "taskGroups" : [ ], - "title" : "init(degrees:)", - "usr" : "s:6Euclid5AngleV7degreesACSd_tcfc" + "title" : "scaled(by:)", + "usr" : "s:6Euclid5PlaneV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Merges this polygon with another, removing redundant vertices where possible.", "type" : "text" } ], @@ -14966,15 +15456,24 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "merge" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "by" + "text" : "ensureConvex" }, { "kind" : "text", @@ -14982,8 +15481,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" }, { "kind" : "text", @@ -14991,41 +15490,126 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "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\/polygon\/merge(_:ensureconvex:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/merge(_:ensureConvex:)", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "merge(_:ensureConvex:)", + "usr" : "s:6Euclid7PolygonV5merge_12ensureConvexACSgAC_SbtF" }, { + "abstract" : [ + { + "text" : "An angle or 2D rotation.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.collectionGroup", + "fragments" : [ + { + "kind" : "keyword", + "text" : "struct" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "Angle" + } + ], + "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Encodable-Implementations", + "path" : "\/documentation\/euclid\/angle", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)" + "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" : "Instance Methods" + "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" : "Encodable Implementations" + "title" : "Angle", + "usr" : "s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Computes the trigonometric sine of an angle.", "type" : "text" } ], @@ -15033,14 +15617,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -15051,11 +15627,7 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "sin" }, { "kind" : "text", @@ -15063,16 +15635,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -15080,26 +15644,21 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.function", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/*(_:_:)", + "path" : "\/documentation\/euclid\/sin(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4PathV" + "title" : "sin(_:)", + "usr" : "s:6Euclid3sinySdAA5AngleVF" }, { - "abstract" : [ - { - "text" : "Creates a offset transform.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -15122,7 +15681,11 @@ }, { "kind" : "identifier", - "text" : "offset" + "text" : "!=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -15130,86 +15693,40 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/offset(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)", - "taskGroups" : [ - - ], - "title" : "offset(_:)", - "usr" : "s:6Euclid9TransformV6offsetyAcA6VectorVFZ" - }, - { - "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" : [ + "text" : "Self" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)" - ], - "title" : "Operators" + "kind" : "text", + "text" : ") -> " }, { - "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" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "title" : "Transformable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/ioerror\/error-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/Error-Implementations", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/localizedDescription" - ], - "title" : "Instance Properties" - } + ], - "title" : "Error Implementations" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV8WrapModeO" }, { "abstract" : [ { - "text" : "Efficiently forms a union from multiple meshes.", + "text" : "Angle representing a full rotation.", "type" : "text" } ], @@ -15227,7 +15744,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -15235,32 +15752,7 @@ }, { "kind" : "identifier", - "text" : "union" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" - }, - { - "kind" : "text", - "text" : ">(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5union_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "isCancelled" + "text" : "twoPi" }, { "kind" : "text", @@ -15268,33 +15760,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" - }, - { - "kind" : "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.typeProperty", "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\/angle\/twopi", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/twoPi", "taskGroups" : [ ], - "title" : "union(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV5union_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "twoPi", + "usr" : "s:6Euclid5AngleV5twoPiACvpZ" }, { "abstract" : [ { - "text" : "Creates an angle from a radians value.", + "text" : "Creates a Euclid ", + "type" : "text" + }, + { + "code" : "Quaternion", + "type" : "codeVoice" + }, + { + "text" : " from a SceneKit quaternion.", "type" : "text" } ], @@ -15310,18 +15801,10 @@ "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "radians" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "c:@T@SCNQuaternion", + "text" : "SCNQuaternion" }, { "kind" : "text", @@ -15330,18 +15813,21 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/init(radians:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)", + "path" : "\/documentation\/euclid\/quaternion\/init(_:)-b3v3", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3", "taskGroups" : [ ], - "title" : "init(radians:)", - "usr" : "s:6Euclid5AngleV7radiansACSd_tcfc" + "title" : "init(_:)", + "usr" : "s:6Euclid10QuaternionVyACSo10SCNVector4Vcfc" }, { "abstract" : [ { - "text" : "Creates a rotationally symmetrical mesh by turning the specified path around the Y axis.", + "text" : "Creates a path point.", "type" : "text" } ], @@ -15351,23 +15837,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "lathe" + "text" : "init" }, { "kind" : "text", @@ -15375,8 +15845,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -15384,7 +15854,7 @@ }, { "kind" : "externalParam", - "text" : "slices" + "text" : "texcoord" }, { "kind" : "text", @@ -15392,16 +15862,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { "kind" : "externalParam", - "text" : "poleDetail" + "text" : "color" }, { "kind" : "text", @@ -15409,16 +15879,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { "kind" : "externalParam", - "text" : "addDetailForFlatPoles" + "text" : "isCurved" }, { "kind" : "text", @@ -15431,79 +15901,23 @@ }, { "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" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.initializer", "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\/pathpoint\/init(_:texcoord:color:iscurved:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:texcoord:color:isCurved:)", "taskGroups" : [ ], - "title" : "lathe(_:slices:poleDetail:addDetailForFlatPoles:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV5lathe_6slices10poleDetail03addF12ForFlatPoles5faces8wrapMode8materialAcA4PathV_S2iSbAC5FacesOAC04WrapM0Os11AnyHashableVSgtFZ" + "title" : "init(_:texcoord:color:isCurved:)", + "usr" : "s:6Euclid9PathPointV_8texcoord5color8isCurvedAcA6VectorV_AHSgAA5ColorVSgSbtcfc" }, { "abstract" : [ { - "text" : "Returns the difference between two quaternion rotations,.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -15529,7 +15943,7 @@ }, { "kind" : "identifier", - "text" : "-" + "text" : "*" }, { "kind" : "text", @@ -15541,8 +15955,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "Self" }, { "kind" : "text", @@ -15550,8 +15963,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -15559,32 +15972,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/-(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)", + "path" : "\/documentation\/euclid\/pathpoint\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)", "taskGroups" : [ ], - "title" : "-(_:_:)", - "usr" : "s:6Euclid10QuaternionV1soiyA2C_ACtFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "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).", + "text" : "Creates a mesh from a SceneKit geometry, with the material you provide.", "type" : "text" } ], @@ -15594,31 +15998,53 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "axis" - } - ], - "kind" : "org.swift.docc.kind.enumerationCase", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment\/axis", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis", + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:objc(cs)SCNGeometry", + "text" : "SCNGeometry" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "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:)", "taskGroups" : [ ], - "title" : "Path.Alignment.axis", - "usr" : "s:6Euclid4PathV9AlignmentO4axisyA2EmF" + "title" : "init(_:material:)", + "usr" : "s:6Euclid4MeshV_8materialACSgSo11SCNGeometryC_s11AnyHashableVSgtcfc" }, { "abstract" : [ { - "text" : "Creates a mesh by filling a path to form one or more polygons.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -15628,12 +16054,59 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "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\/mesh\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)", + "taskGroups" : [ + + ], + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid4MeshV" + }, + { + "abstract" : [ + { + "text" : "Return a copy of the polygon with transformed texture coordinates", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -15644,41 +16117,76 @@ }, { "kind" : "identifier", - "text" : "fill" + "text" : "mapTexcoords" }, { "kind" : "text", - "text" : "(" + "text" : "((" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "faces" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/maptexcoords(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapTexcoords(_:)", + "taskGroups" : [ + + ], + "title" : "mapTexcoords(_:)", + "usr" : "s:6Euclid7PolygonV12mapTexcoordsyAcA6VectorVAFXEF" + }, + { + "abstract" : [ + { + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " + }, + { + "kind" : "identifier", + "text" : "transformed" + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "by" }, { "kind" : "text", @@ -15686,36 +16194,30 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/fill(_:faces:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)", + "path" : "\/documentation\/euclid\/transform\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)", "taskGroups" : [ ], - "title" : "fill(_:faces:material:)", - "usr" : "s:6Euclid4MeshV4fill_5faces8materialAcA4PathV_AC5FacesOs11AnyHashableVSgtFZ" + "title" : "transformed(by:)", + "usr" : "s:6Euclid9TransformV11transformed2byA2C_tF" }, { - "abstract" : [ - { - "text" : "Creates a rotation around the Z axis.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -15738,7 +16240,11 @@ }, { "kind" : "identifier", - "text" : "roll" + "text" : "..." + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -15746,8 +16252,15 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", @@ -15755,24 +16268,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:SN", + "text" : "ClosedRange" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "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\/angle\/'...(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:_:)", "taskGroups" : [ ], - "title" : "roll(_:)", - "usr" : "s:6Euclid8RotationV4rollyAcA5AngleVFZ" + "title" : "...(_:_:)", + "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "The angle of rotation around the X-axis.", + "text" : "The magnitude of the vector.", "type" : "text" } ], @@ -15790,7 +16315,7 @@ }, { "kind" : "identifier", - "text" : "pitch" + "text" : "length" }, { "kind" : "text", @@ -15798,19 +16323,19 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/pitch", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch", + "path" : "\/documentation\/euclid\/vector\/length", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/length", "taskGroups" : [ ], - "title" : "pitch", - "usr" : "s:6Euclid10QuaternionV5pitchAA5AngleVvp" + "title" : "length", + "usr" : "s:6Euclid6VectorV6lengthSdvp" }, { "abstract" : [ @@ -15925,16 +16450,18 @@ "usr" : "s:6Euclid9PathPointV5curve___8texcoord5colorACSd_S2dAA6VectorVSgAA5ColorVSgtFZ" }, { - "abstract" : [ - { - "text" : "Translate the value in place.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -15945,44 +16472,52 @@ }, { "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\/path\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)", + "path" : "\/documentation\/euclid\/angle\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Creates a rotation from Euler angles applied in yaw\/pitch\/roll order.", + "text" : "Creates a new transform by decoding from the given decoder.", "type" : "text" } ], @@ -16000,24 +16535,7 @@ }, { "kind" : "externalParam", - "text" : "yaw" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "pitch" + "text" : "from" }, { "kind" : "text", @@ -16025,45 +16543,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "roll" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : ") " }, { - "kind" : "text", - "text" : ")" + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.initializer", "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\/transform\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(from:)", "taskGroups" : [ ], - "title" : "init(yaw:pitch:roll:)", - "usr" : "s:6Euclid8RotationV3yaw5pitch4rollAcA5AngleV_A2Htcfc" + "title" : "init(from:)", + "usr" : "s:6Euclid9TransformV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -16081,7 +16586,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "rotate" }, { "kind" : "text", @@ -16097,8 +16602,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -16107,18 +16612,18 @@ ], "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\/polygon\/rotate(by:)-7073s", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotate(by:)-7073s", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Creates a new vector from a CoreGraphics size.", "type" : "text" } ], @@ -16134,41 +16639,30 @@ "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "bounds" - }, - { - "kind" : "text", - "text" : ": [" - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "c:@S@CGSize", + "text" : "CGSize" }, { "kind" : "text", - "text" : "])" + "text" : ")" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(bounds:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)", + "path" : "\/documentation\/euclid\/vector\/init(_:)-6nlm", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-6nlm", "taskGroups" : [ ], - "title" : "init(bounds:)", - "usr" : "s:6Euclid6BoundsV6boundsACSayACG_tcfc" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACSo6CGSizeVcfc" }, { "abstract" : [ { - "text" : "Align extruded cross-sections to the tangent of the path curve.", + "text" : "A Boolean value that indicates whether the polygon includes vertex colors.", "type" : "text" } ], @@ -16178,7 +16672,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "var" }, { "kind" : "text", @@ -16186,20 +16680,35 @@ }, { "kind" : "identifier", - "text" : "tangent" + "text" : "hasVertexColors" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment\/tangent", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/tangent", + "path" : "\/documentation\/euclid\/polygon\/hasvertexcolors", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexColors", "taskGroups" : [ ], - "title" : "Path.Alignment.tangent", - "usr" : "s:6Euclid4PathV9AlignmentO7tangentyA2EmF" + "title" : "hasVertexColors", + "usr" : "s:6Euclid7PolygonV15hasVertexColorsSbvp" }, { + "abstract" : [ + { + "text" : "Scale the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -16214,7 +16723,7 @@ }, { "kind" : "identifier", - "text" : "hash" + "text" : "scale" }, { "kind" : "text", @@ -16222,24 +16731,16 @@ }, { "kind" : "externalParam", - "text" : "into" + "text" : "by" }, { "kind" : "text", "text" : ": " }, - { - "kind" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s6HasherV", - "text" : "Hasher" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -16248,18 +16749,26 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/hash(into:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)", + "path" : "\/documentation\/euclid\/vertex\/scale(by:)-1hyw0", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-1hyw0", "taskGroups" : [ ], - "title" : "hash(into:)", - "usr" : "s:6Euclid10QuaternionV4hash4intoys6HasherVz_tF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "An empty path.", + "text" : "Creates a color from a CoreGraphics ", + "type" : "text" + }, + { + "code" : "CGColor", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -16269,86 +16778,51 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "empty" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@T@CGColorRef", + "text" : "CGColor" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/empty", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/empty", + "path" : "\/documentation\/euclid\/color\/init(_:)-25eby", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-25eby", "taskGroups" : [ ], - "title" : "empty", - "usr" : "s:6Euclid4PathV5emptyACvpZ" + "title" : "init(_:)", + "usr" : "s:6Euclid5ColorVyACSo10CGColorRefacfc" }, { + "abstract" : [ + { + "text" : "Efficiently gets the difference between multiple meshes.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "static" }, { "kind" : "text", "text" : " " }, - { - "kind" : "identifier", - "text" : "MaterialProvider" - } - ], - "kind" : "org.swift.docc.kind.typeAlias", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/materialprovider", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider", - "taskGroups" : [ - - ], - "title" : "Mesh.MaterialProvider", - "usr" : "s:6Euclid4MeshV16MaterialProvidera" - }, - { - "abstract" : [ - { - "text" : "Transform the value in place.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -16359,15 +16833,32 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "difference" }, { "kind" : "text", - "text" : "(" + "text" : "<" }, { - "kind" : "externalParam", - "text" : "by" + "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", @@ -16375,28 +16866,33 @@ }, { "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.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transform(by:)", + "path" : "\/documentation\/euclid\/mesh\/difference(_:iscancelled:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "difference(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV10difference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Creates an angle representing the trigonometric arc tangent of the vector you provide.", "type" : "text" } ], @@ -16422,28 +16918,41 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "atan2" }, { "kind" : "text", - "text" : " " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "y" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "x" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -16451,23 +16960,42 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", + "path" : "\/documentation\/euclid\/angle\/atan2(y:x:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "atan2(y:x:)", + "usr" : "s:6Euclid5AngleV5atan21y1xACSd_SdtFZ" + }, + { + "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" }, { "abstract" : [ { - "text" : "Performs a spherical linear interpolation between two rotations.", + "text" : "Returns the ordered array of polygon edges.", "type" : "text" } ], @@ -16477,7 +17005,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -16485,50 +17013,36 @@ }, { "kind" : "identifier", - "text" : "slerp" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "orderedEdges" }, { "kind" : "text", - "text" : ", " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/slerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)", + "path" : "\/documentation\/euclid\/polygon\/orderededges", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/orderedEdges", "taskGroups" : [ ], - "title" : "slerp(_:_:)", - "usr" : "s:6Euclid8RotationV5slerpyA2C_SdtF" + "title" : "orderedEdges", + "usr" : "s:6Euclid7PolygonV12orderedEdgesSayAA11LineSegmentVGvp" }, { "abstract" : [ { - "text" : "Creates a size\/scale vector from an array of two coordinates.", + "text" : "Computes the convex hull of a set of vertices.", "type" : "text" } ], @@ -16538,44 +17052,90 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "convexHull" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" + }, + { + "kind" : "text", + "text" : ">(" }, { "kind" : "externalParam", - "text" : "size" + "text" : "of" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VertexV7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "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.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(size:)-8b34m", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(size:)-8b34m", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-75on2", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-75on2", "taskGroups" : [ ], - "title" : "init(size:)", - "usr" : "s:6Euclid6VectorV4sizeACSaySdG_tcfc" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VertexV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates if the specified point is inside the mesh.", + "text" : "Divides the rotation angle by the specified value.", "type" : "text" } ], @@ -16583,6 +17143,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -16593,59 +17161,57 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "\/=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "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\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/rotation\/\/=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid4MeshV13containsPointySbAA6VectorVF" - }, - { - "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" : "\/=(_:_:)", + "usr" : "s:6Euclid8RotationV2deoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the mesh includes vertex colors.", + "text" : "Does the transform apply a mirror operation (negative scale)?", "type" : "text" } ], @@ -16663,7 +17229,7 @@ }, { "kind" : "identifier", - "text" : "hasVertexColors" + "text" : "isFlipped" }, { "kind" : "text", @@ -16677,18 +17243,46 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/hasvertexcolors", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors", + "path" : "\/documentation\/euclid\/transform\/isflipped", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/isFlipped", "taskGroups" : [ ], - "title" : "hasVertexColors", - "usr" : "s:6Euclid4MeshV15hasVertexColorsSbvp" + "title" : "isFlipped", + "usr" : "s:6Euclid9TransformV9isFlippedSbvp" + }, + { + "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" : "Scale the value in place.", + "text" : "Creates a transform from the current position, scale and orientation of a SceneKit node.", "type" : "text" } ], @@ -16696,6 +17290,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -16706,7 +17308,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "transform" }, { "kind" : "text", @@ -16714,7 +17316,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -16722,28 +17324,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "c:objc(cs)SCNNode", + "text" : "SCNNode" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/scale(by:)-758tv", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv", + "path" : "\/documentation\/euclid\/transform\/transform(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transform(from:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "transform(from:)", + "usr" : "s:6Euclid9TransformV9transform4fromACSo7SCNNodeC_tFZ" }, { "abstract" : [ { - "text" : "Creates a bounds from a collection of points.", + "text" : "Computes the convex hull of a set of paths.", "type" : "text" } ], @@ -16753,7 +17360,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "convexHull" }, { "kind" : "text", @@ -16767,30 +17390,60 @@ "kind" : "text", "text" : ">(" }, + { + "kind" : "externalParam", + "text" : "of" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAA6VectorV7ElementRtzlufc1TL_xmfp", + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA4PathV7ElementRtzlFZ1TL_xmfp", "text" : "T" }, { "kind" : "text", - "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.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(_:)-27jri", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-4hvi3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-4hvi3", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6BoundsVyACxcSlRzAA6VectorV7ElementRtzlufc" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA4PathV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -16808,7 +17461,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "translate" }, { "kind" : "text", @@ -16824,8 +17477,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -16834,18 +17487,60 @@ ], "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\/transformable\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "The default face generation behavior. Context-dependent.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "case" + }, + { + "kind" : "text", + "text" : " " + }, + { + "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" : "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" } ], @@ -16863,7 +17558,7 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "tessellate" }, { "kind" : "text", @@ -16871,7 +17566,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "maxSides" }, { "kind" : "text", @@ -16879,8 +17574,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", @@ -16894,18 +17589,18 @@ ], "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\/mesh\/tessellate(maxsides:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/tessellate(maxSides:)", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid4MeshV7rotated2byAcA8RotationV_tF" + "title" : "tessellate(maxSides:)", + "usr" : "s:6Euclid4MeshV10tessellate8maxSidesACSi_tF" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the polygon includes vertex normals that differ from the face normal.", + "text" : "Deprecated.", "type" : "text" } ], @@ -16915,58 +17610,47 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "hasVertexNormals" + "kind" : "externalParam", + "text" : "polygons" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/hasvertexnormals", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals", - "taskGroups" : [ + "path" : "\/documentation\/euclid\/bounds\/init(polygons:)", + "platforms" : [ ], - "title" : "hasVertexNormals", - "usr" : "s:6Euclid7PolygonV16hasVertexNormalsSbvp" - }, - { - "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", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)" - ], - "title" : "Initializers" - } + ], - "title" : "Decodable Implementations" + "title" : "init(polygons:)", + "usr" : "s:6Euclid6BoundsV8polygonsACSayAA7PolygonVG_tcfc" }, { "abstract" : [ { - "text" : "The length of the line segment.", + "text" : "Deprecated.", "type" : "text" } ], @@ -16976,40 +17660,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "length" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "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.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/length", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length", + "path" : "\/documentation\/euclid\/linesegment\/init(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)", "taskGroups" : [ ], - "title" : "length", - "usr" : "s:6Euclid11LineSegmentV6lengthSdvp" + "title" : "init(_:_:)", + "usr" : "s:6Euclid11LineSegmentVyACSgAA6VectorV_AFtcfc" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Computes a set of edges where the mesh intersects a plane.", "type" : "text" } ], @@ -17027,7 +17719,7 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "edges" }, { "kind" : "text", @@ -17035,7 +17727,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "intersecting" }, { "kind" : "text", @@ -17043,28 +17735,54 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)", + "path" : "\/documentation\/euclid\/mesh\/edges(intersecting:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "edges(intersecting:)", + "usr" : "s:6Euclid4MeshV5edges12intersectingShyAA11LineSegmentVGAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Encodes this line into the given encoder.", + "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" } ], @@ -17082,15 +17800,24 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "union" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "to" + "text" : "isCancelled" }, { "kind" : "text", @@ -17098,32 +17825,41 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)", + "path" : "\/documentation\/euclid\/mesh\/union(_:iscancelled:)-swift.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid4LineV6encode2toys7Encoder_p_tKF" + "title" : "union(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV5union_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Returns the flip-side of the plane.", + "text" : "Creates a ", + "type" : "text" + }, + { + "code" : "Vector", + "type" : "codeVoice" + }, + { + "text" : " from a simd vector 2.", "type" : "text" } ], @@ -17133,40 +17869,44 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "inverted" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@T@simd_float2", + "text" : "simd_float2" }, { "kind" : "text", - "text" : "() -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/inverted()", + "path" : "\/documentation\/euclid\/vector\/init(_:)-7r7et", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-7r7et", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid5PlaneV8invertedACyF" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACs5SIMD2VySfGcfc" }, { "abstract" : [ { - "text" : "A normalized direction vector pointing forwards relative to the current rotation.", + "text" : "Creates a mesh from a RealityKit ", + "type" : "text" + }, + { + "code" : "MeshDescriptor", + "type" : "codeVoice" + }, + { + "text" : " with optional material.", "type" : "text" } ], @@ -17176,76 +17916,90 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "forward" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:17RealityFoundation14MeshDescriptorV", + "text" : "MeshDescriptor" }, { "kind" : "text", - "text" : ": " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "materials" + }, + { + "kind" : "text", + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : "." + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?])" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/forward", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward", + "path" : "\/documentation\/euclid\/mesh\/init(_:materials:)-22brv", + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "15.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "12.0", + "name" : "macOS", + "unavailable" : false + } + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-22brv", "taskGroups" : [ ], - "title" : "forward", - "usr" : "s:6Euclid8RotationV7forwardAA6VectorVvp" + "title" : "init(_:materials:)", + "usr" : "s:6Euclid4MeshV_9materialsAC17RealityFoundation0B10DescriptorV_Says11AnyHashableVSgGtcfc" }, { "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" : [ + "fragments" : [ { - "text" : "An unordered set of polygon edges.", - "type" : "text" + "kind" : "keyword", + "text" : "static" }, { - "text" : " ", - "type" : "text" + "kind" : "text", + "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" : "func" }, { "kind" : "text", @@ -17253,52 +18007,52 @@ }, { "kind" : "identifier", - "text" : "undirectedEdges" + "text" : "+" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sh", - "text" : "Set" + "text" : " " }, { "kind" : "text", - "text" : "<" + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : "Self" }, { "kind" : "text", - "text" : ">" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/undirectededges", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/undirectedEdges", + "path" : "\/documentation\/euclid\/angle\/+(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:)", "taskGroups" : [ ], - "title" : "undirectedEdges", - "usr" : "s:6Euclid7PolygonV15undirectedEdgesShyAA11LineSegmentVGvp" + "title" : "+(_:)", + "usr" : "s:s18AdditiveArithmeticPsE1popyxxFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { - "abstract" : [ - { - "text" : "Scale the value in place.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -17309,44 +18063,52 @@ }, { "kind" : "identifier", - "text" : "scale" + "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\/polygon\/scale(by:)-3en6y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y", + "path" : "\/documentation\/euclid\/mesh\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "The red component of the color.", + "text" : "An infinite 2D plane in 3D space.", "type" : "text" } ], @@ -17356,7 +18118,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "struct" }, { "kind" : "text", @@ -17364,32 +18126,80 @@ }, { "kind" : "identifier", - "text" : "r" + "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\/color\/r", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r", - "taskGroups" : [ - - ], - "title" : "r", - "usr" : "s:6Euclid5ColorV1rSdvp" + "title" : "Plane", + "usr" : "s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -17399,7 +18209,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", @@ -17407,11 +18225,11 @@ }, { "kind" : "externalParam", - "text" : "points" + "text" : "by" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", @@ -17420,26 +18238,41 @@ }, { "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" : [ + "path" : "\/documentation\/euclid\/plane\/scale(by:)-677dp", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp", + "taskGroups" : [ ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)", + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + }, + { + "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" : "init(points:)", - "usr" : "s:6Euclid6BoundsV6pointsACSayAA6VectorVG_tcfc" + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Efficiently fills an array of paths, avoiding unecessary work if there are duplicates.", + "text" : "Creates a closed circular path.", "type" : "text" } ], @@ -17465,24 +18298,15 @@ }, { "kind" : "identifier", - "text" : "fill" - }, - { - "kind" : "text", - "text" : "([" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : "circle" }, { "kind" : "text", - "text" : "], " + "text" : "(" }, { "kind" : "externalParam", - "text" : "faces" + "text" : "radius" }, { "kind" : "text", @@ -17490,8 +18314,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -17499,7 +18323,7 @@ }, { "kind" : "externalParam", - "text" : "material" + "text" : "segments" }, { "kind" : "text", @@ -17507,16 +18331,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "?, " + "text" : ", " }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "color" }, { "kind" : "text", @@ -17524,33 +18348,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], "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\/path\/circle(radius:segments:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)", "taskGroups" : [ ], - "title" : "fill(_:faces:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV4fill_5faces8material11isCancelledACSayAA4PathVG_AC5FacesOs11AnyHashableVSgSbyXEtFZ" + "title" : "circle(radius:segments:color:)", + "usr" : "s:6Euclid4PathV6circle6radius8segments5colorACSd_SiAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Creates an angle from a radians value.", "type" : "text" } ], @@ -17560,15 +18384,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "transform" + "text" : "init" }, { "kind" : "text", @@ -17576,7 +18392,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "radians" }, { "kind" : "text", @@ -17584,46 +18400,71 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "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\/mesh\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transform(by:)", + "path" : "\/documentation\/euclid\/angle\/init(radians:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(radians:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "init(radians:)", + "usr" : "s:6Euclid5AngleV7radiansACSd_tcfc" }, { + "abstract" : [ + { + "text" : "The angle of rotation around the Y-axis.", + "type" : "text" + } + ], "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" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)" - ], - "title" : "Instance Methods" + "kind" : "keyword", + "text" : "var" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "yaw" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "title" : "Encodable Implementations" + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/yaw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw", + "taskGroups" : [ + + ], + "title" : "yaw", + "usr" : "s:6Euclid8RotationV3yawAA5AngleVvp" }, { "abstract" : [ { - "text" : "The texture wrapping mode to use when generating a mesh.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -17633,7 +18474,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "enum" + "text" : "func" }, { "kind" : "text", @@ -17641,37 +18482,112 @@ }, { "kind" : "identifier", - "text" : "WrapMode" + "text" : "rotated" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], - "kind" : "org.swift.docc.kind.enumeration", + "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\/plane\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotated(by:)", "taskGroups" : [ + + ], + "title" : "rotated(by:)", + "usr" : "s:6Euclid5PlaneV7rotated2byAcA8RotationV_tF" + }, + { + "abstract" : [ { - "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" + "text" : "All materials used by the mesh.", + "type" : "text" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/Equatable-Implementations" - ], - "title" : "Default Implementations" + "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.", + "type" : "text" } ], - "title" : "Mesh.WrapMode", - "usr" : "s:6Euclid4MeshV8WrapModeO" + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "materials" + }, + { + "kind" : "text", + "text" : ": [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "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", + "taskGroups" : [ + + ], + "title" : "materials", + "usr" : "s:6Euclid4MeshV9materialsSays11AnyHashableVSgGvp" }, { "abstract" : [ { - "text" : "Creates a bounds with min and max coordinates.", + "text" : "Computes the convex hull of a set of line segments.", "type" : "text" } ], @@ -17681,15 +18597,39 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "convexHull" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" + }, + { + "kind" : "text", + "text" : ">(" }, { "kind" : "externalParam", - "text" : "min" + "text" : "of" }, { "kind" : "text", @@ -17697,8 +18637,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA11LineSegmentV7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", @@ -17706,7 +18646,7 @@ }, { "kind" : "externalParam", - "text" : "max" + "text" : "material" }, { "kind" : "text", @@ -17714,28 +18654,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.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(min:max:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(min:max:)", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-91swk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-91swk", "taskGroups" : [ ], - "title" : "init(min:max:)", - "usr" : "s:6Euclid6BoundsV3min3maxAcA6VectorV_AGtcfc" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA11LineSegmentV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Creates a color from a luminance value and optional alpha component.", + "text" : "Create a color from RGB values and optional alpha component", "type" : "text" } ], @@ -17765,6 +18710,24 @@ "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" + }, { "kind" : "text", "text" : ")" @@ -17772,18 +18735,18 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/init(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)", + "path" : "\/documentation\/euclid\/color\/init(_:_:_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:_:_:)", "taskGroups" : [ ], - "title" : "init(_:_:)", - "usr" : "s:6Euclid5ColorVyACSd_Sdtcfc" + "title" : "init(_:_:_:_:)", + "usr" : "s:6Euclid5ColorVyACSd_S3dtcfc" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -17801,7 +18764,7 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "transform" }, { "kind" : "text", @@ -17817,32 +18780,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : ")" } ], "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\/pathpoint\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid13TransformableP10translated2byxAA6VectorV_tF" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Encodes this angle into the given encoder.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -17860,7 +18819,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "translated" }, { "kind" : "text", @@ -17868,7 +18827,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -17876,32 +18835,51 @@ }, { "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\/angle\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)", + "path" : "\/documentation\/euclid\/linesegment\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid5AngleV6encode2toys7Encoder_p_tKF" + "title" : "translated(by:)", + "usr" : "s:6Euclid11LineSegmentV10translated2byAcA6VectorV_tF" + }, + { + "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" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)" + ], + "title" : "Operators" + } + ], + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Returns the inverse angle.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -17909,14 +18887,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -17927,45 +18897,44 @@ }, { "kind" : "identifier", - "text" : "-" - }, - { - "kind" : "text", - "text" : " " + "text" : "scale" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "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\/vector\/scale(by:)-55ayx", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-55ayx", "taskGroups" : [ ], - "title" : "-(_:)", - "usr" : "s:6Euclid5AngleV1sopyA2CFZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Return a copy of the mesh with cube-mapped texture coordinates.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -17983,41 +18952,51 @@ }, { "kind" : "identifier", - "text" : "cubeMapped" + "text" : "scale" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cubemapped()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cubeMapped()", + "path" : "\/documentation\/euclid\/pathpoint\/scale(by:)-4egi6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-4egi6", "taskGroups" : [ ], - "title" : "cubeMapped()", - "usr" : "s:6Euclid4MeshV10cubeMappedACyF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { + "abstract" : [ + { + "text" : "Rotate the value in place.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -18028,61 +19007,50 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "rotate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SN", - "text" : "ClosedRange" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "<" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "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\/linesegment\/rotate(by:)-16elu", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-16elu", "taskGroups" : [ ], - "title" : "...(_:_:)", - "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { + "abstract" : [ + { + "text" : "Creates a curved path point at the specified position.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -18105,11 +19073,7 @@ }, { "kind" : "identifier", - "text" : "<=" - }, - { - "kind" : "text", - "text" : " " + "text" : "curve" }, { "kind" : "text", @@ -18117,95 +19081,102 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", "text" : ", " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "texcoord" }, { "kind" : "text", - "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" : "An array of vertices suitable for constructing a set of edge polygons for the path.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : " " + "text" : "?, " }, { - "kind" : "identifier", - "text" : "edgeVertices" + "kind" : "externalParam", + "text" : "color" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : "]" + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/edgevertices", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices", + "path" : "\/documentation\/euclid\/pathpoint\/curve(_:texcoord:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)", "taskGroups" : [ ], - "title" : "edgeVertices", - "usr" : "s:6Euclid4PathV12edgeVerticesSayAA6VertexVGvp" + "title" : "curve(_:texcoord:color:)", + "usr" : "s:6Euclid9PathPointV5curve_8texcoord5colorAcA6VectorV_AHSgAA5ColorVSgtFZ" }, { - "abstract" : [ + "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" : [ { - "text" : "Creates a ", - "type" : "text" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)" + ], + "title" : "Operators" }, { - "code" : "Vector", - "type" : "codeVoice" - }, + "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" : [ { - "text" : " from a simd vector 3.", + "text" : "The alpha component of the color.", "type" : "text" } ], @@ -18215,44 +19186,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@simd_double3", - "text" : "simd_double3" + "kind" : "identifier", + "text" : "a" }, { "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\/vector\/init(_:)-5n3j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5n3j", + "path" : "\/documentation\/euclid\/color\/a", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/a", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACs5SIMD3VySdGcfc" + "title" : "a", + "usr" : "s:6Euclid5ColorV1aSdvp" }, { "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" : "Creates a vertex from a path point.", "type" : "text" } ], @@ -18262,40 +19229,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "isWatertight" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" }, { "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\/mesh\/iswatertight", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight", + "path" : "\/documentation\/euclid\/vertex\/init(_:)-7go25", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-7go25", "taskGroups" : [ ], - "title" : "isWatertight", - "usr" : "s:6Euclid4MeshV12isWatertightSbvp" + "title" : "init(_:)", + "usr" : "s:6Euclid6VertexVyAcA9PathPointVcfc" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -18313,7 +19276,7 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "rotate" }, { "kind" : "text", @@ -18334,27 +19297,58 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/rotated(by:)-76uyz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz", + "path" : "\/documentation\/euclid\/bounds\/rotate(by:)-15yni", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/rotate(by:)-15yni", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid13TransformableP7rotated2byxAA8RotationV_tF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + }, + { + "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" : "The Y component of the vector.", + "text" : "The angle of rotation around the Y-axis.", "type" : "text" } ], @@ -18372,7 +19366,7 @@ }, { "kind" : "identifier", - "text" : "y" + "text" : "yaw" }, { "kind" : "text", @@ -18380,19 +19374,22 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/y", + "path" : "\/documentation\/euclid\/quaternion\/yaw", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw", "taskGroups" : [ ], - "title" : "y", - "usr" : "s:6Euclid6VectorV1ySdvp" + "title" : "yaw", + "usr" : "s:6Euclid10QuaternionV3yawAA5AngleVvp" }, { "abstract" : [ @@ -18431,8 +19428,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -18441,18 +19438,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/scale(by:)-8ec9r", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r", + "path" : "\/documentation\/euclid\/plane\/scale(by:)-758tv", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-758tv", "taskGroups" : [ ], "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF" + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "All vector components are zero (or close to zero) in length.", + "text" : "The quaternion Y component.", "type" : "text" } ], @@ -18470,7 +19467,7 @@ }, { "kind" : "identifier", - "text" : "isZero" + "text" : "y" }, { "kind" : "text", @@ -18478,24 +19475,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/iszero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero", + "path" : "\/documentation\/euclid\/quaternion\/y", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y", "taskGroups" : [ ], - "title" : "isZero", - "usr" : "s:6Euclid6VectorV6isZeroSbvp" + "title" : "y", + "usr" : "s:6Euclid10QuaternionV1ySdvp" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "The texture coordinate of the path point (optional). If omitted, will be inferred automatically.", "type" : "text" } ], @@ -18505,7 +19505,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -18513,15 +19513,7 @@ }, { "kind" : "identifier", - "text" : "translate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "texcoord" }, { "kind" : "text", @@ -18534,23 +19526,23 @@ }, { "kind" : "text", - "text" : ")" + "text" : "?" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)", + "path" : "\/documentation\/euclid\/pathpoint\/texcoord", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "texcoord", + "usr" : "s:6Euclid9PathPointV8texcoordAA6VectorVSgvp" }, { "abstract" : [ { - "text" : "Creates an axis-aligned cubical mesh.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -18558,14 +19550,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -18576,7 +19560,7 @@ }, { "kind" : "identifier", - "text" : "cube" + "text" : "rotate" }, { "kind" : "text", @@ -18584,7 +19568,7 @@ }, { "kind" : "externalParam", - "text" : "center" + "text" : "by" }, { "kind" : "text", @@ -18592,42 +19576,66 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ", " - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/rotate(by:)-577nk", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk", + "taskGroups" : [ + + ], + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid9TransformV" + }, + { + "abstract" : [ { - "kind" : "externalParam", - "text" : "size" + "text" : "Creates a mesh by filling a path to form one or more polygons.", + "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" : "faces" + "kind" : "identifier", + "text" : "fill" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", @@ -18635,7 +19643,7 @@ }, { "kind" : "externalParam", - "text" : "wrapMode" + "text" : "faces" }, { "kind" : "text", @@ -18643,8 +19651,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", @@ -18675,21 +19683,15 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "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\/mesh\/fill(_:faces:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:)", "taskGroups" : [ ], - "title" : "cube(center:size:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV4cube6center4size5faces8wrapMode8materialAcA6VectorV_SdAC5FacesOAC04WrapH0Os11AnyHashableVSgtFZ" + "title" : "fill(_:faces:material:)", + "usr" : "s:6Euclid4MeshV4fill_5faces8materialAcA4PathV_AC5FacesOs11AnyHashableVSgtFZ" }, { - "abstract" : [ - { - "text" : "Returns a rotation multiplied by the specified value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -18712,7 +19714,7 @@ }, { "kind" : "identifier", - "text" : "*" + "text" : "..." }, { "kind" : "text", @@ -18724,42 +19726,44 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "Self" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:s19PartialRangeThroughV", + "text" : "PartialRangeThrough" }, { "kind" : "text", - "text" : ") -> " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/*(_:_:)-5fe82", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82", + "path" : "\/documentation\/euclid\/angle\/'...(_:)-3s6ak", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-3s6ak", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid8RotationV1moiyA2C_SdtFZ" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "The default face generation behavior. Context-dependent.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -18769,7 +19773,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "func" }, { "kind" : "text", @@ -18777,23 +19781,47 @@ }, { "kind" : "identifier", - "text" : "`default`" + "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.enumerationCase", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/default", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/default", + "path" : "\/documentation\/euclid\/mesh\/rotate(by:)-3uymx", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx", "taskGroups" : [ ], - "title" : "Mesh.Faces.default", - "usr" : "s:6Euclid4MeshV5FacesO7defaultyA2EmF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "A color in RGBA format.", + "text" : "The quaternion Z component.", "type" : "text" } ], @@ -18803,7 +19831,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "var" }, { "kind" : "text", @@ -18811,118 +19839,78 @@ }, { "kind" : "identifier", - "text" : "Color" + "text" : "z" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.structure", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color", + "path" : "\/documentation\/euclid\/quaternion\/z", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z", "taskGroups" : [ + + ], + "title" : "z", + "usr" : "s:6Euclid10QuaternionV1zSdvp" + }, + { + "abstract" : [ { - "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" + "text" : "Flip the direction of the line segment", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { - "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" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components" - ], - "title" : "Instance Properties" + "kind" : "identifier", + "text" : "inverted" }, { - "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" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" } ], - "title" : "Color", - "usr" : "s:6Euclid5ColorV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/transformable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Transformable-Implementations", + "path" : "\/documentation\/euclid\/linesegment\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/inverted()", "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" : "inverted()", + "usr" : "s:6Euclid11LineSegmentV8invertedACyF" }, { "abstract" : [ { - "text" : "Multiplies the components of the vector by the specified value.", + "text" : "A surface normal vector, perpendicular to the plane.", "type" : "text" } ], @@ -18932,15 +19920,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -18948,57 +19928,75 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "normal" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "text", - "text" : "(" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/normal", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/normal", + "taskGroups" : [ + + ], + "title" : "normal", + "usr" : "s:6Euclid5PlaneV6normalAA6VectorVvp" + }, + { + "abstract" : [ + { + "text" : "Rotation has no effect.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", - "text" : "inout" + "text" : "var" }, { "kind" : "text", "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "isIdentity" }, { "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", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*=(_:_:)-9l46a", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a", + "path" : "\/documentation\/euclid\/rotation\/isidentity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/isIdentity", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid6VectorV2meoiyyACz_SdtFZ" + "title" : "isIdentity", + "usr" : "s:6Euclid8RotationV10isIdentitySbvp" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "The angle of rotation.", "type" : "text" } ], @@ -19008,7 +20006,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -19016,15 +20014,7 @@ }, { "kind" : "identifier", - "text" : "transformed" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "angle" }, { "kind" : "text", @@ -19032,32 +20022,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "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\/transformed(by:)-21ah6", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-21ah6", + "path" : "\/documentation\/euclid\/quaternion\/angle", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/angle", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF" + "title" : "angle", + "usr" : "s:6Euclid10QuaternionV5angleAA5AngleVvp" }, { "abstract" : [ { - "text" : "Splits all polygons in the mesh into triangles.", + "text" : "Creates a new bounds that contains both the specified bounds and this one.", "type" : "text" } ], @@ -19075,32 +20060,41 @@ }, { "kind" : "identifier", - "text" : "triangulate" + "text" : "union" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "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\/mesh\/triangulate()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/triangulate()", + "path" : "\/documentation\/euclid\/bounds\/union(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/union(_:)", "taskGroups" : [ ], - "title" : "triangulate()", - "usr" : "s:6Euclid4MeshV11triangulateACyF" + "title" : "union(_:)", + "usr" : "s:6Euclid6BoundsV5unionyA2CF" }, { "abstract" : [ { - "text" : "Creates a polygon from an array of vertices.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -19110,24 +20104,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "?([" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "kind" : "identifier", + "text" : "translate" }, { "kind" : "text", - "text" : "], " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "by" }, { "kind" : "text", @@ -19135,25 +20128,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "?)" + "text" : ")" } ], - "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\/vertex\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translate(by:)", "taskGroups" : [ ], - "title" : "init(_:material:)", - "usr" : "s:6Euclid7PolygonV_8materialACSgSayAA6VertexVG_s11AnyHashableVSgtcfc" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { + "abstract" : [ + { + "text" : "Returns the componentwise sum of two vectors.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -19176,7 +20175,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "+" }, { "kind" : "text", @@ -19188,7 +20187,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -19196,7 +20196,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -19204,36 +20205,34 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/!=(_:_:)", + "path" : "\/documentation\/euclid\/vector\/+(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4PathV" + "title" : "+(_:_:)", + "usr" : "s:6Euclid6VectorV1poiyA2C_ACtFZ" }, { + "abstract" : [ + { + "text" : "A Boolean value that indicates whether the bounds is empty (has zero volume).", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -19241,7 +20240,7 @@ }, { "kind" : "identifier", - "text" : "black" + "text" : "isEmpty" }, { "kind" : "text", @@ -19249,24 +20248,24 @@ }, { "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\/black", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black", + "path" : "\/documentation\/euclid\/bounds\/isempty", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty", "taskGroups" : [ ], - "title" : "black", - "usr" : "s:6Euclid5ColorV5blackACvpZ" + "title" : "isEmpty", + "usr" : "s:6Euclid6BoundsV7isEmptySbvp" }, { "abstract" : [ { - "text" : "Loads a mesh from a file using any format supported by SceneKit, with optional material mapping.", + "text" : "Creates a rotation around the Z axis.", "type" : "text" } ], @@ -19276,82 +20275,91 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "url" + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:10Foundation3URLV", - "text" : "URL" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "ignoringTransforms" + "kind" : "identifier", + "text" : "roll" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "materialLookup" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + } + ], + "kind" : "org.swift.docc.kind.typeMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/roll(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/roll(_:)", + "taskGroups" : [ + + ], + "title" : "roll(_:)", + "usr" : "s:6Euclid8RotationV4rollyAcA5AngleVFZ" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "The default wrap behavior. Context-dependent.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19SCNMaterialProvidera", - "text" : "SCNMaterialProvider" + "kind" : "keyword", + "text" : "case" }, { "kind" : "text", - "text" : "?) " + "text" : " " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "identifier", + "text" : "`default`" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.enumerationCase", "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\/mesh\/wrapmode\/default", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default", "taskGroups" : [ ], - "title" : "init(url:ignoringTransforms:materialLookup:)", - "usr" : "s:6Euclid4MeshV3url18ignoringTransforms14materialLookupAC10Foundation3URLV_Sbs11AnyHashableVSgSo11SCNMaterialCcSgtKcfc" + "title" : "Mesh.WrapMode.default", + "usr" : "s:6Euclid4MeshV8WrapModeO7defaultyA2EmF" }, { "abstract" : [ { - "text" : "Quaternion has no effect.", + "text" : "Flips the face direction and vertex normals of all polygons within the mesh.", "type" : "text" } ], @@ -19361,7 +20369,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -19369,32 +20377,32 @@ }, { "kind" : "identifier", - "text" : "isIdentity" + "text" : "inverted" }, { "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\/quaternion\/isidentity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity", + "path" : "\/documentation\/euclid\/mesh\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/inverted()", "taskGroups" : [ ], - "title" : "isIdentity", - "usr" : "s:6Euclid10QuaternionV10isIdentitySbvp" + "title" : "inverted()", + "usr" : "s:6Euclid4MeshV8invertedACyF" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of paths.", + "text" : "Creates a new vector by decoding from the given decoder.", "type" : "text" } ], @@ -19404,56 +20412,74 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "convexHull" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : "<" + "text" : ") " }, { - "kind" : "genericParameter", - "text" : "T" - }, + "kind" : "keyword", + "text" : "throws" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)", + "taskGroups" : [ + + ], + "title" : "init(from:)", + "usr" : "s:6Euclid6VectorV4fromACs7Decoder_p_tKcfc" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ">(" - }, + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "of" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA4PathV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "kind" : "identifier", + "text" : "transformed" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "by" }, { "kind" : "text", @@ -19461,28 +20487,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "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.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\/transformable\/transformed(by:)-21ah6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/transformed(by:)-21ah6", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA4PathV7ElementRtzlFZ" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF" }, { "availableLanguages" : [ @@ -19490,22 +20515,22 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Encodable-Implementations", + "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\/encode(to:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)" ], - "title" : "Instance Methods" + "title" : "Initializers" } ], - "title" : "Encodable Implementations" + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "A finite line segment in 3D space.", + "text" : "Efficiently extrudes an array of paths along their respective face normals, avoiding duplicate work.", "type" : "text" } ], @@ -19515,100 +20540,57 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" }, { "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" : [ + "kind" : "keyword", + "text" : "func" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(_:_:)" - ], - "title" : "Creating Line Segments" + "kind" : "text", + "text" : " " }, { - "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" + "kind" : "identifier", + "text" : "extrude" }, { - "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" : "text", + "text" : "([" }, { - "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" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)" - ], - "title" : "Initializers" + "kind" : "text", + "text" : "], " }, { - "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" : [ + "kind" : "externalParam", + "text" : "depth" + }, { - "text" : "The blue component of the color.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "b" + "kind" : "externalParam", + "text" : "twist" }, { "kind" : "text", @@ -19616,68 +20598,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" - }, - { - "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" : [ + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, { - "text" : "Returns a translated copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ", " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "sections" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "translated" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "faces" }, { "kind" : "text", @@ -19685,126 +20632,76 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translated(by:)", - "taskGroups" : [ - - ], - "title" : "translated(by:)", - "usr" : "s:6Euclid9TransformV10translated2byAcA6VectorV_tF" - }, - { - "abstract" : [ + "kind" : "externalParam", + "text" : "material" + }, { - "text" : "Material used by the mesh polygons.", - "type" : "text" + "kind" : "text", + "text" : ": " }, { - "text" : " ", - "type" : "text" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { - "text" : "See ", - "type" : "text" + "kind" : "text", + "text" : "?, " }, { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", - "isActive" : true, - "type" : "reference" + "kind" : "externalParam", + "text" : "isCancelled" }, { - "text" : " for details.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : ": " + }, { - "kind" : "keyword", - "text" : "typealias" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "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\/mesh\/material", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material", + "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" : "Mesh.Material", - "usr" : "s:6Euclid4MeshV8Materiala" + "title" : "extrude(_:depth:twist:sections:faces:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV7extrude_5depth5twist8sections5faces8material11isCancelledACSayAA4PathVG_SdAA5AngleVSiAC5FacesOs11AnyHashableVSgSbyXEtFZ" }, { "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" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*=(_:_:)" - ], - "title" : "Operators" + "kind" : "keyword", + "text" : "static" }, { - "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" : "An array of vertices suitable for constructing a set of edge polygons for the path.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -19815,62 +20712,56 @@ }, { "kind" : "identifier", - "text" : "edgeVertices" + "text" : "..." }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "for" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" }, { "kind" : "text", - "text" : "." + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "preciseIdentifier" : "s:s19PartialRangeThroughV", + "text" : "PartialRangeThrough" }, { "kind" : "text", - "text" : ") -> [" + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "text" : "Self" }, { "kind" : "text", - "text" : "]" + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/edgevertices(for:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices(for:)", + "path" : "\/documentation\/euclid\/plane\/'...(_:)-49h2f", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f", "taskGroups" : [ ], - "title" : "edgeVertices(for:)", - "usr" : "s:6Euclid4PathV12edgeVertices3forSayAA6VertexVGAA4MeshV8WrapModeO_tF" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Performs a spherical interpolation between two quaternions.", + "text" : "Creates a plane from a point and surface normal.", "type" : "text" } ], @@ -19880,58 +20771,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "slerp" + "kind" : "externalParam", + "text" : "normal" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "pointOnPlane" }, { "kind" : "text", - "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\/quaternion\/slerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)", + "path" : "\/documentation\/euclid\/plane\/init(normal:pointonplane:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)", "taskGroups" : [ ], - "title" : "slerp(_:_:)", - "usr" : "s:6Euclid10QuaternionV5slerpyA2C_SdtF" + "title" : "init(normal:pointOnPlane:)", + "usr" : "s:6Euclid5PlaneV6normal07pointOnB0ACSgAA6VectorV_AHtcfc" }, { "abstract" : [ { - "text" : "Computes the trigonometric sine of an angle.", + "text" : "The texture wrapping mode to use when generating a mesh.", "type" : "text" } ], @@ -19941,7 +20835,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "enum" }, { "kind" : "text", @@ -19949,41 +20843,37 @@ }, { "kind" : "identifier", - "text" : "sin" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "WrapMode" } ], - "kind" : "org.swift.docc.kind.function", + "kind" : "org.swift.docc.kind.enumeration", "language" : "swift", - "path" : "\/documentation\/euclid\/sin(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/sin(_:)", + "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" : "sin(_:)", - "usr" : "s:6Euclid3sinySdAA5AngleVF" + "title" : "Mesh.WrapMode", + "usr" : "s:6Euclid4MeshV8WrapModeO" }, { "abstract" : [ { - "text" : "Creates a composite mesh from an array of submeshes.", + "text" : "Encodes this line segment into the given encoder.", "type" : "text" } ], @@ -19993,7 +20883,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "encode" }, { "kind" : "text", @@ -20001,36 +20899,40 @@ }, { "kind" : "externalParam", - "text" : "submeshes" + "text" : "to" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "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\/mesh\/init(submeshes:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)", + "path" : "\/documentation\/euclid\/linesegment\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)", "taskGroups" : [ ], - "title" : "init(submeshes:)", - "usr" : "s:6Euclid4MeshV9submeshesACSayACG_tcfc" + "title" : "encode(to:)", + "usr" : "s:6Euclid11LineSegmentV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "The end point of the line segment.", + "text" : "Creates a quaternion from an axis and angle.", "type" : "text" } ], @@ -20040,15 +20942,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "end" + "kind" : "externalParam", + "text" : "axis" }, { "kind" : "text", @@ -20058,22 +20960,46 @@ "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.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/end", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end", + "path" : "\/documentation\/euclid\/quaternion\/init(axis:angle:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)", "taskGroups" : [ ], - "title" : "end", - "usr" : "s:6Euclid11LineSegmentV3endAA6VectorVvp" + "title" : "init(axis:angle:)", + "usr" : "s:6Euclid10QuaternionV4axis5angleACSgAA6VectorV_AA5AngleVtcfc" }, { "abstract" : [ { - "text" : "Divides the components of the vector by the specified value.", + "text" : "Creates a scale transform.", "type" : "text" } ], @@ -20099,57 +21025,41 @@ }, { "kind" : "identifier", - "text" : "\/=" - }, - { - "kind" : "text", - "text" : " " + "text" : "scale" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/\/=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/=(_:_:)", + "path" : "\/documentation\/euclid\/transform\/scale(_:)-55t4p", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p", "taskGroups" : [ ], - "title" : "\/=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2deoiyyACz_SdtFZ" + "title" : "scale(_:)", + "usr" : "s:6Euclid9TransformV5scaleyAcA6VectorVFZ" }, { "abstract" : [ { - "text" : "Computes the convex hull of one or more meshes.", + "text" : "Create a mesh from STL data.", "type" : "text" } ], @@ -20159,65 +21069,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "stlData" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "convexHull" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:10Foundation4DataV", + "text" : "Data" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "of" + "text" : "materialLookup" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:6Euclid4MeshV19STLMaterialProvidera", + "text" : "STLMaterialProvider" }, { "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:)-8x4al", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-8x4al", + "path" : "\/documentation\/euclid\/mesh\/init(stldata:materiallookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlData:materialLookup:)", "taskGroups" : [ ], - "title" : "convexHull(of:)", - "usr" : "s:6Euclid4MeshV10convexHull2ofACSayACG_tFZ" + "title" : "init(stlData:materialLookup:)", + "usr" : "s:6Euclid4MeshV7stlData14materialLookupACSg10Foundation0D0V_s11AnyHashableVSgAA5ColorVSgcSgtcfc" }, { "abstract" : [ { - "text" : "Returns the nearest point on the specified line to the vector (representing a position in space).", + "text" : "Clip mesh to the specified plane and optionally fill sheared faces with specified material.", "type" : "text" } ], @@ -20235,7 +21141,7 @@ }, { "kind" : "identifier", - "text" : "project" + "text" : "clip" }, { "kind" : "text", @@ -20243,7 +21149,7 @@ }, { "kind" : "externalParam", - "text" : "onto" + "text" : "to" }, { "kind" : "text", @@ -20251,33 +21157,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "fill" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "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", + "path" : "\/documentation\/euclid\/mesh\/clip(to:fill:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/clip(to:fill:)", "taskGroups" : [ ], - "title" : "project(onto:)", - "usr" : "s:6Euclid6VectorV7project4ontoAcA4LineV_tF" + "title" : "clip(to:fill:)", + "usr" : "s:6Euclid4MeshV4clip2to4fillAcA5PlaneV_s11AnyHashableVSgtF" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -20285,6 +21208,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -20295,62 +21226,52 @@ }, { "kind" : "identifier", - "text" : "scale" + "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:6Euclid9TransformV", + "text" : "Transform" }, { "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\/linesegment\/scale(by:)-8v4ag", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-8v4ag", + "path" : "\/documentation\/euclid\/transform\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/*(_:_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", - "language" : "swift", - "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" : "Decodable Implementations" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -20368,7 +21289,7 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "scaled" }, { "kind" : "text", @@ -20384,8 +21305,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -20393,24 +21314,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotated(by:)", + "path" : "\/documentation\/euclid\/vertex\/scaled(by:)-1dtbr", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-1dtbr", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid9PathPointV7rotated2byAcA8RotationV_tF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6VertexV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Creates a scale transform.", + "text" : "Linearly interpolates between two vertices.", "type" : "text" } ], @@ -20420,32 +21341,33 @@ "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" : "scale" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -20453,24 +21375,41 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scale(_:)-55t4p", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(_:)-55t4p", + "path" : "\/documentation\/euclid\/vertex\/lerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/lerp(_:_:)", "taskGroups" : [ ], - "title" : "scale(_:)", - "usr" : "s:6Euclid9TransformV5scaleyAcA6VectorVFZ" + "title" : "lerp(_:_:)", + "usr" : "s:6Euclid6VertexV4lerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "Creates a new rotation by decoding from the given decoder.", + "text" : "Creates a Euclid", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform", + "isActive" : true, + "type" : "reference" + }, + { + "text" : " from a RealityKit ", + "type" : "text" + }, + { + "code" : "Transform", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -20484,44 +21423,52 @@ }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "from" + "text" : "(RealityKit" }, { "kind" : "text", - "text" : ": " + "text" : "." }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:17RealityFoundation9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : ")" } ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)", + "path" : "\/documentation\/euclid\/transform\/init(_:)-cys2", + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "13.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.15", + "name" : "macOS", + "unavailable" : false + } + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-cys2", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid8RotationV4fromACs7Decoder_p_tKcfc" + "title" : "init(_:)", + "usr" : "s:6Euclid9TransformVyAC17RealityFoundationABVcfc" }, { "abstract" : [ { - "text" : "The quaternion W component.", + "text" : "Creates a corner path point at the specified X, Y and Z coordinates.", "type" : "text" } ], @@ -20531,7 +21478,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -20539,42 +21494,105 @@ }, { "kind" : "identifier", - "text" : "w" + "text" : "point" }, { "kind" : "text", - "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" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "texcoord" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "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" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/w", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w", + "path" : "\/documentation\/euclid\/pathpoint\/point(_:_:_:texcoord:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/point(_:_:_:texcoord:color:)", "taskGroups" : [ ], - "title" : "w", - "usr" : "s:6Euclid10QuaternionV1wSdvp" + "title" : "point(_:_:_:texcoord:color:)", + "usr" : "s:6Euclid9PathPointV5point___8texcoord5colorACSd_S2dAA6VectorVSgAA5ColorVSgtFZ" }, { - "abstract" : [ - { - "text" : "The quaternion X component.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -20582,32 +21600,64 @@ }, { "kind" : "identifier", - "text" : "x" + "text" : "..<" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "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.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/x", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x", + "path" : "\/documentation\/euclid\/plane\/'.._(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)", "taskGroups" : [ ], - "title" : "x", - "usr" : "s:6Euclid10QuaternionV1xSdvp" + "title" : "..<(_:_:)", + "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Returns a vector with all components inverted.", + "text" : "Returns the product of a numeric multiplier and an angle.", "type" : "text" } ], @@ -20633,7 +21683,7 @@ }, { "kind" : "identifier", - "text" : "-" + "text" : "*" }, { "kind" : "text", @@ -20645,8 +21695,17 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -20654,24 +21713,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/-(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-(_:)", + "path" : "\/documentation\/euclid\/angle\/*(_:_:)-2ew65", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-2ew65", "taskGroups" : [ ], - "title" : "-(_:)", - "usr" : "s:6Euclid6VectorV1sopyA2CFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid5AngleV1moiyACSd_ACtFZ" }, { "abstract" : [ { - "text" : "The plane upon which all path points lie. Will be nil for non-planar paths.", + "text" : "Creates a ", + "type" : "text" + }, + { + "code" : "Vector", + "type" : "codeVoice" + }, + { + "text" : " from a simd vector 3.", "type" : "text" } ], @@ -20681,44 +21748,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "plane" + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "c:@T@simd_float3", + "text" : "simd_float3" }, { "kind" : "text", - "text" : "?" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/plane", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/plane", + "path" : "\/documentation\/euclid\/vector\/init(_:)-5s4mt", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-5s4mt", "taskGroups" : [ ], - "title" : "plane", - "usr" : "s:6Euclid4PathV5planeAA5PlaneVSgvp" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACs5SIMD3VySfGcfc" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Computes the dot-product of this vector and another.", "type" : "text" } ], @@ -20736,20 +21795,12 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "dot" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", @@ -20761,24 +21812,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "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\/vector\/dot(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid11LineSegmentV6scaled2byAcA6VectorV_tF" + "title" : "dot(_:)", + "usr" : "s:6Euclid6VectorV3dotySdACF" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "A Boolean value that indicates whether the vector has a length of ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -20788,7 +21847,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -20796,15 +21855,7 @@ }, { "kind" : "identifier", - "text" : "rotate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "isNormalized" }, { "kind" : "text", @@ -20812,28 +21863,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "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\/vertex\/rotate(by:)-622p8", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8", + "path" : "\/documentation\/euclid\/vector\/isnormalized", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isNormalized", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "isNormalized", + "usr" : "s:6Euclid6VectorV12isNormalizedSbvp" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "The face generation policy for Euclid to use when creating a mesh.", "type" : "text" } ], @@ -20843,7 +21890,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "enum" }, { "kind" : "text", @@ -20851,52 +21898,129 @@ }, { "kind" : "identifier", - "text" : "scaled" - }, + "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" : [ { - "kind" : "text", - "text" : "(" + "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" : "externalParam", - "text" : "by" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/Equatable-Implementations" + ], + "title" : "Default Implementations" + } + ], + "title" : "Mesh.Faces", + "usr" : "s:6Euclid4MeshV5FacesO" + }, + { + "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" : "Texture coordinates for the vertex. Set this to zero if you are not using a texture map.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "texcoord" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/scaled(by:)-20sq4", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scaled(by:)-20sq4", + "path" : "\/documentation\/euclid\/vertex\/texcoord", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid6VertexV6scaled2byAcA6VectorV_tF" + "title" : "texcoord", + "usr" : "s:6Euclid6VertexV8texcoordAA6VectorVvp" }, { "abstract" : [ { - "text" : "Adds the quaternion rotation on the right to the one on the left.", + "text" : "Texture is shrink-wrapped.", "type" : "text" } ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "case" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "shrink" + } + ], + "kind" : "org.swift.docc.kind.enumerationCase", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/shrink", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink", + "taskGroups" : [ + + ], + "title" : "Mesh.WrapMode.shrink", + "usr" : "s:6Euclid4MeshV8WrapModeO6shrinkyA2EmF" + }, + { "availableLanguages" : [ "swift" ], @@ -20919,7 +22043,7 @@ }, { "kind" : "identifier", - "text" : "+=" + "text" : "-=" }, { "kind" : "text", @@ -20939,8 +22063,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "Self" }, { "kind" : "text", @@ -20948,8 +22071,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : "Self" }, { "kind" : "text", @@ -20958,68 +22080,31 @@ ], "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:s18AdditiveArithmeticPsE2seoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { - "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", + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/rotate(by:)-3uymx", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-3uymx", + "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" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "Decodable Implementations" }, { "availableLanguages" : [ @@ -21044,7 +22129,7 @@ }, { "kind" : "identifier", - "text" : ">=" + "text" : "+" }, { "kind" : "text", @@ -21058,38 +22143,29 @@ "kind" : "typeIdentifier", "text" : "Self" }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, { "kind" : "text", "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "text" : "Self" } ], "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\/vector\/+(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:)", "taskGroups" : [ ], - "title" : ">=(_:_:)", - "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "+(_:)", + "usr" : "s:s18AdditiveArithmeticPsE1popyxxFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "The translation or position component of the transform.", + "text" : "Alignment mode to use when extruding along a path.", "type" : "text" } ], @@ -21099,7 +22175,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "enum" }, { "kind" : "text", @@ -21107,29 +22183,39 @@ }, { "kind" : "identifier", - "text" : "offset" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Alignment" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.enumeration", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/offset", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset", + "path" : "\/documentation\/euclid\/path\/alignment", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment", "taskGroups" : [ - + { + "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" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations" + ], + "title" : "Default Implementations" + } ], - "title" : "offset", - "usr" : "s:6Euclid9TransformV6offsetAA6VectorVvp" + "title" : "Path.Alignment", + "usr" : "s:6Euclid4PathV9AlignmentO" }, { + "abstract" : [ + { + "text" : "A zero-length vector.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -21152,7 +22238,7 @@ }, { "kind" : "identifier", - "text" : "green" + "text" : "zero" }, { "kind" : "text", @@ -21160,24 +22246,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/green", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/green", + "path" : "\/documentation\/euclid\/vector\/zero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/zero", "taskGroups" : [ ], - "title" : "green", - "usr" : "s:6Euclid5ColorV5greenACvpZ" + "title" : "zero", + "usr" : "s:6Euclid6VectorV4zeroACvpZ" }, { "abstract" : [ { - "text" : "Creates an angle from a radians value.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -21203,41 +22289,56 @@ }, { "kind" : "identifier", - "text" : "radians" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "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\/angle\/radians(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)", + "path" : "\/documentation\/euclid\/vector\/*=(_:_:)-3ur4e", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-3ur4e", "taskGroups" : [ ], - "title" : "radians(_:)", - "usr" : "s:6Euclid5AngleV7radiansyACSdFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a quadratic bezier spline.", + "text" : "The zero quaternion.", "type" : "text" } ], @@ -21255,7 +22356,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -21263,58 +22364,86 @@ }, { "kind" : "identifier", - "text" : "curve" + "text" : "zero" }, { "kind" : "text", - "text" : "([" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/zero", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero", + "taskGroups" : [ + + ], + "title" : "zero", + "usr" : "s:6Euclid10QuaternionV4zeroACvpZ" + }, + { + "abstract" : [ + { + "text" : "Material used by the mesh polygons.", + "type" : "text" }, { - "kind" : "text", - "text" : "], " + "text" : " ", + "type" : "text" }, { - "kind" : "externalParam", - "text" : "detail" + "text" : "See ", + "type" : "text" }, { - "kind" : "text", - "text" : ": " + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", + "isActive" : true, + "type" : "reference" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "text" : " for details.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "typealias" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "kind" : "identifier", + "text" : "Material" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/curve(_:detail:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)", + "path" : "\/documentation\/euclid\/mesh\/material", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material", "taskGroups" : [ ], - "title" : "curve(_:detail:)", - "usr" : "s:6Euclid4PathV5curve_6detailACSayAA0B5PointVG_SitFZ" + "title" : "Mesh.Material", + "usr" : "s:6Euclid4MeshV8Materiala" }, { "abstract" : [ { - "text" : "Angle representing a zero (identity) rotation.", + "text" : "The array of points that makes up this path.", "type" : "text" } ], @@ -21322,14 +22451,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "let" @@ -21340,32 +22461,36 @@ }, { "kind" : "identifier", - "text" : "zero" + "text" : "points" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "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\/angle\/zero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/zero", + "path" : "\/documentation\/euclid\/path\/points", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/points", "taskGroups" : [ ], - "title" : "zero", - "usr" : "s:6Euclid5AngleV4zeroACvpZ" + "title" : "points", + "usr" : "s:6Euclid4PathV6pointsSayAA0B5PointVGvp" }, { "abstract" : [ { - "text" : "Creates a cylindrical mesh.", + "text" : "Returns whether the leftmost angle has the lower value.", "type" : "text" } ], @@ -21391,151 +22516,169 @@ }, { "kind" : "identifier", - "text" : "cylinder" + "text" : "<" }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "radius" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "height" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "slices" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/_(_:_:)-1aqv9", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-1aqv9", + "taskGroups" : [ + + ], + "title" : "<(_:_:)", + "usr" : "s:6Euclid5AngleV1loiySbAC_ACtFZ" + }, + { + "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" : [ { - "kind" : "externalParam", - "text" : "poleDetail" - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Encodable Implementations" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "Multiplies the quaternion rotation on the left by the one on the right.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "faces" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "kind" : "identifier", + "text" : "*=" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "wrapMode" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "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.operator", "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\/quaternion\/*=(_:_:)-5ic2j", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-5ic2j", "taskGroups" : [ ], - "title" : "cylinder(radius:height:slices:poleDetail:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV8cylinder6radius6height6slices10poleDetail5faces8wrapMode8materialACSd_SdS2iAC5FacesOAC04WrapK0Os11AnyHashableVSgtFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2meoiyyACz_ACtFZ" + }, + { + "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" : "Creates a mesh by connecting a series of 3D paths representing the cross sections.", + "text" : "Returns the product of two quaternions (i.e. the effect of rotating the left by the right).", "type" : "text" } ], @@ -21561,83 +22704,88 @@ }, { "kind" : "identifier", - "text" : "loft" - }, - { - "kind" : "text", - "text" : "([" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : "*" }, { "kind" : "text", - "text" : "], " - }, - { - "kind" : "externalParam", - "text" : "faces" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/*(_:_:)-305tn", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn", + "taskGroups" : [ + + ], + "title" : "*(_:_:)", + "usr" : "s:6Euclid10QuaternionV1moiyA2C_ACtFZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "typealias" }, { "kind" : "text", - "text" : "?) -> " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "kind" : "identifier", + "text" : "MaterialProvider" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/loft(_:faces:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/loft(_:faces:material:)", + "path" : "\/documentation\/euclid\/mesh\/materialprovider", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider", "taskGroups" : [ ], - "title" : "loft(_:faces:material:)", - "usr" : "s:6Euclid4MeshV4loft_5faces8materialACSayAA4PathVG_AC5FacesOs11AnyHashableVSgtFZ" + "title" : "Mesh.MaterialProvider", + "usr" : "s:6Euclid4MeshV16MaterialProvidera" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the quaternion has a length of ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : ".", + "text" : "Returns a Boolean value that indicates whether a point lies inside the polygon, on the same plane.", "type" : "text" } ], @@ -21647,7 +22795,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -21655,11 +22803,20 @@ }, { "kind" : "identifier", - "text" : "isNormalized" + "text" : "containsPoint" }, { "kind" : "text", - "text" : ": " + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -21667,23 +22824,17 @@ "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/isnormalized", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isNormalized", + "path" : "\/documentation\/euclid\/polygon\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "isNormalized", - "usr" : "s:6Euclid10QuaternionV12isNormalizedSbvp" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid7PolygonV13containsPointySbAA6VectorVF" }, { - "abstract" : [ - { - "text" : "Returns one or more polygons needed to fill the path.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -21698,20 +22849,12 @@ }, { "kind" : "identifier", - "text" : "facePolygons" + "text" : "intersect" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid4MeshV", @@ -21719,59 +22862,48 @@ }, { "kind" : "text", - "text" : "." + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", - "text" : "?) -> [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : "]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "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" : [ + "path" : "\/documentation\/euclid\/mesh\/intersect(_:iscancelled:)", + "platforms" : [ ], - "title" : "facePolygons(material:)", - "usr" : "s:6Euclid4PathV12facePolygons8materialSayAA7PolygonVGs11AnyHashableVSg_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", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersect(_:isCancelled:)", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)" - ], - "title" : "Operators" - } + ], - "title" : "Equatable Implementations" + "title" : "intersect(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV9intersect_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns the intersection point between the specified line segment and this one.", "type" : "text" } ], @@ -21789,7 +22921,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "intersection" }, { "kind" : "text", @@ -21797,7 +22929,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "with" }, { "kind" : "text", @@ -21805,36 +22937,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "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\/rotate(by:)-l48f", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotate(by:)-l48f", + "path" : "\/documentation\/euclid\/linesegment\/intersection(with:)-2u7vo", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-2u7vo", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "intersection(with:)", + "usr" : "s:6Euclid11LineSegmentV12intersection4withAA6VectorVSgAC_tF" }, { "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.", + "text" : "The translation or position component of the transform.", "type" : "text" } ], @@ -21852,7 +22985,7 @@ }, { "kind" : "identifier", - "text" : "normal" + "text" : "offset" }, { "kind" : "text", @@ -21866,27 +22999,25 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/normal", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/normal", + "path" : "\/documentation\/euclid\/transform\/offset", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset", "taskGroups" : [ ], - "title" : "normal", - "usr" : "s:6Euclid6VertexV6normalAA6VectorVvp" + "title" : "offset", + "usr" : "s:6Euclid9TransformV6offsetAA6VectorVvp" }, { + "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" @@ -21897,99 +23028,86 @@ }, { "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", "text" : ") -> " }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SN", - "text" : "ClosedRange" - }, - { - "kind" : "text", - "text" : "<" - }, { "kind" : "typeIdentifier", "text" : "Self" - }, - { - "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\/polygon\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)", "taskGroups" : [ ], - "title" : "...(_:_:)", - "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { - "abstract" : [ - { - "text" : "Creates a quaternion representing a rotation around the Z axis.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "subtract" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "roll" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : "(" + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -21997,24 +23115,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "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\/mesh\/subtract(_:iscancelled:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtract(_:isCancelled:)", "taskGroups" : [ ], - "title" : "roll(_:)", - "usr" : "s:6Euclid10QuaternionV4rollyAcA5AngleVFZ" + "title" : "subtract(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV8subtract_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Creates a copy of the color updated with the specified alpha.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -22032,16 +23153,24 @@ }, { "kind" : "identifier", - "text" : "withAlpha" + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -22049,24 +23178,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : "Self" } ], "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\/transformable\/scaled(by:)-3shbk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-3shbk", "taskGroups" : [ ], - "title" : "withAlpha(_:)", - "usr" : "s:6Euclid5ColorV9withAlphayACSdF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid13TransformableP6scaled2byxAA6VectorV_tF" }, { "abstract" : [ { - "text" : "Combines with the specified rotation.", + "text" : "Creates a rotation around the Y axis.", "type" : "text" } ], @@ -22092,65 +23220,106 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "yaw" }, { "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" - }, - { - "kind" : "text", - "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/*=(_:_:)-68kkw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw", + "path" : "\/documentation\/euclid\/rotation\/yaw(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/yaw(_:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid8RotationV2meoiyyACz_ACtFZ" + "title" : "yaw(_:)", + "usr" : "s:6Euclid8RotationV3yawyAcA5AngleVFZ" }, { - "abstract" : [ + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "text" : "Returns a new mesh representing the volume shared by both the mesh", - "type" : "text" + "kind" : "keyword", + "text" : "static" }, { - "text" : " ", - "type" : "text" + "kind" : "text", + "text" : " " }, { - "text" : "parameter and the receiver. If these do not intersect, an empty mesh will be returned.", + "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\/vertex\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/!=(_:_:)", + "taskGroups" : [ + + ], + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VertexV" + }, + { + "abstract" : [ + { + "text" : "Flips the polygon along its plane and reverses the order and surface normals of the vertices.", "type" : "text" } ], @@ -22168,58 +23337,79 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "inverted" }, { "kind" : "text", - "text" : "(" + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - }, + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/inverted()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/inverted()", + "taskGroups" : [ + + ], + "title" : "inverted()", + "usr" : "s:6Euclid7PolygonV8invertedACyF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " - }, + "text" : "Creates a composite mesh from an array of submeshes.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "isCancelled" + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "kind" : "externalParam", + "text" : "submeshes" }, { "kind" : "text", - "text" : ") -> " + "text" : ": [" }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid4MeshV", "text" : "Mesh" + }, + { + "kind" : "text", + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "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\/mesh\/init(submeshes:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(submeshes:)", "taskGroups" : [ ], - "title" : "intersection(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV12intersection_11isCancelledA2C_SbyXEtF" + "title" : "init(submeshes:)", + "usr" : "s:6Euclid4MeshV9submeshesACSayACG_tcfc" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -22237,7 +23427,7 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "transformed" }, { "kind" : "text", @@ -22253,8 +23443,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -22262,24 +23452,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translated(by:)", + "path" : "\/documentation\/euclid\/bounds\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transformed(by:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid6VectorV10translated2byA2C_tF" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "The angle of rotation.", + "text" : "The blue component of the color.", "type" : "text" } ], @@ -22297,7 +23486,7 @@ }, { "kind" : "identifier", - "text" : "angle" + "text" : "b" }, { "kind" : "text", @@ -22305,32 +23494,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/angle", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle", + "path" : "\/documentation\/euclid\/color\/b", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/b", "taskGroups" : [ ], - "title" : "angle", - "usr" : "s:6Euclid8RotationV5angleAA5AngleVvp" + "title" : "b", + "usr" : "s:6Euclid5ColorV1bSdvp" }, { "abstract" : [ { - "text" : "Creates a ", - "type" : "text" - }, - { - "code" : "Vector", - "type" : "codeVoice" - }, - { - "text" : " from a simd vector 2.", + "text" : "Creates a line from an origin and direction.", "type" : "text" } ], @@ -22344,12 +23525,37 @@ }, { "kind" : "text", - "text" : "(" + "text" : "?(" + }, + { + "kind" : "externalParam", + "text" : "origin" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@simd_float2", - "text" : "simd_float2" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "direction" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -22358,43 +23564,27 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-7r7et", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-7r7et", + "path" : "\/documentation\/euclid\/line\/init(origin:direction:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACs5SIMD2VySfGcfc" + "title" : "init(origin:direction:)", + "usr" : "s:6Euclid4LineV6origin9directionACSgAA6VectorV_AHtcfc" }, { "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" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)" - ], - "title" : "Initializers" - } - ], - "title" : "Decodable Implementations" - }, - { - "abstract" : [ + "kind" : "keyword", + "text" : "static" + }, { - "text" : "Computes the dot-product of this vector and another.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -22405,7 +23595,11 @@ }, { "kind" : "identifier", - "text" : "dot" + "text" : "..." + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -22413,8 +23607,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", @@ -22422,60 +23615,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/dot(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/dot(_:)", - "taskGroups" : [ - - ], - "title" : "dot(_:)", - "usr" : "s:6Euclid6VectorV3dotySdACF" - }, - { - "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" : [ + "preciseIdentifier" : "s:s16PartialRangeFromV", + "text" : "PartialRangeFrom" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(from:)" - ], - "title" : "Initializers" + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "title" : "Decodable Implementations" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/decodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/Decodable-Implementations", + "path" : "\/documentation\/euclid\/plane\/'...(_:)-4yucl", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-4yucl", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)" - ], - "title" : "Initializers" - } + ], - "title" : "Decodable Implementations" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "A Boolean value that indicates whether the mesh includes vertex normals that differ from the face normal.", "type" : "text" } ], @@ -22485,7 +23654,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -22493,15 +23662,7 @@ }, { "kind" : "identifier", - "text" : "transformed" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "hasVertexNormals" }, { "kind" : "text", @@ -22509,33 +23670,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/transformed(by:)", + "path" : "\/documentation\/euclid\/mesh\/hasvertexnormals", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid9TransformV11transformed2byA2C_tF" + "title" : "hasVertexNormals", + "usr" : "s:6Euclid4MeshV16hasVertexNormalsSbvp" }, { "abstract" : [ { - "text" : "Creates a new bounds representing the intersection between the specified bounds and this one.", + "text" : "Linearly interpolate between this vector and another.", "type" : "text" } ], @@ -22553,7 +23705,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "lerp" }, { "kind" : "text", @@ -22561,8 +23713,17 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -22570,32 +23731,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/intersection(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)", + "path" : "\/documentation\/euclid\/vector\/lerp(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lerp(_:_:)", "taskGroups" : [ ], - "title" : "intersection(_:)", - "usr" : "s:6Euclid6BoundsV12intersectionyA2CF" + "title" : "lerp(_:_:)", + "usr" : "s:6Euclid6VectorV4lerpyA2C_SdtF" }, { - "abstract" : [ - { - "text" : "Returns a new mesh created by subtracting the volume of the", - "type" : "text" - }, + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Decodable-Implementations", + "taskGroups" : [ { - "text" : " ", - "type" : "text" - }, + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(from:)" + ], + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" + }, + { + "abstract" : [ { - "text" : "mesh parameter from the receiver.", + "text" : "Computes the dot-product of this quaternion and another.", "type" : "text" } ], @@ -22613,7 +23784,7 @@ }, { "kind" : "identifier", - "text" : "subtracting" + "text" : "dot" }, { "kind" : "text", @@ -22621,25 +23792,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "isCancelled" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -22647,24 +23801,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/subtracting(_:iscancelled:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)", + "path" : "\/documentation\/euclid\/quaternion\/dot(_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)", "taskGroups" : [ ], - "title" : "subtracting(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV11subtracting_11isCancelledA2C_SbyXEtF" + "title" : "dot(_:)", + "usr" : "s:6Euclid10QuaternionV3dotySdACF" }, { "abstract" : [ { - "text" : "Creates a rotation from a SceneKit quaternion.", + "text" : "Creates a bounds from a collection of points.", "type" : "text" } ], @@ -22678,12 +23835,20 @@ }, { "kind" : "text", - "text" : "(" + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" + }, + { + "kind" : "text", + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@SCNQuaternion", - "text" : "SCNQuaternion" + "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAA6VectorV7ElementRtzlufc1TL_xmfp", + "text" : "T" }, { "kind" : "text", @@ -22692,18 +23857,18 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(_:)-68leo", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo", + "path" : "\/documentation\/euclid\/bounds\/init(_:)-27jri", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-27jri", "taskGroups" : [ ], "title" : "init(_:)", - "usr" : "s:6Euclid8RotationVyACSo10SCNVector4Vcfc" + "usr" : "s:6Euclid6BoundsVyACxcSlRzAA6VectorV7ElementRtzlufc" }, { "abstract" : [ { - "text" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", + "text" : "Returns a vector with its components multiplied by the specified value.", "type" : "text" } ], @@ -22713,216 +23878,147 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "roll" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "identifier", + "text" : "*" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "yaw" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "pitch" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(roll:yaw:pitch:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)", + "path" : "\/documentation\/euclid\/vector\/*(_:_:)-5mcy5", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5", "taskGroups" : [ ], - "title" : "init(roll:yaw:pitch:)", - "usr" : "s:6Euclid10QuaternionV4roll3yaw5pitchAcA5AngleV_A2Htcfc" + "title" : "*(_:_:)", + "usr" : "s:6Euclid6VectorV1moiyA2C_SdtFZ" }, { - "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" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "symmetricDifference" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "kind" : "identifier", + "text" : "..<" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "isCancelled" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "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", - "taskGroups" : [ - - ], - "title" : "symmetricDifference(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledA2C_SbyXEtF" - }, - { - "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" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" - }, - { - "abstract" : [ - { - "text" : "The angle in radians.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" + "text" : "Self" }, { "kind" : "text", - "text" : " " + "text" : ") -> " }, { - "kind" : "identifier", - "text" : "radians" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sn", + "text" : "Range" }, { "kind" : "text", - "text" : ": " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/radians", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians", + "path" : "\/documentation\/euclid\/angle\/'.._(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:_:)", "taskGroups" : [ ], - "title" : "radians", - "usr" : "s:6Euclid5AngleV7radiansSdvp" + "title" : "..<(_:_:)", + "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the mesh includes vertex normals that differ from the face normal.", + "text" : "The quaternion X component.", "type" : "text" } ], @@ -22940,7 +24036,7 @@ }, { "kind" : "identifier", - "text" : "hasVertexNormals" + "text" : "x" }, { "kind" : "text", @@ -22948,24 +24044,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/hasvertexnormals", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals", + "path" : "\/documentation\/euclid\/quaternion\/x", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/x", "taskGroups" : [ ], - "title" : "hasVertexNormals", - "usr" : "s:6Euclid4MeshV16hasVertexNormalsSbvp" + "title" : "x", + "usr" : "s:6Euclid10QuaternionV1xSdvp" }, { "abstract" : [ { - "text" : "Creates a copy of the vertex with the specified texture coordinate.", + "text" : "Return a copy of the mesh with cube-mapped texture coordinates.", "type" : "text" } ], @@ -22983,36 +24082,27 @@ }, { "kind" : "identifier", - "text" : "withTexcoord" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "cubeMapped" }, { "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\/withtexcoord(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withTexcoord(_:)", + "path" : "\/documentation\/euclid\/mesh\/cubemapped()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cubeMapped()", "taskGroups" : [ ], - "title" : "withTexcoord(_:)", - "usr" : "s:6Euclid6VertexV12withTexcoordyAcA6VectorVF" + "title" : "cubeMapped()", + "usr" : "s:6Euclid4MeshV10cubeMappedACyF" }, { "availableLanguages" : [ @@ -23037,7 +24127,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "..." }, { "kind" : "text", @@ -23053,75 +24143,58 @@ }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:s16PartialRangeFromV", + "text" : "PartialRangeFrom" }, { "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\/mesh\/wrapmode\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/!=(_:_:)", + "path" : "\/documentation\/euclid\/vector\/'...(_:)-14arr", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-14arr", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV8WrapModeO" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { - "abstract" : [ - { - "text" : "Creates a new mesh from an array of polygons.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "([" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, - { - "kind" : "text", - "text" : "])" - } - ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:)", + "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" : "init(_:)", - "usr" : "s:6Euclid4MeshVyACSayAA7PolygonVGcfc" + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -23131,7 +24204,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "transform" }, { "kind" : "text", @@ -23139,39 +24220,54 @@ }, { "kind" : "externalParam", - "text" : "polygons" + "text" : "by" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "])" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(polygons:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(polygons:)", + "path" : "\/documentation\/euclid\/bounds\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/transform(by:)", "taskGroups" : [ ], - "title" : "init(polygons:)", - "usr" : "s:6Euclid6BoundsV8polygonsACSayAA7PolygonVG_tcfc" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "A vertex represents a corner of a ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon", + "isActive" : true, + "type" : "reference" + }, + { + "text" : " or a point on the surface of a ", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", + "isActive" : true, + "type" : "reference" + }, + { + "text" : ".", "type" : "text" } ], @@ -23181,15 +24277,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -23197,56 +24285,81 @@ }, { "kind" : "identifier", - "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" : "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" : "keyword", - "text" : "inout" + "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" : ", " + "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" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withColor(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withNormal(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withPosition(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withTexcoord(_:)" + ], + "title" : "Instance Methods" }, { - "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\/bounds\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)", - "taskGroups" : [ - - ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "Vertex", + "usr" : "s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -23264,7 +24377,7 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "scale" }, { "kind" : "text", @@ -23285,28 +24398,23 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translated(by:)", + "path" : "\/documentation\/euclid\/linesegment\/scale(by:)-2v2ef", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/scale(by:)-2v2ef", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid11LineSegmentV10translated2byAcA6VectorV_tF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether the lines intersect.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -23324,41 +24432,44 @@ }, { "kind" : "identifier", - "text" : "intersects" + "text" : "transform" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" + "kind" : "externalParam", + "text" : "by" }, { "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", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/intersects(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)", + "path" : "\/documentation\/euclid\/plane\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)", "taskGroups" : [ ], - "title" : "intersects(_:)", - "usr" : "s:6Euclid4LineV10intersectsySbACF" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "The angle in degrees.", + "text" : "Efficiently strokes a collection of line segments (useful for drawing wireframes).", "type" : "text" } ], @@ -23368,7 +24479,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -23376,7 +24495,32 @@ }, { "kind" : "identifier", - "text" : "degrees" + "text" : "stroke" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" + }, + { + "kind" : "text", + "text" : ">(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV6stroke_5width6detail8materialACx_SdSis11AnyHashableVSgtSlRzAA11LineSegmentV7ElementRtzlFZ1TL_xmfp", + "text" : "T" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", @@ -23386,59 +24530,62 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" - } - ], - "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" - }, - { - "abstract" : [ - { - "text" : "Texture is tube-wrapped.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "case" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "tube" + "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" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/tube", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube", + "path" : "\/documentation\/euclid\/mesh\/stroke(_:width:detail:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stroke(_:width:detail:material:)", "taskGroups" : [ ], - "title" : "Mesh.WrapMode.tube", - "usr" : "s:6Euclid4MeshV8WrapModeO4tubeyA2EmF" + "title" : "stroke(_:width:detail:material:)", + "usr" : "s:6Euclid4MeshV6stroke_5width6detail8materialACx_SdSis11AnyHashableVSgtSlRzAA11LineSegmentV7ElementRtzlFZ" }, { - "abstract" : [ - { - "text" : "Creates a mesh by extruding one path along another path.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -23461,7 +24608,11 @@ }, { "kind" : "identifier", - "text" : "extrude" + "text" : ">" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -23469,84 +24620,129 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "along" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "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" : [ + { + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "twist" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "kind" : "identifier", + "text" : "*" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "align" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV9Alignmenta", - "text" : "Alignment" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "faces" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "text" : "Self" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/transformable\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)", + "taskGroups" : [ + + ], + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ" + }, + { + "abstract" : [ + { + "text" : "The bounds of the object.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "identifier", + "text" : "bounds" }, { "kind" : "text", @@ -23554,50 +24750,70 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounded\/bounds", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds", + "taskGroups" : [ + + ], + "title" : "bounds", + "usr" : "s:6Euclid7BoundedP6boundsAA6BoundsVvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : "?, " - }, + "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" : "externalParam", - "text" : "isCancelled" + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "kind" : "identifier", + "text" : "lengthSquared" }, { "kind" : "text", - "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\/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\/quaternion\/lengthsquared", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared", "taskGroups" : [ ], - "title" : "extrude(_:along:twist:align:faces:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV7extrude_5along5twist5align5faces8material11isCancelledAcA4PathV_AlA5AngleVAL9AlignmentOAC5FacesOs11AnyHashableVSgSbyXEtFZ" + "title" : "lengthSquared", + "usr" : "s:6Euclid10QuaternionV13lengthSquaredSdvp" }, { "abstract" : [ { - "text" : "Efficiently strokes a collection of line segments (useful for drawing wireframes).", + "text" : "Efficiently fills an array of paths, avoiding unecessary work if there are duplicates.", "type" : "text" } ], @@ -23623,32 +24839,24 @@ }, { "kind" : "identifier", - "text" : "stroke" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" + "text" : "fill" }, { "kind" : "text", - "text" : ">(" + "text" : "([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV6stroke_5width6detail8materialACx_SdSis11AnyHashableVSgtSlRzAA11LineSegmentV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ", " + "text" : "], " }, { "kind" : "externalParam", - "text" : "width" + "text" : "faces" }, { "kind" : "text", @@ -23656,8 +24864,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", @@ -23665,7 +24873,7 @@ }, { "kind" : "externalParam", - "text" : "detail" + "text" : "material" }, { "kind" : "text", @@ -23673,16 +24881,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { "kind" : "externalParam", - "text" : "material" + "text" : "isCancelled" }, { "kind" : "text", @@ -23690,12 +24898,12 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -23705,18 +24913,18 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "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\/mesh\/fill(_:faces:material:iscancelled:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/fill(_:faces:material:isCancelled:)", "taskGroups" : [ ], - "title" : "stroke(_:width:detail:material:)", - "usr" : "s:6Euclid4MeshV6stroke_5width6detail8materialACx_SdSis11AnyHashableVSgtSlRzAA11LineSegmentV7ElementRtzlFZ" + "title" : "fill(_:faces:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV4fill_5faces8material11isCancelledACSayAA4PathVG_AC5FacesOs11AnyHashableVSgSbyXEtFZ" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -23734,7 +24942,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "translate" }, { "kind" : "text", @@ -23750,93 +24958,46 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "text" : ")" } ], "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\/pathpoint\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translate(by:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid7PolygonV6scaled2byACSd_tF" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { - "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:6Euclid6VectorV", - "text" : "Vector" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/scaled(by:)-350oy", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy", + "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" : "scaled(by:)", - "usr" : "s:6Euclid6VectorV6scaled2byACSd_tF" + "title" : "Equatable Implementations" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates if the bounds intersects the specified plane.", + "text" : "An infinite line in 3D space.", "type" : "text" } ], @@ -23846,7 +25007,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -23854,41 +25015,55 @@ }, { "kind" : "identifier", - "text" : "intersects" - }, + "text" : "Line" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/line", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line", + "taskGroups" : [ { - "kind" : "text", - "text" : "(" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)" + ], + "title" : "Creating Lines" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "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" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "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" } ], - "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" + "title" : "Line", + "usr" : "s:6Euclid4LineV" }, { "abstract" : [ { - "text" : "The identity quaternion (i.e. no rotation).", + "text" : "The identity rotation (i.e. no rotation).", "type" : "text" } ], @@ -23922,42 +25097,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/identity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity", + "path" : "\/documentation\/euclid\/rotation\/identity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity", "taskGroups" : [ ], "title" : "identity", - "usr" : "s:6Euclid10QuaternionV8identityACvpZ" + "usr" : "s:6Euclid8RotationV8identityACvpZ" }, { - "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" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "center" + "kind" : "externalParam", + "text" : "cgPath" }, { "kind" : "text", @@ -23965,50 +25134,16 @@ }, { "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 a set of edges where the polygon intersects a plane.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "edges" + "preciseIdentifier" : "c:@T@CGPathRef", + "text" : "CGPath" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "intersecting" + "text" : "detail" }, { "kind" : "text", @@ -24016,49 +25151,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sh", - "text" : "Set" + "kind" : "externalParam", + "text" : "color" }, { "kind" : "text", - "text" : "<" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ">" + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/edges(intersecting:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)", - "taskGroups" : [ + "path" : "\/documentation\/euclid\/path\/init(cgpath:detail:color:)", + "platforms" : [ ], - "title" : "edges(intersecting:)", - "usr" : "s:6Euclid7PolygonV5edges12intersectingShyAA11LineSegmentVGAA5PlaneV_tF" + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)", + "taskGroups" : [ + + ], + "title" : "init(cgPath:detail:color:)", + "usr" : "s:6Euclid4PathV02cgB06detail5colorACSo9CGPathRefa_SiAA5ColorVSgtcfc" }, { - "abstract" : [ - { - "text" : "The identity rotation (i.e. no rotation).", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -24073,7 +25204,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -24081,32 +25212,56 @@ }, { "kind" : "identifier", - "text" : "identity" + "text" : "..." }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s19PartialRangeThroughV", + "text" : "PartialRangeThrough" + }, + { + "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\/rotation\/identity", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity", + "path" : "\/documentation\/euclid\/vector\/'...(_:)-8feph", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:)-8feph", "taskGroups" : [ ], - "title" : "identity", - "usr" : "s:6Euclid8RotationV8identityACvpZ" + "title" : "...(_:)", + "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a rotation transform.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -24114,14 +25269,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -24132,50 +25279,51 @@ }, { "kind" : "identifier", - "text" : "rotation" + "text" : "translate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/rotation(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)", + "path" : "\/documentation\/euclid\/transform\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)", "taskGroups" : [ ], - "title" : "rotation(_:)", - "usr" : "s:6Euclid9TransformV8rotationyAcA8RotationVFZ" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { + "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" @@ -24186,56 +25334,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:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/'...(_:)-49h2f", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/...(_:)-49h2f", + "path" : "\/documentation\/euclid\/pathpoint\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transformed(by:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid9PathPointV11transformed2byAcA9TransformV_tF" }, { "abstract" : [ { - "text" : "Creates a line segment with a start and end point.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -24245,32 +25386,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?(" - }, - { - "kind" : "externalParam", - "text" : "start" + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "rotate" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "end" + "text" : "by" }, { "kind" : "text", @@ -24278,23 +25410,26 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "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\/linesegment\/init(start:end:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(start:end:)", + "path" : "\/documentation\/euclid\/transformable\/rotate(by:)-5a3iz", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz", "taskGroups" : [ ], - "title" : "init(start:end:)", - "usr" : "s:6Euclid11LineSegmentV5start3endACSgAA6VectorV_AHtcfc" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF" }, { "availableLanguages" : [ @@ -24319,7 +25454,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "<=" }, { "kind" : "text", @@ -24353,18 +25488,18 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)", + "path" : "\/documentation\/euclid\/angle\/_=(_:_:)-375to", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-375to", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "<=(_:_:)", + "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "The position of the vertex.", + "text" : "Return a copy of the mesh with cylindrically-mapped texture coordinates.", "type" : "text" } ], @@ -24374,7 +25509,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -24382,32 +25517,32 @@ }, { "kind" : "identifier", - "text" : "position" + "text" : "cylinderMapped" }, { "kind" : "text", - "text" : ": " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/position", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position", + "path" : "\/documentation\/euclid\/mesh\/cylindermapped()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()", "taskGroups" : [ ], - "title" : "position", - "usr" : "s:6Euclid6VertexV8positionAA6VectorVvp" + "title" : "cylinderMapped()", + "usr" : "s:6Euclid4MeshV14cylinderMappedACyF" }, { "abstract" : [ { - "text" : "Encodes this path into the given encoder.", + "text" : "Encodes this polygon into the given encoder.", "type" : "text" } ], @@ -24455,18 +25590,36 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)", + "path" : "\/documentation\/euclid\/polygon\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/encode(to:)", "taskGroups" : [ ], "title" : "encode(to:)", - "usr" : "s:6Euclid4PathV6encode2toys7Encoder_p_tKF" + "usr" : "s:6Euclid7PolygonV6encode2toys7Encoder_p_tKF" + }, + { + "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" : "Merges the polygons from two meshes.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -24474,6 +25627,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -24484,7 +25645,11 @@ }, { "kind" : "identifier", - "text" : "merge" + "text" : "*" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -24492,8 +25657,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -24501,24 +25674,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/merge(_:)-swift.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/merge(_:)-swift.method", + "path" : "\/documentation\/euclid\/linesegment\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)", "taskGroups" : [ ], - "title" : "merge(_:)", - "usr" : "s:6Euclid4MeshV5mergeyA2CF" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Encodes this plane into the given encoder.", + "text" : "Creates a quaternion from raw components.", "type" : "text" } ], @@ -24528,124 +25700,146 @@ "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\/plane\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)", + "path" : "\/documentation\/euclid\/quaternion\/init(_:)-fyhx", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid5PlaneV6encode2toys7Encoder_p_tKF" + "title" : "init(_:)", + "usr" : "s:6Euclid10QuaternionVyACSgSaySdGcfc" }, { + "abstract" : [ + { + "text" : "Creates a mesh from a SceneKit geometry, with optional material mapping.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "keyword", - "text" : "func" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:objc(cs)SCNGeometry", + "text" : "SCNGeometry" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "!=" + "kind" : "externalParam", + "text" : "materialLookup" }, { "kind" : "text", - "text" : " " + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV19SCNMaterialProvidera", + "text" : "SCNMaterialProvider" + }, + { + "kind" : "text", + "text" : "?)" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/init(_:materiallookup:)-7p5hd", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-7p5hd", + "taskGroups" : [ + + ], + "title" : "init(_:materialLookup:)", + "usr" : "s:6Euclid4MeshV_14materialLookupACSgSo11SCNGeometryC_s11AnyHashableVSgSo11SCNMaterialCcSgtcfc" + }, + { + "abstract" : [ + { + "text" : "Creates a new quaternion by decoding from the given decoder.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)", + "path" : "\/documentation\/euclid\/quaternion\/init(from:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "init(from:)", + "usr" : "s:6Euclid10QuaternionV4fromACs7Decoder_p_tKcfc" }, { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -24660,7 +25854,7 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "hash" }, { "kind" : "text", @@ -24668,40 +25862,44 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "into" }, { "kind" : "text", "text" : ": " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:s6HasherV", + "text" : "Hasher" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transformed(by:)", + "path" : "\/documentation\/euclid\/rotation\/hash(into:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/hash(into:)", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "hash(into:)", + "usr" : "s:6Euclid8RotationV4hash4intoys6HasherVz_tF" }, { "abstract" : [ { - "text" : "An orientation or rotation in 3D space.", + "text" : "A color in RGBA format.", "type" : "text" } ], @@ -24719,117 +25917,83 @@ }, { "kind" : "identifier", - "text" : "Quaternion" + "text" : "Color" } ], "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion", + "path" : "\/documentation\/euclid\/color", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color", "taskGroups" : [ { "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(_:)" + "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 Quaternions" + "title" : "Creating a Color" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity" + "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 Quaternions" + "title" : "Default Colors" }, { "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" + "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" : "Quaternion Properties" + "title" : "Color properties" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/dot(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/withAlpha(_:)" ], - "title" : "Computing Quaternions" + "title" : "Mutating Colors" }, { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components" ], - "title" : "Interpolating Quaternions" + "title" : "Instance Properties" }, { "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" - }, - { - "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\/init(_:)-99vxt" - ], - "title" : "Initializers" - }, - { - "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" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)" ], - "title" : "Instance Properties" + "title" : "Instance Methods" }, { "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" + "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" : "Quaternion", - "usr" : "s:6Euclid10QuaternionV" + "title" : "Color", + "usr" : "s:6Euclid5ColorV" }, { "abstract" : [ { - "text" : "Creates a quaternion from an axis and angle.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -24839,32 +26003,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?(" - }, - { - "kind" : "externalParam", - "text" : "axis" + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "scale" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "angle" + "text" : "by" }, { "kind" : "text", @@ -24872,28 +26027,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "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\/quaternion\/init(axis:angle:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(axis:angle:)", + "path" : "\/documentation\/euclid\/bounds\/scale(by:)-mpk5", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-mpk5", "taskGroups" : [ ], - "title" : "init(axis:angle:)", - "usr" : "s:6Euclid10QuaternionV4axis5angleACSgAA6VectorV_AA5AngleVtcfc" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Creates a bounds from two SceneKit vectors.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -24903,104 +26058,72 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "((min" + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@SCNVector3", - "text" : "SCNVector3" + "kind" : "identifier", + "text" : "*=" }, { "kind" : "text", - "text" : ", max" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@S@SCNVector3", - "text" : "SCNVector3" + "kind" : "keyword", + "text" : "inout" }, { "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" : " " + }, { - "text" : "Creates a new identity rotation.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "typeIdentifier", + "text" : "Self" + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "()" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()", + "path" : "\/documentation\/euclid\/pathpoint\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*=(_:_:)", "taskGroups" : [ ], - "title" : "init()", - "usr" : "s:6Euclid8RotationVACycfc" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "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" - }, - { - "text" : " ", - "type" : "text" - }, - { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", - "isActive" : true, - "type" : "reference" - }, - { - "text" : ".", + "text" : "The axis of rotation.", "type" : "text" } ], @@ -25018,7 +26141,7 @@ }, { "kind" : "identifier", - "text" : "center" + "text" : "axis" }, { "kind" : "text", @@ -25032,18 +26155,26 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/center", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center", + "path" : "\/documentation\/euclid\/rotation\/axis", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis", "taskGroups" : [ ], - "title" : "center", - "usr" : "s:6Euclid7PolygonV6centerAA6VectorVvp" + "title" : "axis", + "usr" : "s:6Euclid8RotationV4axisAA6VectorVvp" }, { "abstract" : [ { - "text" : "Creates a new mesh by decoding from the given decoder.", + "text" : "Creates a Path from a ", + "type" : "text" + }, + { + "code" : "CGPath", + "type" : "codeVoice" + }, + { + "text" : ". The returned path may contain nested subpaths.", "type" : "text" } ], @@ -25059,9 +26190,18 @@ "kind" : "text", "text" : "(" }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@T@CGPathRef", + "text" : "CGPath" + }, + { + "kind" : "text", + "text" : ", " + }, { "kind" : "externalParam", - "text" : "from" + "text" : "detail" }, { "kind" : "text", @@ -25069,71 +26209,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "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" : "Creates a path from an array of path points.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "kind" : "externalParam", + "text" : "color" }, { "kind" : "text", - "text" : "([" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "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", + "path" : "\/documentation\/euclid\/path\/init(_:detail:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:detail:color:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid4PathVyACSayAA0B5PointVGcfc" + "title" : "init(_:detail:color:)", + "usr" : "s:6Euclid4PathV_6detail5colorACSo9CGPathRefa_SiAA5ColorVSgtcfc" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "A Boolean value that indicates whether the polygon is convex.", "type" : "text" } ], @@ -25143,7 +26257,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -25151,15 +26265,7 @@ }, { "kind" : "identifier", - "text" : "translate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "isConvex" }, { "kind" : "text", @@ -25167,59 +26273,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "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\/transformable\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/translate(by:)", + "path" : "\/documentation\/euclid\/polygon\/isconvex", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/isConvex", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF" + "title" : "isConvex", + "usr" : "s:6Euclid7PolygonV8isConvexSbvp" }, { "abstract" : [ { - "text" : "Generate front faces.", + "text" : "Returns the difference between two angles.", "type" : "text" } ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "case" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "front" - } - ], - "kind" : "org.swift.docc.kind.enumerationCase", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/front", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/front", - "taskGroups" : [ - - ], - "title" : "Mesh.Faces.front", - "usr" : "s:6Euclid4MeshV5FacesO5frontyA2EmF" - }, - { "availableLanguages" : [ "swift" ], @@ -25242,7 +26316,7 @@ }, { "kind" : "identifier", - "text" : "<=" + "text" : "-" }, { "kind" : "text", @@ -25254,7 +26328,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -25262,7 +26337,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -25270,24 +26346,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "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\/angle\/-(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:_:)", "taskGroups" : [ ], - "title" : "<=(_:_:)", - "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "-(_:_:)", + "usr" : "s:6Euclid5AngleV1soiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Creates a new vertex from a position with default values for normal, texcoord and color.", "type" : "text" } ], @@ -25297,76 +26373,62 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "transformed" + "text" : "init" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, { "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", + "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\/vertex\/init(_:)-5517j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:)-5517j", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformableP11transformed2byxAA9TransformV_tF" + "title" : "init(_:)", + "usr" : "s:6Euclid6VertexVyAcA6VectorVcfc" }, { + "abstract" : [ + { + "text" : "Scale 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" : "scale" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "yellow" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -25374,24 +26436,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "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\/color\/yellow", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/yellow", + "path" : "\/documentation\/euclid\/mesh\/scale(by:)-1h2f7", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-1h2f7", "taskGroups" : [ ], - "title" : "yellow", - "usr" : "s:6Euclid5ColorV6yellowACvpZ" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "The quaternion Y component.", + "text" : "An array of vertices suitable for constructing a set of edge polygons for the path.", "type" : "text" } ], @@ -25409,32 +26475,36 @@ }, { "kind" : "identifier", - "text" : "y" + "text" : "edgeVertices" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" + }, + { + "kind" : "text", + "text" : "]" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/y", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/y", + "path" : "\/documentation\/euclid\/path\/edgevertices", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/edgeVertices", "taskGroups" : [ ], - "title" : "y", - "usr" : "s:6Euclid10QuaternionV1ySdvp" + "title" : "edgeVertices", + "usr" : "s:6Euclid4PathV12edgeVerticesSayAA6VertexVGvp" }, { "abstract" : [ { - "text" : "Returns a new bounds inset by the specified amount.", + "text" : "Computes the trigonometric cosine of an angle.", "type" : "text" } ], @@ -25452,24 +26522,16 @@ }, { "kind" : "identifier", - "text" : "inset" + "text" : "cos" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -25477,24 +26539,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.function", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/inset(by:)-4gk62", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62", + "path" : "\/documentation\/euclid\/cos(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)", "taskGroups" : [ ], - "title" : "inset(by:)", - "usr" : "s:6Euclid6BoundsV5inset2byACSd_tF" + "title" : "cos(_:)", + "usr" : "s:6Euclid3cosySdAA5AngleVF" }, { "abstract" : [ { - "text" : "Closes the path by joining last point to first.", + "text" : "Returns a Boolean value that indicates whether two line segements intersect.", "type" : "text" } ], @@ -25512,41 +26574,49 @@ }, { "kind" : "identifier", - "text" : "closed" + "text" : "intersects" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "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\/linesegment\/intersects(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)", "taskGroups" : [ ], - "title" : "closed()", - "usr" : "s:6Euclid4PathV6closedACyF" + "title" : "intersects(_:)", + "usr" : "s:6Euclid11LineSegmentV10intersectsySbACF" }, { "abstract" : [ { - "text" : "Creates a bounds from a collection of ", + "text" : "A Boolean value that indicates whether the mesh is watertight, meaning that every edge is", "type" : "text" }, { - "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", - "isActive" : true, - "type" : "reference" + "text" : " ", + "type" : "text" }, { - "text" : " objects.", + "text" : "attached to two polygons (or a multiple of two).", "type" : "text" } ], @@ -25556,62 +26626,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "<" + "text" : " " }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "identifier", + "text" : "isWatertight" }, { "kind" : "text", - "text" : ">(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAA7Bounded7ElementRpzlufc1TL_xmfp", - "text" : "T" - }, - { - "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\/bounds\/init(_:)-1icmf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-1icmf", + "path" : "\/documentation\/euclid\/mesh\/iswatertight", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/isWatertight", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6BoundsVyACxcSlRzAA7Bounded7ElementRpzlufc" - }, - { - "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" + "title" : "isWatertight", + "usr" : "s:6Euclid4MeshV12isWatertightSbvp" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Creates a rotation transform.", "type" : "text" } ], @@ -25637,11 +26685,7 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "rotation" }, { "kind" : "text", @@ -25649,40 +26693,33 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid9TransformV", "text" : "Transform" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" } ], - "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\/transform\/rotation(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation(_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "rotation(_:)", + "usr" : "s:6Euclid9TransformV8rotationyAcA8RotationVFZ" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -25692,7 +26729,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -25700,96 +26737,138 @@ }, { "kind" : "identifier", - "text" : "smoothNormals" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/smoothnormals(_:)", + "path" : "\/documentation\/euclid\/quaternion", "platforms" : [ ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothNormals(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion", "taskGroups" : [ - - ], - "title" : "smoothNormals(_:)", - "usr" : "s:6Euclid4MeshV13smoothNormalsyAcA5AngleVF" - }, - { - "abstract" : [ { - "text" : "Computes the trigonometric cosine of an angle.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "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" : "keyword", - "text" : "func" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/zero", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/identity" + ], + "title" : "Default Quaternions" }, { - "kind" : "text", - "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" : "identifier", - "text" : "cos" + "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" : "s:6Euclid5AngleV", - "text" : "Angle" + "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", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-99vxt" + ], + "title" : "Initializers" + }, + { + "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.function", + "title" : "Quaternion", + "usr" : "s:6Euclid10QuaternionV" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/cos(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/cos(_:)", + "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" : "cos(_:)", - "usr" : "s:6Euclid3cosySdAA5AngleVF" + "title" : "Encodable Implementations" }, { "abstract" : [ { - "text" : "The total length of the path.", + "text" : "Creates an angle representing the trigonometric arc cosine of the value you provide.", "type" : "text" } ], @@ -25799,7 +26878,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -25807,41 +26894,48 @@ }, { "kind" : "identifier", - "text" : "length" + "text" : "acos" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", "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\/path\/length", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/length", + "path" : "\/documentation\/euclid\/angle\/acos(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/acos(_:)", "taskGroups" : [ ], - "title" : "length", - "usr" : "s:6Euclid4PathV6lengthSdvp" + "title" : "acos(_:)", + "usr" : "s:6Euclid5AngleV4acosyACSdFZ" }, { + "abstract" : [ + { + "text" : "Performs a spherical interpolation between two quaternions.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -25852,11 +26946,7 @@ }, { "kind" : "identifier", - "text" : "..." - }, - { - "kind" : "text", - "text" : " " + "text" : "slerp" }, { "kind" : "text", @@ -25864,7 +26954,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -25872,7 +26963,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -25880,36 +26972,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SN", - "text" : "ClosedRange" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "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\/quaternion\/slerp(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/slerp(_:_:)", "taskGroups" : [ ], - "title" : "...(_:_:)", - "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "slerp(_:_:)", + "usr" : "s:6Euclid10QuaternionV5slerpyA2C_SdtF" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Tessellates the polygon into triangles.", "type" : "text" } ], @@ -25917,14 +27000,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -25935,52 +27010,36 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : "triangulate" }, { "kind" : "text", - "text" : ", " + "text" : "() -> [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "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\/triangulate()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/triangulate()", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "triangulate()", + "usr" : "s:6Euclid7PolygonV11triangulateSayACGyF" }, { "abstract" : [ { - "text" : "An array containing the raw components of the quaternion.", + "text" : "Returns a translated copy of the value.", "type" : "text" } ], @@ -25990,7 +27049,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -25998,36 +27057,49 @@ }, { "kind" : "identifier", - "text" : "components" + "text" : "translated" }, { "kind" : "text", - "text" : ": [" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], - "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\/vertex\/translated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)", "taskGroups" : [ ], - "title" : "components", - "usr" : "s:6Euclid10QuaternionV10componentsSaySdGvp" + "title" : "translated(by:)", + "usr" : "s:6Euclid6VertexV10translated2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -26045,7 +27117,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "translate" }, { "kind" : "text", @@ -26061,8 +27133,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -26071,18 +27143,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/rotate(by:)-577nk", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-577nk", + "path" : "\/documentation\/euclid\/polygon\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translate(by:)", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Returns a vector with its components divided by the specified value.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -26108,7 +27180,7 @@ }, { "kind" : "identifier", - "text" : "\/" + "text" : "*=" }, { "kind" : "text", @@ -26119,43 +27191,45 @@ "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "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\/plane\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*=(_:_:)", "taskGroups" : [ ], - "title" : "\/(_:_:)", - "usr" : "s:6Euclid6VectorV1doiyA2C_SdtFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "The magnitude of the vector.", + "text" : "Returns a Boolean value that indicates if the bounds intersects the specified plane.", "type" : "text" } ], @@ -26165,7 +27239,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -26173,32 +27247,41 @@ }, { "kind" : "identifier", - "text" : "length" + "text" : "intersects" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "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\/bounds\/intersects(_:)-7br6p", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersects(_:)-7br6p", "taskGroups" : [ ], - "title" : "length", - "usr" : "s:6Euclid6VectorV6lengthSdvp" + "title" : "intersects(_:)", + "usr" : "s:6Euclid6BoundsV10intersectsySbAA5PlaneVF" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the bounds is empty (has zero volume).", + "text" : "The angle is zero (or close to zero).", "type" : "text" } ], @@ -26216,7 +27299,7 @@ }, { "kind" : "identifier", - "text" : "isEmpty" + "text" : "isZero" }, { "kind" : "text", @@ -26230,18 +27313,18 @@ ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/isempty", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/isEmpty", + "path" : "\/documentation\/euclid\/angle\/iszero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero", "taskGroups" : [ ], - "title" : "isEmpty", - "usr" : "s:6Euclid6BoundsV7isEmptySbvp" + "title" : "isZero", + "usr" : "s:6Euclid5AngleV6isZeroSbvp" }, { "abstract" : [ { - "text" : "The bounds of the object.", + "text" : "Creates a bounds from two points.", "type" : "text" } ], @@ -26251,43 +27334,136 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "bounds" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounded\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded\/bounds", + "path" : "\/documentation\/euclid\/bounds\/init(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:_:)", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid7BoundedP6boundsAA6BoundsVvp" + "title" : "init(_:_:)", + "usr" : "s:6Euclid6BoundsVyAcA6VectorV_AEtcfc" }, { "abstract" : [ { - "text" : "Returns the angle divided by a numeric denominator.", + "text" : "Creates a color from an ", + "type" : "text" + }, + { + "code" : "NSColor", + "type" : "codeVoice" + }, + { + "text" : ".", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:objc(cs)NSColor", + "text" : "NSColor" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/color\/init(_:)-7d8un", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-7d8un", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid5ColorVyACSo7NSColorCcfc" + }, + { + "abstract" : [ + { + "text" : "An array containing the X, Y, and Z components of the vector.", "type" : "text" } ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "components" + }, + { + "kind" : "text", + "text" : ": [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "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" + }, + { "availableLanguages" : [ "swift" ], @@ -26310,7 +27486,7 @@ }, { "kind" : "identifier", - "text" : "\/" + "text" : "<=" }, { "kind" : "text", @@ -26322,8 +27498,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" }, { "kind" : "text", @@ -26331,8 +27506,7 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Self" }, { "kind" : "text", @@ -26340,24 +27514,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "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\/vector\/_=(_:_:)-j6oq", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-j6oq", "taskGroups" : [ ], - "title" : "\/(_:_:)", - "usr" : "s:6Euclid5AngleV1doiyA2C_SdtFZ" + "title" : "<=(_:_:)", + "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Replace\/remove path point colors.", "type" : "text" } ], @@ -26375,62 +27549,41 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "withColor" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" }, { "kind" : "text", - "text" : ": " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], "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\/path\/withcolor(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6BoundsV" - }, - { - "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" : "withColor(_:)", + "usr" : "s:6Euclid4PathV9withColoryAcA0D0VSgF" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Return binary STL data for the mesh.", "type" : "text" } ], @@ -26448,7 +27601,7 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "stlData" }, { "kind" : "text", @@ -26456,7 +27609,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "colorLookup" }, { "kind" : "text", @@ -26464,33 +27617,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4MeshV16STLColorProvidera", + "text" : "STLColorProvider" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:10Foundation4DataV", + "text" : "Data" } ], "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\/mesh\/stldata(colorlookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlData(colorLookup:)", "taskGroups" : [ ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid9PathPointV11transformed2byAcA9TransformV_tF" + "title" : "stlData(colorLookup:)", + "usr" : "s:6Euclid4MeshV7stlData11colorLookup10Foundation0D0VAA5ColorVSgs11AnyHashableVSgcSg_tF" }, { "abstract" : [ { - "text" : "Creates a quaternion representing a rotation around the Y axis.", + "text" : "Creates a vector from the values you provide.", "type" : "text" } ], @@ -26500,57 +27653,54 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "keyword", - "text" : "func" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "yaw" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "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(_:_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:_:_:)", "taskGroups" : [ ], - "title" : "yaw(_:)", - "usr" : "s:6Euclid10QuaternionV3yawyAcA5AngleVFZ" + "title" : "init(_:_:_:)", + "usr" : "s:6Euclid6VectorVyACSd_S2dtcfc" }, { "abstract" : [ { - "text" : "Encodes this color into the given encoder.", + "text" : "Creates a composite path from an array of subpaths.", "type" : "text" } ], @@ -26560,15 +27710,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "encode" + "text" : "init" }, { "kind" : "text", @@ -26576,50 +27718,48 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "subpaths" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "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\/color\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)", + "path" : "\/documentation\/euclid\/path\/init(subpaths:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(subpaths:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid5ColorV6encode2toys7Encoder_p_tKF" + "title" : "init(subpaths:)", + "usr" : "s:6Euclid4PathV8subpathsACSayACG_tcfc" }, { - "abstract" : [ - { - "text" : "The axis of rotation.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", @@ -26627,7 +27767,7 @@ }, { "kind" : "identifier", - "text" : "axis" + "text" : "black" }, { "kind" : "text", @@ -26635,24 +27775,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\/quaternion\/axis", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/axis", + "path" : "\/documentation\/euclid\/color\/black", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/black", "taskGroups" : [ ], - "title" : "axis", - "usr" : "s:6Euclid10QuaternionV4axisAA6VectorVvp" + "title" : "black", + "usr" : "s:6Euclid5ColorV5blackACvpZ" }, { "abstract" : [ { - "text" : "Returns a quaternion with its components multiplied by the specified value.", + "text" : "Returns the area of the polygon.", "type" : "text" } ], @@ -26662,27 +27802,50 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "var" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "area" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "*" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/area", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area", + "taskGroups" : [ + + ], + "title" : "area", + "usr" : "s:6Euclid7PolygonV4areaSdvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : " " + "text" : "Creates a color from a luminance value and optional alpha component.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", @@ -26690,8 +27853,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -26704,28 +27867,41 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/*(_:_:)-2drke", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke", + "path" : "\/documentation\/euclid\/color\/init(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:_:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid10QuaternionV1moiyA2C_SdtFZ" + "title" : "init(_:_:)", + "usr" : "s:6Euclid5ColorVyACSd_Sdtcfc" + }, + { + "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" : "Returns a vector with its components multiplied by the specified value.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -26733,14 +27909,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -26751,24 +27919,19 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "translate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -26777,28 +27940,23 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/*(_:_:)-48gl1", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-48gl1", + "path" : "\/documentation\/euclid\/mesh\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/translate(by:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid6VectorV1moiyACSd_ACtFZ" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "An array containing the X, Y, and Z components of the vector.", + "text" : "Deprecated.", "type" : "text" } ], @@ -26808,15 +27966,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "components" + "kind" : "externalParam", + "text" : "bounds" }, { "kind" : "text", @@ -26824,28 +27982,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", - "text" : "]" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/components", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/components", + "path" : "\/documentation\/euclid\/bounds\/init(bounds:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(bounds:)", "taskGroups" : [ ], - "title" : "components", - "usr" : "s:6Euclid6VectorV10componentsSaySdGvp" + "title" : "init(bounds:)", + "usr" : "s:6Euclid6BoundsV6boundsACSayACG_tcfc" }, { "abstract" : [ { - "text" : "Return a copy of the polygon with transformed vertex colors", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -26853,6 +28014,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -26863,50 +28032,56 @@ }, { "kind" : "identifier", - "text" : "mapVertexColors" + "text" : "*=" }, { "kind" : "text", - "text" : "((" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : "Self" }, { "kind" : "text", - "text" : "?) -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "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\/polygon\/mapvertexcolors(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapVertexColors(_:)", + "path" : "\/documentation\/euclid\/bounds\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/*=(_:_:)", "taskGroups" : [ ], - "title" : "mapVertexColors(_:)", - "usr" : "s:6Euclid7PolygonV15mapVertexColorsyAcA5ColorVSgAFXEF" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Linearly interpolate between two colors.", + "text" : "Multiplies the components of the quaternion by the specified value.", "type" : "text" } ], @@ -26916,24 +28091,44 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "lerp" + "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:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -26946,28 +28141,26 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/lerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/lerp(_:_:)", + "path" : "\/documentation\/euclid\/quaternion\/*=(_:_:)-lsgo", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo", "taskGroups" : [ ], - "title" : "lerp(_:_:)", - "usr" : "s:6Euclid5ColorV4lerpyA2C_SdtF" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2meoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "Computes the cross-product of this vector and another.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -26985,16 +28178,24 @@ }, { "kind" : "identifier", - "text" : "cross" + "text" : "rotated" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -27002,19 +28203,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/cross(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)", + "path" : "\/documentation\/euclid\/linesegment\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)", "taskGroups" : [ ], - "title" : "cross(_:)", - "usr" : "s:6Euclid6VectorV5crossyA2CF" + "title" : "rotated(by:)", + "usr" : "s:6Euclid11LineSegmentV7rotated2byAcA8RotationV_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" }, { "availableLanguages" : [ @@ -27039,7 +28258,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "<=" }, { "kind" : "text", @@ -27073,69 +28292,104 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/!=(_:_:)", + "path" : "\/documentation\/euclid\/plane\/_=(_:_:)-1oq2t", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5ColorV" + "title" : "<=(_:_:)", + "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { - "abstract" : [ + "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" : [ { - "text" : "Creates a new vertex by decoding from the given decoder.", - "type" : "text" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)" + ], + "title" : "Operators" } ], + "title" : "Equatable Implementations" + }, + { "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" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "text" : "Self" }, { "kind" : "text", - "text" : ") " + "text" : ", " }, { - "kind" : "keyword", - "text" : "throws" + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)", + "path" : "\/documentation\/euclid\/angle\/-=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid6VertexV4fromACs7Decoder_p_tKcfc" + "title" : "-=(_:_:)", + "usr" : "s:s18AdditiveArithmeticPsE2seoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates a polygon from an array of vertices.", "type" : "text" } ], @@ -27145,23 +28399,24 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?([" }, { - "kind" : "identifier", - "text" : "scaled" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "kind" : "text", - "text" : "(" + "text" : "], " }, { "kind" : "externalParam", - "text" : "by" + "text" : "material" }, { "kind" : "text", @@ -27169,37 +28424,38 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : "?)" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/scaled(by:)-84xdd", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd", + "path" : "\/documentation\/euclid\/polygon\/init(_:material:)-9mns5", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-9mns5", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid4PathV6scaled2byACSd_tF" + "title" : "init(_:material:)", + "usr" : "s:6Euclid7PolygonV_8materialACSgSayAA6VertexVG_s11AnyHashableVSgtcfc" }, { + "abstract" : [ + { + "text" : "Returns a normalized vector.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -27207,44 +28463,75 @@ }, { "kind" : "identifier", - "text" : "errorUserInfo" + "text" : "normalized" }, { "kind" : "text", - "text" : ": [" + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/normalized()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()", + "taskGroups" : [ + + ], + "title" : "normalized()", + "usr" : "s:6Euclid6VectorV10normalizedACyF" + }, + { + "abstract" : [ + { + "text" : "The rotation or orientation component of the transform.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : " : " + "text" : " " }, { - "kind" : "keyword", - "text" : "Any" + "kind" : "identifier", + "text" : "rotation" }, { "kind" : "text", - "text" : "]" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/ioerror\/erroruserinfo", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorUserInfo", + "path" : "\/documentation\/euclid\/transform\/rotation", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotation", "taskGroups" : [ ], - "title" : "errorUserInfo", - "usr" : "s:6Euclid4MeshV7IOErrorV13errorUserInfoSDySSypGvp" + "title" : "rotation", + "usr" : "s:6Euclid9TransformV8rotationAA8RotationVvp" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -27262,7 +28549,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "rotate" }, { "kind" : "text", @@ -27278,8 +28565,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -27288,18 +28575,39 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/scale(by:)-vnel", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scale(by:)-vnel", + "path" : "\/documentation\/euclid\/vector\/rotate(by:)-hj8h", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotate(by:)-hj8h", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6VectorV" + }, + { + "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" }, { "abstract" : [ { - "text" : "Efficiently gets the difference between multiple meshes.", + "text" : "Cropped and flattened version of path suitable for lathing around the Y axis.", "type" : "text" } ], @@ -27309,15 +28617,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -27325,32 +28625,7 @@ }, { "kind" : "identifier", - "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" + "text" : "latheProfile" }, { "kind" : "text", @@ -27358,33 +28633,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" - }, - { - "kind" : "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.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/difference(_:iscancelled:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/difference(_:isCancelled:)", + "path" : "\/documentation\/euclid\/path\/latheprofile", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/latheProfile", "taskGroups" : [ ], - "title" : "difference(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV10difference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "latheProfile", + "usr" : "s:6Euclid4PathV12latheProfileACvp" }, { "abstract" : [ { - "text" : "Returns the nearest point on the specified plane to the vector (representing a position in space).", + "text" : "Returns the distance between a point and the plane.", "type" : "text" } ], @@ -27402,7 +28668,7 @@ }, { "kind" : "identifier", - "text" : "project" + "text" : "distance" }, { "kind" : "text", @@ -27410,7 +28676,7 @@ }, { "kind" : "externalParam", - "text" : "onto" + "text" : "from" }, { "kind" : "text", @@ -27418,8 +28684,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -27427,31 +28693,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/project(onto:)-817o2", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-817o2", + "path" : "\/documentation\/euclid\/plane\/distance(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/distance(from:)", "taskGroups" : [ ], - "title" : "project(onto:)", - "usr" : "s:6Euclid6VectorV7project4ontoAcA5PlaneV_tF" + "title" : "distance(from:)", + "usr" : "s:6Euclid5PlaneV8distance4fromSdAA6VectorV_tF" }, { - "abstract" : [ - { - "text" : "Scale the value in place.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -27462,47 +28730,49 @@ }, { "kind" : "identifier", - "text" : "scale" + "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\/pathpoint\/scale(by:)-7pxnt", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt", + "path" : "\/documentation\/euclid\/mesh\/faces\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV5FacesO" }, { - "abstract" : [ - { - "text" : "Creates a closed circular path.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -27525,83 +28795,52 @@ }, { "kind" : "identifier", - "text" : "circle" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "radius" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : ">" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "segments" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "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\/circle(radius:segments:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/circle(radius:segments:color:)", + "path" : "\/documentation\/euclid\/plane\/_(_:_:)-3fd8h", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-3fd8h", "taskGroups" : [ ], - "title" : "circle(radius:segments:color:)", - "usr" : "s:6Euclid4PathV6circle6radius8segments5colorACSd_SiAA5ColorVSgtFZ" + "title" : ">(_:_:)", + "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a rotation divided by the specified value.", "type" : "text" } ], @@ -27611,27 +28850,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "scale" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "\/" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ", " }, { "kind" : "typeIdentifier", @@ -27640,23 +28892,28 @@ }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/transform\/scale(by:)-55r4j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale(by:)-55r4j", + "path" : "\/documentation\/euclid\/rotation\/\/(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "\/(_:_:)", + "usr" : "s:6Euclid8RotationV1doiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -27674,7 +28931,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "scale" }, { "kind" : "text", @@ -27690,8 +28947,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -27700,129 +28957,93 @@ ], "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\/vector\/scale(by:)-8g7t0", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { - "abstract" : [ - { - "text" : "A struct that represents an orientation or rotation in 3D space.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "Rotation" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", - "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" + "kind" : "keyword", + "text" : "var" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity" - ], - "title" : "Default Quaternions" + "kind" : "text", + "text" : " " }, { - "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" + "kind" : "identifier", + "text" : "errorDomain" }, { - "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" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)" - ], - "title" : "Interpolating Rotations" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SS", + "text" : "String" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/ioerror\/errordomain", + "platforms" : [ { - "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" + "beta" : false, + "deprecated" : false, + "introducedAt" : "8.0", + "name" : "iOS", + "unavailable" : false }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)" - ], - "title" : "Operators" + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.10", + "name" : "macOS", + "unavailable" : false }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-8izj" - ], - "title" : "Initializers" + "beta" : false, + "deprecated" : false, + "introducedAt" : "9.0", + "name" : "tvOS", + "unavailable" : false }, { - "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" + "beta" : false, + "deprecated" : false, + "introducedAt" : "2.0", + "name" : "watchOS", + "unavailable" : false } ], - "title" : "Rotation", - "usr" : "s:6Euclid8RotationV" + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorDomain", + "taskGroups" : [ + + ], + "title" : "errorDomain", + "usr" : "s:10Foundation13CustomNSErrorPAAE11errorDomainSSvpZ::SYNTHESIZED::s:6Euclid4MeshV7IOErrorV" }, { "abstract" : [ { - "text" : "Creates a bounds from a collection of bounds.", + "text" : "A plane located at the origin, aligned with the X and Y axes.", "type" : "text" } ], @@ -27832,44 +29053,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "<" + "text" : " " }, { - "kind" : "genericParameter", - "text" : "T" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ">(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAC7ElementRtzlufc1TL_xmfp", - "text" : "T" + "kind" : "identifier", + "text" : "xy" }, { "kind" : "text", - "text" : ")" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/init(_:)-r54o", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o", + "path" : "\/documentation\/euclid\/plane\/xy", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xy", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6BoundsVyACxcSlRzAC7ElementRtzlufc" + "title" : "xy", + "usr" : "s:6Euclid5PlaneV2xyACvpZ" }, { "abstract" : [ { - "text" : "Encodes the vector into the given encoder.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -27887,7 +29112,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "scale" }, { "kind" : "text", @@ -27895,7 +29120,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -27903,32 +29128,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "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\/polygon\/scale(by:)-3en6y", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-3en6y", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid6VectorV6encode2toys7Encoder_p_tKF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "A path made up of a sequence of straight line segments between points.", + "text" : "Creates a new vertex by decoding from the given decoder.", "type" : "text" } ], @@ -27938,133 +29159,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "init" }, { "kind" : "text", - "text" : " " - }, - { - "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" - }, - { - "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" - }, - { - "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" - }, - { - "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" - }, - { - "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" + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)" - ], - "title" : "Initializers" + "kind" : "externalParam", + "text" : "from" }, { - "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" : "text", + "text" : ": " }, { - "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\/mapColors(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)" - ], - "title" : "Instance Methods" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment" - ], - "title" : "Enumerations" + "kind" : "text", + "text" : ") " }, { - "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" : "keyword", + "text" : "throws" } ], - "title" : "Path", - "usr" : "s:6Euclid4PathV" + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(from:)", + "taskGroups" : [ + + ], + "title" : "init(from:)", + "usr" : "s:6Euclid6VertexV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "The bounding box containing the polygon.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -28074,7 +29210,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -28082,7 +29218,15 @@ }, { "kind" : "identifier", - "text" : "bounds" + "text" : "scaled" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -28090,24 +29234,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:Sd", + "text" : "Double" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "path" : "\/documentation\/euclid\/pathpoint\/scaled(by:)-7e3o7", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-7e3o7", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid7PolygonV6boundsAA6BoundsVvp" + "title" : "scaled(by:)", + "usr" : "s:6Euclid9PathPointV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Creates a copy of the vertex with the specified color.", + "text" : "Creates an angle from a radians value.", "type" : "text" } ], @@ -28115,6 +29268,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -28125,7 +29286,7 @@ }, { "kind" : "identifier", - "text" : "withColor" + "text" : "radians" }, { "kind" : "text", @@ -28133,33 +29294,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/withcolor(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withColor(_:)", + "path" : "\/documentation\/euclid\/angle\/radians(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians(_:)", "taskGroups" : [ ], - "title" : "withColor(_:)", - "usr" : "s:6Euclid6VertexV9withColoryAcA0D0VSgF" + "title" : "radians(_:)", + "usr" : "s:6Euclid5AngleV7radiansyACSdFZ" }, { "abstract" : [ { - "text" : "Returns the reverse (aka transpose) rotation.", + "text" : "The quaternion W component.", "type" : "text" } ], @@ -28169,15 +29330,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -28185,42 +29338,46 @@ }, { "kind" : "identifier", - "text" : "-" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "w" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/-(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/-(_:)", + "path" : "\/documentation\/euclid\/quaternion\/w", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/w", "taskGroups" : [ ], - "title" : "-(_:)", - "usr" : "s:6Euclid8RotationV1sopyA2CFZ" + "title" : "w", + "usr" : "s:6Euclid10QuaternionV1wSdvp" }, { + "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.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -28243,7 +29400,7 @@ }, { "kind" : "identifier", - "text" : "<=" + "text" : "<" }, { "kind" : "text", @@ -28255,7 +29412,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -28263,7 +29421,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -28277,26 +29436,18 @@ ], "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\/vector\/_(_:_:)-9obdn", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-9obdn", "taskGroups" : [ ], - "title" : "<=(_:_:)", - "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "<(_:_:)", + "usr" : "s:6Euclid6VectorV1loiySbAC_ACtFZ" }, { "abstract" : [ { - "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.", + "text" : "Encodes this rotation into the given encoder.", "type" : "text" } ], @@ -28306,7 +29457,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -28314,7 +29465,15 @@ }, { "kind" : "identifier", - "text" : "color" + "text" : "encode" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", @@ -28322,24 +29481,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "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\/vertex\/color", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/color", + "path" : "\/documentation\/euclid\/rotation\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/encode(to:)", "taskGroups" : [ ], - "title" : "color", - "usr" : "s:6Euclid6VertexV5colorAA5ColorVvp" + "title" : "encode(to:)", + "usr" : "s:6Euclid8RotationV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Creates a single polygon from a path.", "type" : "text" } ], @@ -28349,57 +29516,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "?(" }, { - "kind" : "identifier", - "text" : "translated" + "kind" : "externalParam", + "text" : "shape" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "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\/vertex\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/translated(by:)", + "path" : "\/documentation\/euclid\/polygon\/init(shape:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(shape:material:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid6VertexV10translated2byAcA6VectorV_tF" + "title" : "init(shape:material:)", + "usr" : "s:6Euclid7PolygonV5shape8materialACSgAA4PathV_s11AnyHashableVSgtcfc" }, { "abstract" : [ { - "text" : "The angle of rotation around the Y-axis.", + "text" : "Quaternion has no effect.", "type" : "text" } ], @@ -28417,7 +29588,7 @@ }, { "kind" : "identifier", - "text" : "yaw" + "text" : "isIdentity" }, { "kind" : "text", @@ -28425,24 +29596,35 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "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\/quaternion\/isidentity", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/isIdentity", "taskGroups" : [ ], - "title" : "yaw", - "usr" : "s:6Euclid8RotationV3yawAA5AngleVvp" + "title" : "isIdentity", + "usr" : "s:6Euclid10QuaternionV10isIdentitySbvp" }, { "abstract" : [ { - "text" : "Creates a new vertex.", + "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" } ], @@ -28452,63 +29634,70 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "<" }, { "kind" : "text", - "text" : "?, " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : "?, " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "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\/vertex\/init(_:_:_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)", + "path" : "\/documentation\/euclid\/plane\/_(_:_:)-6eeco", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco", "taskGroups" : [ ], - "title" : "init(_:_:_:_:)", - "usr" : "s:6Euclid6VertexVyAcA6VectorV_AESgAfA5ColorVSgtcfc" + "title" : "<(_:_:)", + "usr" : "s:6Euclid5PlaneV1loiySbAC_ACtFZ" }, { "abstract" : [ { - "text" : "Return a copy of the polygon with transformed vertex colors", + "text" : "Return a copy of the polygon without texture coordinates", "type" : "text" } ], @@ -28526,50 +29715,32 @@ }, { "kind" : "identifier", - "text" : "mapColors" - }, - { - "kind" : "text", - "text" : "((" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - }, - { - "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : "withoutTexcoords" }, { "kind" : "text", - "text" : "?) -> " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/mapcolors(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/mapColors(_:)", + "path" : "\/documentation\/euclid\/polygon\/withouttexcoords()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()", "taskGroups" : [ ], - "title" : "mapColors(_:)", - "usr" : "s:6Euclid4PathV9mapColorsyAcA5ColorVSgAGXEF" + "title" : "withoutTexcoords()", + "usr" : "s:6Euclid7PolygonV16withoutTexcoordsACyF" }, { "abstract" : [ { - "text" : "Multiplies the angle by a numeric value.", + "text" : "Encodes this mesh into the given encoder.", "type" : "text" } ], @@ -28577,14 +29748,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -28595,57 +29758,48 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "encode" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : ") " }, { - "kind" : "text", - "text" : ")" + "kind" : "keyword", + "text" : "throws" } ], - "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\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid5AngleV2meoiyyACz_SdtFZ" + "title" : "encode(to:)", + "usr" : "s:6Euclid4MeshV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Linearly interpolates between two vertices.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -28663,20 +29817,19 @@ }, { "kind" : "identifier", - "text" : "lerp" + "text" : "scale" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -28685,28 +29838,23 @@ }, { "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\/polygon\/scale(by:)-2pycj", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj", "taskGroups" : [ ], - "title" : "lerp(_:_:)", - "usr" : "s:6Euclid6VertexV4lerpyA2C_SdtF" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "All vector components are one (or close to one) in length.", + "text" : "The size or scale component of the transform.", "type" : "text" } ], @@ -28724,7 +29872,7 @@ }, { "kind" : "identifier", - "text" : "isOne" + "text" : "scale" }, { "kind" : "text", @@ -28732,21 +29880,45 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/isone", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne", + "path" : "\/documentation\/euclid\/transform\/scale", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/scale", "taskGroups" : [ ], - "title" : "isOne", - "usr" : "s:6Euclid6VectorV5isOneSbvp" + "title" : "scale", + "usr" : "s:6Euclid9TransformV5scaleAA6VectorVvp" + }, + { + "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" : [ + { + "text" : "Creates an array of glyph contours from a string and font you provide.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -28769,11 +29941,7 @@ }, { "kind" : "identifier", - "text" : ">" - }, - { - "kind" : "text", - "text" : " " + "text" : "text" }, { "kind" : "text", @@ -28781,104 +29949,88 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:SS", + "text" : "String" }, { "kind" : "text", "text" : ", " }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "font" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/_(_:_:)-filj", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_(_:_:)-filj", - "taskGroups" : [ - - ], - "title" : ">(_:_:)", - "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" - }, - { - "abstract" : [ - { - "text" : "Returns the reverse quaternion rotation.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" + "preciseIdentifier" : "c:@T@CTFontRef", + "text" : "CTFont" }, { "kind" : "text", - "text" : " " + "text" : "?, " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "width" }, { "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", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ") -> " + "text" : ") -> [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + }, + { + "kind" : "text", + "text" : "]" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/-(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)", + "path" : "\/documentation\/euclid\/path\/text(_:font:width:detail:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:font:width:detail:)", "taskGroups" : [ ], - "title" : "-(_:)", - "usr" : "s:6Euclid10QuaternionV1sopyA2CFZ" + "title" : "text(_:font:width:detail:)", + "usr" : "s:6Euclid4PathV4text_4font5width6detailSayACGSS_So9CTFontRefaSgSdSgSitFZ" }, { "abstract" : [ { - "text" : "Input\/output error.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -28888,7 +30040,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "func" }, { "kind" : "text", @@ -28896,35 +30048,44 @@ }, { "kind" : "identifier", - "text" : "IOError" - } - ], - "kind" : "org.swift.docc.kind.structure", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/ioerror", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError", - "taskGroups" : [ + "text" : "translate" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorUserInfo" - ], - "title" : "Instance Properties" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/CustomNSError-Implementations", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/Error-Implementations" - ], - "title" : "Default Implementations" + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ")" } ], - "title" : "Mesh.IOError", - "usr" : "s:6Euclid4MeshV7IOErrorV" + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)", + "taskGroups" : [ + + ], + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Generate back faces.", + "text" : "Returns the reverse quaternion rotation.", "type" : "text" } ], @@ -28934,7 +30095,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -28942,33 +30111,52 @@ }, { "kind" : "identifier", - "text" : "back" + "text" : "-" + }, + { + "kind" : "text", + "text" : " " + }, + { + "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.enumerationCase", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/back", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/back", + "path" : "\/documentation\/euclid\/quaternion\/-(_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:)", "taskGroups" : [ ], - "title" : "Mesh.Faces.back", - "usr" : "s:6Euclid4MeshV5FacesO4backyA2EmF" + "title" : "-(_:)", + "usr" : "s:6Euclid10QuaternionV1sopyA2CFZ" }, { - "abstract" : [ - { - "text" : "The polygons that make up the mesh.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -28976,36 +30164,61 @@ }, { "kind" : "identifier", - "text" : "polygons" + "text" : "xor" }, { "kind" : "text", - "text" : ": [" + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/polygons", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons", + "path" : "\/documentation\/euclid\/mesh\/xor(_:iscancelled:)-swift.method", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/xor(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : "polygons", - "usr" : "s:6Euclid4MeshV8polygonsSayAA7PolygonVGvp" + "title" : "xor(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV3xor_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Creates a plane from a point and surface normal.", + "text" : "Use default alignment heuristic for the given path.", "type" : "text" } ], @@ -29015,68 +30228,40 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?(" - }, - { - "kind" : "externalParam", - "text" : "normal" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "pointOnPlane" + "text" : "case" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : " " }, { - "kind" : "text", - "text" : ")" + "kind" : "identifier", + "text" : "`default`" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/init(normal:pointonplane:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(normal:pointOnPlane:)", + "path" : "\/documentation\/euclid\/path\/alignment\/default", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default", "taskGroups" : [ ], - "title" : "init(normal:pointOnPlane:)", - "usr" : "s:6Euclid5PlaneV6normal07pointOnB0ACSgAA6VectorV_AHtcfc" + "title" : "Path.Alignment.default", + "usr" : "s:6Euclid4PathV9AlignmentO7defaultyA2EmF" }, { - "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" @@ -29087,24 +30272,27 @@ }, { "kind" : "identifier", - "text" : "translated" + "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", @@ -29112,24 +30300,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/translated(by:)", + "path" : "\/documentation\/euclid\/polygon\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid6BoundsV10translated2byAcA6VectorV_tF" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Reduces the bounds to contain just the intersection of itself and the specified bounds.", + "text" : "Loads a mesh from a file using any format supported by SceneKit, with optional material mapping.", "type" : "text" } ], @@ -29139,70 +30327,49 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "formIntersection" + "kind" : "externalParam", + "text" : "url" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:10Foundation3URLV", + "text" : "URL" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/formintersection(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)", - "taskGroups" : [ - - ], - "title" : "formIntersection(_:)", - "usr" : "s:6Euclid6BoundsV16formIntersectionyyACF" - }, - { - "abstract" : [ - { - "text" : "Returns a rotated copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : ", " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "ignoringTransforms" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "rotated" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "materialLookup" }, { "kind" : "text", @@ -29210,28 +30377,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4MeshV19SCNMaterialProvidera", + "text" : "SCNMaterialProvider" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "kind" : "keyword", + "text" : "throws" } ], - "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\/mesh\/init(url:ignoringtransforms:materiallookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid9TransformV7rotated2byAcA8RotationV_tF" + "title" : "init(url:ignoringTransforms:materialLookup:)", + "usr" : "s:6Euclid4MeshV3url18ignoringTransforms14materialLookupAC10Foundation3URLV_Sbs11AnyHashableVSgSo11SCNMaterialCcSgtKcfc" }, { "availableLanguages" : [ @@ -29256,7 +30422,7 @@ }, { "kind" : "identifier", - "text" : "-=" + "text" : "+=" }, { "kind" : "text", @@ -29293,18 +30459,61 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/-=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/-=(_:_:)", + "path" : "\/documentation\/euclid\/angle\/+=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)", "taskGroups" : [ ], - "title" : "-=(_:_:)", - "usr" : "s:s18AdditiveArithmeticPsE2seoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "+=(_:_:)", + "usr" : "s:s18AdditiveArithmeticPsE2peoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "Creates a rounded rectangle path.", + "text" : "Closes the path by joining last point to first.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "closed" + }, + { + "kind" : "text", + "text" : "() -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/closed()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/closed()", + "taskGroups" : [ + + ], + "title" : "closed()", + "usr" : "s:6Euclid4PathV6closedACyF" + }, + { + "abstract" : [ + { + "text" : "Returns the sum of two quaternion rotations.", "type" : "text" } ], @@ -29330,49 +30539,75 @@ }, { "kind" : "identifier", - "text" : "roundedRectangle" + "text" : "+" }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "width" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", "text" : ", " }, { - "kind" : "externalParam", - "text" : "height" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/+(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+(_:_:)", + "taskGroups" : [ + + ], + "title" : "+(_:_:)", + "usr" : "s:6Euclid10QuaternionV1poiyA2C_ACtFZ" + }, + { + "abstract" : [ + { + "text" : "Creates a new angle by decoding from the given decoder.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "radius" + "text" : "from" }, { "kind" : "text", @@ -29380,33 +30615,58 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" }, { "kind" : "text", - "text" : ", " + "text" : ") " }, { - "kind" : "externalParam", - "text" : "detail" + "kind" : "keyword", + "text" : "throws" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)", + "taskGroups" : [ + + ], + "title" : "init(from:)", + "usr" : "s:6Euclid5AngleV4fromACs7Decoder_p_tKcfc" + }, + { + "abstract" : [ + { + "text" : "Encodes this bounds into the given encoder.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "kind" : "identifier", + "text" : "encode" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "color" + "text" : "to" }, { "kind" : "text", @@ -29414,41 +30674,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "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:)", + "path" : "\/documentation\/euclid\/bounds\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/encode(to:)", "taskGroups" : [ ], - "title" : "roundedRectangle(width:height:radius:detail:color:)", - "usr" : "s:6Euclid4PathV16roundedRectangle5width6height6radius6detail5colorACSd_S2dSiAA5ColorVSgtFZ" + "title" : "encode(to:)", + "usr" : "s:6Euclid6BoundsV6encode2toys7Encoder_p_tKF" }, { "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" : "Creates a copy of the vertex with the specified texture coordinate.", "type" : "text" } ], @@ -29456,14 +30707,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -29474,11 +30717,7 @@ }, { "kind" : "identifier", - "text" : "<" - }, - { - "kind" : "text", - "text" : " " + "text" : "withTexcoord" }, { "kind" : "text", @@ -29486,17 +30725,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -29504,19 +30734,19 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/_(_:_:)-2si4j", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j", + "path" : "\/documentation\/euclid\/vertex\/withtexcoord(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withTexcoord(_:)", "taskGroups" : [ ], - "title" : "<(_:_:)", - "usr" : "s:6Euclid11LineSegmentV1loiySbAC_ACtFZ" + "title" : "withTexcoord(_:)", + "usr" : "s:6Euclid6VertexV12withTexcoordyAcA6VectorVF" }, { "availableLanguages" : [ @@ -29541,27 +30771,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", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -29569,101 +30813,67 @@ }, { "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\/polygon\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/!=(_:_:)", + "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:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "xor(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV3xor_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "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" : "static" }, { - "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" - } - ], - "title" : "Transformable Implementations" - }, - { - "abstract" : [ - { - "text" : "Creates a Euclid ", - "type" : "text" - }, - { - "code" : "Quaternion", - "type" : "codeVoice" + "kind" : "text", + "text" : " " }, - { - "text" : " from a SceneKit quaternion.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "let" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@SCNQuaternion", - "text" : "SCNQuaternion" + "kind" : "identifier", + "text" : "white" }, { "kind" : "text", - "text" : ")" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(_:)-b3v3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-b3v3", + "path" : "\/documentation\/euclid\/color\/white", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyACSo10SCNVector4Vcfc" + "title" : "white", + "usr" : "s:6Euclid5ColorV5whiteACvpZ" }, { "availableLanguages" : [ @@ -29688,7 +30898,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "..<" }, { "kind" : "text", @@ -29704,36 +30914,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\/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" + "title" : "..<(_:)", + "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" }, { "abstract" : [ { - "text" : "A plane located at the origin, aligned with the Y and Z axes.", + "text" : "Creates a bounds from a collection of bounds.", "type" : "text" } ], @@ -29743,48 +30957,52 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "<" }, { - "kind" : "keyword", - "text" : "let" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : " " + "text" : ">(" }, { - "kind" : "identifier", - "text" : "yz" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsVyACxcSlRzAC7ElementRtzlufc1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/yz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz", + "path" : "\/documentation\/euclid\/bounds\/init(_:)-r54o", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(_:)-r54o", "taskGroups" : [ ], - "title" : "yz", - "usr" : "s:6Euclid5PlaneV2yzACvpZ" + "title" : "init(_:)", + "usr" : "s:6Euclid6BoundsVyACxcSlRzAC7ElementRtzlufc" }, { "abstract" : [ { - "text" : "Creates an array of glyph contours from an attributed string.", + "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" } ], @@ -29810,79 +31028,54 @@ }, { "kind" : "identifier", - "text" : "text" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)NSAttributedString", - "text" : "NSAttributedString" + "text" : "<" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "width" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "detail" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" }, { "kind" : "text", - "text" : ") -> [" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/text(_:width:detail:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/text(_:width:detail:)", + "path" : "\/documentation\/euclid\/linesegment\/_(_:_:)-2si4j", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_(_:_:)-2si4j", "taskGroups" : [ ], - "title" : "text(_:width:detail:)", - "usr" : "s:6Euclid4PathV4text_5width6detailSayACGSo18NSAttributedStringC_SdSgSitFZ" + "title" : "<(_:_:)", + "usr" : "s:6Euclid11LineSegmentV1loiySbAC_ACtFZ" }, { "abstract" : [ { - "text" : "Texture coordinates for the vertex. Set this to zero if you are not using a texture map.", + "text" : "Reduces the bounds to contain just the intersection of itself and the specified bounds.", "type" : "text" } ], @@ -29892,7 +31085,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -29900,42 +31093,48 @@ }, { "kind" : "identifier", - "text" : "texcoord" + "text" : "formIntersection" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" + }, + { + "kind" : "text", + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/texcoord", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/texcoord", + "path" : "\/documentation\/euclid\/bounds\/formintersection(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formIntersection(_:)", "taskGroups" : [ ], - "title" : "texcoord", - "usr" : "s:6Euclid6VertexV8texcoordAA6VectorVvp" + "title" : "formIntersection(_:)", + "usr" : "s:6Euclid6BoundsV16formIntersectionyyACF" }, { - "abstract" : [ - { - "text" : "The color of the path point (optional).", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", @@ -29943,7 +31142,7 @@ }, { "kind" : "identifier", - "text" : "color" + "text" : "blue" }, { "kind" : "text", @@ -29953,26 +31152,22 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid5ColorV", "text" : "Color" - }, - { - "kind" : "text", - "text" : "?" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/color", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/color", + "path" : "\/documentation\/euclid\/color\/blue", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue", "taskGroups" : [ ], - "title" : "color", - "usr" : "s:6Euclid9PathPointV5colorAA5ColorVSgvp" + "title" : "blue", + "usr" : "s:6Euclid5ColorV4blueACvpZ" }, { "abstract" : [ { - "text" : "The identity transform (i.e. no transform).", + "text" : "Returns the product of an angle and numeric multiplier.", "type" : "text" } ], @@ -29990,7 +31185,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -29998,75 +31193,54 @@ }, { "kind" : "identifier", - "text" : "identity" + "text" : "*" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "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" : [ - { - "text" : "The position of the path point.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : "(" + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "position" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/position", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position", + "path" : "\/documentation\/euclid\/angle\/*(_:_:)-8l78z", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z", "taskGroups" : [ ], - "title" : "position", - "usr" : "s:6Euclid9PathPointV8positionAA6VectorVvp" + "title" : "*(_:_:)", + "usr" : "s:6Euclid5AngleV1moiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "The angle is zero (or close to zero).", + "text" : "Creates a path point from a vertex.", "type" : "text" } ], @@ -30076,35 +31250,31 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "isZero" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" }, { "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\/angle\/iszero", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/isZero", + "path" : "\/documentation\/euclid\/pathpoint\/init(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)", "taskGroups" : [ ], - "title" : "isZero", - "usr" : "s:6Euclid5AngleV6isZeroSbvp" + "title" : "init(_:)", + "usr" : "s:6Euclid9PathPointVyAcA6VertexVcfc" }, { "availableLanguages" : [ @@ -30129,7 +31299,7 @@ }, { "kind" : "identifier", - "text" : "..." + "text" : ">=" }, { "kind" : "text", @@ -30143,42 +31313,103 @@ "kind" : "typeIdentifier", "text" : "Self" }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, { "kind" : "text", "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeFromV", - "text" : "PartialRangeFrom" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/angle\/_=(_:_:)-9rm6o", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/_=(_:_:)-9rm6o", + "taskGroups" : [ + + ], + "title" : ">=(_:_:)", + "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + }, + { + "abstract" : [ + { + "text" : "Create a mesh from an STL string.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : "<" + "text" : "?(" + }, + { + "kind" : "externalParam", + "text" : "stlString" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:SS", + "text" : "String" }, { "kind" : "text", - "text" : ">" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/'...(_:)-7xdsm", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/...(_:)-7xdsm", + "path" : "\/documentation\/euclid\/mesh\/init(stlstring:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlString:)", "taskGroups" : [ ], - "title" : "...(_:)", - "usr" : "s:SLsE3zzzoPys16PartialRangeFromVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "init(stlString:)", + "usr" : "s:6Euclid4MeshV9stlStringACSgSS_tcfc" + }, + { + "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" : "Returns a transformed copy of the value.", + "text" : "Combines two rotations to get the cumulative rotation.", "type" : "text" } ], @@ -30216,7 +31447,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -30224,8 +31456,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -30233,23 +31465,42 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*(_:_:)", + "path" : "\/documentation\/euclid\/rotation\/*(_:_:)-55zcf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-55zcf", "taskGroups" : [ ], "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "usr" : "s:6Euclid8RotationV1moiyA2C_ACtFZ" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/ioerror\/error-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/Error-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/localizedDescription" + ], + "title" : "Instance Properties" + } + ], + "title" : "Error Implementations" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Creates a conical mesh.", "type" : "text" } ], @@ -30257,6 +31508,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -30267,7 +31526,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "cone" }, { "kind" : "text", @@ -30275,7 +31534,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "radius" }, { "kind" : "text", @@ -30283,59 +31542,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/scaled(by:)-8sjrv", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-8sjrv", - "taskGroups" : [ - - ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid7PolygonV6scaled2byAcA6VectorV_tF" - }, - { - "abstract" : [ - { - "text" : "Returns the intersection point between the specified line segment and this one.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "height" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "intersection" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "with" + "text" : "slices" }, { "kind" : "text", @@ -30343,55 +31576,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "stacks" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "?" - } - ], - "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", - "taskGroups" : [ - - ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid11LineSegmentV12intersection4withAA6VectorVSgAC_tF" - }, - { - "abstract" : [ + "text" : ", " + }, { - "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" : "externalParam", + "text" : "poleDetail" + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : " " + "text" : "?, " }, { - "kind" : "identifier", - "text" : "lengthSquared" + "kind" : "externalParam", + "text" : "addDetailAtBottomPole" }, { "kind" : "text", @@ -30399,86 +31627,105 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/lengthsquared", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/lengthSquared", - "taskGroups" : [ - - ], - "title" : "lengthSquared", - "usr" : "s:6Euclid10QuaternionV13lengthSquaredSdvp" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" }, { "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\/plane\/_=(_:_:)-1oq2t", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-1oq2t", + "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" : "<=(_:_:)", - "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV4cone6radius6height6slices6stacks10poleDetail03addI12AtBottomPole5faces8wrapMode8materialACSd_SdS3iSgSbAC5FacesOAC04WrapP0Os11AnyHashableVSgtFZ" + }, + { + "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" }, { + "abstract" : [ + { + "text" : "A plane located at the origin, aligned with the Y and Z axes.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -30493,7 +31740,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -30501,53 +31748,78 @@ }, { "kind" : "identifier", - "text" : "..<" - }, - { - "kind" : "text", - "text" : " " + "text" : "yz" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" + } + ], + "kind" : "org.swift.docc.kind.typeProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/plane\/yz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/yz", + "taskGroups" : [ + + ], + "title" : "yz", + "usr" : "s:6Euclid5PlaneV2yzACvpZ" + }, + { + "abstract" : [ + { + "text" : "A Boolean value that indicates whether the polygon includes texture coordinates.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ") -> " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeUpToV", - "text" : "PartialRangeUpTo" + "kind" : "identifier", + "text" : "hasTexcoords" }, { "kind" : "text", - "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.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/'.._(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)", + "path" : "\/documentation\/euclid\/polygon\/hastexcoords", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords", "taskGroups" : [ ], - "title" : "..<(_:)", - "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "hasTexcoords", + "usr" : "s:6Euclid7PolygonV12hasTexcoordsSbvp" }, { + "abstract" : [ + { + "text" : "Creates an angle representing the trigonometric arc tangent of the value you provide.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -30570,11 +31842,7 @@ }, { "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " + "text" : "atan" }, { "kind" : "text", @@ -30582,15 +31850,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -30598,24 +31859,50 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "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\/angle\/atan(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan(_:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV" + "title" : "atan(_:)", + "usr" : "s:6Euclid5AngleV4atanyACSdFZ" + }, + { + "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 angle of rotation around the Y-axis.", + "text" : "Angle representing a half-rotation.", "type" : "text" } ], @@ -30625,7 +31912,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", @@ -30633,7 +31928,7 @@ }, { "kind" : "identifier", - "text" : "yaw" + "text" : "pi" }, { "kind" : "text", @@ -30645,15 +31940,15 @@ "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/yaw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw", + "path" : "\/documentation\/euclid\/angle\/pi", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi", "taskGroups" : [ ], - "title" : "yaw", - "usr" : "s:6Euclid10QuaternionV3yawAA5AngleVvp" + "title" : "pi", + "usr" : "s:6Euclid5AngleV2piACvpZ" }, { "availableLanguages" : [ @@ -30661,25 +31956,17 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/comparable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Comparable-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\/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" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/!=(_:_:)" ], "title" : "Operators" } ], - "title" : "Comparable Implementations" + "title" : "Equatable Implementations" }, { "availableLanguages" : [ @@ -30687,29 +31974,39 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Encodable-Implementations", + "path" : "\/documentation\/euclid\/angle\/comparable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Comparable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/encode(to:)" + "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" : "Instance Methods" + "title" : "Operators" } ], - "title" : "Encodable Implementations" + "title" : "Comparable Implementations" }, { - "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" @@ -30720,49 +32017,74 @@ }, { "kind" : "identifier", - "text" : "rotated" + "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:s16PartialRangeUpToV", + "text" : "PartialRangeUpTo" }, { "kind" : "text", - "text" : ") -> " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ">" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)", + "path" : "\/documentation\/euclid\/vector\/'.._(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:)", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid6VertexV7rotated2byAcA8RotationV_tF" + "title" : "..<(_:)", + "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid6VectorV" + }, + { + "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" : "Encodes this quaternion into the given encoder.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -30780,7 +32102,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "translate" }, { "kind" : "text", @@ -30788,7 +32110,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "by" }, { "kind" : "text", @@ -30796,42 +32118,40 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : ")" } ], "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\/plane\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid10QuaternionV6encode2toys7Encoder_p_tKF" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { - "abstract" : [ - { - "text" : "A Boolean indicating whether the point is curved or sharp.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -30839,97 +32159,164 @@ }, { "kind" : "identifier", - "text" : "isCurved" + "text" : "..<" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "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.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/iscurved", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/isCurved", + "path" : "\/documentation\/euclid\/plane\/'.._(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)", "taskGroups" : [ ], - "title" : "isCurved", - "usr" : "s:6Euclid9PathPointV8isCurvedSbvp" + "title" : "..<(_:)", + "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { - "abstract" : [ - { - "text" : "Saves a mesh to a file, with optional material mapping.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "write" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "to" + "kind" : "identifier", + "text" : "..." }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:10Foundation3URLV", - "text" : "URL" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "materialLookup" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s19PartialRangeThroughV", + "text" : "PartialRangeThrough" }, { "kind" : "text", - "text" : ": ((" + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "text" : "Self" }, { "kind" : "text", - "text" : "?) -> " + "text" : ">" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/linesegment\/'...(_:)-732z3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:)-732z3", + "taskGroups" : [ + + ], + "title" : "...(_:)", + "usr" : "s:SLsE3zzzopys19PartialRangeThroughVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + }, + { + "abstract" : [ + { + "text" : "Encodes this line into the given encoder.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "encode" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s11AnyHashableV", - "text" : "AnyHashable" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : "?)?) " + "text" : ") " }, { "kind" : "keyword", @@ -30938,13 +32325,13 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/write(to:materiallookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/write(to:materialLookup:)", + "path" : "\/documentation\/euclid\/line\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)", "taskGroups" : [ ], - "title" : "write(to:materialLookup:)", - "usr" : "s:6Euclid4MeshV5write2to14materialLookupy10Foundation3URLV_s11AnyHashableVSgALcSgtKF" + "title" : "encode(to:)", + "usr" : "s:6Euclid4LineV6encode2toys7Encoder_p_tKF" }, { "availableLanguages" : [ @@ -30952,12 +32339,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\/color\/encodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/Encodable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/encode(to:)" ], "title" : "Instance Methods" } @@ -30967,7 +32354,7 @@ { "abstract" : [ { - "text" : "Creates a rotation from a quaternion.", + "text" : "The polygons that make up the mesh.", "type" : "text" } ], @@ -30977,36 +32364,70 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "polygons" + }, + { + "kind" : "text", + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ")" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/init(_:)-5w6mn", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn", + "path" : "\/documentation\/euclid\/mesh\/polygons", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/polygons", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid8RotationVyAcA10QuaternionVcfc" + "title" : "polygons", + "usr" : "s:6Euclid4MeshV8polygonsSayAA7PolygonVGvp" + }, + { + "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" : "Returns a transformed copy of the value.", + "text" : "Returns the nearest point on the specified line to the vector (representing a position in space).", "type" : "text" } ], @@ -31014,14 +32435,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -31032,28 +32445,24 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "project" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "text" : "Self" + "kind" : "externalParam", + "text" : "onto" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "kind" : "text", @@ -31061,23 +32470,24 @@ }, { "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\/pathpoint\/*(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/*(_:_:)", + "path" : "\/documentation\/euclid\/vector\/project(onto:)-rksk", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-rksk", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "project(onto:)", + "usr" : "s:6Euclid6VectorV7project4ontoAcA4LineV_tF" }, { "abstract" : [ { - "text" : "Smooth vertex normals for corners with angles greater (more obtuse) than the specified threshold.", + "text" : "Creates a rotation from a SceneKit quaternion.", "type" : "text" } ], @@ -31087,57 +32497,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "smoothingNormals" + "text" : "init" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "forAnglesGreaterThan" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "c:@T@SCNQuaternion", + "text" : "SCNQuaternion" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/smoothingnormals(foranglesgreaterthan:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/smoothingNormals(forAnglesGreaterThan:)", + "path" : "\/documentation\/euclid\/rotation\/init(_:)-68leo", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-68leo", "taskGroups" : [ ], - "title" : "smoothingNormals(forAnglesGreaterThan:)", - "usr" : "s:6Euclid4MeshV16smoothingNormals20forAnglesGreaterThanAcA5AngleV_tF" + "title" : "init(_:)", + "usr" : "s:6Euclid8RotationVyACSo10SCNVector4Vcfc" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -31155,7 +32544,7 @@ }, { "kind" : "identifier", - "text" : "translate" + "text" : "rotate" }, { "kind" : "text", @@ -31171,8 +32560,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -31181,133 +32570,99 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/translate(by:)", + "path" : "\/documentation\/euclid\/path\/rotate(by:)-3m9le", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-3m9le", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid4PathV" }, { + "abstract" : [ + { + "text" : "Creates a rotation from Euler angles applied in yaw\/pitch\/roll order.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "keyword", - "text" : "let" + "kind" : "externalParam", + "text" : "yaw" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "magenta" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - } - ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/color\/magenta", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/magenta", - "taskGroups" : [ - - ], - "title" : "magenta", - "usr" : "s:6Euclid5ColorV7magentaACvpZ" - }, - { - "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" : "Returns a Boolean value that indicates whether two line segements intersect.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" + "kind" : "externalParam", + "text" : "pitch" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "intersects" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "kind" : "externalParam", + "text" : "roll" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "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\/linesegment\/intersects(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersects(_:)", + "path" : "\/documentation\/euclid\/rotation\/init(yaw:pitch:roll:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(yaw:pitch:roll:)", "taskGroups" : [ ], - "title" : "intersects(_:)", - "usr" : "s:6Euclid11LineSegmentV10intersectsySbACF" + "title" : "init(yaw:pitch:roll:)", + "usr" : "s:6Euclid8RotationV3yaw5pitch4rollAcA5AngleV_A2Htcfc" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of path points.", + "text" : "Multiplies the rotation angle by the specified value.", "type" : "text" } ], @@ -31333,74 +32688,57 @@ }, { "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_s11AnyHashableVSgtSTRzAA9PathPointV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "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.operator", "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\/rotation\/*=(_:_:)-7u9hf", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-7u9hf", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA9PathPointV7ElementRtzlFZ" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid8RotationV2meoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "Returns a new vertex with the normal inverted.", + "text" : "Creates a new line by decoding from the given decoder.", "type" : "text" } ], @@ -31410,40 +32748,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "inverted" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "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\/vertex\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/inverted()", + "path" : "\/documentation\/euclid\/line\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(from:)", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid6VertexV8invertedACyF" + "title" : "init(from:)", + "usr" : "s:6Euclid4LineV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Creates a mesh by extruding a path along its face normal.", + "text" : "Creates an Angle from a degrees value.", "type" : "text" } ], @@ -31453,40 +32799,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "extrude" + "text" : "init" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : ", " - }, { "kind" : "externalParam", - "text" : "depth" + "text" : "degrees" }, { "kind" : "text", @@ -31499,28 +32820,49 @@ }, { "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" + }, + { + "abstract" : [ { - "kind" : "externalParam", - "text" : "twist" + "text" : "Returns a translated copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "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" : "sections" + "text" : "by" }, { "kind" : "text", @@ -31528,67 +32870,85 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "faces" - }, - { - "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "material" - }, + "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:)", + "taskGroups" : [ + + ], + "title" : "translated(by:)", + "usr" : "s:6Euclid6BoundsV10translated2byAcA6VectorV_tF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "Callback used to cancel a long-running operation.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "kind" : "keyword", + "text" : "typealias" }, { "kind" : "text", - "text" : "?) -> " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "kind" : "identifier", + "text" : "CancellationHandler" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.typeAlias", "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\/mesh\/cancellationhandler", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/CancellationHandler", "taskGroups" : [ ], - "title" : "extrude(_:depth:twist:sections:faces:material:)", - "usr" : "s:6Euclid4MeshV7extrude_5depth5twist8sections5faces8materialAcA4PathV_SdAA5AngleVSiAC5FacesOs11AnyHashableVSgtFZ" + "title" : "Mesh.CancellationHandler", + "usr" : "s:6Euclid4MeshV19CancellationHandlera" + }, + { + "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" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "An array of the subpaths that make up the path.", "type" : "text" } ], @@ -31598,7 +32958,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -31606,49 +32966,54 @@ }, { "kind" : "identifier", - "text" : "rotated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "subpaths" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/rotated(by:)", + "path" : "\/documentation\/euclid\/path\/subpaths", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid7PolygonV7rotated2byAcA8RotationV_tF" + "title" : "subpaths", + "usr" : "s:6Euclid4PathV8subpathsSayACGvp" + }, + { + "availableLanguages" : [ + "swift" + ], + "kind" : "org.swift.docc.kind.collectionGroup", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/hashable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Hashable-Implementations", + "taskGroups" : [ + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/hash(into:)" + ], + "title" : "Instance Methods" + } + ], + "title" : "Hashable Implementations" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "Creates a new vertex.", "type" : "text" } ], @@ -31658,27 +33023,29 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "translated" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : "?, " }, { "kind" : "typeIdentifier", @@ -31687,28 +33054,32 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : "?, " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "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\/polygon\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/translated(by:)", + "path" : "\/documentation\/euclid\/vertex\/init(_:_:_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/init(_:_:_:_:)", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid7PolygonV10translated2byAcA6VectorV_tF" + "title" : "init(_:_:_:_:)", + "usr" : "s:6Euclid6VertexVyAcA6VectorV_AESgAfA5ColorVSgtcfc" }, { "abstract" : [ { - "text" : "The Z component of the vector.", + "text" : "A 3D surface made of polygons.", "type" : "text" } ], @@ -31718,7 +33089,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "struct" }, { "kind" : "text", @@ -31726,117 +33097,252 @@ }, { "kind" : "identifier", - "text" : "z" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.structure", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/z", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/z", + "path" : "\/documentation\/euclid\/mesh", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", "taskGroups" : [ - - ], - "title" : "z", - "usr" : "s:6Euclid6VectorV1zSdvp" - }, - { - "abstract" : [ { - "text" : "Creates a closed square path.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/empty" + ], + "title" : "Default Meshes" + }, { - "kind" : "keyword", - "text" : "static" + "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\/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\/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" : "text", - "text" : " " + "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" : "keyword", - "text" : "func" + "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" : "text", - "text" : " " + "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" : "identifier", - "text" : "square" + "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" : "text", - "text" : "(" + "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" : "externalParam", - "text" : "size" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)" + ], + "title" : "Creating Meshes from SceneKit Models" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlString:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlData:materialLookup:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:materialLookup:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)" + ], + "title" : "Importing Meshes" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "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:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/write(to:materialLookup:)" + ], + "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" : "color" + "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:6Euclid5ColorV", - "text" : "Color" + "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()", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cubeMapped()" + ], + "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" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "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" + }, + { + "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" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError" + ], + "title" : "Structures" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-3drza", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-7p5hd", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-22brv", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-4k8gs", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)" + ], + "title" : "Initializers" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals" + ], + "title" : "Instance Properties" + }, + { + "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" + }, + { + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/RealityKitMaterialProvider", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/SCNMaterialProvider", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLMaterialProvider" + ], + "title" : "Type Aliases" + }, + { + "identifiers" : [ + "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" + }, + { + "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" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/square(size:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/square(size:color:)", - "taskGroups" : [ - - ], - "title" : "square(size:color:)", - "usr" : "s:6Euclid4PathV6square4size5colorACSd_AA5ColorVSgtFZ" + "title" : "Mesh", + "usr" : "s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "Creates a new color by decoding from the given decoder.", + "text" : "Creates a new identity rotation.", "type" : "text" } ], @@ -31850,44 +33356,23 @@ }, { "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "from" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "text" : "()" } ], "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()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init()", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid5ColorV4fromACs7Decoder_p_tKcfc" + "title" : "init()", + "usr" : "s:6Euclid8RotationVACycfc" }, { "abstract" : [ { - "text" : "Splits a polygon into two or more convex polygons using the “ear clipping” method.", + "text" : "An orientation or rotation in 3D space.", "type" : "text" } ], @@ -31897,7 +33382,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "struct" }, { "kind" : "text", @@ -31905,1251 +33390,131 @@ }, { "kind" : "identifier", - "text" : "tessellate" - }, + "text" : "Rotation" + } + ], + "kind" : "org.swift.docc.kind.structure", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation", + "taskGroups" : [ { - "kind" : "text", - "text" : "(" + "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" }, - { - "kind" : "externalParam", - "text" : "maxSides" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ") -> [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - }, - { - "kind" : "text", - "text" : "]" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/tessellate(maxsides:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/tessellate(maxSides:)", - "taskGroups" : [ - - ], - "title" : "tessellate(maxSides:)", - "usr" : "s:6Euclid7PolygonV10tessellate8maxSidesSayACGSi_tF" - }, - { - "abstract" : [ - { - "text" : "Creates a conical mesh.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "cone" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "radius" - }, - { - "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" : "slices" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "stacks" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "poleDetail" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "addDetailAtBottomPole" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - }, - { - "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.typeMethod", - "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:)", - "taskGroups" : [ - - ], - "title" : "cone(radius:height:slices:stacks:poleDetail:addDetailAtBottomPole:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV4cone6radius6height6slices6stacks10poleDetail03addI12AtBottomPole5faces8wrapMode8materialACSd_SdS3iSgSbAC5FacesOAC04WrapP0Os11AnyHashableVSgtFZ" - }, - { - "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.", - "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:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/_(_:_:)-6eeco", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_(_:_:)-6eeco", - "taskGroups" : [ - - ], - "title" : "<(_:_:)", - "usr" : "s:6Euclid5PlaneV1loiySbAC_ACtFZ" - }, - { - "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" : "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" : " " - }, - { - "kind" : "identifier", - "text" : "material" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/material-swift.property", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property", - "taskGroups" : [ - - ], - "title" : "material", - "usr" : "s:6Euclid7PolygonV8materials11AnyHashableVSgvp" - }, - { - "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" : "Returns a rotated copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/rotated(by:)", - "taskGroups" : [ - - ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid11LineSegmentV7rotated2byAcA8RotationV_tF" - }, - { - "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" - }, - { - "abstract" : [ - { - "text" : "Returns the difference between two angles.", - "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:6Euclid5AngleV", - "text" : "Angle" - }, - { - "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:6Euclid5AngleV1soiyA2C_ACtFZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "red" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - } - ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/color\/red", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/red", - "taskGroups" : [ - - ], - "title" : "red", - "usr" : "s:6Euclid5ColorV3redACvpZ" - }, - { - "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\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/!=(_:_:)", - "taskGroups" : [ - - ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" - }, - { - "abstract" : [ - { - "text" : "Returns the sum of two angles.", - "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:6Euclid5AngleV", - "text" : "Angle" - }, - { - "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:6Euclid5AngleV1poiyA2C_ACtFZ" - }, - { - "abstract" : [ - { - "text" : "Creates a new angle 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\/angle\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)", - "taskGroups" : [ - - ], - "title" : "init(from:)", - "usr" : "s:6Euclid5AngleV4fromACs7Decoder_p_tKcfc" - }, - { - "abstract" : [ - { - "text" : "The rotation or orientation component of the transform.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "rotation" - }, - { - "kind" : "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" - }, - { - "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" : "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" - }, - { - "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\/vector\/_(_:_:)-7i9lp", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_(_:_:)-7i9lp", - "taskGroups" : [ - - ], - "title" : ">(_:_:)", - "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" - }, - { - "abstract" : [ - { - "text" : "Transform the value in place.", - "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" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/identity" + ], + "title" : "Default Quaternions" }, { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)", - "taskGroups" : [ - - ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VertexV" - }, - { - "abstract" : [ - { - "text" : "The texture coordinate of the path point (optional). If omitted, will be inferred automatically.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "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" + }, { - "kind" : "keyword", - "text" : "var" + "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" }, { - "kind" : "text", - "text" : " " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/slerp(_:_:)" + ], + "title" : "Interpolating Rotations" }, { - "kind" : "identifier", - "text" : "texcoord" + "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" }, { - "kind" : "text", - "text" : ": " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/\/=(_:_:)" + ], + "title" : "Operators" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-8izj" + ], + "title" : "Initializers" }, { - "kind" : "text", - "text" : "?" + "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", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/Hashable-Implementations" + ], + "title" : "Default Implementations" } ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/texcoord", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/texcoord", - "taskGroups" : [ - - ], - "title" : "texcoord", - "usr" : "s:6Euclid9PathPointV8texcoordAA6VectorVSgvp" + "title" : "Rotation", + "usr" : "s:6Euclid8RotationV" }, { - "abstract" : [ - { - "text" : "The default wrap behavior. Context-dependent.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "case" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "`default`" - } - ], - "kind" : "org.swift.docc.kind.enumerationCase", + "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/default", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/default", + "path" : "\/documentation\/euclid\/polygon\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Decodable-Implementations", "taskGroups" : [ - - ], - "title" : "Mesh.WrapMode.default", - "usr" : "s:6Euclid4MeshV8WrapModeO7defaultyA2EmF" - }, - { - "abstract" : [ - { - "text" : "Returns a transformed copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "transformed" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ") -> " - }, { - "kind" : "typeIdentifier", - "text" : "Self" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)" + ], + "title" : "Initializers" } ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transformed(by:)", - "taskGroups" : [ - - ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "Decodable Implementations" }, { - "abstract" : [ - { - "text" : "Creates a mesh from a RealityKit ", - "type" : "text" - }, - { - "code" : "ModelEntity", - "type" : "codeVoice" - }, - { - "text" : " with optional material mapping.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:17RealityFoundation11ModelEntityC", - "text" : "ModelEntity" + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "materialLookup" + "kind" : "identifier", + "text" : "errorCode" }, { "kind" : "text", @@ -33157,320 +33522,62 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV26RealityKitMaterialProvidera", - "text" : "RealityKitMaterialProvider" - }, - { - "kind" : "text", - "text" : "?)" + "preciseIdentifier" : "s:Si", + "text" : "Int" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:materiallookup:)-3drza", + "path" : "\/documentation\/euclid\/mesh\/ioerror\/errorcode", "platforms" : [ { "beta" : false, "deprecated" : false, - "introducedAt" : "15.0", + "introducedAt" : "8.0", "name" : "iOS", "unavailable" : false }, { "beta" : false, "deprecated" : false, - "introducedAt" : "12.0", + "introducedAt" : "10.10", "name" : "macOS", "unavailable" : false - } - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-3drza", - "taskGroups" : [ - - ], - "title" : "init(_:materialLookup:)", - "usr" : "s:6Euclid4MeshV_14materialLookupAC17RealityFoundation11ModelEntityC_s11AnyHashableVSgAE8Material_pcSgtcfc" - }, - { - "abstract" : [ - { - "text" : "Create a color from RGB values and optional alpha component", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "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" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "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_S3dtcfc" - }, - { - "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\/plane\/_=(_:_:)-5nk27", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27", - "taskGroups" : [ - - ], - "title" : ">=(_:_:)", - "usr" : "s:SLsE2geoiySbx_xtFZ::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" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/+=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)", - "taskGroups" : [ - - ], - "title" : "+=(_:_:)", - "usr" : "s:s18AdditiveArithmeticPsE2peoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" - }, - { - "abstract" : [ - { - "text" : "Encodes this mesh into the given encoder.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "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" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/encode(to:)", - "taskGroups" : [ - - ], - "title" : "encode(to:)", - "usr" : "s:6Euclid4MeshV6encode2toys7Encoder_p_tKF" - }, - { - "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" : [ + "beta" : false, + "deprecated" : false, + "introducedAt" : "9.0", + "name" : "tvOS", + "unavailable" : false + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds" - ], - "title" : "Instance Properties" + "beta" : false, + "deprecated" : false, + "introducedAt" : "2.0", + "name" : "watchOS", + "unavailable" : false } ], - "title" : "Bounded Implementations" + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorCode", + "taskGroups" : [ + + ], + "title" : "errorCode", + "usr" : "s:10Foundation13CustomNSErrorPAAE9errorCodeSivp::SYNTHESIZED::s:6Euclid4MeshV7IOErrorV" }, { "abstract" : [ { - "text" : "A normalized direction vector pointing upwards relative to the current rotation.", + "text" : "Creates a vector from a CoreGraphics ", + "type" : "text" + }, + { + "code" : "CGPoint", + "type" : "codeVoice" + }, + { + "text" : ".", "type" : "text" } ], @@ -33480,50 +33587,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "up" + "kind" : "typeIdentifier", + "preciseIdentifier" : "c:@S@CGPoint", + "text" : "CGPoint" }, { "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\/rotation\/up", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/up", + "path" : "\/documentation\/euclid\/vector\/init(_:)-4eop9", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-4eop9", "taskGroups" : [ ], - "title" : "up", - "usr" : "s:6Euclid8RotationV2upAA6VectorVvp" + "title" : "init(_:)", + "usr" : "s:6Euclid6VectorVyACSo7CGPointVcfc" }, { - "abstract" : [ - { - "text" : "The minimum coordinate of the bounds.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -33531,27 +33636,51 @@ }, { "kind" : "identifier", - "text" : "min" + "text" : "..<" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "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.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/min", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/min", + "path" : "\/documentation\/euclid\/linesegment\/'.._(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:)", "taskGroups" : [ ], - "title" : "min", - "usr" : "s:6Euclid6BoundsV3minAA6VectorVvp" + "title" : "..<(_:)", + "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ @@ -33590,8 +33719,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -33599,18 +33728,19 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], "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\/polygon\/scaled(by:)-69m6m", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scaled(by:)-69m6m", "taskGroups" : [ ], "title" : "scaled(by:)", - "usr" : "s:6Euclid13TransformableP6scaled2byxAA6VectorV_tF" + "usr" : "s:6Euclid7PolygonV6scaled2byACSd_tF" }, { "abstract" : [ @@ -33649,8 +33779,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -33659,15 +33789,21 @@ ], "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\/mesh\/rotate(by:)-7y2vv", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotate(by:)-7y2vv", "taskGroups" : [ ], "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { + "abstract" : [ + { + "text" : "Returns the difference between two quaternion rotations,.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -33690,7 +33826,7 @@ }, { "kind" : "identifier", - "text" : ">" + "text" : "-" }, { "kind" : "text", @@ -33702,7 +33838,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -33710,7 +33847,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -33718,24 +33856,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], "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\/-(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-(_:_:)", "taskGroups" : [ ], - "title" : ">(_:_:)", - "usr" : "s:SLsE1goiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "-(_:_:)", + "usr" : "s:6Euclid10QuaternionV1soiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "Returns the point where the specified plane intersects the line segment.", + "text" : "Returns the perpendicular distance from another line to this one.", "type" : "text" } ], @@ -33753,7 +33894,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "distance" }, { "kind" : "text", @@ -33761,7 +33902,7 @@ }, { "kind" : "externalParam", - "text" : "with" + "text" : "from" }, { "kind" : "text", @@ -33769,8 +33910,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "kind" : "text", @@ -33778,28 +33919,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/intersection(with:)-1tffl", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl", + "path" : "\/documentation\/euclid\/line\/distance(from:)-77i61", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-77i61", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid11LineSegmentV12intersection4withAA6VectorVSgAA5PlaneV_tF" + "title" : "distance(from:)", + "usr" : "s:6Euclid4LineV8distance4fromSdAC_tF" }, { "abstract" : [ { - "text" : "A plane located at the origin, aligned with the X and Z axes.", + "text" : "Deprecated.", "type" : "text" } ], @@ -33809,82 +33946,55 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "keyword", - "text" : "let" + "kind" : "externalParam", + "text" : "points" }, { "kind" : "text", - "text" : " " + "text" : ": [" }, { - "kind" : "identifier", - "text" : "xz" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/xz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/xz", + "path" : "\/documentation\/euclid\/bounds\/init(points:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(points:)", "taskGroups" : [ ], - "title" : "xz", - "usr" : "s:6Euclid5PlaneV2xzACvpZ" + "title" : "init(points:)", + "usr" : "s:6Euclid6BoundsV6pointsACSayAA6VectorVG_tcfc" }, { "abstract" : [ { - "text" : "Texture is shrink-wrapped.", + "text" : "A vector of length ", "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "case" }, { - "kind" : "text", - "text" : " " + "code" : "1", + "type" : "codeVoice" }, { - "kind" : "identifier", - "text" : "shrink" - } - ], - "kind" : "org.swift.docc.kind.enumerationCase", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/wrapmode\/shrink", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/shrink", - "taskGroups" : [ - - ], - "title" : "Mesh.WrapMode.shrink", - "usr" : "s:6Euclid4MeshV8WrapModeO6shrinkyA2EmF" - }, - { - "abstract" : [ - { - "text" : "Returns the point where the specified line intersects this one.", + "text" : " along the X axis.", "type" : "text" } ], @@ -33894,61 +34004,66 @@ "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" : "unitX" }, { "kind" : "text", "text" : ": " }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" - }, - { - "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:)-2nysu", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-2nysu", + "path" : "\/documentation\/euclid\/vector\/unitx", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid4LineV12intersection4withAA6VectorVSgAC_tF" + "title" : "unitX", + "usr" : "s:6Euclid6VectorV5unitXACvpZ" + }, + { + "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" : "Returns a transformed copy of the value.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -33956,14 +34071,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -33974,23 +34081,19 @@ }, { "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", @@ -33999,27 +34102,23 @@ }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : ")" } ], - "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\/linesegment\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/transform(by:)", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -34037,7 +34136,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "scaled" }, { "kind" : "text", @@ -34053,28 +34152,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/rotate(by:)-5a3iz", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotate(by:)-5a3iz", + "path" : "\/documentation\/euclid\/bounds\/scaled(by:)-6epo6", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-6epo6", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6BoundsV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether the specified point lies on the line segment.", + "text" : "Multiplies the components of the vector by the specified value.", "type" : "text" } ], @@ -34082,6 +34186,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -34092,12 +34204,24 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", @@ -34105,28 +34229,32 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "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\/linesegment\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/vector\/*=(_:_:)-9l46a", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*=(_:_:)-9l46a", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid11LineSegmentV13containsPointySbAA6VectorVF" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid6VectorV2meoiyyACz_SdtFZ" }, { "abstract" : [ { - "text" : "The quaternion Z component.", + "text" : "Replace\/remove point color.", "type" : "text" } ], @@ -34136,7 +34264,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -34144,44 +34272,51 @@ }, { "kind" : "identifier", - "text" : "z" + "text" : "withColor" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5ColorV", + "text" : "Color" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/z", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/z", + "path" : "\/documentation\/euclid\/pathpoint\/withcolor(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)", "taskGroups" : [ ], - "title" : "z", - "usr" : "s:6Euclid10QuaternionV1zSdvp" + "title" : "withColor(_:)", + "usr" : "s:6Euclid9PathPointV9withColoryAcA0E0VSgF" }, { + "abstract" : [ + { + "text" : "Do not generate texture coordinates.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "case" }, { "kind" : "text", @@ -34189,55 +34324,23 @@ }, { "kind" : "identifier", - "text" : "+=" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ")" + "text" : "none" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/+=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+=(_:_:)", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/none", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/none", "taskGroups" : [ ], - "title" : "+=(_:_:)", - "usr" : "s:s18AdditiveArithmeticPsE2peoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "Mesh.WrapMode.none", + "usr" : "s:6Euclid4MeshV8WrapModeO4noneyA2EmF" }, { "abstract" : [ { - "text" : "Angle representing a quarter rotation.", + "text" : "Computes the cross-product of this vector and another.", "type" : "text" } ], @@ -34247,48 +34350,49 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "cross" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "halfPi" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "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\/vector\/cross(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/cross(_:)", "taskGroups" : [ ], - "title" : "halfPi", - "usr" : "s:6Euclid5AngleV6halfPiACvpZ" + "title" : "cross(_:)", + "usr" : "s:6Euclid6VectorV5crossyA2CF" }, { "abstract" : [ { - "text" : "Creates a closed regular polygon.", + "text" : "Efficiently forms a union from multiple meshes.", "type" : "text" } ], @@ -34314,41 +34418,24 @@ }, { "kind" : "identifier", - "text" : "polygon" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "radius" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "union" }, { "kind" : "text", - "text" : ", " + "text" : "<" }, { - "kind" : "externalParam", - "text" : "sides" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : ": " + "text" : ">(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid4MeshV5union_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", @@ -34356,7 +34443,7 @@ }, { "kind" : "externalParam", - "text" : "color" + "text" : "isCancelled" }, { "kind" : "text", @@ -34364,30 +34451,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.typeMethod", "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\/mesh\/union(_:iscancelled:)-swift.type.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/union(_:isCancelled:)-swift.type.method", "taskGroups" : [ ], - "title" : "polygon(radius:sides:color:)", - "usr" : "s:6Euclid4PathV7polygon6radius5sides5colorACSd_SiAA5ColorVSgtFZ" + "title" : "union(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV5union_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { + "abstract" : [ + { + "text" : "Efficiently XORs multiple meshes.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -34410,27 +34503,41 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "symmetricDifference" }, { "kind" : "text", - "text" : " " + "text" : "<" + }, + { + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ">(" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "text" : "T" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -34438,32 +34545,32 @@ }, { "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\/path\/alignment\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)", + "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:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4PathV9AlignmentO" + "title" : "symmetricDifference(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV19symmetricDifference_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Creates a Path from a ", + "text" : "Creates a ", "type" : "text" }, { - "code" : "CGPath", + "code" : "Quaternion", "type" : "codeVoice" }, { - "text" : ". The returned path may contain nested subpaths.", + "text" : " from a simd quaternion.", "type" : "text" } ], @@ -34481,57 +34588,26 @@ }, { "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:@SA@simd_quatf", + "text" : "simd_quatf" }, { "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\/quaternion\/init(_:)-99vxt", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-99vxt", "taskGroups" : [ ], - "title" : "init(_:detail:color:)", - "usr" : "s:6Euclid4PathV_6detail5colorACSo9CGPathRefa_SiAA5ColorVSgtcfc" + "title" : "init(_:)", + "usr" : "s:6Euclid10QuaternionVyACSo10simd_quatfacfc" }, { "abstract" : [ @@ -34579,24 +34655,118 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], "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\/path\/scaled(by:)-19jpq", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-19jpq", "taskGroups" : [ ], "title" : "scaled(by:)", - "usr" : "s:6Euclid9TransformV6scaled2byAcA6VectorV_tF" + "usr" : "s:6Euclid4PathV6scaled2byAcA6VectorV_tF" }, { "abstract" : [ { - "text" : "Indicates whether all the path’s points lie on a single plane.", + "text" : "A combined rotation, position, and scale that can be applied to a 3D object.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "struct" + }, + { + "kind" : "text", + "text" : " " + }, + { + "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(_:)-7hvb3", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-cys2" + ], + "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" + }, + { + "abstract" : [ + { + "text" : "The square of the length of the vector. This is less expensive to compute than the length itself.", "type" : "text" } ], @@ -34614,7 +34784,7 @@ }, { "kind" : "identifier", - "text" : "isPlanar" + "text" : "lengthSquared" }, { "kind" : "text", @@ -34622,21 +34792,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/isplanar", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isPlanar", + "path" : "\/documentation\/euclid\/vector\/lengthsquared", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/lengthSquared", "taskGroups" : [ ], - "title" : "isPlanar", - "usr" : "s:6Euclid4PathV8isPlanarSbvp" + "title" : "lengthSquared", + "usr" : "s:6Euclid6VectorV13lengthSquaredSdvp" }, { + "abstract" : [ + { + "text" : "Subtracts the quaternion rotation on the right from the one on the left.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -34651,7 +34827,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -34659,7 +34835,86 @@ }, { "kind" : "identifier", - "text" : "cyan" + "text" : "-=" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "keyword", + "text" : "inout" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/quaternion\/-=(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/-=(_:_:)", + "taskGroups" : [ + + ], + "title" : "-=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2seoiyyACz_ACtFZ" + }, + { + "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", @@ -34667,24 +34922,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ")" } ], - "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\/path\/rotate(by:)-93ypi", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotate(by:)-93ypi", "taskGroups" : [ ], - "title" : "cyan", - "usr" : "s:6Euclid5ColorV4cyanACvpZ" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Creates a quaternion from raw components.", + "text" : "Creates a sphere by subdividing an icosahedron.", "type" : "text" } ], @@ -34694,11 +34956,35 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "?([" + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "icosahedron" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "radius" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", @@ -34707,18 +34993,74 @@ }, { "kind" : "text", - "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.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(_:)-fyhx", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-fyhx", + "path" : "\/documentation\/euclid\/mesh\/icosahedron(radius:faces:wrapmode:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/icosahedron(radius:faces:wrapMode:material:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyACSgSaySdGcfc" + "title" : "icosahedron(radius:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV11icosahedron6radius5faces8wrapMode8materialACSd_AC5FacesOAC04WrapG0Os11AnyHashableVSgtFZ" }, { "availableLanguages" : [ @@ -34743,7 +35085,7 @@ }, { "kind" : "identifier", - "text" : "..<" + "text" : ">=" }, { "kind" : "text", @@ -34759,48 +35101,36 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeUpToV", - "text" : "PartialRangeUpTo" + "text" : "Self" }, { "kind" : "text", - "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\/plane\/'.._(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:)", + "path" : "\/documentation\/euclid\/vector\/_=(_:_:)-9s7pp", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/_=(_:_:)-9s7pp", "taskGroups" : [ ], - "title" : "..<(_:)", - "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : ">=(_:_:)", + "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "A vector of length ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : " along the X axis.", + "text" : "Returns the point where the specified plane intersects the line segment.", "type" : "text" } ], @@ -34810,48 +35140,61 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "intersection" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "unitX" + "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" : "?" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/unitx", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitX", + "path" : "\/documentation\/euclid\/linesegment\/intersection(with:)-1tffl", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/intersection(with:)-1tffl", "taskGroups" : [ ], - "title" : "unitX", - "usr" : "s:6Euclid6VectorV5unitXACvpZ" + "title" : "intersection(with:)", + "usr" : "s:6Euclid11LineSegmentV12intersection4withAA6VectorVSgAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Return Wavefront OBJ string data for the mesh.", + "text" : "Return ASCII STL string data for the mesh.", "type" : "text" } ], @@ -34869,11 +35212,28 @@ }, { "kind" : "identifier", - "text" : "objString" + "text" : "stlString" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "name" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SS", + "text" : "String" + }, + { + "kind" : "text", + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -34883,18 +35243,18 @@ ], "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\/mesh\/stlstring(name:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stlString(name:)", "taskGroups" : [ ], - "title" : "objString()", - "usr" : "s:6Euclid4MeshV9objStringSSyF" + "title" : "stlString(name:)", + "usr" : "s:6Euclid4MeshV9stlString4nameS2S_tF" }, { "abstract" : [ { - "text" : "Efficiently performs a stencil with multiple meshes.", + "text" : "Creates a mesh by extruding one path along another path.", "type" : "text" } ], @@ -34920,24 +35280,16 @@ }, { "kind" : "identifier", - "text" : "stencil" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" + "text" : "extrude" }, { "kind" : "text", - "text" : ">(" + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV7stencil_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", @@ -34945,7 +35297,7 @@ }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "along" }, { "kind" : "text", @@ -34953,51 +35305,16 @@ }, { "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\/stencil(_:iscancelled:)-swift.type.method", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.type.method", - "taskGroups" : [ - - ], - "title" : "stencil(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV7stencil_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" - }, - { - "abstract" : [ - { - "text" : "A normalized direction vector pointing rightwards relative to the current rotation.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "var" + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "right" + "kind" : "externalParam", + "text" : "twist" }, { "kind" : "text", @@ -35005,42 +35322,16 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/right", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/right", - "taskGroups" : [ - - ], - "title" : "right", - "usr" : "s:6Euclid8RotationV5rightAA6VectorVvp" - }, - { - "abstract" : [ - { - "text" : "The starting point of the line segment.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "let" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "start" + "kind" : "externalParam", + "text" : "align" }, { "kind" : "text", @@ -35048,96 +35339,50 @@ }, { "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" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" + "preciseIdentifier" : "s:6Euclid4MeshV9Alignmenta", + "text" : "Alignment" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "externalParam", + "text" : "faces" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "white" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" - } - ], - "kind" : "org.swift.docc.kind.typeProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/color\/white", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/white", - "taskGroups" : [ - - ], - "title" : "white", - "usr" : "s:6Euclid5ColorV5whiteACvpZ" - }, - { - "abstract" : [ - { - "text" : "Creates a mesh from a SceneKit geometry, with the material you provide.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : "?(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNGeometry", - "text" : "SCNGeometry" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ", " + "text" : "?, " }, { "kind" : "externalParam", - "text" : "material" + "text" : "isCancelled" }, { "kind" : "text", @@ -35145,28 +35390,59 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "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(_:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:material:)", + "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" : "init(_:material:)", - "usr" : "s:6Euclid4MeshV_8materialACSgSo11SCNGeometryC_s11AnyHashableVSgtcfc" + "title" : "extrude(_:along:twist:align:faces:material:isCancelled:)", + "usr" : "s:6Euclid4MeshV7extrude_5along5twist5align5faces8material11isCancelledAcA4PathV_AlA5AngleVAL9AlignmentOAC5FacesOs11AnyHashableVSgSbyXEtFZ" + }, + { + "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" : [ + { + "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" : "Comparable Implementations" }, { "abstract" : [ { - "text" : "Creates a copy of the vertex with the specified position.", + "text" : "Encodes this quaternion into the given encoder.", "type" : "text" } ], @@ -35184,41 +35460,51 @@ }, { "kind" : "identifier", - "text" : "withPosition" + "text" : "encode" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/withposition(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withPosition(_:)", + "path" : "\/documentation\/euclid\/quaternion\/encode(to:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/encode(to:)", "taskGroups" : [ ], - "title" : "withPosition(_:)", - "usr" : "s:6Euclid6VertexV12withPositionyAcA6VectorVF" + "title" : "encode(to:)", + "usr" : "s:6Euclid10QuaternionV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Returns a copy of the mesh with the specified old material replaced by a new one.", + "text" : "Returns the perpendicular distance of the line from a specified point.", "type" : "text" } ], @@ -35236,24 +35522,15 @@ }, { "kind" : "identifier", - "text" : "replacing" + "text" : "distance" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" - }, - { - "kind" : "text", - "text" : "?, " - }, { "kind" : "externalParam", - "text" : "with" + "text" : "from" }, { "kind" : "text", @@ -35261,33 +35538,33 @@ }, { "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:Sd", + "text" : "Double" } ], "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\/line\/distance(from:)-4o41", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/distance(from:)-4o41", "taskGroups" : [ ], - "title" : "replacing(_:with:)", - "usr" : "s:6Euclid4MeshV9replacing_4withACs11AnyHashableVSg_AHtF" + "title" : "distance(from:)", + "usr" : "s:6Euclid4LineV8distance4fromSdAA6VectorV_tF" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of line segments.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -35295,14 +35572,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -35313,40 +35582,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_s11AnyHashableVSgtSTRzAA11LineSegmentV7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : "rotated" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "material" + "text" : "by" }, { "kind" : "text", @@ -35354,33 +35598,35 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "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\/transformable\/rotated(by:)-5mcqw", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-5mcqw", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA11LineSegmentV7ElementRtzlFZ" + "title" : "rotated(by:)", + "usr" : "s:6Euclid13TransformablePAAE7rotated2byxAA10QuaternionV_tF" }, { "abstract" : [ { - "text" : "Expands this bounds (if necessary) to contain the specified bounds.", + "text" : "Creates a path from an array of path points.", "type" : "text" } ], @@ -35390,44 +35636,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "formUnion" + "text" : "init" }, { "kind" : "text", - "text" : "(" + "text" : "([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" }, { "kind" : "text", - "text" : ")" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/formunion(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/formUnion(_:)", + "path" : "\/documentation\/euclid\/path\/init(_:)-4jhkw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(_:)-4jhkw", "taskGroups" : [ ], - "title" : "formUnion(_:)", - "usr" : "s:6Euclid6BoundsV9formUnionyyACF" + "title" : "init(_:)", + "usr" : "s:6Euclid4PathVyACSayAA0B5PointVGcfc" }, { "abstract" : [ { - "text" : "The square of the length of the vector. This is less expensive to compute than the length itself.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -35437,7 +35675,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -35445,7 +35683,15 @@ }, { "kind" : "identifier", - "text" : "lengthSquared" + "text" : "transformed" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -35453,24 +35699,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" } ], - "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\/vector\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/transformed(by:)", "taskGroups" : [ ], - "title" : "lengthSquared", - "usr" : "s:6Euclid6VectorV13lengthSquaredSdvp" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -35488,7 +35742,7 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "scaled" }, { "kind" : "text", @@ -35504,41 +35758,71 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], "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\/path\/scaled(by:)-84xdd", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/scaled(by:)-84xdd", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "scaled(by:)", + "usr" : "s:6Euclid4PathV6scaled2byACSd_tF" }, { + "abstract" : [ + { + "text" : "The size of the bounds. The minimum returned size is zero, even if max < min.", + "type" : "text" + } + ], "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" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)" - ], - "title" : "Operators" + "kind" : "keyword", + "text" : "var" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "size" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "title" : "Equatable Implementations" + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/size", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/size", + "taskGroups" : [ + + ], + "title" : "size", + "usr" : "s:6Euclid6BoundsV4sizeAA6VectorVvp" }, { "abstract" : [ @@ -35577,8 +35861,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -35592,18 +35876,18 @@ ], "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\/mesh\/scaled(by:)-94kks", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scaled(by:)-94kks", "taskGroups" : [ ], "title" : "scaled(by:)", - "usr" : "s:6Euclid4MeshV6scaled2byAcA6VectorV_tF" + "usr" : "s:6Euclid4MeshV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Creates a uniform scale transform.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -35613,32 +35897,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" : "scale" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -35646,24 +35930,23 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "text" : "Self" } ], - "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\/vertex\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)", "taskGroups" : [ ], - "title" : "scale(_:)", - "usr" : "s:6Euclid9TransformV5scaleyACSdFZ" + "title" : "transformed(by:)", + "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "An array of the subpaths that make up the path.", + "text" : "Alignment mode to use when extruding along a path.", "type" : "text" } ], @@ -35673,7 +35956,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "typealias" }, { "kind" : "text", @@ -35681,36 +35964,51 @@ }, { "kind" : "identifier", - "text" : "subpaths" - }, - { - "kind" : "text", - "text" : ": [" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "]" + "text" : "Alignment" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/subpaths", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/subpaths", + "path" : "\/documentation\/euclid\/mesh\/alignment", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment", "taskGroups" : [ ], - "title" : "subpaths", - "usr" : "s:6Euclid4PathV8subpathsSayACGvp" + "title" : "Mesh.Alignment", + "usr" : "s:6Euclid4MeshV9Alignmenta" + }, + { + "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" : "The bounds of all the path’s points.", + "text" : "A closure that maps a Euclid material to an STL facet color.", "type" : "text" } ], @@ -35720,7 +36018,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "typealias" }, { "kind" : "text", @@ -35728,32 +36026,41 @@ }, { "kind" : "identifier", - "text" : "bounds" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6BoundsV", - "text" : "Bounds" + "text" : "STLColorProvider" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.typeAlias", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/bounds", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds", + "path" : "\/documentation\/euclid\/mesh\/stlcolorprovider", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider", "taskGroups" : [ ], - "title" : "bounds", - "usr" : "s:6Euclid4PathV6boundsAA6BoundsVvp" + "title" : "Mesh.STLColorProvider", + "usr" : "s:6Euclid4MeshV16STLColorProvidera" + }, + { + "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" : "Efficiently computes the intersection of multiple meshes.", + "text" : "Computes the convex hull of a set of path points.", "type" : "text" } ], @@ -35779,7 +36086,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "convexHull" }, { "kind" : "text", @@ -35793,9 +36100,17 @@ "kind" : "text", "text" : ">(" }, + { + "kind" : "externalParam", + "text" : "of" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV12intersection_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA9PathPointV7ElementRtzlFZ1TL_xmfp", "text" : "T" }, { @@ -35804,7 +36119,7 @@ }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "material" }, { "kind" : "text", @@ -35812,12 +36127,12 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", @@ -35827,18 +36142,36 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "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\/mesh\/convexhull(of:material:)-5ztum", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-5ztum", "taskGroups" : [ ], - "title" : "intersection(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV12intersection_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA9PathPointV7ElementRtzlFZ" + }, + { + "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" : "Transform the value in place.", + "text" : "Creates a color from an array of component values.", "type" : "text" } ], @@ -35848,52 +36181,36 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "transform" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "init" }, { "kind" : "text", - "text" : ": " + "text" : "?([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : ")" + "text" : "])" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)", + "path" : "\/documentation\/euclid\/color\/init(_:)-53lhy", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-53lhy", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "init(_:)", + "usr" : "s:6Euclid5ColorVyACSgSaySdGcfc" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a rotation multiplied by the specified value.", "type" : "text" } ], @@ -35901,6 +36218,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -35911,44 +36236,54 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "*" + }, + { + "kind" : "text", + "text" : " " }, { "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", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/scale(by:)-8g7t0", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scale(by:)-8g7t0", + "path" : "\/documentation\/euclid\/rotation\/*(_:_:)-5fe82", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*(_:_:)-5fe82", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid8RotationV1moiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Creates a new quaternion by decoding from the given decoder.", + "text" : "Creates a new rotation by decoding from the given decoder.", "type" : "text" } ], @@ -35988,18 +36323,18 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(from:)", + "path" : "\/documentation\/euclid\/rotation\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)", "taskGroups" : [ ], "title" : "init(from:)", - "usr" : "s:6Euclid10QuaternionV4fromACs7Decoder_p_tKcfc" + "usr" : "s:6Euclid8RotationV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Returns the normalized quaternion.", "type" : "text" } ], @@ -36017,57 +36352,35 @@ }, { "kind" : "identifier", - "text" : "rotated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "text" : "normalized" }, { "kind" : "text", - "text" : ") -> " + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], "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\/quaternion\/normalized()", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/normalized()", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid4PathV7rotated2byAcA8RotationV_tF" + "title" : "normalized()", + "usr" : "s:6Euclid10QuaternionV10normalizedACyF" }, { "abstract" : [ { - "text" : "A vector of length ", - "type" : "text" - }, - { - "code" : "1", - "type" : "codeVoice" - }, - { - "text" : " along the Z axis.", + "text" : "Creates a new bounds representing the intersection between the specified bounds and this one.", "type" : "text" } ], @@ -36077,48 +36390,49 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "let" + "kind" : "identifier", + "text" : "intersection" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "unitZ" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], - "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\/bounds\/intersection(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/intersection(_:)", "taskGroups" : [ ], - "title" : "unitZ", - "usr" : "s:6Euclid6VectorV5unitZACvpZ" + "title" : "intersection(_:)", + "usr" : "s:6Euclid6BoundsV12intersectionyA2CF" }, { "abstract" : [ { - "text" : "The angle of rotation around the Z-axis.", + "text" : "The angle in radians.", "type" : "text" } ], @@ -36136,7 +36450,7 @@ }, { "kind" : "identifier", - "text" : "roll" + "text" : "radians" }, { "kind" : "text", @@ -36144,19 +36458,19 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "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\/angle\/radians", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/radians", "taskGroups" : [ ], - "title" : "roll", - "usr" : "s:6Euclid8RotationV4rollAA5AngleVvp" + "title" : "radians", + "usr" : "s:6Euclid5AngleV7radiansSdvp" }, { "availableLanguages" : [ @@ -36164,30 +36478,22 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/comparable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/Comparable-Implementations", + "path" : "\/documentation\/euclid\/linesegment\/decodable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/Decodable-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" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/init(from:)" ], - "title" : "Operators" + "title" : "Initializers" } ], - "title" : "Comparable Implementations" + "title" : "Decodable Implementations" }, { "abstract" : [ { - "text" : "Return a copy of the polygon without texture coordinates", + "text" : "Computes the convex hull of a set of points.", "type" : "text" } ], @@ -36197,66 +36503,56 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "withoutTexcoords" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "() -> " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/withouttexcoords()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()", - "taskGroups" : [ - - ], - "title" : "withoutTexcoords()", - "usr" : "s:6Euclid7PolygonV16withoutTexcoordsACyF" - }, - { - "abstract" : [ + "kind" : "identifier", + "text" : "convexHull" + }, { - "text" : "Returns a translated copy of the value.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : "<" + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "genericParameter", + "text" : "T" }, { "kind" : "text", - "text" : " " + "text" : ">(" }, { - "kind" : "identifier", - "text" : "translated" + "kind" : "externalParam", + "text" : "of" }, { "kind" : "text", - "text" : "(" + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VectorV7ElementRtzlFZ1TL_xmfp", + "text" : "T" + }, + { + "kind" : "text", + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "material" }, { "kind" : "text", @@ -36264,33 +36560,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ") -> " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/translated(by:)", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:material:)-6176", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:material:)-6176", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid9PathPointV10translated2byAcA6VectorV_tF" + "title" : "convexHull(of:material:)", + "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VectorV7ElementRtzlFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Creates a new polygon by decoding from the given decoder.", "type" : "text" } ], @@ -36300,15 +36596,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "scale" + "text" : "init" }, { "kind" : "text", @@ -36316,7 +36604,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "from" }, { "kind" : "text", @@ -36324,28 +36612,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "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\/vertex\/scale(by:)-6c0wl", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/scale(by:)-6c0wl", + "path" : "\/documentation\/euclid\/polygon\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(from:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "init(from:)", + "usr" : "s:6Euclid7PolygonV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "An arbitrary point on the line selected as the origin.", + "text" : "All vector components are one (or close to one) in length.", "type" : "text" } ], @@ -36355,7 +36647,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "var" }, { "kind" : "text", @@ -36363,7 +36655,7 @@ }, { "kind" : "identifier", - "text" : "origin" + "text" : "isOne" }, { "kind" : "text", @@ -36371,24 +36663,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/origin", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/origin", + "path" : "\/documentation\/euclid\/vector\/isone", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isOne", "taskGroups" : [ ], - "title" : "origin", - "usr" : "s:6Euclid4LineV6originAA6VectorVvp" + "title" : "isOne", + "usr" : "s:6Euclid6VectorV5isOneSbvp" }, { "abstract" : [ { - "text" : "Removes hairline cracks by inserting additional vertices without altering the shape.", + "text" : "Creates a new vector by decoding from the given decoder.", "type" : "text" } ], @@ -36398,113 +36690,67 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "makeWatertight" + "kind" : "externalParam", + "text" : "from" }, { "kind" : "text", - "text" : "() -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "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\/mesh\/makewatertight()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()", + "path" : "\/documentation\/euclid\/bounds\/init(from:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/init(from:)", "taskGroups" : [ ], - "title" : "makeWatertight()", - "usr" : "s:6Euclid4MeshV14makeWatertightACyF" + "title" : "init(from:)", + "usr" : "s:6Euclid6BoundsV4fromACs7Decoder_p_tKcfc" }, { "abstract" : [ { - "text" : "Returns the componentwise sum of two vectors.", + "text" : "Define 3D objects by constructing meshes.", "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:6Euclid6VectorV", - "text" : "Vector" - }, - { - "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.operator", + "kind" : "org.swift.docc.kind.article", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/+(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+(_:_:)", + "path" : "\/documentation\/euclid\/constructingmeshes", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes", "taskGroups" : [ ], - "title" : "+(_:_:)", - "usr" : "s:6Euclid6VectorV1poiyA2C_ACtFZ" + "title" : "Constructing Meshes" }, { "abstract" : [ { - "text" : "Computes the point of intersection between a line and a plane.", + "text" : "Returns the nearest point on the specified plane to the vector (representing a position in space).", "type" : "text" } ], @@ -36522,7 +36768,7 @@ }, { "kind" : "identifier", - "text" : "intersection" + "text" : "project" }, { "kind" : "text", @@ -36530,7 +36776,7 @@ }, { "kind" : "externalParam", - "text" : "with" + "text" : "onto" }, { "kind" : "text", @@ -36538,8 +36784,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4LineV", - "text" : "Line" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", @@ -36549,23 +36795,33 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" - }, - { - "kind" : "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\/vector\/project(onto:)-817o2", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/project(onto:)-817o2", "taskGroups" : [ ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid5PlaneV12intersection4withAA6VectorVSgAA4LineV_tF" + "title" : "project(onto:)", + "usr" : "s:6Euclid6VectorV7project4ontoAcA5PlaneV_tF" }, { + "abstract" : [ + { + "text" : "A vector of length ", + "type" : "text" + }, + { + "code" : "1", + "type" : "codeVoice" + }, + { + "text" : " along the Z axis.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -36580,7 +36836,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -36588,55 +36844,32 @@ }, { "kind" : "identifier", - "text" : "-=" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : "unitZ" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "text" : "Self" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/-=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-=(_:_:)", + "path" : "\/documentation\/euclid\/vector\/unitz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/unitZ", "taskGroups" : [ ], - "title" : "-=(_:_:)", - "usr" : "s:s18AdditiveArithmeticPsE2seoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "unitZ", + "usr" : "s:6Euclid6VectorV5unitZACvpZ" }, { "abstract" : [ { - "text" : "Creates a mesh from a SceneKit node, with optional material mapping.", + "text" : "The identity transform (i.e. no transform).", "type" : "text" } ], @@ -36646,41 +36879,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNNode", - "text" : "SCNNode" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "ignoringTransforms" + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "kind" : "keyword", + "text" : "let" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "materialLookup" + "kind" : "identifier", + "text" : "identity" }, { "kind" : "text", @@ -36688,28 +36903,60 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19SCNMaterialProvidera", - "text" : "SCNMaterialProvider" - }, - { - "kind" : "text", - "text" : "?)" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:ignoringtransforms:materiallookup:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:ignoringTransforms:materialLookup:)", + "path" : "\/documentation\/euclid\/transform\/identity", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/identity", "taskGroups" : [ ], - "title" : "init(_:ignoringTransforms:materialLookup:)", - "usr" : "s:6Euclid4MeshV_18ignoringTransforms14materialLookupACSo7SCNNodeC_Sbs11AnyHashableVSgSo11SCNMaterialCcSgtcfc" + "title" : "identity", + "usr" : "s:6Euclid9TransformV8identityACvpZ" + }, + { + "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" + }, + { + "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" }, { "abstract" : [ { - "text" : "Returns a transformed copy of the value.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -36727,7 +36974,7 @@ }, { "kind" : "identifier", - "text" : "transformed" + "text" : "rotated" }, { "kind" : "text", @@ -36743,8 +36990,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -36752,52 +36999,19 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/transformed(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transformed(by:)", - "taskGroups" : [ - - ], - "title" : "transformed(by:)", - "usr" : "s:6Euclid13TransformablePAAE11transformed2byxAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VertexV" - }, - { - "abstract" : [ - { - "text" : "Generate both the front and back faces.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "case" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "frontAndBack" - } - ], - "kind" : "org.swift.docc.kind.enumerationCase", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/frontandback", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack", + "path" : "\/documentation\/euclid\/vertex\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotated(by:)", "taskGroups" : [ ], - "title" : "Mesh.Faces.frontAndBack", - "usr" : "s:6Euclid4MeshV5FacesO12frontAndBackyA2EmF" + "title" : "rotated(by:)", + "usr" : "s:6Euclid6VertexV7rotated2byAcA8RotationV_tF" }, { "availableLanguages" : [ @@ -36822,7 +37036,7 @@ }, { "kind" : "identifier", - "text" : "..<" + "text" : "!=" }, { "kind" : "text", @@ -36838,40 +37052,36 @@ }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s16PartialRangeUpToV", - "text" : "PartialRangeUpTo" + "text" : "Self" }, { "kind" : "text", - "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\/angle\/'.._(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/.._(_:)", + "path" : "\/documentation\/euclid\/bounds\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/!=(_:_:)", "taskGroups" : [ ], - "title" : "..<(_:)", - "usr" : "s:SLsE3zzlopys16PartialRangeUpToVyxGxFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6BoundsV" }, { "abstract" : [ { - "text" : "Return a copy of the mesh with cylindrically-mapped texture coordinates.", + "text" : "The angle of rotation around the X-axis.", "type" : "text" } ], @@ -36881,7 +37091,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -36889,29 +37099,38 @@ }, { "kind" : "identifier", - "text" : "cylinderMapped" + "text" : "pitch" }, { "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.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/cylindermapped()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cylinderMapped()", + "path" : "\/documentation\/euclid\/quaternion\/pitch", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch", "taskGroups" : [ ], - "title" : "cylinderMapped()", - "usr" : "s:6Euclid4MeshV14cylinderMappedACyF" + "title" : "pitch", + "usr" : "s:6Euclid10QuaternionV5pitchAA5AngleVvp" }, { + "abstract" : [ + { + "text" : "Creates a offset transform.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -36926,7 +37145,7 @@ }, { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -36934,62 +37153,84 @@ }, { "kind" : "identifier", - "text" : "errorDomain" + "text" : "offset" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], - "kind" : "org.swift.docc.kind.typeProperty", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/ioerror\/errordomain", - "platforms" : [ + "path" : "\/documentation\/euclid\/transform\/offset(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/offset(_:)", + "taskGroups" : [ + + ], + "title" : "offset(_:)", + "usr" : "s:6Euclid9TransformV6offsetyAcA6VectorVFZ" + }, + { + "abstract" : [ + { + "text" : "Return Wavefront OBJ string data for the mesh.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" + }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "8.0", - "name" : "iOS", - "unavailable" : false + "kind" : "text", + "text" : " " }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.10", - "name" : "macOS", - "unavailable" : false + "kind" : "identifier", + "text" : "objString" }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "9.0", - "name" : "tvOS", - "unavailable" : false + "kind" : "text", + "text" : "() -> " }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "2.0", - "name" : "watchOS", - "unavailable" : false + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SS", + "text" : "String" } ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorDomain", + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/objstring()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/objString()", "taskGroups" : [ ], - "title" : "errorDomain", - "usr" : "s:10Foundation13CustomNSErrorPAAE11errorDomainSSvpZ::SYNTHESIZED::s:6Euclid4MeshV7IOErrorV" + "title" : "objString()", + "usr" : "s:6Euclid4MeshV9objStringSSyF" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Returns a quaternion with its components divided by the specified value.", "type" : "text" } ], @@ -36997,6 +37238,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -37007,24 +37256,29 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "\/" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -37032,24 +37286,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/scaled(by:)-4wtbg", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scaled(by:)-4wtbg", + "path" : "\/documentation\/euclid\/quaternion\/\/(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/\/(_:_:)", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid9PathPointV6scaled2byAcA6VectorV_tF" + "title" : "\/(_:_:)", + "usr" : "s:6Euclid10QuaternionV1doiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -37067,7 +37324,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "scale" }, { "kind" : "text", @@ -37083,8 +37340,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -37093,18 +37350,18 @@ ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/transform(by:)", + "path" : "\/documentation\/euclid\/mesh\/scale(by:)-9pjki", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/scale(by:)-9pjki", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid6VertexV" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4MeshV" }, { "abstract" : [ { - "text" : "Computes the trigonometric tangent of an angle.", + "text" : "Texture is tube-wrapped.", "type" : "text" } ], @@ -37114,7 +37371,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "case" }, { "kind" : "text", @@ -37122,41 +37379,23 @@ }, { "kind" : "identifier", - "text" : "tan" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "tube" } ], - "kind" : "org.swift.docc.kind.function", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/tan(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/tan(_:)", + "path" : "\/documentation\/euclid\/mesh\/wrapmode\/tube", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/WrapMode\/tube", "taskGroups" : [ ], - "title" : "tan(_:)", - "usr" : "s:6Euclid3tanySdAA5AngleVF" + "title" : "Mesh.WrapMode.tube", + "usr" : "s:6Euclid4MeshV8WrapModeO4tubeyA2EmF" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the mesh includes texture coordinates.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -37166,7 +37405,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -37174,7 +37413,15 @@ }, { "kind" : "identifier", - "text" : "hasTexcoords" + "text" : "rotate" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -37182,24 +37429,31 @@ }, { "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\/mesh\/hastexcoords", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasTexcoords", + "path" : "\/documentation\/euclid\/vertex\/rotate(by:)-1umln", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-1umln", "taskGroups" : [ ], - "title" : "hasTexcoords", - "usr" : "s:6Euclid4MeshV12hasTexcoordsSbvp" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Creates a corner path point at the specified position.", + "text" : "Creates a rotation around the X axis.", "type" : "text" } ], @@ -37225,7 +37479,7 @@ }, { "kind" : "identifier", - "text" : "point" + "text" : "pitch" }, { "kind" : "text", @@ -37233,67 +37487,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "texcoord" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "color" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" } ], "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:)", + "path" : "\/documentation\/euclid\/rotation\/pitch(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)", "taskGroups" : [ ], - "title" : "point(_:texcoord:color:)", - "usr" : "s:6Euclid9PathPointV5point_8texcoord5colorAcA6VectorV_AHSgAA5ColorVSgtFZ" + "title" : "pitch(_:)", + "usr" : "s:6Euclid8RotationV5pitchyAcA5AngleVFZ" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -37311,7 +37531,7 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "rotate" }, { "kind" : "text", @@ -37327,32 +37547,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/scaled(by:)-5p6di", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scaled(by:)-5p6di", + "path" : "\/documentation\/euclid\/vertex\/rotate(by:)-622p8", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/rotate(by:)-622p8", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid13TransformableP6scaled2byxSd_tF" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Creates an extruded text model from an attributed string", + "text" : "Protocol for transformable types.", "type" : "text" } ], @@ -37362,15 +37578,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "protocol" }, { "kind" : "text", @@ -37378,109 +37586,92 @@ }, { "kind" : "identifier", - "text" : "text" - }, - { - "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" : "depth" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, + "text" : "Transformable" + } + ], + "kind" : "org.swift.docc.kind.protocol", + "language" : "swift", + "path" : "\/documentation\/euclid\/transformable", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable", + "taskGroups" : [ { - "kind" : "text", - "text" : ", " + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)" + ], + "title" : "Operators" }, { - "kind" : "externalParam", - "text" : "detail" - }, + "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" : [ { - "kind" : "text", - "text" : ": " + "text" : "Creates a ", + "type" : "text" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "code" : "Rotation", + "type" : "codeVoice" }, { - "kind" : "text", - "text" : ", " - }, + "text" : " from a simd 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" : "c:@SA@simd_quatd", + "text" : "simd_quatd" }, { "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\/text(_:width:depth:detail:material:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)", + "path" : "\/documentation\/euclid\/rotation\/init(_:)-7j4ql", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-7j4ql", "taskGroups" : [ ], - "title" : "text(_:width:depth:detail:material:)", - "usr" : "s:6Euclid4MeshV4text_5width5depth6detail8materialACSo18NSAttributedStringC_SdSgSdSis11AnyHashableVSgtFZ" + "title" : "init(_:)", + "usr" : "s:6Euclid8RotationVyACSo10simd_quatdacfc" }, { "abstract" : [ { - "text" : "Creates a quaternion representing a rotation around the X axis.", + "text" : "Creates an angle representing the trigonometric arc sine of the value you provide.", "type" : "text" } ], @@ -37506,7 +37697,7 @@ }, { "kind" : "identifier", - "text" : "pitch" + "text" : "asin" }, { "kind" : "text", @@ -37514,8 +37705,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", @@ -37523,24 +37714,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/pitch(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)", + "path" : "\/documentation\/euclid\/angle\/asin(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/asin(_:)", "taskGroups" : [ ], - "title" : "pitch(_:)", - "usr" : "s:6Euclid10QuaternionV5pitchyAcA5AngleVFZ" + "title" : "asin(_:)", + "usr" : "s:6Euclid5AngleV4asinyACSdFZ" }, { "abstract" : [ { - "text" : "Creates a sphere by subdividing an icosahedron.", + "text" : "The position of the vertex.", "type" : "text" } ], @@ -37550,15 +37741,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -37566,32 +37749,7 @@ }, { "kind" : "identifier", - "text" : "icosahedron" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "radius" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "faces" + "text" : "position" }, { "kind" : "text", @@ -37599,46 +37757,55 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "wrapMode" - }, + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex\/position", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/position", + "taskGroups" : [ + + ], + "title" : "position", + "usr" : "s:6Euclid6VertexV8positionAA6VectorVvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "Return a copy of the mesh with transformed texture coordinates.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "identifier", + "text" : "withTextureTransform" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -37646,17 +37813,23 @@ "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "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\/mesh\/withtexturetransform(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/withTextureTransform(_:)", "taskGroups" : [ ], - "title" : "icosahedron(radius:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV11icosahedron6radius5faces8wrapMode8materialACSd_AC5FacesOAC04WrapG0Os11AnyHashableVSgtFZ" + "title" : "withTextureTransform(_:)", + "usr" : "s:6Euclid4MeshV20withTextureTransformyAcA0E0VF" }, { + "abstract" : [ + { + "text" : "Returns the sum of two angles.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -37679,7 +37852,7 @@ }, { "kind" : "identifier", - "text" : ">=" + "text" : "+" }, { "kind" : "text", @@ -37691,7 +37864,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -37699,7 +37873,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -37707,33 +37882,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], "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\/angle\/+(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/+(_:_:)", "taskGroups" : [ ], - "title" : ">=(_:_:)", - "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5AngleV" + "title" : "+(_:_:)", + "usr" : "s:6Euclid5AngleV1poiyA2C_ACtFZ" }, { + "abstract" : [ + { + "text" : "Encodes this plane into the given encoder.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -37744,32 +37917,15 @@ }, { "kind" : "identifier", - "text" : "xor" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" - }, - { - "kind" : "text", - "text" : ">(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV3xor_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : "encode" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "isCancelled" + "text" : "to" }, { "kind" : "text", @@ -37777,36 +37933,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : ") -> " + "text" : ") " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "kind" : "keyword", + "text" : "throws" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "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", + "path" : "\/documentation\/euclid\/plane\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/encode(to:)", "taskGroups" : [ ], - "title" : "xor(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV3xor_11isCancelledACx_SbyXEtSlRzAC7ElementRtzlFZ" + "title" : "encode(to:)", + "usr" : "s:6Euclid5PlaneV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Indicates whether the path is a closed path.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -37816,7 +37968,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -37824,7 +37976,15 @@ }, { "kind" : "identifier", - "text" : "isClosed" + "text" : "rotated" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -37832,24 +37992,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/isclosed", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isClosed", + "path" : "\/documentation\/euclid\/vector\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)", "taskGroups" : [ ], - "title" : "isClosed", - "usr" : "s:6Euclid4PathV8isClosedSbvp" + "title" : "rotated(by:)", + "usr" : "s:6Euclid6VectorV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "Returns an array containing the red, green, blue, and alpha components of the color.", + "text" : "The red component of the color.", "type" : "text" } ], @@ -37867,36 +38036,32 @@ }, { "kind" : "identifier", - "text" : "components" + "text" : "r" }, { "kind" : "text", - "text" : ": [" + "text" : ": " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", "text" : "Double" - }, - { - "kind" : "text", - "text" : "]" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/components", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/components", + "path" : "\/documentation\/euclid\/color\/r", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/r", "taskGroups" : [ ], - "title" : "components", - "usr" : "s:6Euclid5ColorV10componentsSaySdGvp" + "title" : "r", + "usr" : "s:6Euclid5ColorV1rSdvp" }, { "abstract" : [ { - "text" : "Returns a Boolean value that indicates whether the specified point lies on the line.", + "text" : "Computes a set of edges where the polygon intersects a plane.", "type" : "text" } ], @@ -37914,16 +38079,24 @@ }, { "kind" : "identifier", - "text" : "containsPoint" + "text" : "edges" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "intersecting" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", @@ -37931,50 +38104,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:Sh", + "text" : "Set" + }, + { + "kind" : "text", + "text" : "<" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + }, + { + "kind" : "text", + "text" : ">" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/containsPoint(_:)", + "path" : "\/documentation\/euclid\/polygon\/edges(intersecting:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)", "taskGroups" : [ ], - "title" : "containsPoint(_:)", - "usr" : "s:6Euclid4LineV13containsPointySbAA6VectorVF" - }, - { - "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" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)" - ], - "title" : "Operators" - } - ], - "title" : "Equatable Implementations" + "title" : "edges(intersecting:)", + "usr" : "s:6Euclid7PolygonV5edges12intersectingShyAA11LineSegmentVGAA5PlaneV_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.", + "text" : "The magnitude of the quaternion.", "type" : "text" } ], @@ -37992,7 +38152,7 @@ }, { "kind" : "identifier", - "text" : "uniqueEdges" + "text" : "length" }, { "kind" : "text", @@ -38000,37 +38160,27 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sh", - "text" : "Set" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" - }, - { - "kind" : "text", - "text" : ">" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/uniqueedges", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/uniqueEdges", + "path" : "\/documentation\/euclid\/quaternion\/length", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/length", "taskGroups" : [ ], - "title" : "uniqueEdges", - "usr" : "s:6Euclid4MeshV11uniqueEdgesShyAA11LineSegmentVGvp" + "title" : "length", + "usr" : "s:6Euclid10QuaternionV6lengthSdvp" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Indicates whether the path is a closed path.", "type" : "text" } ], @@ -38040,7 +38190,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -38048,15 +38198,7 @@ }, { "kind" : "identifier", - "text" : "rotated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "isClosed" }, { "kind" : "text", @@ -38064,32 +38206,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/rotated(by:)-5mcqw", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-5mcqw", + "path" : "\/documentation\/euclid\/path\/isclosed", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/isClosed", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid13TransformablePAAE7rotated2byxAA10QuaternionV_tF" + "title" : "isClosed", + "usr" : "s:6Euclid4PathV8isClosedSbvp" }, { "abstract" : [ { - "text" : "Creates a new mesh that is the combination of the polygons from all the specified meshes.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -38115,113 +38249,56 @@ }, { "kind" : "identifier", - "text" : "merge" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" + "text" : "*=" }, { "kind" : "text", - "text" : ">(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5mergeyACxSlRzAC7ElementRtzlFZ1TL_xmfp", - "text" : "T" + "text" : " " }, { "kind" : "text", - "text" : ") -> " + "text" : "(" }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - } - ], - "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", - "taskGroups" : [ - - ], - "title" : "merge(_:)", - "usr" : "s:6Euclid4MeshV5mergeyACxSlRzAC7ElementRtzlFZ" - }, - { - "abstract" : [ - { - "text" : "Creates a rotation from an axis and angle.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?(" - }, - { - "kind" : "externalParam", - "text" : "axis" + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "Self" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "angle" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "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\/rotation\/init(axis:angle:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(axis:angle:)", + "path" : "\/documentation\/euclid\/polygon\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/*=(_:_:)", "taskGroups" : [ ], - "title" : "init(axis:angle:)", - "usr" : "s:6Euclid8RotationV4axis5angleACSgAA6VectorV_AA5AngleVtcfc" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid7PolygonV" }, { "abstract" : [ { - "text" : "Creates a new line segment by decoding from the given decoder.", + "text" : "Encodes this angle into the given encoder.", "type" : "text" } ], @@ -38231,7 +38308,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "encode" }, { "kind" : "text", @@ -38239,7 +38324,7 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "to" }, { "kind" : "text", @@ -38247,8 +38332,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", @@ -38259,20 +38344,28 @@ "text" : "throws" } ], - "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\/angle\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/encode(to:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid11LineSegmentV4fromACs7Decoder_p_tKcfc" + "title" : "encode(to:)", + "usr" : "s:6Euclid5AngleV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of polygons.", + "text" : "Supported ", + "type" : "text" + }, + { + "code" : "NSSecureCodable", + "type" : "codeVoice" + }, + { + "text" : " Material base classes.", "type" : "text" } ], @@ -38290,7 +38383,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -38298,15 +38391,7 @@ }, { "kind" : "identifier", - "text" : "convexHull" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "of" + "text" : "codableClasses" }, { "kind" : "text", @@ -38314,33 +38399,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:s8AnyClassa", + "text" : "AnyClass" }, { "kind" : "text", - "text" : "]) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/convexhull(of:)-6c896", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896", + "path" : "\/documentation\/euclid\/polygon\/codableclasses", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses", "taskGroups" : [ ], - "title" : "convexHull(of:)", - "usr" : "s:6Euclid4MeshV10convexHull2ofACSayAA7PolygonVG_tFZ" + "title" : "codableClasses", + "usr" : "s:6Euclid7PolygonV14codableClassesSayyXlXpGvpZ" }, { "abstract" : [ { - "text" : "Angle representing a half-rotation.", + "text" : "Angle representing a quarter rotation.", "type" : "text" } ], @@ -38366,7 +38446,7 @@ }, { "kind" : "identifier", - "text" : "pi" + "text" : "halfPi" }, { "kind" : "text", @@ -38380,18 +38460,18 @@ ], "kind" : "org.swift.docc.kind.typeProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/pi", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/pi", + "path" : "\/documentation\/euclid\/angle\/halfpi", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/halfPi", "taskGroups" : [ ], - "title" : "pi", - "usr" : "s:6Euclid5AngleV2piACvpZ" + "title" : "halfPi", + "usr" : "s:6Euclid5AngleV6halfPiACvpZ" }, { "abstract" : [ { - "text" : "Creates an angle representing the trigonometric arc tangent of the vector you provide.", + "text" : "Combines with the specified rotation.", "type" : "text" } ], @@ -38417,110 +38497,57 @@ }, { "kind" : "identifier", - "text" : "atan2" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "y" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "x" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" - }, - { - "kind" : "text", - "text" : ") -> " + "text" : "*=" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" - } - ], - "kind" : "org.swift.docc.kind.typeMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/atan2(y:x:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/atan2(y:x:)", - "taskGroups" : [ - - ], - "title" : "atan2(y:x:)", - "usr" : "s:6Euclid5AngleV5atan21y1xACSd_SdtFZ" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "polygon" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(polygon:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)", + "path" : "\/documentation\/euclid\/rotation\/*=(_:_:)-68kkw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/*=(_:_:)-68kkw", "taskGroups" : [ ], - "title" : "init(polygon:)", - "usr" : "s:6Euclid4PathV7polygonAcA7PolygonV_tcfc" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid8RotationV2meoiyyACz_ACtFZ" }, { "abstract" : [ { - "text" : "Returns a new vector representing the maximum of the components of the two vectors.", + "text" : "Curve or uncurve the point.", "type" : "text" } ], @@ -38538,7 +38565,7 @@ }, { "kind" : "identifier", - "text" : "max" + "text" : "curved" }, { "kind" : "text", @@ -38546,17 +38573,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" }, { "kind" : "text", @@ -38564,24 +38582,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" } ], - "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\/pathpoint\/curved(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curved(_:)", "taskGroups" : [ ], - "title" : "max(_:_:)", - "usr" : "s:6Euclid3maxyAA6VectorVAD_ADtF" + "title" : "curved(_:)", + "usr" : "s:6Euclid9PathPointV6curvedyACSbF" }, { "abstract" : [ { - "text" : "The points that make up the corners of the bounds.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -38591,7 +38609,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -38599,11 +38617,19 @@ }, { "kind" : "identifier", - "text" : "corners" + "text" : "scale" }, { "kind" : "text", - "text" : ": [" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", @@ -38612,18 +38638,18 @@ }, { "kind" : "text", - "text" : "]" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/corners", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners", + "path" : "\/documentation\/euclid\/transformable\/scale(by:)-8ec9r", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/scale(by:)-8ec9r", "taskGroups" : [ ], - "title" : "corners", - "usr" : "s:6Euclid6BoundsV7cornersSayAA6VectorVGvp" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF" }, { "availableLanguages" : [ @@ -38648,7 +38674,7 @@ }, { "kind" : "identifier", - "text" : "!=" + "text" : "..<" }, { "kind" : "text", @@ -38676,27 +38702,33 @@ }, { "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\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/!=(_:_:)", + "path" : "\/documentation\/euclid\/vector\/'.._(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/.._(_:_:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" + "title" : "..<(_:_:)", + "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { - "abstract" : [ - { - "text" : "Creates a rotation around the X axis.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], @@ -38719,7 +38751,11 @@ }, { "kind" : "identifier", - "text" : "pitch" + "text" : "!=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", @@ -38727,8 +38763,15 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", @@ -38736,24 +38779,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\/pitch(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/pitch(_:)", + "path" : "\/documentation\/euclid\/quaternion\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/!=(_:_:)", "taskGroups" : [ ], - "title" : "pitch(_:)", - "usr" : "s:6Euclid8RotationV5pitchyAcA5AngleVFZ" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid10QuaternionV" }, { "abstract" : [ { - "text" : "Tessellates the polygon into triangles.", + "text" : "Encodes the vector into the given encoder.", "type" : "text" } ], @@ -38771,89 +38814,48 @@ }, { "kind" : "identifier", - "text" : "triangulate" + "text" : "encode" }, { "kind" : "text", - "text" : "() -> [" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:s7EncoderP", + "text" : "Encoder" }, { "kind" : "text", - "text" : "]" + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], "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\/vector\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)", "taskGroups" : [ ], - "title" : "triangulate()", - "usr" : "s:6Euclid7PolygonV11triangulateSayACGyF" - }, - { - "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" - }, - { - "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" : "encode(to:)", + "usr" : "s:6Euclid6VectorV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -38871,7 +38873,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "rotated" }, { "kind" : "text", @@ -38887,23 +38889,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4PathV", + "text" : "Path" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/transform(by:)", + "path" : "\/documentation\/euclid\/path\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/rotated(by:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid4PathV" + "title" : "rotated(by:)", + "usr" : "s:6Euclid4PathV7rotated2byAcA8RotationV_tF" }, { "availableLanguages" : [ @@ -38912,81 +38919,89 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "cgPath" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CGPathRef", - "text" : "CGPath" + "kind" : "identifier", + "text" : "..." }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "detail" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "text" : "Self" }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { - "kind" : "externalParam", - "text" : "color" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SN", + "text" : "ClosedRange" }, { "kind" : "text", - "text" : ": " + "text" : "<" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : "Self" }, { "kind" : "text", - "text" : "?)" + "text" : ">" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/init(cgpath:detail:color:)", - "platforms" : [ - - ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(cgPath:detail:color:)", + "path" : "\/documentation\/euclid\/linesegment\/'...(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/...(_:_:)", "taskGroups" : [ ], - "title" : "init(cgPath:detail:color:)", - "usr" : "s:6Euclid4PathV02cgB06detail5colorACSo9CGPathRefa_SiAA5ColorVSgtcfc" + "title" : "...(_:_:)", + "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Deprecated.", + "text" : "Creates a Euclid", + "type" : "text" + }, + { + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform", + "isActive" : true, + "type" : "reference" + }, + { + "text" : " from a simd matrix.", "type" : "text" } ], @@ -38996,60 +39011,52 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "with" + "text" : "init" }, { "kind" : "text", "text" : "(" }, - { - "kind" : "externalParam", - "text" : "color" - }, - { - "kind" : "text", - "text" : ": " - }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "c:@SA@simd_float4x4", + "text" : "simd_float4x4" }, { "kind" : "text", - "text" : "?) -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/with(color:)", + "path" : "\/documentation\/euclid\/transform\/init(_:)-7hvb3", "platforms" : [ - + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "13.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "10.15", + "name" : "macOS", + "unavailable" : false + } ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-7hvb3", "taskGroups" : [ ], - "title" : "with(color:)", - "usr" : "s:6Euclid4PathV4with5colorAcA5ColorVSg_tF" + "title" : "init(_:)", + "usr" : "s:6Euclid9TransformVyACSo13simd_float4x4acfc" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "The end point of the line segment.", "type" : "text" } ], @@ -39059,7 +39066,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -39067,15 +39074,7 @@ }, { "kind" : "identifier", - "text" : "translate" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "end" }, { "kind" : "text", @@ -39085,26 +39084,22 @@ "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\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/translate(by:)", + "path" : "\/documentation\/euclid\/linesegment\/end", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/end", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "end", + "usr" : "s:6Euclid11LineSegmentV3endAA6VectorVvp" }, { "abstract" : [ { - "text" : "Returns a translated copy of the value.", + "text" : "The length of the line segment.", "type" : "text" } ], @@ -39114,7 +39109,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -39122,49 +39117,75 @@ }, { "kind" : "identifier", - "text" : "translated" + "text" : "length" }, { "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\/linesegment\/length", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/length", + "taskGroups" : [ + + ], + "title" : "length", + "usr" : "s:6Euclid11LineSegmentV6lengthSdvp" + }, + { + "abstract" : [ + { + "text" : "The position of the path point.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "position" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/translated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translated(by:)", + "path" : "\/documentation\/euclid\/pathpoint\/position", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/position", "taskGroups" : [ ], - "title" : "translated(by:)", - "usr" : "s:6Euclid4PathV10translated2byAcA6VectorV_tF" + "title" : "position", + "usr" : "s:6Euclid9PathPointV8positionAA6VectorVvp" }, { "abstract" : [ { - "text" : "Creates a quaternion from a rotation matrix.", + "text" : "Returns one or more polygons needed to fill the path.", "type" : "text" } ], @@ -39174,36 +39195,88 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "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" : "(" + "text" : "?) -> [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "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\/quaternion\/init(_:)-7xa5o", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-7xa5o", + "path" : "\/documentation\/euclid\/path\/facepolygons(material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/facePolygons(material:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid10QuaternionVyAcA8RotationVcfc" + "title" : "facePolygons(material:)", + "usr" : "s:6Euclid4PathV12facePolygons8materialSayAA7PolygonVGs11AnyHashableVSg_tF" + }, + { + "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" }, { "abstract" : [ { - "text" : "Computes the convex hull of a set of points.", + "text" : "Computes the point of intersection between a line and a plane.", "type" : "text" } ], @@ -39211,14 +39284,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -39229,23 +39294,15 @@ }, { "kind" : "identifier", - "text" : "convexHull" - }, - { - "kind" : "text", - "text" : "<" - }, - { - "kind" : "genericParameter", - "text" : "T" + "text" : "intersection" }, { "kind" : "text", - "text" : ">(" + "text" : "(" }, { "kind" : "externalParam", - "text" : "of" + "text" : "with" }, { "kind" : "text", @@ -39253,45 +39310,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VectorV7ElementRtzlFZ1TL_xmfp", - "text" : "T" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "material" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "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.instanceMethod", "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\/plane\/intersection(with:)-79olr", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-79olr", "taskGroups" : [ ], - "title" : "convexHull(of:material:)", - "usr" : "s:6Euclid4MeshV10convexHull2of8materialACx_s11AnyHashableVSgtSTRzAA6VectorV7ElementRtzlFZ" + "title" : "intersection(with:)", + "usr" : "s:6Euclid5PlaneV12intersection4withAA6VectorVSgAA4LineV_tF" }, { "availableLanguages" : [ @@ -39300,69 +39344,71 @@ "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" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> " + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" + "text" : "Self" + }, + { + "kind" : "text", + "text" : ")" } ], - "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\/vector\/+=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/+=(_:_:)", "taskGroups" : [ ], - "title" : "intersect(_:isCancelled:)", - "usr" : "s:6Euclid4MeshV9intersect_11isCancelledA2C_SbyXEtF" + "title" : "+=(_:_:)", + "usr" : "s:s18AdditiveArithmeticPsE2peoiyyxz_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates an extruded text model from a string.", + "text" : "Creates an extruded text model from an attributed string", "type" : "text" } ], @@ -39396,30 +39442,13 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" + "preciseIdentifier" : "c:objc(cs)NSAttributedString", + "text" : "NSAttributedString" }, { "kind" : "text", "text" : ", " }, - { - "kind" : "externalParam", - "text" : "font" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CTFontRef", - "text" : "CTFont" - }, - { - "kind" : "text", - "text" : "?, " - }, { "kind" : "externalParam", "text" : "width" @@ -39496,18 +39525,18 @@ ], "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:)", + "path" : "\/documentation\/euclid\/mesh\/text(_:width:depth:detail:material:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/text(_:width:depth:detail:material:)", "taskGroups" : [ ], - "title" : "text(_:font:width:depth:detail:material:)", - "usr" : "s:6Euclid4MeshV4text_4font5width5depth6detail8materialACSS_So9CTFontRefaSgSdSgSdSis11AnyHashableVSgtFZ" + "title" : "text(_:width:depth:detail:material:)", + "usr" : "s:6Euclid4MeshV4text_5width5depth6detail8materialACSo18NSAttributedStringC_SdSgSdSis11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "The distinct (disconnected) submeshes that make up the mesh.", "type" : "text" } ], @@ -39517,7 +39546,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -39525,157 +39554,101 @@ }, { "kind" : "identifier", - "text" : "rotated" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "by" + "text" : "submeshes" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/rotated(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/rotated(by:)", + "path" : "\/documentation\/euclid\/mesh\/submeshes", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/submeshes", "taskGroups" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid6VectorV7rotated2byAcA8RotationV_tF" + "title" : "submeshes", + "usr" : "s:6Euclid4MeshV9submeshesSayACGvp" }, { - "abstract" : [ - { - "text" : "Creates a path point.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "static" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "texcoord" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "!=" }, { "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "color" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "text" : "Self" }, { "kind" : "text", - "text" : "?, " + "text" : ", " }, { - "kind" : "externalParam", - "text" : "isCurved" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sb", "text" : "Bool" - }, - { - "kind" : "text", - "text" : ")" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "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\/line\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/!=(_:_:)", "taskGroups" : [ ], - "title" : "init(_:texcoord:color:isCurved:)", - "usr" : "s:6Euclid9PathPointV_8texcoord5color8isCurvedAcA6VectorV_AHSgAA5ColorVSgSbtcfc" - }, - { - "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" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4LineV" }, { "abstract" : [ { - "text" : "Creates a vector from an array of coordinates.", + "text" : "Returns a Boolean value that indicates if the specified point is within the bounds.", "type" : "text" } ], @@ -39685,39 +39658,81 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "([" + "text" : " " + }, + { + "kind" : "identifier", + "text" : "containsPoint" + }, + { + "kind" : "text", + "text" : "(" }, { "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(_:)-63ct7", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(_:)-63ct7", + "path" : "\/documentation\/euclid\/bounds\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid6VectorVyACSaySdGcfc" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid6BoundsV13containsPointySbAA6VectorVF" }, { - "abstract" : [ + "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" : [ { - "text" : "Creates an array of glyph contours from a string and font you provide.", - "type" : "text" + "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" + }, + { "availableLanguages" : [ "swift" ], @@ -39740,96 +39755,52 @@ }, { "kind" : "identifier", - "text" : "text" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "font" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:@T@CTFontRef", - "text" : "CTFont" + "text" : ">=" }, { "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "width" + "text" : " " }, { "kind" : "text", - "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" + "text" : "Self" }, { "kind" : "text", - "text" : ") -> [" + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" - }, - { - "kind" : "text", - "text" : "]" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.operator", "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\/plane\/_=(_:_:)-5nk27", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/_=(_:_:)-5nk27", "taskGroups" : [ ], - "title" : "text(_:font:width:detail:)", - "usr" : "s:6Euclid4PathV4text_4font5width6detailSayACGSS_So9CTFontRefaSgSdSgSitFZ" + "title" : ">=(_:_:)", + "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Returns the product of two quaternions (i.e. the effect of rotating the left by the right).", + "text" : "A Boolean value that indicates whether the mesh includes vertex colors.", "type" : "text" } ], @@ -39839,70 +39810,90 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "var" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "hasVertexColors" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "*" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/hasvertexcolors", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexColors", + "taskGroups" : [ + + ], + "title" : "hasVertexColors", + "usr" : "s:6Euclid4MeshV15hasVertexColorsSbvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : " " + "text" : "Creates a ", + "type" : "text" }, { - "kind" : "text", - "text" : "(" + "code" : "Quaternion", + "type" : "codeVoice" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : " from a simd quaternion.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "c:@SA@simd_quatd", + "text" : "simd_quatd" }, { "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "text" : ")" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/*(_:_:)-305tn", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-305tn", + "path" : "\/documentation\/euclid\/quaternion\/init(_:)-27eol", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(_:)-27eol", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid10QuaternionV1moiyA2C_ACtFZ" + "title" : "init(_:)", + "usr" : "s:6Euclid10QuaternionVyACSo10simd_quatdacfc" }, { "abstract" : [ { - "text" : "Replace\/remove point color.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -39920,41 +39911,44 @@ }, { "kind" : "identifier", - "text" : "withColor" + "text" : "translate" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : "?) -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : ")" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/withcolor(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/withColor(_:)", + "path" : "\/documentation\/euclid\/path\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/translate(by:)", "taskGroups" : [ ], - "title" : "withColor(_:)", - "usr" : "s:6Euclid9PathPointV9withColoryAcA0E0VSgF" + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid4PathV" }, { "abstract" : [ { - "text" : "Use default alignment heuristic for the given path.", + "text" : "Merges coplanar polygons that share one or more edges, provided the result will be convex.", "type" : "text" } ], @@ -39964,43 +39958,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "case" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "identifier", - "text" : "`default`" - } - ], - "kind" : "org.swift.docc.kind.enumerationCase", - "language" : "swift", - "path" : "\/documentation\/euclid\/path\/alignment\/default", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/default", - "taskGroups" : [ - - ], - "title" : "Path.Alignment.default", - "usr" : "s:6Euclid4PathV9AlignmentO7defaultyA2EmF" - }, - { - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -40008,32 +39966,32 @@ }, { "kind" : "identifier", - "text" : "blue" + "text" : "detriangulate" }, { "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\/blue", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/blue", + "path" : "\/documentation\/euclid\/mesh\/detriangulate()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/detriangulate()", "taskGroups" : [ ], - "title" : "blue", - "usr" : "s:6Euclid5ColorV4blueACvpZ" + "title" : "detriangulate()", + "usr" : "s:6Euclid4MeshV13detriangulateACyF" }, { "abstract" : [ { - "text" : "Alignment mode to use when extruding along a path.", + "text" : "Generate both the front and back faces.", "type" : "text" } ], @@ -40043,7 +40001,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "enum" + "text" : "case" }, { "kind" : "text", @@ -40051,54 +40009,23 @@ }, { "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" : [ - { - "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" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/Equatable-Implementations" - ], - "title" : "Default Implementations" + "text" : "frontAndBack" } ], - "title" : "Path.Alignment", - "usr" : "s:6Euclid4PathV9AlignmentO" - }, - { - "availableLanguages" : [ - "swift" - ], - "kind" : "org.swift.docc.kind.collectionGroup", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/angle\/equatable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/Equatable-Implementations", + "path" : "\/documentation\/euclid\/mesh\/faces\/frontandback", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/frontAndBack", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/!=(_:_:)" - ], - "title" : "Operators" - } + ], - "title" : "Equatable Implementations" + "title" : "Mesh.Faces.frontAndBack", + "usr" : "s:6Euclid4MeshV5FacesO12frontAndBackyA2EmF" }, { "abstract" : [ { - "text" : "Creates a copy of the vertex with the specified normal.", + "text" : "Returns a Boolean value that indicates whether the specified point lies on the line segment.", "type" : "text" } ], @@ -40116,7 +40043,7 @@ }, { "kind" : "identifier", - "text" : "withNormal" + "text" : "containsPoint" }, { "kind" : "text", @@ -40133,19 +40060,19 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vertex\/withnormal(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withNormal(_:)", + "path" : "\/documentation\/euclid\/linesegment\/containspoint(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/containsPoint(_:)", "taskGroups" : [ ], - "title" : "withNormal(_:)", - "usr" : "s:6Euclid6VertexV10withNormalyAcA6VectorVF" + "title" : "containsPoint(_:)", + "usr" : "s:6Euclid11LineSegmentV13containsPointySbAA6VectorVF" }, { "availableLanguages" : [ @@ -40154,7 +40081,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -40162,62 +40097,52 @@ }, { "kind" : "identifier", - "text" : "localizedDescription" + "text" : "!=" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/ioerror\/localizeddescription", - "platforms" : [ + "text" : "Self" + }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "8.0", - "name" : "iOS", - "unavailable" : false + "kind" : "text", + "text" : ", " }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "10.10", - "name" : "macOS", - "unavailable" : false + "kind" : "typeIdentifier", + "text" : "Self" }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "9.0", - "name" : "tvOS", - "unavailable" : false + "kind" : "text", + "text" : ") -> " }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "2.0", - "name" : "watchOS", - "unavailable" : false + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/localizedDescription", + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/alignment\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/!=(_:_:)", "taskGroups" : [ ], - "title" : "localizedDescription", - "usr" : "s:s5ErrorP10FoundationE20localizedDescriptionSSvp::SYNTHESIZED::s:6Euclid4MeshV7IOErrorV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4PathV9AlignmentO" }, { "abstract" : [ { - "text" : "Replace\/remove path point colors.", + "text" : "Creates a closed regular polygon.", "type" : "text" } ], @@ -40225,6 +40150,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -40235,12 +40168,54 @@ }, { "kind" : "identifier", - "text" : "withColor" + "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" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid5ColorV", @@ -40256,20 +40231,28 @@ "text" : "Path" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/withcolor(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/withColor(_:)", + "path" : "\/documentation\/euclid\/path\/polygon(radius:sides:color:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/polygon(radius:sides:color:)", "taskGroups" : [ ], - "title" : "withColor(_:)", - "usr" : "s:6Euclid4PathV9withColoryAcA0D0VSgF" + "title" : "polygon(radius:sides:color:)", + "usr" : "s:6Euclid4PathV7polygon6radius5sides5colorACSd_SiAA5ColorVSgtFZ" }, { "abstract" : [ { - "text" : "Rotate the value in place.", + "text" : "Creates a mesh from a RealityKit ", + "type" : "text" + }, + { + "code" : "ModelEntity", + "type" : "codeVoice" + }, + { + "text" : " with optional material mapping.", "type" : "text" } ], @@ -40279,23 +40262,24 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "init" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "rotate" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:17RealityFoundation11ModelEntityC", + "text" : "ModelEntity" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { "kind" : "externalParam", - "text" : "by" + "text" : "materialLookup" }, { "kind" : "text", @@ -40303,44 +40287,44 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid4MeshV26RealityKitMaterialProvidera", + "text" : "RealityKitMaterialProvider" }, { "kind" : "text", - "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\/mesh\/init(_:materiallookup:)-3drza", + "platforms" : [ + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "15.0", + "name" : "iOS", + "unavailable" : false + }, + { + "beta" : false, + "deprecated" : false, + "introducedAt" : "12.0", + "name" : "macOS", + "unavailable" : false + } + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-3drza", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "init(_:materialLookup:)", + "usr" : "s:6Euclid4MeshV_14materialLookupAC17RealityFoundation11ModelEntityC_s11AnyHashableVSgAE8Material_pcSgtcfc" }, { "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 the angle between this vector and the specified plane.", "type" : "text" } ], @@ -40350,7 +40334,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -40358,36 +40342,49 @@ }, { "kind" : "identifier", - "text" : "materials" + "text" : "angle" }, { "kind" : "text", - "text" : ": [" + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "with" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : "?]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/materials", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/materials", + "path" : "\/documentation\/euclid\/vector\/angle(with:)-9sfg1", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-9sfg1", "taskGroups" : [ ], - "title" : "materials", - "usr" : "s:6Euclid4MeshV9materialsSays11AnyHashableVSgGvp" + "title" : "angle(with:)", + "usr" : "s:6Euclid6VectorV5angle4withAA5AngleVAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Multiplies the components of the quaternion by the specified value.", + "text" : "Creates an axis-aligned cubical mesh.", "type" : "text" } ], @@ -40413,33 +40410,37 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " + "text" : "cube" }, { "kind" : "text", "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "center" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "size" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", @@ -40447,73 +40448,79 @@ }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.operator", - "language" : "swift", - "path" : "\/documentation\/euclid\/quaternion\/*=(_:_:)-lsgo", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*=(_:_:)-lsgo", - "taskGroups" : [ - - ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid10QuaternionV2meoiyyACz_SdtFZ" - }, - { - "abstract" : [ + "text" : ", " + }, { - "text" : "A closure that converts a RealityKit material to a Euclid material.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "externalParam", + "text" : "faces" + }, { - "kind" : "keyword", - "text" : "typealias" + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", + "text" : "Faces" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "RealityKitMaterialProvider" - } - ], - "kind" : "org.swift.docc.kind.typeAlias", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/realitykitmaterialprovider", - "platforms" : [ + "kind" : "externalParam", + "text" : "wrapMode" + }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "15.0", - "name" : "iOS", - "unavailable" : false + "kind" : "text", + "text" : ": " }, { - "beta" : false, - "deprecated" : false, - "introducedAt" : "12.0", - "name" : "macOS", - "unavailable" : false + "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" } ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/RealityKitMaterialProvider", + "kind" : "org.swift.docc.kind.typeMethod", + "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", "taskGroups" : [ ], - "title" : "Mesh.RealityKitMaterialProvider", - "usr" : "s:6Euclid4MeshV26RealityKitMaterialProvidera" + "title" : "cube(center:size:faces:wrapMode:material:)", + "usr" : "s:6Euclid4MeshV4cube6center4size5faces8wrapMode8materialAcA6VectorV_SdAC5FacesOAC04WrapH0Os11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Creates a closed rectangular path.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -40521,14 +40528,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -40539,7 +40538,7 @@ }, { "kind" : "identifier", - "text" : "rectangle" + "text" : "transform" }, { "kind" : "text", @@ -40547,7 +40546,7 @@ }, { "kind" : "externalParam", - "text" : "width" + "text" : "by" }, { "kind" : "text", @@ -40555,33 +40554,54 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ", " - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/transform(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/transform(by:)", + "taskGroups" : [ + + ], + "title" : "transform(by:)", + "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid7PolygonV" + }, + { + "abstract" : [ { - "kind" : "externalParam", - "text" : "height" + "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:Sd", - "text" : "Double" + "kind" : "identifier", + "text" : "rotated" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "color" + "text" : "by" }, { "kind" : "text", @@ -40589,33 +40609,32 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "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\/transformable\/rotated(by:)-76uyz", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/rotated(by:)-76uyz", "taskGroups" : [ ], - "title" : "rectangle(width:height:color:)", - "usr" : "s:6Euclid4PathV9rectangle5width6height5colorACSd_SdAA5ColorVSgtFZ" + "title" : "rotated(by:)", + "usr" : "s:6Euclid13TransformableP7rotated2byxAA8RotationV_tF" }, { "abstract" : [ { - "text" : "Returns the ordered array of polygon edges.", + "text" : "Returns the componentwise difference between two vectors.", "type" : "text" } ], @@ -40625,7 +40644,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -40633,36 +40660,54 @@ }, { "kind" : "identifier", - "text" : "orderedEdges" + "text" : "-" }, { "kind" : "text", - "text" : ": [" + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "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.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:6Euclid6VectorV1soiyA2C_ACtFZ" }, { "abstract" : [ { - "text" : "Creates a line from an origin and direction.", + "text" : "Encodes this vertex into the given encoder.", "type" : "text" } ], @@ -40672,32 +40717,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" - }, - { - "kind" : "text", - "text" : "?(" - }, - { - "kind" : "externalParam", - "text" : "origin" + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "encode" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "direction" + "text" : "to" }, { "kind" : "text", @@ -40705,23 +40741,27 @@ }, { "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.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/line\/init(origin:direction:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/init(origin:direction:)", + "path" : "\/documentation\/euclid\/vertex\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/encode(to:)", "taskGroups" : [ ], - "title" : "init(origin:direction:)", - "usr" : "s:6Euclid4LineV6origin9directionACSgAA6VectorV_AHtcfc" + "title" : "encode(to:)", + "usr" : "s:6Euclid6VertexV6encode2toys7Encoder_p_tKF" }, { "abstract" : [ @@ -40784,27 +40824,51 @@ "usr" : "s:6Euclid4PathV11transformed2byAcA9TransformV_tF" }, { + "abstract" : [ + { + "text" : "Creates a rotation from a quaternion.", + "type" : "text" + } + ], "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" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(from:)" - ], - "title" : "Initializers" + "kind" : "keyword", + "text" : "init" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" + }, + { + "kind" : "text", + "text" : ")" } ], - "title" : "Decodable Implementations" + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/init(_:)-5w6mn", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/init(_:)-5w6mn", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid8RotationVyAcA10QuaternionVcfc" }, { "abstract" : [ { - "text" : "Flips the face direction and vertex normals of all polygons within the mesh.", + "text" : "Computes the convex hull of a set of polygons.", "type" : "text" } ], @@ -40812,6 +40876,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -40822,11 +40894,28 @@ }, { "kind" : "identifier", - "text" : "inverted" + "text" : "convexHull" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "of" + }, + { + "kind" : "text", + "text" : ": [" + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" + }, + { + "kind" : "text", + "text" : "]) -> " }, { "kind" : "typeIdentifier", @@ -40834,56 +40923,75 @@ "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/inverted()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/inverted()", + "path" : "\/documentation\/euclid\/mesh\/convexhull(of:)-6c896", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/convexHull(of:)-6c896", "taskGroups" : [ ], - "title" : "inverted()", - "usr" : "s:6Euclid4MeshV8invertedACyF" + "title" : "convexHull(of:)", + "usr" : "s:6Euclid4MeshV10convexHull2ofACSayAA7PolygonVG_tFZ" }, { - "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" : [ + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/!=(_:_:)" - ], - "title" : "Operators" + "text" : "Rotate the value in place.", + "type" : "text" } ], - "title" : "Equatable Implementations" - }, - { "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" : [ + "fragments" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/encode(to:)" - ], - "title" : "Instance Methods" + "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" : ")" } ], - "title" : "Encodable Implementations" + "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", + "taskGroups" : [ + + ], + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "A 3D surface made of polygons.", + "text" : "Transform the value in place.", "type" : "text" } ], @@ -40893,260 +41001,196 @@ "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" + "kind" : "keyword", + "text" : "func" }, { - "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\/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\/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" : "text", + "text" : " " }, { - "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" : "identifier", + "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" : "text", + "text" : " " }, { - "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" : "keyword", + "text" : "inout" }, { - "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:)" - ], - "title" : "Creating Meshes from SceneKit Models" + "kind" : "typeIdentifier", + "text" : "Self" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlString:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlData:materialLookup:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:materialLookup:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(url:ignoringTransforms:materialLookup:)" - ], - "title" : "Importing Meshes" + "kind" : "text", + "text" : ", " }, { - "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:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/write(to:materialLookup:)" - ], - "title" : "Exporting Meshes" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { - "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" : "text", + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.operator", + "language" : "swift", + "path" : "\/documentation\/euclid\/transformable\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)", + "taskGroups" : [ + + ], + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ" + }, + { + "abstract" : [ { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/containsPoint(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/edges(intersecting:)" - ], - "title" : "Comparing Meshes" - }, + "text" : "Return a copy of the mesh with spherically-mapped texture coordinates.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "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" : "keyword", + "text" : "func" }, { - "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()", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/cubeMapped()" - ], - "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" : "identifier", + "text" : "sphereMapped" }, { - "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" : "() -> " }, + { + "kind" : "typeIdentifier", + "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" + }, + { + "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" : [ { "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:)" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)" ], - "title" : "Adjusting Mesh Topology" + "title" : "Initializers" + } + ], + "title" : "Decodable Implementations" + }, + { + "abstract" : [ + { + "text" : "Rotate the value in place.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError" - ], - "title" : "Structures" + "kind" : "text", + "text" : " " }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-3drza", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-7p5hd", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-22brv", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materials:)-4k8gs", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)" - ], - "title" : "Initializers" + "kind" : "identifier", + "text" : "rotate" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/hasVertexNormals" - ], - "title" : "Instance Properties" + "kind" : "text", + "text" : "(" }, { - "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" : "externalParam", + "text" : "by" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Material", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/MaterialProvider", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/RealityKitMaterialProvider", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/SCNMaterialProvider", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLMaterialProvider" - ], - "title" : "Type Aliases" + "kind" : "text", + "text" : ": " }, { - "identifiers" : [ - "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" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { - "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" : "text", + "text" : ")" } ], - "title" : "Mesh", - "usr" : "s:6Euclid4MeshV" + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/rotate(by:)-11t07", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotate(by:)-11t07", + "taskGroups" : [ + + ], + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA8RotationV_tF::SYNTHESIZED::s:6Euclid9TransformV" }, { "abstract" : [ { - "text" : "Efficiently extrudes an array of paths along their respective face normals, avoiding duplicate work.", + "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" } ], @@ -41156,15 +41200,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -41172,41 +41208,63 @@ }, { "kind" : "identifier", - "text" : "extrude" + "text" : "uniqueEdges" }, { "kind" : "text", - "text" : "([" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:Sh", + "text" : "Set" }, { "kind" : "text", - "text" : "], " + "text" : "<" }, { - "kind" : "externalParam", - "text" : "depth" + "kind" : "typeIdentifier", + "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" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : "The bounds of the mesh.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "twist" + "kind" : "identifier", + "text" : "bounds" }, { "kind" : "text", @@ -41214,16 +41272,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "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" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "init" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "sections" + "text" : "polygon" }, { "kind" : "text", @@ -41231,84 +41309,108 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" }, { "kind" : "text", - "text" : ", " - }, + "text" : ")" + } + ], + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/path\/init(polygon:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/init(polygon:)", + "taskGroups" : [ + + ], + "title" : "init(polygon:)", + "usr" : "s:6Euclid4PathV7polygonAcA7PolygonV_tcfc" + }, + { + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "externalParam", - "text" : "faces" + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "identifier", + "text" : "..." }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "text" : "Self" }, { "kind" : "text", - "text" : "?, " + "text" : ", " }, { - "kind" : "externalParam", - "text" : "isCancelled" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", - "text" : "CancellationHandler" + "preciseIdentifier" : "s:SN", + "text" : "ClosedRange" }, { "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\/extrude(_:depth:twist:sections:faces:material:iscancelled:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/extrude(_:depth:twist:sections:faces:material:isCancelled:)", + "path" : "\/documentation\/euclid\/vector\/'...(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/...(_:_:)", "taskGroups" : [ ], - "title" : "extrude(_:depth:twist:sections:faces:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV7extrude_5depth5twist8sections5faces8material11isCancelledACSayAA4PathVG_SdAA5AngleVSiAC5FacesOs11AnyHashableVSgSbyXEtFZ" + "title" : "...(_:_:)", + "usr" : "s:SLsE3zzzoiySNyxGx_xtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "An angle or 2D rotation.", + "text" : "Translate the value in place.", "type" : "text" } ], @@ -41318,7 +41420,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "func" }, { "kind" : "text", @@ -41326,87 +41428,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" + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/translate(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/translate(by:)", + "taskGroups" : [ + + ], + "title" : "translate(by:)", + "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Creates a new line from the specified line segment.", + "text" : "Split the mesh along a plane.", "type" : "text" } ], @@ -41416,31 +41475,73 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "split" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "along" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid11LineSegmentV", - "text" : "LineSegment" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" }, { "kind" : "text", - "text" : ")" + "text" : ") -> (front" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "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.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\/mesh\/split(along:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/split(along:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid4LineVyAcA0B7SegmentVcfc" + "title" : "split(along:)", + "usr" : "s:6Euclid4MeshV5split5alongACSg5front_AF4backtAA5PlaneV_tF" }, { "availableLanguages" : [ @@ -41465,7 +41566,7 @@ }, { "kind" : "identifier", - "text" : "..<" + "text" : "<=" }, { "kind" : "text", @@ -41493,36 +41594,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\/linesegment\/'.._(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/.._(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/_=(_:_:)-8q2nt", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-8q2nt", "taskGroups" : [ ], - "title" : "..<(_:_:)", - "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "<=(_:_:)", + "usr" : "s:SLsE2leoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Encodes this line segment into the given encoder.", + "text" : "Deprecated.", "type" : "text" } ], @@ -41540,7 +41629,7 @@ }, { "kind" : "identifier", - "text" : "encode" + "text" : "with" }, { "kind" : "text", @@ -41548,7 +41637,7 @@ }, { "kind" : "externalParam", - "text" : "to" + "text" : "color" }, { "kind" : "text", @@ -41556,32 +41645,36 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7EncoderP", - "text" : "Encoder" + "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/linesegment\/encode(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/encode(to:)", + "path" : "\/documentation\/euclid\/path\/with(color:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/with(color:)", "taskGroups" : [ ], - "title" : "encode(to:)", - "usr" : "s:6Euclid11LineSegmentV6encode2toys7Encoder_p_tKF" + "title" : "with(color:)", + "usr" : "s:6Euclid4PathV4with5colorAcA5ColorVSg_tF" }, { "abstract" : [ { - "text" : "A Boolean value that indicates whether the polygon includes texture coordinates.", + "text" : "The points that make up the corners of the bounds.", "type" : "text" } ], @@ -41599,27 +41692,31 @@ }, { "kind" : "identifier", - "text" : "hasTexcoords" + "text" : "corners" }, { "kind" : "text", - "text" : ": " + "text" : ": [" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + }, + { + "kind" : "text", + "text" : "]" } ], "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/hastexcoords", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasTexcoords", + "path" : "\/documentation\/euclid\/bounds\/corners", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/corners", "taskGroups" : [ ], - "title" : "hasTexcoords", - "usr" : "s:6Euclid7PolygonV12hasTexcoordsSbvp" + "title" : "corners", + "usr" : "s:6Euclid6BoundsV7cornersSayAA6VectorVGvp" }, { "abstract" : [ @@ -41632,6 +41729,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -41642,19 +41747,31 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "*=" + }, + { + "kind" : "text", + "text" : " " }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "keyword", + "text" : "inout" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "typeIdentifier", + "text" : "Self" + }, + { + "kind" : "text", + "text" : ", " }, { "kind" : "typeIdentifier", @@ -41666,20 +41783,20 @@ "text" : ")" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/transform(by:)", + "path" : "\/documentation\/euclid\/vertex\/*=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*=(_:_:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "*=(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Creates a new transform.", + "text" : "Returns the inverse angle.", "type" : "text" } ], @@ -41689,75 +41806,64 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "offset" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "identifier", + "text" : "-" }, { "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "rotation" + "text" : " " }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" - }, - { - "kind" : "text", - "text" : "?, " - }, - { - "kind" : "externalParam", - "text" : "scale" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : "?)" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.operator", "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\/angle\/-(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/-(_:)", "taskGroups" : [ ], - "title" : "init(offset:rotation:scale:)", - "usr" : "s:6Euclid9TransformV6offset8rotation5scaleAcA6VectorVSg_AA8RotationVSgAItcfc" + "title" : "-(_:)", + "usr" : "s:6Euclid5AngleV1sopyA2CFZ" }, { + "abstract" : [ + { + "text" : "Returns a quaternion with its components multiplied by the specified value.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], @@ -41772,7 +41878,7 @@ }, { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -41780,50 +41886,57 @@ }, { "kind" : "identifier", - "text" : "clear" + "text" : "*" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "text", + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "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.typeProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/color\/clear", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/clear", - "taskGroups" : [ + "path" : "\/documentation\/euclid\/quaternion\/*(_:_:)-2drke", + "platforms" : [ ], - "title" : "clear", - "usr" : "s:6Euclid5ColorV5clearACvpZ" - }, - { - "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", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/*(_:_:)-2drke", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/init(from:)" - ], - "title" : "Initializers" - } + ], - "title" : "Decodable Implementations" + "title" : "*(_:_:)", + "usr" : "s:6Euclid10QuaternionV1moiyA2C_SdtFZ" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Returns a transformed copy of the mesh.", "type" : "text" } ], @@ -41841,7 +41954,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "transformed" }, { "kind" : "text", @@ -41857,28 +41970,41 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/scale(by:)-2pycj", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/scale(by:)-2pycj", + "path" : "\/documentation\/euclid\/mesh\/transformed(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/transformed(by:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "transformed(by:)", + "usr" : "s:6Euclid4MeshV11transformed2byAcA9TransformV_tF" }, { "abstract" : [ { - "text" : "Clip polygon to the specified plane", + "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" } ], @@ -41896,53 +42022,58 @@ }, { "kind" : "identifier", - "text" : "clip" + "text" : "subtracting" }, { "kind" : "text", "text" : "(" }, { - "kind" : "externalParam", - "text" : "to" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", - "text" : ": " + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "kind" : "externalParam", + "text" : "isCancelled" }, { "kind" : "text", - "text" : ") -> [" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid7PolygonV", - "text" : "Polygon" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : "]" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/clip(to:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)", + "path" : "\/documentation\/euclid\/mesh\/subtracting(_:iscancelled:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/subtracting(_:isCancelled:)", "taskGroups" : [ ], - "title" : "clip(to:)", - "usr" : "s:6Euclid7PolygonV4clip2toSayACGAA5PlaneV_tF" + "title" : "subtracting(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV11subtracting_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Creates an axis-aligned cuboidal mesh.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -41950,14 +42081,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -41968,7 +42091,7 @@ }, { "kind" : "identifier", - "text" : "cube" + "text" : "scaled" }, { "kind" : "text", @@ -41976,7 +42099,7 @@ }, { "kind" : "externalParam", - "text" : "center" + "text" : "by" }, { "kind" : "text", @@ -41989,54 +42112,63 @@ }, { "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "size" - }, - { - "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/scaled(by:)-5dvvh", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scaled(by:)-5dvvh", + "taskGroups" : [ + + ], + "title" : "scaled(by:)", + "usr" : "s:6Euclid6BoundsV6scaled2byAcA6VectorV_tF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ", " + "text" : "Returns a new mesh representing the volume shared by both the mesh", + "type" : "text" }, { - "kind" : "externalParam", - "text" : "faces" + "text" : " ", + "type" : "text" }, { - "kind" : "text", - "text" : ": " - }, + "text" : "parameter and the receiver. If these do not intersect, an empty mesh will be returned.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV5FacesO", - "text" : "Faces" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "wrapMode" + "kind" : "identifier", + "text" : "intersection" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8WrapModeO", - "text" : "WrapMode" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", @@ -42044,7 +42176,7 @@ }, { "kind" : "externalParam", - "text" : "material" + "text" : "isCancelled" }, { "kind" : "text", @@ -42052,12 +42184,12 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -42065,20 +42197,20 @@ "text" : "Mesh" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "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", + "path" : "\/documentation\/euclid\/mesh\/intersection(_:iscancelled:)-swift.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/intersection(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : "cube(center:size:faces:wrapMode:material:)", - "usr" : "s:6Euclid4MeshV4cube6center4size5faces8wrapMode8materialAcA6VectorV_AkC5FacesOAC04WrapH0Os11AnyHashableVSgtFZ" + "title" : "intersection(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV12intersection_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Returns the area of the polygon.", + "text" : "Scale the value in place.", "type" : "text" } ], @@ -42088,7 +42220,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "func" }, { "kind" : "text", @@ -42096,7 +42228,15 @@ }, { "kind" : "identifier", - "text" : "area" + "text" : "scale" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", @@ -42104,24 +42244,28 @@ }, { "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\/polygon\/area", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/area", + "path" : "\/documentation\/euclid\/pathpoint\/scale(by:)-7pxnt", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/scale(by:)-7pxnt", "taskGroups" : [ ], - "title" : "area", - "usr" : "s:6Euclid7PolygonV4areaSdvp" + "title" : "scale(by:)", + "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Computes the point of intersection between a line segment and a plane.", "type" : "text" } ], @@ -42139,7 +42283,7 @@ }, { "kind" : "identifier", - "text" : "scale" + "text" : "intersection" }, { "kind" : "text", @@ -42147,12 +42291,21 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "with" }, { "kind" : "text", "text" : ": " }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid11LineSegmentV", + "text" : "LineSegment" + }, + { + "kind" : "text", + "text" : ") -> " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", @@ -42160,32 +42313,30 @@ }, { "kind" : "text", - "text" : ")" + "text" : "?" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/scale(by:)-677dp", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scale(by:)-677dp", + "path" : "\/documentation\/euclid\/plane\/intersection(with:)-9o28g", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/intersection(with:)-9o28g", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : "intersection(with:)", + "usr" : "s:6Euclid5PlaneV12intersection4withAA6VectorVSgAA11LineSegmentV_tF" }, { + "abstract" : [ + { + "text" : "Returns a new vector representing the maximum of the components of the two vectors.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -42196,11 +42347,7 @@ }, { "kind" : "identifier", - "text" : "!=" - }, - { - "kind" : "text", - "text" : " " + "text" : "max" }, { "kind" : "text", @@ -42208,7 +42355,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -42216,7 +42364,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { "kind" : "text", @@ -42224,24 +42373,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sb", - "text" : "Bool" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.operator", + "kind" : "org.swift.docc.kind.function", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/faces\/!=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Faces\/!=(_:_:)", + "path" : "\/documentation\/euclid\/max(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/max(_:_:)", "taskGroups" : [ ], - "title" : "!=(_:_:)", - "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid4MeshV5FacesO" + "title" : "max(_:_:)", + "usr" : "s:6Euclid3maxyAA6VectorVAD_ADtF" }, { "abstract" : [ { - "text" : "Creates a new plane by decoding from the given decoder.", + "text" : "Returns a Boolean value that indicates whether the lines intersect.", "type" : "text" } ], @@ -42251,48 +42400,49 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "identifier", + "text" : "intersects" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" + "preciseIdentifier" : "s:6Euclid4LineV", + "text" : "Line" }, { "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.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/plane\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/init(from:)", + "path" : "\/documentation\/euclid\/line\/intersects(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersects(_:)", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid5PlaneV4fromACs7Decoder_p_tKcfc" + "title" : "intersects(_:)", + "usr" : "s:6Euclid4LineV10intersectsySbACF" }, { "abstract" : [ { - "text" : "Returns a rotated copy of the value.", + "text" : "Rotate the value in place.", "type" : "text" } ], @@ -42310,7 +42460,7 @@ }, { "kind" : "identifier", - "text" : "rotated" + "text" : "rotate" }, { "kind" : "text", @@ -42326,69 +42476,31 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid8RotationV", - "text" : "Rotation" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "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:)", - "taskGroups" : [ + "path" : "\/documentation\/euclid\/plane\/rotate(by:)-1azi6", + "platforms" : [ ], - "title" : "rotated(by:)", - "usr" : "s:6Euclid5PlaneV7rotated2byAcA8RotationV_tF" - }, - { - "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" - }, - { - "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", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/rotate(by:)-1azi6", "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/hash(into:)" - ], - "title" : "Instance Methods" - } + ], - "title" : "Hashable Implementations" + "title" : "rotate(by:)", + "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Create a mesh from an STL string.", + "text" : "Creates a rotation from Euler angles applied in roll\/yaw\/pitch order.", "type" : "text" } ], @@ -42402,11 +42514,11 @@ }, { "kind" : "text", - "text" : "?(" + "text" : "(" }, { "kind" : "externalParam", - "text" : "stlString" + "text" : "roll" }, { "kind" : "text", @@ -42414,8 +42526,42 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:SS", - "text" : "String" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "yaw" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + }, + { + "kind" : "text", + "text" : ", " + }, + { + "kind" : "externalParam", + "text" : "pitch" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", @@ -42424,13 +42570,16 @@ ], "kind" : "org.swift.docc.kind.initializer", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(stlstring:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(stlString:)", + "path" : "\/documentation\/euclid\/quaternion\/init(roll:yaw:pitch:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/init(roll:yaw:pitch:)", "taskGroups" : [ ], - "title" : "init(stlString:)", - "usr" : "s:6Euclid4MeshV9stlStringACSgSS_tcfc" + "title" : "init(roll:yaw:pitch:)", + "usr" : "s:6Euclid10QuaternionV4roll3yaw5pitchAcA5AngleV_A2Htcfc" }, { "availableLanguages" : [ @@ -42455,7 +42604,7 @@ }, { "kind" : "identifier", - "text" : "..<" + "text" : ">=" }, { "kind" : "text", @@ -42483,46 +42632,36 @@ }, { "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\/plane\/'.._(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/.._(_:_:)", + "path" : "\/documentation\/euclid\/linesegment\/_=(_:_:)-5dvuy", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/_=(_:_:)-5dvuy", "taskGroups" : [ ], - "title" : "..<(_:_:)", - "usr" : "s:SLsE3zzloiySnyxGx_xtFZ::SYNTHESIZED::s:6Euclid5PlaneV" + "title" : ">=(_:_:)", + "usr" : "s:SLsE2geoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { - "abstract" : [ - { - "text" : "A closure that maps a Euclid material to an STL facet color.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -42530,62 +42669,52 @@ }, { "kind" : "identifier", - "text" : "STLColorProvider" - } - ], - "kind" : "org.swift.docc.kind.typeAlias", - "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/stlcolorprovider", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/STLColorProvider", - "taskGroups" : [ - - ], - "title" : "Mesh.STLColorProvider", - "usr" : "s:6Euclid4MeshV16STLColorProvidera" - }, - { - "abstract" : [ + "text" : "!=" + }, { - "text" : "Creates a color from an array of component values.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "kind" : "text", + "text" : " " + }, { - "kind" : "keyword", - "text" : "init" + "kind" : "text", + "text" : "(" + }, + { + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : "?([" + "text" : ", " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "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\/color\/init(_:)-53lhy", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Color\/init(_:)-53lhy", + "path" : "\/documentation\/euclid\/pathpoint\/!=(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/!=(_:_:)", "taskGroups" : [ ], - "title" : "init(_:)", - "usr" : "s:6Euclid5ColorVyACSgSaySdGcfc" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid9PathPointV" }, { "abstract" : [ { - "text" : "Returns the point where the specified plane intersects the line.", + "text" : "Creates an extruded text model from a string.", "type" : "text" } ], @@ -42593,6 +42722,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -42603,15 +42740,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", @@ -42619,55 +42765,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" + "preciseIdentifier" : "c:@T@CTFontRef", + "text" : "CTFont" }, { "kind" : "text", - "text" : ") -> " + "text" : "?, " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "width" }, { "kind" : "text", - "text" : "?" - } - ], - "kind" : "org.swift.docc.kind.instanceMethod", - "language" : "swift", - "path" : "\/documentation\/euclid\/line\/intersection(with:)-7s1sd", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Line\/intersection(with:)-7s1sd", - "taskGroups" : [ - - ], - "title" : "intersection(with:)", - "usr" : "s:6Euclid4LineV12intersection4withAA6VectorVSgAA5PlaneV_tF" - }, - { - "abstract" : [ - { - "text" : "Axis of rotation", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : ": " + }, { - "kind" : "keyword", - "text" : "var" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : " " + "text" : "?, " }, { - "kind" : "identifier", - "text" : "axis" + "kind" : "externalParam", + "text" : "depth" }, { "kind" : "text", @@ -42675,115 +42799,67 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - } - ], - "kind" : "org.swift.docc.kind.instanceProperty", - "language" : "swift", - "path" : "\/documentation\/euclid\/rotation\/axis", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/axis", - "taskGroups" : [ - - ], - "title" : "axis", - "usr" : "s:6Euclid8RotationV4axisAA6VectorVvp" - }, - { - "abstract" : [ - { - "text" : "Creates a path point from a vertex.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ - { - "kind" : "keyword", - "text" : "init" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VertexV", - "text" : "Vertex" + "kind" : "externalParam", + "text" : "detail" }, { "kind" : "text", - "text" : ")" - } - ], - "kind" : "org.swift.docc.kind.initializer", - "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/init(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/init(_:)", - "taskGroups" : [ - - ], - "title" : "init(_:)", - "usr" : "s:6Euclid9PathPointVyAcA6VertexVcfc" - }, - { - "abstract" : [ - { - "text" : "Returns a Boolean value that indicates if the specified point is within the bounds.", - "type" : "text" - } - ], - "availableLanguages" : [ - "swift" - ], - "fragments" : [ + "text" : ": " + }, { - "kind" : "keyword", - "text" : "func" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { - "kind" : "identifier", - "text" : "containsPoint" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "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.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/containspoint(_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/containsPoint(_:)", + "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" : "containsPoint(_:)", - "usr" : "s:6Euclid6BoundsV13containsPointySbAA6VectorVF" + "title" : "text(_:font:width:depth:detail:material:)", + "usr" : "s:6Euclid4MeshV4text_4font5width5depth6detail8materialACSS_So9CTFontRefaSgSdSgSdSis11AnyHashableVSgtFZ" }, { "abstract" : [ { - "text" : "Protocol for transformable types.", + "text" : "Creates a new plane by decoding from the given decoder.", "type" : "text" } ], @@ -42793,53 +42869,48 @@ "fragments" : [ { "kind" : "keyword", - "text" : "protocol" + "text" : "init" }, { "kind" : "text", - "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" : [ + "kind" : "externalParam", + "text" : "from" + }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*(_:_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)" - ], - "title" : "Operators" + "kind" : "text", + "text" : ": " }, { - "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" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:s7DecoderP", + "text" : "Decoder" + }, + { + "kind" : "text", + "text" : ") " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "title" : "Transformable", - "usr" : "s:6Euclid13TransformableP" + "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" }, { "abstract" : [ { - "text" : "Creates a linear path from a start and end point.", + "text" : "Creates a quadratic bezier spline.", "type" : "text" } ], @@ -42865,33 +42936,24 @@ }, { "kind" : "identifier", - "text" : "line" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "text" : "curve" }, { "kind" : "text", - "text" : ", " + "text" : "([" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid9PathPointV", + "text" : "PathPoint" }, { "kind" : "text", - "text" : ", " + "text" : "], " }, { "kind" : "externalParam", - "text" : "color" + "text" : "detail" }, { "kind" : "text", @@ -42899,12 +42961,12 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:Si", + "text" : "Int" }, { "kind" : "text", - "text" : "?) -> " + "text" : ") -> " }, { "kind" : "typeIdentifier", @@ -42914,18 +42976,18 @@ ], "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/line(_:_:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/line(_:_:color:)", + "path" : "\/documentation\/euclid\/path\/curve(_:detail:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/curve(_:detail:)", "taskGroups" : [ ], - "title" : "line(_:_:color:)", - "usr" : "s:6Euclid4PathV4line__5colorAcA6VectorV_AgA5ColorVSgtFZ" + "title" : "curve(_:detail:)", + "usr" : "s:6Euclid4PathV5curve_6detailACSayAA0B5PointVG_SitFZ" }, { "abstract" : [ { - "text" : "Creates an angle representing the trigonometric arc tangent of the value you provide.", + "text" : "The angle of rotation.", "type" : "text" } ], @@ -42935,12 +42997,47 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "var" }, { "kind" : "text", "text" : " " }, + { + "kind" : "identifier", + "text" : "angle" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/rotation\/angle", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/angle", + "taskGroups" : [ + + ], + "title" : "angle", + "usr" : "s:6Euclid8RotationV5angleAA5AngleVvp" + }, + { + "abstract" : [ + { + "text" : "Returns a scaled copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { "kind" : "keyword", "text" : "func" @@ -42951,12 +43048,20 @@ }, { "kind" : "identifier", - "text" : "atan" + "text" : "scaled" }, { "kind" : "text", "text" : "(" }, + { + "kind" : "externalParam", + "text" : "by" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:Sd", @@ -42968,34 +43073,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" } ], - "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\/plane\/scaled(by:)-6axqe", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/scaled(by:)-6axqe", "taskGroups" : [ ], - "title" : "atan(_:)", - "usr" : "s:6Euclid5AngleV4atanyACSdFZ" + "title" : "scaled(by:)", + "usr" : "s:6Euclid5PlaneV6scaled2byACSd_tF" }, { - "abstract" : [ - { - "text" : "Rotate the value in place.", - "type" : "text" - } - ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -43003,108 +43102,122 @@ }, { "kind" : "identifier", - "text" : "rotate" + "text" : "errorUserInfo" }, { "kind" : "text", - "text" : "(" + "text" : ": [" }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:SS", + "text" : "String" }, { "kind" : "text", - "text" : ": " + "text" : " : " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid10QuaternionV", - "text" : "Quaternion" + "kind" : "keyword", + "text" : "Any" }, { "kind" : "text", - "text" : ")" + "text" : "]" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/rotate(by:)-r7j4", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/rotate(by:)-r7j4", + "path" : "\/documentation\/euclid\/mesh\/ioerror\/erroruserinfo", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/IOError\/errorUserInfo", "taskGroups" : [ ], - "title" : "rotate(by:)", - "usr" : "s:6Euclid13TransformablePAAE6rotate2byyAA10QuaternionV_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "errorUserInfo", + "usr" : "s:6Euclid4MeshV7IOErrorV13errorUserInfoSDySSypGvp" }, { + "abstract" : [ + { + "text" : "Creates a quaternion representing a rotation around the Y axis.", + "type" : "text" + } + ], "availableLanguages" : [ "swift" ], "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "static" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "scnGeometry" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNGeometry", - "text" : "SCNGeometry" + "kind" : "identifier", + "text" : "yaw" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { - "kind" : "externalParam", - "text" : "materialLookup" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19SCNMaterialProvidera", - "text" : "SCNMaterialProvider" - }, - { - "kind" : "text", - "text" : "?)" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(scngeometry:materiallookup:)", + "path" : "\/documentation\/euclid\/quaternion\/yaw(_:)", "platforms" : [ ], - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(scnGeometry:materialLookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/yaw(_:)", "taskGroups" : [ ], - "title" : "init(scnGeometry:materialLookup:)", - "usr" : "s:6Euclid4MeshV11scnGeometry14materialLookupACSgSo11SCNGeometryC_s11AnyHashableVSgSo11SCNMaterialCcSgtcfc" + "title" : "yaw(_:)", + "usr" : "s:6Euclid10QuaternionV3yawyAcA5AngleVFZ" }, { - "abstract" : [ + "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" : [ { - "text" : "Transform the value in place.", - "type" : "text" + "identifiers" : [ + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/bounds" + ], + "title" : "Instance Properties" } ], + "title" : "Bounded Implementations" + }, + { "availableLanguages" : [ "swift" ], @@ -43127,7 +43240,7 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "!=" }, { "kind" : "text", @@ -43138,12 +43251,12 @@ "text" : "(" }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "typeIdentifier", + "text" : "Self" }, { "kind" : "text", - "text" : " " + "text" : ", " }, { "kind" : "typeIdentifier", @@ -43151,32 +43264,28 @@ }, { "kind" : "text", - "text" : ", " + "text" : ") -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "kind" : "text", - "text" : ")" + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], "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:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid7PolygonV" + "title" : "!=(_:_:)", + "usr" : "s:SQsE2neoiySbx_xtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" }, { "abstract" : [ { - "text" : "Creates a new vector by decoding from the given decoder.", + "text" : "A normalized direction vector pointing forwards relative to the current rotation.", "type" : "text" } ], @@ -43186,15 +43295,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "var" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "from" + "kind" : "identifier", + "text" : "forward" }, { "kind" : "text", @@ -43202,32 +43311,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:s7DecoderP", - "text" : "Decoder" - }, - { - "kind" : "text", - "text" : ") " - }, - { - "kind" : "keyword", - "text" : "throws" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/init(from:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/init(from:)", + "path" : "\/documentation\/euclid\/rotation\/forward", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Rotation\/forward", "taskGroups" : [ ], - "title" : "init(from:)", - "usr" : "s:6Euclid6VectorV4fromACs7Decoder_p_tKcfc" + "title" : "forward", + "usr" : "s:6Euclid8RotationV7forwardAA6VectorVvp" }, { "abstract" : [ { - "text" : "Linearly interpolates between two path points.", + "text" : "Returns a new bounds inset by the specified amount.", "type" : "text" } ], @@ -43245,20 +43346,19 @@ }, { "kind" : "identifier", - "text" : "lerp" + "text" : "inset" }, { "kind" : "text", "text" : "(" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "kind" : "externalParam", + "text" : "by" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", @@ -43271,24 +43371,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid6BoundsV", + "text" : "Bounds" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/lerp(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/lerp(_:_:)", + "path" : "\/documentation\/euclid\/bounds\/inset(by:)-4gk62", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/inset(by:)-4gk62", "taskGroups" : [ ], - "title" : "lerp(_:_:)", - "usr" : "s:6Euclid9PathPointV4lerpyA2C_SdtF" + "title" : "inset(by:)", + "usr" : "s:6Euclid6BoundsV5inset2byACSd_tF" }, { "abstract" : [ { - "text" : "The face normal for the path.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -43298,7 +43398,15 @@ "fragments" : [ { "kind" : "keyword", - "text" : "var" + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, + { + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", @@ -43306,32 +43414,52 @@ }, { "kind" : "identifier", - "text" : "faceNormal" + "text" : "*" }, { "kind" : "text", - "text" : ": " + "text" : " " + }, + { + "kind" : "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" : "typeIdentifier", + "text" : "Self" } ], - "kind" : "org.swift.docc.kind.instanceProperty", + "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/facenormal", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/faceNormal", + "path" : "\/documentation\/euclid\/vector\/*(_:_:)-98mbu", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-98mbu", "taskGroups" : [ ], - "title" : "faceNormal", - "usr" : "s:6Euclid4PathV10faceNormalAA6VectorVvp" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VectorV" }, { "abstract" : [ { - "text" : "Scale the value in place.", + "text" : "Creates a quaternion representing a rotation around the X axis.", "type" : "text" } ], @@ -43341,47 +43469,55 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "static" }, { "kind" : "text", "text" : " " }, { - "kind" : "identifier", - "text" : "scale" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "(" + "text" : " " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "identifier", + "text" : "pitch" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5AngleV", + "text" : "Angle" }, { "kind" : "text", - "text" : ")" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.typeMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/bounds\/scale(by:)-7dhh3", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/scale(by:)-7dhh3", + "path" : "\/documentation\/euclid\/quaternion\/pitch(_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/pitch(_:)", "taskGroups" : [ ], - "title" : "scale(by:)", - "usr" : "s:6Euclid13TransformablePAAE5scale2byySd_tF::SYNTHESIZED::s:6Euclid6BoundsV" + "title" : "pitch(_:)", + "usr" : "s:6Euclid10QuaternionV5pitchyAcA5AngleVFZ" }, { "availableLanguages" : [ @@ -43389,22 +43525,39 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/path\/bounded-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Bounded-Implementations", + "path" : "\/documentation\/euclid\/mesh\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Transformable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/bounds" + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*(_:_:)", + "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/*=(_:_:)" ], - "title" : "Instance Properties" + "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" : "Bounded Implementations" + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Returns a vector with its components multiplied by the specified value.", + "text" : "Creates a polygon from a set of vertex positions.", "type" : "text" } ], @@ -43414,70 +43567,61 @@ "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" : "*" + "text" : ">(" }, { - "kind" : "text", - "text" : " " + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV_8materialACSgx_s11AnyHashableVSgtcSTRzAA6VectorV7ElementRtzlufc1TL_xmfp", + "text" : "T" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "externalParam", + "text" : "material" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" }, { "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\/*(_:_:)-5mcy5", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/*(_:_:)-5mcy5", + "path" : "\/documentation\/euclid\/polygon\/init(_:material:)-8gsiw", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/init(_:material:)-8gsiw", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid6VectorV1moiyA2C_SdtFZ" + "title" : "init(_:material:)", + "usr" : "s:6Euclid7PolygonV_8materialACSgx_s11AnyHashableVSgtcSTRzAA6VectorV7ElementRtzlufc" }, { "abstract" : [ { - "text" : "The perpendicular distance from the world origin to the plane.", + "text" : "Clip polygon to the specified plane", "type" : "text" } ], @@ -43487,7 +43631,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "let" + "text" : "func" }, { "kind" : "text", @@ -43495,7 +43639,15 @@ }, { "kind" : "identifier", - "text" : "w" + "text" : "clip" + }, + { + "kind" : "text", + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", @@ -43503,24 +43655,37 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid5PlaneV", + "text" : "Plane" + }, + { + "kind" : "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\/plane\/w", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/w", + "path" : "\/documentation\/euclid\/polygon\/clip(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/clip(to:)", "taskGroups" : [ ], - "title" : "w", - "usr" : "s:6Euclid5PlaneV1wSdvp" + "title" : "clip(to:)", + "usr" : "s:6Euclid7PolygonV4clip2toSayACGAA5PlaneV_tF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "An empty bounds.", "type" : "text" } ], @@ -43538,7 +43703,7 @@ }, { "kind" : "keyword", - "text" : "func" + "text" : "let" }, { "kind" : "text", @@ -43546,134 +43711,71 @@ }, { "kind" : "identifier", - "text" : "*=" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "keyword", - "text" : "inout" - }, - { - "kind" : "text", - "text" : " " - }, - { - "kind" : "typeIdentifier", - "text" : "Self" + "text" : "empty" }, { "kind" : "text", - "text" : ", " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" - }, - { - "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\/linesegment\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/LineSegment\/*=(_:_:)", + "path" : "\/documentation\/euclid\/bounds\/empty", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/empty", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid11LineSegmentV" + "title" : "empty", + "usr" : "s:6Euclid6BoundsV5emptyACvpZ" }, { "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.", + "text" : "Creates a transform from a SceneKit transform matrix.", "type" : "text" } ], "availableLanguages" : [ "swift" ], - "kind" : "org.swift.docc.kind.module", - "language" : "swift", - "path" : "\/documentation\/euclid", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid", - "taskGroups" : [ - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/ConstructingMeshes", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/RenderingMeshes" - ], - "title" : "Using Euclid" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon" - ], - "title" : "Surfaces" - }, - { - "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" - }, + "fragments" : [ { - "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" : "keyword", + "text" : "init" }, { - "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" : "typeIdentifier", + "preciseIdentifier" : "c:@T@SCNMatrix4", + "text" : "SCNMatrix4" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounded", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable" - ], - "title" : "Protocols" + "kind" : "text", + "text" : ")" } ], - "title" : "Euclid", - "usr" : "Euclid" + "kind" : "org.swift.docc.kind.initializer", + "language" : "swift", + "path" : "\/documentation\/euclid\/transform\/init(_:)-83oy3", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/init(_:)-83oy3", + "taskGroups" : [ + + ], + "title" : "init(_:)", + "usr" : "s:6Euclid9TransformVyACSo13CATransform3DVcfc" }, { "abstract" : [ { - "text" : "Translate the value in place.", + "text" : "Returns a transformed copy of the value.", "type" : "text" } ], @@ -43681,6 +43783,14 @@ "swift" ], "fragments" : [ + { + "kind" : "keyword", + "text" : "static" + }, + { + "kind" : "text", + "text" : " " + }, { "kind" : "keyword", "text" : "func" @@ -43691,44 +43801,52 @@ }, { "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" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "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\/transform\/translate(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/translate(by:)", + "path" : "\/documentation\/euclid\/plane\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Plane\/*(_:_:)", "taskGroups" : [ ], - "title" : "translate(by:)", - "usr" : "s:6Euclid13TransformablePAAE9translate2byyAA6VectorV_tF::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid5PlaneV" }, { "abstract" : [ { - "text" : "Returns the angle between this vector and another.", + "text" : "The center of the bounds. If the bounds is empty this will return the zero vector.", "type" : "text" } ], @@ -43738,7 +43856,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -43746,15 +43864,7 @@ }, { "kind" : "identifier", - "text" : "angle" - }, - { - "kind" : "text", - "text" : "(" - }, - { - "kind" : "externalParam", - "text" : "with" + "text" : "center" }, { "kind" : "text", @@ -43764,95 +43874,142 @@ "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid6VectorV", "text" : "Vector" - }, - { - "kind" : "text", - "text" : ") -> " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" } ], - "kind" : "org.swift.docc.kind.instanceMethod", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/angle(with:)-29paf", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/angle(with:)-29paf", + "path" : "\/documentation\/euclid\/bounds\/center", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/center", "taskGroups" : [ ], - "title" : "angle(with:)", - "usr" : "s:6Euclid6VectorV5angle4withAA5AngleVAC_tF" + "title" : "center", + "usr" : "s:6Euclid6BoundsV6centerAA6VectorVvp" }, { "abstract" : [ { - "text" : "Material used by a given polygon.", + "text" : "Returns a copy of the mesh with the specified old material replaced by a new one.", "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "func" }, { - "text" : " ", - "type" : "text" + "kind" : "text", + "text" : " " }, { - "text" : "This can be any type that conforms to ", - "type" : "text" + "kind" : "identifier", + "text" : "replacing" }, { - "code" : "Hashable", - "type" : "codeVoice" + "kind" : "text", + "text" : "(" }, { - "text" : ", but encoding\/decoding is only supported", - "type" : "text" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { - "text" : " ", - "type" : "text" + "kind" : "text", + "text" : "?, " }, { - "text" : "for the following types: ", - "type" : "text" + "kind" : "externalParam", + "text" : "with" }, { - "code" : "Color", - "type" : "codeVoice" + "kind" : "text", + "text" : ": " }, { - "text" : ", ", - "type" : "text" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { - "code" : "String", - "type" : "codeVoice" + "kind" : "text", + "text" : "?) -> " }, { - "text" : ", ", + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/replacing(_:with:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/replacing(_:with:)", + "taskGroups" : [ + + ], + "title" : "replacing(_:with:)", + "usr" : "s:6Euclid4MeshV9replacing_4withACs11AnyHashableVSg_AHtF" + }, + { + "abstract" : [ + { + "text" : "The maximum coordinate of the bounds.", "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "let" }, { - "code" : "Int", - "type" : "codeVoice" + "kind" : "text", + "text" : " " }, { - "text" : ", ", - "type" : "text" + "kind" : "identifier", + "text" : "max" }, { - "code" : "Data", - "type" : "codeVoice" + "kind" : "text", + "text" : ": " }, { - "text" : " or any ", + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/bounds\/max", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/max", + "taskGroups" : [ + + ], + "title" : "max", + "usr" : "s:6Euclid6BoundsV3maxAA6VectorVvp" + }, + { + "abstract" : [ + { + "text" : "Align extruded cross-sections with the X, Y or Z axis", "type" : "text" }, { - "code" : "NSSecureCodable", - "type" : "codeVoice" + "text" : " ", + "type" : "text" }, { - "text" : " type.", + "text" : "(whichever is most perpendicular to the extrusion path).", "type" : "text" } ], @@ -43862,7 +44019,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "case" }, { "kind" : "text", @@ -43870,23 +44027,23 @@ }, { "kind" : "identifier", - "text" : "Material" + "text" : "axis" } ], - "kind" : "org.swift.docc.kind.typeAlias", + "kind" : "org.swift.docc.kind.enumerationCase", "language" : "swift", - "path" : "\/documentation\/euclid\/polygon\/material-swift.typealias", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias", + "path" : "\/documentation\/euclid\/path\/alignment\/axis", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Path\/Alignment\/axis", "taskGroups" : [ ], - "title" : "Polygon.Material", - "usr" : "s:6Euclid7PolygonV8Materiala" + "title" : "Path.Alignment.axis", + "usr" : "s:6Euclid4PathV9AlignmentO4axisyA2EmF" }, { "abstract" : [ { - "text" : "Returns the distance between a point and the plane.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -43904,7 +44061,7 @@ }, { "kind" : "identifier", - "text" : "distance" + "text" : "rotated" }, { "kind" : "text", @@ -43912,7 +44069,7 @@ }, { "kind" : "externalParam", - "text" : "from" + "text" : "by" }, { "kind" : "text", @@ -43920,8 +44077,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", @@ -43929,24 +44086,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" } ], "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\/transform\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transform\/rotated(by:)", "taskGroups" : [ ], - "title" : "distance(from:)", - "usr" : "s:6Euclid5PlaneV8distance4fromSdAA6VectorV_tF" + "title" : "rotated(by:)", + "usr" : "s:6Euclid9TransformV7rotated2byAcA8RotationV_tF" }, { "abstract" : [ { - "text" : "A closure that maps a SceneKit material to a Euclid material.", + "text" : "A common protocol for objects that have a bounds.", "type" : "text" } ], @@ -43956,7 +44113,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "protocol" }, { "kind" : "text", @@ -43964,23 +44121,37 @@ }, { "kind" : "identifier", - "text" : "SCNMaterialProvider" + "text" : "Bounded" } ], - "kind" : "org.swift.docc.kind.typeAlias", + "kind" : "org.swift.docc.kind.protocol", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/scnmaterialprovider", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/SCNMaterialProvider", + "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" : "Mesh.SCNMaterialProvider", - "usr" : "s:6Euclid4MeshV19SCNMaterialProvidera" + "title" : "Bounded", + "usr" : "s:6Euclid7BoundedP" }, { "abstract" : [ { - "text" : "Returns a scaled copy of the value.", + "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" } ], @@ -43990,7 +44161,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "func" + "text" : "var" }, { "kind" : "text", @@ -43998,49 +44169,79 @@ }, { "kind" : "identifier", - "text" : "scaled" + "text" : "material" }, { "kind" : "text", - "text" : "(" + "text" : ": " }, { - "kind" : "externalParam", - "text" : "by" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ": " + "text" : "?" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/material-swift.property", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/material-swift.property", + "taskGroups" : [ + + ], + "title" : "material", + "usr" : "s:6Euclid7PolygonV8materials11AnyHashableVSgvp" + }, + { + "abstract" : [ + { + "text" : "The X component of the vector.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "text", + "text" : " " + }, + { + "kind" : "identifier", + "text" : "x" }, { "kind" : "text", - "text" : ") -> " + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "preciseIdentifier" : "s:Sd", + "text" : "Double" } ], - "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\/vector\/x", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/x", "taskGroups" : [ ], - "title" : "scaled(by:)", - "usr" : "s:6Euclid4PathV6scaled2byAcA6VectorV_tF" + "title" : "x", + "usr" : "s:6Euclid6VectorV1xSdvp" }, { "abstract" : [ { - "text" : "Creates a mesh from a SceneKit geometry, with optional material mapping.", + "text" : "Returns a scaled copy of the value.", "type" : "text" } ], @@ -44050,24 +44251,23 @@ "fragments" : [ { "kind" : "keyword", - "text" : "init" + "text" : "func" }, { "kind" : "text", - "text" : "?(" + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "c:objc(cs)SCNGeometry", - "text" : "SCNGeometry" + "kind" : "identifier", + "text" : "scaled" }, { "kind" : "text", - "text" : ", " + "text" : "(" }, { "kind" : "externalParam", - "text" : "materialLookup" + "text" : "by" }, { "kind" : "text", @@ -44075,28 +44275,33 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV19SCNMaterialProvidera", - "text" : "SCNMaterialProvider" + "preciseIdentifier" : "s:Sd", + "text" : "Double" }, { "kind" : "text", - "text" : "?)" + "text" : ") -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" } ], - "kind" : "org.swift.docc.kind.initializer", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/init(_:materiallookup:)-7p5hd", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/init(_:materialLookup:)-7p5hd", + "path" : "\/documentation\/euclid\/vector\/scaled(by:)-350oy", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/scaled(by:)-350oy", "taskGroups" : [ ], - "title" : "init(_:materialLookup:)", - "usr" : "s:6Euclid4MeshV_14materialLookupACSgSo11SCNGeometryC_s11AnyHashableVSgSo11SCNMaterialCcSgtcfc" + "title" : "scaled(by:)", + "usr" : "s:6Euclid6VectorV6scaled2byACSd_tF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Adds the quaternion rotation on the right to the one on the left.", "type" : "text" } ], @@ -44122,7 +44327,7 @@ }, { "kind" : "identifier", - "text" : "*=" + "text" : "+=" }, { "kind" : "text", @@ -44142,7 +44347,8 @@ }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -44150,8 +44356,8 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:6Euclid10QuaternionV", + "text" : "Quaternion" }, { "kind" : "text", @@ -44160,18 +44366,21 @@ ], "kind" : "org.swift.docc.kind.operator", "language" : "swift", - "path" : "\/documentation\/euclid\/transformable\/*=(_:_:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Transformable\/*=(_:_:)", + "path" : "\/documentation\/euclid\/quaternion\/+=(_:_:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Quaternion\/+=(_:_:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ" + "title" : "+=(_:_:)", + "usr" : "s:6Euclid10QuaternionV2peoiyyACz_ACtFZ" }, { "abstract" : [ { - "text" : "A polygon in 3D space.", + "text" : "Creates a copy of the vertex with the specified position.", "type" : "text" } ], @@ -44181,7 +44390,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "struct" + "text" : "func" }, { "kind" : "text", @@ -44189,112 +44398,41 @@ }, { "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" - }, - { - "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" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/containsPoint(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/edges(intersecting:)" - ], - "title" : "Comparing Polygons" - }, - { - "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" - }, - { - "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" - }, - { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals" - ], - "title" : "Instance Properties" + "text" : "withPosition" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapTexcoords(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/mapVertexColors(_:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)", - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withoutTexcoords()" - ], - "title" : "Instance Methods" + "kind" : "text", + "text" : "(" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/Material-swift.typealias" - ], - "title" : "Type Aliases" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" }, { - "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/codableClasses" - ], - "title" : "Type Properties" + "kind" : "text", + "text" : ") -> " }, { - "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" + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid6VertexV", + "text" : "Vertex" } ], - "title" : "Polygon", - "usr" : "s:6Euclid7PolygonV" + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/vertex\/withposition(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/withPosition(_:)", + "taskGroups" : [ + + ], + "title" : "withPosition(_:)", + "usr" : "s:6Euclid6VertexV12withPositionyAcA6VectorVF" }, { "abstract" : [ { - "text" : "Split the mesh along a plane.", + "text" : "Returns a rotated copy of the value.", "type" : "text" } ], @@ -44312,7 +44450,7 @@ }, { "kind" : "identifier", - "text" : "split" + "text" : "rotated" }, { "kind" : "text", @@ -44320,20 +44458,7 @@ }, { "kind" : "externalParam", - "text" : "along" - }, - { - "kind" : "text", - "text" : ": " - }, - { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5PlaneV", - "text" : "Plane" - }, - { - "kind" : "text", - "text" : ") -> (front" + "text" : "by" }, { "kind" : "text", @@ -44341,36 +44466,28 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV", - "text" : "Mesh" - }, - { - "kind" : "text", - "text" : "?, back" + "preciseIdentifier" : "s:6Euclid8RotationV", + "text" : "Rotation" }, { "kind" : "text", - "text" : ": " + "text" : ") -> " }, { "kind" : "typeIdentifier", "preciseIdentifier" : "s:6Euclid4MeshV", "text" : "Mesh" - }, - { - "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:)", + "path" : "\/documentation\/euclid\/mesh\/rotated(by:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/rotated(by:)", "taskGroups" : [ ], - "title" : "split(along:)", - "usr" : "s:6Euclid4MeshV5split5alongACSg5front_AF4backtAA5PlaneV_tF" + "title" : "rotated(by:)", + "usr" : "s:6Euclid4MeshV7rotated2byAcA8RotationV_tF" }, { "availableLanguages" : [ @@ -44378,22 +44495,39 @@ ], "kind" : "org.swift.docc.kind.collectionGroup", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/encodable-implementations", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/Encodable-Implementations", + "path" : "\/documentation\/euclid\/bounds\/transformable-implementations", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Bounds\/Transformable-Implementations", "taskGroups" : [ { "identifiers" : [ - "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/encode(to:)" + "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" : "Encodable Implementations" + "title" : "Transformable Implementations" }, { "abstract" : [ { - "text" : "Creates a curved path point at the specified position.", + "text" : "Removes hairline cracks by inserting additional vertices without altering the shape.", "type" : "text" } ], @@ -44401,14 +44535,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -44419,50 +44545,59 @@ }, { "kind" : "identifier", - "text" : "curve" + "text" : "makeWatertight" }, { "kind" : "text", - "text" : "(" + "text" : "() -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" - }, - { - "kind" : "text", - "text" : ", " - }, - { - "kind" : "externalParam", - "text" : "texcoord" - }, + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" + } + ], + "kind" : "org.swift.docc.kind.instanceMethod", + "language" : "swift", + "path" : "\/documentation\/euclid\/mesh\/makewatertight()", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/makeWatertight()", + "taskGroups" : [ + + ], + "title" : "makeWatertight()", + "usr" : "s:6Euclid4MeshV14makeWatertightACyF" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : ": " - }, + "text" : "Creates a copy of the polygon with the specified material.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : "?, " + "text" : " " }, { - "kind" : "externalParam", - "text" : "color" + "kind" : "identifier", + "text" : "withMaterial" }, { "kind" : "text", - "text" : ": " + "text" : "(" }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5ColorV", - "text" : "Color" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" }, { "kind" : "text", @@ -44470,24 +44605,24 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9PathPointV", - "text" : "PathPoint" + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], - "kind" : "org.swift.docc.kind.typeMethod", + "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/pathpoint\/curve(_:texcoord:color:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/curve(_:texcoord:color:)", + "path" : "\/documentation\/euclid\/polygon\/withmaterial(_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/withMaterial(_:)", "taskGroups" : [ ], - "title" : "curve(_:texcoord:color:)", - "usr" : "s:6Euclid9PathPointV5curve_8texcoord5colorAcA6VectorV_AHSgAA5ColorVSgtFZ" + "title" : "withMaterial(_:)", + "usr" : "s:6Euclid7PolygonV12withMaterialyACs11AnyHashableVSgF" }, { "abstract" : [ { - "text" : "Returns a normalized vector.", + "text" : "Deprecated.", "type" : "text" } ], @@ -44505,32 +44640,52 @@ }, { "kind" : "identifier", - "text" : "normalized" + "text" : "with" }, { "kind" : "text", - "text" : "() -> " + "text" : "(" + }, + { + "kind" : "externalParam", + "text" : "material" + }, + { + "kind" : "text", + "text" : ": " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid6VectorV", - "text" : "Vector" + "preciseIdentifier" : "s:6Euclid7PolygonV8Materiala", + "text" : "Material" + }, + { + "kind" : "text", + "text" : "?) -> " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:6Euclid7PolygonV", + "text" : "Polygon" } ], "kind" : "org.swift.docc.kind.instanceMethod", "language" : "swift", - "path" : "\/documentation\/euclid\/vector\/normalized()", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/normalized()", + "path" : "\/documentation\/euclid\/polygon\/with(material:)", + "platforms" : [ + + ], + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/with(material:)", "taskGroups" : [ ], - "title" : "normalized()", - "usr" : "s:6Euclid6VectorV10normalizedACyF" + "title" : "with(material:)", + "usr" : "s:6Euclid7PolygonV4with8materialACs11AnyHashableVSg_tF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Saves a mesh to a file, with optional material mapping.", "type" : "text" } ], @@ -44540,72 +44695,82 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "func" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "write" }, { "kind" : "text", - "text" : " " + "text" : "(" }, { - "kind" : "identifier", - "text" : "*=" + "kind" : "externalParam", + "text" : "to" }, { "kind" : "text", - "text" : " " + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:10Foundation3URLV", + "text" : "URL" }, { "kind" : "text", - "text" : "(" + "text" : ", " }, { - "kind" : "keyword", - "text" : "inout" + "kind" : "externalParam", + "text" : "materialLookup" }, { "kind" : "text", - "text" : " " + "text" : ": ((" }, { "kind" : "typeIdentifier", - "text" : "Self" + "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", + "text" : "Material" }, { "kind" : "text", - "text" : ", " + "text" : "?) -> " }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid9TransformV", - "text" : "Transform" + "preciseIdentifier" : "s:s11AnyHashableV", + "text" : "AnyHashable" }, { "kind" : "text", - "text" : ")" + "text" : "?)?) " + }, + { + "kind" : "keyword", + "text" : "throws" } ], - "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\/mesh\/write(to:materiallookup:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/write(to:materialLookup:)", "taskGroups" : [ ], - "title" : "*=(_:_:)", - "usr" : "s:6Euclid13TransformablePAAE2meoiyyxz_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid9TransformV" + "title" : "write(to:materialLookup:)", + "usr" : "s:6Euclid4MeshV5write2to14materialLookupy10Foundation3URLV_s11AnyHashableVSgALcSgtKF" }, { "abstract" : [ { - "text" : "Efficiently strokes an array of paths, avoiding duplicate work.", + "text" : "All vector components are zero (or close to zero) in length.", "type" : "text" } ], @@ -44615,57 +44780,79 @@ "fragments" : [ { "kind" : "keyword", - "text" : "static" + "text" : "var" }, { "kind" : "text", "text" : " " }, { - "kind" : "keyword", - "text" : "func" + "kind" : "identifier", + "text" : "isZero" }, { "kind" : "text", - "text" : " " + "text" : ": " }, { - "kind" : "identifier", - "text" : "stroke" - }, + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/vector\/iszero", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vector\/isZero", + "taskGroups" : [ + + ], + "title" : "isZero", + "usr" : "s:6Euclid6VectorV6isZeroSbvp" + }, + { + "abstract" : [ { - "kind" : "text", - "text" : "([" + "text" : "The position of the center of the polygon.", + "type" : "text" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4PathV", - "text" : "Path" + "text" : " ", + "type" : "text" }, { - "kind" : "text", - "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" }, { - "kind" : "externalParam", - "text" : "width" + "text" : " ", + "type" : "text" }, { - "kind" : "text", - "text" : ": " + "identifier" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/bounds", + "isActive" : true, + "type" : "reference" }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "text" : ".", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "var" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "detail" + "kind" : "identifier", + "text" : "center" }, { "kind" : "text", @@ -44673,42 +44860,71 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Si", - "text" : "Int" + "preciseIdentifier" : "s:6Euclid6VectorV", + "text" : "Vector" + } + ], + "kind" : "org.swift.docc.kind.instanceProperty", + "language" : "swift", + "path" : "\/documentation\/euclid\/polygon\/center", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/center", + "taskGroups" : [ + + ], + "title" : "center", + "usr" : "s:6Euclid7PolygonV6centerAA6VectorVvp" + }, + { + "abstract" : [ + { + "text" : "Returns a transformed copy of the value.", + "type" : "text" + } + ], + "availableLanguages" : [ + "swift" + ], + "fragments" : [ + { + "kind" : "keyword", + "text" : "static" }, { "kind" : "text", - "text" : ", " + "text" : " " }, { - "kind" : "externalParam", - "text" : "material" + "kind" : "keyword", + "text" : "func" }, { "kind" : "text", - "text" : ": " + "text" : " " }, { - "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid4MeshV8Materiala", - "text" : "Material" + "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" + "preciseIdentifier" : "s:6Euclid9TransformV", + "text" : "Transform" }, { "kind" : "text", @@ -44716,24 +44932,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\/vertex\/*(_:_:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Vertex\/*(_:_:)", "taskGroups" : [ ], - "title" : "stroke(_:width:detail:material:isCancelled:)", - "usr" : "s:6Euclid4MeshV6stroke_5width6detail8material11isCancelledACSayAA4PathVG_SdSis11AnyHashableVSgSbyXEtFZ" + "title" : "*(_:_:)", + "usr" : "s:6Euclid13TransformablePAAE1moiyxx_AA9TransformVtFZ::SYNTHESIZED::s:6Euclid6VertexV" }, { "abstract" : [ { - "text" : "Alignment mode to use when extruding along a path.", + "text" : "A Boolean value that indicates whether the polygon includes vertex normals that differ from the face normal.", "type" : "text" } ], @@ -44743,7 +44958,7 @@ "fragments" : [ { "kind" : "keyword", - "text" : "typealias" + "text" : "var" }, { "kind" : "text", @@ -44751,23 +44966,40 @@ }, { "kind" : "identifier", - "text" : "Alignment" + "text" : "hasVertexNormals" + }, + { + "kind" : "text", + "text" : ": " + }, + { + "kind" : "typeIdentifier", + "preciseIdentifier" : "s:Sb", + "text" : "Bool" } ], - "kind" : "org.swift.docc.kind.typeAlias", + "kind" : "org.swift.docc.kind.instanceProperty", "language" : "swift", - "path" : "\/documentation\/euclid\/mesh\/alignment", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/Alignment", + "path" : "\/documentation\/euclid\/polygon\/hasvertexnormals", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Polygon\/hasVertexNormals", "taskGroups" : [ ], - "title" : "Mesh.Alignment", - "usr" : "s:6Euclid4MeshV9Alignmenta" + "title" : "hasVertexNormals", + "usr" : "s:6Euclid7PolygonV16hasVertexNormalsSbvp" }, { "abstract" : [ { - "text" : "Returns the product of an angle and numeric multiplier.", + "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.", "type" : "text" } ], @@ -44775,14 +45007,6 @@ "swift" ], "fragments" : [ - { - "kind" : "keyword", - "text" : "static" - }, - { - "kind" : "text", - "text" : " " - }, { "kind" : "keyword", "text" : "func" @@ -44793,11 +45017,7 @@ }, { "kind" : "identifier", - "text" : "*" - }, - { - "kind" : "text", - "text" : " " + "text" : "stencil" }, { "kind" : "text", @@ -44805,17 +45025,25 @@ }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:6Euclid5AngleV", - "text" : "Angle" + "preciseIdentifier" : "s:6Euclid4MeshV", + "text" : "Mesh" }, { "kind" : "text", "text" : ", " }, + { + "kind" : "externalParam", + "text" : "isCancelled" + }, + { + "kind" : "text", + "text" : ": " + }, { "kind" : "typeIdentifier", - "preciseIdentifier" : "s:Sd", - "text" : "Double" + "preciseIdentifier" : "s:6Euclid4MeshV19CancellationHandlera", + "text" : "CancellationHandler" }, { "kind" : "text", @@ -44823,24 +45051,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\/*(_:_:)-8l78z", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Angle\/*(_:_:)-8l78z", + "path" : "\/documentation\/euclid\/mesh\/stencil(_:iscancelled:)-swift.method", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/Mesh\/stencil(_:isCancelled:)-swift.method", "taskGroups" : [ ], - "title" : "*(_:_:)", - "usr" : "s:6Euclid5AngleV1moiyA2C_SdtFZ" + "title" : "stencil(_:isCancelled:)", + "usr" : "s:6Euclid4MeshV7stencil_11isCancelledA2C_SbyXEtF" }, { "abstract" : [ { - "text" : "Transform the value in place.", + "text" : "Encodes this path point into the given encoder.", "type" : "text" } ], @@ -44858,7 +45086,7 @@ }, { "kind" : "identifier", - "text" : "transform" + "text" : "encode" }, { "kind" : "text", @@ -44866,7 +45094,7 @@ }, { "kind" : "externalParam", - "text" : "by" + "text" : "to" }, { "kind" : "text", @@ -44874,22 +45102,44 @@ }, { "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\/pathpoint\/transform(by:)", - "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/transform(by:)", + "path" : "\/documentation\/euclid\/pathpoint\/encode(to:)", + "referenceURL" : "doc:\/\/com.charcoaldesign.Euclid\/documentation\/Euclid\/PathPoint\/encode(to:)", "taskGroups" : [ ], - "title" : "transform(by:)", - "usr" : "s:6Euclid13TransformablePAAE9transform2byyAA9TransformV_tF::SYNTHESIZED::s:6Euclid9PathPointV" + "title" : "encode(to:)", + "usr" : "s:6Euclid9PathPointV6encode2toys7Encoder_p_tKF" + }, + { + "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" } ] \ No newline at end of file