From 15d4877c0db1af2d43786c37d7e9f689b68c8d5c Mon Sep 17 00:00:00 2001 From: Brian Osborn Date: Mon, 13 Nov 2023 09:13:29 -0700 Subject: [PATCH] 2.1.3 release --- CHANGELOG.md | 5 +- Podfile | 2 +- README.md | 6 +- docs/docs/api/Classes.html | 96 ++++---- docs/docs/api/Classes/SFByteReader.html | 28 +-- docs/docs/api/Classes/SFByteWriter.html | 34 +-- docs/docs/api/Classes/SFCentroidCurve.html | 16 +- docs/docs/api/Classes/SFCentroidPoint.html | 16 +- docs/docs/api/Classes/SFCentroidSurface.html | 16 +- docs/docs/api/Classes/SFCircularString.html | 24 +- docs/docs/api/Classes/SFCompoundCurve.html | 38 +-- docs/docs/api/Classes/SFCurve.html | 18 +- docs/docs/api/Classes/SFCurvePolygon.html | 46 ++-- docs/docs/api/Classes/SFDegreesCentroid.html | 14 +- docs/docs/api/Classes/SFEvent.html | 20 +- docs/docs/api/Classes/SFEventQueue.html | 14 +- .../Classes/SFExtendedGeometryCollection.html | 18 +- docs/docs/api/Classes/SFGeometry.html | 36 +-- .../api/Classes/SFGeometryCollection.html | 64 ++--- docs/docs/api/Classes/SFGeometryEnvelope.html | 142 +++++------ .../Classes/SFGeometryEnvelopeBuilder.html | 14 +- docs/docs/api/Classes/SFGeometryPrinter.html | 10 +- docs/docs/api/Classes/SFGeometryTypes.html | 12 +- docs/docs/api/Classes/SFGeometryUtils.html | 230 +++++++++--------- docs/docs/api/Classes/SFLine.html | 28 +-- docs/docs/api/Classes/SFLineString.html | 36 +-- docs/docs/api/Classes/SFLinearRing.html | 24 +- docs/docs/api/Classes/SFMultiCurve.html | 24 +- docs/docs/api/Classes/SFMultiLineString.html | 40 +-- docs/docs/api/Classes/SFMultiPoint.html | 40 +-- docs/docs/api/Classes/SFMultiPolygon.html | 40 +-- docs/docs/api/Classes/SFMultiSurface.html | 22 +- docs/docs/api/Classes/SFPoint.html | 78 +++--- .../docs/api/Classes/SFPointFiniteFilter.html | 30 +-- docs/docs/api/Classes/SFPolygon.html | 40 +-- .../docs/api/Classes/SFPolyhedralSurface.html | 52 ++-- docs/docs/api/Classes/SFSegment.html | 22 +- docs/docs/api/Classes/SFShamosHoey.html | 18 +- docs/docs/api/Classes/SFSurface.html | 10 +- docs/docs/api/Classes/SFSweepLine.html | 20 +- docs/docs/api/Classes/SFTIN.html | 28 +-- docs/docs/api/Classes/SFTextReader.html | 18 +- docs/docs/api/Classes/SFTriangle.html | 28 +-- docs/docs/api/Classes/SFWTGeometryReader.html | 158 ++++++------ .../api/Classes/SFWTGeometryTypeInfo.html | 16 +- docs/docs/api/Classes/SFWTGeometryWriter.html | 106 ++++---- docs/docs/api/Constants.html | 76 +++--- docs/docs/api/Enums.html | 12 +- docs/docs/api/Enums/SFEventType.html | 12 +- docs/docs/api/Enums/SFFiniteFilterType.html | 14 +- docs/docs/api/Enums/SFGeometryType.html | 46 ++-- docs/docs/api/Protocols.html | 8 +- docs/docs/api/Protocols/SFGeometryFilter.html | 10 +- .../Contents/Resources/Documents/Classes.html | 96 ++++---- .../Documents/Classes/SFByteReader.html | 28 +-- .../Documents/Classes/SFByteWriter.html | 34 +-- .../Documents/Classes/SFCentroidCurve.html | 16 +- .../Documents/Classes/SFCentroidPoint.html | 16 +- .../Documents/Classes/SFCentroidSurface.html | 16 +- .../Documents/Classes/SFCircularString.html | 24 +- .../Documents/Classes/SFCompoundCurve.html | 38 +-- .../Resources/Documents/Classes/SFCurve.html | 18 +- .../Documents/Classes/SFCurvePolygon.html | 46 ++-- .../Documents/Classes/SFDegreesCentroid.html | 14 +- .../Resources/Documents/Classes/SFEvent.html | 20 +- .../Documents/Classes/SFEventQueue.html | 14 +- .../Classes/SFExtendedGeometryCollection.html | 18 +- .../Documents/Classes/SFGeometry.html | 36 +-- .../Classes/SFGeometryCollection.html | 64 ++--- .../Documents/Classes/SFGeometryEnvelope.html | 142 +++++------ .../Classes/SFGeometryEnvelopeBuilder.html | 14 +- .../Documents/Classes/SFGeometryPrinter.html | 10 +- .../Documents/Classes/SFGeometryTypes.html | 12 +- .../Documents/Classes/SFGeometryUtils.html | 230 +++++++++--------- .../Resources/Documents/Classes/SFLine.html | 28 +-- .../Documents/Classes/SFLineString.html | 36 +-- .../Documents/Classes/SFLinearRing.html | 24 +- .../Documents/Classes/SFMultiCurve.html | 24 +- .../Documents/Classes/SFMultiLineString.html | 40 +-- .../Documents/Classes/SFMultiPoint.html | 40 +-- .../Documents/Classes/SFMultiPolygon.html | 40 +-- .../Documents/Classes/SFMultiSurface.html | 22 +- .../Resources/Documents/Classes/SFPoint.html | 78 +++--- .../Classes/SFPointFiniteFilter.html | 30 +-- .../Documents/Classes/SFPolygon.html | 40 +-- .../Classes/SFPolyhedralSurface.html | 52 ++-- .../Documents/Classes/SFSegment.html | 22 +- .../Documents/Classes/SFShamosHoey.html | 18 +- .../Documents/Classes/SFSurface.html | 10 +- .../Documents/Classes/SFSweepLine.html | 20 +- .../Resources/Documents/Classes/SFTIN.html | 28 +-- .../Documents/Classes/SFTextReader.html | 18 +- .../Documents/Classes/SFTriangle.html | 28 +-- .../Documents/Classes/SFWTGeometryReader.html | 158 ++++++------ .../Classes/SFWTGeometryTypeInfo.html | 16 +- .../Documents/Classes/SFWTGeometryWriter.html | 106 ++++---- .../Resources/Documents/Constants.html | 76 +++--- .../Contents/Resources/Documents/Enums.html | 12 +- .../Documents/Enums/SFEventType.html | 12 +- .../Documents/Enums/SFFiniteFilterType.html | 14 +- .../Documents/Enums/SFGeometryType.html | 46 ++-- .../Resources/Documents/Protocols.html | 8 +- .../Documents/Protocols/SFGeometryFilter.html | 10 +- .../Contents/Resources/Documents/index.html | 12 +- .../Resources/Documents/js/jquery.min.js | 4 +- .../Contents/Resources/Documents/search.json | 2 +- .../Contents/Resources/docSet.dsidx | Bin 212992 -> 212992 bytes docs/docs/api/docsets/sf-wkt-ios.tgz | Bin 261101 -> 260727 bytes docs/docs/api/index.html | 12 +- docs/docs/api/js/jquery.min.js | 4 +- docs/docs/api/search.json | 2 +- docs/jazzy.txt | 4 +- docs/release.txt | 20 ++ sf-wkt-ios.podspec | 3 +- sf-wkt-ios.xcodeproj/project.pbxproj | 49 +++- .../xcschemes/sf-wkt-ios.xcscheme | 2 +- sf-wkt-ios/sf_wkt_ios.swift | 9 + 117 files changed, 2064 insertions(+), 1996 deletions(-) create mode 100644 docs/release.txt create mode 100644 sf-wkt-ios/sf_wkt_ios.swift diff --git a/CHANGELOG.md b/CHANGELOG.md index af05fea..a64ed51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,10 @@ Adheres to [Semantic Versioning](http://semver.org/). --- -## 2.1.3 (TBD) +## [2.1.3](https://github.com/ngageoint/simple-features-wkt-ios/releases/tag/2.1.3) (11-13-2023) -* TBD +* Module definition +* sf-ios 4.1.3 ## [2.1.2](https://github.com/ngageoint/simple-features-wkt-ios/releases/tag/2.1.2) (02-01-2023) diff --git a/Podfile b/Podfile index 52d8d8f..c8c6392 100644 --- a/Podfile +++ b/Podfile @@ -2,7 +2,7 @@ source 'https://github.com/CocoaPods/Specs.git' platform :ios, '12.0' target 'sf-wkt-ios' do - pod 'sf-ios', '~> 4.1.2' + pod 'sf-ios', '~> 4.1.3' target 'sf-wkt-iosTests' do inherit! :search_paths diff --git a/README.md b/README.md index 2610f36..a15a2ad 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Open sf-wkt-ios.xcworkspace in Xcode or build from command line: Run tests from Xcode or from command line: - xcodebuild test -workspace 'sf-wkt-ios.xcworkspace' -scheme sf-wkt-ios -destination 'platform=iOS Simulator,name=iPhone 14' + xcodebuild test -workspace 'sf-wkt-ios.xcworkspace' -scheme sf-wkt-ios -destination 'platform=iOS Simulator,name=iPhone 15' ### Include Library ### @@ -61,12 +61,12 @@ Include this repository by specifying it in a Podfile using a supported option. Pull from [CocoaPods](https://cocoapods.org/pods/sf-wkt-ios): - pod 'sf-wkt-ios', '~> 2.1.2' + pod 'sf-wkt-ios', '~> 2.1.3' Pull from GitHub: pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :branch => 'master' - pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :tag => '2.1.2' + pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :tag => '2.1.3' Include as local project: diff --git a/docs/docs/api/Classes.html b/docs/docs/api/Classes.html index fe423a8..5d0b670 100644 --- a/docs/docs/api/Classes.html +++ b/docs/docs/api/Classes.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -351,7 +351,7 @@

Declaration

@@ -387,7 +387,7 @@

Declaration

@@ -427,7 +427,7 @@

Declaration

@@ -464,7 +464,7 @@

Declaration

@@ -500,7 +500,7 @@

Declaration

@@ -536,7 +536,7 @@

Declaration

@@ -572,7 +572,7 @@

Declaration

@@ -628,7 +628,7 @@

Declaration

@@ -664,7 +664,7 @@

Declaration

@@ -700,7 +700,7 @@

Declaration

@@ -736,7 +736,7 @@

Declaration

@@ -773,7 +773,7 @@

Declaration

@@ -810,7 +810,7 @@

Declaration

@@ -847,7 +847,7 @@

Declaration

@@ -884,7 +884,7 @@

Declaration

@@ -921,7 +921,7 @@

Declaration

@@ -958,7 +958,7 @@

Declaration

@@ -995,7 +995,7 @@

Declaration

@@ -1031,7 +1031,7 @@

Declaration

@@ -1068,7 +1068,7 @@

Declaration

@@ -1105,7 +1105,7 @@

Declaration

@@ -1141,7 +1141,7 @@

Declaration

@@ -1178,7 +1178,7 @@

Declaration

@@ -1214,7 +1214,7 @@

Declaration

@@ -1250,7 +1250,7 @@

Declaration

@@ -1287,7 +1287,7 @@

Declaration

@@ -1323,7 +1323,7 @@

Declaration

@@ -1359,7 +1359,7 @@

Declaration

@@ -1395,7 +1395,7 @@

Declaration

@@ -1431,7 +1431,7 @@

Declaration

@@ -1468,7 +1468,7 @@

Declaration

@@ -1505,7 +1505,7 @@

Declaration

@@ -1542,7 +1542,7 @@

Declaration

@@ -1578,7 +1578,7 @@

Declaration

@@ -1615,7 +1615,7 @@

Declaration

@@ -1652,7 +1652,7 @@

Declaration

@@ -1688,7 +1688,7 @@

Declaration

@@ -1724,7 +1724,7 @@

Declaration

@@ -1761,7 +1761,7 @@

Declaration

@@ -1797,7 +1797,7 @@

Declaration

@@ -1844,7 +1844,7 @@

Declaration

@@ -1880,7 +1880,7 @@

Declaration

@@ -1916,7 +1916,7 @@

Declaration

@@ -1952,7 +1952,7 @@

Declaration

@@ -1988,7 +1988,7 @@

Declaration

@@ -1998,8 +1998,8 @@

Declaration

diff --git a/docs/docs/api/Classes/SFByteReader.html b/docs/docs/api/Classes/SFByteReader.html index d139050..065aa6d 100644 --- a/docs/docs/api/Classes/SFByteReader.html +++ b/docs/docs/api/Classes/SFByteReader.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFByteReader

Read through byte data

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -435,7 +435,7 @@

Declaration

@@ -493,7 +493,7 @@

Return Value

new byte reader

@@ -564,7 +564,7 @@

Return Value

new byte reader

@@ -622,7 +622,7 @@

Return Value

string value

@@ -661,7 +661,7 @@

Return Value

byte

@@ -719,7 +719,7 @@

Return Value

data value

@@ -758,7 +758,7 @@

Return Value

integer

@@ -797,7 +797,7 @@

Return Value

double

@@ -807,8 +807,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFByteWriter.html b/docs/docs/api/Classes/SFByteWriter.html index a963525..49d5993 100644 --- a/docs/docs/api/Classes/SFByteWriter.html +++ b/docs/docs/api/Classes/SFByteWriter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFByteWriter

Write byte data

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -435,7 +435,7 @@

Declaration

@@ -474,7 +474,7 @@

Return Value

new byte writer

@@ -532,7 +532,7 @@

Return Value

new byte writer

@@ -567,7 +567,7 @@

Declaration

@@ -606,7 +606,7 @@

Return Value

byte data

@@ -645,7 +645,7 @@

Return Value

bytes written

@@ -699,7 +699,7 @@

Parameters

@@ -753,7 +753,7 @@

Parameters

@@ -807,7 +807,7 @@

Parameters

@@ -861,7 +861,7 @@

Parameters

@@ -915,7 +915,7 @@

Parameters

@@ -925,8 +925,8 @@

Parameters

diff --git a/docs/docs/api/Classes/SFCentroidCurve.html b/docs/docs/api/Classes/SFCentroidCurve.html index 83d624f..96f743c 100644 --- a/docs/docs/api/Classes/SFCentroidCurve.html +++ b/docs/docs/api/Classes/SFCentroidCurve.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFCentroidCurve

the JTS (Java Topology Suite) CentroidLine.

@@ -370,7 +370,7 @@

Return Value

new instance

@@ -428,7 +428,7 @@

Return Value

new instance

@@ -483,7 +483,7 @@

Parameters

@@ -522,7 +522,7 @@

Return Value

centroid point

@@ -532,8 +532,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFCentroidPoint.html b/docs/docs/api/Classes/SFCentroidPoint.html index f64bba6..07ec5b7 100644 --- a/docs/docs/api/Classes/SFCentroidPoint.html +++ b/docs/docs/api/Classes/SFCentroidPoint.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFCentroidPoint

the JTS (Java Topology Suite) CentroidPoint.

@@ -370,7 +370,7 @@

Return Value

new instance

@@ -428,7 +428,7 @@

Return Value

new instance

@@ -482,7 +482,7 @@

Parameters

@@ -521,7 +521,7 @@

Return Value

centroid point

@@ -531,8 +531,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFCentroidSurface.html b/docs/docs/api/Classes/SFCentroidSurface.html index b78a866..23671aa 100644 --- a/docs/docs/api/Classes/SFCentroidSurface.html +++ b/docs/docs/api/Classes/SFCentroidSurface.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFCentroidSurface

the JTS (Java Topology Suite) CentroidArea.

@@ -370,7 +370,7 @@

Return Value

new instance

@@ -428,7 +428,7 @@

Return Value

new instance

@@ -483,7 +483,7 @@

Parameters

@@ -522,7 +522,7 @@

Return Value

centroid point

@@ -532,8 +532,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFCircularString.html b/docs/docs/api/Classes/SFCircularString.html index c0e2aa1..57e1c55 100644 --- a/docs/docs/api/Classes/SFCircularString.html +++ b/docs/docs/api/Classes/SFCircularString.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFCircularString

Circular String, Curve sub type

@@ -364,7 +364,7 @@

Return Value

new circular string

@@ -429,7 +429,7 @@

Return Value

new circular string

@@ -483,7 +483,7 @@

Return Value

new circular string

@@ -537,7 +537,7 @@

Return Value

new circular string

@@ -576,7 +576,7 @@

Return Value

new circular string

@@ -646,7 +646,7 @@

Return Value

new circular string

@@ -704,7 +704,7 @@

Return Value

new circular string

@@ -762,7 +762,7 @@

Return Value

new circular string

@@ -772,8 +772,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFCompoundCurve.html b/docs/docs/api/Classes/SFCompoundCurve.html index fb17197..74e5d02 100644 --- a/docs/docs/api/Classes/SFCompoundCurve.html +++ b/docs/docs/api/Classes/SFCompoundCurve.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFCompoundCurve

Compound Curve, Curve sub type

@@ -365,7 +365,7 @@

Declaration

@@ -399,7 +399,7 @@

Return Value

new compound curve

@@ -464,7 +464,7 @@

Return Value

new compound curve

@@ -518,7 +518,7 @@

Return Value

new compound curve

@@ -571,7 +571,7 @@

Return Value

new compound curve

@@ -625,7 +625,7 @@

Return Value

new compound curve

@@ -664,7 +664,7 @@

Return Value

new compound curve

@@ -734,7 +734,7 @@

Return Value

new compound curve

@@ -793,7 +793,7 @@

Return Value

new compound curve

@@ -851,7 +851,7 @@

Return Value

new compound curve

@@ -909,7 +909,7 @@

Return Value

new compound curve

@@ -963,7 +963,7 @@

Parameters

@@ -1017,7 +1017,7 @@

Parameters

@@ -1056,7 +1056,7 @@

Return Value

line string count

@@ -1114,7 +1114,7 @@

Return Value

line string

@@ -1124,8 +1124,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFCurve.html b/docs/docs/api/Classes/SFCurve.html index 546d28d..08bf0a2 100644 --- a/docs/docs/api/Classes/SFCurve.html +++ b/docs/docs/api/Classes/SFCurve.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -333,7 +333,7 @@

SFCurve

curve is called a ring.

@@ -418,7 +418,7 @@

Return Value

new curve

@@ -457,7 +457,7 @@

Return Value

start point

@@ -496,7 +496,7 @@

Return Value

end point

@@ -535,7 +535,7 @@

Return Value

true if closed

@@ -574,7 +574,7 @@

Return Value

true if a ring

@@ -584,8 +584,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFCurvePolygon.html b/docs/docs/api/Classes/SFCurvePolygon.html index e004907..0f9e63b 100644 --- a/docs/docs/api/Classes/SFCurvePolygon.html +++ b/docs/docs/api/Classes/SFCurvePolygon.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFCurvePolygon

Each ring is defined by a Curve instance.

@@ -366,7 +366,7 @@

Declaration

@@ -400,7 +400,7 @@

Return Value

new curve polygon

@@ -465,7 +465,7 @@

Return Value

new curve polygon

@@ -518,7 +518,7 @@

Return Value

new curve polygon

@@ -571,7 +571,7 @@

Return Value

new curve polygon

@@ -624,7 +624,7 @@

Return Value

new curve polygon

@@ -663,7 +663,7 @@

Return Value

new curve polygon

@@ -733,7 +733,7 @@

Return Value

new curve polygon

@@ -791,7 +791,7 @@

Return Value

new curve polygon

@@ -849,7 +849,7 @@

Return Value

new curve polygon

@@ -933,7 +933,7 @@

Return Value

new curve polygon

@@ -991,7 +991,7 @@

Return Value

new curve polygon

@@ -1045,7 +1045,7 @@

Parameters

@@ -1099,7 +1099,7 @@

Parameters

@@ -1138,7 +1138,7 @@

Return Value

ring count

@@ -1197,7 +1197,7 @@

Return Value

ring

@@ -1236,7 +1236,7 @@

Return Value

exterior ring

@@ -1275,7 +1275,7 @@

Return Value

number of interior rings

@@ -1333,7 +1333,7 @@

Return Value

interior ring

@@ -1343,8 +1343,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFDegreesCentroid.html b/docs/docs/api/Classes/SFDegreesCentroid.html index 4d05ae2..3922f36 100644 --- a/docs/docs/api/Classes/SFDegreesCentroid.html +++ b/docs/docs/api/Classes/SFDegreesCentroid.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFDegreesCentroid

Centroid calculations for geometries in degrees

@@ -388,7 +388,7 @@

Return Value

centroid point

@@ -446,7 +446,7 @@

Return Value

new instance

@@ -485,7 +485,7 @@

Return Value

centroid point

@@ -495,8 +495,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFEvent.html b/docs/docs/api/Classes/SFEvent.html index 8f7d156..0501456 100644 --- a/docs/docs/api/Classes/SFEvent.html +++ b/docs/docs/api/Classes/SFEvent.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFEvent

Event element

@@ -427,7 +427,7 @@

Return Value

event

@@ -466,7 +466,7 @@

Return Value

edge number

@@ -505,7 +505,7 @@

Return Value

polygon ring number

@@ -544,7 +544,7 @@

Return Value

polygon point

@@ -583,7 +583,7 @@

Return Value

event type

@@ -622,7 +622,7 @@

Return Value

sorted events

@@ -632,8 +632,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFEventQueue.html b/docs/docs/api/Classes/SFEventQueue.html index 827e4cf..42d16bd 100644 --- a/docs/docs/api/Classes/SFEventQueue.html +++ b/docs/docs/api/Classes/SFEventQueue.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFEventQueue

Event queue for processing events

@@ -388,7 +388,7 @@

Return Value

event queue

@@ -446,7 +446,7 @@

Return Value

event queue

@@ -485,7 +485,7 @@

Return Value

events

@@ -495,8 +495,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFExtendedGeometryCollection.html b/docs/docs/api/Classes/SFExtendedGeometryCollection.html index 9d7164b..ff8d7f2 100644 --- a/docs/docs/api/Classes/SFExtendedGeometryCollection.html +++ b/docs/docs/api/Classes/SFExtendedGeometryCollection.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFExtendedGeometryCollection

support

@@ -386,7 +386,7 @@

Return Value

new extended geometry collection

@@ -441,7 +441,7 @@

Return Value

new extended geometry collection

@@ -500,7 +500,7 @@

Return Value

new extended geometry collection

@@ -559,7 +559,7 @@

Return Value

new extended geometry collection

@@ -594,7 +594,7 @@

Declaration

@@ -604,8 +604,8 @@

Declaration

diff --git a/docs/docs/api/Classes/SFGeometry.html b/docs/docs/api/Classes/SFGeometry.html index ab972a4..e6a5f80 100644 --- a/docs/docs/api/Classes/SFGeometry.html +++ b/docs/docs/api/Classes/SFGeometry.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometry

The root of the geometry type hierarchy

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -435,7 +435,7 @@

Declaration

@@ -519,7 +519,7 @@

Return Value

new geometry

@@ -558,7 +558,7 @@

Return Value

true if has z coordinates

@@ -597,7 +597,7 @@

Return Value

true if has m coordinates

@@ -636,7 +636,7 @@

Return Value

geometry envelope

@@ -690,7 +690,7 @@

Parameters

@@ -729,7 +729,7 @@

Return Value

dimension

@@ -771,7 +771,7 @@

Return Value

centroid point

@@ -813,7 +813,7 @@

Return Value

centroid point

@@ -852,7 +852,7 @@

Return Value

true if empty

@@ -892,7 +892,7 @@

Return Value

true if simple

@@ -946,7 +946,7 @@

Parameters

@@ -956,8 +956,8 @@

Parameters

diff --git a/docs/docs/api/Classes/SFGeometryCollection.html b/docs/docs/api/Classes/SFGeometryCollection.html index fa74ca0..abc64b8 100644 --- a/docs/docs/api/Classes/SFGeometryCollection.html +++ b/docs/docs/api/Classes/SFGeometryCollection.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryCollection

A collection of zero or more Geometry instances.

@@ -365,7 +365,7 @@

Declaration

@@ -399,7 +399,7 @@

Return Value

new geometry collection

@@ -465,7 +465,7 @@

Return Value

new geometry collection

@@ -519,7 +519,7 @@

Return Value

new geometry collection

@@ -572,7 +572,7 @@

Return Value

new geometry collection

@@ -626,7 +626,7 @@

Return Value

new geometry collection

@@ -665,7 +665,7 @@

Return Value

new geometry collection

@@ -735,7 +735,7 @@

Return Value

new geometry collection

@@ -793,7 +793,7 @@

Return Value

new geometry collection

@@ -851,7 +851,7 @@

Return Value

new geometry collection

@@ -935,7 +935,7 @@

Return Value

new geometry collection

@@ -994,7 +994,7 @@

Return Value

new geometry collection

@@ -1048,7 +1048,7 @@

Parameters

@@ -1102,7 +1102,7 @@

Parameters

@@ -1141,7 +1141,7 @@

Return Value

geometry count

@@ -1199,7 +1199,7 @@

Return Value

geometry

@@ -1244,7 +1244,7 @@

Return Value

GEOMETRYCOLLECTION

@@ -1284,7 +1284,7 @@

Return Value

true if a multi point or contains only points

@@ -1324,7 +1324,7 @@

Return Value

multi point

@@ -1364,7 +1364,7 @@

Return Value

true if a multi line string or contains only line strings

@@ -1404,7 +1404,7 @@

Return Value

multi line string

@@ -1444,7 +1444,7 @@

Return Value

true if a multi polygon or contains only polygons

@@ -1484,7 +1484,7 @@

Return Value

multi polygon

@@ -1524,7 +1524,7 @@

Return Value

true if contains only curves

@@ -1563,7 +1563,7 @@

Return Value

multi curve

@@ -1603,7 +1603,7 @@

Return Value

true if contains only surfaces

@@ -1642,7 +1642,7 @@

Return Value

multi surface

@@ -1681,7 +1681,7 @@

Return Value

geometry collection

@@ -1691,8 +1691,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFGeometryEnvelope.html b/docs/docs/api/Classes/SFGeometryEnvelope.html index 3f032ab..8bcccf1 100644 --- a/docs/docs/api/Classes/SFGeometryEnvelope.html +++ b/docs/docs/api/Classes/SFGeometryEnvelope.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryEnvelope

Geometry envelope containing x and y range with optional z and m range

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -435,7 +435,7 @@

Declaration

@@ -470,7 +470,7 @@

Declaration

@@ -505,7 +505,7 @@

Declaration

@@ -540,7 +540,7 @@

Declaration

@@ -575,7 +575,7 @@

Declaration

@@ -610,7 +610,7 @@

Declaration

@@ -645,7 +645,7 @@

Declaration

@@ -680,7 +680,7 @@

Declaration

@@ -714,7 +714,7 @@

Return Value

new geometry envelope

@@ -779,7 +779,7 @@

Return Value

new geometry envelope

@@ -871,7 +871,7 @@

Return Value

new geometry envelope

@@ -963,7 +963,7 @@

Return Value

new geometry envelope

@@ -1081,7 +1081,7 @@

Return Value

new geometry envelope

@@ -1199,7 +1199,7 @@

Return Value

new geometry envelope

@@ -1343,7 +1343,7 @@

Return Value

new geometry envelope

@@ -1487,7 +1487,7 @@

Return Value

new geometry envelope

@@ -1541,7 +1541,7 @@

Return Value

new geometry envelope

@@ -1580,7 +1580,7 @@

Return Value

new geometry envelope

@@ -1650,7 +1650,7 @@

Return Value

new geometry envelope

@@ -1747,7 +1747,7 @@

Return Value

new geometry envelope

@@ -1844,7 +1844,7 @@

Return Value

new geometry envelope

@@ -1967,7 +1967,7 @@

Return Value

new geometry envelope

@@ -2090,7 +2090,7 @@

Return Value

new geometry envelope

@@ -2239,7 +2239,7 @@

Return Value

new geometry envelope

@@ -2388,7 +2388,7 @@

Return Value

new geometry envelope

@@ -2446,7 +2446,7 @@

Return Value

new geometry envelope

@@ -2500,7 +2500,7 @@

Parameters

@@ -2554,7 +2554,7 @@

Parameters

@@ -2608,7 +2608,7 @@

Parameters

@@ -2662,7 +2662,7 @@

Parameters

@@ -2716,7 +2716,7 @@

Parameters

@@ -2770,7 +2770,7 @@

Parameters

@@ -2824,7 +2824,7 @@

Parameters

@@ -2878,7 +2878,7 @@

Parameters

@@ -2917,7 +2917,7 @@

Return Value

has z

@@ -2956,7 +2956,7 @@

Return Value

has m

@@ -2995,7 +2995,7 @@

Return Value

x range

@@ -3034,7 +3034,7 @@

Return Value

y range

@@ -3073,7 +3073,7 @@

Return Value

z range

@@ -3112,7 +3112,7 @@

Return Value

m range

@@ -3151,7 +3151,7 @@

Return Value

true if a single point bounds

@@ -3190,7 +3190,7 @@

Return Value

top left point

@@ -3229,7 +3229,7 @@

Return Value

bottom left point

@@ -3268,7 +3268,7 @@

Return Value

bottom right point

@@ -3307,7 +3307,7 @@

Return Value

top right point

@@ -3346,7 +3346,7 @@

Return Value

left line

@@ -3385,7 +3385,7 @@

Return Value

bottom line

@@ -3424,7 +3424,7 @@

Return Value

right line

@@ -3463,7 +3463,7 @@

Return Value

top line

@@ -3502,7 +3502,7 @@

Return Value

mid x

@@ -3541,7 +3541,7 @@

Return Value

mid y

@@ -3580,7 +3580,7 @@

Return Value

centroid point

@@ -3619,7 +3619,7 @@

Return Value

true if empty

@@ -3677,7 +3677,7 @@

Return Value

true if intersects

@@ -3748,7 +3748,7 @@

Return Value

true if intersects

@@ -3806,7 +3806,7 @@

Return Value

geometry envelope

@@ -3877,7 +3877,7 @@

Return Value

geometry envelope

@@ -3935,7 +3935,7 @@

Return Value

geometry envelope

@@ -3993,7 +3993,7 @@

Return Value

true if contains

@@ -4063,7 +4063,7 @@

Return Value

true if contains

@@ -4133,7 +4133,7 @@

Return Value

true if contains

@@ -4215,7 +4215,7 @@

Return Value

true if contains

@@ -4273,7 +4273,7 @@

Return Value

true if contains

@@ -4344,7 +4344,7 @@

Return Value

true if contains

@@ -4383,7 +4383,7 @@

Return Value

geometry, polygon or point

@@ -4393,8 +4393,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFGeometryEnvelopeBuilder.html b/docs/docs/api/Classes/SFGeometryEnvelopeBuilder.html index c63adb6..38cadae 100644 --- a/docs/docs/api/Classes/SFGeometryEnvelopeBuilder.html +++ b/docs/docs/api/Classes/SFGeometryEnvelopeBuilder.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryEnvelopeBuilder

Builds an envelope from a Geometry

@@ -388,7 +388,7 @@

Return Value

geometry envelope

@@ -455,7 +455,7 @@

Parameters

@@ -513,7 +513,7 @@

Return Value

geometry, polygon or point

@@ -523,8 +523,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFGeometryPrinter.html b/docs/docs/api/Classes/SFGeometryPrinter.html index cb224bd..78fa25a 100644 --- a/docs/docs/api/Classes/SFGeometryPrinter.html +++ b/docs/docs/api/Classes/SFGeometryPrinter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryPrinter

String representation of a Geometry

@@ -388,7 +388,7 @@

Return Value

geometry string

@@ -398,8 +398,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFGeometryTypes.html b/docs/docs/api/Classes/SFGeometryTypes.html index bd1f1e0..38491d2 100644 --- a/docs/docs/api/Classes/SFGeometryTypes.html +++ b/docs/docs/api/Classes/SFGeometryTypes.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -349,7 +349,7 @@

SFGeometryTypes

Undocumented

@@ -408,7 +408,7 @@

Return Value

geometry type name

@@ -466,7 +466,7 @@

Return Value

geometry type

@@ -476,8 +476,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFGeometryUtils.html b/docs/docs/api/Classes/SFGeometryUtils.html index bfcfb42..e370056 100644 --- a/docs/docs/api/Classes/SFGeometryUtils.html +++ b/docs/docs/api/Classes/SFGeometryUtils.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryUtils

Utilities for Geometry objects

@@ -389,7 +389,7 @@

Return Value

dimension (0, 1, or 2)

@@ -459,7 +459,7 @@

Return Value

distance

@@ -517,7 +517,7 @@

Return Value

distance

@@ -587,7 +587,7 @@

Return Value

bearing angle in degrees between 0 and 360

@@ -646,7 +646,7 @@

Return Value

exclusively

@@ -704,7 +704,7 @@

Return Value

true if north bearing

@@ -762,7 +762,7 @@

Return Value

true if east bearing

@@ -820,7 +820,7 @@

Return Value

true if south bearing

@@ -878,7 +878,7 @@

Return Value

true if west bearing

@@ -936,7 +936,7 @@

Return Value

radians

@@ -994,7 +994,7 @@

Return Value

degrees

@@ -1055,7 +1055,7 @@

Return Value

centroid point

@@ -1116,7 +1116,7 @@

Return Value

centroid point

@@ -1172,7 +1172,7 @@

Parameters

@@ -1228,7 +1228,7 @@

Parameters

@@ -1305,7 +1305,7 @@

Parameters

@@ -1361,7 +1361,7 @@

Parameters

@@ -1417,7 +1417,7 @@

Parameters

@@ -1493,7 +1493,7 @@

Parameters

@@ -1566,7 +1566,7 @@

Return Value

simplified points

@@ -1651,7 +1651,7 @@

Return Value

distance in meters

@@ -1721,7 +1721,7 @@

Return Value

true if in the polygon

@@ -1805,7 +1805,7 @@

Return Value

true if in the polygon

@@ -1875,7 +1875,7 @@

Return Value

true if in the polygon

@@ -1959,7 +1959,7 @@

Return Value

true if in the polygon

@@ -2029,7 +2029,7 @@

Return Value

true if in the polygon

@@ -2113,7 +2113,7 @@

Return Value

true if in the polygon

@@ -2183,7 +2183,7 @@

Return Value

true if on the polygon edge

@@ -2267,7 +2267,7 @@

Return Value

true if on the polygon edge

@@ -2337,7 +2337,7 @@

Return Value

true if on the polygon edge

@@ -2421,7 +2421,7 @@

Return Value

true if on the polygon edge

@@ -2491,7 +2491,7 @@

Return Value

true if on the polygon edge

@@ -2575,7 +2575,7 @@

Return Value

true if on the polygon edge

@@ -2634,7 +2634,7 @@

Return Value

true if the first and last points are the same

@@ -2693,7 +2693,7 @@

Return Value

true if the first and last points are the same

@@ -2752,7 +2752,7 @@

Return Value

true if the first and last points are the same

@@ -2822,7 +2822,7 @@

Return Value

true if on the line

@@ -2906,7 +2906,7 @@

Return Value

true if on the line

@@ -2976,7 +2976,7 @@

Return Value

true if on the line

@@ -3060,7 +3060,7 @@

Return Value

true if on the line

@@ -3144,7 +3144,7 @@

Return Value

true if on the path

@@ -3241,7 +3241,7 @@

Return Value

true if on the path

@@ -3311,7 +3311,7 @@

Return Value

intersection point or null if no intersection

@@ -3408,7 +3408,7 @@

Return Value

intersection point or null if no intersection

@@ -3466,7 +3466,7 @@

Return Value

geometry in meters

@@ -3524,7 +3524,7 @@

Return Value

point in meters

@@ -3594,7 +3594,7 @@

Return Value

point in meters

@@ -3652,7 +3652,7 @@

Return Value

multi point in meters

@@ -3710,7 +3710,7 @@

Return Value

line string in meters

@@ -3768,7 +3768,7 @@

Return Value

line in meters

@@ -3827,7 +3827,7 @@

Return Value

multi line string in meters

@@ -3885,7 +3885,7 @@

Return Value

polygon in meters

@@ -3944,7 +3944,7 @@

Return Value

multi polygon in meters

@@ -4003,7 +4003,7 @@

Return Value

circular string in meters

@@ -4062,7 +4062,7 @@

Return Value

compound curve in meters

@@ -4121,7 +4121,7 @@

Return Value

curve polygon in meters

@@ -4180,7 +4180,7 @@

Return Value

polyhedral surface in meters

@@ -4238,7 +4238,7 @@

Return Value

TIN in meters

@@ -4296,7 +4296,7 @@

Return Value

triangle in meters

@@ -4354,7 +4354,7 @@

Return Value

geometry in degrees

@@ -4412,7 +4412,7 @@

Return Value

point in degrees

@@ -4482,7 +4482,7 @@

Return Value

point in degrees

@@ -4540,7 +4540,7 @@

Return Value

multi point in degrees

@@ -4598,7 +4598,7 @@

Return Value

line string in degrees

@@ -4656,7 +4656,7 @@

Return Value

line in degrees

@@ -4715,7 +4715,7 @@

Return Value

multi line string in degrees

@@ -4773,7 +4773,7 @@

Return Value

polygon in degrees

@@ -4832,7 +4832,7 @@

Return Value

multi polygon in degrees

@@ -4891,7 +4891,7 @@

Return Value

circular string in degrees

@@ -4950,7 +4950,7 @@

Return Value

compound curve in degrees

@@ -5009,7 +5009,7 @@

Return Value

curve polygon in degrees

@@ -5068,7 +5068,7 @@

Return Value

polyhedral surface in degrees

@@ -5126,7 +5126,7 @@

Return Value

TIN in degrees

@@ -5184,7 +5184,7 @@

Return Value

triangle in degrees

@@ -5223,7 +5223,7 @@

Return Value

geometry envelope

@@ -5263,7 +5263,7 @@

Return Value

geometry envelope

@@ -5302,7 +5302,7 @@

Return Value

geometry envelope

@@ -5341,7 +5341,7 @@

Return Value

geometry envelope

@@ -5401,7 +5401,7 @@

Return Value

cropped geometry in meters or null

@@ -5474,7 +5474,7 @@

Return Value

cropped geometry in meters or null

@@ -5545,7 +5545,7 @@

Return Value

cropped point or null

@@ -5618,7 +5618,7 @@

Return Value

cropped points in meters or null

@@ -5689,7 +5689,7 @@

Return Value

cropped multi point or null

@@ -5762,7 +5762,7 @@

Return Value

cropped line string in meters or null

@@ -5834,7 +5834,7 @@

Return Value

cropped line in meters or null

@@ -5907,7 +5907,7 @@

Return Value

cropped multi line string in meters or null

@@ -5980,7 +5980,7 @@

Return Value

cropped polygon in meters or null

@@ -6053,7 +6053,7 @@

Return Value

cropped multi polygon in meters or null

@@ -6126,7 +6126,7 @@

Return Value

cropped circular string in meters or null

@@ -6199,7 +6199,7 @@

Return Value

cropped compound curve in meters or null

@@ -6272,7 +6272,7 @@

Return Value

cropped curve polygon in meters or null

@@ -6346,7 +6346,7 @@

Return Value

cropped polyhedral surface in meters or null

@@ -6418,7 +6418,7 @@

Return Value

cropped TIN in meters or null

@@ -6491,7 +6491,7 @@

Return Value

cropped triangle in meters or null

@@ -6562,7 +6562,7 @@

Return Value

true if equal

@@ -6647,7 +6647,7 @@

Return Value

true if equal

@@ -6720,7 +6720,7 @@

Return Value

true if contains

@@ -6793,7 +6793,7 @@

Return Value

true if contains

@@ -6851,7 +6851,7 @@

Parameters

@@ -6910,7 +6910,7 @@

Parameters

@@ -6967,7 +6967,7 @@

Parameters

@@ -7026,7 +7026,7 @@

Parameters

@@ -7097,7 +7097,7 @@

Parameters

@@ -7155,7 +7155,7 @@

Return Value

true if has z

@@ -7213,7 +7213,7 @@

Return Value

true if has m

@@ -7274,7 +7274,7 @@

Return Value

list of increasing parent types

@@ -7333,7 +7333,7 @@

Return Value

type)

@@ -7392,7 +7392,7 @@

Return Value

child type hierarchy, null if no children

@@ -7450,7 +7450,7 @@

Return Value

child geometry types, empty list if no child types

@@ -7508,7 +7508,7 @@

Return Value

encoded dta

@@ -7566,7 +7566,7 @@

Return Value

geometry

@@ -7576,8 +7576,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFLine.html b/docs/docs/api/Classes/SFLine.html index 7506883..1937fc2 100644 --- a/docs/docs/api/Classes/SFLine.html +++ b/docs/docs/api/Classes/SFLine.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFLine

A LineString with exactly 2 Points.

@@ -364,7 +364,7 @@

Return Value

new line

@@ -429,7 +429,7 @@

Return Value

new line

@@ -482,7 +482,7 @@

Return Value

new line

@@ -547,7 +547,7 @@

Return Value

new line

@@ -600,7 +600,7 @@

Return Value

new line

@@ -639,7 +639,7 @@

Return Value

new line

@@ -709,7 +709,7 @@

Return Value

new line

@@ -767,7 +767,7 @@

Return Value

new line

@@ -837,7 +837,7 @@

Return Value

new line

@@ -895,7 +895,7 @@

Return Value

new line

@@ -905,8 +905,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFLineString.html b/docs/docs/api/Classes/SFLineString.html index a0bfb38..4615898 100644 --- a/docs/docs/api/Classes/SFLineString.html +++ b/docs/docs/api/Classes/SFLineString.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFLineString

A Curve that connects two or more points in space.

@@ -365,7 +365,7 @@

Declaration

@@ -399,7 +399,7 @@

Return Value

new line string

@@ -464,7 +464,7 @@

Return Value

new line string

@@ -517,7 +517,7 @@

Return Value

new line string

@@ -570,7 +570,7 @@

Return Value

new line string

@@ -609,7 +609,7 @@

Return Value

new line string

@@ -679,7 +679,7 @@

Return Value

new line string

@@ -737,7 +737,7 @@

Return Value

new line string

@@ -821,7 +821,7 @@

Return Value

new line string

@@ -879,7 +879,7 @@

Return Value

new line string

@@ -933,7 +933,7 @@

Parameters

@@ -987,7 +987,7 @@

Parameters

@@ -1026,7 +1026,7 @@

Return Value

point count

@@ -1084,7 +1084,7 @@

Return Value

point

@@ -1094,8 +1094,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFLinearRing.html b/docs/docs/api/Classes/SFLinearRing.html index 34fc2a7..bb9cbb3 100644 --- a/docs/docs/api/Classes/SFLinearRing.html +++ b/docs/docs/api/Classes/SFLinearRing.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFLinearRing

A LineString that is both closed and simple.

@@ -364,7 +364,7 @@

Return Value

new linear ring

@@ -429,7 +429,7 @@

Return Value

new linear ring

@@ -482,7 +482,7 @@

Return Value

new linear ring

@@ -535,7 +535,7 @@

Return Value

new linear ring

@@ -574,7 +574,7 @@

Return Value

new linear ring

@@ -644,7 +644,7 @@

Return Value

new linear ring

@@ -702,7 +702,7 @@

Return Value

new linear ring

@@ -760,7 +760,7 @@

Return Value

new linear ring

@@ -770,8 +770,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFMultiCurve.html b/docs/docs/api/Classes/SFMultiCurve.html index 499b126..7c08e6b 100644 --- a/docs/docs/api/Classes/SFMultiCurve.html +++ b/docs/docs/api/Classes/SFMultiCurve.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiCurve

must be of type Curve.

@@ -415,7 +415,7 @@

Return Value

new multi curve

@@ -454,7 +454,7 @@

Return Value

curves

@@ -508,7 +508,7 @@

Parameters

@@ -562,7 +562,7 @@

Parameters

@@ -616,7 +616,7 @@

Parameters

@@ -655,7 +655,7 @@

Return Value

curve count

@@ -713,7 +713,7 @@

Return Value

curve

@@ -753,7 +753,7 @@

Return Value

true if closed

@@ -763,8 +763,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFMultiLineString.html b/docs/docs/api/Classes/SFMultiLineString.html index 054f971..255fd2a 100644 --- a/docs/docs/api/Classes/SFMultiLineString.html +++ b/docs/docs/api/Classes/SFMultiLineString.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiLineString

type LineString.

@@ -365,7 +365,7 @@

Return Value

new multi line string

@@ -430,7 +430,7 @@

Return Value

new multi line string

@@ -484,7 +484,7 @@

Return Value

new multi line string

@@ -537,7 +537,7 @@

Return Value

new multi line string

@@ -591,7 +591,7 @@

Return Value

new multi line string

@@ -630,7 +630,7 @@

Return Value

new multi line string

@@ -700,7 +700,7 @@

Return Value

new multi line string

@@ -759,7 +759,7 @@

Return Value

new multi line string

@@ -817,7 +817,7 @@

Return Value

new multi line string

@@ -875,7 +875,7 @@

Return Value

new multi line string

@@ -914,7 +914,7 @@

Return Value

line strings

@@ -968,7 +968,7 @@

Parameters

@@ -1022,7 +1022,7 @@

Parameters

@@ -1076,7 +1076,7 @@

Parameters

@@ -1115,7 +1115,7 @@

Return Value

line string count

@@ -1173,7 +1173,7 @@

Return Value

line string

@@ -1183,8 +1183,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFMultiPoint.html b/docs/docs/api/Classes/SFMultiPoint.html index 4da7ac8..98491d8 100644 --- a/docs/docs/api/Classes/SFMultiPoint.html +++ b/docs/docs/api/Classes/SFMultiPoint.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiPoint

must be of type Point.

@@ -365,7 +365,7 @@

Return Value

new multi point

@@ -430,7 +430,7 @@

Return Value

new multi point

@@ -483,7 +483,7 @@

Return Value

new multi point

@@ -536,7 +536,7 @@

Return Value

new multi point

@@ -589,7 +589,7 @@

Return Value

new multi point

@@ -628,7 +628,7 @@

Return Value

new multi point

@@ -698,7 +698,7 @@

Return Value

new multi point

@@ -756,7 +756,7 @@

Return Value

new multi point

@@ -814,7 +814,7 @@

Return Value

new multi point

@@ -872,7 +872,7 @@

Return Value

new multi point

@@ -911,7 +911,7 @@

Return Value

points

@@ -965,7 +965,7 @@

Parameters

@@ -1019,7 +1019,7 @@

Parameters

@@ -1073,7 +1073,7 @@

Parameters

@@ -1112,7 +1112,7 @@

Return Value

point count

@@ -1170,7 +1170,7 @@

Return Value

point

@@ -1180,8 +1180,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFMultiPolygon.html b/docs/docs/api/Classes/SFMultiPolygon.html index 85b3d4b..75b385f 100644 --- a/docs/docs/api/Classes/SFMultiPolygon.html +++ b/docs/docs/api/Classes/SFMultiPolygon.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiPolygon

be of type Polygon.

@@ -365,7 +365,7 @@

Return Value

new multi polygon

@@ -430,7 +430,7 @@

Return Value

new multi polygon

@@ -484,7 +484,7 @@

Return Value

new multi polygon

@@ -537,7 +537,7 @@

Return Value

new multi polygon

@@ -590,7 +590,7 @@

Return Value

new multi polygon

@@ -629,7 +629,7 @@

Return Value

new multi polygon

@@ -699,7 +699,7 @@

Return Value

new multi polygon

@@ -757,7 +757,7 @@

Return Value

new multi polygon

@@ -815,7 +815,7 @@

Return Value

new multi polygon

@@ -873,7 +873,7 @@

Return Value

new multi polygon

@@ -912,7 +912,7 @@

Return Value

polygons

@@ -966,7 +966,7 @@

Parameters

@@ -1020,7 +1020,7 @@

Parameters

@@ -1074,7 +1074,7 @@

Parameters

@@ -1113,7 +1113,7 @@

Return Value

polygon count

@@ -1171,7 +1171,7 @@

Return Value

polygon

@@ -1181,8 +1181,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFMultiSurface.html b/docs/docs/api/Classes/SFMultiSurface.html index 59936b7..6400566 100644 --- a/docs/docs/api/Classes/SFMultiSurface.html +++ b/docs/docs/api/Classes/SFMultiSurface.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiSurface

must be of type Surface.

@@ -415,7 +415,7 @@

Return Value

new multi surface

@@ -454,7 +454,7 @@

Return Value

surfaces

@@ -508,7 +508,7 @@

Parameters

@@ -562,7 +562,7 @@

Parameters

@@ -616,7 +616,7 @@

Parameters

@@ -655,7 +655,7 @@

Return Value

surface count

@@ -713,7 +713,7 @@

Return Value

surface

@@ -723,8 +723,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFPoint.html b/docs/docs/api/Classes/SFPoint.html index a04a8f0..1dd8ccf 100644 --- a/docs/docs/api/Classes/SFPoint.html +++ b/docs/docs/api/Classes/SFPoint.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFPoint

optionally also have a Z and/or an M value.

@@ -366,7 +366,7 @@

Declaration

@@ -401,7 +401,7 @@

Declaration

@@ -436,7 +436,7 @@

Declaration

@@ -471,7 +471,7 @@

Declaration

@@ -505,7 +505,7 @@

Return Value

new point

@@ -570,7 +570,7 @@

Return Value

new point

@@ -635,7 +635,7 @@

Return Value

new point

@@ -714,7 +714,7 @@

Return Value

new point

@@ -793,7 +793,7 @@

Return Value

new point

@@ -870,7 +870,7 @@

Return Value

new point

@@ -962,7 +962,7 @@

Return Value

new point

@@ -1054,7 +1054,7 @@

Return Value

new point

@@ -1146,7 +1146,7 @@

Return Value

new point

@@ -1238,7 +1238,7 @@

Return Value

new point

@@ -1330,7 +1330,7 @@

Return Value

new point

@@ -1383,7 +1383,7 @@

Return Value

new point

@@ -1422,7 +1422,7 @@

Return Value

new point

@@ -1492,7 +1492,7 @@

Return Value

new point

@@ -1562,7 +1562,7 @@

Return Value

new point

@@ -1646,7 +1646,7 @@

Return Value

new point

@@ -1730,7 +1730,7 @@

Return Value

new point

@@ -1814,7 +1814,7 @@

Return Value

new point

@@ -1911,7 +1911,7 @@

Return Value

new point

@@ -2008,7 +2008,7 @@

Return Value

new point

@@ -2105,7 +2105,7 @@

Return Value

new point

@@ -2202,7 +2202,7 @@

Return Value

new point

@@ -2299,7 +2299,7 @@

Return Value

new point

@@ -2357,7 +2357,7 @@

Return Value

new point

@@ -2411,7 +2411,7 @@

Parameters

@@ -2465,7 +2465,7 @@

Parameters

@@ -2519,7 +2519,7 @@

Parameters

@@ -2573,7 +2573,7 @@

Parameters

@@ -2631,7 +2631,7 @@

Return Value

true if x is equal

@@ -2689,7 +2689,7 @@

Return Value

true if y is equal

@@ -2747,7 +2747,7 @@

Return Value

true if x and y are equal

@@ -2757,8 +2757,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFPointFiniteFilter.html b/docs/docs/api/Classes/SFPointFiniteFilter.html index ec1b4d8..c276eb5 100644 --- a/docs/docs/api/Classes/SFPointFiniteFilter.html +++ b/docs/docs/api/Classes/SFPointFiniteFilter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFPointFiniteFilter

and m properties and non finite values (NaN or infinity)

@@ -366,7 +366,7 @@

Declaration

@@ -401,7 +401,7 @@

Declaration

@@ -436,7 +436,7 @@

Declaration

@@ -475,7 +475,7 @@

Return Value

new point finite filter

@@ -533,7 +533,7 @@

Return Value

new point finite filter

@@ -603,7 +603,7 @@

Return Value

new point finite filter

@@ -673,7 +673,7 @@

Return Value

new point finite filter

@@ -757,7 +757,7 @@

Return Value

new point finite filter

@@ -815,7 +815,7 @@

Return Value

new point finite filter

@@ -873,7 +873,7 @@

Return Value

new point finite filter

@@ -943,7 +943,7 @@

Return Value

new point finite filter

@@ -953,8 +953,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFPolygon.html b/docs/docs/api/Classes/SFPolygon.html index b23a947..cd85455 100644 --- a/docs/docs/api/Classes/SFPolygon.html +++ b/docs/docs/api/Classes/SFPolygon.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFPolygon

closed LineString.

@@ -365,7 +365,7 @@

Return Value

new polygon

@@ -430,7 +430,7 @@

Return Value

new polygon

@@ -483,7 +483,7 @@

Return Value

new polygon

@@ -536,7 +536,7 @@

Return Value

new polygon

@@ -589,7 +589,7 @@

Return Value

new polygon

@@ -628,7 +628,7 @@

Return Value

new polygon

@@ -698,7 +698,7 @@

Return Value

new polygon

@@ -756,7 +756,7 @@

Return Value

new polygon

@@ -814,7 +814,7 @@

Return Value

new polygon

@@ -898,7 +898,7 @@

Return Value

new polygon

@@ -956,7 +956,7 @@

Return Value

new polygon

@@ -995,7 +995,7 @@

Return Value

line string rings

@@ -1049,7 +1049,7 @@

Parameters

@@ -1108,7 +1108,7 @@

Return Value

ring

@@ -1147,7 +1147,7 @@

Return Value

exterior ring

@@ -1205,7 +1205,7 @@

Return Value

interior ring

@@ -1215,8 +1215,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFPolyhedralSurface.html b/docs/docs/api/Classes/SFPolyhedralSurface.html index ca0559f..a9e4f0a 100644 --- a/docs/docs/api/Classes/SFPolyhedralSurface.html +++ b/docs/docs/api/Classes/SFPolyhedralSurface.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFPolyhedralSurface

Contiguous collection of polygons which share common boundary segments.

@@ -365,7 +365,7 @@

Declaration

@@ -399,7 +399,7 @@

Return Value

new polyhedral surface

@@ -465,7 +465,7 @@

Return Value

new polyhedral surface

@@ -519,7 +519,7 @@

Return Value

new polyhedral surface

@@ -572,7 +572,7 @@

Return Value

new polyhedral surface

@@ -626,7 +626,7 @@

Return Value

new polyhedral surface

@@ -665,7 +665,7 @@

Return Value

new polyhedral surface

@@ -735,7 +735,7 @@

Return Value

new polyhedral surface

@@ -793,7 +793,7 @@

Return Value

new polyhedral surface

@@ -851,7 +851,7 @@

Return Value

new polyhedral surface

@@ -935,7 +935,7 @@

Return Value

new polyhedral surface

@@ -994,7 +994,7 @@

Return Value

new polyhedral surface

@@ -1033,7 +1033,7 @@

Return Value

patches

@@ -1087,7 +1087,7 @@

Parameters

@@ -1141,7 +1141,7 @@

Parameters

@@ -1195,7 +1195,7 @@

Parameters

@@ -1249,7 +1249,7 @@

Parameters

@@ -1303,7 +1303,7 @@

Parameters

@@ -1342,7 +1342,7 @@

Return Value

polygon count

@@ -1381,7 +1381,7 @@

Return Value

patch count

@@ -1439,7 +1439,7 @@

Return Value

polygon

@@ -1497,7 +1497,7 @@

Return Value

polygon patch

@@ -1507,8 +1507,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFSegment.html b/docs/docs/api/Classes/SFSegment.html index 07de2d3..154f891 100644 --- a/docs/docs/api/Classes/SFSegment.html +++ b/docs/docs/api/Classes/SFSegment.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFSegment

Line segment of an edge between two points

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -497,7 +497,7 @@

Return Value

segment

@@ -536,7 +536,7 @@

Return Value

edge number

@@ -575,7 +575,7 @@

Return Value

polygon ring number

@@ -614,7 +614,7 @@

Return Value

left point

@@ -653,7 +653,7 @@

Return Value

right point

@@ -663,8 +663,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFShamosHoey.html b/docs/docs/api/Classes/SFShamosHoey.html index 6325723..1f8f533 100644 --- a/docs/docs/api/Classes/SFShamosHoey.html +++ b/docs/docs/api/Classes/SFShamosHoey.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -340,7 +340,7 @@

SFShamosHoey

code must verify correctness for their application.

@@ -399,7 +399,7 @@

Return Value

true if simple, false if intersects

@@ -457,7 +457,7 @@

Return Value

true if simple, false if intersects

@@ -515,7 +515,7 @@

Return Value

true if simple, false if intersects

@@ -573,7 +573,7 @@

Return Value

true if simple, false if intersects

@@ -631,7 +631,7 @@

Return Value

true if simple, false if intersects

@@ -641,8 +641,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFSurface.html b/docs/docs/api/Classes/SFSurface.html index 970f5c2..28c80e2 100644 --- a/docs/docs/api/Classes/SFSurface.html +++ b/docs/docs/api/Classes/SFSurface.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFSurface

is a geometry that has an area.

@@ -415,7 +415,7 @@

Return Value

new surface

@@ -425,8 +425,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFSweepLine.html b/docs/docs/api/Classes/SFSweepLine.html index 8d04dc3..075485a 100644 --- a/docs/docs/api/Classes/SFSweepLine.html +++ b/docs/docs/api/Classes/SFSweepLine.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFSweepLine

Sweep Line algorithm

@@ -388,7 +388,7 @@

Return Value

sweep line

@@ -446,7 +446,7 @@

Return Value

added segment

@@ -504,7 +504,7 @@

Return Value

segment

@@ -575,7 +575,7 @@

Return Value

true if intersection, false if not

@@ -629,7 +629,7 @@

Parameters

@@ -700,7 +700,7 @@

Return Value

NSOrderedDescending if p1 > p2, NSOrderedAscending if p1 < p2, NSOrderedSame if equal

@@ -710,8 +710,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFTIN.html b/docs/docs/api/Classes/SFTIN.html index 22be60a..3275ce3 100644 --- a/docs/docs/api/Classes/SFTIN.html +++ b/docs/docs/api/Classes/SFTIN.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFTIN

coordinate digit.

@@ -365,7 +365,7 @@

Return Value

new tin

@@ -430,7 +430,7 @@

Return Value

new tin

@@ -483,7 +483,7 @@

Return Value

new tin

@@ -536,7 +536,7 @@

Return Value

new tin

@@ -589,7 +589,7 @@

Return Value

new tin

@@ -628,7 +628,7 @@

Return Value

new tin

@@ -698,7 +698,7 @@

Return Value

new tin

@@ -756,7 +756,7 @@

Return Value

new tin

@@ -814,7 +814,7 @@

Return Value

new tin

@@ -872,7 +872,7 @@

Return Value

new tin

@@ -882,8 +882,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFTextReader.html b/docs/docs/api/Classes/SFTextReader.html index bb720ad..c5fe977 100644 --- a/docs/docs/api/Classes/SFTextReader.html +++ b/docs/docs/api/Classes/SFTextReader.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFTextReader

Read through text string

@@ -388,7 +388,7 @@

Return Value

new text reader

@@ -427,7 +427,7 @@

Return Value

text

@@ -468,7 +468,7 @@

Return Value

token

@@ -507,7 +507,7 @@

Return Value

next token

@@ -546,7 +546,7 @@

Return Value

double

@@ -556,8 +556,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFTriangle.html b/docs/docs/api/Classes/SFTriangle.html index 2ffcfe3..a8ef613 100644 --- a/docs/docs/api/Classes/SFTriangle.html +++ b/docs/docs/api/Classes/SFTriangle.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFTriangle

Triangle

@@ -364,7 +364,7 @@

Return Value

new triangle

@@ -429,7 +429,7 @@

Return Value

new triangle

@@ -482,7 +482,7 @@

Return Value

new triangle

@@ -535,7 +535,7 @@

Return Value

new triangle

@@ -588,7 +588,7 @@

Return Value

new triangle

@@ -627,7 +627,7 @@

Return Value

new triangle

@@ -697,7 +697,7 @@

Return Value

new triangle

@@ -755,7 +755,7 @@

Return Value

new triangle

@@ -813,7 +813,7 @@

Return Value

new triangle

@@ -871,7 +871,7 @@

Return Value

new triangle

@@ -881,8 +881,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFWTGeometryReader.html b/docs/docs/api/Classes/SFWTGeometryReader.html index b08258b..0116fcb 100644 --- a/docs/docs/api/Classes/SFWTGeometryReader.html +++ b/docs/docs/api/Classes/SFWTGeometryReader.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFWTGeometryReader

Well Known Text reader

@@ -388,7 +388,7 @@

Return Value

geometry

@@ -459,7 +459,7 @@

Return Value

geometry

@@ -530,7 +530,7 @@

Return Value

geometry

@@ -614,7 +614,7 @@

Return Value

geometry

@@ -668,7 +668,7 @@

Parameters

@@ -722,7 +722,7 @@

Parameters

@@ -761,7 +761,7 @@

Return Value

text reader

@@ -800,7 +800,7 @@

Return Value

geometry

@@ -858,7 +858,7 @@

Return Value

geometry

@@ -916,7 +916,7 @@

Return Value

geometry

@@ -987,7 +987,7 @@

Return Value

geometry

@@ -1071,7 +1071,7 @@

Return Value

geometry

@@ -1110,7 +1110,7 @@

Return Value

geometry type info

@@ -1180,7 +1180,7 @@

Return Value

point

@@ -1250,7 +1250,7 @@

Return Value

point

@@ -1320,7 +1320,7 @@

Return Value

line string

@@ -1404,7 +1404,7 @@

Return Value

line string

@@ -1474,7 +1474,7 @@

Return Value

polygon

@@ -1558,7 +1558,7 @@

Return Value

polygon

@@ -1628,7 +1628,7 @@

Return Value

multi point

@@ -1712,7 +1712,7 @@

Return Value

multi point

@@ -1783,7 +1783,7 @@

Return Value

multi line string

@@ -1868,7 +1868,7 @@

Return Value

multi line string

@@ -1938,7 +1938,7 @@

Return Value

multi polygon

@@ -2023,7 +2023,7 @@

Return Value

multi polygon

@@ -2094,7 +2094,7 @@

Return Value

geometry collection

@@ -2179,7 +2179,7 @@

Return Value

geometry collection

@@ -2264,7 +2264,7 @@

Return Value

multi curve

@@ -2349,7 +2349,7 @@

Return Value

multi surface

@@ -2419,7 +2419,7 @@

Return Value

circular string

@@ -2504,7 +2504,7 @@

Return Value

circular string

@@ -2574,7 +2574,7 @@

Return Value

compound curve

@@ -2659,7 +2659,7 @@

Return Value

compound curve

@@ -2729,7 +2729,7 @@

Return Value

curve polygon

@@ -2814,7 +2814,7 @@

Return Value

curve polygon

@@ -2885,7 +2885,7 @@

Return Value

polyhedral surface

@@ -2970,7 +2970,7 @@

Return Value

polyhedral surface

@@ -3040,7 +3040,7 @@

Return Value

TIN

@@ -3124,7 +3124,7 @@

Return Value

TIN

@@ -3194,7 +3194,7 @@

Return Value

triangle

@@ -3278,7 +3278,7 @@

Return Value

triangle

@@ -3336,7 +3336,7 @@

Return Value

geometry

@@ -3407,7 +3407,7 @@

Return Value

geometry

@@ -3478,7 +3478,7 @@

Return Value

geometry

@@ -3562,7 +3562,7 @@

Return Value

geometry

@@ -3659,7 +3659,7 @@

Return Value

geometry

@@ -3717,7 +3717,7 @@

Return Value

geometry type info

@@ -3801,7 +3801,7 @@

Return Value

point

@@ -3885,7 +3885,7 @@

Return Value

point

@@ -3969,7 +3969,7 @@

Return Value

line string

@@ -4066,7 +4066,7 @@

Return Value

line string

@@ -4150,7 +4150,7 @@

Return Value

polygon

@@ -4247,7 +4247,7 @@

Return Value

polygon

@@ -4331,7 +4331,7 @@

Return Value

multi point

@@ -4428,7 +4428,7 @@

Return Value

multi point

@@ -4512,7 +4512,7 @@

Return Value

multi line string

@@ -4610,7 +4610,7 @@

Return Value

multi line string

@@ -4694,7 +4694,7 @@

Return Value

multi polygon

@@ -4792,7 +4792,7 @@

Return Value

multi polygon

@@ -4877,7 +4877,7 @@

Return Value

geometry collection

@@ -4975,7 +4975,7 @@

Return Value

geometry collection

@@ -5073,7 +5073,7 @@

Return Value

multi curve

@@ -5171,7 +5171,7 @@

Return Value

multi surface

@@ -5255,7 +5255,7 @@

Return Value

circular string

@@ -5353,7 +5353,7 @@

Return Value

circular string

@@ -5437,7 +5437,7 @@

Return Value

compound curve

@@ -5535,7 +5535,7 @@

Return Value

compound curve

@@ -5619,7 +5619,7 @@

Return Value

curve polygon

@@ -5717,7 +5717,7 @@

Return Value

curve polygon

@@ -5801,7 +5801,7 @@

Return Value

polyhedral surface

@@ -5899,7 +5899,7 @@

Return Value

polyhedral surface

@@ -5983,7 +5983,7 @@

Return Value

TIN

@@ -6080,7 +6080,7 @@

Return Value

TIN

@@ -6164,7 +6164,7 @@

Return Value

triangle

@@ -6261,7 +6261,7 @@

Return Value

triangle

@@ -6271,8 +6271,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFWTGeometryTypeInfo.html b/docs/docs/api/Classes/SFWTGeometryTypeInfo.html index 8a07da1..6f64e50 100644 --- a/docs/docs/api/Classes/SFWTGeometryTypeInfo.html +++ b/docs/docs/api/Classes/SFWTGeometryTypeInfo.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFWTGeometryTypeInfo

Geometry type info

@@ -410,7 +410,7 @@

Parameters

@@ -449,7 +449,7 @@

Return Value

geometry type

@@ -488,7 +488,7 @@

Return Value

true if has z values

@@ -527,7 +527,7 @@

Return Value

true if has m values

@@ -537,8 +537,8 @@

Return Value

diff --git a/docs/docs/api/Classes/SFWTGeometryWriter.html b/docs/docs/api/Classes/SFWTGeometryWriter.html index 6a4cf7f..713423f 100644 --- a/docs/docs/api/Classes/SFWTGeometryWriter.html +++ b/docs/docs/api/Classes/SFWTGeometryWriter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFWTGeometryWriter

Well Known Text writer

@@ -388,7 +388,7 @@

Return Value

well-known text string

@@ -423,7 +423,7 @@

Declaration

@@ -477,7 +477,7 @@

Parameters

@@ -516,7 +516,7 @@

Return Value

text

@@ -570,7 +570,7 @@

Parameters

@@ -628,7 +628,7 @@

Return Value

geometry name

@@ -682,7 +682,7 @@

Parameters

@@ -736,7 +736,7 @@

Parameters

@@ -790,7 +790,7 @@

Parameters

@@ -844,7 +844,7 @@

Parameters

@@ -898,7 +898,7 @@

Parameters

@@ -952,7 +952,7 @@

Parameters

@@ -1006,7 +1006,7 @@

Parameters

@@ -1060,7 +1060,7 @@

Parameters

@@ -1114,7 +1114,7 @@

Parameters

@@ -1168,7 +1168,7 @@

Parameters

@@ -1222,7 +1222,7 @@

Parameters

@@ -1276,7 +1276,7 @@

Parameters

@@ -1330,7 +1330,7 @@

Parameters

@@ -1384,7 +1384,7 @@

Parameters

@@ -1450,7 +1450,7 @@

Parameters

@@ -1508,7 +1508,7 @@

Return Value

well-known text string

@@ -1574,7 +1574,7 @@

Parameters

@@ -1632,7 +1632,7 @@

Return Value

well-known text string

@@ -1698,7 +1698,7 @@

Parameters

@@ -1756,7 +1756,7 @@

Return Value

well-known text string

@@ -1823,7 +1823,7 @@

Parameters

@@ -1881,7 +1881,7 @@

Return Value

well-known text string

@@ -1947,7 +1947,7 @@

Parameters

@@ -2005,7 +2005,7 @@

Return Value

well-known text string

@@ -2072,7 +2072,7 @@

Parameters

@@ -2130,7 +2130,7 @@

Return Value

well-known text string

@@ -2197,7 +2197,7 @@

Parameters

@@ -2255,7 +2255,7 @@

Return Value

well-known text string

@@ -2322,7 +2322,7 @@

Parameters

@@ -2381,7 +2381,7 @@

Return Value

well-known text string

@@ -2448,7 +2448,7 @@

Parameters

@@ -2506,7 +2506,7 @@

Return Value

well-known text string

@@ -2573,7 +2573,7 @@

Parameters

@@ -2631,7 +2631,7 @@

Return Value

well-known text string

@@ -2698,7 +2698,7 @@

Parameters

@@ -2756,7 +2756,7 @@

Return Value

well-known text string

@@ -2823,7 +2823,7 @@

Parameters

@@ -2881,7 +2881,7 @@

Return Value

well-known text string

@@ -2948,7 +2948,7 @@

Parameters

@@ -3006,7 +3006,7 @@

Return Value

well-known text string

@@ -3072,7 +3072,7 @@

Parameters

@@ -3130,7 +3130,7 @@

Return Value

well-known text string

@@ -3196,7 +3196,7 @@

Parameters

@@ -3206,8 +3206,8 @@

Parameters

diff --git a/docs/docs/api/Constants.html b/docs/docs/api/Constants.html index 45f3812..29af788 100644 --- a/docs/docs/api/Constants.html +++ b/docs/docs/api/Constants.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -350,7 +350,7 @@

Declaration

@@ -385,7 +385,7 @@

Declaration

@@ -420,7 +420,7 @@

Declaration

@@ -455,7 +455,7 @@

Declaration

@@ -490,7 +490,7 @@

Declaration

@@ -525,7 +525,7 @@

Declaration

@@ -560,7 +560,7 @@

Declaration

@@ -595,7 +595,7 @@

Declaration

@@ -630,7 +630,7 @@

Declaration

@@ -665,7 +665,7 @@

Declaration

@@ -700,7 +700,7 @@

Declaration

@@ -735,7 +735,7 @@

Declaration

@@ -770,7 +770,7 @@

Declaration

@@ -805,7 +805,7 @@

Declaration

@@ -840,7 +840,7 @@

Declaration

@@ -875,7 +875,7 @@

Declaration

@@ -910,7 +910,7 @@

Declaration

@@ -945,7 +945,7 @@

Declaration

@@ -980,7 +980,7 @@

Declaration

@@ -1015,7 +1015,7 @@

Declaration

@@ -1050,7 +1050,7 @@

Declaration

@@ -1085,7 +1085,7 @@

Declaration

@@ -1120,7 +1120,7 @@

Declaration

@@ -1155,7 +1155,7 @@

Declaration

@@ -1190,7 +1190,7 @@

Declaration

@@ -1225,7 +1225,7 @@

Declaration

@@ -1260,7 +1260,7 @@

Declaration

@@ -1295,7 +1295,7 @@

Declaration

@@ -1330,7 +1330,7 @@

Declaration

@@ -1365,7 +1365,7 @@

Declaration

@@ -1400,7 +1400,7 @@

Declaration

@@ -1435,7 +1435,7 @@

Declaration

@@ -1470,7 +1470,7 @@

Declaration

@@ -1505,7 +1505,7 @@

Declaration

@@ -1540,7 +1540,7 @@

Declaration

@@ -1550,8 +1550,8 @@

Declaration

diff --git a/docs/docs/api/Enums.html b/docs/docs/api/Enums.html index 6cb5f65..06f085d 100644 --- a/docs/docs/api/Enums.html +++ b/docs/docs/api/Enums.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -351,7 +351,7 @@

Declaration

@@ -388,7 +388,7 @@

Declaration

@@ -424,7 +424,7 @@

Declaration

@@ -434,8 +434,8 @@

Declaration

diff --git a/docs/docs/api/Enums/SFEventType.html b/docs/docs/api/Enums/SFEventType.html index 20e8ddb..0087ec7 100644 --- a/docs/docs/api/Enums/SFEventType.html +++ b/docs/docs/api/Enums/SFEventType.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFEventType

Event type of the point direction

@@ -360,7 +360,7 @@

Declaration

@@ -390,7 +390,7 @@

Declaration

@@ -400,8 +400,8 @@

Declaration

diff --git a/docs/docs/api/Enums/SFFiniteFilterType.html b/docs/docs/api/Enums/SFFiniteFilterType.html index 2fcc3f9..f983992 100644 --- a/docs/docs/api/Enums/SFFiniteFilterType.html +++ b/docs/docs/api/Enums/SFFiniteFilterType.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFFiniteFilterType

infinite or NaN values

@@ -361,7 +361,7 @@

Declaration

@@ -391,7 +391,7 @@

Declaration

@@ -421,7 +421,7 @@

Declaration

@@ -431,8 +431,8 @@

Declaration

diff --git a/docs/docs/api/Enums/SFGeometryType.html b/docs/docs/api/Enums/SFGeometryType.html index d2dc47d..f5149aa 100644 --- a/docs/docs/api/Enums/SFGeometryType.html +++ b/docs/docs/api/Enums/SFGeometryType.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryType

Geometry Type enumeration

@@ -360,7 +360,7 @@

Declaration

@@ -390,7 +390,7 @@

Declaration

@@ -420,7 +420,7 @@

Declaration

@@ -450,7 +450,7 @@

Declaration

@@ -480,7 +480,7 @@

Declaration

@@ -510,7 +510,7 @@

Declaration

@@ -540,7 +540,7 @@

Declaration

@@ -570,7 +570,7 @@

Declaration

@@ -600,7 +600,7 @@

Declaration

@@ -630,7 +630,7 @@

Declaration

@@ -660,7 +660,7 @@

Declaration

@@ -690,7 +690,7 @@

Declaration

@@ -720,7 +720,7 @@

Declaration

@@ -750,7 +750,7 @@

Declaration

@@ -780,7 +780,7 @@

Declaration

@@ -810,7 +810,7 @@

Declaration

@@ -840,7 +840,7 @@

Declaration

@@ -870,7 +870,7 @@

Declaration

@@ -900,7 +900,7 @@

Declaration

@@ -910,8 +910,8 @@

Declaration

diff --git a/docs/docs/api/Protocols.html b/docs/docs/api/Protocols.html index a916eff..8c53a36 100644 --- a/docs/docs/api/Protocols.html +++ b/docs/docs/api/Protocols.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -352,7 +352,7 @@

Declaration

@@ -362,8 +362,8 @@

Declaration

diff --git a/docs/docs/api/Protocols/SFGeometryFilter.html b/docs/docs/api/Protocols/SFGeometryFilter.html index 6e20819..fdbdb3c 100644 --- a/docs/docs/api/Protocols/SFGeometryFilter.html +++ b/docs/docs/api/Protocols/SFGeometryFilter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFGeometryFilter

construction

@@ -403,7 +403,7 @@

Return Value

true if passes filter and geometry should be included

@@ -413,8 +413,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes.html index fe423a8..5d0b670 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -351,7 +351,7 @@

Declaration

@@ -387,7 +387,7 @@

Declaration

@@ -427,7 +427,7 @@

Declaration

@@ -464,7 +464,7 @@

Declaration

@@ -500,7 +500,7 @@

Declaration

@@ -536,7 +536,7 @@

Declaration

@@ -572,7 +572,7 @@

Declaration

@@ -628,7 +628,7 @@

Declaration

@@ -664,7 +664,7 @@

Declaration

@@ -700,7 +700,7 @@

Declaration

@@ -736,7 +736,7 @@

Declaration

@@ -773,7 +773,7 @@

Declaration

@@ -810,7 +810,7 @@

Declaration

@@ -847,7 +847,7 @@

Declaration

@@ -884,7 +884,7 @@

Declaration

@@ -921,7 +921,7 @@

Declaration

@@ -958,7 +958,7 @@

Declaration

@@ -995,7 +995,7 @@

Declaration

@@ -1031,7 +1031,7 @@

Declaration

@@ -1068,7 +1068,7 @@

Declaration

@@ -1105,7 +1105,7 @@

Declaration

@@ -1141,7 +1141,7 @@

Declaration

@@ -1178,7 +1178,7 @@

Declaration

@@ -1214,7 +1214,7 @@

Declaration

@@ -1250,7 +1250,7 @@

Declaration

@@ -1287,7 +1287,7 @@

Declaration

@@ -1323,7 +1323,7 @@

Declaration

@@ -1359,7 +1359,7 @@

Declaration

@@ -1395,7 +1395,7 @@

Declaration

@@ -1431,7 +1431,7 @@

Declaration

@@ -1468,7 +1468,7 @@

Declaration

@@ -1505,7 +1505,7 @@

Declaration

@@ -1542,7 +1542,7 @@

Declaration

@@ -1578,7 +1578,7 @@

Declaration

@@ -1615,7 +1615,7 @@

Declaration

@@ -1652,7 +1652,7 @@

Declaration

@@ -1688,7 +1688,7 @@

Declaration

@@ -1724,7 +1724,7 @@

Declaration

@@ -1761,7 +1761,7 @@

Declaration

@@ -1797,7 +1797,7 @@

Declaration

@@ -1844,7 +1844,7 @@

Declaration

@@ -1880,7 +1880,7 @@

Declaration

@@ -1916,7 +1916,7 @@

Declaration

@@ -1952,7 +1952,7 @@

Declaration

@@ -1988,7 +1988,7 @@

Declaration

@@ -1998,8 +1998,8 @@

Declaration

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFByteReader.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFByteReader.html index d139050..065aa6d 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFByteReader.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFByteReader.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFByteReader

Read through byte data

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -435,7 +435,7 @@

Declaration

@@ -493,7 +493,7 @@

Return Value

new byte reader

@@ -564,7 +564,7 @@

Return Value

new byte reader

@@ -622,7 +622,7 @@

Return Value

string value

@@ -661,7 +661,7 @@

Return Value

byte

@@ -719,7 +719,7 @@

Return Value

data value

@@ -758,7 +758,7 @@

Return Value

integer

@@ -797,7 +797,7 @@

Return Value

double

@@ -807,8 +807,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFByteWriter.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFByteWriter.html index a963525..49d5993 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFByteWriter.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFByteWriter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFByteWriter

Write byte data

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -435,7 +435,7 @@

Declaration

@@ -474,7 +474,7 @@

Return Value

new byte writer

@@ -532,7 +532,7 @@

Return Value

new byte writer

@@ -567,7 +567,7 @@

Declaration

@@ -606,7 +606,7 @@

Return Value

byte data

@@ -645,7 +645,7 @@

Return Value

bytes written

@@ -699,7 +699,7 @@

Parameters

@@ -753,7 +753,7 @@

Parameters

@@ -807,7 +807,7 @@

Parameters

@@ -861,7 +861,7 @@

Parameters

@@ -915,7 +915,7 @@

Parameters

@@ -925,8 +925,8 @@

Parameters

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidCurve.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidCurve.html index 83d624f..96f743c 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidCurve.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidCurve.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFCentroidCurve

the JTS (Java Topology Suite) CentroidLine.

@@ -370,7 +370,7 @@

Return Value

new instance

@@ -428,7 +428,7 @@

Return Value

new instance

@@ -483,7 +483,7 @@

Parameters

@@ -522,7 +522,7 @@

Return Value

centroid point

@@ -532,8 +532,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidPoint.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidPoint.html index f64bba6..07ec5b7 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidPoint.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidPoint.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFCentroidPoint

the JTS (Java Topology Suite) CentroidPoint.

@@ -370,7 +370,7 @@

Return Value

new instance

@@ -428,7 +428,7 @@

Return Value

new instance

@@ -482,7 +482,7 @@

Parameters

@@ -521,7 +521,7 @@

Return Value

centroid point

@@ -531,8 +531,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidSurface.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidSurface.html index b78a866..23671aa 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidSurface.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCentroidSurface.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFCentroidSurface

the JTS (Java Topology Suite) CentroidArea.

@@ -370,7 +370,7 @@

Return Value

new instance

@@ -428,7 +428,7 @@

Return Value

new instance

@@ -483,7 +483,7 @@

Parameters

@@ -522,7 +522,7 @@

Return Value

centroid point

@@ -532,8 +532,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCircularString.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCircularString.html index c0e2aa1..57e1c55 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCircularString.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCircularString.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFCircularString

Circular String, Curve sub type

@@ -364,7 +364,7 @@

Return Value

new circular string

@@ -429,7 +429,7 @@

Return Value

new circular string

@@ -483,7 +483,7 @@

Return Value

new circular string

@@ -537,7 +537,7 @@

Return Value

new circular string

@@ -576,7 +576,7 @@

Return Value

new circular string

@@ -646,7 +646,7 @@

Return Value

new circular string

@@ -704,7 +704,7 @@

Return Value

new circular string

@@ -762,7 +762,7 @@

Return Value

new circular string

@@ -772,8 +772,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCompoundCurve.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCompoundCurve.html index fb17197..74e5d02 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCompoundCurve.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCompoundCurve.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFCompoundCurve

Compound Curve, Curve sub type

@@ -365,7 +365,7 @@

Declaration

@@ -399,7 +399,7 @@

Return Value

new compound curve

@@ -464,7 +464,7 @@

Return Value

new compound curve

@@ -518,7 +518,7 @@

Return Value

new compound curve

@@ -571,7 +571,7 @@

Return Value

new compound curve

@@ -625,7 +625,7 @@

Return Value

new compound curve

@@ -664,7 +664,7 @@

Return Value

new compound curve

@@ -734,7 +734,7 @@

Return Value

new compound curve

@@ -793,7 +793,7 @@

Return Value

new compound curve

@@ -851,7 +851,7 @@

Return Value

new compound curve

@@ -909,7 +909,7 @@

Return Value

new compound curve

@@ -963,7 +963,7 @@

Parameters

@@ -1017,7 +1017,7 @@

Parameters

@@ -1056,7 +1056,7 @@

Return Value

line string count

@@ -1114,7 +1114,7 @@

Return Value

line string

@@ -1124,8 +1124,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCurve.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCurve.html index 546d28d..08bf0a2 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCurve.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCurve.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -333,7 +333,7 @@

SFCurve

curve is called a ring.

@@ -418,7 +418,7 @@

Return Value

new curve

@@ -457,7 +457,7 @@

Return Value

start point

@@ -496,7 +496,7 @@

Return Value

end point

@@ -535,7 +535,7 @@

Return Value

true if closed

@@ -574,7 +574,7 @@

Return Value

true if a ring

@@ -584,8 +584,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCurvePolygon.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCurvePolygon.html index e004907..0f9e63b 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCurvePolygon.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFCurvePolygon.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFCurvePolygon

Each ring is defined by a Curve instance.

@@ -366,7 +366,7 @@

Declaration

@@ -400,7 +400,7 @@

Return Value

new curve polygon

@@ -465,7 +465,7 @@

Return Value

new curve polygon

@@ -518,7 +518,7 @@

Return Value

new curve polygon

@@ -571,7 +571,7 @@

Return Value

new curve polygon

@@ -624,7 +624,7 @@

Return Value

new curve polygon

@@ -663,7 +663,7 @@

Return Value

new curve polygon

@@ -733,7 +733,7 @@

Return Value

new curve polygon

@@ -791,7 +791,7 @@

Return Value

new curve polygon

@@ -849,7 +849,7 @@

Return Value

new curve polygon

@@ -933,7 +933,7 @@

Return Value

new curve polygon

@@ -991,7 +991,7 @@

Return Value

new curve polygon

@@ -1045,7 +1045,7 @@

Parameters

@@ -1099,7 +1099,7 @@

Parameters

@@ -1138,7 +1138,7 @@

Return Value

ring count

@@ -1197,7 +1197,7 @@

Return Value

ring

@@ -1236,7 +1236,7 @@

Return Value

exterior ring

@@ -1275,7 +1275,7 @@

Return Value

number of interior rings

@@ -1333,7 +1333,7 @@

Return Value

interior ring

@@ -1343,8 +1343,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFDegreesCentroid.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFDegreesCentroid.html index 4d05ae2..3922f36 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFDegreesCentroid.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFDegreesCentroid.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFDegreesCentroid

Centroid calculations for geometries in degrees

@@ -388,7 +388,7 @@

Return Value

centroid point

@@ -446,7 +446,7 @@

Return Value

new instance

@@ -485,7 +485,7 @@

Return Value

centroid point

@@ -495,8 +495,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFEvent.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFEvent.html index 8f7d156..0501456 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFEvent.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFEvent.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFEvent

Event element

@@ -427,7 +427,7 @@

Return Value

event

@@ -466,7 +466,7 @@

Return Value

edge number

@@ -505,7 +505,7 @@

Return Value

polygon ring number

@@ -544,7 +544,7 @@

Return Value

polygon point

@@ -583,7 +583,7 @@

Return Value

event type

@@ -622,7 +622,7 @@

Return Value

sorted events

@@ -632,8 +632,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFEventQueue.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFEventQueue.html index 827e4cf..42d16bd 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFEventQueue.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFEventQueue.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFEventQueue

Event queue for processing events

@@ -388,7 +388,7 @@

Return Value

event queue

@@ -446,7 +446,7 @@

Return Value

event queue

@@ -485,7 +485,7 @@

Return Value

events

@@ -495,8 +495,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFExtendedGeometryCollection.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFExtendedGeometryCollection.html index 9d7164b..ff8d7f2 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFExtendedGeometryCollection.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFExtendedGeometryCollection.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFExtendedGeometryCollection

support

@@ -386,7 +386,7 @@

Return Value

new extended geometry collection

@@ -441,7 +441,7 @@

Return Value

new extended geometry collection

@@ -500,7 +500,7 @@

Return Value

new extended geometry collection

@@ -559,7 +559,7 @@

Return Value

new extended geometry collection

@@ -594,7 +594,7 @@

Declaration

@@ -604,8 +604,8 @@

Declaration

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometry.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometry.html index ab972a4..e6a5f80 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometry.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometry.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometry

The root of the geometry type hierarchy

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -435,7 +435,7 @@

Declaration

@@ -519,7 +519,7 @@

Return Value

new geometry

@@ -558,7 +558,7 @@

Return Value

true if has z coordinates

@@ -597,7 +597,7 @@

Return Value

true if has m coordinates

@@ -636,7 +636,7 @@

Return Value

geometry envelope

@@ -690,7 +690,7 @@

Parameters

@@ -729,7 +729,7 @@

Return Value

dimension

@@ -771,7 +771,7 @@

Return Value

centroid point

@@ -813,7 +813,7 @@

Return Value

centroid point

@@ -852,7 +852,7 @@

Return Value

true if empty

@@ -892,7 +892,7 @@

Return Value

true if simple

@@ -946,7 +946,7 @@

Parameters

@@ -956,8 +956,8 @@

Parameters

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryCollection.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryCollection.html index fa74ca0..abc64b8 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryCollection.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryCollection.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryCollection

A collection of zero or more Geometry instances.

@@ -365,7 +365,7 @@

Declaration

@@ -399,7 +399,7 @@

Return Value

new geometry collection

@@ -465,7 +465,7 @@

Return Value

new geometry collection

@@ -519,7 +519,7 @@

Return Value

new geometry collection

@@ -572,7 +572,7 @@

Return Value

new geometry collection

@@ -626,7 +626,7 @@

Return Value

new geometry collection

@@ -665,7 +665,7 @@

Return Value

new geometry collection

@@ -735,7 +735,7 @@

Return Value

new geometry collection

@@ -793,7 +793,7 @@

Return Value

new geometry collection

@@ -851,7 +851,7 @@

Return Value

new geometry collection

@@ -935,7 +935,7 @@

Return Value

new geometry collection

@@ -994,7 +994,7 @@

Return Value

new geometry collection

@@ -1048,7 +1048,7 @@

Parameters

@@ -1102,7 +1102,7 @@

Parameters

@@ -1141,7 +1141,7 @@

Return Value

geometry count

@@ -1199,7 +1199,7 @@

Return Value

geometry

@@ -1244,7 +1244,7 @@

Return Value

GEOMETRYCOLLECTION

@@ -1284,7 +1284,7 @@

Return Value

true if a multi point or contains only points

@@ -1324,7 +1324,7 @@

Return Value

multi point

@@ -1364,7 +1364,7 @@

Return Value

true if a multi line string or contains only line strings

@@ -1404,7 +1404,7 @@

Return Value

multi line string

@@ -1444,7 +1444,7 @@

Return Value

true if a multi polygon or contains only polygons

@@ -1484,7 +1484,7 @@

Return Value

multi polygon

@@ -1524,7 +1524,7 @@

Return Value

true if contains only curves

@@ -1563,7 +1563,7 @@

Return Value

multi curve

@@ -1603,7 +1603,7 @@

Return Value

true if contains only surfaces

@@ -1642,7 +1642,7 @@

Return Value

multi surface

@@ -1681,7 +1681,7 @@

Return Value

geometry collection

@@ -1691,8 +1691,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryEnvelope.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryEnvelope.html index 3f032ab..8bcccf1 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryEnvelope.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryEnvelope.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryEnvelope

Geometry envelope containing x and y range with optional z and m range

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -435,7 +435,7 @@

Declaration

@@ -470,7 +470,7 @@

Declaration

@@ -505,7 +505,7 @@

Declaration

@@ -540,7 +540,7 @@

Declaration

@@ -575,7 +575,7 @@

Declaration

@@ -610,7 +610,7 @@

Declaration

@@ -645,7 +645,7 @@

Declaration

@@ -680,7 +680,7 @@

Declaration

@@ -714,7 +714,7 @@

Return Value

new geometry envelope

@@ -779,7 +779,7 @@

Return Value

new geometry envelope

@@ -871,7 +871,7 @@

Return Value

new geometry envelope

@@ -963,7 +963,7 @@

Return Value

new geometry envelope

@@ -1081,7 +1081,7 @@

Return Value

new geometry envelope

@@ -1199,7 +1199,7 @@

Return Value

new geometry envelope

@@ -1343,7 +1343,7 @@

Return Value

new geometry envelope

@@ -1487,7 +1487,7 @@

Return Value

new geometry envelope

@@ -1541,7 +1541,7 @@

Return Value

new geometry envelope

@@ -1580,7 +1580,7 @@

Return Value

new geometry envelope

@@ -1650,7 +1650,7 @@

Return Value

new geometry envelope

@@ -1747,7 +1747,7 @@

Return Value

new geometry envelope

@@ -1844,7 +1844,7 @@

Return Value

new geometry envelope

@@ -1967,7 +1967,7 @@

Return Value

new geometry envelope

@@ -2090,7 +2090,7 @@

Return Value

new geometry envelope

@@ -2239,7 +2239,7 @@

Return Value

new geometry envelope

@@ -2388,7 +2388,7 @@

Return Value

new geometry envelope

@@ -2446,7 +2446,7 @@

Return Value

new geometry envelope

@@ -2500,7 +2500,7 @@

Parameters

@@ -2554,7 +2554,7 @@

Parameters

@@ -2608,7 +2608,7 @@

Parameters

@@ -2662,7 +2662,7 @@

Parameters

@@ -2716,7 +2716,7 @@

Parameters

@@ -2770,7 +2770,7 @@

Parameters

@@ -2824,7 +2824,7 @@

Parameters

@@ -2878,7 +2878,7 @@

Parameters

@@ -2917,7 +2917,7 @@

Return Value

has z

@@ -2956,7 +2956,7 @@

Return Value

has m

@@ -2995,7 +2995,7 @@

Return Value

x range

@@ -3034,7 +3034,7 @@

Return Value

y range

@@ -3073,7 +3073,7 @@

Return Value

z range

@@ -3112,7 +3112,7 @@

Return Value

m range

@@ -3151,7 +3151,7 @@

Return Value

true if a single point bounds

@@ -3190,7 +3190,7 @@

Return Value

top left point

@@ -3229,7 +3229,7 @@

Return Value

bottom left point

@@ -3268,7 +3268,7 @@

Return Value

bottom right point

@@ -3307,7 +3307,7 @@

Return Value

top right point

@@ -3346,7 +3346,7 @@

Return Value

left line

@@ -3385,7 +3385,7 @@

Return Value

bottom line

@@ -3424,7 +3424,7 @@

Return Value

right line

@@ -3463,7 +3463,7 @@

Return Value

top line

@@ -3502,7 +3502,7 @@

Return Value

mid x

@@ -3541,7 +3541,7 @@

Return Value

mid y

@@ -3580,7 +3580,7 @@

Return Value

centroid point

@@ -3619,7 +3619,7 @@

Return Value

true if empty

@@ -3677,7 +3677,7 @@

Return Value

true if intersects

@@ -3748,7 +3748,7 @@

Return Value

true if intersects

@@ -3806,7 +3806,7 @@

Return Value

geometry envelope

@@ -3877,7 +3877,7 @@

Return Value

geometry envelope

@@ -3935,7 +3935,7 @@

Return Value

geometry envelope

@@ -3993,7 +3993,7 @@

Return Value

true if contains

@@ -4063,7 +4063,7 @@

Return Value

true if contains

@@ -4133,7 +4133,7 @@

Return Value

true if contains

@@ -4215,7 +4215,7 @@

Return Value

true if contains

@@ -4273,7 +4273,7 @@

Return Value

true if contains

@@ -4344,7 +4344,7 @@

Return Value

true if contains

@@ -4383,7 +4383,7 @@

Return Value

geometry, polygon or point

@@ -4393,8 +4393,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryEnvelopeBuilder.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryEnvelopeBuilder.html index c63adb6..38cadae 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryEnvelopeBuilder.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryEnvelopeBuilder.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryEnvelopeBuilder

Builds an envelope from a Geometry

@@ -388,7 +388,7 @@

Return Value

geometry envelope

@@ -455,7 +455,7 @@

Parameters

@@ -513,7 +513,7 @@

Return Value

geometry, polygon or point

@@ -523,8 +523,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryPrinter.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryPrinter.html index cb224bd..78fa25a 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryPrinter.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryPrinter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryPrinter

String representation of a Geometry

@@ -388,7 +388,7 @@

Return Value

geometry string

@@ -398,8 +398,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryTypes.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryTypes.html index bd1f1e0..38491d2 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryTypes.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryTypes.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -349,7 +349,7 @@

SFGeometryTypes

Undocumented

@@ -408,7 +408,7 @@

Return Value

geometry type name

@@ -466,7 +466,7 @@

Return Value

geometry type

@@ -476,8 +476,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryUtils.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryUtils.html index bfcfb42..e370056 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryUtils.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFGeometryUtils.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryUtils

Utilities for Geometry objects

@@ -389,7 +389,7 @@

Return Value

dimension (0, 1, or 2)

@@ -459,7 +459,7 @@

Return Value

distance

@@ -517,7 +517,7 @@

Return Value

distance

@@ -587,7 +587,7 @@

Return Value

bearing angle in degrees between 0 and 360

@@ -646,7 +646,7 @@

Return Value

exclusively

@@ -704,7 +704,7 @@

Return Value

true if north bearing

@@ -762,7 +762,7 @@

Return Value

true if east bearing

@@ -820,7 +820,7 @@

Return Value

true if south bearing

@@ -878,7 +878,7 @@

Return Value

true if west bearing

@@ -936,7 +936,7 @@

Return Value

radians

@@ -994,7 +994,7 @@

Return Value

degrees

@@ -1055,7 +1055,7 @@

Return Value

centroid point

@@ -1116,7 +1116,7 @@

Return Value

centroid point

@@ -1172,7 +1172,7 @@

Parameters

@@ -1228,7 +1228,7 @@

Parameters

@@ -1305,7 +1305,7 @@

Parameters

@@ -1361,7 +1361,7 @@

Parameters

@@ -1417,7 +1417,7 @@

Parameters

@@ -1493,7 +1493,7 @@

Parameters

@@ -1566,7 +1566,7 @@

Return Value

simplified points

@@ -1651,7 +1651,7 @@

Return Value

distance in meters

@@ -1721,7 +1721,7 @@

Return Value

true if in the polygon

@@ -1805,7 +1805,7 @@

Return Value

true if in the polygon

@@ -1875,7 +1875,7 @@

Return Value

true if in the polygon

@@ -1959,7 +1959,7 @@

Return Value

true if in the polygon

@@ -2029,7 +2029,7 @@

Return Value

true if in the polygon

@@ -2113,7 +2113,7 @@

Return Value

true if in the polygon

@@ -2183,7 +2183,7 @@

Return Value

true if on the polygon edge

@@ -2267,7 +2267,7 @@

Return Value

true if on the polygon edge

@@ -2337,7 +2337,7 @@

Return Value

true if on the polygon edge

@@ -2421,7 +2421,7 @@

Return Value

true if on the polygon edge

@@ -2491,7 +2491,7 @@

Return Value

true if on the polygon edge

@@ -2575,7 +2575,7 @@

Return Value

true if on the polygon edge

@@ -2634,7 +2634,7 @@

Return Value

true if the first and last points are the same

@@ -2693,7 +2693,7 @@

Return Value

true if the first and last points are the same

@@ -2752,7 +2752,7 @@

Return Value

true if the first and last points are the same

@@ -2822,7 +2822,7 @@

Return Value

true if on the line

@@ -2906,7 +2906,7 @@

Return Value

true if on the line

@@ -2976,7 +2976,7 @@

Return Value

true if on the line

@@ -3060,7 +3060,7 @@

Return Value

true if on the line

@@ -3144,7 +3144,7 @@

Return Value

true if on the path

@@ -3241,7 +3241,7 @@

Return Value

true if on the path

@@ -3311,7 +3311,7 @@

Return Value

intersection point or null if no intersection

@@ -3408,7 +3408,7 @@

Return Value

intersection point or null if no intersection

@@ -3466,7 +3466,7 @@

Return Value

geometry in meters

@@ -3524,7 +3524,7 @@

Return Value

point in meters

@@ -3594,7 +3594,7 @@

Return Value

point in meters

@@ -3652,7 +3652,7 @@

Return Value

multi point in meters

@@ -3710,7 +3710,7 @@

Return Value

line string in meters

@@ -3768,7 +3768,7 @@

Return Value

line in meters

@@ -3827,7 +3827,7 @@

Return Value

multi line string in meters

@@ -3885,7 +3885,7 @@

Return Value

polygon in meters

@@ -3944,7 +3944,7 @@

Return Value

multi polygon in meters

@@ -4003,7 +4003,7 @@

Return Value

circular string in meters

@@ -4062,7 +4062,7 @@

Return Value

compound curve in meters

@@ -4121,7 +4121,7 @@

Return Value

curve polygon in meters

@@ -4180,7 +4180,7 @@

Return Value

polyhedral surface in meters

@@ -4238,7 +4238,7 @@

Return Value

TIN in meters

@@ -4296,7 +4296,7 @@

Return Value

triangle in meters

@@ -4354,7 +4354,7 @@

Return Value

geometry in degrees

@@ -4412,7 +4412,7 @@

Return Value

point in degrees

@@ -4482,7 +4482,7 @@

Return Value

point in degrees

@@ -4540,7 +4540,7 @@

Return Value

multi point in degrees

@@ -4598,7 +4598,7 @@

Return Value

line string in degrees

@@ -4656,7 +4656,7 @@

Return Value

line in degrees

@@ -4715,7 +4715,7 @@

Return Value

multi line string in degrees

@@ -4773,7 +4773,7 @@

Return Value

polygon in degrees

@@ -4832,7 +4832,7 @@

Return Value

multi polygon in degrees

@@ -4891,7 +4891,7 @@

Return Value

circular string in degrees

@@ -4950,7 +4950,7 @@

Return Value

compound curve in degrees

@@ -5009,7 +5009,7 @@

Return Value

curve polygon in degrees

@@ -5068,7 +5068,7 @@

Return Value

polyhedral surface in degrees

@@ -5126,7 +5126,7 @@

Return Value

TIN in degrees

@@ -5184,7 +5184,7 @@

Return Value

triangle in degrees

@@ -5223,7 +5223,7 @@

Return Value

geometry envelope

@@ -5263,7 +5263,7 @@

Return Value

geometry envelope

@@ -5302,7 +5302,7 @@

Return Value

geometry envelope

@@ -5341,7 +5341,7 @@

Return Value

geometry envelope

@@ -5401,7 +5401,7 @@

Return Value

cropped geometry in meters or null

@@ -5474,7 +5474,7 @@

Return Value

cropped geometry in meters or null

@@ -5545,7 +5545,7 @@

Return Value

cropped point or null

@@ -5618,7 +5618,7 @@

Return Value

cropped points in meters or null

@@ -5689,7 +5689,7 @@

Return Value

cropped multi point or null

@@ -5762,7 +5762,7 @@

Return Value

cropped line string in meters or null

@@ -5834,7 +5834,7 @@

Return Value

cropped line in meters or null

@@ -5907,7 +5907,7 @@

Return Value

cropped multi line string in meters or null

@@ -5980,7 +5980,7 @@

Return Value

cropped polygon in meters or null

@@ -6053,7 +6053,7 @@

Return Value

cropped multi polygon in meters or null

@@ -6126,7 +6126,7 @@

Return Value

cropped circular string in meters or null

@@ -6199,7 +6199,7 @@

Return Value

cropped compound curve in meters or null

@@ -6272,7 +6272,7 @@

Return Value

cropped curve polygon in meters or null

@@ -6346,7 +6346,7 @@

Return Value

cropped polyhedral surface in meters or null

@@ -6418,7 +6418,7 @@

Return Value

cropped TIN in meters or null

@@ -6491,7 +6491,7 @@

Return Value

cropped triangle in meters or null

@@ -6562,7 +6562,7 @@

Return Value

true if equal

@@ -6647,7 +6647,7 @@

Return Value

true if equal

@@ -6720,7 +6720,7 @@

Return Value

true if contains

@@ -6793,7 +6793,7 @@

Return Value

true if contains

@@ -6851,7 +6851,7 @@

Parameters

@@ -6910,7 +6910,7 @@

Parameters

@@ -6967,7 +6967,7 @@

Parameters

@@ -7026,7 +7026,7 @@

Parameters

@@ -7097,7 +7097,7 @@

Parameters

@@ -7155,7 +7155,7 @@

Return Value

true if has z

@@ -7213,7 +7213,7 @@

Return Value

true if has m

@@ -7274,7 +7274,7 @@

Return Value

list of increasing parent types

@@ -7333,7 +7333,7 @@

Return Value

type)

@@ -7392,7 +7392,7 @@

Return Value

child type hierarchy, null if no children

@@ -7450,7 +7450,7 @@

Return Value

child geometry types, empty list if no child types

@@ -7508,7 +7508,7 @@

Return Value

encoded dta

@@ -7566,7 +7566,7 @@

Return Value

geometry

@@ -7576,8 +7576,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLine.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLine.html index 7506883..1937fc2 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLine.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLine.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFLine

A LineString with exactly 2 Points.

@@ -364,7 +364,7 @@

Return Value

new line

@@ -429,7 +429,7 @@

Return Value

new line

@@ -482,7 +482,7 @@

Return Value

new line

@@ -547,7 +547,7 @@

Return Value

new line

@@ -600,7 +600,7 @@

Return Value

new line

@@ -639,7 +639,7 @@

Return Value

new line

@@ -709,7 +709,7 @@

Return Value

new line

@@ -767,7 +767,7 @@

Return Value

new line

@@ -837,7 +837,7 @@

Return Value

new line

@@ -895,7 +895,7 @@

Return Value

new line

@@ -905,8 +905,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLineString.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLineString.html index a0bfb38..4615898 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLineString.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLineString.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFLineString

A Curve that connects two or more points in space.

@@ -365,7 +365,7 @@

Declaration

@@ -399,7 +399,7 @@

Return Value

new line string

@@ -464,7 +464,7 @@

Return Value

new line string

@@ -517,7 +517,7 @@

Return Value

new line string

@@ -570,7 +570,7 @@

Return Value

new line string

@@ -609,7 +609,7 @@

Return Value

new line string

@@ -679,7 +679,7 @@

Return Value

new line string

@@ -737,7 +737,7 @@

Return Value

new line string

@@ -821,7 +821,7 @@

Return Value

new line string

@@ -879,7 +879,7 @@

Return Value

new line string

@@ -933,7 +933,7 @@

Parameters

@@ -987,7 +987,7 @@

Parameters

@@ -1026,7 +1026,7 @@

Return Value

point count

@@ -1084,7 +1084,7 @@

Return Value

point

@@ -1094,8 +1094,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLinearRing.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLinearRing.html index 34fc2a7..bb9cbb3 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLinearRing.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFLinearRing.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFLinearRing

A LineString that is both closed and simple.

@@ -364,7 +364,7 @@

Return Value

new linear ring

@@ -429,7 +429,7 @@

Return Value

new linear ring

@@ -482,7 +482,7 @@

Return Value

new linear ring

@@ -535,7 +535,7 @@

Return Value

new linear ring

@@ -574,7 +574,7 @@

Return Value

new linear ring

@@ -644,7 +644,7 @@

Return Value

new linear ring

@@ -702,7 +702,7 @@

Return Value

new linear ring

@@ -760,7 +760,7 @@

Return Value

new linear ring

@@ -770,8 +770,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiCurve.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiCurve.html index 499b126..7c08e6b 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiCurve.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiCurve.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiCurve

must be of type Curve.

@@ -415,7 +415,7 @@

Return Value

new multi curve

@@ -454,7 +454,7 @@

Return Value

curves

@@ -508,7 +508,7 @@

Parameters

@@ -562,7 +562,7 @@

Parameters

@@ -616,7 +616,7 @@

Parameters

@@ -655,7 +655,7 @@

Return Value

curve count

@@ -713,7 +713,7 @@

Return Value

curve

@@ -753,7 +753,7 @@

Return Value

true if closed

@@ -763,8 +763,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiLineString.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiLineString.html index 054f971..255fd2a 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiLineString.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiLineString.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiLineString

type LineString.

@@ -365,7 +365,7 @@

Return Value

new multi line string

@@ -430,7 +430,7 @@

Return Value

new multi line string

@@ -484,7 +484,7 @@

Return Value

new multi line string

@@ -537,7 +537,7 @@

Return Value

new multi line string

@@ -591,7 +591,7 @@

Return Value

new multi line string

@@ -630,7 +630,7 @@

Return Value

new multi line string

@@ -700,7 +700,7 @@

Return Value

new multi line string

@@ -759,7 +759,7 @@

Return Value

new multi line string

@@ -817,7 +817,7 @@

Return Value

new multi line string

@@ -875,7 +875,7 @@

Return Value

new multi line string

@@ -914,7 +914,7 @@

Return Value

line strings

@@ -968,7 +968,7 @@

Parameters

@@ -1022,7 +1022,7 @@

Parameters

@@ -1076,7 +1076,7 @@

Parameters

@@ -1115,7 +1115,7 @@

Return Value

line string count

@@ -1173,7 +1173,7 @@

Return Value

line string

@@ -1183,8 +1183,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiPoint.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiPoint.html index 4da7ac8..98491d8 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiPoint.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiPoint.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiPoint

must be of type Point.

@@ -365,7 +365,7 @@

Return Value

new multi point

@@ -430,7 +430,7 @@

Return Value

new multi point

@@ -483,7 +483,7 @@

Return Value

new multi point

@@ -536,7 +536,7 @@

Return Value

new multi point

@@ -589,7 +589,7 @@

Return Value

new multi point

@@ -628,7 +628,7 @@

Return Value

new multi point

@@ -698,7 +698,7 @@

Return Value

new multi point

@@ -756,7 +756,7 @@

Return Value

new multi point

@@ -814,7 +814,7 @@

Return Value

new multi point

@@ -872,7 +872,7 @@

Return Value

new multi point

@@ -911,7 +911,7 @@

Return Value

points

@@ -965,7 +965,7 @@

Parameters

@@ -1019,7 +1019,7 @@

Parameters

@@ -1073,7 +1073,7 @@

Parameters

@@ -1112,7 +1112,7 @@

Return Value

point count

@@ -1170,7 +1170,7 @@

Return Value

point

@@ -1180,8 +1180,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiPolygon.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiPolygon.html index 85b3d4b..75b385f 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiPolygon.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiPolygon.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiPolygon

be of type Polygon.

@@ -365,7 +365,7 @@

Return Value

new multi polygon

@@ -430,7 +430,7 @@

Return Value

new multi polygon

@@ -484,7 +484,7 @@

Return Value

new multi polygon

@@ -537,7 +537,7 @@

Return Value

new multi polygon

@@ -590,7 +590,7 @@

Return Value

new multi polygon

@@ -629,7 +629,7 @@

Return Value

new multi polygon

@@ -699,7 +699,7 @@

Return Value

new multi polygon

@@ -757,7 +757,7 @@

Return Value

new multi polygon

@@ -815,7 +815,7 @@

Return Value

new multi polygon

@@ -873,7 +873,7 @@

Return Value

new multi polygon

@@ -912,7 +912,7 @@

Return Value

polygons

@@ -966,7 +966,7 @@

Parameters

@@ -1020,7 +1020,7 @@

Parameters

@@ -1074,7 +1074,7 @@

Parameters

@@ -1113,7 +1113,7 @@

Return Value

polygon count

@@ -1171,7 +1171,7 @@

Return Value

polygon

@@ -1181,8 +1181,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiSurface.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiSurface.html index 59936b7..6400566 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiSurface.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFMultiSurface.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFMultiSurface

must be of type Surface.

@@ -415,7 +415,7 @@

Return Value

new multi surface

@@ -454,7 +454,7 @@

Return Value

surfaces

@@ -508,7 +508,7 @@

Parameters

@@ -562,7 +562,7 @@

Parameters

@@ -616,7 +616,7 @@

Parameters

@@ -655,7 +655,7 @@

Return Value

surface count

@@ -713,7 +713,7 @@

Return Value

surface

@@ -723,8 +723,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPoint.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPoint.html index a04a8f0..1dd8ccf 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPoint.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPoint.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFPoint

optionally also have a Z and/or an M value.

@@ -366,7 +366,7 @@

Declaration

@@ -401,7 +401,7 @@

Declaration

@@ -436,7 +436,7 @@

Declaration

@@ -471,7 +471,7 @@

Declaration

@@ -505,7 +505,7 @@

Return Value

new point

@@ -570,7 +570,7 @@

Return Value

new point

@@ -635,7 +635,7 @@

Return Value

new point

@@ -714,7 +714,7 @@

Return Value

new point

@@ -793,7 +793,7 @@

Return Value

new point

@@ -870,7 +870,7 @@

Return Value

new point

@@ -962,7 +962,7 @@

Return Value

new point

@@ -1054,7 +1054,7 @@

Return Value

new point

@@ -1146,7 +1146,7 @@

Return Value

new point

@@ -1238,7 +1238,7 @@

Return Value

new point

@@ -1330,7 +1330,7 @@

Return Value

new point

@@ -1383,7 +1383,7 @@

Return Value

new point

@@ -1422,7 +1422,7 @@

Return Value

new point

@@ -1492,7 +1492,7 @@

Return Value

new point

@@ -1562,7 +1562,7 @@

Return Value

new point

@@ -1646,7 +1646,7 @@

Return Value

new point

@@ -1730,7 +1730,7 @@

Return Value

new point

@@ -1814,7 +1814,7 @@

Return Value

new point

@@ -1911,7 +1911,7 @@

Return Value

new point

@@ -2008,7 +2008,7 @@

Return Value

new point

@@ -2105,7 +2105,7 @@

Return Value

new point

@@ -2202,7 +2202,7 @@

Return Value

new point

@@ -2299,7 +2299,7 @@

Return Value

new point

@@ -2357,7 +2357,7 @@

Return Value

new point

@@ -2411,7 +2411,7 @@

Parameters

@@ -2465,7 +2465,7 @@

Parameters

@@ -2519,7 +2519,7 @@

Parameters

@@ -2573,7 +2573,7 @@

Parameters

@@ -2631,7 +2631,7 @@

Return Value

true if x is equal

@@ -2689,7 +2689,7 @@

Return Value

true if y is equal

@@ -2747,7 +2747,7 @@

Return Value

true if x and y are equal

@@ -2757,8 +2757,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPointFiniteFilter.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPointFiniteFilter.html index ec1b4d8..c276eb5 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPointFiniteFilter.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPointFiniteFilter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFPointFiniteFilter

and m properties and non finite values (NaN or infinity)

@@ -366,7 +366,7 @@

Declaration

@@ -401,7 +401,7 @@

Declaration

@@ -436,7 +436,7 @@

Declaration

@@ -475,7 +475,7 @@

Return Value

new point finite filter

@@ -533,7 +533,7 @@

Return Value

new point finite filter

@@ -603,7 +603,7 @@

Return Value

new point finite filter

@@ -673,7 +673,7 @@

Return Value

new point finite filter

@@ -757,7 +757,7 @@

Return Value

new point finite filter

@@ -815,7 +815,7 @@

Return Value

new point finite filter

@@ -873,7 +873,7 @@

Return Value

new point finite filter

@@ -943,7 +943,7 @@

Return Value

new point finite filter

@@ -953,8 +953,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPolygon.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPolygon.html index b23a947..cd85455 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPolygon.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPolygon.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFPolygon

closed LineString.

@@ -365,7 +365,7 @@

Return Value

new polygon

@@ -430,7 +430,7 @@

Return Value

new polygon

@@ -483,7 +483,7 @@

Return Value

new polygon

@@ -536,7 +536,7 @@

Return Value

new polygon

@@ -589,7 +589,7 @@

Return Value

new polygon

@@ -628,7 +628,7 @@

Return Value

new polygon

@@ -698,7 +698,7 @@

Return Value

new polygon

@@ -756,7 +756,7 @@

Return Value

new polygon

@@ -814,7 +814,7 @@

Return Value

new polygon

@@ -898,7 +898,7 @@

Return Value

new polygon

@@ -956,7 +956,7 @@

Return Value

new polygon

@@ -995,7 +995,7 @@

Return Value

line string rings

@@ -1049,7 +1049,7 @@

Parameters

@@ -1108,7 +1108,7 @@

Return Value

ring

@@ -1147,7 +1147,7 @@

Return Value

exterior ring

@@ -1205,7 +1205,7 @@

Return Value

interior ring

@@ -1215,8 +1215,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPolyhedralSurface.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPolyhedralSurface.html index ca0559f..a9e4f0a 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPolyhedralSurface.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFPolyhedralSurface.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFPolyhedralSurface

Contiguous collection of polygons which share common boundary segments.

@@ -365,7 +365,7 @@

Declaration

@@ -399,7 +399,7 @@

Return Value

new polyhedral surface

@@ -465,7 +465,7 @@

Return Value

new polyhedral surface

@@ -519,7 +519,7 @@

Return Value

new polyhedral surface

@@ -572,7 +572,7 @@

Return Value

new polyhedral surface

@@ -626,7 +626,7 @@

Return Value

new polyhedral surface

@@ -665,7 +665,7 @@

Return Value

new polyhedral surface

@@ -735,7 +735,7 @@

Return Value

new polyhedral surface

@@ -793,7 +793,7 @@

Return Value

new polyhedral surface

@@ -851,7 +851,7 @@

Return Value

new polyhedral surface

@@ -935,7 +935,7 @@

Return Value

new polyhedral surface

@@ -994,7 +994,7 @@

Return Value

new polyhedral surface

@@ -1033,7 +1033,7 @@

Return Value

patches

@@ -1087,7 +1087,7 @@

Parameters

@@ -1141,7 +1141,7 @@

Parameters

@@ -1195,7 +1195,7 @@

Parameters

@@ -1249,7 +1249,7 @@

Parameters

@@ -1303,7 +1303,7 @@

Parameters

@@ -1342,7 +1342,7 @@

Return Value

polygon count

@@ -1381,7 +1381,7 @@

Return Value

patch count

@@ -1439,7 +1439,7 @@

Return Value

polygon

@@ -1497,7 +1497,7 @@

Return Value

polygon patch

@@ -1507,8 +1507,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSegment.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSegment.html index 07de2d3..154f891 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSegment.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSegment.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFSegment

Line segment of an edge between two points

@@ -365,7 +365,7 @@

Declaration

@@ -400,7 +400,7 @@

Declaration

@@ -497,7 +497,7 @@

Return Value

segment

@@ -536,7 +536,7 @@

Return Value

edge number

@@ -575,7 +575,7 @@

Return Value

polygon ring number

@@ -614,7 +614,7 @@

Return Value

left point

@@ -653,7 +653,7 @@

Return Value

right point

@@ -663,8 +663,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFShamosHoey.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFShamosHoey.html index 6325723..1f8f533 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFShamosHoey.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFShamosHoey.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -340,7 +340,7 @@

SFShamosHoey

code must verify correctness for their application.

@@ -399,7 +399,7 @@

Return Value

true if simple, false if intersects

@@ -457,7 +457,7 @@

Return Value

true if simple, false if intersects

@@ -515,7 +515,7 @@

Return Value

true if simple, false if intersects

@@ -573,7 +573,7 @@

Return Value

true if simple, false if intersects

@@ -631,7 +631,7 @@

Return Value

true if simple, false if intersects

@@ -641,8 +641,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSurface.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSurface.html index 970f5c2..28c80e2 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSurface.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSurface.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFSurface

is a geometry that has an area.

@@ -415,7 +415,7 @@

Return Value

new surface

@@ -425,8 +425,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSweepLine.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSweepLine.html index 8d04dc3..075485a 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSweepLine.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFSweepLine.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFSweepLine

Sweep Line algorithm

@@ -388,7 +388,7 @@

Return Value

sweep line

@@ -446,7 +446,7 @@

Return Value

added segment

@@ -504,7 +504,7 @@

Return Value

segment

@@ -575,7 +575,7 @@

Return Value

true if intersection, false if not

@@ -629,7 +629,7 @@

Parameters

@@ -700,7 +700,7 @@

Return Value

NSOrderedDescending if p1 > p2, NSOrderedAscending if p1 < p2, NSOrderedSame if equal

@@ -710,8 +710,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTIN.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTIN.html index 22be60a..3275ce3 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTIN.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTIN.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFTIN

coordinate digit.

@@ -365,7 +365,7 @@

Return Value

new tin

@@ -430,7 +430,7 @@

Return Value

new tin

@@ -483,7 +483,7 @@

Return Value

new tin

@@ -536,7 +536,7 @@

Return Value

new tin

@@ -589,7 +589,7 @@

Return Value

new tin

@@ -628,7 +628,7 @@

Return Value

new tin

@@ -698,7 +698,7 @@

Return Value

new tin

@@ -756,7 +756,7 @@

Return Value

new tin

@@ -814,7 +814,7 @@

Return Value

new tin

@@ -872,7 +872,7 @@

Return Value

new tin

@@ -882,8 +882,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTextReader.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTextReader.html index bb720ad..c5fe977 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTextReader.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTextReader.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFTextReader

Read through text string

@@ -388,7 +388,7 @@

Return Value

new text reader

@@ -427,7 +427,7 @@

Return Value

text

@@ -468,7 +468,7 @@

Return Value

token

@@ -507,7 +507,7 @@

Return Value

next token

@@ -546,7 +546,7 @@

Return Value

double

@@ -556,8 +556,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTriangle.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTriangle.html index 2ffcfe3..a8ef613 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTriangle.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFTriangle.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFTriangle

Triangle

@@ -364,7 +364,7 @@

Return Value

new triangle

@@ -429,7 +429,7 @@

Return Value

new triangle

@@ -482,7 +482,7 @@

Return Value

new triangle

@@ -535,7 +535,7 @@

Return Value

new triangle

@@ -588,7 +588,7 @@

Return Value

new triangle

@@ -627,7 +627,7 @@

Return Value

new triangle

@@ -697,7 +697,7 @@

Return Value

new triangle

@@ -755,7 +755,7 @@

Return Value

new triangle

@@ -813,7 +813,7 @@

Return Value

new triangle

@@ -871,7 +871,7 @@

Return Value

new triangle

@@ -881,8 +881,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryReader.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryReader.html index b08258b..0116fcb 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryReader.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryReader.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFWTGeometryReader

Well Known Text reader

@@ -388,7 +388,7 @@

Return Value

geometry

@@ -459,7 +459,7 @@

Return Value

geometry

@@ -530,7 +530,7 @@

Return Value

geometry

@@ -614,7 +614,7 @@

Return Value

geometry

@@ -668,7 +668,7 @@

Parameters

@@ -722,7 +722,7 @@

Parameters

@@ -761,7 +761,7 @@

Return Value

text reader

@@ -800,7 +800,7 @@

Return Value

geometry

@@ -858,7 +858,7 @@

Return Value

geometry

@@ -916,7 +916,7 @@

Return Value

geometry

@@ -987,7 +987,7 @@

Return Value

geometry

@@ -1071,7 +1071,7 @@

Return Value

geometry

@@ -1110,7 +1110,7 @@

Return Value

geometry type info

@@ -1180,7 +1180,7 @@

Return Value

point

@@ -1250,7 +1250,7 @@

Return Value

point

@@ -1320,7 +1320,7 @@

Return Value

line string

@@ -1404,7 +1404,7 @@

Return Value

line string

@@ -1474,7 +1474,7 @@

Return Value

polygon

@@ -1558,7 +1558,7 @@

Return Value

polygon

@@ -1628,7 +1628,7 @@

Return Value

multi point

@@ -1712,7 +1712,7 @@

Return Value

multi point

@@ -1783,7 +1783,7 @@

Return Value

multi line string

@@ -1868,7 +1868,7 @@

Return Value

multi line string

@@ -1938,7 +1938,7 @@

Return Value

multi polygon

@@ -2023,7 +2023,7 @@

Return Value

multi polygon

@@ -2094,7 +2094,7 @@

Return Value

geometry collection

@@ -2179,7 +2179,7 @@

Return Value

geometry collection

@@ -2264,7 +2264,7 @@

Return Value

multi curve

@@ -2349,7 +2349,7 @@

Return Value

multi surface

@@ -2419,7 +2419,7 @@

Return Value

circular string

@@ -2504,7 +2504,7 @@

Return Value

circular string

@@ -2574,7 +2574,7 @@

Return Value

compound curve

@@ -2659,7 +2659,7 @@

Return Value

compound curve

@@ -2729,7 +2729,7 @@

Return Value

curve polygon

@@ -2814,7 +2814,7 @@

Return Value

curve polygon

@@ -2885,7 +2885,7 @@

Return Value

polyhedral surface

@@ -2970,7 +2970,7 @@

Return Value

polyhedral surface

@@ -3040,7 +3040,7 @@

Return Value

TIN

@@ -3124,7 +3124,7 @@

Return Value

TIN

@@ -3194,7 +3194,7 @@

Return Value

triangle

@@ -3278,7 +3278,7 @@

Return Value

triangle

@@ -3336,7 +3336,7 @@

Return Value

geometry

@@ -3407,7 +3407,7 @@

Return Value

geometry

@@ -3478,7 +3478,7 @@

Return Value

geometry

@@ -3562,7 +3562,7 @@

Return Value

geometry

@@ -3659,7 +3659,7 @@

Return Value

geometry

@@ -3717,7 +3717,7 @@

Return Value

geometry type info

@@ -3801,7 +3801,7 @@

Return Value

point

@@ -3885,7 +3885,7 @@

Return Value

point

@@ -3969,7 +3969,7 @@

Return Value

line string

@@ -4066,7 +4066,7 @@

Return Value

line string

@@ -4150,7 +4150,7 @@

Return Value

polygon

@@ -4247,7 +4247,7 @@

Return Value

polygon

@@ -4331,7 +4331,7 @@

Return Value

multi point

@@ -4428,7 +4428,7 @@

Return Value

multi point

@@ -4512,7 +4512,7 @@

Return Value

multi line string

@@ -4610,7 +4610,7 @@

Return Value

multi line string

@@ -4694,7 +4694,7 @@

Return Value

multi polygon

@@ -4792,7 +4792,7 @@

Return Value

multi polygon

@@ -4877,7 +4877,7 @@

Return Value

geometry collection

@@ -4975,7 +4975,7 @@

Return Value

geometry collection

@@ -5073,7 +5073,7 @@

Return Value

multi curve

@@ -5171,7 +5171,7 @@

Return Value

multi surface

@@ -5255,7 +5255,7 @@

Return Value

circular string

@@ -5353,7 +5353,7 @@

Return Value

circular string

@@ -5437,7 +5437,7 @@

Return Value

compound curve

@@ -5535,7 +5535,7 @@

Return Value

compound curve

@@ -5619,7 +5619,7 @@

Return Value

curve polygon

@@ -5717,7 +5717,7 @@

Return Value

curve polygon

@@ -5801,7 +5801,7 @@

Return Value

polyhedral surface

@@ -5899,7 +5899,7 @@

Return Value

polyhedral surface

@@ -5983,7 +5983,7 @@

Return Value

TIN

@@ -6080,7 +6080,7 @@

Return Value

TIN

@@ -6164,7 +6164,7 @@

Return Value

triangle

@@ -6261,7 +6261,7 @@

Return Value

triangle

@@ -6271,8 +6271,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryTypeInfo.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryTypeInfo.html index 8a07da1..6f64e50 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryTypeInfo.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryTypeInfo.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFWTGeometryTypeInfo

Geometry type info

@@ -410,7 +410,7 @@

Parameters

@@ -449,7 +449,7 @@

Return Value

geometry type

@@ -488,7 +488,7 @@

Return Value

true if has z values

@@ -527,7 +527,7 @@

Return Value

true if has m values

@@ -537,8 +537,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryWriter.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryWriter.html index 6a4cf7f..713423f 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryWriter.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Classes/SFWTGeometryWriter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFWTGeometryWriter

Well Known Text writer

@@ -388,7 +388,7 @@

Return Value

well-known text string

@@ -423,7 +423,7 @@

Declaration

@@ -477,7 +477,7 @@

Parameters

@@ -516,7 +516,7 @@

Return Value

text

@@ -570,7 +570,7 @@

Parameters

@@ -628,7 +628,7 @@

Return Value

geometry name

@@ -682,7 +682,7 @@

Parameters

@@ -736,7 +736,7 @@

Parameters

@@ -790,7 +790,7 @@

Parameters

@@ -844,7 +844,7 @@

Parameters

@@ -898,7 +898,7 @@

Parameters

@@ -952,7 +952,7 @@

Parameters

@@ -1006,7 +1006,7 @@

Parameters

@@ -1060,7 +1060,7 @@

Parameters

@@ -1114,7 +1114,7 @@

Parameters

@@ -1168,7 +1168,7 @@

Parameters

@@ -1222,7 +1222,7 @@

Parameters

@@ -1276,7 +1276,7 @@

Parameters

@@ -1330,7 +1330,7 @@

Parameters

@@ -1384,7 +1384,7 @@

Parameters

@@ -1450,7 +1450,7 @@

Parameters

@@ -1508,7 +1508,7 @@

Return Value

well-known text string

@@ -1574,7 +1574,7 @@

Parameters

@@ -1632,7 +1632,7 @@

Return Value

well-known text string

@@ -1698,7 +1698,7 @@

Parameters

@@ -1756,7 +1756,7 @@

Return Value

well-known text string

@@ -1823,7 +1823,7 @@

Parameters

@@ -1881,7 +1881,7 @@

Return Value

well-known text string

@@ -1947,7 +1947,7 @@

Parameters

@@ -2005,7 +2005,7 @@

Return Value

well-known text string

@@ -2072,7 +2072,7 @@

Parameters

@@ -2130,7 +2130,7 @@

Return Value

well-known text string

@@ -2197,7 +2197,7 @@

Parameters

@@ -2255,7 +2255,7 @@

Return Value

well-known text string

@@ -2322,7 +2322,7 @@

Parameters

@@ -2381,7 +2381,7 @@

Return Value

well-known text string

@@ -2448,7 +2448,7 @@

Parameters

@@ -2506,7 +2506,7 @@

Return Value

well-known text string

@@ -2573,7 +2573,7 @@

Parameters

@@ -2631,7 +2631,7 @@

Return Value

well-known text string

@@ -2698,7 +2698,7 @@

Parameters

@@ -2756,7 +2756,7 @@

Return Value

well-known text string

@@ -2823,7 +2823,7 @@

Parameters

@@ -2881,7 +2881,7 @@

Return Value

well-known text string

@@ -2948,7 +2948,7 @@

Parameters

@@ -3006,7 +3006,7 @@

Return Value

well-known text string

@@ -3072,7 +3072,7 @@

Parameters

@@ -3130,7 +3130,7 @@

Return Value

well-known text string

@@ -3196,7 +3196,7 @@

Parameters

@@ -3206,8 +3206,8 @@

Parameters

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Constants.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Constants.html index 45f3812..29af788 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Constants.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Constants.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -350,7 +350,7 @@

Declaration

@@ -385,7 +385,7 @@

Declaration

@@ -420,7 +420,7 @@

Declaration

@@ -455,7 +455,7 @@

Declaration

@@ -490,7 +490,7 @@

Declaration

@@ -525,7 +525,7 @@

Declaration

@@ -560,7 +560,7 @@

Declaration

@@ -595,7 +595,7 @@

Declaration

@@ -630,7 +630,7 @@

Declaration

@@ -665,7 +665,7 @@

Declaration

@@ -700,7 +700,7 @@

Declaration

@@ -735,7 +735,7 @@

Declaration

@@ -770,7 +770,7 @@

Declaration

@@ -805,7 +805,7 @@

Declaration

@@ -840,7 +840,7 @@

Declaration

@@ -875,7 +875,7 @@

Declaration

@@ -910,7 +910,7 @@

Declaration

@@ -945,7 +945,7 @@

Declaration

@@ -980,7 +980,7 @@

Declaration

@@ -1015,7 +1015,7 @@

Declaration

@@ -1050,7 +1050,7 @@

Declaration

@@ -1085,7 +1085,7 @@

Declaration

@@ -1120,7 +1120,7 @@

Declaration

@@ -1155,7 +1155,7 @@

Declaration

@@ -1190,7 +1190,7 @@

Declaration

@@ -1225,7 +1225,7 @@

Declaration

@@ -1260,7 +1260,7 @@

Declaration

@@ -1295,7 +1295,7 @@

Declaration

@@ -1330,7 +1330,7 @@

Declaration

@@ -1365,7 +1365,7 @@

Declaration

@@ -1400,7 +1400,7 @@

Declaration

@@ -1435,7 +1435,7 @@

Declaration

@@ -1470,7 +1470,7 @@

Declaration

@@ -1505,7 +1505,7 @@

Declaration

@@ -1540,7 +1540,7 @@

Declaration

@@ -1550,8 +1550,8 @@

Declaration

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums.html index 6cb5f65..06f085d 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -351,7 +351,7 @@

Declaration

@@ -388,7 +388,7 @@

Declaration

@@ -424,7 +424,7 @@

Declaration

@@ -434,8 +434,8 @@

Declaration

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFEventType.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFEventType.html index 20e8ddb..0087ec7 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFEventType.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFEventType.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFEventType

Event type of the point direction

@@ -360,7 +360,7 @@

Declaration

@@ -390,7 +390,7 @@

Declaration

@@ -400,8 +400,8 @@

Declaration

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFFiniteFilterType.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFFiniteFilterType.html index 2fcc3f9..f983992 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFFiniteFilterType.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFFiniteFilterType.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFFiniteFilterType

infinite or NaN values

@@ -361,7 +361,7 @@

Declaration

@@ -391,7 +391,7 @@

Declaration

@@ -421,7 +421,7 @@

Declaration

@@ -431,8 +431,8 @@

Declaration

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFGeometryType.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFGeometryType.html index d2dc47d..f5149aa 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFGeometryType.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Enums/SFGeometryType.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -329,7 +329,7 @@

SFGeometryType

Geometry Type enumeration

@@ -360,7 +360,7 @@

Declaration

@@ -390,7 +390,7 @@

Declaration

@@ -420,7 +420,7 @@

Declaration

@@ -450,7 +450,7 @@

Declaration

@@ -480,7 +480,7 @@

Declaration

@@ -510,7 +510,7 @@

Declaration

@@ -540,7 +540,7 @@

Declaration

@@ -570,7 +570,7 @@

Declaration

@@ -600,7 +600,7 @@

Declaration

@@ -630,7 +630,7 @@

Declaration

@@ -660,7 +660,7 @@

Declaration

@@ -690,7 +690,7 @@

Declaration

@@ -720,7 +720,7 @@

Declaration

@@ -750,7 +750,7 @@

Declaration

@@ -780,7 +780,7 @@

Declaration

@@ -810,7 +810,7 @@

Declaration

@@ -840,7 +840,7 @@

Declaration

@@ -870,7 +870,7 @@

Declaration

@@ -900,7 +900,7 @@

Declaration

@@ -910,8 +910,8 @@

Declaration

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Protocols.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Protocols.html index a916eff..8c53a36 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Protocols.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -352,7 +352,7 @@

Declaration

@@ -362,8 +362,8 @@

Declaration

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Protocols/SFGeometryFilter.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Protocols/SFGeometryFilter.html index 6e20819..fdbdb3c 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Protocols/SFGeometryFilter.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/Protocols/SFGeometryFilter.html @@ -17,7 +17,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -330,7 +330,7 @@

SFGeometryFilter

construction

@@ -403,7 +403,7 @@

Return Value

true if passes filter and geometry should be included

@@ -413,8 +413,8 @@

Return Value

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/index.html b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/index.html index 6da3231..977ff76 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/index.html +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/index.html @@ -16,7 +16,7 @@
-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -357,19 +357,19 @@

Build

Run tests from Xcode or from command line:

-
xcodebuild test -workspace 'sf-wkt-ios.xcworkspace' -scheme sf-wkt-ios -destination 'platform=iOS Simulator,name=iPhone 14'
+
xcodebuild test -workspace 'sf-wkt-ios.xcworkspace' -scheme sf-wkt-ios -destination 'platform=iOS Simulator,name=iPhone 15'
 

Include Library

Include this repository by specifying it in a Podfile using a supported option.

Pull from CocoaPods:

-
pod 'sf-wkt-ios', '~> 2.1.2'
+
pod 'sf-wkt-ios', '~> 2.1.3'
 

Pull from GitHub:

pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :branch => 'master'
-pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :tag => '2.1.2'
+pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :tag => '2.1.3'
 

Include as local project:

@@ -404,8 +404,8 @@

Remote Dependencies

diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/js/jquery.min.js index 2c69bc9..7f37b5d 100644 --- a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/js/jquery.min.js +++ b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/Documents/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0Filter the geometry

","parent_name":"SFGeometryFilter"},"Protocols/SFGeometryFilter.html":{"name":"SFGeometryFilter","abstract":"

Geometry Filter to filter included geometries and modify them during"},"Enums/SFEventType.html#/c:@E@SFEventType@SF_ET_LEFT":{"name":"SF_ET_LEFT","abstract":"

Undocumented

","parent_name":"SFEventType"},"Enums/SFEventType.html#/c:@E@SFEventType@SF_ET_RIGHT":{"name":"SF_ET_RIGHT","abstract":"

Undocumented

","parent_name":"SFEventType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE":{"name":"SF_FF_FINITE","abstract":"

Undocumented

","parent_name":"SFFiniteFilterType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE_AND_INFINITE":{"name":"SF_FF_FINITE_AND_INFINITE","abstract":"

Undocumented

","parent_name":"SFFiniteFilterType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE_AND_NAN":{"name":"SF_FF_FINITE_AND_NAN","abstract":"

Undocumented

","parent_name":"SFFiniteFilterType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_GEOMETRY":{"name":"SF_GEOMETRY","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POINT":{"name":"SF_POINT","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_LINESTRING":{"name":"SF_LINESTRING","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POLYGON":{"name":"SF_POLYGON","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTIPOINT":{"name":"SF_MULTIPOINT","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTILINESTRING":{"name":"SF_MULTILINESTRING","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTIPOLYGON":{"name":"SF_MULTIPOLYGON","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_GEOMETRYCOLLECTION":{"name":"SF_GEOMETRYCOLLECTION","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CIRCULARSTRING":{"name":"SF_CIRCULARSTRING","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_COMPOUNDCURVE":{"name":"SF_COMPOUNDCURVE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CURVEPOLYGON":{"name":"SF_CURVEPOLYGON","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTICURVE":{"name":"SF_MULTICURVE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTISURFACE":{"name":"SF_MULTISURFACE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CURVE":{"name":"SF_CURVE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_SURFACE":{"name":"SF_SURFACE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POLYHEDRALSURFACE":{"name":"SF_POLYHEDRALSURFACE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_TIN":{"name":"SF_TIN","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_TRIANGLE":{"name":"SF_TRIANGLE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_NONE":{"name":"SF_NONE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html":{"name":"SFGeometryType","abstract":"

Geometry Type enumeration

"},"Enums/SFFiniteFilterType.html":{"name":"SFFiniteFilterType","abstract":"

Finite Filter Type, including finite values and optionally one of either"},"Enums/SFEventType.html":{"name":"SFEventType","abstract":"

Event type of the point direction

"},"Constants.html#/c:@SF_GEOMETRY_NAME":{"name":"SF_GEOMETRY_NAME","abstract":"

Geometry type names

"},"Constants.html#/c:@SF_POINT_NAME":{"name":"SF_POINT_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_LINESTRING_NAME":{"name":"SF_LINESTRING_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_POLYGON_NAME":{"name":"SF_POLYGON_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTIPOINT_NAME":{"name":"SF_MULTIPOINT_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTILINESTRING_NAME":{"name":"SF_MULTILINESTRING_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTIPOLYGON_NAME":{"name":"SF_MULTIPOLYGON_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_GEOMETRYCOLLECTION_NAME":{"name":"SF_GEOMETRYCOLLECTION_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_CIRCULARSTRING_NAME":{"name":"SF_CIRCULARSTRING_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_COMPOUNDCURVE_NAME":{"name":"SF_COMPOUNDCURVE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_CURVEPOLYGON_NAME":{"name":"SF_CURVEPOLYGON_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTICURVE_NAME":{"name":"SF_MULTICURVE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTISURFACE_NAME":{"name":"SF_MULTISURFACE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_CURVE_NAME":{"name":"SF_CURVE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_SURFACE_NAME":{"name":"SF_SURFACE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_POLYHEDRALSURFACE_NAME":{"name":"SF_POLYHEDRALSURFACE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_TIN_NAME":{"name":"SF_TIN_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_TRIANGLE_NAME":{"name":"SF_TRIANGLE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_NONE_NAME":{"name":"SF_NONE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:SFByteReader.h@DEFAULT_READ_BYTE_ORDER":{"name":"DEFAULT_READ_BYTE_ORDER","abstract":"

Default read byte order

"},"Constants.html#/c:SFByteWriter.h@DEFAULT_WRITE_BYTE_ORDER":{"name":"DEFAULT_WRITE_BYTE_ORDER","abstract":"

Default write byte order

"},"Constants.html#/c:@SF_DEFAULT_LINE_EPSILON":{"name":"SF_DEFAULT_LINE_EPSILON","abstract":"

Default epsilon for point in or on line tolerance

"},"Constants.html#/c:@SF_DEFAULT_EQUAL_EPSILON":{"name":"SF_DEFAULT_EQUAL_EPSILON","abstract":"

Default epsilon for point equality

"},"Constants.html#/c:@SF_WEB_MERCATOR_MAX_LAT_RANGE":{"name":"SF_WEB_MERCATOR_MAX_LAT_RANGE","abstract":"

Web Mercator Latitude Range

"},"Constants.html#/c:@SF_WEB_MERCATOR_MIN_LAT_RANGE":{"name":"SF_WEB_MERCATOR_MIN_LAT_RANGE","abstract":"

Web Mercator Latitude Range

"},"Constants.html#/c:@SF_WEB_MERCATOR_HALF_WORLD_WIDTH":{"name":"SF_WEB_MERCATOR_HALF_WORLD_WIDTH","abstract":"

Half the world distance in either direction

"},"Constants.html#/c:@SF_WGS84_HALF_WORLD_LON_WIDTH":{"name":"SF_WGS84_HALF_WORLD_LON_WIDTH","abstract":"

Half the world longitude width for WGS84

"},"Constants.html#/c:@SF_WGS84_HALF_WORLD_LAT_HEIGHT":{"name":"SF_WGS84_HALF_WORLD_LAT_HEIGHT","abstract":"

Half the world latitude height for WGS84

"},"Constants.html#/c:@SF_DEGREES_TO_METERS_MIN_LAT":{"name":"SF_DEGREES_TO_METERS_MIN_LAT","abstract":"

Minimum latitude degrees value convertible to meters

"},"Constants.html#/c:@SF_BEARING_NORTH":{"name":"SF_BEARING_NORTH","abstract":"

Absolute north bearing in degrees

"},"Constants.html#/c:@SF_BEARING_EAST":{"name":"SF_BEARING_EAST","abstract":"

Absolute east bearing in degrees

"},"Constants.html#/c:@SF_BEARING_SOUTH":{"name":"SF_BEARING_SOUTH","abstract":"

Absolute south bearing in degrees

"},"Constants.html#/c:@SF_BEARING_WEST":{"name":"SF_BEARING_WEST","abstract":"

Absolute west bearing degrees

"},"Constants.html#/c:@SF_RADIANS_TO_DEGREES":{"name":"SF_RADIANS_TO_DEGREES","abstract":"

Radians to Degrees conversion

"},"Constants.html#/c:@SF_DEGREES_TO_RADIANS":{"name":"SF_DEGREES_TO_RADIANS","abstract":"

Degrees to Radians conversion

"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometry:":{"name":"+writeGeometry:","abstract":"

Write a geometry to a well-known text string

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)init":{"name":"-init","abstract":"

Initializer

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)initWithText:":{"name":"-initWithText:","abstract":"

Initializer

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)text":{"name":"-text","abstract":"

Get the well-known text

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)write:":{"name":"-write:","abstract":"

Write a geometry to well-known text

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)name:":{"name":"-name:","abstract":"

Get the well-known text writable geometry name

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeWrappedPoint:":{"name":"-writeWrappedPoint:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePoint:":{"name":"-writePoint:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeLineString:":{"name":"-writeLineString:","abstract":"

Write a Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePolygon:":{"name":"-writePolygon:","abstract":"

Write a Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiPoint:":{"name":"-writeMultiPoint:","abstract":"

Write a Multi Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiLineString:":{"name":"-writeMultiLineString:","abstract":"

Write a Multi Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiPolygon:":{"name":"-writeMultiPolygon:","abstract":"

Write a Multi Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeGeometryCollection:":{"name":"-writeGeometryCollection:","abstract":"

Write a Geometry Collection

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCircularString:":{"name":"-writeCircularString:","abstract":"

Write a Circular String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCompoundCurve:":{"name":"-writeCompoundCurve:","abstract":"

Write a Compound Curve

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCurvePolygon:":{"name":"-writeCurvePolygon:","abstract":"

Write a Curve Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePolyhedralSurface:":{"name":"-writePolyhedralSurface:","abstract":"

Write a Polyhedral Surface

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeTIN:":{"name":"-writeTIN:","abstract":"

Write a TIN

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeTriangle:":{"name":"-writeTriangle:","abstract":"

Write a Triangle

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometry:toString:":{"name":"+writeGeometry:toString:","abstract":"

Write a geometry to well-known text

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeWrappedPoint:":{"name":"+writeWrappedPoint:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeWrappedPoint:toString:":{"name":"+writeWrappedPoint:toString:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePoint:":{"name":"+writePoint:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePoint:toString:":{"name":"+writePoint:toString:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeLineString:":{"name":"+writeLineString:","abstract":"

Write a Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeLineString:toString:":{"name":"+writeLineString:toString:","abstract":"

Write a Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolygon:":{"name":"+writePolygon:","abstract":"

Write a Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolygon:toString:":{"name":"+writePolygon:toString:","abstract":"

Write a Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPoint:":{"name":"+writeMultiPoint:","abstract":"

Write a Multi Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPoint:toString:":{"name":"+writeMultiPoint:toString:","abstract":"

Write a Multi Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiLineString:":{"name":"+writeMultiLineString:","abstract":"

Write a Multi Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiLineString:toString:":{"name":"+writeMultiLineString:toString:","abstract":"

Write a Multi Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPolygon:":{"name":"+writeMultiPolygon:","abstract":"

Write a Multi Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPolygon:toString:":{"name":"+writeMultiPolygon:toString:","abstract":"

Write a Multi Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometryCollection:":{"name":"+writeGeometryCollection:","abstract":"

Write a Geometry Collection

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometryCollection:toString:":{"name":"+writeGeometryCollection:toString:","abstract":"

Write a Geometry Collection

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCircularString:":{"name":"+writeCircularString:","abstract":"

Write a Circular String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCircularString:toString:":{"name":"+writeCircularString:toString:","abstract":"

Write a Circular String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCompoundCurve:":{"name":"+writeCompoundCurve:","abstract":"

Write a Compound Curve

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCompoundCurve:toString:":{"name":"+writeCompoundCurve:toString:","abstract":"

Write a Compound Curve

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCurvePolygon:":{"name":"+writeCurvePolygon:","abstract":"

Write a Curve Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCurvePolygon:toString:":{"name":"+writeCurvePolygon:toString:","abstract":"

Write a Curve Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolyhedralSurface:":{"name":"+writePolyhedralSurface:","abstract":"

Write a Polyhedral Surface

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolyhedralSurface:toString:":{"name":"+writePolyhedralSurface:toString:","abstract":"

Write a Polyhedral Surface

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTIN:":{"name":"+writeTIN:","abstract":"

Write a TIN

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTIN:toString:":{"name":"+writeTIN:toString:","abstract":"

Write a TIN

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTriangle:":{"name":"+writeTriangle:","abstract":"

Write a Triangle

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTriangle:toString:":{"name":"+writeTriangle:toString:","abstract":"

Write a Triangle

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initializer

","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)geometryType":{"name":"-geometryType","abstract":"

Get the geometry type

","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)hasZ":{"name":"-hasZ","abstract":"

Has z values

","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)hasM":{"name":"-hasM","abstract":"

Has m values

","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:":{"name":"+readGeometryWithText:","abstract":"

Read a geometry from well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andFilter:":{"name":"+readGeometryWithText:andFilter:","abstract":"

Read a geometry from well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andExpectedType:":{"name":"+readGeometryWithText:andExpectedType:","abstract":"

Read a geometry from well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andFilter:andExpectedType:":{"name":"+readGeometryWithText:andFilter:andExpectedType:","abstract":"

Read a geometry from well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)initWithText:":{"name":"-initWithText:","abstract":"

Initializer

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)initWithReader:":{"name":"-initWithReader:","abstract":"

Initializer

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)textReader":{"name":"-textReader","abstract":"

Get the text reader

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)read":{"name":"-read","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:":{"name":"-readWithFilter:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithExpectedType:":{"name":"-readWithExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:andExpectedType:":{"name":"-readWithFilter:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:inType:andExpectedType:":{"name":"-readWithFilter:inType:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryType":{"name":"-readGeometryType","abstract":"

Read the geometry type info

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPointTextWithHasZ:andHasM:":{"name":"-readPointTextWithHasZ:andHasM:","abstract":"

Read a point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPointWithHasZ:andHasM:":{"name":"-readPointWithHasZ:andHasM:","abstract":"

Read a point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readLineStringWithHasZ:andHasM:":{"name":"-readLineStringWithHasZ:andHasM:","abstract":"

Read a line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readLineStringWithFilter:andHasZ:andHasM:":{"name":"-readLineStringWithFilter:andHasZ:andHasM:","abstract":"

Read a line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolygonWithHasZ:andHasM:":{"name":"-readPolygonWithHasZ:andHasM:","abstract":"

Read a polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolygonWithFilter:andHasZ:andHasM:":{"name":"-readPolygonWithFilter:andHasZ:andHasM:","abstract":"

Read a polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPointWithHasZ:andHasM:":{"name":"-readMultiPointWithHasZ:andHasM:","abstract":"

Read a multi point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPointWithFilter:andHasZ:andHasM:":{"name":"-readMultiPointWithFilter:andHasZ:andHasM:","abstract":"

Read a multi point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiLineStringWithHasZ:andHasM:":{"name":"-readMultiLineStringWithHasZ:andHasM:","abstract":"

Read a multi line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiLineStringWithFilter:andHasZ:andHasM:":{"name":"-readMultiLineStringWithFilter:andHasZ:andHasM:","abstract":"

Read a multi line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPolygonWithHasZ:andHasM:":{"name":"-readMultiPolygonWithHasZ:andHasM:","abstract":"

Read a multi polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPolygonWithFilter:andHasZ:andHasM:":{"name":"-readMultiPolygonWithFilter:andHasZ:andHasM:","abstract":"

Read a multi polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryCollectionWithHasZ:andHasM:":{"name":"-readGeometryCollectionWithHasZ:andHasM:","abstract":"

Read a geometry collection

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryCollectionWithFilter:andHasZ:andHasM:":{"name":"-readGeometryCollectionWithFilter:andHasZ:andHasM:","abstract":"

Read a geometry collection

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiCurveWithFilter:andHasZ:andHasM:":{"name":"-readMultiCurveWithFilter:andHasZ:andHasM:","abstract":"

Read a multi curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiSurfaceWithFilter:andHasZ:andHasM:":{"name":"-readMultiSurfaceWithFilter:andHasZ:andHasM:","abstract":"

Read a multi surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCircularStringWithHasZ:andHasM:":{"name":"-readCircularStringWithHasZ:andHasM:","abstract":"

Read a circular string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCircularStringWithFilter:andHasZ:andHasM:":{"name":"-readCircularStringWithFilter:andHasZ:andHasM:","abstract":"

Read a circular string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCompoundCurveWithHasZ:andHasM:":{"name":"-readCompoundCurveWithHasZ:andHasM:","abstract":"

Read a compound curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCompoundCurveWithFilter:andHasZ:andHasM:":{"name":"-readCompoundCurveWithFilter:andHasZ:andHasM:","abstract":"

Read a compound curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCurvePolygonWithHasZ:andHasM:":{"name":"-readCurvePolygonWithHasZ:andHasM:","abstract":"

Read a curve polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCurvePolygonWithFilter:andHasZ:andHasM:":{"name":"-readCurvePolygonWithFilter:andHasZ:andHasM:","abstract":"

Read a curve polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolyhedralSurfaceWithHasZ:andHasM:":{"name":"-readPolyhedralSurfaceWithHasZ:andHasM:","abstract":"

Read a polyhedral surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolyhedralSurfaceWithFilter:andHasZ:andHasM:":{"name":"-readPolyhedralSurfaceWithFilter:andHasZ:andHasM:","abstract":"

Read a polyhedral surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTINWithHasZ:andHasM:":{"name":"-readTINWithHasZ:andHasM:","abstract":"

Read a TIN

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTINWithFilter:andHasZ:andHasM:":{"name":"-readTINWithFilter:andHasZ:andHasM:","abstract":"

Read a TIN

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTriangleWithHasZ:andHasM:":{"name":"-readTriangleWithHasZ:andHasM:","abstract":"

Read a triangle

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTriangleWithFilter:andHasZ:andHasM:":{"name":"-readTriangleWithFilter:andHasZ:andHasM:","abstract":"

Read a triangle

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:":{"name":"+readGeometryWithReader:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:":{"name":"+readGeometryWithReader:andFilter:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andExpectedType:":{"name":"+readGeometryWithReader:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:andExpectedType:":{"name":"+readGeometryWithReader:andFilter:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:inType:andExpectedType:":{"name":"+readGeometryWithReader:andFilter:inType:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryTypeWithReader:":{"name":"+readGeometryTypeWithReader:","abstract":"

Read the geometry type info

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPointTextWithReader:andHasZ:andHasM:":{"name":"+readPointTextWithReader:andHasZ:andHasM:","abstract":"

Read a point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPointWithReader:andHasZ:andHasM:":{"name":"+readPointWithReader:andHasZ:andHasM:","abstract":"

Read a point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readLineStringWithReader:andHasZ:andHasM:":{"name":"+readLineStringWithReader:andHasZ:andHasM:","abstract":"

Read a line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readLineStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readLineStringWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolygonWithReader:andHasZ:andHasM:":{"name":"+readPolygonWithReader:andHasZ:andHasM:","abstract":"

Read a polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readPolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPointWithReader:andHasZ:andHasM:":{"name":"+readMultiPointWithReader:andHasZ:andHasM:","abstract":"

Read a multi point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPointWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiPointWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiLineStringWithReader:andHasZ:andHasM:":{"name":"+readMultiLineStringWithReader:andHasZ:andHasM:","abstract":"

Read a multi line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiLineStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiLineStringWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPolygonWithReader:andHasZ:andHasM:":{"name":"+readMultiPolygonWithReader:andHasZ:andHasM:","abstract":"

Read a multi polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiPolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryCollectionWithReader:andHasZ:andHasM:":{"name":"+readGeometryCollectionWithReader:andHasZ:andHasM:","abstract":"

Read a geometry collection

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryCollectionWithReader:andFilter:andHasZ:andHasM:":{"name":"+readGeometryCollectionWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a geometry collection

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiCurveWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiCurveWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiSurfaceWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiSurfaceWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCircularStringWithReader:andHasZ:andHasM:":{"name":"+readCircularStringWithReader:andHasZ:andHasM:","abstract":"

Read a circular string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCircularStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCircularStringWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a circular string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCompoundCurveWithReader:andHasZ:andHasM:":{"name":"+readCompoundCurveWithReader:andHasZ:andHasM:","abstract":"

Read a compound curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCompoundCurveWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCompoundCurveWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a compound curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCurvePolygonWithReader:andHasZ:andHasM:":{"name":"+readCurvePolygonWithReader:andHasZ:andHasM:","abstract":"

Read a curve polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCurvePolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCurvePolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a curve polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolyhedralSurfaceWithReader:andHasZ:andHasM:":{"name":"+readPolyhedralSurfaceWithReader:andHasZ:andHasM:","abstract":"

Read a polyhedral surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolyhedralSurfaceWithReader:andFilter:andHasZ:andHasM:":{"name":"+readPolyhedralSurfaceWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a polyhedral surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTINWithReader:andHasZ:andHasM:":{"name":"+readTINWithReader:andHasZ:andHasM:","abstract":"

Read a TIN

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTINWithReader:andFilter:andHasZ:andHasM:":{"name":"+readTINWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a TIN

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTriangleWithReader:andHasZ:andHasM:":{"name":"+readTriangleWithReader:andHasZ:andHasM:","abstract":"

Read a triangle

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTriangleWithReader:andFilter:andHasZ:andHasM:":{"name":"+readTriangleWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a triangle

","parent_name":"SFWTGeometryReader"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)addEvent:":{"name":"-addEvent:","abstract":"

Add the event to the sweep line

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)findEvent:":{"name":"-findEvent:","abstract":"

Find the existing event segment

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)intersectWithSegment:andSegment:":{"name":"-intersectWithSegment:andSegment:","abstract":"

Determine if the two segments intersect

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)removeSegment:":{"name":"-removeSegment:","abstract":"

Remove the segment from the sweep line

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(cm)xyOrderWithPoint:andPoint:":{"name":"+xyOrderWithPoint:andPoint:","abstract":"

XY order of two points

","parent_name":"SFSweepLine"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygon:":{"name":"+simplePolygon:","abstract":"

Determine if the polygon is simple

","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonPoints:":{"name":"+simplePolygonPoints:","abstract":"

Determine if the polygon points are simple

","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRingPoints:":{"name":"+simplePolygonRingPoints:","abstract":"

Determine if the polygon point rings are simple

","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRing:":{"name":"+simplePolygonRing:","abstract":"

Determine if the polygon line string ring is simple

","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRings:":{"name":"+simplePolygonRings:","abstract":"

Determine if the polygon rings are simple

","parent_name":"SFShamosHoey"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(py)above":{"name":"above","abstract":"

Segment above

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(py)below":{"name":"below","abstract":"

Segment below

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)initWithEdge:andRing:andLeftPoint:andRightPoint:":{"name":"-initWithEdge:andRing:andLeftPoint:andRightPoint:","abstract":"

Initialize

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)edge":{"name":"-edge","abstract":"

Get the edge number

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)ring":{"name":"-ring","abstract":"

Get the polygon ring number

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)leftPoint":{"name":"-leftPoint","abstract":"

Get the left point

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)rightPoint":{"name":"-rightPoint","abstract":"

Get the right point

","parent_name":"SFSegment"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)initWithRing:":{"name":"-initWithRing:","abstract":"

Initialize

","parent_name":"SFEventQueue"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFEventQueue"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)events":{"name":"-events","abstract":"

Get the events

","parent_name":"SFEventQueue"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)initWithEdge:andRing:andPoint:andType:":{"name":"-initWithEdge:andRing:andPoint:andType:","abstract":"

Initialize

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)edge":{"name":"-edge","abstract":"

Get the edge

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)ring":{"name":"-ring","abstract":"

Get the polygon ring number

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)point":{"name":"-point","abstract":"

Get the polygon point

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)type":{"name":"-type","abstract":"

Get the event type

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(cm)sort:":{"name":"+sort:","abstract":"

Sort the events

","parent_name":"SFEvent"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)type":{"name":"type","abstract":"

Finite Filter type

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)filterZ":{"name":"filterZ","abstract":"

Include z values in filtering

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)filterM":{"name":"filterM","abstract":"

Include m values in filtering

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)init":{"name":"-init","abstract":"

Initialize, filter on x and y, allowing only finite values

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:":{"name":"-initWithType:","abstract":"

Initialize, filter on x and y

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andZ:":{"name":"-initWithType:andZ:","abstract":"

Initialize, filter on x, y, and optionally z

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andM:":{"name":"-initWithType:andM:","abstract":"

Initialize, filter on x, y, and optionally m

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andZ:andM:":{"name":"-initWithType:andZ:andM:","abstract":"

Initialize, filter on x, y, and optionally z and m

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithZ:":{"name":"-initWithZ:","abstract":"

Initialize, filter on x, y, and optionally z

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithM:":{"name":"-initWithM:","abstract":"

Initialize, filter on x, y, and optionally m

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithZ:andM:":{"name":"-initWithZ:andM:","abstract":"

Initialize, filter on x, y, and optionally z and m

","parent_name":"SFPointFiniteFilter"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(cm)centroidOfGeometry:":{"name":"+centroidOfGeometry:","abstract":"

Get the degree geometry centroid

","parent_name":"SFDegreesCentroid"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFDegreesCentroid"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(im)centroid":{"name":"-centroid","abstract":"

Get the centroid point

","parent_name":"SFDegreesCentroid"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)addGeometry:":{"name":"-addGeometry:","abstract":"

Add a surface based dimension 2 geometry to the centroid total. Ignores","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)centroid":{"name":"-centroid","abstract":"

Get the centroid point

","parent_name":"SFCentroidSurface"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)addGeometry:":{"name":"-addGeometry:","abstract":"

Add a point based dimension 0 geometry to the centroid total

","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)centroid":{"name":"-centroid","abstract":"

Get the centroid point

","parent_name":"SFCentroidPoint"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)addGeometry:":{"name":"-addGeometry:","abstract":"

Add a curve based dimension 1 geometry to the centroid total. Ignores","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)centroid":{"name":"-centroid","abstract":"

Get the centroid point

","parent_name":"SFCentroidCurve"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)initWithText:":{"name":"-initWithText:","abstract":"

Initialize

","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)text":{"name":"-text","abstract":"

Get the text

","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)readToken":{"name":"-readToken","abstract":"

Read the next token. Ignores whitespace until a non whitespace character","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)peekToken":{"name":"-peekToken","abstract":"

Peek at the next token without reading past it

","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)readDouble":{"name":"-readDouble","abstract":"

Read a double

","parent_name":"SFTextReader"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)dimensionOfGeometry:":{"name":"+dimensionOfGeometry:","abstract":"

Get the dimension of the Geometry, 0 for points, 1 for curves, 2 for","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)distanceBetweenPoint1:andPoint2:":{"name":"+distanceBetweenPoint1:andPoint2:","abstract":"

Get the Pythagorean theorem distance between two points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)distanceOfLine:":{"name":"+distanceOfLine:","abstract":"

Get the Pythagorean theorem distance between the line end points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)bearingBetweenPoint1:andPoint2:":{"name":"+bearingBetweenPoint1:andPoint2:","abstract":"

Get the bearing heading in degrees between two points in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)bearingOfLine:":{"name":"+bearingOfLine:","abstract":"

Get the bearing heading in degrees between line end points in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isNorthBearing:":{"name":"+isNorthBearing:","abstract":"

Determine if the bearing is in any north direction

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEastBearing:":{"name":"+isEastBearing:","abstract":"

Determine if the bearing is in any east direction

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isSouthBearing:":{"name":"+isSouthBearing:","abstract":"

Determine if the bearing is in any south direction

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isWestBearing:":{"name":"+isWestBearing:","abstract":"

Determine if the bearing is in any west direction

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToRadians:":{"name":"+degreesToRadians:","abstract":"

Convert degrees to radians

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)radiansToDegrees:":{"name":"+radiansToDegrees:","abstract":"

Convert radians to degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)centroidOfGeometry:":{"name":"+centroidOfGeometry:","abstract":"

Get the centroid point of a 2 dimensional representation of the Geometry","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesCentroidOfGeometry:":{"name":"+degreesCentroidOfGeometry:","abstract":"

Get the geographic centroid point of a 2 dimensional representation of","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeWGS84Geometry:":{"name":"+minimizeWGS84Geometry:","abstract":"

Minimize the WGS84 geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeWebMercatorGeometry:":{"name":"+minimizeWebMercatorGeometry:","abstract":"

Minimize the Web Mercator geometry using the shortest x distance between","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeGeometry:withMaxX:":{"name":"+minimizeGeometry:withMaxX:","abstract":"

Minimize the geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeWGS84Geometry:":{"name":"+normalizeWGS84Geometry:","abstract":"

Normalize the WGS84 geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeWebMercatorGeometry:":{"name":"+normalizeWebMercatorGeometry:","abstract":"

Normalize the Web Mercator geometry using the shortest x distance between","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeGeometry:withMaxX:":{"name":"+normalizeGeometry:withMaxX:","abstract":"

Normalize the geometry so all points outside of the min and max value","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)simplifyPoints:withTolerance:":{"name":"+simplifyPoints:withTolerance:","abstract":"

Simplify the ordered points (representing a line, polygon, etc) using the Douglas Peucker algorithm","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)perpendicularDistanceBetweenPoint:lineStart:lineEnd:":{"name":"+perpendicularDistanceBetweenPoint:lineStart:lineEnd:","abstract":"

Calculate the perpendicular distance between the point and the line represented by the start and end points.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygon:":{"name":"+point:inPolygon:","abstract":"

Check if the point is in the polygon

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygon:withEpsilon:":{"name":"+point:inPolygon:withEpsilon:","abstract":"

Check if the point is in the polygon

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonRing:":{"name":"+point:inPolygonRing:","abstract":"

Check if the point is in the polygon ring

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonRing:withEpsilon:":{"name":"+point:inPolygonRing:withEpsilon:","abstract":"

Check if the point is in the polygon ring

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonPoints:":{"name":"+point:inPolygonPoints:","abstract":"

Check if the point is in the polygon points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonPoints:withEpsilon:":{"name":"+point:inPolygonPoints:withEpsilon:","abstract":"

Check if the point is in the polygon points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonEdge:":{"name":"+point:onPolygonEdge:","abstract":"

Check if the point is on the polygon edge

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonEdge:withEpsilon:":{"name":"+point:onPolygonEdge:withEpsilon:","abstract":"

Check if the point is on the polygon edge

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonRingEdge:":{"name":"+point:onPolygonRingEdge:","abstract":"

Check if the point is on the polygon ring edge

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonRingEdge:withEpsilon:":{"name":"+point:onPolygonRingEdge:withEpsilon:","abstract":"

Check if the point is on the polygon ring edge

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonPointsEdge:":{"name":"+point:onPolygonPointsEdge:","abstract":"

Check if the point is on the polygon ring edge points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonPointsEdge:withEpsilon:":{"name":"+point:onPolygonPointsEdge:withEpsilon:","abstract":"

Check if the point is on the polygon ring edge points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygon:":{"name":"+closedPolygon:","abstract":"

Check if the polygon outer ring is explicitly closed, where the first and","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygonRing:":{"name":"+closedPolygonRing:","abstract":"

Check if the polygon ring is explicitly closed, where the first and last","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygonPoints:":{"name":"+closedPolygonPoints:","abstract":"

Check if the polygon ring points are explicitly closed, where the first","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLine:":{"name":"+point:onLine:","abstract":"

Check if the point is on the line

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLine:withEpsilon:":{"name":"+point:onLine:withEpsilon:","abstract":"

Check if the point is on the line

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLinePoints:":{"name":"+point:onLinePoints:","abstract":"

Check if the point is on the line represented by the points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLinePoints:withEpsilon:":{"name":"+point:onLinePoints:withEpsilon:","abstract":"

Check if the point is on the line represented by the points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPathPoint1:andPoint2:":{"name":"+point:onPathPoint1:andPoint2:","abstract":"

Check if the point is on the path between point 1 and point 2

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPathPoint1:andPoint2:withEpsilon:":{"name":"+point:onPathPoint1:andPoint2:withEpsilon:","abstract":"

Check if the point is on the path between point 1 and point 2

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)intersectionBetweenLine1:andLine2:":{"name":"+intersectionBetweenLine1:andLine2:","abstract":"

Get the point intersection between two lines

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)intersectionBetweenLine1Point1:andLine1Point2:andLine2Point1:andLine2Point2:":{"name":"+intersectionBetweenLine1Point1:andLine1Point2:andLine2Point1:andLine2Point2:","abstract":"

Get the point intersection between end points of two lines

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithGeometry:":{"name":"+degreesToMetersWithGeometry:","abstract":"

Convert a geometry in degrees to a geometry in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPoint:":{"name":"+degreesToMetersWithPoint:","abstract":"

Convert a point in degrees to a point in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithX:andY:":{"name":"+degreesToMetersWithX:andY:","abstract":"

Convert a coordinate in degrees to a point in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiPoint:":{"name":"+degreesToMetersWithMultiPoint:","abstract":"

Convert a multi point in degrees to a multi point in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithLineString:":{"name":"+degreesToMetersWithLineString:","abstract":"

Convert a line string in degrees to a line string in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithLine:":{"name":"+degreesToMetersWithLine:","abstract":"

Convert a line in degrees to a line in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiLineString:":{"name":"+degreesToMetersWithMultiLineString:","abstract":"

Convert a multi line string in degrees to a multi line string in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPolygon:":{"name":"+degreesToMetersWithPolygon:","abstract":"

Convert a polygon in degrees to a polygon in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiPolygon:":{"name":"+degreesToMetersWithMultiPolygon:","abstract":"

Convert a multi polygon in degrees to a multi polygon in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCircularString:":{"name":"+degreesToMetersWithCircularString:","abstract":"

Convert a circular string in degrees to a circular string in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCompoundCurve:":{"name":"+degreesToMetersWithCompoundCurve:","abstract":"

Convert a compound curve in degrees to a compound curve in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCurvePolygon:":{"name":"+degreesToMetersWithCurvePolygon:","abstract":"

Convert a curve polygon in degrees to a curve polygon in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPolyhedralSurface:":{"name":"+degreesToMetersWithPolyhedralSurface:","abstract":"

Convert a polyhedral surface in degrees to a polyhedral surface in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithTIN:":{"name":"+degreesToMetersWithTIN:","abstract":"

Convert a TIN in degrees to a TIN in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithTriangle:":{"name":"+degreesToMetersWithTriangle:","abstract":"

Convert a triangle in degrees to a triangle in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithGeometry:":{"name":"+metersToDegreesWithGeometry:","abstract":"

Convert a geometry in meters to a geometry in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPoint:":{"name":"+metersToDegreesWithPoint:","abstract":"

Convert a point in meters to a point in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithX:andY:":{"name":"+metersToDegreesWithX:andY:","abstract":"

Convert a coordinate in meters to a point in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiPoint:":{"name":"+metersToDegreesWithMultiPoint:","abstract":"

Convert a multi point in meters to a multi point in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithLineString:":{"name":"+metersToDegreesWithLineString:","abstract":"

Convert a line string in meters to a line string in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithLine:":{"name":"+metersToDegreesWithLine:","abstract":"

Convert a line in meters to a line in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiLineString:":{"name":"+metersToDegreesWithMultiLineString:","abstract":"

Convert a multi line string in meters to a multi line string in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPolygon:":{"name":"+metersToDegreesWithPolygon:","abstract":"

Convert a polygon in meters to a polygon in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiPolygon:":{"name":"+metersToDegreesWithMultiPolygon:","abstract":"

Convert a multi polygon in meters to a multi polygon in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCircularString:":{"name":"+metersToDegreesWithCircularString:","abstract":"

Convert a circular string in meters to a circular string in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCompoundCurve:":{"name":"+metersToDegreesWithCompoundCurve:","abstract":"

Convert a compound curve in meters to a compound curve in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCurvePolygon:":{"name":"+metersToDegreesWithCurvePolygon:","abstract":"

Convert a curve polygon in meters to a curve polygon in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPolyhedralSurface:":{"name":"+metersToDegreesWithPolyhedralSurface:","abstract":"

Convert a polyhedral surface in meters to a polyhedral surface in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithTIN:":{"name":"+metersToDegreesWithTIN:","abstract":"

Convert a TIN in meters to a TIN in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithTriangle:":{"name":"+metersToDegreesWithTriangle:","abstract":"

Convert a triangle in meters to a triangle in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84Envelope":{"name":"+wgs84Envelope","abstract":"

Get a WGS84 bounded geometry envelope

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84TransformableEnvelope":{"name":"+wgs84TransformableEnvelope","abstract":"

Get a WGS84 bounded geometry envelope used for projection transformations","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)webMercatorEnvelope":{"name":"+webMercatorEnvelope","abstract":"

Get a Web Mercator bounded geometry envelope

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84EnvelopeWithWebMercator":{"name":"+wgs84EnvelopeWithWebMercator","abstract":"

Get a WGS84 geometry envelope with Web Mercator bounds

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropWebMercatorGeometry:":{"name":"+cropWebMercatorGeometry:","abstract":"

Crop the geometry in meters by web mercator world bounds. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropGeometry:withEnvelope:":{"name":"+cropGeometry:withEnvelope:","abstract":"

Crop the geometry in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPoint:withEnvelope:":{"name":"+cropPoint:withEnvelope:","abstract":"

Crop the point by the envelope bounds.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPoints:withEnvelope:":{"name":"+cropPoints:withEnvelope:","abstract":"

Crop the list of consecutive points in meters by the envelope bounds in","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiPoint:withEnvelope:":{"name":"+cropMultiPoint:withEnvelope:","abstract":"

Crop the multi point by the envelope bounds.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropLineString:withEnvelope:":{"name":"+cropLineString:withEnvelope:","abstract":"

Crop the line string in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropLine:withEnvelope:":{"name":"+cropLine:withEnvelope:","abstract":"

Crop the line in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiLineString:withEnvelope:":{"name":"+cropMultiLineString:withEnvelope:","abstract":"

Crop the multi line string in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPolygon:withEnvelope:":{"name":"+cropPolygon:withEnvelope:","abstract":"

Crop the polygon in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiPolygon:withEnvelope:":{"name":"+cropMultiPolygon:withEnvelope:","abstract":"

Crop the multi polygon in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCircularString:withEnvelope:":{"name":"+cropCircularString:withEnvelope:","abstract":"

Crop the circular string in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCompoundCurve:withEnvelope:":{"name":"+cropCompoundCurve:withEnvelope:","abstract":"

Crop the compound curve in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCurvePolygon:withEnvelope:":{"name":"+cropCurvePolygon:withEnvelope:","abstract":"

Crop the curve polygon in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPolyhedralSurface:withEnvelope:":{"name":"+cropPolyhedralSurface:withEnvelope:","abstract":"

Crop the polyhedral surface in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropTIN:withEnvelope:":{"name":"+cropTIN:withEnvelope:","abstract":"

Crop the TIN in meters by the envelope bounds in meters. Cropping removes","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropTriangle:withEnvelope:":{"name":"+cropTriangle:withEnvelope:","abstract":"

Crop the triangle in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEqualWithPoint1:andPoint2:":{"name":"+isEqualWithPoint1:andPoint2:","abstract":"

Determine if the points are equal within the default tolerance of","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEqualWithPoint1:andPoint2:andEpsilon:":{"name":"+isEqualWithPoint1:andPoint2:andEpsilon:","abstract":"

Determine if the points are equal within the tolerance. For exact","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)containsPoint:withinEnvelope:":{"name":"+containsPoint:withinEnvelope:","abstract":"

Determine if the envelope contains the point within the default tolerance","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)containsEnvelope:withinEnvelope:":{"name":"+containsEnvelope:withinEnvelope:","abstract":"

Determine if envelope 1 contains the envelope 2 within the default","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84Geometry:":{"name":"+boundWGS84Geometry:","abstract":"

Bound all points in the geometry to be within WGS84 limits.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84TransformableGeometry:":{"name":"+boundWGS84TransformableGeometry:","abstract":"

Bound all points in the geometry to be within WGS84 projection","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWebMercatorGeometry:":{"name":"+boundWebMercatorGeometry:","abstract":"

Bound all points in the geometry to be within Web Mercator limits.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84WithWebMercatorGeometry:":{"name":"+boundWGS84WithWebMercatorGeometry:","abstract":"

Bound all points in the WGS84 geometry to be within degree Web Mercator","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundGeometry:withEnvelope:":{"name":"+boundGeometry:withEnvelope:","abstract":"

Bound all points in the geometry to be within the geometry envelope.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)hasZ:":{"name":"+hasZ:","abstract":"

Determine if the geometries contain a Z value

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)hasM:":{"name":"+hasM:","abstract":"

Determine if the geometries contain a M value

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)parentHierarchyOfType:":{"name":"+parentHierarchyOfType:","abstract":"

Get the parent type hierarchy of the provided geometry type starting with","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)parentTypeOfType:":{"name":"+parentTypeOfType:","abstract":"

Get the parent Geometry Type of the provided geometry type

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)childHierarchyOfType:":{"name":"+childHierarchyOfType:","abstract":"

Get the child type hierarchy of the provided geometry type.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)childTypesOfType:":{"name":"+childTypesOfType:","abstract":"

Get the immediate child Geometry Types of the provided geometry type

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)encodeGeometry:":{"name":"+encodeGeometry:","abstract":"

Encode the geometry to data

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)decodeGeometry:":{"name":"+decodeGeometry:","abstract":"

Decode the data into a geometry

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryPrinter.html#/c:objc(cs)SFGeometryPrinter(cm)geometryString:":{"name":"+geometryString:","abstract":"

Get Geometry information as a String

","parent_name":"SFGeometryPrinter"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildEnvelopeWithGeometry:":{"name":"+buildEnvelopeWithGeometry:","abstract":"

Build geometry envelope with geometry

","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildEnvelope:andGeometry:":{"name":"+buildEnvelope:andGeometry:","abstract":"

Expand existing geometry envelope with a geometry

","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildGeometryWithEnvelope:":{"name":"+buildGeometryWithEnvelope:","abstract":"

Build a geometry representation of the geometry envelope

","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)nextByte":{"name":"nextByte","abstract":"

Next byte index to write

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)os":{"name":"os","abstract":"

Output stream to write bytes to

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)byteOrder":{"name":"byteOrder","abstract":"

Byte order used to write, little or big endian

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)initWithByteOrder:":{"name":"-initWithByteOrder:","abstract":"

Initialize

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)close":{"name":"-close","abstract":"

Close the byte writer

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)data":{"name":"-data","abstract":"

Get the written byte data

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)size":{"name":"-size","abstract":"

Get the current size in bytes written

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeString:":{"name":"-writeString:","abstract":"

Write a string

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeByte:":{"name":"-writeByte:","abstract":"

Write a byte

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeData:":{"name":"-writeData:","abstract":"

Write data

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeInt:":{"name":"-writeInt:","abstract":"

Write an integer

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeDouble:":{"name":"-writeDouble:","abstract":"

Write a double

","parent_name":"SFByteWriter"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)nextByte":{"name":"nextByte","abstract":"

Next byte index to read

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)bytes":{"name":"bytes","abstract":"

Bytes to read

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)byteOrder":{"name":"byteOrder","abstract":"

Byte order used to read, little or big endian

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)initWithData:":{"name":"-initWithData:","abstract":"

Initialize

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)initWithData:andByteOrder:":{"name":"-initWithData:andByteOrder:","abstract":"

Initialize

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readString:":{"name":"-readString:","abstract":"

Read a String from the provided number of bytes

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readByte":{"name":"-readByte","abstract":"

Read a single byte

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readData:":{"name":"-readData:","abstract":"

Read Data with the provided number of bytes

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readInt":{"name":"-readInt","abstract":"

Read an integer (4 bytes)

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readDouble":{"name":"-readDouble","abstract":"

Read a double (8 bytes)

","parent_name":"SFByteReader"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(cm)extendedGeometryCollectionWithGeometryCollection:":{"name":"+extendedGeometryCollectionWithGeometryCollection:","abstract":"

Create

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(cm)extendedGeometryCollectionWithExtendedGeometryCollection:":{"name":"+extendedGeometryCollectionWithExtendedGeometryCollection:","abstract":"

Create

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)initWithGeometryCollection:":{"name":"-initWithGeometryCollection:","abstract":"

Initialize

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)initWithExtendedGeometryCollection:":{"name":"-initWithExtendedGeometryCollection:","abstract":"

Initialize

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)updateGeometryType":{"name":"-updateGeometryType","abstract":"

Update the extended geometry type based upon the contained geometries

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangle":{"name":"+triangle","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithHasZ:andHasM:":{"name":"+triangleWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithRings:":{"name":"+triangleWithRings:","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithRing:":{"name":"+triangleWithRing:","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithTriangle:":{"name":"+triangleWithTriangle:","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithRing:":{"name":"-initWithRing:","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithTriangle:":{"name":"-initWithTriangle:","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tin":{"name":"+tin","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithHasZ:andHasM:":{"name":"+tinWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithPolygons:":{"name":"+tinWithPolygons:","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithPolygon:":{"name":"+tinWithPolygon:","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithTIN:":{"name":"+tinWithTIN:","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithTIN:":{"name":"-initWithTIN:","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFSurface.html#/c:objc(cs)SFSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(py)polygons":{"name":"polygons","abstract":"

Array of polygons

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurface":{"name":"+polyhedralSurface","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithHasZ:andHasM:":{"name":"+polyhedralSurfaceWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolygons:":{"name":"+polyhedralSurfaceWithPolygons:","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolygon:":{"name":"+polyhedralSurfaceWithPolygon:","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolyhedralSurface:":{"name":"+polyhedralSurfaceWithPolyhedralSurface:","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolyhedralSurface:":{"name":"-initWithPolyhedralSurface:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)patches":{"name":"-patches","abstract":"

Get patches

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)setPatches:":{"name":"-setPatches:","abstract":"

Set patches

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPolygon:":{"name":"-addPolygon:","abstract":"

Add a polygon

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPatch:":{"name":"-addPatch:","abstract":"

Add patch

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPolygons:":{"name":"-addPolygons:","abstract":"

Add polygons

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPatches:":{"name":"-addPatches:","abstract":"

Add patches

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)numPolygons":{"name":"-numPolygons","abstract":"

Get the number of polygons

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)numPatches":{"name":"-numPatches","abstract":"

Get the number of patches

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)polygonAtIndex:":{"name":"-polygonAtIndex:","abstract":"

Get the Nth polygon

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)patchAtIndex:":{"name":"-patchAtIndex:","abstract":"

Get the Nth polygon patch

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygon":{"name":"+polygon","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithHasZ:andHasM:":{"name":"+polygonWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithRings:":{"name":"+polygonWithRings:","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithRing:":{"name":"+polygonWithRing:","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithPolygon:":{"name":"+polygonWithPolygon:","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithRing:":{"name":"-initWithRing:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)lineStrings":{"name":"-lineStrings","abstract":"

Get the line string rings

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)setRings:":{"name":"-setRings:","abstract":"

Set the line string rings

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)ringAtIndex:":{"name":"-ringAtIndex:","abstract":"

Returns the Nth ring where the exterior ring is at 0, interior rings","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)exteriorRing":{"name":"-exteriorRing","abstract":"

Get the exterior ring

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)interiorRingAtIndex:":{"name":"-interiorRingAtIndex:","abstract":"

Returns the Nth interior ring for this Polygon

","parent_name":"SFPolygon"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)x":{"name":"x","abstract":"

X coordinate

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)y":{"name":"y","abstract":"

Y coordinate

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)z":{"name":"z","abstract":"

Z coordinate

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)m":{"name":"m","abstract":"

M coordinate

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)point":{"name":"+point","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:":{"name":"+pointWithXValue:andYValue:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:":{"name":"+pointWithX:andY:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:andZ:":{"name":"+pointWithX:andY:andZ:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZ:":{"name":"+pointWithXValue:andYValue:andZ:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZValue:":{"name":"+pointWithXValue:andYValue:andZValue:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:andZ:andM:":{"name":"+pointWithX:andY:andZ:andM:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZ:andM:":{"name":"+pointWithXValue:andYValue:andZ:andM:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZValue:andMValue:":{"name":"+pointWithXValue:andYValue:andZValue:andMValue:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithHasZ:andHasM:andX:andY:":{"name":"+pointWithHasZ:andHasM:andX:andY:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithHasZ:andHasM:andXValue:andYValue:":{"name":"+pointWithHasZ:andHasM:andXValue:andYValue:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithPoint:":{"name":"+pointWithPoint:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:":{"name":"-initWithXValue:andYValue:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:":{"name":"-initWithX:andY:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:andZ:":{"name":"-initWithX:andY:andZ:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZ:":{"name":"-initWithXValue:andYValue:andZ:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZValue:":{"name":"-initWithXValue:andYValue:andZValue:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:andZ:andM:":{"name":"-initWithX:andY:andZ:andM:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZ:andM:":{"name":"-initWithXValue:andYValue:andZ:andM:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZValue:andMValue:":{"name":"-initWithXValue:andYValue:andZValue:andMValue:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithHasZ:andHasM:andX:andY:":{"name":"-initWithHasZ:andHasM:andX:andY:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithHasZ:andHasM:andXValue:andYValue:":{"name":"-initWithHasZ:andHasM:andXValue:andYValue:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithPoint:":{"name":"-initWithPoint:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setXValue:":{"name":"-setXValue:","abstract":"

Set the x value

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setYValue:":{"name":"-setYValue:","abstract":"

Set the y value

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setZValue:":{"name":"-setZValue:","abstract":"

Set the z value

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setMValue:":{"name":"-setMValue:","abstract":"

Set the m value

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualXToPoint:":{"name":"-isEqualXToPoint:","abstract":"

Indicates if x values are equal

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualYToPoint:":{"name":"-isEqualYToPoint:","abstract":"

Indicates if y values are equal

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualXYToPoint:":{"name":"-isEqualXYToPoint:","abstract":"

Indicates if x and y values are equal

","parent_name":"SFPoint"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)surfaces":{"name":"-surfaces","abstract":"

Get the surfaces

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)setSurfaces:":{"name":"-setSurfaces:","abstract":"

Set the surfaces

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)addSurface:":{"name":"-addSurface:","abstract":"

Add a surface

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)addSurfaces:":{"name":"-addSurfaces:","abstract":"

Add surfaces

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)numSurfaces":{"name":"-numSurfaces","abstract":"

Get the number of surfaces

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)surfaceAtIndex:":{"name":"-surfaceAtIndex:","abstract":"

Returns the Nth surface

","parent_name":"SFMultiSurface"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygon":{"name":"+multiPolygon","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithHasZ:andHasM:":{"name":"+multiPolygonWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithPolygons:":{"name":"+multiPolygonWithPolygons:","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithPolygon:":{"name":"+multiPolygonWithPolygon:","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithMultiPolygon:":{"name":"+multiPolygonWithMultiPolygon:","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithMultiPolygon:":{"name":"-initWithMultiPolygon:","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)polygons":{"name":"-polygons","abstract":"

Get the polygons

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)setPolygons:":{"name":"-setPolygons:","abstract":"

Set the polygons

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)addPolygon:":{"name":"-addPolygon:","abstract":"

Add a polygon

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)addPolygons:":{"name":"-addPolygons:","abstract":"

Add polygons

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)numPolygons":{"name":"-numPolygons","abstract":"

Get the number of polygons

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)polygonAtIndex:":{"name":"-polygonAtIndex:","abstract":"

Returns the Nth polygon

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPoint":{"name":"+multiPoint","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithHasZ:andHasM:":{"name":"+multiPointWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithPoints:":{"name":"+multiPointWithPoints:","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithPoint:":{"name":"+multiPointWithPoint:","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithMultiPoint:":{"name":"+multiPointWithMultiPoint:","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithPoint:":{"name":"-initWithPoint:","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithMultiPoint:":{"name":"-initWithMultiPoint:","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)points":{"name":"-points","abstract":"

Get the points

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)setPoints:":{"name":"-setPoints:","abstract":"

Set the points

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)addPoint:":{"name":"-addPoint:","abstract":"

Add a point

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)addPoints:":{"name":"-addPoints:","abstract":"

Add points

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)numPoints":{"name":"-numPoints","abstract":"

Get the number of points

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)pointAtIndex:":{"name":"-pointAtIndex:","abstract":"

Returns the Nth point

","parent_name":"SFMultiPoint"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineString":{"name":"+multiLineString","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithHasZ:andHasM:":{"name":"+multiLineStringWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithLineStrings:":{"name":"+multiLineStringWithLineStrings:","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithLineString:":{"name":"+multiLineStringWithLineString:","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithMultiLineString:":{"name":"+multiLineStringWithMultiLineString:","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithLineStrings:":{"name":"-initWithLineStrings:","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithMultiLineString:":{"name":"-initWithMultiLineString:","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)lineStrings":{"name":"-lineStrings","abstract":"

Get the line strings

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)setLineStrings:":{"name":"-setLineStrings:","abstract":"

Set the line strings

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)addLineString:":{"name":"-addLineString:","abstract":"

Add a line string

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)addLineStrings:":{"name":"-addLineStrings:","abstract":"

Add line strings

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)numLineStrings":{"name":"-numLineStrings","abstract":"

Get the number of line strings

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)lineStringAtIndex:":{"name":"-lineStringAtIndex:","abstract":"

Returns the Nth line string

","parent_name":"SFMultiLineString"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)curves":{"name":"-curves","abstract":"

Get the curves

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)setCurves:":{"name":"-setCurves:","abstract":"

Set the curves

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)addCurve:":{"name":"-addCurve:","abstract":"

Add a curve

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)addCurves:":{"name":"-addCurves:","abstract":"

Add curves

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)numCurves":{"name":"-numCurves","abstract":"

Get the number of curves

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)curveAtIndex:":{"name":"-curveAtIndex:","abstract":"

Returns the Nth curve

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)isClosed":{"name":"-isClosed","abstract":"

Determine if this Multi Curve is closed for each Curve (start point = end","parent_name":"SFMultiCurve"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRing":{"name":"+linearRing","abstract":"

Create

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithHasZ:andHasM:":{"name":"+linearRingWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithPoints:":{"name":"+linearRingWithPoints:","abstract":"

Create

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithLinearRing:":{"name":"+linearRingWithLinearRing:","abstract":"

Create

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithLinearRing:":{"name":"-initWithLinearRing:","abstract":"

Initialize

","parent_name":"SFLinearRing"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(py)points":{"name":"points","abstract":"

Array of points

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineString":{"name":"+lineString","abstract":"

Create

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithHasZ:andHasM:":{"name":"+lineStringWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithPoints:":{"name":"+lineStringWithPoints:","abstract":"

Create

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithLineString:":{"name":"+lineStringWithLineString:","abstract":"

Create

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)addPoint:":{"name":"-addPoint:","abstract":"

Add a point

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)addPoints:":{"name":"-addPoints:","abstract":"

Add points

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)numPoints":{"name":"-numPoints","abstract":"

Get the number of points

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)pointAtIndex:":{"name":"-pointAtIndex:","abstract":"

Returns the Nth point

","parent_name":"SFLineString"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)line":{"name":"+line","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithHasZ:andHasM:":{"name":"+lineWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithPoints:":{"name":"+lineWithPoints:","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithPoint1:andPoint2:":{"name":"+lineWithPoint1:andPoint2:","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithLine:":{"name":"+lineWithLine:","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithPoint1:andPoint2:":{"name":"-initWithPoint1:andPoint2:","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithLine:":{"name":"-initWithLine:","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFGeometryTypes.html#/c:objc(cs)SFGeometryTypes(cm)name:":{"name":"+name:","abstract":"

Get the name of the geometry type

","parent_name":"SFGeometryTypes"},"Classes/SFGeometryTypes.html#/c:objc(cs)SFGeometryTypes(cm)fromName:":{"name":"+fromName:","abstract":"

Get the geometry type of the name

","parent_name":"SFGeometryTypes"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minX":{"name":"minX","abstract":"

X coordinate range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxX":{"name":"maxX","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minY":{"name":"minY","abstract":"

Y coordinate range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxY":{"name":"maxY","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)hasZ":{"name":"hasZ","abstract":"

Has Z value and Z coordinate range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minZ":{"name":"minZ","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxZ":{"name":"maxZ","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)hasM":{"name":"hasM","abstract":"

Has M value and M coordinate range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minM":{"name":"minM","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxM":{"name":"maxM","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelope":{"name":"+envelope","abstract":"

Create with no z or m

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithHasZ:andHasM:":{"name":"+envelopeWithHasZ:andHasM:","abstract":"

Create with the has z and m values

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMaxX:andMaxY:":{"name":"+envelopeWithMinX:andMinY:andMaxX:andMaxY:","abstract":"

Create with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:","abstract":"

Create with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:":{"name":"+envelopeWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:","abstract":"

Create with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:","abstract":"

Create with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:":{"name":"+envelopeWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:","abstract":"

Create with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:","abstract":"

Create with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)geometryEnvelopeWithGeometryEnvelope:":{"name":"+geometryEnvelopeWithGeometryEnvelope:","abstract":"

Create

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)init":{"name":"-init","abstract":"

Initialize with no z or m

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize with the has z and m values

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMaxX:andMaxY:":{"name":"-initWithMinX:andMinY:andMaxX:andMaxY:","abstract":"

Initialize with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:":{"name":"-initWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:","abstract":"

Initialize with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:":{"name":"-initWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:","abstract":"

Initialize with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:":{"name":"-initWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:","abstract":"

Initialize with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:":{"name":"-initWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:","abstract":"

Initialize with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:":{"name":"-initWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:","abstract":"

Initialize with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithGeometryEnvelope:":{"name":"-initWithGeometryEnvelope:","abstract":"

Initialize

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinXValue:":{"name":"-setMinXValue:","abstract":"

Set the min x value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxXValue:":{"name":"-setMaxXValue:","abstract":"

Set the max x value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinYValue:":{"name":"-setMinYValue:","abstract":"

Set the min y value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxYValue:":{"name":"-setMaxYValue:","abstract":"

Set the max y value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinZValue:":{"name":"-setMinZValue:","abstract":"

Set the min z value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxZValue:":{"name":"-setMaxZValue:","abstract":"

Set the max z value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinMValue:":{"name":"-setMinMValue:","abstract":"

Set the min m value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxMValue:":{"name":"-setMaxMValue:","abstract":"

Set the max m value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)is3D":{"name":"-is3D","abstract":"

True if has Z coordinates

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isMeasured":{"name":"-isMeasured","abstract":"

True if has M measurements

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)xRange":{"name":"-xRange","abstract":"

Get the x range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)yRange":{"name":"-yRange","abstract":"

Get the y range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)zRange":{"name":"-zRange","abstract":"

Get the z range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)mRange":{"name":"-mRange","abstract":"

Get the m range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isPoint":{"name":"-isPoint","abstract":"

Determine if the envelope is of a single point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)topLeft":{"name":"-topLeft","abstract":"

Get the top left point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottomLeft":{"name":"-bottomLeft","abstract":"

Get the bottom left point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottomRight":{"name":"-bottomRight","abstract":"

Get the bottom right point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)topRight":{"name":"-topRight","abstract":"

Get the top right point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)left":{"name":"-left","abstract":"

Get the left line

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottom":{"name":"-bottom","abstract":"

Get the bottom line

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)right":{"name":"-right","abstract":"

Get the right line

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)top":{"name":"-top","abstract":"

Get the top line

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)midX":{"name":"-midX","abstract":"

Get the envelope mid x

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)midY":{"name":"-midY","abstract":"

Get the envelope mid y

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)centroid":{"name":"-centroid","abstract":"

Get the envelope centroid point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isEmpty":{"name":"-isEmpty","abstract":"

Determine if the envelope is empty

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)intersectsWithEnvelope:":{"name":"-intersectsWithEnvelope:","abstract":"

Determine if intersects with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)intersectsWithEnvelope:withAllowEmpty:":{"name":"-intersectsWithEnvelope:withAllowEmpty:","abstract":"

Determine if intersects with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)overlapWithEnvelope:":{"name":"-overlapWithEnvelope:","abstract":"

Get the overlapping geometry envelope with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)overlapWithEnvelope:withAllowEmpty:":{"name":"-overlapWithEnvelope:withAllowEmpty:","abstract":"

Get the overlapping geometry envelope with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)unionWithEnvelope:":{"name":"-unionWithEnvelope:","abstract":"

Get the union geometry envelope combined with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsPoint:":{"name":"-containsPoint:","abstract":"

Determine if contains the point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsPoint:withEpsilon:":{"name":"-containsPoint:withEpsilon:","abstract":"

Determine if contains the point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsX:andY:":{"name":"-containsX:andY:","abstract":"

Determine if contains the coordinate

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsX:andY:withEpsilon:":{"name":"-containsX:andY:withEpsilon:","abstract":"

Determine if contains the coordinate

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsEnvelope:":{"name":"-containsEnvelope:","abstract":"

Determine if inclusively contains the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsEnvelope:withEpsilon:":{"name":"-containsEnvelope:withEpsilon:","abstract":"

Determine if inclusively contains the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)buildGeometry":{"name":"-buildGeometry","abstract":"

Build a geometry representation of the geometry envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(py)geometries":{"name":"geometries","abstract":"

Array of geometries

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollection":{"name":"+geometryCollection","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithHasZ:andHasM:":{"name":"+geometryCollectionWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometries:":{"name":"+geometryCollectionWithGeometries:","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometry:":{"name":"+geometryCollectionWithGeometry:","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometryCollection:":{"name":"+geometryCollectionWithGeometryCollection:","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometries:":{"name":"-initWithGeometries:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometryCollection:":{"name":"-initWithGeometryCollection:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)addGeometry:":{"name":"-addGeometry:","abstract":"

Add geometry

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)addGeometries:":{"name":"-addGeometries:","abstract":"

Add geometries

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)numGeometries":{"name":"-numGeometries","abstract":"

Get the number of geometries

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)geometryAtIndex:":{"name":"-geometryAtIndex:","abstract":"

Returns the Nth geometry

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)collectionType":{"name":"-collectionType","abstract":"

Get the collection type by evaluating the geometries

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiPoint":{"name":"-isMultiPoint","abstract":"

Determine if this geometry collection is a MultiPoint instance or","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiPoint":{"name":"-asMultiPoint","abstract":"

Get as a MultiPoint, either the current instance or newly created","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiLineString":{"name":"-isMultiLineString","abstract":"

Determine if this geometry collection is a MultiLineString","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiLineString":{"name":"-asMultiLineString","abstract":"

Get as a MultiLineString, either the current instance or newly","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiPolygon":{"name":"-isMultiPolygon","abstract":"

Determine if this geometry collection is a MultiPolygon instance","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiPolygon":{"name":"-asMultiPolygon","abstract":"

Get as a MultiPolygon, either the current instance or newly","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiCurve":{"name":"-isMultiCurve","abstract":"

Determine if this geometry collection contains only Curve","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiCurve":{"name":"-asMultiCurve","abstract":"

Get as a Multi Curve, a Curve typed Geometry Collection

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiSurface":{"name":"-isMultiSurface","abstract":"

Determine if this geometry collection contains only Surface","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiSurface":{"name":"-asMultiSurface","abstract":"

Get as a Multi Surface, a Surface typed Geometry Collection

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asGeometryCollection":{"name":"-asGeometryCollection","abstract":"

Get as a top level Geometry Collection

","parent_name":"SFGeometryCollection"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)geometryType":{"name":"geometryType","abstract":"

Geometry type

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)hasZ":{"name":"hasZ","abstract":"

Has Z values

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)hasM":{"name":"hasM","abstract":"

Has M values

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)is3D":{"name":"-is3D","abstract":"

Does the geometry have z coordinates

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isMeasured":{"name":"-isMeasured","abstract":"

Does the geometry have m coordinates.

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)envelope":{"name":"-envelope","abstract":"

Get the minimum bounding box for this Geometry

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)expandEnvelope:":{"name":"-expandEnvelope:","abstract":"

Expand the envelope with the minimum bounding box for this Geometry

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)dimension":{"name":"-dimension","abstract":"

Get the inherent dimension (0, 1, or 2) for this Geometry

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)centroid":{"name":"-centroid","abstract":"

Get the mathematical centroid point of a 2 dimensional representation of","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)degreesCentroid":{"name":"-degreesCentroid","abstract":"

Get the geographic centroid point of a 2 dimensional representation of","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isEmpty":{"name":"-isEmpty","abstract":"

Is the Geometry empty

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isSimple":{"name":"-isSimple","abstract":"

Determine if this Geometry has no anomalous geometric points, such as","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)updateZM:":{"name":"-updateZM:","abstract":"

Update currently false hasZ and hasM values using the provided geometry

","parent_name":"SFGeometry"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(py)rings":{"name":"rings","abstract":"

Array of rings

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygon":{"name":"+curvePolygon","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithHasZ:andHasM:":{"name":"+curvePolygonWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithRings:":{"name":"+curvePolygonWithRings:","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithRing:":{"name":"+curvePolygonWithRing:","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithCurvePolygon:":{"name":"+curvePolygonWithCurvePolygon:","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithRing:":{"name":"-initWithRing:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithCurvePolygon:":{"name":"-initWithCurvePolygon:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)addRing:":{"name":"-addRing:","abstract":"

Add a ring

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)addRings:":{"name":"-addRings:","abstract":"

Add rings

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)numRings":{"name":"-numRings","abstract":"

Get the number of rings

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)ringAtIndex:":{"name":"-ringAtIndex:","abstract":"

Returns the Nth ring where the exterior ring is at 0, interior rings","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)exteriorRing":{"name":"-exteriorRing","abstract":"

Get the exterior ring

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)numInteriorRings":{"name":"-numInteriorRings","abstract":"

Get the number of interior rings

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)interiorRingAtIndex:":{"name":"-interiorRingAtIndex:","abstract":"

Returns the Nth interior ring for this Polygon

","parent_name":"SFCurvePolygon"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)startPoint":{"name":"-startPoint","abstract":"

Get the start Point of this Curve

","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)endPoint":{"name":"-endPoint","abstract":"

Get the end Point of this Curve

","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)isClosed":{"name":"-isClosed","abstract":"

Determine if this Curve is closed (start point = end point)

","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)isRing":{"name":"-isRing","abstract":"

Determine if this Curve is a ring (closed and simple)

","parent_name":"SFCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(py)lineStrings":{"name":"lineStrings","abstract":"

Array of line strings

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurve":{"name":"+compoundCurve","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithHasZ:andHasM:":{"name":"+compoundCurveWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithLineStrings:":{"name":"+compoundCurveWithLineStrings:","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithLineString:":{"name":"+compoundCurveWithLineString:","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithCompoundCurve:":{"name":"+compoundCurveWithCompoundCurve:","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithLineStrings:":{"name":"-initWithLineStrings:","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithCompoundCurve:":{"name":"-initWithCompoundCurve:","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)addLineString:":{"name":"-addLineString:","abstract":"

Add a line string

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)addLineStrings:":{"name":"-addLineStrings:","abstract":"

Add line strings

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)numLineStrings":{"name":"-numLineStrings","abstract":"

Get the number of line strings

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)lineStringAtIndex:":{"name":"-lineStringAtIndex:","abstract":"

Returns the Nth line string

","parent_name":"SFCompoundCurve"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularString":{"name":"+circularString","abstract":"

Create

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithHasZ:andHasM:":{"name":"+circularStringWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithPoints:":{"name":"+circularStringWithPoints:","abstract":"

Create

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithCircularString:":{"name":"+circularStringWithCircularString:","abstract":"

Create

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithCircularString:":{"name":"-initWithCircularString:","abstract":"

Initialize

","parent_name":"SFCircularString"},"Classes/SFCircularString.html":{"name":"SFCircularString","abstract":"

Circular String, Curve sub type

"},"Classes/SFCompoundCurve.html":{"name":"SFCompoundCurve","abstract":"

Compound Curve, Curve sub type

"},"Classes/SFCurve.html":{"name":"SFCurve","abstract":"

The base type for all 1-dimensional geometry types. A 1-dimensional geometry"},"Classes/SFCurvePolygon.html":{"name":"SFCurvePolygon","abstract":"

A planar surface defined by an exterior ring and zero or more interior ring."},"Classes/SFGeometry.html":{"name":"SFGeometry","abstract":"

The root of the geometry type hierarchy

"},"Classes/SFGeometryCollection.html":{"name":"SFGeometryCollection","abstract":"

A collection of zero or more Geometry instances.

"},"Classes/SFGeometryEnvelope.html":{"name":"SFGeometryEnvelope","abstract":"

Geometry envelope containing x and y range with optional z and m range

"},"Classes/SFGeometryTypes.html":{"name":"SFGeometryTypes","abstract":"

Undocumented

"},"Classes/SFLine.html":{"name":"SFLine","abstract":"

A LineString with exactly 2 Points.

"},"Classes/SFLineString.html":{"name":"SFLineString","abstract":"

A Curve that connects two or more points in space.

"},"Classes/SFLinearRing.html":{"name":"SFLinearRing","abstract":"

A LineString that is both closed and simple.

"},"Classes/SFMultiCurve.html":{"name":"SFMultiCurve","abstract":"

A restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFMultiLineString.html":{"name":"SFMultiLineString","abstract":"

A restricted form of MultiCurve where each Curve in the collection must be of"},"Classes/SFMultiPoint.html":{"name":"SFMultiPoint","abstract":"

A restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFMultiPolygon.html":{"name":"SFMultiPolygon","abstract":"

A restricted form of MultiSurface where each Surface in the collection must"},"Classes/SFMultiSurface.html":{"name":"SFMultiSurface","abstract":"

A restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFPoint.html":{"name":"SFPoint","abstract":"

A single location in space. Each point has an X and Y coordinate. A point MAY"},"Classes/SFPolygon.html":{"name":"SFPolygon","abstract":"

A restricted form of CurvePolygon where each ring is defined as a simple,"},"Classes/SFPolyhedralSurface.html":{"name":"SFPolyhedralSurface","abstract":"

Contiguous collection of polygons which share common boundary segments.

"},"Classes/SFSurface.html":{"name":"SFSurface","abstract":"

The base type for all 2-dimensional geometry types. A 2-dimensional geometry"},"Classes/SFTIN.html":{"name":"SFTIN","abstract":"

A tetrahedron (4 triangular faces), corner at the origin and each unit"},"Classes/SFTriangle.html":{"name":"SFTriangle","abstract":"

Triangle

"},"Classes/SFExtendedGeometryCollection.html":{"name":"SFExtendedGeometryCollection","abstract":"

Extended Geometry Collection providing abstract geometry collection type"},"Classes/SFByteReader.html":{"name":"SFByteReader","abstract":"

Read through byte data

"},"Classes/SFByteWriter.html":{"name":"SFByteWriter","abstract":"

Write byte data

"},"Classes.html#/c:objc(cs)SFGeometryConstants":{"name":"SFGeometryConstants","abstract":"

Undocumented

"},"Classes/SFGeometryEnvelopeBuilder.html":{"name":"SFGeometryEnvelopeBuilder","abstract":"

Builds an envelope from a Geometry

"},"Classes/SFGeometryPrinter.html":{"name":"SFGeometryPrinter","abstract":"

String representation of a Geometry

"},"Classes/SFGeometryUtils.html":{"name":"SFGeometryUtils","abstract":"

Utilities for Geometry objects

"},"Classes/SFTextReader.html":{"name":"SFTextReader","abstract":"

Read through text string

"},"Classes/SFCentroidCurve.html":{"name":"SFCentroidCurve","abstract":"

Calculate the centroid from curve based geometries. Implementation based on"},"Classes/SFCentroidPoint.html":{"name":"SFCentroidPoint","abstract":"

Calculate the centroid from point based geometries. Implementation based on"},"Classes/SFCentroidSurface.html":{"name":"SFCentroidSurface","abstract":"

Calculate the centroid from surface based geometries. Implementation based on"},"Classes/SFDegreesCentroid.html":{"name":"SFDegreesCentroid","abstract":"

Centroid calculations for geometries in degrees

"},"Classes.html#/c:objc(cs)SFFiniteFilterTypes":{"name":"SFFiniteFilterTypes","abstract":"

Undocumented

"},"Classes/SFPointFiniteFilter.html":{"name":"SFPointFiniteFilter","abstract":"

Point filter for finite checks on x and y properties, optionally filter on z"},"Classes/SFEvent.html":{"name":"SFEvent","abstract":"

Event element

"},"Classes/SFEventQueue.html":{"name":"SFEventQueue","abstract":"

Event queue for processing events

"},"Classes.html#/c:objc(cs)SFEventTypes":{"name":"SFEventTypes","abstract":"

Undocumented

"},"Classes/SFSegment.html":{"name":"SFSegment","abstract":"

Line segment of an edge between two points

"},"Classes/SFShamosHoey.html":{"name":"SFShamosHoey","abstract":"

Shamos-Hoey simple polygon detection

"},"Classes/SFSweepLine.html":{"name":"SFSweepLine","abstract":"

Sweep Line algorithm

"},"Classes/SFWTGeometryReader.html":{"name":"SFWTGeometryReader","abstract":"

Well Known Text reader

"},"Classes/SFWTGeometryTypeInfo.html":{"name":"SFWTGeometryTypeInfo","abstract":"

Geometry type info

"},"Classes/SFWTGeometryWriter.html":{"name":"SFWTGeometryWriter","abstract":"

Well Known Text writer

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"}} \ No newline at end of file +{"Protocols/SFGeometryFilter.html#/c:objc(pl)SFGeometryFilter(im)filterGeometry:inType:":{"name":"-filterGeometry:inType:","abstract":"\u003cp\u003eFilter the geometry\u003c/p\u003e","parent_name":"SFGeometryFilter"},"Protocols/SFGeometryFilter.html":{"name":"SFGeometryFilter","abstract":"\u003cp\u003eGeometry Filter to filter included geometries and modify them during"},"Enums/SFEventType.html#/c:@E@SFEventType@SF_ET_LEFT":{"name":"SF_ET_LEFT","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFEventType"},"Enums/SFEventType.html#/c:@E@SFEventType@SF_ET_RIGHT":{"name":"SF_ET_RIGHT","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFEventType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE":{"name":"SF_FF_FINITE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFFiniteFilterType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE_AND_INFINITE":{"name":"SF_FF_FINITE_AND_INFINITE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFFiniteFilterType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE_AND_NAN":{"name":"SF_FF_FINITE_AND_NAN","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFFiniteFilterType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_GEOMETRY":{"name":"SF_GEOMETRY","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POINT":{"name":"SF_POINT","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_LINESTRING":{"name":"SF_LINESTRING","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POLYGON":{"name":"SF_POLYGON","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTIPOINT":{"name":"SF_MULTIPOINT","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTILINESTRING":{"name":"SF_MULTILINESTRING","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTIPOLYGON":{"name":"SF_MULTIPOLYGON","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_GEOMETRYCOLLECTION":{"name":"SF_GEOMETRYCOLLECTION","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CIRCULARSTRING":{"name":"SF_CIRCULARSTRING","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_COMPOUNDCURVE":{"name":"SF_COMPOUNDCURVE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CURVEPOLYGON":{"name":"SF_CURVEPOLYGON","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTICURVE":{"name":"SF_MULTICURVE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTISURFACE":{"name":"SF_MULTISURFACE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CURVE":{"name":"SF_CURVE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_SURFACE":{"name":"SF_SURFACE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POLYHEDRALSURFACE":{"name":"SF_POLYHEDRALSURFACE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_TIN":{"name":"SF_TIN","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_TRIANGLE":{"name":"SF_TRIANGLE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_NONE":{"name":"SF_NONE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html":{"name":"SFGeometryType","abstract":"\u003cp\u003eGeometry Type enumeration\u003c/p\u003e"},"Enums/SFFiniteFilterType.html":{"name":"SFFiniteFilterType","abstract":"\u003cp\u003eFinite Filter Type, including finite values and optionally one of either"},"Enums/SFEventType.html":{"name":"SFEventType","abstract":"\u003cp\u003eEvent type of the point direction\u003c/p\u003e"},"Constants.html#/c:@SF_GEOMETRY_NAME":{"name":"SF_GEOMETRY_NAME","abstract":"\u003cp\u003eGeometry type names\u003c/p\u003e"},"Constants.html#/c:@SF_POINT_NAME":{"name":"SF_POINT_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_LINESTRING_NAME":{"name":"SF_LINESTRING_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_POLYGON_NAME":{"name":"SF_POLYGON_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTIPOINT_NAME":{"name":"SF_MULTIPOINT_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTILINESTRING_NAME":{"name":"SF_MULTILINESTRING_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTIPOLYGON_NAME":{"name":"SF_MULTIPOLYGON_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_GEOMETRYCOLLECTION_NAME":{"name":"SF_GEOMETRYCOLLECTION_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_CIRCULARSTRING_NAME":{"name":"SF_CIRCULARSTRING_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_COMPOUNDCURVE_NAME":{"name":"SF_COMPOUNDCURVE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_CURVEPOLYGON_NAME":{"name":"SF_CURVEPOLYGON_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTICURVE_NAME":{"name":"SF_MULTICURVE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTISURFACE_NAME":{"name":"SF_MULTISURFACE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_CURVE_NAME":{"name":"SF_CURVE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_SURFACE_NAME":{"name":"SF_SURFACE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_POLYHEDRALSURFACE_NAME":{"name":"SF_POLYHEDRALSURFACE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_TIN_NAME":{"name":"SF_TIN_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_TRIANGLE_NAME":{"name":"SF_TRIANGLE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_NONE_NAME":{"name":"SF_NONE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:SFByteReader.h@DEFAULT_READ_BYTE_ORDER":{"name":"DEFAULT_READ_BYTE_ORDER","abstract":"\u003cp\u003eDefault read byte order\u003c/p\u003e"},"Constants.html#/c:SFByteWriter.h@DEFAULT_WRITE_BYTE_ORDER":{"name":"DEFAULT_WRITE_BYTE_ORDER","abstract":"\u003cp\u003eDefault write byte order\u003c/p\u003e"},"Constants.html#/c:@SF_DEFAULT_LINE_EPSILON":{"name":"SF_DEFAULT_LINE_EPSILON","abstract":"\u003cp\u003eDefault epsilon for point in or on line tolerance\u003c/p\u003e"},"Constants.html#/c:@SF_DEFAULT_EQUAL_EPSILON":{"name":"SF_DEFAULT_EQUAL_EPSILON","abstract":"\u003cp\u003eDefault epsilon for point equality\u003c/p\u003e"},"Constants.html#/c:@SF_WEB_MERCATOR_MAX_LAT_RANGE":{"name":"SF_WEB_MERCATOR_MAX_LAT_RANGE","abstract":"\u003cp\u003eWeb Mercator Latitude Range\u003c/p\u003e"},"Constants.html#/c:@SF_WEB_MERCATOR_MIN_LAT_RANGE":{"name":"SF_WEB_MERCATOR_MIN_LAT_RANGE","abstract":"\u003cp\u003eWeb Mercator Latitude Range\u003c/p\u003e"},"Constants.html#/c:@SF_WEB_MERCATOR_HALF_WORLD_WIDTH":{"name":"SF_WEB_MERCATOR_HALF_WORLD_WIDTH","abstract":"\u003cp\u003eHalf the world distance in either direction\u003c/p\u003e"},"Constants.html#/c:@SF_WGS84_HALF_WORLD_LON_WIDTH":{"name":"SF_WGS84_HALF_WORLD_LON_WIDTH","abstract":"\u003cp\u003eHalf the world longitude width for WGS84\u003c/p\u003e"},"Constants.html#/c:@SF_WGS84_HALF_WORLD_LAT_HEIGHT":{"name":"SF_WGS84_HALF_WORLD_LAT_HEIGHT","abstract":"\u003cp\u003eHalf the world latitude height for WGS84\u003c/p\u003e"},"Constants.html#/c:@SF_DEGREES_TO_METERS_MIN_LAT":{"name":"SF_DEGREES_TO_METERS_MIN_LAT","abstract":"\u003cp\u003eMinimum latitude degrees value convertible to meters\u003c/p\u003e"},"Constants.html#/c:@SF_BEARING_NORTH":{"name":"SF_BEARING_NORTH","abstract":"\u003cp\u003eAbsolute north bearing in degrees\u003c/p\u003e"},"Constants.html#/c:@SF_BEARING_EAST":{"name":"SF_BEARING_EAST","abstract":"\u003cp\u003eAbsolute east bearing in degrees\u003c/p\u003e"},"Constants.html#/c:@SF_BEARING_SOUTH":{"name":"SF_BEARING_SOUTH","abstract":"\u003cp\u003eAbsolute south bearing in degrees\u003c/p\u003e"},"Constants.html#/c:@SF_BEARING_WEST":{"name":"SF_BEARING_WEST","abstract":"\u003cp\u003eAbsolute west bearing degrees\u003c/p\u003e"},"Constants.html#/c:@SF_RADIANS_TO_DEGREES":{"name":"SF_RADIANS_TO_DEGREES","abstract":"\u003cp\u003eRadians to Degrees conversion\u003c/p\u003e"},"Constants.html#/c:@SF_DEGREES_TO_RADIANS":{"name":"SF_DEGREES_TO_RADIANS","abstract":"\u003cp\u003eDegrees to Radians conversion\u003c/p\u003e"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometry:":{"name":"+writeGeometry:","abstract":"\u003cp\u003eWrite a geometry to a well-known text string\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)init":{"name":"-init","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)initWithText:":{"name":"-initWithText:","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)text":{"name":"-text","abstract":"\u003cp\u003eGet the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)write:":{"name":"-write:","abstract":"\u003cp\u003eWrite a geometry to well-known text\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)name:":{"name":"-name:","abstract":"\u003cp\u003eGet the well-known text writable geometry name\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeWrappedPoint:":{"name":"-writeWrappedPoint:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePoint:":{"name":"-writePoint:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeLineString:":{"name":"-writeLineString:","abstract":"\u003cp\u003eWrite a Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePolygon:":{"name":"-writePolygon:","abstract":"\u003cp\u003eWrite a Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiPoint:":{"name":"-writeMultiPoint:","abstract":"\u003cp\u003eWrite a Multi Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiLineString:":{"name":"-writeMultiLineString:","abstract":"\u003cp\u003eWrite a Multi Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiPolygon:":{"name":"-writeMultiPolygon:","abstract":"\u003cp\u003eWrite a Multi Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeGeometryCollection:":{"name":"-writeGeometryCollection:","abstract":"\u003cp\u003eWrite a Geometry Collection\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCircularString:":{"name":"-writeCircularString:","abstract":"\u003cp\u003eWrite a Circular String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCompoundCurve:":{"name":"-writeCompoundCurve:","abstract":"\u003cp\u003eWrite a Compound Curve\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCurvePolygon:":{"name":"-writeCurvePolygon:","abstract":"\u003cp\u003eWrite a Curve Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePolyhedralSurface:":{"name":"-writePolyhedralSurface:","abstract":"\u003cp\u003eWrite a Polyhedral Surface\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeTIN:":{"name":"-writeTIN:","abstract":"\u003cp\u003eWrite a TIN\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeTriangle:":{"name":"-writeTriangle:","abstract":"\u003cp\u003eWrite a Triangle\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometry:toString:":{"name":"+writeGeometry:toString:","abstract":"\u003cp\u003eWrite a geometry to well-known text\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeWrappedPoint:":{"name":"+writeWrappedPoint:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeWrappedPoint:toString:":{"name":"+writeWrappedPoint:toString:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePoint:":{"name":"+writePoint:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePoint:toString:":{"name":"+writePoint:toString:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeLineString:":{"name":"+writeLineString:","abstract":"\u003cp\u003eWrite a Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeLineString:toString:":{"name":"+writeLineString:toString:","abstract":"\u003cp\u003eWrite a Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolygon:":{"name":"+writePolygon:","abstract":"\u003cp\u003eWrite a Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolygon:toString:":{"name":"+writePolygon:toString:","abstract":"\u003cp\u003eWrite a Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPoint:":{"name":"+writeMultiPoint:","abstract":"\u003cp\u003eWrite a Multi Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPoint:toString:":{"name":"+writeMultiPoint:toString:","abstract":"\u003cp\u003eWrite a Multi Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiLineString:":{"name":"+writeMultiLineString:","abstract":"\u003cp\u003eWrite a Multi Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiLineString:toString:":{"name":"+writeMultiLineString:toString:","abstract":"\u003cp\u003eWrite a Multi Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPolygon:":{"name":"+writeMultiPolygon:","abstract":"\u003cp\u003eWrite a Multi Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPolygon:toString:":{"name":"+writeMultiPolygon:toString:","abstract":"\u003cp\u003eWrite a Multi Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometryCollection:":{"name":"+writeGeometryCollection:","abstract":"\u003cp\u003eWrite a Geometry Collection\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometryCollection:toString:":{"name":"+writeGeometryCollection:toString:","abstract":"\u003cp\u003eWrite a Geometry Collection\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCircularString:":{"name":"+writeCircularString:","abstract":"\u003cp\u003eWrite a Circular String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCircularString:toString:":{"name":"+writeCircularString:toString:","abstract":"\u003cp\u003eWrite a Circular String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCompoundCurve:":{"name":"+writeCompoundCurve:","abstract":"\u003cp\u003eWrite a Compound Curve\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCompoundCurve:toString:":{"name":"+writeCompoundCurve:toString:","abstract":"\u003cp\u003eWrite a Compound Curve\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCurvePolygon:":{"name":"+writeCurvePolygon:","abstract":"\u003cp\u003eWrite a Curve Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCurvePolygon:toString:":{"name":"+writeCurvePolygon:toString:","abstract":"\u003cp\u003eWrite a Curve Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolyhedralSurface:":{"name":"+writePolyhedralSurface:","abstract":"\u003cp\u003eWrite a Polyhedral Surface\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolyhedralSurface:toString:":{"name":"+writePolyhedralSurface:toString:","abstract":"\u003cp\u003eWrite a Polyhedral Surface\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTIN:":{"name":"+writeTIN:","abstract":"\u003cp\u003eWrite a TIN\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTIN:toString:":{"name":"+writeTIN:toString:","abstract":"\u003cp\u003eWrite a TIN\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTriangle:":{"name":"+writeTriangle:","abstract":"\u003cp\u003eWrite a Triangle\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTriangle:toString:":{"name":"+writeTriangle:toString:","abstract":"\u003cp\u003eWrite a Triangle\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)geometryType":{"name":"-geometryType","abstract":"\u003cp\u003eGet the geometry type\u003c/p\u003e","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)hasZ":{"name":"-hasZ","abstract":"\u003cp\u003eHas z values\u003c/p\u003e","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)hasM":{"name":"-hasM","abstract":"\u003cp\u003eHas m values\u003c/p\u003e","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:":{"name":"+readGeometryWithText:","abstract":"\u003cp\u003eRead a geometry from well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andFilter:":{"name":"+readGeometryWithText:andFilter:","abstract":"\u003cp\u003eRead a geometry from well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andExpectedType:":{"name":"+readGeometryWithText:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andFilter:andExpectedType:":{"name":"+readGeometryWithText:andFilter:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)initWithText:":{"name":"-initWithText:","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)initWithReader:":{"name":"-initWithReader:","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)textReader":{"name":"-textReader","abstract":"\u003cp\u003eGet the text reader\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)read":{"name":"-read","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:":{"name":"-readWithFilter:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithExpectedType:":{"name":"-readWithExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:andExpectedType:":{"name":"-readWithFilter:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:inType:andExpectedType:":{"name":"-readWithFilter:inType:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryType":{"name":"-readGeometryType","abstract":"\u003cp\u003eRead the geometry type info\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPointTextWithHasZ:andHasM:":{"name":"-readPointTextWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPointWithHasZ:andHasM:":{"name":"-readPointWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readLineStringWithHasZ:andHasM:":{"name":"-readLineStringWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readLineStringWithFilter:andHasZ:andHasM:":{"name":"-readLineStringWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolygonWithHasZ:andHasM:":{"name":"-readPolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolygonWithFilter:andHasZ:andHasM:":{"name":"-readPolygonWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPointWithHasZ:andHasM:":{"name":"-readMultiPointWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPointWithFilter:andHasZ:andHasM:":{"name":"-readMultiPointWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiLineStringWithHasZ:andHasM:":{"name":"-readMultiLineStringWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiLineStringWithFilter:andHasZ:andHasM:":{"name":"-readMultiLineStringWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPolygonWithHasZ:andHasM:":{"name":"-readMultiPolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPolygonWithFilter:andHasZ:andHasM:":{"name":"-readMultiPolygonWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryCollectionWithHasZ:andHasM:":{"name":"-readGeometryCollectionWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a geometry collection\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryCollectionWithFilter:andHasZ:andHasM:":{"name":"-readGeometryCollectionWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a geometry collection\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiCurveWithFilter:andHasZ:andHasM:":{"name":"-readMultiCurveWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiSurfaceWithFilter:andHasZ:andHasM:":{"name":"-readMultiSurfaceWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCircularStringWithHasZ:andHasM:":{"name":"-readCircularStringWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a circular string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCircularStringWithFilter:andHasZ:andHasM:":{"name":"-readCircularStringWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a circular string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCompoundCurveWithHasZ:andHasM:":{"name":"-readCompoundCurveWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a compound curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCompoundCurveWithFilter:andHasZ:andHasM:":{"name":"-readCompoundCurveWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a compound curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCurvePolygonWithHasZ:andHasM:":{"name":"-readCurvePolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a curve polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCurvePolygonWithFilter:andHasZ:andHasM:":{"name":"-readCurvePolygonWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a curve polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolyhedralSurfaceWithHasZ:andHasM:":{"name":"-readPolyhedralSurfaceWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a polyhedral surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolyhedralSurfaceWithFilter:andHasZ:andHasM:":{"name":"-readPolyhedralSurfaceWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polyhedral surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTINWithHasZ:andHasM:":{"name":"-readTINWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a TIN\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTINWithFilter:andHasZ:andHasM:":{"name":"-readTINWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a TIN\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTriangleWithHasZ:andHasM:":{"name":"-readTriangleWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a triangle\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTriangleWithFilter:andHasZ:andHasM:":{"name":"-readTriangleWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a triangle\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:":{"name":"+readGeometryWithReader:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:":{"name":"+readGeometryWithReader:andFilter:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andExpectedType:":{"name":"+readGeometryWithReader:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:andExpectedType:":{"name":"+readGeometryWithReader:andFilter:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:inType:andExpectedType:":{"name":"+readGeometryWithReader:andFilter:inType:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryTypeWithReader:":{"name":"+readGeometryTypeWithReader:","abstract":"\u003cp\u003eRead the geometry type info\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPointTextWithReader:andHasZ:andHasM:":{"name":"+readPointTextWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPointWithReader:andHasZ:andHasM:":{"name":"+readPointWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readLineStringWithReader:andHasZ:andHasM:":{"name":"+readLineStringWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readLineStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readLineStringWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolygonWithReader:andHasZ:andHasM:":{"name":"+readPolygonWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readPolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPointWithReader:andHasZ:andHasM:":{"name":"+readMultiPointWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPointWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiPointWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiLineStringWithReader:andHasZ:andHasM:":{"name":"+readMultiLineStringWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiLineStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiLineStringWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPolygonWithReader:andHasZ:andHasM:":{"name":"+readMultiPolygonWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiPolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryCollectionWithReader:andHasZ:andHasM:":{"name":"+readGeometryCollectionWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a geometry collection\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryCollectionWithReader:andFilter:andHasZ:andHasM:":{"name":"+readGeometryCollectionWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a geometry collection\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiCurveWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiCurveWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiSurfaceWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiSurfaceWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCircularStringWithReader:andHasZ:andHasM:":{"name":"+readCircularStringWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a circular string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCircularStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCircularStringWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a circular string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCompoundCurveWithReader:andHasZ:andHasM:":{"name":"+readCompoundCurveWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a compound curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCompoundCurveWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCompoundCurveWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a compound curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCurvePolygonWithReader:andHasZ:andHasM:":{"name":"+readCurvePolygonWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a curve polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCurvePolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCurvePolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a curve polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolyhedralSurfaceWithReader:andHasZ:andHasM:":{"name":"+readPolyhedralSurfaceWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polyhedral surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolyhedralSurfaceWithReader:andFilter:andHasZ:andHasM:":{"name":"+readPolyhedralSurfaceWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polyhedral surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTINWithReader:andHasZ:andHasM:":{"name":"+readTINWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a TIN\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTINWithReader:andFilter:andHasZ:andHasM:":{"name":"+readTINWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a TIN\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTriangleWithReader:andHasZ:andHasM:":{"name":"+readTriangleWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a triangle\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTriangleWithReader:andFilter:andHasZ:andHasM:":{"name":"+readTriangleWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a triangle\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)addEvent:":{"name":"-addEvent:","abstract":"\u003cp\u003eAdd the event to the sweep line\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)findEvent:":{"name":"-findEvent:","abstract":"\u003cp\u003eFind the existing event segment\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)intersectWithSegment:andSegment:":{"name":"-intersectWithSegment:andSegment:","abstract":"\u003cp\u003eDetermine if the two segments intersect\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)removeSegment:":{"name":"-removeSegment:","abstract":"\u003cp\u003eRemove the segment from the sweep line\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(cm)xyOrderWithPoint:andPoint:":{"name":"+xyOrderWithPoint:andPoint:","abstract":"\u003cp\u003eXY order of two points\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygon:":{"name":"+simplePolygon:","abstract":"\u003cp\u003eDetermine if the polygon is simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonPoints:":{"name":"+simplePolygonPoints:","abstract":"\u003cp\u003eDetermine if the polygon points are simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRingPoints:":{"name":"+simplePolygonRingPoints:","abstract":"\u003cp\u003eDetermine if the polygon point rings are simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRing:":{"name":"+simplePolygonRing:","abstract":"\u003cp\u003eDetermine if the polygon line string ring is simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRings:":{"name":"+simplePolygonRings:","abstract":"\u003cp\u003eDetermine if the polygon rings are simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(py)above":{"name":"above","abstract":"\u003cp\u003eSegment above\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(py)below":{"name":"below","abstract":"\u003cp\u003eSegment below\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)initWithEdge:andRing:andLeftPoint:andRightPoint:":{"name":"-initWithEdge:andRing:andLeftPoint:andRightPoint:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)edge":{"name":"-edge","abstract":"\u003cp\u003eGet the edge number\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)ring":{"name":"-ring","abstract":"\u003cp\u003eGet the polygon ring number\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)leftPoint":{"name":"-leftPoint","abstract":"\u003cp\u003eGet the left point\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)rightPoint":{"name":"-rightPoint","abstract":"\u003cp\u003eGet the right point\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)initWithRing:":{"name":"-initWithRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFEventQueue"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFEventQueue"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)events":{"name":"-events","abstract":"\u003cp\u003eGet the events\u003c/p\u003e","parent_name":"SFEventQueue"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)initWithEdge:andRing:andPoint:andType:":{"name":"-initWithEdge:andRing:andPoint:andType:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)edge":{"name":"-edge","abstract":"\u003cp\u003eGet the edge\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)ring":{"name":"-ring","abstract":"\u003cp\u003eGet the polygon ring number\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)point":{"name":"-point","abstract":"\u003cp\u003eGet the polygon point\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)type":{"name":"-type","abstract":"\u003cp\u003eGet the event type\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(cm)sort:":{"name":"+sort:","abstract":"\u003cp\u003eSort the events\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)type":{"name":"type","abstract":"\u003cp\u003eFinite Filter type\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)filterZ":{"name":"filterZ","abstract":"\u003cp\u003eInclude z values in filtering\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)filterM":{"name":"filterM","abstract":"\u003cp\u003eInclude m values in filtering\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize, filter on x and y, allowing only finite values\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:":{"name":"-initWithType:","abstract":"\u003cp\u003eInitialize, filter on x and y\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andZ:":{"name":"-initWithType:andZ:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally z\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andM:":{"name":"-initWithType:andM:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally m\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andZ:andM:":{"name":"-initWithType:andZ:andM:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally z and m\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithZ:":{"name":"-initWithZ:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally z\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithM:":{"name":"-initWithM:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally m\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithZ:andM:":{"name":"-initWithZ:andM:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally z and m\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(cm)centroidOfGeometry:":{"name":"+centroidOfGeometry:","abstract":"\u003cp\u003eGet the degree geometry centroid\u003c/p\u003e","parent_name":"SFDegreesCentroid"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFDegreesCentroid"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the centroid point\u003c/p\u003e","parent_name":"SFDegreesCentroid"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)addGeometry:":{"name":"-addGeometry:","abstract":"\u003cp\u003eAdd a surface based dimension 2 geometry to the centroid total. Ignores","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the centroid point\u003c/p\u003e","parent_name":"SFCentroidSurface"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)addGeometry:":{"name":"-addGeometry:","abstract":"\u003cp\u003eAdd a point based dimension 0 geometry to the centroid total\u003c/p\u003e","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the centroid point\u003c/p\u003e","parent_name":"SFCentroidPoint"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)addGeometry:":{"name":"-addGeometry:","abstract":"\u003cp\u003eAdd a curve based dimension 1 geometry to the centroid total. Ignores","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the centroid point\u003c/p\u003e","parent_name":"SFCentroidCurve"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)initWithText:":{"name":"-initWithText:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)text":{"name":"-text","abstract":"\u003cp\u003eGet the text\u003c/p\u003e","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)readToken":{"name":"-readToken","abstract":"\u003cp\u003eRead the next token. Ignores whitespace until a non whitespace character","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)peekToken":{"name":"-peekToken","abstract":"\u003cp\u003ePeek at the next token without reading past it\u003c/p\u003e","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)readDouble":{"name":"-readDouble","abstract":"\u003cp\u003eRead a double\u003c/p\u003e","parent_name":"SFTextReader"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)dimensionOfGeometry:":{"name":"+dimensionOfGeometry:","abstract":"\u003cp\u003eGet the dimension of the Geometry, 0 for points, 1 for curves, 2 for","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)distanceBetweenPoint1:andPoint2:":{"name":"+distanceBetweenPoint1:andPoint2:","abstract":"\u003cp\u003eGet the Pythagorean theorem distance between two points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)distanceOfLine:":{"name":"+distanceOfLine:","abstract":"\u003cp\u003eGet the Pythagorean theorem distance between the line end points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)bearingBetweenPoint1:andPoint2:":{"name":"+bearingBetweenPoint1:andPoint2:","abstract":"\u003cp\u003eGet the bearing heading in degrees between two points in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)bearingOfLine:":{"name":"+bearingOfLine:","abstract":"\u003cp\u003eGet the bearing heading in degrees between line end points in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isNorthBearing:":{"name":"+isNorthBearing:","abstract":"\u003cp\u003eDetermine if the bearing is in any north direction\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEastBearing:":{"name":"+isEastBearing:","abstract":"\u003cp\u003eDetermine if the bearing is in any east direction\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isSouthBearing:":{"name":"+isSouthBearing:","abstract":"\u003cp\u003eDetermine if the bearing is in any south direction\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isWestBearing:":{"name":"+isWestBearing:","abstract":"\u003cp\u003eDetermine if the bearing is in any west direction\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToRadians:":{"name":"+degreesToRadians:","abstract":"\u003cp\u003eConvert degrees to radians\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)radiansToDegrees:":{"name":"+radiansToDegrees:","abstract":"\u003cp\u003eConvert radians to degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)centroidOfGeometry:":{"name":"+centroidOfGeometry:","abstract":"\u003cp\u003eGet the centroid point of a 2 dimensional representation of the Geometry","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesCentroidOfGeometry:":{"name":"+degreesCentroidOfGeometry:","abstract":"\u003cp\u003eGet the geographic centroid point of a 2 dimensional representation of","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeWGS84Geometry:":{"name":"+minimizeWGS84Geometry:","abstract":"\u003cp\u003eMinimize the WGS84 geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeWebMercatorGeometry:":{"name":"+minimizeWebMercatorGeometry:","abstract":"\u003cp\u003eMinimize the Web Mercator geometry using the shortest x distance between","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeGeometry:withMaxX:":{"name":"+minimizeGeometry:withMaxX:","abstract":"\u003cp\u003eMinimize the geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeWGS84Geometry:":{"name":"+normalizeWGS84Geometry:","abstract":"\u003cp\u003eNormalize the WGS84 geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeWebMercatorGeometry:":{"name":"+normalizeWebMercatorGeometry:","abstract":"\u003cp\u003eNormalize the Web Mercator geometry using the shortest x distance between","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeGeometry:withMaxX:":{"name":"+normalizeGeometry:withMaxX:","abstract":"\u003cp\u003eNormalize the geometry so all points outside of the min and max value","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)simplifyPoints:withTolerance:":{"name":"+simplifyPoints:withTolerance:","abstract":"\u003cp\u003eSimplify the ordered points (representing a line, polygon, etc) using the Douglas Peucker algorithm","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)perpendicularDistanceBetweenPoint:lineStart:lineEnd:":{"name":"+perpendicularDistanceBetweenPoint:lineStart:lineEnd:","abstract":"\u003cp\u003eCalculate the perpendicular distance between the point and the line represented by the start and end points.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygon:":{"name":"+point:inPolygon:","abstract":"\u003cp\u003eCheck if the point is in the polygon\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygon:withEpsilon:":{"name":"+point:inPolygon:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is in the polygon\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonRing:":{"name":"+point:inPolygonRing:","abstract":"\u003cp\u003eCheck if the point is in the polygon ring\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonRing:withEpsilon:":{"name":"+point:inPolygonRing:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is in the polygon ring\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonPoints:":{"name":"+point:inPolygonPoints:","abstract":"\u003cp\u003eCheck if the point is in the polygon points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonPoints:withEpsilon:":{"name":"+point:inPolygonPoints:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is in the polygon points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonEdge:":{"name":"+point:onPolygonEdge:","abstract":"\u003cp\u003eCheck if the point is on the polygon edge\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonEdge:withEpsilon:":{"name":"+point:onPolygonEdge:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the polygon edge\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonRingEdge:":{"name":"+point:onPolygonRingEdge:","abstract":"\u003cp\u003eCheck if the point is on the polygon ring edge\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonRingEdge:withEpsilon:":{"name":"+point:onPolygonRingEdge:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the polygon ring edge\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonPointsEdge:":{"name":"+point:onPolygonPointsEdge:","abstract":"\u003cp\u003eCheck if the point is on the polygon ring edge points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonPointsEdge:withEpsilon:":{"name":"+point:onPolygonPointsEdge:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the polygon ring edge points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygon:":{"name":"+closedPolygon:","abstract":"\u003cp\u003eCheck if the polygon outer ring is explicitly closed, where the first and","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygonRing:":{"name":"+closedPolygonRing:","abstract":"\u003cp\u003eCheck if the polygon ring is explicitly closed, where the first and last","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygonPoints:":{"name":"+closedPolygonPoints:","abstract":"\u003cp\u003eCheck if the polygon ring points are explicitly closed, where the first","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLine:":{"name":"+point:onLine:","abstract":"\u003cp\u003eCheck if the point is on the line\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLine:withEpsilon:":{"name":"+point:onLine:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the line\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLinePoints:":{"name":"+point:onLinePoints:","abstract":"\u003cp\u003eCheck if the point is on the line represented by the points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLinePoints:withEpsilon:":{"name":"+point:onLinePoints:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the line represented by the points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPathPoint1:andPoint2:":{"name":"+point:onPathPoint1:andPoint2:","abstract":"\u003cp\u003eCheck if the point is on the path between point 1 and point 2\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPathPoint1:andPoint2:withEpsilon:":{"name":"+point:onPathPoint1:andPoint2:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the path between point 1 and point 2\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)intersectionBetweenLine1:andLine2:":{"name":"+intersectionBetweenLine1:andLine2:","abstract":"\u003cp\u003eGet the point intersection between two lines\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)intersectionBetweenLine1Point1:andLine1Point2:andLine2Point1:andLine2Point2:":{"name":"+intersectionBetweenLine1Point1:andLine1Point2:andLine2Point1:andLine2Point2:","abstract":"\u003cp\u003eGet the point intersection between end points of two lines\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithGeometry:":{"name":"+degreesToMetersWithGeometry:","abstract":"\u003cp\u003eConvert a geometry in degrees to a geometry in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPoint:":{"name":"+degreesToMetersWithPoint:","abstract":"\u003cp\u003eConvert a point in degrees to a point in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithX:andY:":{"name":"+degreesToMetersWithX:andY:","abstract":"\u003cp\u003eConvert a coordinate in degrees to a point in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiPoint:":{"name":"+degreesToMetersWithMultiPoint:","abstract":"\u003cp\u003eConvert a multi point in degrees to a multi point in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithLineString:":{"name":"+degreesToMetersWithLineString:","abstract":"\u003cp\u003eConvert a line string in degrees to a line string in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithLine:":{"name":"+degreesToMetersWithLine:","abstract":"\u003cp\u003eConvert a line in degrees to a line in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiLineString:":{"name":"+degreesToMetersWithMultiLineString:","abstract":"\u003cp\u003eConvert a multi line string in degrees to a multi line string in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPolygon:":{"name":"+degreesToMetersWithPolygon:","abstract":"\u003cp\u003eConvert a polygon in degrees to a polygon in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiPolygon:":{"name":"+degreesToMetersWithMultiPolygon:","abstract":"\u003cp\u003eConvert a multi polygon in degrees to a multi polygon in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCircularString:":{"name":"+degreesToMetersWithCircularString:","abstract":"\u003cp\u003eConvert a circular string in degrees to a circular string in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCompoundCurve:":{"name":"+degreesToMetersWithCompoundCurve:","abstract":"\u003cp\u003eConvert a compound curve in degrees to a compound curve in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCurvePolygon:":{"name":"+degreesToMetersWithCurvePolygon:","abstract":"\u003cp\u003eConvert a curve polygon in degrees to a curve polygon in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPolyhedralSurface:":{"name":"+degreesToMetersWithPolyhedralSurface:","abstract":"\u003cp\u003eConvert a polyhedral surface in degrees to a polyhedral surface in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithTIN:":{"name":"+degreesToMetersWithTIN:","abstract":"\u003cp\u003eConvert a TIN in degrees to a TIN in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithTriangle:":{"name":"+degreesToMetersWithTriangle:","abstract":"\u003cp\u003eConvert a triangle in degrees to a triangle in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithGeometry:":{"name":"+metersToDegreesWithGeometry:","abstract":"\u003cp\u003eConvert a geometry in meters to a geometry in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPoint:":{"name":"+metersToDegreesWithPoint:","abstract":"\u003cp\u003eConvert a point in meters to a point in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithX:andY:":{"name":"+metersToDegreesWithX:andY:","abstract":"\u003cp\u003eConvert a coordinate in meters to a point in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiPoint:":{"name":"+metersToDegreesWithMultiPoint:","abstract":"\u003cp\u003eConvert a multi point in meters to a multi point in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithLineString:":{"name":"+metersToDegreesWithLineString:","abstract":"\u003cp\u003eConvert a line string in meters to a line string in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithLine:":{"name":"+metersToDegreesWithLine:","abstract":"\u003cp\u003eConvert a line in meters to a line in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiLineString:":{"name":"+metersToDegreesWithMultiLineString:","abstract":"\u003cp\u003eConvert a multi line string in meters to a multi line string in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPolygon:":{"name":"+metersToDegreesWithPolygon:","abstract":"\u003cp\u003eConvert a polygon in meters to a polygon in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiPolygon:":{"name":"+metersToDegreesWithMultiPolygon:","abstract":"\u003cp\u003eConvert a multi polygon in meters to a multi polygon in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCircularString:":{"name":"+metersToDegreesWithCircularString:","abstract":"\u003cp\u003eConvert a circular string in meters to a circular string in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCompoundCurve:":{"name":"+metersToDegreesWithCompoundCurve:","abstract":"\u003cp\u003eConvert a compound curve in meters to a compound curve in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCurvePolygon:":{"name":"+metersToDegreesWithCurvePolygon:","abstract":"\u003cp\u003eConvert a curve polygon in meters to a curve polygon in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPolyhedralSurface:":{"name":"+metersToDegreesWithPolyhedralSurface:","abstract":"\u003cp\u003eConvert a polyhedral surface in meters to a polyhedral surface in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithTIN:":{"name":"+metersToDegreesWithTIN:","abstract":"\u003cp\u003eConvert a TIN in meters to a TIN in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithTriangle:":{"name":"+metersToDegreesWithTriangle:","abstract":"\u003cp\u003eConvert a triangle in meters to a triangle in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84Envelope":{"name":"+wgs84Envelope","abstract":"\u003cp\u003eGet a WGS84 bounded geometry envelope\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84TransformableEnvelope":{"name":"+wgs84TransformableEnvelope","abstract":"\u003cp\u003eGet a WGS84 bounded geometry envelope used for projection transformations","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)webMercatorEnvelope":{"name":"+webMercatorEnvelope","abstract":"\u003cp\u003eGet a Web Mercator bounded geometry envelope\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84EnvelopeWithWebMercator":{"name":"+wgs84EnvelopeWithWebMercator","abstract":"\u003cp\u003eGet a WGS84 geometry envelope with Web Mercator bounds\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropWebMercatorGeometry:":{"name":"+cropWebMercatorGeometry:","abstract":"\u003cp\u003eCrop the geometry in meters by web mercator world bounds. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropGeometry:withEnvelope:":{"name":"+cropGeometry:withEnvelope:","abstract":"\u003cp\u003eCrop the geometry in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPoint:withEnvelope:":{"name":"+cropPoint:withEnvelope:","abstract":"\u003cp\u003eCrop the point by the envelope bounds.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPoints:withEnvelope:":{"name":"+cropPoints:withEnvelope:","abstract":"\u003cp\u003eCrop the list of consecutive points in meters by the envelope bounds in","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiPoint:withEnvelope:":{"name":"+cropMultiPoint:withEnvelope:","abstract":"\u003cp\u003eCrop the multi point by the envelope bounds.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropLineString:withEnvelope:":{"name":"+cropLineString:withEnvelope:","abstract":"\u003cp\u003eCrop the line string in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropLine:withEnvelope:":{"name":"+cropLine:withEnvelope:","abstract":"\u003cp\u003eCrop the line in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiLineString:withEnvelope:":{"name":"+cropMultiLineString:withEnvelope:","abstract":"\u003cp\u003eCrop the multi line string in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPolygon:withEnvelope:":{"name":"+cropPolygon:withEnvelope:","abstract":"\u003cp\u003eCrop the polygon in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiPolygon:withEnvelope:":{"name":"+cropMultiPolygon:withEnvelope:","abstract":"\u003cp\u003eCrop the multi polygon in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCircularString:withEnvelope:":{"name":"+cropCircularString:withEnvelope:","abstract":"\u003cp\u003eCrop the circular string in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCompoundCurve:withEnvelope:":{"name":"+cropCompoundCurve:withEnvelope:","abstract":"\u003cp\u003eCrop the compound curve in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCurvePolygon:withEnvelope:":{"name":"+cropCurvePolygon:withEnvelope:","abstract":"\u003cp\u003eCrop the curve polygon in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPolyhedralSurface:withEnvelope:":{"name":"+cropPolyhedralSurface:withEnvelope:","abstract":"\u003cp\u003eCrop the polyhedral surface in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropTIN:withEnvelope:":{"name":"+cropTIN:withEnvelope:","abstract":"\u003cp\u003eCrop the TIN in meters by the envelope bounds in meters. Cropping removes","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropTriangle:withEnvelope:":{"name":"+cropTriangle:withEnvelope:","abstract":"\u003cp\u003eCrop the triangle in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEqualWithPoint1:andPoint2:":{"name":"+isEqualWithPoint1:andPoint2:","abstract":"\u003cp\u003eDetermine if the points are equal within the default tolerance of","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEqualWithPoint1:andPoint2:andEpsilon:":{"name":"+isEqualWithPoint1:andPoint2:andEpsilon:","abstract":"\u003cp\u003eDetermine if the points are equal within the tolerance. For exact","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)containsPoint:withinEnvelope:":{"name":"+containsPoint:withinEnvelope:","abstract":"\u003cp\u003eDetermine if the envelope contains the point within the default tolerance","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)containsEnvelope:withinEnvelope:":{"name":"+containsEnvelope:withinEnvelope:","abstract":"\u003cp\u003eDetermine if envelope 1 contains the envelope 2 within the default","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84Geometry:":{"name":"+boundWGS84Geometry:","abstract":"\u003cp\u003eBound all points in the geometry to be within WGS84 limits.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84TransformableGeometry:":{"name":"+boundWGS84TransformableGeometry:","abstract":"\u003cp\u003eBound all points in the geometry to be within WGS84 projection","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWebMercatorGeometry:":{"name":"+boundWebMercatorGeometry:","abstract":"\u003cp\u003eBound all points in the geometry to be within Web Mercator limits.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84WithWebMercatorGeometry:":{"name":"+boundWGS84WithWebMercatorGeometry:","abstract":"\u003cp\u003eBound all points in the WGS84 geometry to be within degree Web Mercator","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundGeometry:withEnvelope:":{"name":"+boundGeometry:withEnvelope:","abstract":"\u003cp\u003eBound all points in the geometry to be within the geometry envelope.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)hasZ:":{"name":"+hasZ:","abstract":"\u003cp\u003eDetermine if the geometries contain a Z value\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)hasM:":{"name":"+hasM:","abstract":"\u003cp\u003eDetermine if the geometries contain a M value\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)parentHierarchyOfType:":{"name":"+parentHierarchyOfType:","abstract":"\u003cp\u003eGet the parent type hierarchy of the provided geometry type starting with","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)parentTypeOfType:":{"name":"+parentTypeOfType:","abstract":"\u003cp\u003eGet the parent Geometry Type of the provided geometry type\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)childHierarchyOfType:":{"name":"+childHierarchyOfType:","abstract":"\u003cp\u003eGet the child type hierarchy of the provided geometry type.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)childTypesOfType:":{"name":"+childTypesOfType:","abstract":"\u003cp\u003eGet the immediate child Geometry Types of the provided geometry type\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)encodeGeometry:":{"name":"+encodeGeometry:","abstract":"\u003cp\u003eEncode the geometry to data\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)decodeGeometry:":{"name":"+decodeGeometry:","abstract":"\u003cp\u003eDecode the data into a geometry\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryPrinter.html#/c:objc(cs)SFGeometryPrinter(cm)geometryString:":{"name":"+geometryString:","abstract":"\u003cp\u003eGet Geometry information as a String\u003c/p\u003e","parent_name":"SFGeometryPrinter"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildEnvelopeWithGeometry:":{"name":"+buildEnvelopeWithGeometry:","abstract":"\u003cp\u003eBuild geometry envelope with geometry\u003c/p\u003e","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildEnvelope:andGeometry:":{"name":"+buildEnvelope:andGeometry:","abstract":"\u003cp\u003eExpand existing geometry envelope with a geometry\u003c/p\u003e","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildGeometryWithEnvelope:":{"name":"+buildGeometryWithEnvelope:","abstract":"\u003cp\u003eBuild a geometry representation of the geometry envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)nextByte":{"name":"nextByte","abstract":"\u003cp\u003eNext byte index to write\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)os":{"name":"os","abstract":"\u003cp\u003eOutput stream to write bytes to\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)byteOrder":{"name":"byteOrder","abstract":"\u003cp\u003eByte order used to write, little or big endian\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)initWithByteOrder:":{"name":"-initWithByteOrder:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)close":{"name":"-close","abstract":"\u003cp\u003eClose the byte writer\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)data":{"name":"-data","abstract":"\u003cp\u003eGet the written byte data\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)size":{"name":"-size","abstract":"\u003cp\u003eGet the current size in bytes written\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeString:":{"name":"-writeString:","abstract":"\u003cp\u003eWrite a string\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeByte:":{"name":"-writeByte:","abstract":"\u003cp\u003eWrite a byte\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeData:":{"name":"-writeData:","abstract":"\u003cp\u003eWrite data\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeInt:":{"name":"-writeInt:","abstract":"\u003cp\u003eWrite an integer\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeDouble:":{"name":"-writeDouble:","abstract":"\u003cp\u003eWrite a double\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)nextByte":{"name":"nextByte","abstract":"\u003cp\u003eNext byte index to read\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)bytes":{"name":"bytes","abstract":"\u003cp\u003eBytes to read\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)byteOrder":{"name":"byteOrder","abstract":"\u003cp\u003eByte order used to read, little or big endian\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)initWithData:":{"name":"-initWithData:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)initWithData:andByteOrder:":{"name":"-initWithData:andByteOrder:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readString:":{"name":"-readString:","abstract":"\u003cp\u003eRead a String from the provided number of bytes\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readByte":{"name":"-readByte","abstract":"\u003cp\u003eRead a single byte\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readData:":{"name":"-readData:","abstract":"\u003cp\u003eRead Data with the provided number of bytes\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readInt":{"name":"-readInt","abstract":"\u003cp\u003eRead an integer (4 bytes)\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readDouble":{"name":"-readDouble","abstract":"\u003cp\u003eRead a double (8 bytes)\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(cm)extendedGeometryCollectionWithGeometryCollection:":{"name":"+extendedGeometryCollectionWithGeometryCollection:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(cm)extendedGeometryCollectionWithExtendedGeometryCollection:":{"name":"+extendedGeometryCollectionWithExtendedGeometryCollection:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)initWithGeometryCollection:":{"name":"-initWithGeometryCollection:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)initWithExtendedGeometryCollection:":{"name":"-initWithExtendedGeometryCollection:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)updateGeometryType":{"name":"-updateGeometryType","abstract":"\u003cp\u003eUpdate the extended geometry type based upon the contained geometries\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangle":{"name":"+triangle","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithHasZ:andHasM:":{"name":"+triangleWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithRings:":{"name":"+triangleWithRings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithRing:":{"name":"+triangleWithRing:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithTriangle:":{"name":"+triangleWithTriangle:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithRing:":{"name":"-initWithRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithTriangle:":{"name":"-initWithTriangle:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tin":{"name":"+tin","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithHasZ:andHasM:":{"name":"+tinWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithPolygons:":{"name":"+tinWithPolygons:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithPolygon:":{"name":"+tinWithPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithTIN:":{"name":"+tinWithTIN:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithTIN:":{"name":"-initWithTIN:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFSurface.html#/c:objc(cs)SFSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(py)polygons":{"name":"polygons","abstract":"\u003cp\u003eArray of polygons\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurface":{"name":"+polyhedralSurface","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithHasZ:andHasM:":{"name":"+polyhedralSurfaceWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolygons:":{"name":"+polyhedralSurfaceWithPolygons:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolygon:":{"name":"+polyhedralSurfaceWithPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolyhedralSurface:":{"name":"+polyhedralSurfaceWithPolyhedralSurface:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolyhedralSurface:":{"name":"-initWithPolyhedralSurface:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)patches":{"name":"-patches","abstract":"\u003cp\u003eGet patches\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)setPatches:":{"name":"-setPatches:","abstract":"\u003cp\u003eSet patches\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPolygon:":{"name":"-addPolygon:","abstract":"\u003cp\u003eAdd a polygon\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPatch:":{"name":"-addPatch:","abstract":"\u003cp\u003eAdd patch\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPolygons:":{"name":"-addPolygons:","abstract":"\u003cp\u003eAdd polygons\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPatches:":{"name":"-addPatches:","abstract":"\u003cp\u003eAdd patches\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)numPolygons":{"name":"-numPolygons","abstract":"\u003cp\u003eGet the number of polygons\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)numPatches":{"name":"-numPatches","abstract":"\u003cp\u003eGet the number of patches\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)polygonAtIndex:":{"name":"-polygonAtIndex:","abstract":"\u003cp\u003eGet the Nth polygon\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)patchAtIndex:":{"name":"-patchAtIndex:","abstract":"\u003cp\u003eGet the Nth polygon patch\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygon":{"name":"+polygon","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithHasZ:andHasM:":{"name":"+polygonWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithRings:":{"name":"+polygonWithRings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithRing:":{"name":"+polygonWithRing:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithPolygon:":{"name":"+polygonWithPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithRing:":{"name":"-initWithRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)lineStrings":{"name":"-lineStrings","abstract":"\u003cp\u003eGet the line string rings\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)setRings:":{"name":"-setRings:","abstract":"\u003cp\u003eSet the line string rings\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)ringAtIndex:":{"name":"-ringAtIndex:","abstract":"\u003cp\u003eReturns the Nth ring where the exterior ring is at 0, interior rings","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)exteriorRing":{"name":"-exteriorRing","abstract":"\u003cp\u003eGet the exterior ring\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)interiorRingAtIndex:":{"name":"-interiorRingAtIndex:","abstract":"\u003cp\u003eReturns the Nth interior ring for this Polygon\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)x":{"name":"x","abstract":"\u003cp\u003eX coordinate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)y":{"name":"y","abstract":"\u003cp\u003eY coordinate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)z":{"name":"z","abstract":"\u003cp\u003eZ coordinate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)m":{"name":"m","abstract":"\u003cp\u003eM coordinate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)point":{"name":"+point","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:":{"name":"+pointWithXValue:andYValue:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:":{"name":"+pointWithX:andY:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:andZ:":{"name":"+pointWithX:andY:andZ:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZ:":{"name":"+pointWithXValue:andYValue:andZ:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZValue:":{"name":"+pointWithXValue:andYValue:andZValue:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:andZ:andM:":{"name":"+pointWithX:andY:andZ:andM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZ:andM:":{"name":"+pointWithXValue:andYValue:andZ:andM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZValue:andMValue:":{"name":"+pointWithXValue:andYValue:andZValue:andMValue:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithHasZ:andHasM:andX:andY:":{"name":"+pointWithHasZ:andHasM:andX:andY:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithHasZ:andHasM:andXValue:andYValue:":{"name":"+pointWithHasZ:andHasM:andXValue:andYValue:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithPoint:":{"name":"+pointWithPoint:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:":{"name":"-initWithXValue:andYValue:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:":{"name":"-initWithX:andY:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:andZ:":{"name":"-initWithX:andY:andZ:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZ:":{"name":"-initWithXValue:andYValue:andZ:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZValue:":{"name":"-initWithXValue:andYValue:andZValue:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:andZ:andM:":{"name":"-initWithX:andY:andZ:andM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZ:andM:":{"name":"-initWithXValue:andYValue:andZ:andM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZValue:andMValue:":{"name":"-initWithXValue:andYValue:andZValue:andMValue:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithHasZ:andHasM:andX:andY:":{"name":"-initWithHasZ:andHasM:andX:andY:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithHasZ:andHasM:andXValue:andYValue:":{"name":"-initWithHasZ:andHasM:andXValue:andYValue:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithPoint:":{"name":"-initWithPoint:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setXValue:":{"name":"-setXValue:","abstract":"\u003cp\u003eSet the x value\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setYValue:":{"name":"-setYValue:","abstract":"\u003cp\u003eSet the y value\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setZValue:":{"name":"-setZValue:","abstract":"\u003cp\u003eSet the z value\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setMValue:":{"name":"-setMValue:","abstract":"\u003cp\u003eSet the m value\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualXToPoint:":{"name":"-isEqualXToPoint:","abstract":"\u003cp\u003eIndicates if x values are equal\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualYToPoint:":{"name":"-isEqualYToPoint:","abstract":"\u003cp\u003eIndicates if y values are equal\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualXYToPoint:":{"name":"-isEqualXYToPoint:","abstract":"\u003cp\u003eIndicates if x and y values are equal\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)surfaces":{"name":"-surfaces","abstract":"\u003cp\u003eGet the surfaces\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)setSurfaces:":{"name":"-setSurfaces:","abstract":"\u003cp\u003eSet the surfaces\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)addSurface:":{"name":"-addSurface:","abstract":"\u003cp\u003eAdd a surface\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)addSurfaces:":{"name":"-addSurfaces:","abstract":"\u003cp\u003eAdd surfaces\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)numSurfaces":{"name":"-numSurfaces","abstract":"\u003cp\u003eGet the number of surfaces\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)surfaceAtIndex:":{"name":"-surfaceAtIndex:","abstract":"\u003cp\u003eReturns the Nth surface\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygon":{"name":"+multiPolygon","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithHasZ:andHasM:":{"name":"+multiPolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithPolygons:":{"name":"+multiPolygonWithPolygons:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithPolygon:":{"name":"+multiPolygonWithPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithMultiPolygon:":{"name":"+multiPolygonWithMultiPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithMultiPolygon:":{"name":"-initWithMultiPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)polygons":{"name":"-polygons","abstract":"\u003cp\u003eGet the polygons\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)setPolygons:":{"name":"-setPolygons:","abstract":"\u003cp\u003eSet the polygons\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)addPolygon:":{"name":"-addPolygon:","abstract":"\u003cp\u003eAdd a polygon\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)addPolygons:":{"name":"-addPolygons:","abstract":"\u003cp\u003eAdd polygons\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)numPolygons":{"name":"-numPolygons","abstract":"\u003cp\u003eGet the number of polygons\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)polygonAtIndex:":{"name":"-polygonAtIndex:","abstract":"\u003cp\u003eReturns the Nth polygon\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPoint":{"name":"+multiPoint","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithHasZ:andHasM:":{"name":"+multiPointWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithPoints:":{"name":"+multiPointWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithPoint:":{"name":"+multiPointWithPoint:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithMultiPoint:":{"name":"+multiPointWithMultiPoint:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithPoint:":{"name":"-initWithPoint:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithMultiPoint:":{"name":"-initWithMultiPoint:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)points":{"name":"-points","abstract":"\u003cp\u003eGet the points\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)setPoints:":{"name":"-setPoints:","abstract":"\u003cp\u003eSet the points\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)addPoint:":{"name":"-addPoint:","abstract":"\u003cp\u003eAdd a point\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)addPoints:":{"name":"-addPoints:","abstract":"\u003cp\u003eAdd points\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)numPoints":{"name":"-numPoints","abstract":"\u003cp\u003eGet the number of points\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)pointAtIndex:":{"name":"-pointAtIndex:","abstract":"\u003cp\u003eReturns the Nth point\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineString":{"name":"+multiLineString","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithHasZ:andHasM:":{"name":"+multiLineStringWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithLineStrings:":{"name":"+multiLineStringWithLineStrings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithLineString:":{"name":"+multiLineStringWithLineString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithMultiLineString:":{"name":"+multiLineStringWithMultiLineString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithLineStrings:":{"name":"-initWithLineStrings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithMultiLineString:":{"name":"-initWithMultiLineString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)lineStrings":{"name":"-lineStrings","abstract":"\u003cp\u003eGet the line strings\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)setLineStrings:":{"name":"-setLineStrings:","abstract":"\u003cp\u003eSet the line strings\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)addLineString:":{"name":"-addLineString:","abstract":"\u003cp\u003eAdd a line string\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)addLineStrings:":{"name":"-addLineStrings:","abstract":"\u003cp\u003eAdd line strings\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)numLineStrings":{"name":"-numLineStrings","abstract":"\u003cp\u003eGet the number of line strings\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)lineStringAtIndex:":{"name":"-lineStringAtIndex:","abstract":"\u003cp\u003eReturns the Nth line string\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)curves":{"name":"-curves","abstract":"\u003cp\u003eGet the curves\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)setCurves:":{"name":"-setCurves:","abstract":"\u003cp\u003eSet the curves\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)addCurve:":{"name":"-addCurve:","abstract":"\u003cp\u003eAdd a curve\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)addCurves:":{"name":"-addCurves:","abstract":"\u003cp\u003eAdd curves\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)numCurves":{"name":"-numCurves","abstract":"\u003cp\u003eGet the number of curves\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)curveAtIndex:":{"name":"-curveAtIndex:","abstract":"\u003cp\u003eReturns the Nth curve\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)isClosed":{"name":"-isClosed","abstract":"\u003cp\u003eDetermine if this Multi Curve is closed for each Curve (start point = end","parent_name":"SFMultiCurve"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRing":{"name":"+linearRing","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithHasZ:andHasM:":{"name":"+linearRingWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithPoints:":{"name":"+linearRingWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithLinearRing:":{"name":"+linearRingWithLinearRing:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithLinearRing:":{"name":"-initWithLinearRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(py)points":{"name":"points","abstract":"\u003cp\u003eArray of points\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineString":{"name":"+lineString","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithHasZ:andHasM:":{"name":"+lineStringWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithPoints:":{"name":"+lineStringWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithLineString:":{"name":"+lineStringWithLineString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)addPoint:":{"name":"-addPoint:","abstract":"\u003cp\u003eAdd a point\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)addPoints:":{"name":"-addPoints:","abstract":"\u003cp\u003eAdd points\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)numPoints":{"name":"-numPoints","abstract":"\u003cp\u003eGet the number of points\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)pointAtIndex:":{"name":"-pointAtIndex:","abstract":"\u003cp\u003eReturns the Nth point\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)line":{"name":"+line","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithHasZ:andHasM:":{"name":"+lineWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithPoints:":{"name":"+lineWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithPoint1:andPoint2:":{"name":"+lineWithPoint1:andPoint2:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithLine:":{"name":"+lineWithLine:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithPoint1:andPoint2:":{"name":"-initWithPoint1:andPoint2:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithLine:":{"name":"-initWithLine:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFGeometryTypes.html#/c:objc(cs)SFGeometryTypes(cm)name:":{"name":"+name:","abstract":"\u003cp\u003eGet the name of the geometry type\u003c/p\u003e","parent_name":"SFGeometryTypes"},"Classes/SFGeometryTypes.html#/c:objc(cs)SFGeometryTypes(cm)fromName:":{"name":"+fromName:","abstract":"\u003cp\u003eGet the geometry type of the name\u003c/p\u003e","parent_name":"SFGeometryTypes"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minX":{"name":"minX","abstract":"\u003cp\u003eX coordinate range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxX":{"name":"maxX","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minY":{"name":"minY","abstract":"\u003cp\u003eY coordinate range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxY":{"name":"maxY","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)hasZ":{"name":"hasZ","abstract":"\u003cp\u003eHas Z value and Z coordinate range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minZ":{"name":"minZ","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxZ":{"name":"maxZ","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)hasM":{"name":"hasM","abstract":"\u003cp\u003eHas M value and M coordinate range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minM":{"name":"minM","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxM":{"name":"maxM","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelope":{"name":"+envelope","abstract":"\u003cp\u003eCreate with no z or m\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithHasZ:andHasM:":{"name":"+envelopeWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate with the has z and m values\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMaxX:andMaxY:":{"name":"+envelopeWithMinX:andMinY:andMaxX:andMaxY:","abstract":"\u003cp\u003eCreate with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:","abstract":"\u003cp\u003eCreate with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:":{"name":"+envelopeWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:","abstract":"\u003cp\u003eCreate with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:","abstract":"\u003cp\u003eCreate with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:":{"name":"+envelopeWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:","abstract":"\u003cp\u003eCreate with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:","abstract":"\u003cp\u003eCreate with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)geometryEnvelopeWithGeometryEnvelope:":{"name":"+geometryEnvelopeWithGeometryEnvelope:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize with no z or m\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize with the has z and m values\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMaxX:andMaxY:":{"name":"-initWithMinX:andMinY:andMaxX:andMaxY:","abstract":"\u003cp\u003eInitialize with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:":{"name":"-initWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:","abstract":"\u003cp\u003eInitialize with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:":{"name":"-initWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:","abstract":"\u003cp\u003eInitialize with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:":{"name":"-initWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:","abstract":"\u003cp\u003eInitialize with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:":{"name":"-initWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:","abstract":"\u003cp\u003eInitialize with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:":{"name":"-initWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:","abstract":"\u003cp\u003eInitialize with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithGeometryEnvelope:":{"name":"-initWithGeometryEnvelope:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinXValue:":{"name":"-setMinXValue:","abstract":"\u003cp\u003eSet the min x value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxXValue:":{"name":"-setMaxXValue:","abstract":"\u003cp\u003eSet the max x value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinYValue:":{"name":"-setMinYValue:","abstract":"\u003cp\u003eSet the min y value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxYValue:":{"name":"-setMaxYValue:","abstract":"\u003cp\u003eSet the max y value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinZValue:":{"name":"-setMinZValue:","abstract":"\u003cp\u003eSet the min z value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxZValue:":{"name":"-setMaxZValue:","abstract":"\u003cp\u003eSet the max z value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinMValue:":{"name":"-setMinMValue:","abstract":"\u003cp\u003eSet the min m value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxMValue:":{"name":"-setMaxMValue:","abstract":"\u003cp\u003eSet the max m value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)is3D":{"name":"-is3D","abstract":"\u003cp\u003eTrue if has Z coordinates\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isMeasured":{"name":"-isMeasured","abstract":"\u003cp\u003eTrue if has M measurements\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)xRange":{"name":"-xRange","abstract":"\u003cp\u003eGet the x range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)yRange":{"name":"-yRange","abstract":"\u003cp\u003eGet the y range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)zRange":{"name":"-zRange","abstract":"\u003cp\u003eGet the z range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)mRange":{"name":"-mRange","abstract":"\u003cp\u003eGet the m range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isPoint":{"name":"-isPoint","abstract":"\u003cp\u003eDetermine if the envelope is of a single point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)topLeft":{"name":"-topLeft","abstract":"\u003cp\u003eGet the top left point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottomLeft":{"name":"-bottomLeft","abstract":"\u003cp\u003eGet the bottom left point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottomRight":{"name":"-bottomRight","abstract":"\u003cp\u003eGet the bottom right point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)topRight":{"name":"-topRight","abstract":"\u003cp\u003eGet the top right point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)left":{"name":"-left","abstract":"\u003cp\u003eGet the left line\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottom":{"name":"-bottom","abstract":"\u003cp\u003eGet the bottom line\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)right":{"name":"-right","abstract":"\u003cp\u003eGet the right line\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)top":{"name":"-top","abstract":"\u003cp\u003eGet the top line\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)midX":{"name":"-midX","abstract":"\u003cp\u003eGet the envelope mid x\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)midY":{"name":"-midY","abstract":"\u003cp\u003eGet the envelope mid y\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the envelope centroid point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isEmpty":{"name":"-isEmpty","abstract":"\u003cp\u003eDetermine if the envelope is empty\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)intersectsWithEnvelope:":{"name":"-intersectsWithEnvelope:","abstract":"\u003cp\u003eDetermine if intersects with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)intersectsWithEnvelope:withAllowEmpty:":{"name":"-intersectsWithEnvelope:withAllowEmpty:","abstract":"\u003cp\u003eDetermine if intersects with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)overlapWithEnvelope:":{"name":"-overlapWithEnvelope:","abstract":"\u003cp\u003eGet the overlapping geometry envelope with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)overlapWithEnvelope:withAllowEmpty:":{"name":"-overlapWithEnvelope:withAllowEmpty:","abstract":"\u003cp\u003eGet the overlapping geometry envelope with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)unionWithEnvelope:":{"name":"-unionWithEnvelope:","abstract":"\u003cp\u003eGet the union geometry envelope combined with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsPoint:":{"name":"-containsPoint:","abstract":"\u003cp\u003eDetermine if contains the point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsPoint:withEpsilon:":{"name":"-containsPoint:withEpsilon:","abstract":"\u003cp\u003eDetermine if contains the point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsX:andY:":{"name":"-containsX:andY:","abstract":"\u003cp\u003eDetermine if contains the coordinate\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsX:andY:withEpsilon:":{"name":"-containsX:andY:withEpsilon:","abstract":"\u003cp\u003eDetermine if contains the coordinate\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsEnvelope:":{"name":"-containsEnvelope:","abstract":"\u003cp\u003eDetermine if inclusively contains the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsEnvelope:withEpsilon:":{"name":"-containsEnvelope:withEpsilon:","abstract":"\u003cp\u003eDetermine if inclusively contains the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)buildGeometry":{"name":"-buildGeometry","abstract":"\u003cp\u003eBuild a geometry representation of the geometry envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(py)geometries":{"name":"geometries","abstract":"\u003cp\u003eArray of geometries\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollection":{"name":"+geometryCollection","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithHasZ:andHasM:":{"name":"+geometryCollectionWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometries:":{"name":"+geometryCollectionWithGeometries:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometry:":{"name":"+geometryCollectionWithGeometry:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometryCollection:":{"name":"+geometryCollectionWithGeometryCollection:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometries:":{"name":"-initWithGeometries:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometryCollection:":{"name":"-initWithGeometryCollection:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)addGeometry:":{"name":"-addGeometry:","abstract":"\u003cp\u003eAdd geometry\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)addGeometries:":{"name":"-addGeometries:","abstract":"\u003cp\u003eAdd geometries\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)numGeometries":{"name":"-numGeometries","abstract":"\u003cp\u003eGet the number of geometries\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)geometryAtIndex:":{"name":"-geometryAtIndex:","abstract":"\u003cp\u003eReturns the Nth geometry\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)collectionType":{"name":"-collectionType","abstract":"\u003cp\u003eGet the collection type by evaluating the geometries\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiPoint":{"name":"-isMultiPoint","abstract":"\u003cp\u003eDetermine if this geometry collection is a MultiPoint instance or","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiPoint":{"name":"-asMultiPoint","abstract":"\u003cp\u003eGet as a MultiPoint, either the current instance or newly created","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiLineString":{"name":"-isMultiLineString","abstract":"\u003cp\u003eDetermine if this geometry collection is a MultiLineString","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiLineString":{"name":"-asMultiLineString","abstract":"\u003cp\u003eGet as a MultiLineString, either the current instance or newly","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiPolygon":{"name":"-isMultiPolygon","abstract":"\u003cp\u003eDetermine if this geometry collection is a MultiPolygon instance","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiPolygon":{"name":"-asMultiPolygon","abstract":"\u003cp\u003eGet as a MultiPolygon, either the current instance or newly","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiCurve":{"name":"-isMultiCurve","abstract":"\u003cp\u003eDetermine if this geometry collection contains only Curve","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiCurve":{"name":"-asMultiCurve","abstract":"\u003cp\u003eGet as a Multi Curve, a Curve typed Geometry Collection\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiSurface":{"name":"-isMultiSurface","abstract":"\u003cp\u003eDetermine if this geometry collection contains only Surface","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiSurface":{"name":"-asMultiSurface","abstract":"\u003cp\u003eGet as a Multi Surface, a Surface typed Geometry Collection\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asGeometryCollection":{"name":"-asGeometryCollection","abstract":"\u003cp\u003eGet as a top level Geometry Collection\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)geometryType":{"name":"geometryType","abstract":"\u003cp\u003eGeometry type\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)hasZ":{"name":"hasZ","abstract":"\u003cp\u003eHas Z values\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)hasM":{"name":"hasM","abstract":"\u003cp\u003eHas M values\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)is3D":{"name":"-is3D","abstract":"\u003cp\u003eDoes the geometry have z coordinates\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isMeasured":{"name":"-isMeasured","abstract":"\u003cp\u003eDoes the geometry have m coordinates.\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)envelope":{"name":"-envelope","abstract":"\u003cp\u003eGet the minimum bounding box for this Geometry\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)expandEnvelope:":{"name":"-expandEnvelope:","abstract":"\u003cp\u003eExpand the envelope with the minimum bounding box for this Geometry\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)dimension":{"name":"-dimension","abstract":"\u003cp\u003eGet the inherent dimension (0, 1, or 2) for this Geometry\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the mathematical centroid point of a 2 dimensional representation of","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)degreesCentroid":{"name":"-degreesCentroid","abstract":"\u003cp\u003eGet the geographic centroid point of a 2 dimensional representation of","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isEmpty":{"name":"-isEmpty","abstract":"\u003cp\u003eIs the Geometry empty\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isSimple":{"name":"-isSimple","abstract":"\u003cp\u003eDetermine if this Geometry has no anomalous geometric points, such as","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)updateZM:":{"name":"-updateZM:","abstract":"\u003cp\u003eUpdate currently false hasZ and hasM values using the provided geometry\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(py)rings":{"name":"rings","abstract":"\u003cp\u003eArray of rings\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygon":{"name":"+curvePolygon","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithHasZ:andHasM:":{"name":"+curvePolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithRings:":{"name":"+curvePolygonWithRings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithRing:":{"name":"+curvePolygonWithRing:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithCurvePolygon:":{"name":"+curvePolygonWithCurvePolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithRing:":{"name":"-initWithRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithCurvePolygon:":{"name":"-initWithCurvePolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)addRing:":{"name":"-addRing:","abstract":"\u003cp\u003eAdd a ring\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)addRings:":{"name":"-addRings:","abstract":"\u003cp\u003eAdd rings\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)numRings":{"name":"-numRings","abstract":"\u003cp\u003eGet the number of rings\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)ringAtIndex:":{"name":"-ringAtIndex:","abstract":"\u003cp\u003eReturns the Nth ring where the exterior ring is at 0, interior rings","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)exteriorRing":{"name":"-exteriorRing","abstract":"\u003cp\u003eGet the exterior ring\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)numInteriorRings":{"name":"-numInteriorRings","abstract":"\u003cp\u003eGet the number of interior rings\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)interiorRingAtIndex:":{"name":"-interiorRingAtIndex:","abstract":"\u003cp\u003eReturns the Nth interior ring for this Polygon\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)startPoint":{"name":"-startPoint","abstract":"\u003cp\u003eGet the start Point of this Curve\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)endPoint":{"name":"-endPoint","abstract":"\u003cp\u003eGet the end Point of this Curve\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)isClosed":{"name":"-isClosed","abstract":"\u003cp\u003eDetermine if this Curve is closed (start point = end point)\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)isRing":{"name":"-isRing","abstract":"\u003cp\u003eDetermine if this Curve is a ring (closed and simple)\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(py)lineStrings":{"name":"lineStrings","abstract":"\u003cp\u003eArray of line strings\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurve":{"name":"+compoundCurve","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithHasZ:andHasM:":{"name":"+compoundCurveWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithLineStrings:":{"name":"+compoundCurveWithLineStrings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithLineString:":{"name":"+compoundCurveWithLineString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithCompoundCurve:":{"name":"+compoundCurveWithCompoundCurve:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithLineStrings:":{"name":"-initWithLineStrings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithCompoundCurve:":{"name":"-initWithCompoundCurve:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)addLineString:":{"name":"-addLineString:","abstract":"\u003cp\u003eAdd a line string\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)addLineStrings:":{"name":"-addLineStrings:","abstract":"\u003cp\u003eAdd line strings\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)numLineStrings":{"name":"-numLineStrings","abstract":"\u003cp\u003eGet the number of line strings\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)lineStringAtIndex:":{"name":"-lineStringAtIndex:","abstract":"\u003cp\u003eReturns the Nth line string\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularString":{"name":"+circularString","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithHasZ:andHasM:":{"name":"+circularStringWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithPoints:":{"name":"+circularStringWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithCircularString:":{"name":"+circularStringWithCircularString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithCircularString:":{"name":"-initWithCircularString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html":{"name":"SFCircularString","abstract":"\u003cp\u003eCircular String, Curve sub type\u003c/p\u003e"},"Classes/SFCompoundCurve.html":{"name":"SFCompoundCurve","abstract":"\u003cp\u003eCompound Curve, Curve sub type\u003c/p\u003e"},"Classes/SFCurve.html":{"name":"SFCurve","abstract":"\u003cp\u003eThe base type for all 1-dimensional geometry types. A 1-dimensional geometry"},"Classes/SFCurvePolygon.html":{"name":"SFCurvePolygon","abstract":"\u003cp\u003eA planar surface defined by an exterior ring and zero or more interior ring."},"Classes/SFGeometry.html":{"name":"SFGeometry","abstract":"\u003cp\u003eThe root of the geometry type hierarchy\u003c/p\u003e"},"Classes/SFGeometryCollection.html":{"name":"SFGeometryCollection","abstract":"\u003cp\u003eA collection of zero or more Geometry instances.\u003c/p\u003e"},"Classes/SFGeometryEnvelope.html":{"name":"SFGeometryEnvelope","abstract":"\u003cp\u003eGeometry envelope containing x and y range with optional z and m range\u003c/p\u003e"},"Classes/SFGeometryTypes.html":{"name":"SFGeometryTypes","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/SFLine.html":{"name":"SFLine","abstract":"\u003cp\u003eA LineString with exactly 2 Points.\u003c/p\u003e"},"Classes/SFLineString.html":{"name":"SFLineString","abstract":"\u003cp\u003eA Curve that connects two or more points in space.\u003c/p\u003e"},"Classes/SFLinearRing.html":{"name":"SFLinearRing","abstract":"\u003cp\u003eA LineString that is both closed and simple.\u003c/p\u003e"},"Classes/SFMultiCurve.html":{"name":"SFMultiCurve","abstract":"\u003cp\u003eA restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFMultiLineString.html":{"name":"SFMultiLineString","abstract":"\u003cp\u003eA restricted form of MultiCurve where each Curve in the collection must be of"},"Classes/SFMultiPoint.html":{"name":"SFMultiPoint","abstract":"\u003cp\u003eA restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFMultiPolygon.html":{"name":"SFMultiPolygon","abstract":"\u003cp\u003eA restricted form of MultiSurface where each Surface in the collection must"},"Classes/SFMultiSurface.html":{"name":"SFMultiSurface","abstract":"\u003cp\u003eA restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFPoint.html":{"name":"SFPoint","abstract":"\u003cp\u003eA single location in space. Each point has an X and Y coordinate. A point MAY"},"Classes/SFPolygon.html":{"name":"SFPolygon","abstract":"\u003cp\u003eA restricted form of CurvePolygon where each ring is defined as a simple,"},"Classes/SFPolyhedralSurface.html":{"name":"SFPolyhedralSurface","abstract":"\u003cp\u003eContiguous collection of polygons which share common boundary segments.\u003c/p\u003e"},"Classes/SFSurface.html":{"name":"SFSurface","abstract":"\u003cp\u003eThe base type for all 2-dimensional geometry types. A 2-dimensional geometry"},"Classes/SFTIN.html":{"name":"SFTIN","abstract":"\u003cp\u003eA tetrahedron (4 triangular faces), corner at the origin and each unit"},"Classes/SFTriangle.html":{"name":"SFTriangle","abstract":"\u003cp\u003eTriangle\u003c/p\u003e"},"Classes/SFExtendedGeometryCollection.html":{"name":"SFExtendedGeometryCollection","abstract":"\u003cp\u003eExtended Geometry Collection providing abstract geometry collection type"},"Classes/SFByteReader.html":{"name":"SFByteReader","abstract":"\u003cp\u003eRead through byte data\u003c/p\u003e"},"Classes/SFByteWriter.html":{"name":"SFByteWriter","abstract":"\u003cp\u003eWrite byte data\u003c/p\u003e"},"Classes.html#/c:objc(cs)SFGeometryConstants":{"name":"SFGeometryConstants","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/SFGeometryEnvelopeBuilder.html":{"name":"SFGeometryEnvelopeBuilder","abstract":"\u003cp\u003eBuilds an envelope from a Geometry\u003c/p\u003e"},"Classes/SFGeometryPrinter.html":{"name":"SFGeometryPrinter","abstract":"\u003cp\u003eString representation of a Geometry\u003c/p\u003e"},"Classes/SFGeometryUtils.html":{"name":"SFGeometryUtils","abstract":"\u003cp\u003eUtilities for Geometry objects\u003c/p\u003e"},"Classes/SFTextReader.html":{"name":"SFTextReader","abstract":"\u003cp\u003eRead through text string\u003c/p\u003e"},"Classes/SFCentroidCurve.html":{"name":"SFCentroidCurve","abstract":"\u003cp\u003eCalculate the centroid from curve based geometries. Implementation based on"},"Classes/SFCentroidPoint.html":{"name":"SFCentroidPoint","abstract":"\u003cp\u003eCalculate the centroid from point based geometries. Implementation based on"},"Classes/SFCentroidSurface.html":{"name":"SFCentroidSurface","abstract":"\u003cp\u003eCalculate the centroid from surface based geometries. Implementation based on"},"Classes/SFDegreesCentroid.html":{"name":"SFDegreesCentroid","abstract":"\u003cp\u003eCentroid calculations for geometries in degrees\u003c/p\u003e"},"Classes.html#/c:objc(cs)SFFiniteFilterTypes":{"name":"SFFiniteFilterTypes","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/SFPointFiniteFilter.html":{"name":"SFPointFiniteFilter","abstract":"\u003cp\u003ePoint filter for finite checks on x and y properties, optionally filter on z"},"Classes/SFEvent.html":{"name":"SFEvent","abstract":"\u003cp\u003eEvent element\u003c/p\u003e"},"Classes/SFEventQueue.html":{"name":"SFEventQueue","abstract":"\u003cp\u003eEvent queue for processing events\u003c/p\u003e"},"Classes.html#/c:objc(cs)SFEventTypes":{"name":"SFEventTypes","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/SFSegment.html":{"name":"SFSegment","abstract":"\u003cp\u003eLine segment of an edge between two points\u003c/p\u003e"},"Classes/SFShamosHoey.html":{"name":"SFShamosHoey","abstract":"\u003cp\u003eShamos-Hoey simple polygon detection\u003c/p\u003e"},"Classes/SFSweepLine.html":{"name":"SFSweepLine","abstract":"\u003cp\u003eSweep Line algorithm\u003c/p\u003e"},"Classes/SFWTGeometryReader.html":{"name":"SFWTGeometryReader","abstract":"\u003cp\u003eWell Known Text reader\u003c/p\u003e"},"Classes/SFWTGeometryTypeInfo.html":{"name":"SFWTGeometryTypeInfo","abstract":"\u003cp\u003eGeometry type info\u003c/p\u003e"},"Classes/SFWTGeometryWriter.html":{"name":"SFWTGeometryWriter","abstract":"\u003cp\u003eWell Known Text writer\u003c/p\u003e"},"Classes.html":{"name":"Classes","abstract":"\u003cp\u003eThe following classes are available globally.\u003c/p\u003e"},"Constants.html":{"name":"Constants","abstract":"\u003cp\u003eThe following constants are available globally.\u003c/p\u003e"},"Enums.html":{"name":"Enumerations","abstract":"\u003cp\u003eThe following enumerations are available globally.\u003c/p\u003e"},"Protocols.html":{"name":"Protocols","abstract":"\u003cp\u003eThe following protocols are available globally.\u003c/p\u003e"}} \ No newline at end of file diff --git a/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/docSet.dsidx b/docs/docs/api/docsets/sf-wkt-ios.docset/Contents/Resources/docSet.dsidx index aeb602fea4984b78db7183067fa6d7144b6b6833..e0d285b8e7bc295131714ef322d2d64a5ba868f5 100644 GIT binary patch delta 122 zcmV-=0EPd6fDM3v4Ul3EZn_Ns0006HE&vaT4=%BBy$-W24^SZlfeZ#wvw<+@4-kPv z2Y~?@f&l_6Wo~w5Y;Uvfg#7`tbwcPpx5@|u9t5*{gxo6zeg;VyfiaVyDkp=4u(yP; c0sD^xTm~B%w}U_e=3keBC<7w5i=YB^pK;JC!~g&Q delta 120 zcmZo@;B9E&osh(r%*e~Yz`(?>$H3pkueY&qFW+We{s2W5pcu#IMuX@4B251oPcce1 zF*0eV=9Q)9$Ok0u diff --git a/docs/docs/api/docsets/sf-wkt-ios.tgz b/docs/docs/api/docsets/sf-wkt-ios.tgz index 89b002eb1eaf27bd3edb6967a023533d923d2325..3407be33fc395b82e14356b500f4681711e83c77 100644 GIT binary patch literal 260727 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

R6C+6h+>`sARxx>t^uw)+K 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͍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%0DjES4o>HYlEx_o=y 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 XC;5{<`IA5SV}Ab+o4`t|07^UnG1#h} literal 261101 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∾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 z%0D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�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

-

sf-wkt-ios 2.1.2 Docs (93% documented)

+

sf-wkt-ios 2.1.3 Docs (93% documented)

GitHubView on GitHub

@@ -357,19 +357,19 @@

Build

Run tests from Xcode or from command line:

-
xcodebuild test -workspace 'sf-wkt-ios.xcworkspace' -scheme sf-wkt-ios -destination 'platform=iOS Simulator,name=iPhone 14'
+
xcodebuild test -workspace 'sf-wkt-ios.xcworkspace' -scheme sf-wkt-ios -destination 'platform=iOS Simulator,name=iPhone 15'
 

Include Library

Include this repository by specifying it in a Podfile using a supported option.

Pull from CocoaPods:

-
pod 'sf-wkt-ios', '~> 2.1.2'
+
pod 'sf-wkt-ios', '~> 2.1.3'
 

Pull from GitHub:

pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :branch => 'master'
-pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :tag => '2.1.2'
+pod 'sf-wkt-ios', :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :tag => '2.1.3'
 

Include as local project:

@@ -404,8 +404,8 @@

Remote Dependencies

diff --git a/docs/docs/api/js/jquery.min.js b/docs/docs/api/js/jquery.min.js index 2c69bc9..7f37b5d 100644 --- a/docs/docs/api/js/jquery.min.js +++ b/docs/docs/api/js/jquery.min.js @@ -1,2 +1,2 @@ -/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="",le.option=!!xe.lastChild;var ke={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n",""]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="
",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0Filter the geometry

","parent_name":"SFGeometryFilter"},"Protocols/SFGeometryFilter.html":{"name":"SFGeometryFilter","abstract":"

Geometry Filter to filter included geometries and modify them during"},"Enums/SFEventType.html#/c:@E@SFEventType@SF_ET_LEFT":{"name":"SF_ET_LEFT","abstract":"

Undocumented

","parent_name":"SFEventType"},"Enums/SFEventType.html#/c:@E@SFEventType@SF_ET_RIGHT":{"name":"SF_ET_RIGHT","abstract":"

Undocumented

","parent_name":"SFEventType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE":{"name":"SF_FF_FINITE","abstract":"

Undocumented

","parent_name":"SFFiniteFilterType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE_AND_INFINITE":{"name":"SF_FF_FINITE_AND_INFINITE","abstract":"

Undocumented

","parent_name":"SFFiniteFilterType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE_AND_NAN":{"name":"SF_FF_FINITE_AND_NAN","abstract":"

Undocumented

","parent_name":"SFFiniteFilterType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_GEOMETRY":{"name":"SF_GEOMETRY","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POINT":{"name":"SF_POINT","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_LINESTRING":{"name":"SF_LINESTRING","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POLYGON":{"name":"SF_POLYGON","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTIPOINT":{"name":"SF_MULTIPOINT","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTILINESTRING":{"name":"SF_MULTILINESTRING","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTIPOLYGON":{"name":"SF_MULTIPOLYGON","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_GEOMETRYCOLLECTION":{"name":"SF_GEOMETRYCOLLECTION","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CIRCULARSTRING":{"name":"SF_CIRCULARSTRING","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_COMPOUNDCURVE":{"name":"SF_COMPOUNDCURVE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CURVEPOLYGON":{"name":"SF_CURVEPOLYGON","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTICURVE":{"name":"SF_MULTICURVE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTISURFACE":{"name":"SF_MULTISURFACE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CURVE":{"name":"SF_CURVE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_SURFACE":{"name":"SF_SURFACE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POLYHEDRALSURFACE":{"name":"SF_POLYHEDRALSURFACE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_TIN":{"name":"SF_TIN","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_TRIANGLE":{"name":"SF_TRIANGLE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_NONE":{"name":"SF_NONE","abstract":"

Undocumented

","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html":{"name":"SFGeometryType","abstract":"

Geometry Type enumeration

"},"Enums/SFFiniteFilterType.html":{"name":"SFFiniteFilterType","abstract":"

Finite Filter Type, including finite values and optionally one of either"},"Enums/SFEventType.html":{"name":"SFEventType","abstract":"

Event type of the point direction

"},"Constants.html#/c:@SF_GEOMETRY_NAME":{"name":"SF_GEOMETRY_NAME","abstract":"

Geometry type names

"},"Constants.html#/c:@SF_POINT_NAME":{"name":"SF_POINT_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_LINESTRING_NAME":{"name":"SF_LINESTRING_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_POLYGON_NAME":{"name":"SF_POLYGON_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTIPOINT_NAME":{"name":"SF_MULTIPOINT_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTILINESTRING_NAME":{"name":"SF_MULTILINESTRING_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTIPOLYGON_NAME":{"name":"SF_MULTIPOLYGON_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_GEOMETRYCOLLECTION_NAME":{"name":"SF_GEOMETRYCOLLECTION_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_CIRCULARSTRING_NAME":{"name":"SF_CIRCULARSTRING_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_COMPOUNDCURVE_NAME":{"name":"SF_COMPOUNDCURVE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_CURVEPOLYGON_NAME":{"name":"SF_CURVEPOLYGON_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTICURVE_NAME":{"name":"SF_MULTICURVE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_MULTISURFACE_NAME":{"name":"SF_MULTISURFACE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_CURVE_NAME":{"name":"SF_CURVE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_SURFACE_NAME":{"name":"SF_SURFACE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_POLYHEDRALSURFACE_NAME":{"name":"SF_POLYHEDRALSURFACE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_TIN_NAME":{"name":"SF_TIN_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_TRIANGLE_NAME":{"name":"SF_TRIANGLE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:@SF_NONE_NAME":{"name":"SF_NONE_NAME","abstract":"

Undocumented

"},"Constants.html#/c:SFByteReader.h@DEFAULT_READ_BYTE_ORDER":{"name":"DEFAULT_READ_BYTE_ORDER","abstract":"

Default read byte order

"},"Constants.html#/c:SFByteWriter.h@DEFAULT_WRITE_BYTE_ORDER":{"name":"DEFAULT_WRITE_BYTE_ORDER","abstract":"

Default write byte order

"},"Constants.html#/c:@SF_DEFAULT_LINE_EPSILON":{"name":"SF_DEFAULT_LINE_EPSILON","abstract":"

Default epsilon for point in or on line tolerance

"},"Constants.html#/c:@SF_DEFAULT_EQUAL_EPSILON":{"name":"SF_DEFAULT_EQUAL_EPSILON","abstract":"

Default epsilon for point equality

"},"Constants.html#/c:@SF_WEB_MERCATOR_MAX_LAT_RANGE":{"name":"SF_WEB_MERCATOR_MAX_LAT_RANGE","abstract":"

Web Mercator Latitude Range

"},"Constants.html#/c:@SF_WEB_MERCATOR_MIN_LAT_RANGE":{"name":"SF_WEB_MERCATOR_MIN_LAT_RANGE","abstract":"

Web Mercator Latitude Range

"},"Constants.html#/c:@SF_WEB_MERCATOR_HALF_WORLD_WIDTH":{"name":"SF_WEB_MERCATOR_HALF_WORLD_WIDTH","abstract":"

Half the world distance in either direction

"},"Constants.html#/c:@SF_WGS84_HALF_WORLD_LON_WIDTH":{"name":"SF_WGS84_HALF_WORLD_LON_WIDTH","abstract":"

Half the world longitude width for WGS84

"},"Constants.html#/c:@SF_WGS84_HALF_WORLD_LAT_HEIGHT":{"name":"SF_WGS84_HALF_WORLD_LAT_HEIGHT","abstract":"

Half the world latitude height for WGS84

"},"Constants.html#/c:@SF_DEGREES_TO_METERS_MIN_LAT":{"name":"SF_DEGREES_TO_METERS_MIN_LAT","abstract":"

Minimum latitude degrees value convertible to meters

"},"Constants.html#/c:@SF_BEARING_NORTH":{"name":"SF_BEARING_NORTH","abstract":"

Absolute north bearing in degrees

"},"Constants.html#/c:@SF_BEARING_EAST":{"name":"SF_BEARING_EAST","abstract":"

Absolute east bearing in degrees

"},"Constants.html#/c:@SF_BEARING_SOUTH":{"name":"SF_BEARING_SOUTH","abstract":"

Absolute south bearing in degrees

"},"Constants.html#/c:@SF_BEARING_WEST":{"name":"SF_BEARING_WEST","abstract":"

Absolute west bearing degrees

"},"Constants.html#/c:@SF_RADIANS_TO_DEGREES":{"name":"SF_RADIANS_TO_DEGREES","abstract":"

Radians to Degrees conversion

"},"Constants.html#/c:@SF_DEGREES_TO_RADIANS":{"name":"SF_DEGREES_TO_RADIANS","abstract":"

Degrees to Radians conversion

"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometry:":{"name":"+writeGeometry:","abstract":"

Write a geometry to a well-known text string

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)init":{"name":"-init","abstract":"

Initializer

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)initWithText:":{"name":"-initWithText:","abstract":"

Initializer

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)text":{"name":"-text","abstract":"

Get the well-known text

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)write:":{"name":"-write:","abstract":"

Write a geometry to well-known text

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)name:":{"name":"-name:","abstract":"

Get the well-known text writable geometry name

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeWrappedPoint:":{"name":"-writeWrappedPoint:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePoint:":{"name":"-writePoint:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeLineString:":{"name":"-writeLineString:","abstract":"

Write a Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePolygon:":{"name":"-writePolygon:","abstract":"

Write a Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiPoint:":{"name":"-writeMultiPoint:","abstract":"

Write a Multi Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiLineString:":{"name":"-writeMultiLineString:","abstract":"

Write a Multi Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiPolygon:":{"name":"-writeMultiPolygon:","abstract":"

Write a Multi Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeGeometryCollection:":{"name":"-writeGeometryCollection:","abstract":"

Write a Geometry Collection

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCircularString:":{"name":"-writeCircularString:","abstract":"

Write a Circular String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCompoundCurve:":{"name":"-writeCompoundCurve:","abstract":"

Write a Compound Curve

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCurvePolygon:":{"name":"-writeCurvePolygon:","abstract":"

Write a Curve Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePolyhedralSurface:":{"name":"-writePolyhedralSurface:","abstract":"

Write a Polyhedral Surface

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeTIN:":{"name":"-writeTIN:","abstract":"

Write a TIN

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeTriangle:":{"name":"-writeTriangle:","abstract":"

Write a Triangle

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometry:toString:":{"name":"+writeGeometry:toString:","abstract":"

Write a geometry to well-known text

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeWrappedPoint:":{"name":"+writeWrappedPoint:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeWrappedPoint:toString:":{"name":"+writeWrappedPoint:toString:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePoint:":{"name":"+writePoint:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePoint:toString:":{"name":"+writePoint:toString:","abstract":"

Write a Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeLineString:":{"name":"+writeLineString:","abstract":"

Write a Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeLineString:toString:":{"name":"+writeLineString:toString:","abstract":"

Write a Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolygon:":{"name":"+writePolygon:","abstract":"

Write a Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolygon:toString:":{"name":"+writePolygon:toString:","abstract":"

Write a Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPoint:":{"name":"+writeMultiPoint:","abstract":"

Write a Multi Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPoint:toString:":{"name":"+writeMultiPoint:toString:","abstract":"

Write a Multi Point

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiLineString:":{"name":"+writeMultiLineString:","abstract":"

Write a Multi Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiLineString:toString:":{"name":"+writeMultiLineString:toString:","abstract":"

Write a Multi Line String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPolygon:":{"name":"+writeMultiPolygon:","abstract":"

Write a Multi Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPolygon:toString:":{"name":"+writeMultiPolygon:toString:","abstract":"

Write a Multi Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometryCollection:":{"name":"+writeGeometryCollection:","abstract":"

Write a Geometry Collection

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometryCollection:toString:":{"name":"+writeGeometryCollection:toString:","abstract":"

Write a Geometry Collection

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCircularString:":{"name":"+writeCircularString:","abstract":"

Write a Circular String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCircularString:toString:":{"name":"+writeCircularString:toString:","abstract":"

Write a Circular String

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCompoundCurve:":{"name":"+writeCompoundCurve:","abstract":"

Write a Compound Curve

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCompoundCurve:toString:":{"name":"+writeCompoundCurve:toString:","abstract":"

Write a Compound Curve

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCurvePolygon:":{"name":"+writeCurvePolygon:","abstract":"

Write a Curve Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCurvePolygon:toString:":{"name":"+writeCurvePolygon:toString:","abstract":"

Write a Curve Polygon

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolyhedralSurface:":{"name":"+writePolyhedralSurface:","abstract":"

Write a Polyhedral Surface

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolyhedralSurface:toString:":{"name":"+writePolyhedralSurface:toString:","abstract":"

Write a Polyhedral Surface

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTIN:":{"name":"+writeTIN:","abstract":"

Write a TIN

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTIN:toString:":{"name":"+writeTIN:toString:","abstract":"

Write a TIN

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTriangle:":{"name":"+writeTriangle:","abstract":"

Write a Triangle

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTriangle:toString:":{"name":"+writeTriangle:toString:","abstract":"

Write a Triangle

","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initializer

","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)geometryType":{"name":"-geometryType","abstract":"

Get the geometry type

","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)hasZ":{"name":"-hasZ","abstract":"

Has z values

","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)hasM":{"name":"-hasM","abstract":"

Has m values

","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:":{"name":"+readGeometryWithText:","abstract":"

Read a geometry from well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andFilter:":{"name":"+readGeometryWithText:andFilter:","abstract":"

Read a geometry from well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andExpectedType:":{"name":"+readGeometryWithText:andExpectedType:","abstract":"

Read a geometry from well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andFilter:andExpectedType:":{"name":"+readGeometryWithText:andFilter:andExpectedType:","abstract":"

Read a geometry from well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)initWithText:":{"name":"-initWithText:","abstract":"

Initializer

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)initWithReader:":{"name":"-initWithReader:","abstract":"

Initializer

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)textReader":{"name":"-textReader","abstract":"

Get the text reader

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)read":{"name":"-read","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:":{"name":"-readWithFilter:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithExpectedType:":{"name":"-readWithExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:andExpectedType:":{"name":"-readWithFilter:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:inType:andExpectedType:":{"name":"-readWithFilter:inType:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryType":{"name":"-readGeometryType","abstract":"

Read the geometry type info

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPointTextWithHasZ:andHasM:":{"name":"-readPointTextWithHasZ:andHasM:","abstract":"

Read a point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPointWithHasZ:andHasM:":{"name":"-readPointWithHasZ:andHasM:","abstract":"

Read a point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readLineStringWithHasZ:andHasM:":{"name":"-readLineStringWithHasZ:andHasM:","abstract":"

Read a line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readLineStringWithFilter:andHasZ:andHasM:":{"name":"-readLineStringWithFilter:andHasZ:andHasM:","abstract":"

Read a line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolygonWithHasZ:andHasM:":{"name":"-readPolygonWithHasZ:andHasM:","abstract":"

Read a polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolygonWithFilter:andHasZ:andHasM:":{"name":"-readPolygonWithFilter:andHasZ:andHasM:","abstract":"

Read a polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPointWithHasZ:andHasM:":{"name":"-readMultiPointWithHasZ:andHasM:","abstract":"

Read a multi point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPointWithFilter:andHasZ:andHasM:":{"name":"-readMultiPointWithFilter:andHasZ:andHasM:","abstract":"

Read a multi point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiLineStringWithHasZ:andHasM:":{"name":"-readMultiLineStringWithHasZ:andHasM:","abstract":"

Read a multi line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiLineStringWithFilter:andHasZ:andHasM:":{"name":"-readMultiLineStringWithFilter:andHasZ:andHasM:","abstract":"

Read a multi line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPolygonWithHasZ:andHasM:":{"name":"-readMultiPolygonWithHasZ:andHasM:","abstract":"

Read a multi polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPolygonWithFilter:andHasZ:andHasM:":{"name":"-readMultiPolygonWithFilter:andHasZ:andHasM:","abstract":"

Read a multi polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryCollectionWithHasZ:andHasM:":{"name":"-readGeometryCollectionWithHasZ:andHasM:","abstract":"

Read a geometry collection

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryCollectionWithFilter:andHasZ:andHasM:":{"name":"-readGeometryCollectionWithFilter:andHasZ:andHasM:","abstract":"

Read a geometry collection

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiCurveWithFilter:andHasZ:andHasM:":{"name":"-readMultiCurveWithFilter:andHasZ:andHasM:","abstract":"

Read a multi curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiSurfaceWithFilter:andHasZ:andHasM:":{"name":"-readMultiSurfaceWithFilter:andHasZ:andHasM:","abstract":"

Read a multi surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCircularStringWithHasZ:andHasM:":{"name":"-readCircularStringWithHasZ:andHasM:","abstract":"

Read a circular string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCircularStringWithFilter:andHasZ:andHasM:":{"name":"-readCircularStringWithFilter:andHasZ:andHasM:","abstract":"

Read a circular string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCompoundCurveWithHasZ:andHasM:":{"name":"-readCompoundCurveWithHasZ:andHasM:","abstract":"

Read a compound curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCompoundCurveWithFilter:andHasZ:andHasM:":{"name":"-readCompoundCurveWithFilter:andHasZ:andHasM:","abstract":"

Read a compound curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCurvePolygonWithHasZ:andHasM:":{"name":"-readCurvePolygonWithHasZ:andHasM:","abstract":"

Read a curve polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCurvePolygonWithFilter:andHasZ:andHasM:":{"name":"-readCurvePolygonWithFilter:andHasZ:andHasM:","abstract":"

Read a curve polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolyhedralSurfaceWithHasZ:andHasM:":{"name":"-readPolyhedralSurfaceWithHasZ:andHasM:","abstract":"

Read a polyhedral surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolyhedralSurfaceWithFilter:andHasZ:andHasM:":{"name":"-readPolyhedralSurfaceWithFilter:andHasZ:andHasM:","abstract":"

Read a polyhedral surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTINWithHasZ:andHasM:":{"name":"-readTINWithHasZ:andHasM:","abstract":"

Read a TIN

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTINWithFilter:andHasZ:andHasM:":{"name":"-readTINWithFilter:andHasZ:andHasM:","abstract":"

Read a TIN

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTriangleWithHasZ:andHasM:":{"name":"-readTriangleWithHasZ:andHasM:","abstract":"

Read a triangle

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTriangleWithFilter:andHasZ:andHasM:":{"name":"-readTriangleWithFilter:andHasZ:andHasM:","abstract":"

Read a triangle

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:":{"name":"+readGeometryWithReader:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:":{"name":"+readGeometryWithReader:andFilter:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andExpectedType:":{"name":"+readGeometryWithReader:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:andExpectedType:":{"name":"+readGeometryWithReader:andFilter:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:inType:andExpectedType:":{"name":"+readGeometryWithReader:andFilter:inType:andExpectedType:","abstract":"

Read a geometry from the well-known text

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryTypeWithReader:":{"name":"+readGeometryTypeWithReader:","abstract":"

Read the geometry type info

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPointTextWithReader:andHasZ:andHasM:":{"name":"+readPointTextWithReader:andHasZ:andHasM:","abstract":"

Read a point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPointWithReader:andHasZ:andHasM:":{"name":"+readPointWithReader:andHasZ:andHasM:","abstract":"

Read a point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readLineStringWithReader:andHasZ:andHasM:":{"name":"+readLineStringWithReader:andHasZ:andHasM:","abstract":"

Read a line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readLineStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readLineStringWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolygonWithReader:andHasZ:andHasM:":{"name":"+readPolygonWithReader:andHasZ:andHasM:","abstract":"

Read a polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readPolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPointWithReader:andHasZ:andHasM:":{"name":"+readMultiPointWithReader:andHasZ:andHasM:","abstract":"

Read a multi point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPointWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiPointWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi point

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiLineStringWithReader:andHasZ:andHasM:":{"name":"+readMultiLineStringWithReader:andHasZ:andHasM:","abstract":"

Read a multi line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiLineStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiLineStringWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi line string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPolygonWithReader:andHasZ:andHasM:":{"name":"+readMultiPolygonWithReader:andHasZ:andHasM:","abstract":"

Read a multi polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiPolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryCollectionWithReader:andHasZ:andHasM:":{"name":"+readGeometryCollectionWithReader:andHasZ:andHasM:","abstract":"

Read a geometry collection

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryCollectionWithReader:andFilter:andHasZ:andHasM:":{"name":"+readGeometryCollectionWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a geometry collection

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiCurveWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiCurveWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiSurfaceWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiSurfaceWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a multi surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCircularStringWithReader:andHasZ:andHasM:":{"name":"+readCircularStringWithReader:andHasZ:andHasM:","abstract":"

Read a circular string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCircularStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCircularStringWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a circular string

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCompoundCurveWithReader:andHasZ:andHasM:":{"name":"+readCompoundCurveWithReader:andHasZ:andHasM:","abstract":"

Read a compound curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCompoundCurveWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCompoundCurveWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a compound curve

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCurvePolygonWithReader:andHasZ:andHasM:":{"name":"+readCurvePolygonWithReader:andHasZ:andHasM:","abstract":"

Read a curve polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCurvePolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCurvePolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a curve polygon

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolyhedralSurfaceWithReader:andHasZ:andHasM:":{"name":"+readPolyhedralSurfaceWithReader:andHasZ:andHasM:","abstract":"

Read a polyhedral surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolyhedralSurfaceWithReader:andFilter:andHasZ:andHasM:":{"name":"+readPolyhedralSurfaceWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a polyhedral surface

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTINWithReader:andHasZ:andHasM:":{"name":"+readTINWithReader:andHasZ:andHasM:","abstract":"

Read a TIN

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTINWithReader:andFilter:andHasZ:andHasM:":{"name":"+readTINWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a TIN

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTriangleWithReader:andHasZ:andHasM:":{"name":"+readTriangleWithReader:andHasZ:andHasM:","abstract":"

Read a triangle

","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTriangleWithReader:andFilter:andHasZ:andHasM:":{"name":"+readTriangleWithReader:andFilter:andHasZ:andHasM:","abstract":"

Read a triangle

","parent_name":"SFWTGeometryReader"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)addEvent:":{"name":"-addEvent:","abstract":"

Add the event to the sweep line

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)findEvent:":{"name":"-findEvent:","abstract":"

Find the existing event segment

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)intersectWithSegment:andSegment:":{"name":"-intersectWithSegment:andSegment:","abstract":"

Determine if the two segments intersect

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)removeSegment:":{"name":"-removeSegment:","abstract":"

Remove the segment from the sweep line

","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(cm)xyOrderWithPoint:andPoint:":{"name":"+xyOrderWithPoint:andPoint:","abstract":"

XY order of two points

","parent_name":"SFSweepLine"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygon:":{"name":"+simplePolygon:","abstract":"

Determine if the polygon is simple

","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonPoints:":{"name":"+simplePolygonPoints:","abstract":"

Determine if the polygon points are simple

","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRingPoints:":{"name":"+simplePolygonRingPoints:","abstract":"

Determine if the polygon point rings are simple

","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRing:":{"name":"+simplePolygonRing:","abstract":"

Determine if the polygon line string ring is simple

","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRings:":{"name":"+simplePolygonRings:","abstract":"

Determine if the polygon rings are simple

","parent_name":"SFShamosHoey"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(py)above":{"name":"above","abstract":"

Segment above

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(py)below":{"name":"below","abstract":"

Segment below

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)initWithEdge:andRing:andLeftPoint:andRightPoint:":{"name":"-initWithEdge:andRing:andLeftPoint:andRightPoint:","abstract":"

Initialize

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)edge":{"name":"-edge","abstract":"

Get the edge number

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)ring":{"name":"-ring","abstract":"

Get the polygon ring number

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)leftPoint":{"name":"-leftPoint","abstract":"

Get the left point

","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)rightPoint":{"name":"-rightPoint","abstract":"

Get the right point

","parent_name":"SFSegment"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)initWithRing:":{"name":"-initWithRing:","abstract":"

Initialize

","parent_name":"SFEventQueue"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFEventQueue"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)events":{"name":"-events","abstract":"

Get the events

","parent_name":"SFEventQueue"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)initWithEdge:andRing:andPoint:andType:":{"name":"-initWithEdge:andRing:andPoint:andType:","abstract":"

Initialize

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)edge":{"name":"-edge","abstract":"

Get the edge

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)ring":{"name":"-ring","abstract":"

Get the polygon ring number

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)point":{"name":"-point","abstract":"

Get the polygon point

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)type":{"name":"-type","abstract":"

Get the event type

","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(cm)sort:":{"name":"+sort:","abstract":"

Sort the events

","parent_name":"SFEvent"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)type":{"name":"type","abstract":"

Finite Filter type

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)filterZ":{"name":"filterZ","abstract":"

Include z values in filtering

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)filterM":{"name":"filterM","abstract":"

Include m values in filtering

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)init":{"name":"-init","abstract":"

Initialize, filter on x and y, allowing only finite values

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:":{"name":"-initWithType:","abstract":"

Initialize, filter on x and y

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andZ:":{"name":"-initWithType:andZ:","abstract":"

Initialize, filter on x, y, and optionally z

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andM:":{"name":"-initWithType:andM:","abstract":"

Initialize, filter on x, y, and optionally m

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andZ:andM:":{"name":"-initWithType:andZ:andM:","abstract":"

Initialize, filter on x, y, and optionally z and m

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithZ:":{"name":"-initWithZ:","abstract":"

Initialize, filter on x, y, and optionally z

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithM:":{"name":"-initWithM:","abstract":"

Initialize, filter on x, y, and optionally m

","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithZ:andM:":{"name":"-initWithZ:andM:","abstract":"

Initialize, filter on x, y, and optionally z and m

","parent_name":"SFPointFiniteFilter"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(cm)centroidOfGeometry:":{"name":"+centroidOfGeometry:","abstract":"

Get the degree geometry centroid

","parent_name":"SFDegreesCentroid"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFDegreesCentroid"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(im)centroid":{"name":"-centroid","abstract":"

Get the centroid point

","parent_name":"SFDegreesCentroid"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)addGeometry:":{"name":"-addGeometry:","abstract":"

Add a surface based dimension 2 geometry to the centroid total. Ignores","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)centroid":{"name":"-centroid","abstract":"

Get the centroid point

","parent_name":"SFCentroidSurface"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)addGeometry:":{"name":"-addGeometry:","abstract":"

Add a point based dimension 0 geometry to the centroid total

","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)centroid":{"name":"-centroid","abstract":"

Get the centroid point

","parent_name":"SFCentroidPoint"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)addGeometry:":{"name":"-addGeometry:","abstract":"

Add a curve based dimension 1 geometry to the centroid total. Ignores","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)centroid":{"name":"-centroid","abstract":"

Get the centroid point

","parent_name":"SFCentroidCurve"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)initWithText:":{"name":"-initWithText:","abstract":"

Initialize

","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)text":{"name":"-text","abstract":"

Get the text

","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)readToken":{"name":"-readToken","abstract":"

Read the next token. Ignores whitespace until a non whitespace character","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)peekToken":{"name":"-peekToken","abstract":"

Peek at the next token without reading past it

","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)readDouble":{"name":"-readDouble","abstract":"

Read a double

","parent_name":"SFTextReader"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)dimensionOfGeometry:":{"name":"+dimensionOfGeometry:","abstract":"

Get the dimension of the Geometry, 0 for points, 1 for curves, 2 for","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)distanceBetweenPoint1:andPoint2:":{"name":"+distanceBetweenPoint1:andPoint2:","abstract":"

Get the Pythagorean theorem distance between two points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)distanceOfLine:":{"name":"+distanceOfLine:","abstract":"

Get the Pythagorean theorem distance between the line end points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)bearingBetweenPoint1:andPoint2:":{"name":"+bearingBetweenPoint1:andPoint2:","abstract":"

Get the bearing heading in degrees between two points in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)bearingOfLine:":{"name":"+bearingOfLine:","abstract":"

Get the bearing heading in degrees between line end points in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isNorthBearing:":{"name":"+isNorthBearing:","abstract":"

Determine if the bearing is in any north direction

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEastBearing:":{"name":"+isEastBearing:","abstract":"

Determine if the bearing is in any east direction

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isSouthBearing:":{"name":"+isSouthBearing:","abstract":"

Determine if the bearing is in any south direction

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isWestBearing:":{"name":"+isWestBearing:","abstract":"

Determine if the bearing is in any west direction

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToRadians:":{"name":"+degreesToRadians:","abstract":"

Convert degrees to radians

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)radiansToDegrees:":{"name":"+radiansToDegrees:","abstract":"

Convert radians to degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)centroidOfGeometry:":{"name":"+centroidOfGeometry:","abstract":"

Get the centroid point of a 2 dimensional representation of the Geometry","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesCentroidOfGeometry:":{"name":"+degreesCentroidOfGeometry:","abstract":"

Get the geographic centroid point of a 2 dimensional representation of","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeWGS84Geometry:":{"name":"+minimizeWGS84Geometry:","abstract":"

Minimize the WGS84 geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeWebMercatorGeometry:":{"name":"+minimizeWebMercatorGeometry:","abstract":"

Minimize the Web Mercator geometry using the shortest x distance between","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeGeometry:withMaxX:":{"name":"+minimizeGeometry:withMaxX:","abstract":"

Minimize the geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeWGS84Geometry:":{"name":"+normalizeWGS84Geometry:","abstract":"

Normalize the WGS84 geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeWebMercatorGeometry:":{"name":"+normalizeWebMercatorGeometry:","abstract":"

Normalize the Web Mercator geometry using the shortest x distance between","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeGeometry:withMaxX:":{"name":"+normalizeGeometry:withMaxX:","abstract":"

Normalize the geometry so all points outside of the min and max value","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)simplifyPoints:withTolerance:":{"name":"+simplifyPoints:withTolerance:","abstract":"

Simplify the ordered points (representing a line, polygon, etc) using the Douglas Peucker algorithm","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)perpendicularDistanceBetweenPoint:lineStart:lineEnd:":{"name":"+perpendicularDistanceBetweenPoint:lineStart:lineEnd:","abstract":"

Calculate the perpendicular distance between the point and the line represented by the start and end points.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygon:":{"name":"+point:inPolygon:","abstract":"

Check if the point is in the polygon

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygon:withEpsilon:":{"name":"+point:inPolygon:withEpsilon:","abstract":"

Check if the point is in the polygon

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonRing:":{"name":"+point:inPolygonRing:","abstract":"

Check if the point is in the polygon ring

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonRing:withEpsilon:":{"name":"+point:inPolygonRing:withEpsilon:","abstract":"

Check if the point is in the polygon ring

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonPoints:":{"name":"+point:inPolygonPoints:","abstract":"

Check if the point is in the polygon points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonPoints:withEpsilon:":{"name":"+point:inPolygonPoints:withEpsilon:","abstract":"

Check if the point is in the polygon points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonEdge:":{"name":"+point:onPolygonEdge:","abstract":"

Check if the point is on the polygon edge

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonEdge:withEpsilon:":{"name":"+point:onPolygonEdge:withEpsilon:","abstract":"

Check if the point is on the polygon edge

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonRingEdge:":{"name":"+point:onPolygonRingEdge:","abstract":"

Check if the point is on the polygon ring edge

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonRingEdge:withEpsilon:":{"name":"+point:onPolygonRingEdge:withEpsilon:","abstract":"

Check if the point is on the polygon ring edge

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonPointsEdge:":{"name":"+point:onPolygonPointsEdge:","abstract":"

Check if the point is on the polygon ring edge points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonPointsEdge:withEpsilon:":{"name":"+point:onPolygonPointsEdge:withEpsilon:","abstract":"

Check if the point is on the polygon ring edge points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygon:":{"name":"+closedPolygon:","abstract":"

Check if the polygon outer ring is explicitly closed, where the first and","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygonRing:":{"name":"+closedPolygonRing:","abstract":"

Check if the polygon ring is explicitly closed, where the first and last","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygonPoints:":{"name":"+closedPolygonPoints:","abstract":"

Check if the polygon ring points are explicitly closed, where the first","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLine:":{"name":"+point:onLine:","abstract":"

Check if the point is on the line

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLine:withEpsilon:":{"name":"+point:onLine:withEpsilon:","abstract":"

Check if the point is on the line

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLinePoints:":{"name":"+point:onLinePoints:","abstract":"

Check if the point is on the line represented by the points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLinePoints:withEpsilon:":{"name":"+point:onLinePoints:withEpsilon:","abstract":"

Check if the point is on the line represented by the points

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPathPoint1:andPoint2:":{"name":"+point:onPathPoint1:andPoint2:","abstract":"

Check if the point is on the path between point 1 and point 2

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPathPoint1:andPoint2:withEpsilon:":{"name":"+point:onPathPoint1:andPoint2:withEpsilon:","abstract":"

Check if the point is on the path between point 1 and point 2

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)intersectionBetweenLine1:andLine2:":{"name":"+intersectionBetweenLine1:andLine2:","abstract":"

Get the point intersection between two lines

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)intersectionBetweenLine1Point1:andLine1Point2:andLine2Point1:andLine2Point2:":{"name":"+intersectionBetweenLine1Point1:andLine1Point2:andLine2Point1:andLine2Point2:","abstract":"

Get the point intersection between end points of two lines

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithGeometry:":{"name":"+degreesToMetersWithGeometry:","abstract":"

Convert a geometry in degrees to a geometry in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPoint:":{"name":"+degreesToMetersWithPoint:","abstract":"

Convert a point in degrees to a point in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithX:andY:":{"name":"+degreesToMetersWithX:andY:","abstract":"

Convert a coordinate in degrees to a point in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiPoint:":{"name":"+degreesToMetersWithMultiPoint:","abstract":"

Convert a multi point in degrees to a multi point in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithLineString:":{"name":"+degreesToMetersWithLineString:","abstract":"

Convert a line string in degrees to a line string in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithLine:":{"name":"+degreesToMetersWithLine:","abstract":"

Convert a line in degrees to a line in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiLineString:":{"name":"+degreesToMetersWithMultiLineString:","abstract":"

Convert a multi line string in degrees to a multi line string in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPolygon:":{"name":"+degreesToMetersWithPolygon:","abstract":"

Convert a polygon in degrees to a polygon in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiPolygon:":{"name":"+degreesToMetersWithMultiPolygon:","abstract":"

Convert a multi polygon in degrees to a multi polygon in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCircularString:":{"name":"+degreesToMetersWithCircularString:","abstract":"

Convert a circular string in degrees to a circular string in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCompoundCurve:":{"name":"+degreesToMetersWithCompoundCurve:","abstract":"

Convert a compound curve in degrees to a compound curve in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCurvePolygon:":{"name":"+degreesToMetersWithCurvePolygon:","abstract":"

Convert a curve polygon in degrees to a curve polygon in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPolyhedralSurface:":{"name":"+degreesToMetersWithPolyhedralSurface:","abstract":"

Convert a polyhedral surface in degrees to a polyhedral surface in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithTIN:":{"name":"+degreesToMetersWithTIN:","abstract":"

Convert a TIN in degrees to a TIN in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithTriangle:":{"name":"+degreesToMetersWithTriangle:","abstract":"

Convert a triangle in degrees to a triangle in meters

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithGeometry:":{"name":"+metersToDegreesWithGeometry:","abstract":"

Convert a geometry in meters to a geometry in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPoint:":{"name":"+metersToDegreesWithPoint:","abstract":"

Convert a point in meters to a point in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithX:andY:":{"name":"+metersToDegreesWithX:andY:","abstract":"

Convert a coordinate in meters to a point in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiPoint:":{"name":"+metersToDegreesWithMultiPoint:","abstract":"

Convert a multi point in meters to a multi point in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithLineString:":{"name":"+metersToDegreesWithLineString:","abstract":"

Convert a line string in meters to a line string in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithLine:":{"name":"+metersToDegreesWithLine:","abstract":"

Convert a line in meters to a line in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiLineString:":{"name":"+metersToDegreesWithMultiLineString:","abstract":"

Convert a multi line string in meters to a multi line string in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPolygon:":{"name":"+metersToDegreesWithPolygon:","abstract":"

Convert a polygon in meters to a polygon in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiPolygon:":{"name":"+metersToDegreesWithMultiPolygon:","abstract":"

Convert a multi polygon in meters to a multi polygon in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCircularString:":{"name":"+metersToDegreesWithCircularString:","abstract":"

Convert a circular string in meters to a circular string in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCompoundCurve:":{"name":"+metersToDegreesWithCompoundCurve:","abstract":"

Convert a compound curve in meters to a compound curve in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCurvePolygon:":{"name":"+metersToDegreesWithCurvePolygon:","abstract":"

Convert a curve polygon in meters to a curve polygon in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPolyhedralSurface:":{"name":"+metersToDegreesWithPolyhedralSurface:","abstract":"

Convert a polyhedral surface in meters to a polyhedral surface in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithTIN:":{"name":"+metersToDegreesWithTIN:","abstract":"

Convert a TIN in meters to a TIN in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithTriangle:":{"name":"+metersToDegreesWithTriangle:","abstract":"

Convert a triangle in meters to a triangle in degrees

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84Envelope":{"name":"+wgs84Envelope","abstract":"

Get a WGS84 bounded geometry envelope

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84TransformableEnvelope":{"name":"+wgs84TransformableEnvelope","abstract":"

Get a WGS84 bounded geometry envelope used for projection transformations","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)webMercatorEnvelope":{"name":"+webMercatorEnvelope","abstract":"

Get a Web Mercator bounded geometry envelope

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84EnvelopeWithWebMercator":{"name":"+wgs84EnvelopeWithWebMercator","abstract":"

Get a WGS84 geometry envelope with Web Mercator bounds

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropWebMercatorGeometry:":{"name":"+cropWebMercatorGeometry:","abstract":"

Crop the geometry in meters by web mercator world bounds. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropGeometry:withEnvelope:":{"name":"+cropGeometry:withEnvelope:","abstract":"

Crop the geometry in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPoint:withEnvelope:":{"name":"+cropPoint:withEnvelope:","abstract":"

Crop the point by the envelope bounds.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPoints:withEnvelope:":{"name":"+cropPoints:withEnvelope:","abstract":"

Crop the list of consecutive points in meters by the envelope bounds in","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiPoint:withEnvelope:":{"name":"+cropMultiPoint:withEnvelope:","abstract":"

Crop the multi point by the envelope bounds.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropLineString:withEnvelope:":{"name":"+cropLineString:withEnvelope:","abstract":"

Crop the line string in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropLine:withEnvelope:":{"name":"+cropLine:withEnvelope:","abstract":"

Crop the line in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiLineString:withEnvelope:":{"name":"+cropMultiLineString:withEnvelope:","abstract":"

Crop the multi line string in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPolygon:withEnvelope:":{"name":"+cropPolygon:withEnvelope:","abstract":"

Crop the polygon in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiPolygon:withEnvelope:":{"name":"+cropMultiPolygon:withEnvelope:","abstract":"

Crop the multi polygon in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCircularString:withEnvelope:":{"name":"+cropCircularString:withEnvelope:","abstract":"

Crop the circular string in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCompoundCurve:withEnvelope:":{"name":"+cropCompoundCurve:withEnvelope:","abstract":"

Crop the compound curve in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCurvePolygon:withEnvelope:":{"name":"+cropCurvePolygon:withEnvelope:","abstract":"

Crop the curve polygon in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPolyhedralSurface:withEnvelope:":{"name":"+cropPolyhedralSurface:withEnvelope:","abstract":"

Crop the polyhedral surface in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropTIN:withEnvelope:":{"name":"+cropTIN:withEnvelope:","abstract":"

Crop the TIN in meters by the envelope bounds in meters. Cropping removes","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropTriangle:withEnvelope:":{"name":"+cropTriangle:withEnvelope:","abstract":"

Crop the triangle in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEqualWithPoint1:andPoint2:":{"name":"+isEqualWithPoint1:andPoint2:","abstract":"

Determine if the points are equal within the default tolerance of","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEqualWithPoint1:andPoint2:andEpsilon:":{"name":"+isEqualWithPoint1:andPoint2:andEpsilon:","abstract":"

Determine if the points are equal within the tolerance. For exact","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)containsPoint:withinEnvelope:":{"name":"+containsPoint:withinEnvelope:","abstract":"

Determine if the envelope contains the point within the default tolerance","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)containsEnvelope:withinEnvelope:":{"name":"+containsEnvelope:withinEnvelope:","abstract":"

Determine if envelope 1 contains the envelope 2 within the default","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84Geometry:":{"name":"+boundWGS84Geometry:","abstract":"

Bound all points in the geometry to be within WGS84 limits.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84TransformableGeometry:":{"name":"+boundWGS84TransformableGeometry:","abstract":"

Bound all points in the geometry to be within WGS84 projection","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWebMercatorGeometry:":{"name":"+boundWebMercatorGeometry:","abstract":"

Bound all points in the geometry to be within Web Mercator limits.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84WithWebMercatorGeometry:":{"name":"+boundWGS84WithWebMercatorGeometry:","abstract":"

Bound all points in the WGS84 geometry to be within degree Web Mercator","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundGeometry:withEnvelope:":{"name":"+boundGeometry:withEnvelope:","abstract":"

Bound all points in the geometry to be within the geometry envelope.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)hasZ:":{"name":"+hasZ:","abstract":"

Determine if the geometries contain a Z value

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)hasM:":{"name":"+hasM:","abstract":"

Determine if the geometries contain a M value

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)parentHierarchyOfType:":{"name":"+parentHierarchyOfType:","abstract":"

Get the parent type hierarchy of the provided geometry type starting with","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)parentTypeOfType:":{"name":"+parentTypeOfType:","abstract":"

Get the parent Geometry Type of the provided geometry type

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)childHierarchyOfType:":{"name":"+childHierarchyOfType:","abstract":"

Get the child type hierarchy of the provided geometry type.

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)childTypesOfType:":{"name":"+childTypesOfType:","abstract":"

Get the immediate child Geometry Types of the provided geometry type

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)encodeGeometry:":{"name":"+encodeGeometry:","abstract":"

Encode the geometry to data

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)decodeGeometry:":{"name":"+decodeGeometry:","abstract":"

Decode the data into a geometry

","parent_name":"SFGeometryUtils"},"Classes/SFGeometryPrinter.html#/c:objc(cs)SFGeometryPrinter(cm)geometryString:":{"name":"+geometryString:","abstract":"

Get Geometry information as a String

","parent_name":"SFGeometryPrinter"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildEnvelopeWithGeometry:":{"name":"+buildEnvelopeWithGeometry:","abstract":"

Build geometry envelope with geometry

","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildEnvelope:andGeometry:":{"name":"+buildEnvelope:andGeometry:","abstract":"

Expand existing geometry envelope with a geometry

","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildGeometryWithEnvelope:":{"name":"+buildGeometryWithEnvelope:","abstract":"

Build a geometry representation of the geometry envelope

","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)nextByte":{"name":"nextByte","abstract":"

Next byte index to write

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)os":{"name":"os","abstract":"

Output stream to write bytes to

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)byteOrder":{"name":"byteOrder","abstract":"

Byte order used to write, little or big endian

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)initWithByteOrder:":{"name":"-initWithByteOrder:","abstract":"

Initialize

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)close":{"name":"-close","abstract":"

Close the byte writer

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)data":{"name":"-data","abstract":"

Get the written byte data

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)size":{"name":"-size","abstract":"

Get the current size in bytes written

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeString:":{"name":"-writeString:","abstract":"

Write a string

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeByte:":{"name":"-writeByte:","abstract":"

Write a byte

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeData:":{"name":"-writeData:","abstract":"

Write data

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeInt:":{"name":"-writeInt:","abstract":"

Write an integer

","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeDouble:":{"name":"-writeDouble:","abstract":"

Write a double

","parent_name":"SFByteWriter"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)nextByte":{"name":"nextByte","abstract":"

Next byte index to read

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)bytes":{"name":"bytes","abstract":"

Bytes to read

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)byteOrder":{"name":"byteOrder","abstract":"

Byte order used to read, little or big endian

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)initWithData:":{"name":"-initWithData:","abstract":"

Initialize

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)initWithData:andByteOrder:":{"name":"-initWithData:andByteOrder:","abstract":"

Initialize

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readString:":{"name":"-readString:","abstract":"

Read a String from the provided number of bytes

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readByte":{"name":"-readByte","abstract":"

Read a single byte

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readData:":{"name":"-readData:","abstract":"

Read Data with the provided number of bytes

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readInt":{"name":"-readInt","abstract":"

Read an integer (4 bytes)

","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readDouble":{"name":"-readDouble","abstract":"

Read a double (8 bytes)

","parent_name":"SFByteReader"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(cm)extendedGeometryCollectionWithGeometryCollection:":{"name":"+extendedGeometryCollectionWithGeometryCollection:","abstract":"

Create

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(cm)extendedGeometryCollectionWithExtendedGeometryCollection:":{"name":"+extendedGeometryCollectionWithExtendedGeometryCollection:","abstract":"

Create

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)initWithGeometryCollection:":{"name":"-initWithGeometryCollection:","abstract":"

Initialize

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)initWithExtendedGeometryCollection:":{"name":"-initWithExtendedGeometryCollection:","abstract":"

Initialize

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)updateGeometryType":{"name":"-updateGeometryType","abstract":"

Update the extended geometry type based upon the contained geometries

","parent_name":"SFExtendedGeometryCollection"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangle":{"name":"+triangle","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithHasZ:andHasM:":{"name":"+triangleWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithRings:":{"name":"+triangleWithRings:","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithRing:":{"name":"+triangleWithRing:","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithTriangle:":{"name":"+triangleWithTriangle:","abstract":"

Create

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithRing:":{"name":"-initWithRing:","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithTriangle:":{"name":"-initWithTriangle:","abstract":"

Initialize

","parent_name":"SFTriangle"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tin":{"name":"+tin","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithHasZ:andHasM:":{"name":"+tinWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithPolygons:":{"name":"+tinWithPolygons:","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithPolygon:":{"name":"+tinWithPolygon:","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithTIN:":{"name":"+tinWithTIN:","abstract":"

Create

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithTIN:":{"name":"-initWithTIN:","abstract":"

Initialize

","parent_name":"SFTIN"},"Classes/SFSurface.html#/c:objc(cs)SFSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(py)polygons":{"name":"polygons","abstract":"

Array of polygons

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurface":{"name":"+polyhedralSurface","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithHasZ:andHasM:":{"name":"+polyhedralSurfaceWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolygons:":{"name":"+polyhedralSurfaceWithPolygons:","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolygon:":{"name":"+polyhedralSurfaceWithPolygon:","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolyhedralSurface:":{"name":"+polyhedralSurfaceWithPolyhedralSurface:","abstract":"

Create

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolyhedralSurface:":{"name":"-initWithPolyhedralSurface:","abstract":"

Initialize

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)patches":{"name":"-patches","abstract":"

Get patches

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)setPatches:":{"name":"-setPatches:","abstract":"

Set patches

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPolygon:":{"name":"-addPolygon:","abstract":"

Add a polygon

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPatch:":{"name":"-addPatch:","abstract":"

Add patch

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPolygons:":{"name":"-addPolygons:","abstract":"

Add polygons

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPatches:":{"name":"-addPatches:","abstract":"

Add patches

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)numPolygons":{"name":"-numPolygons","abstract":"

Get the number of polygons

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)numPatches":{"name":"-numPatches","abstract":"

Get the number of patches

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)polygonAtIndex:":{"name":"-polygonAtIndex:","abstract":"

Get the Nth polygon

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)patchAtIndex:":{"name":"-patchAtIndex:","abstract":"

Get the Nth polygon patch

","parent_name":"SFPolyhedralSurface"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygon":{"name":"+polygon","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithHasZ:andHasM:":{"name":"+polygonWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithRings:":{"name":"+polygonWithRings:","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithRing:":{"name":"+polygonWithRing:","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithPolygon:":{"name":"+polygonWithPolygon:","abstract":"

Create

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithRing:":{"name":"-initWithRing:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"

Initialize

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)lineStrings":{"name":"-lineStrings","abstract":"

Get the line string rings

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)setRings:":{"name":"-setRings:","abstract":"

Set the line string rings

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)ringAtIndex:":{"name":"-ringAtIndex:","abstract":"

Returns the Nth ring where the exterior ring is at 0, interior rings","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)exteriorRing":{"name":"-exteriorRing","abstract":"

Get the exterior ring

","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)interiorRingAtIndex:":{"name":"-interiorRingAtIndex:","abstract":"

Returns the Nth interior ring for this Polygon

","parent_name":"SFPolygon"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)x":{"name":"x","abstract":"

X coordinate

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)y":{"name":"y","abstract":"

Y coordinate

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)z":{"name":"z","abstract":"

Z coordinate

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)m":{"name":"m","abstract":"

M coordinate

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)point":{"name":"+point","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:":{"name":"+pointWithXValue:andYValue:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:":{"name":"+pointWithX:andY:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:andZ:":{"name":"+pointWithX:andY:andZ:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZ:":{"name":"+pointWithXValue:andYValue:andZ:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZValue:":{"name":"+pointWithXValue:andYValue:andZValue:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:andZ:andM:":{"name":"+pointWithX:andY:andZ:andM:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZ:andM:":{"name":"+pointWithXValue:andYValue:andZ:andM:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZValue:andMValue:":{"name":"+pointWithXValue:andYValue:andZValue:andMValue:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithHasZ:andHasM:andX:andY:":{"name":"+pointWithHasZ:andHasM:andX:andY:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithHasZ:andHasM:andXValue:andYValue:":{"name":"+pointWithHasZ:andHasM:andXValue:andYValue:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithPoint:":{"name":"+pointWithPoint:","abstract":"

Create

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:":{"name":"-initWithXValue:andYValue:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:":{"name":"-initWithX:andY:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:andZ:":{"name":"-initWithX:andY:andZ:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZ:":{"name":"-initWithXValue:andYValue:andZ:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZValue:":{"name":"-initWithXValue:andYValue:andZValue:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:andZ:andM:":{"name":"-initWithX:andY:andZ:andM:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZ:andM:":{"name":"-initWithXValue:andYValue:andZ:andM:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZValue:andMValue:":{"name":"-initWithXValue:andYValue:andZValue:andMValue:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithHasZ:andHasM:andX:andY:":{"name":"-initWithHasZ:andHasM:andX:andY:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithHasZ:andHasM:andXValue:andYValue:":{"name":"-initWithHasZ:andHasM:andXValue:andYValue:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithPoint:":{"name":"-initWithPoint:","abstract":"

Initialize

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setXValue:":{"name":"-setXValue:","abstract":"

Set the x value

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setYValue:":{"name":"-setYValue:","abstract":"

Set the y value

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setZValue:":{"name":"-setZValue:","abstract":"

Set the z value

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setMValue:":{"name":"-setMValue:","abstract":"

Set the m value

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualXToPoint:":{"name":"-isEqualXToPoint:","abstract":"

Indicates if x values are equal

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualYToPoint:":{"name":"-isEqualYToPoint:","abstract":"

Indicates if y values are equal

","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualXYToPoint:":{"name":"-isEqualXYToPoint:","abstract":"

Indicates if x and y values are equal

","parent_name":"SFPoint"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)surfaces":{"name":"-surfaces","abstract":"

Get the surfaces

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)setSurfaces:":{"name":"-setSurfaces:","abstract":"

Set the surfaces

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)addSurface:":{"name":"-addSurface:","abstract":"

Add a surface

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)addSurfaces:":{"name":"-addSurfaces:","abstract":"

Add surfaces

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)numSurfaces":{"name":"-numSurfaces","abstract":"

Get the number of surfaces

","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)surfaceAtIndex:":{"name":"-surfaceAtIndex:","abstract":"

Returns the Nth surface

","parent_name":"SFMultiSurface"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygon":{"name":"+multiPolygon","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithHasZ:andHasM:":{"name":"+multiPolygonWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithPolygons:":{"name":"+multiPolygonWithPolygons:","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithPolygon:":{"name":"+multiPolygonWithPolygon:","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithMultiPolygon:":{"name":"+multiPolygonWithMultiPolygon:","abstract":"

Create

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithMultiPolygon:":{"name":"-initWithMultiPolygon:","abstract":"

Initialize

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)polygons":{"name":"-polygons","abstract":"

Get the polygons

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)setPolygons:":{"name":"-setPolygons:","abstract":"

Set the polygons

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)addPolygon:":{"name":"-addPolygon:","abstract":"

Add a polygon

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)addPolygons:":{"name":"-addPolygons:","abstract":"

Add polygons

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)numPolygons":{"name":"-numPolygons","abstract":"

Get the number of polygons

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)polygonAtIndex:":{"name":"-polygonAtIndex:","abstract":"

Returns the Nth polygon

","parent_name":"SFMultiPolygon"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPoint":{"name":"+multiPoint","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithHasZ:andHasM:":{"name":"+multiPointWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithPoints:":{"name":"+multiPointWithPoints:","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithPoint:":{"name":"+multiPointWithPoint:","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithMultiPoint:":{"name":"+multiPointWithMultiPoint:","abstract":"

Create

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithPoint:":{"name":"-initWithPoint:","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithMultiPoint:":{"name":"-initWithMultiPoint:","abstract":"

Initialize

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)points":{"name":"-points","abstract":"

Get the points

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)setPoints:":{"name":"-setPoints:","abstract":"

Set the points

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)addPoint:":{"name":"-addPoint:","abstract":"

Add a point

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)addPoints:":{"name":"-addPoints:","abstract":"

Add points

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)numPoints":{"name":"-numPoints","abstract":"

Get the number of points

","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)pointAtIndex:":{"name":"-pointAtIndex:","abstract":"

Returns the Nth point

","parent_name":"SFMultiPoint"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineString":{"name":"+multiLineString","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithHasZ:andHasM:":{"name":"+multiLineStringWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithLineStrings:":{"name":"+multiLineStringWithLineStrings:","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithLineString:":{"name":"+multiLineStringWithLineString:","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithMultiLineString:":{"name":"+multiLineStringWithMultiLineString:","abstract":"

Create

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithLineStrings:":{"name":"-initWithLineStrings:","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithMultiLineString:":{"name":"-initWithMultiLineString:","abstract":"

Initialize

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)lineStrings":{"name":"-lineStrings","abstract":"

Get the line strings

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)setLineStrings:":{"name":"-setLineStrings:","abstract":"

Set the line strings

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)addLineString:":{"name":"-addLineString:","abstract":"

Add a line string

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)addLineStrings:":{"name":"-addLineStrings:","abstract":"

Add line strings

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)numLineStrings":{"name":"-numLineStrings","abstract":"

Get the number of line strings

","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)lineStringAtIndex:":{"name":"-lineStringAtIndex:","abstract":"

Returns the Nth line string

","parent_name":"SFMultiLineString"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)curves":{"name":"-curves","abstract":"

Get the curves

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)setCurves:":{"name":"-setCurves:","abstract":"

Set the curves

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)addCurve:":{"name":"-addCurve:","abstract":"

Add a curve

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)addCurves:":{"name":"-addCurves:","abstract":"

Add curves

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)numCurves":{"name":"-numCurves","abstract":"

Get the number of curves

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)curveAtIndex:":{"name":"-curveAtIndex:","abstract":"

Returns the Nth curve

","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)isClosed":{"name":"-isClosed","abstract":"

Determine if this Multi Curve is closed for each Curve (start point = end","parent_name":"SFMultiCurve"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRing":{"name":"+linearRing","abstract":"

Create

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithHasZ:andHasM:":{"name":"+linearRingWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithPoints:":{"name":"+linearRingWithPoints:","abstract":"

Create

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithLinearRing:":{"name":"+linearRingWithLinearRing:","abstract":"

Create

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithLinearRing:":{"name":"-initWithLinearRing:","abstract":"

Initialize

","parent_name":"SFLinearRing"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(py)points":{"name":"points","abstract":"

Array of points

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineString":{"name":"+lineString","abstract":"

Create

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithHasZ:andHasM:":{"name":"+lineStringWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithPoints:":{"name":"+lineStringWithPoints:","abstract":"

Create

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithLineString:":{"name":"+lineStringWithLineString:","abstract":"

Create

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"

Initialize

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)addPoint:":{"name":"-addPoint:","abstract":"

Add a point

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)addPoints:":{"name":"-addPoints:","abstract":"

Add points

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)numPoints":{"name":"-numPoints","abstract":"

Get the number of points

","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)pointAtIndex:":{"name":"-pointAtIndex:","abstract":"

Returns the Nth point

","parent_name":"SFLineString"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)line":{"name":"+line","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithHasZ:andHasM:":{"name":"+lineWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithPoints:":{"name":"+lineWithPoints:","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithPoint1:andPoint2:":{"name":"+lineWithPoint1:andPoint2:","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithLine:":{"name":"+lineWithLine:","abstract":"

Create

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithPoint1:andPoint2:":{"name":"-initWithPoint1:andPoint2:","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithLine:":{"name":"-initWithLine:","abstract":"

Initialize

","parent_name":"SFLine"},"Classes/SFGeometryTypes.html#/c:objc(cs)SFGeometryTypes(cm)name:":{"name":"+name:","abstract":"

Get the name of the geometry type

","parent_name":"SFGeometryTypes"},"Classes/SFGeometryTypes.html#/c:objc(cs)SFGeometryTypes(cm)fromName:":{"name":"+fromName:","abstract":"

Get the geometry type of the name

","parent_name":"SFGeometryTypes"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minX":{"name":"minX","abstract":"

X coordinate range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxX":{"name":"maxX","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minY":{"name":"minY","abstract":"

Y coordinate range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxY":{"name":"maxY","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)hasZ":{"name":"hasZ","abstract":"

Has Z value and Z coordinate range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minZ":{"name":"minZ","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxZ":{"name":"maxZ","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)hasM":{"name":"hasM","abstract":"

Has M value and M coordinate range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minM":{"name":"minM","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxM":{"name":"maxM","abstract":"

Undocumented

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelope":{"name":"+envelope","abstract":"

Create with no z or m

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithHasZ:andHasM:":{"name":"+envelopeWithHasZ:andHasM:","abstract":"

Create with the has z and m values

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMaxX:andMaxY:":{"name":"+envelopeWithMinX:andMinY:andMaxX:andMaxY:","abstract":"

Create with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:","abstract":"

Create with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:":{"name":"+envelopeWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:","abstract":"

Create with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:","abstract":"

Create with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:":{"name":"+envelopeWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:","abstract":"

Create with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:","abstract":"

Create with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)geometryEnvelopeWithGeometryEnvelope:":{"name":"+geometryEnvelopeWithGeometryEnvelope:","abstract":"

Create

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)init":{"name":"-init","abstract":"

Initialize with no z or m

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize with the has z and m values

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMaxX:andMaxY:":{"name":"-initWithMinX:andMinY:andMaxX:andMaxY:","abstract":"

Initialize with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:":{"name":"-initWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:","abstract":"

Initialize with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:":{"name":"-initWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:","abstract":"

Initialize with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:":{"name":"-initWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:","abstract":"

Initialize with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:":{"name":"-initWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:","abstract":"

Initialize with number range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:":{"name":"-initWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:","abstract":"

Initialize with double range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithGeometryEnvelope:":{"name":"-initWithGeometryEnvelope:","abstract":"

Initialize

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinXValue:":{"name":"-setMinXValue:","abstract":"

Set the min x value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxXValue:":{"name":"-setMaxXValue:","abstract":"

Set the max x value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinYValue:":{"name":"-setMinYValue:","abstract":"

Set the min y value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxYValue:":{"name":"-setMaxYValue:","abstract":"

Set the max y value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinZValue:":{"name":"-setMinZValue:","abstract":"

Set the min z value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxZValue:":{"name":"-setMaxZValue:","abstract":"

Set the max z value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinMValue:":{"name":"-setMinMValue:","abstract":"

Set the min m value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxMValue:":{"name":"-setMaxMValue:","abstract":"

Set the max m value

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)is3D":{"name":"-is3D","abstract":"

True if has Z coordinates

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isMeasured":{"name":"-isMeasured","abstract":"

True if has M measurements

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)xRange":{"name":"-xRange","abstract":"

Get the x range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)yRange":{"name":"-yRange","abstract":"

Get the y range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)zRange":{"name":"-zRange","abstract":"

Get the z range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)mRange":{"name":"-mRange","abstract":"

Get the m range

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isPoint":{"name":"-isPoint","abstract":"

Determine if the envelope is of a single point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)topLeft":{"name":"-topLeft","abstract":"

Get the top left point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottomLeft":{"name":"-bottomLeft","abstract":"

Get the bottom left point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottomRight":{"name":"-bottomRight","abstract":"

Get the bottom right point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)topRight":{"name":"-topRight","abstract":"

Get the top right point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)left":{"name":"-left","abstract":"

Get the left line

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottom":{"name":"-bottom","abstract":"

Get the bottom line

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)right":{"name":"-right","abstract":"

Get the right line

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)top":{"name":"-top","abstract":"

Get the top line

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)midX":{"name":"-midX","abstract":"

Get the envelope mid x

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)midY":{"name":"-midY","abstract":"

Get the envelope mid y

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)centroid":{"name":"-centroid","abstract":"

Get the envelope centroid point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isEmpty":{"name":"-isEmpty","abstract":"

Determine if the envelope is empty

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)intersectsWithEnvelope:":{"name":"-intersectsWithEnvelope:","abstract":"

Determine if intersects with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)intersectsWithEnvelope:withAllowEmpty:":{"name":"-intersectsWithEnvelope:withAllowEmpty:","abstract":"

Determine if intersects with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)overlapWithEnvelope:":{"name":"-overlapWithEnvelope:","abstract":"

Get the overlapping geometry envelope with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)overlapWithEnvelope:withAllowEmpty:":{"name":"-overlapWithEnvelope:withAllowEmpty:","abstract":"

Get the overlapping geometry envelope with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)unionWithEnvelope:":{"name":"-unionWithEnvelope:","abstract":"

Get the union geometry envelope combined with the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsPoint:":{"name":"-containsPoint:","abstract":"

Determine if contains the point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsPoint:withEpsilon:":{"name":"-containsPoint:withEpsilon:","abstract":"

Determine if contains the point

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsX:andY:":{"name":"-containsX:andY:","abstract":"

Determine if contains the coordinate

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsX:andY:withEpsilon:":{"name":"-containsX:andY:withEpsilon:","abstract":"

Determine if contains the coordinate

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsEnvelope:":{"name":"-containsEnvelope:","abstract":"

Determine if inclusively contains the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsEnvelope:withEpsilon:":{"name":"-containsEnvelope:withEpsilon:","abstract":"

Determine if inclusively contains the provided envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)buildGeometry":{"name":"-buildGeometry","abstract":"

Build a geometry representation of the geometry envelope

","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(py)geometries":{"name":"geometries","abstract":"

Array of geometries

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollection":{"name":"+geometryCollection","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithHasZ:andHasM:":{"name":"+geometryCollectionWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometries:":{"name":"+geometryCollectionWithGeometries:","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometry:":{"name":"+geometryCollectionWithGeometry:","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometryCollection:":{"name":"+geometryCollectionWithGeometryCollection:","abstract":"

Create

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometries:":{"name":"-initWithGeometries:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometryCollection:":{"name":"-initWithGeometryCollection:","abstract":"

Initialize

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)addGeometry:":{"name":"-addGeometry:","abstract":"

Add geometry

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)addGeometries:":{"name":"-addGeometries:","abstract":"

Add geometries

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)numGeometries":{"name":"-numGeometries","abstract":"

Get the number of geometries

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)geometryAtIndex:":{"name":"-geometryAtIndex:","abstract":"

Returns the Nth geometry

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)collectionType":{"name":"-collectionType","abstract":"

Get the collection type by evaluating the geometries

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiPoint":{"name":"-isMultiPoint","abstract":"

Determine if this geometry collection is a MultiPoint instance or","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiPoint":{"name":"-asMultiPoint","abstract":"

Get as a MultiPoint, either the current instance or newly created","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiLineString":{"name":"-isMultiLineString","abstract":"

Determine if this geometry collection is a MultiLineString","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiLineString":{"name":"-asMultiLineString","abstract":"

Get as a MultiLineString, either the current instance or newly","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiPolygon":{"name":"-isMultiPolygon","abstract":"

Determine if this geometry collection is a MultiPolygon instance","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiPolygon":{"name":"-asMultiPolygon","abstract":"

Get as a MultiPolygon, either the current instance or newly","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiCurve":{"name":"-isMultiCurve","abstract":"

Determine if this geometry collection contains only Curve","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiCurve":{"name":"-asMultiCurve","abstract":"

Get as a Multi Curve, a Curve typed Geometry Collection

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiSurface":{"name":"-isMultiSurface","abstract":"

Determine if this geometry collection contains only Surface","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiSurface":{"name":"-asMultiSurface","abstract":"

Get as a Multi Surface, a Surface typed Geometry Collection

","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asGeometryCollection":{"name":"-asGeometryCollection","abstract":"

Get as a top level Geometry Collection

","parent_name":"SFGeometryCollection"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)geometryType":{"name":"geometryType","abstract":"

Geometry type

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)hasZ":{"name":"hasZ","abstract":"

Has Z values

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)hasM":{"name":"hasM","abstract":"

Has M values

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)is3D":{"name":"-is3D","abstract":"

Does the geometry have z coordinates

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isMeasured":{"name":"-isMeasured","abstract":"

Does the geometry have m coordinates.

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)envelope":{"name":"-envelope","abstract":"

Get the minimum bounding box for this Geometry

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)expandEnvelope:":{"name":"-expandEnvelope:","abstract":"

Expand the envelope with the minimum bounding box for this Geometry

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)dimension":{"name":"-dimension","abstract":"

Get the inherent dimension (0, 1, or 2) for this Geometry

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)centroid":{"name":"-centroid","abstract":"

Get the mathematical centroid point of a 2 dimensional representation of","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)degreesCentroid":{"name":"-degreesCentroid","abstract":"

Get the geographic centroid point of a 2 dimensional representation of","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isEmpty":{"name":"-isEmpty","abstract":"

Is the Geometry empty

","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isSimple":{"name":"-isSimple","abstract":"

Determine if this Geometry has no anomalous geometric points, such as","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)updateZM:":{"name":"-updateZM:","abstract":"

Update currently false hasZ and hasM values using the provided geometry

","parent_name":"SFGeometry"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(py)rings":{"name":"rings","abstract":"

Array of rings

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygon":{"name":"+curvePolygon","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithHasZ:andHasM:":{"name":"+curvePolygonWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithRings:":{"name":"+curvePolygonWithRings:","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithRing:":{"name":"+curvePolygonWithRing:","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithCurvePolygon:":{"name":"+curvePolygonWithCurvePolygon:","abstract":"

Create

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithRings:":{"name":"-initWithRings:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithRing:":{"name":"-initWithRing:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithCurvePolygon:":{"name":"-initWithCurvePolygon:","abstract":"

Initialize

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)addRing:":{"name":"-addRing:","abstract":"

Add a ring

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)addRings:":{"name":"-addRings:","abstract":"

Add rings

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)numRings":{"name":"-numRings","abstract":"

Get the number of rings

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)ringAtIndex:":{"name":"-ringAtIndex:","abstract":"

Returns the Nth ring where the exterior ring is at 0, interior rings","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)exteriorRing":{"name":"-exteriorRing","abstract":"

Get the exterior ring

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)numInteriorRings":{"name":"-numInteriorRings","abstract":"

Get the number of interior rings

","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)interiorRingAtIndex:":{"name":"-interiorRingAtIndex:","abstract":"

Returns the Nth interior ring for this Polygon

","parent_name":"SFCurvePolygon"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)startPoint":{"name":"-startPoint","abstract":"

Get the start Point of this Curve

","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)endPoint":{"name":"-endPoint","abstract":"

Get the end Point of this Curve

","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)isClosed":{"name":"-isClosed","abstract":"

Determine if this Curve is closed (start point = end point)

","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)isRing":{"name":"-isRing","abstract":"

Determine if this Curve is a ring (closed and simple)

","parent_name":"SFCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(py)lineStrings":{"name":"lineStrings","abstract":"

Array of line strings

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurve":{"name":"+compoundCurve","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithHasZ:andHasM:":{"name":"+compoundCurveWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithLineStrings:":{"name":"+compoundCurveWithLineStrings:","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithLineString:":{"name":"+compoundCurveWithLineString:","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithCompoundCurve:":{"name":"+compoundCurveWithCompoundCurve:","abstract":"

Create

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithLineStrings:":{"name":"-initWithLineStrings:","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithCompoundCurve:":{"name":"-initWithCompoundCurve:","abstract":"

Initialize

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)addLineString:":{"name":"-addLineString:","abstract":"

Add a line string

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)addLineStrings:":{"name":"-addLineStrings:","abstract":"

Add line strings

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)numLineStrings":{"name":"-numLineStrings","abstract":"

Get the number of line strings

","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)lineStringAtIndex:":{"name":"-lineStringAtIndex:","abstract":"

Returns the Nth line string

","parent_name":"SFCompoundCurve"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularString":{"name":"+circularString","abstract":"

Create

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithHasZ:andHasM:":{"name":"+circularStringWithHasZ:andHasM:","abstract":"

Create

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithPoints:":{"name":"+circularStringWithPoints:","abstract":"

Create

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithCircularString:":{"name":"+circularStringWithCircularString:","abstract":"

Create

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)init":{"name":"-init","abstract":"

Initialize

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"

Initialize

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"

Initialize

","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithCircularString:":{"name":"-initWithCircularString:","abstract":"

Initialize

","parent_name":"SFCircularString"},"Classes/SFCircularString.html":{"name":"SFCircularString","abstract":"

Circular String, Curve sub type

"},"Classes/SFCompoundCurve.html":{"name":"SFCompoundCurve","abstract":"

Compound Curve, Curve sub type

"},"Classes/SFCurve.html":{"name":"SFCurve","abstract":"

The base type for all 1-dimensional geometry types. A 1-dimensional geometry"},"Classes/SFCurvePolygon.html":{"name":"SFCurvePolygon","abstract":"

A planar surface defined by an exterior ring and zero or more interior ring."},"Classes/SFGeometry.html":{"name":"SFGeometry","abstract":"

The root of the geometry type hierarchy

"},"Classes/SFGeometryCollection.html":{"name":"SFGeometryCollection","abstract":"

A collection of zero or more Geometry instances.

"},"Classes/SFGeometryEnvelope.html":{"name":"SFGeometryEnvelope","abstract":"

Geometry envelope containing x and y range with optional z and m range

"},"Classes/SFGeometryTypes.html":{"name":"SFGeometryTypes","abstract":"

Undocumented

"},"Classes/SFLine.html":{"name":"SFLine","abstract":"

A LineString with exactly 2 Points.

"},"Classes/SFLineString.html":{"name":"SFLineString","abstract":"

A Curve that connects two or more points in space.

"},"Classes/SFLinearRing.html":{"name":"SFLinearRing","abstract":"

A LineString that is both closed and simple.

"},"Classes/SFMultiCurve.html":{"name":"SFMultiCurve","abstract":"

A restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFMultiLineString.html":{"name":"SFMultiLineString","abstract":"

A restricted form of MultiCurve where each Curve in the collection must be of"},"Classes/SFMultiPoint.html":{"name":"SFMultiPoint","abstract":"

A restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFMultiPolygon.html":{"name":"SFMultiPolygon","abstract":"

A restricted form of MultiSurface where each Surface in the collection must"},"Classes/SFMultiSurface.html":{"name":"SFMultiSurface","abstract":"

A restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFPoint.html":{"name":"SFPoint","abstract":"

A single location in space. Each point has an X and Y coordinate. A point MAY"},"Classes/SFPolygon.html":{"name":"SFPolygon","abstract":"

A restricted form of CurvePolygon where each ring is defined as a simple,"},"Classes/SFPolyhedralSurface.html":{"name":"SFPolyhedralSurface","abstract":"

Contiguous collection of polygons which share common boundary segments.

"},"Classes/SFSurface.html":{"name":"SFSurface","abstract":"

The base type for all 2-dimensional geometry types. A 2-dimensional geometry"},"Classes/SFTIN.html":{"name":"SFTIN","abstract":"

A tetrahedron (4 triangular faces), corner at the origin and each unit"},"Classes/SFTriangle.html":{"name":"SFTriangle","abstract":"

Triangle

"},"Classes/SFExtendedGeometryCollection.html":{"name":"SFExtendedGeometryCollection","abstract":"

Extended Geometry Collection providing abstract geometry collection type"},"Classes/SFByteReader.html":{"name":"SFByteReader","abstract":"

Read through byte data

"},"Classes/SFByteWriter.html":{"name":"SFByteWriter","abstract":"

Write byte data

"},"Classes.html#/c:objc(cs)SFGeometryConstants":{"name":"SFGeometryConstants","abstract":"

Undocumented

"},"Classes/SFGeometryEnvelopeBuilder.html":{"name":"SFGeometryEnvelopeBuilder","abstract":"

Builds an envelope from a Geometry

"},"Classes/SFGeometryPrinter.html":{"name":"SFGeometryPrinter","abstract":"

String representation of a Geometry

"},"Classes/SFGeometryUtils.html":{"name":"SFGeometryUtils","abstract":"

Utilities for Geometry objects

"},"Classes/SFTextReader.html":{"name":"SFTextReader","abstract":"

Read through text string

"},"Classes/SFCentroidCurve.html":{"name":"SFCentroidCurve","abstract":"

Calculate the centroid from curve based geometries. Implementation based on"},"Classes/SFCentroidPoint.html":{"name":"SFCentroidPoint","abstract":"

Calculate the centroid from point based geometries. Implementation based on"},"Classes/SFCentroidSurface.html":{"name":"SFCentroidSurface","abstract":"

Calculate the centroid from surface based geometries. Implementation based on"},"Classes/SFDegreesCentroid.html":{"name":"SFDegreesCentroid","abstract":"

Centroid calculations for geometries in degrees

"},"Classes.html#/c:objc(cs)SFFiniteFilterTypes":{"name":"SFFiniteFilterTypes","abstract":"

Undocumented

"},"Classes/SFPointFiniteFilter.html":{"name":"SFPointFiniteFilter","abstract":"

Point filter for finite checks on x and y properties, optionally filter on z"},"Classes/SFEvent.html":{"name":"SFEvent","abstract":"

Event element

"},"Classes/SFEventQueue.html":{"name":"SFEventQueue","abstract":"

Event queue for processing events

"},"Classes.html#/c:objc(cs)SFEventTypes":{"name":"SFEventTypes","abstract":"

Undocumented

"},"Classes/SFSegment.html":{"name":"SFSegment","abstract":"

Line segment of an edge between two points

"},"Classes/SFShamosHoey.html":{"name":"SFShamosHoey","abstract":"

Shamos-Hoey simple polygon detection

"},"Classes/SFSweepLine.html":{"name":"SFSweepLine","abstract":"

Sweep Line algorithm

"},"Classes/SFWTGeometryReader.html":{"name":"SFWTGeometryReader","abstract":"

Well Known Text reader

"},"Classes/SFWTGeometryTypeInfo.html":{"name":"SFWTGeometryTypeInfo","abstract":"

Geometry type info

"},"Classes/SFWTGeometryWriter.html":{"name":"SFWTGeometryWriter","abstract":"

Well Known Text writer

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"}} \ No newline at end of file +{"Protocols/SFGeometryFilter.html#/c:objc(pl)SFGeometryFilter(im)filterGeometry:inType:":{"name":"-filterGeometry:inType:","abstract":"\u003cp\u003eFilter the geometry\u003c/p\u003e","parent_name":"SFGeometryFilter"},"Protocols/SFGeometryFilter.html":{"name":"SFGeometryFilter","abstract":"\u003cp\u003eGeometry Filter to filter included geometries and modify them during"},"Enums/SFEventType.html#/c:@E@SFEventType@SF_ET_LEFT":{"name":"SF_ET_LEFT","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFEventType"},"Enums/SFEventType.html#/c:@E@SFEventType@SF_ET_RIGHT":{"name":"SF_ET_RIGHT","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFEventType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE":{"name":"SF_FF_FINITE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFFiniteFilterType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE_AND_INFINITE":{"name":"SF_FF_FINITE_AND_INFINITE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFFiniteFilterType"},"Enums/SFFiniteFilterType.html#/c:@E@SFFiniteFilterType@SF_FF_FINITE_AND_NAN":{"name":"SF_FF_FINITE_AND_NAN","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFFiniteFilterType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_GEOMETRY":{"name":"SF_GEOMETRY","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POINT":{"name":"SF_POINT","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_LINESTRING":{"name":"SF_LINESTRING","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POLYGON":{"name":"SF_POLYGON","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTIPOINT":{"name":"SF_MULTIPOINT","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTILINESTRING":{"name":"SF_MULTILINESTRING","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTIPOLYGON":{"name":"SF_MULTIPOLYGON","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_GEOMETRYCOLLECTION":{"name":"SF_GEOMETRYCOLLECTION","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CIRCULARSTRING":{"name":"SF_CIRCULARSTRING","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_COMPOUNDCURVE":{"name":"SF_COMPOUNDCURVE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CURVEPOLYGON":{"name":"SF_CURVEPOLYGON","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTICURVE":{"name":"SF_MULTICURVE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_MULTISURFACE":{"name":"SF_MULTISURFACE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_CURVE":{"name":"SF_CURVE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_SURFACE":{"name":"SF_SURFACE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_POLYHEDRALSURFACE":{"name":"SF_POLYHEDRALSURFACE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_TIN":{"name":"SF_TIN","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_TRIANGLE":{"name":"SF_TRIANGLE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html#/c:@E@SFGeometryType@SF_NONE":{"name":"SF_NONE","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryType"},"Enums/SFGeometryType.html":{"name":"SFGeometryType","abstract":"\u003cp\u003eGeometry Type enumeration\u003c/p\u003e"},"Enums/SFFiniteFilterType.html":{"name":"SFFiniteFilterType","abstract":"\u003cp\u003eFinite Filter Type, including finite values and optionally one of either"},"Enums/SFEventType.html":{"name":"SFEventType","abstract":"\u003cp\u003eEvent type of the point direction\u003c/p\u003e"},"Constants.html#/c:@SF_GEOMETRY_NAME":{"name":"SF_GEOMETRY_NAME","abstract":"\u003cp\u003eGeometry type names\u003c/p\u003e"},"Constants.html#/c:@SF_POINT_NAME":{"name":"SF_POINT_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_LINESTRING_NAME":{"name":"SF_LINESTRING_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_POLYGON_NAME":{"name":"SF_POLYGON_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTIPOINT_NAME":{"name":"SF_MULTIPOINT_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTILINESTRING_NAME":{"name":"SF_MULTILINESTRING_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTIPOLYGON_NAME":{"name":"SF_MULTIPOLYGON_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_GEOMETRYCOLLECTION_NAME":{"name":"SF_GEOMETRYCOLLECTION_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_CIRCULARSTRING_NAME":{"name":"SF_CIRCULARSTRING_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_COMPOUNDCURVE_NAME":{"name":"SF_COMPOUNDCURVE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_CURVEPOLYGON_NAME":{"name":"SF_CURVEPOLYGON_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTICURVE_NAME":{"name":"SF_MULTICURVE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_MULTISURFACE_NAME":{"name":"SF_MULTISURFACE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_CURVE_NAME":{"name":"SF_CURVE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_SURFACE_NAME":{"name":"SF_SURFACE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_POLYHEDRALSURFACE_NAME":{"name":"SF_POLYHEDRALSURFACE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_TIN_NAME":{"name":"SF_TIN_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_TRIANGLE_NAME":{"name":"SF_TRIANGLE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:@SF_NONE_NAME":{"name":"SF_NONE_NAME","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Constants.html#/c:SFByteReader.h@DEFAULT_READ_BYTE_ORDER":{"name":"DEFAULT_READ_BYTE_ORDER","abstract":"\u003cp\u003eDefault read byte order\u003c/p\u003e"},"Constants.html#/c:SFByteWriter.h@DEFAULT_WRITE_BYTE_ORDER":{"name":"DEFAULT_WRITE_BYTE_ORDER","abstract":"\u003cp\u003eDefault write byte order\u003c/p\u003e"},"Constants.html#/c:@SF_DEFAULT_LINE_EPSILON":{"name":"SF_DEFAULT_LINE_EPSILON","abstract":"\u003cp\u003eDefault epsilon for point in or on line tolerance\u003c/p\u003e"},"Constants.html#/c:@SF_DEFAULT_EQUAL_EPSILON":{"name":"SF_DEFAULT_EQUAL_EPSILON","abstract":"\u003cp\u003eDefault epsilon for point equality\u003c/p\u003e"},"Constants.html#/c:@SF_WEB_MERCATOR_MAX_LAT_RANGE":{"name":"SF_WEB_MERCATOR_MAX_LAT_RANGE","abstract":"\u003cp\u003eWeb Mercator Latitude Range\u003c/p\u003e"},"Constants.html#/c:@SF_WEB_MERCATOR_MIN_LAT_RANGE":{"name":"SF_WEB_MERCATOR_MIN_LAT_RANGE","abstract":"\u003cp\u003eWeb Mercator Latitude Range\u003c/p\u003e"},"Constants.html#/c:@SF_WEB_MERCATOR_HALF_WORLD_WIDTH":{"name":"SF_WEB_MERCATOR_HALF_WORLD_WIDTH","abstract":"\u003cp\u003eHalf the world distance in either direction\u003c/p\u003e"},"Constants.html#/c:@SF_WGS84_HALF_WORLD_LON_WIDTH":{"name":"SF_WGS84_HALF_WORLD_LON_WIDTH","abstract":"\u003cp\u003eHalf the world longitude width for WGS84\u003c/p\u003e"},"Constants.html#/c:@SF_WGS84_HALF_WORLD_LAT_HEIGHT":{"name":"SF_WGS84_HALF_WORLD_LAT_HEIGHT","abstract":"\u003cp\u003eHalf the world latitude height for WGS84\u003c/p\u003e"},"Constants.html#/c:@SF_DEGREES_TO_METERS_MIN_LAT":{"name":"SF_DEGREES_TO_METERS_MIN_LAT","abstract":"\u003cp\u003eMinimum latitude degrees value convertible to meters\u003c/p\u003e"},"Constants.html#/c:@SF_BEARING_NORTH":{"name":"SF_BEARING_NORTH","abstract":"\u003cp\u003eAbsolute north bearing in degrees\u003c/p\u003e"},"Constants.html#/c:@SF_BEARING_EAST":{"name":"SF_BEARING_EAST","abstract":"\u003cp\u003eAbsolute east bearing in degrees\u003c/p\u003e"},"Constants.html#/c:@SF_BEARING_SOUTH":{"name":"SF_BEARING_SOUTH","abstract":"\u003cp\u003eAbsolute south bearing in degrees\u003c/p\u003e"},"Constants.html#/c:@SF_BEARING_WEST":{"name":"SF_BEARING_WEST","abstract":"\u003cp\u003eAbsolute west bearing degrees\u003c/p\u003e"},"Constants.html#/c:@SF_RADIANS_TO_DEGREES":{"name":"SF_RADIANS_TO_DEGREES","abstract":"\u003cp\u003eRadians to Degrees conversion\u003c/p\u003e"},"Constants.html#/c:@SF_DEGREES_TO_RADIANS":{"name":"SF_DEGREES_TO_RADIANS","abstract":"\u003cp\u003eDegrees to Radians conversion\u003c/p\u003e"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometry:":{"name":"+writeGeometry:","abstract":"\u003cp\u003eWrite a geometry to a well-known text string\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)init":{"name":"-init","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)initWithText:":{"name":"-initWithText:","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)text":{"name":"-text","abstract":"\u003cp\u003eGet the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)write:":{"name":"-write:","abstract":"\u003cp\u003eWrite a geometry to well-known text\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)name:":{"name":"-name:","abstract":"\u003cp\u003eGet the well-known text writable geometry name\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeWrappedPoint:":{"name":"-writeWrappedPoint:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePoint:":{"name":"-writePoint:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeLineString:":{"name":"-writeLineString:","abstract":"\u003cp\u003eWrite a Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePolygon:":{"name":"-writePolygon:","abstract":"\u003cp\u003eWrite a Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiPoint:":{"name":"-writeMultiPoint:","abstract":"\u003cp\u003eWrite a Multi Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiLineString:":{"name":"-writeMultiLineString:","abstract":"\u003cp\u003eWrite a Multi Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeMultiPolygon:":{"name":"-writeMultiPolygon:","abstract":"\u003cp\u003eWrite a Multi Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeGeometryCollection:":{"name":"-writeGeometryCollection:","abstract":"\u003cp\u003eWrite a Geometry Collection\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCircularString:":{"name":"-writeCircularString:","abstract":"\u003cp\u003eWrite a Circular String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCompoundCurve:":{"name":"-writeCompoundCurve:","abstract":"\u003cp\u003eWrite a Compound Curve\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeCurvePolygon:":{"name":"-writeCurvePolygon:","abstract":"\u003cp\u003eWrite a Curve Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writePolyhedralSurface:":{"name":"-writePolyhedralSurface:","abstract":"\u003cp\u003eWrite a Polyhedral Surface\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeTIN:":{"name":"-writeTIN:","abstract":"\u003cp\u003eWrite a TIN\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(im)writeTriangle:":{"name":"-writeTriangle:","abstract":"\u003cp\u003eWrite a Triangle\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometry:toString:":{"name":"+writeGeometry:toString:","abstract":"\u003cp\u003eWrite a geometry to well-known text\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeWrappedPoint:":{"name":"+writeWrappedPoint:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeWrappedPoint:toString:":{"name":"+writeWrappedPoint:toString:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePoint:":{"name":"+writePoint:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePoint:toString:":{"name":"+writePoint:toString:","abstract":"\u003cp\u003eWrite a Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeLineString:":{"name":"+writeLineString:","abstract":"\u003cp\u003eWrite a Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeLineString:toString:":{"name":"+writeLineString:toString:","abstract":"\u003cp\u003eWrite a Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolygon:":{"name":"+writePolygon:","abstract":"\u003cp\u003eWrite a Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolygon:toString:":{"name":"+writePolygon:toString:","abstract":"\u003cp\u003eWrite a Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPoint:":{"name":"+writeMultiPoint:","abstract":"\u003cp\u003eWrite a Multi Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPoint:toString:":{"name":"+writeMultiPoint:toString:","abstract":"\u003cp\u003eWrite a Multi Point\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiLineString:":{"name":"+writeMultiLineString:","abstract":"\u003cp\u003eWrite a Multi Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiLineString:toString:":{"name":"+writeMultiLineString:toString:","abstract":"\u003cp\u003eWrite a Multi Line String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPolygon:":{"name":"+writeMultiPolygon:","abstract":"\u003cp\u003eWrite a Multi Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeMultiPolygon:toString:":{"name":"+writeMultiPolygon:toString:","abstract":"\u003cp\u003eWrite a Multi Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometryCollection:":{"name":"+writeGeometryCollection:","abstract":"\u003cp\u003eWrite a Geometry Collection\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeGeometryCollection:toString:":{"name":"+writeGeometryCollection:toString:","abstract":"\u003cp\u003eWrite a Geometry Collection\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCircularString:":{"name":"+writeCircularString:","abstract":"\u003cp\u003eWrite a Circular String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCircularString:toString:":{"name":"+writeCircularString:toString:","abstract":"\u003cp\u003eWrite a Circular String\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCompoundCurve:":{"name":"+writeCompoundCurve:","abstract":"\u003cp\u003eWrite a Compound Curve\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCompoundCurve:toString:":{"name":"+writeCompoundCurve:toString:","abstract":"\u003cp\u003eWrite a Compound Curve\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCurvePolygon:":{"name":"+writeCurvePolygon:","abstract":"\u003cp\u003eWrite a Curve Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeCurvePolygon:toString:":{"name":"+writeCurvePolygon:toString:","abstract":"\u003cp\u003eWrite a Curve Polygon\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolyhedralSurface:":{"name":"+writePolyhedralSurface:","abstract":"\u003cp\u003eWrite a Polyhedral Surface\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writePolyhedralSurface:toString:":{"name":"+writePolyhedralSurface:toString:","abstract":"\u003cp\u003eWrite a Polyhedral Surface\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTIN:":{"name":"+writeTIN:","abstract":"\u003cp\u003eWrite a TIN\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTIN:toString:":{"name":"+writeTIN:toString:","abstract":"\u003cp\u003eWrite a TIN\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTriangle:":{"name":"+writeTriangle:","abstract":"\u003cp\u003eWrite a Triangle\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryWriter.html#/c:objc(cs)SFWTGeometryWriter(cm)writeTriangle:toString:":{"name":"+writeTriangle:toString:","abstract":"\u003cp\u003eWrite a Triangle\u003c/p\u003e","parent_name":"SFWTGeometryWriter"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)geometryType":{"name":"-geometryType","abstract":"\u003cp\u003eGet the geometry type\u003c/p\u003e","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)hasZ":{"name":"-hasZ","abstract":"\u003cp\u003eHas z values\u003c/p\u003e","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryTypeInfo.html#/c:objc(cs)SFWTGeometryTypeInfo(im)hasM":{"name":"-hasM","abstract":"\u003cp\u003eHas m values\u003c/p\u003e","parent_name":"SFWTGeometryTypeInfo"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:":{"name":"+readGeometryWithText:","abstract":"\u003cp\u003eRead a geometry from well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andFilter:":{"name":"+readGeometryWithText:andFilter:","abstract":"\u003cp\u003eRead a geometry from well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andExpectedType:":{"name":"+readGeometryWithText:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithText:andFilter:andExpectedType:":{"name":"+readGeometryWithText:andFilter:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)initWithText:":{"name":"-initWithText:","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)initWithReader:":{"name":"-initWithReader:","abstract":"\u003cp\u003eInitializer\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)textReader":{"name":"-textReader","abstract":"\u003cp\u003eGet the text reader\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)read":{"name":"-read","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:":{"name":"-readWithFilter:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithExpectedType:":{"name":"-readWithExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:andExpectedType:":{"name":"-readWithFilter:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readWithFilter:inType:andExpectedType:":{"name":"-readWithFilter:inType:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryType":{"name":"-readGeometryType","abstract":"\u003cp\u003eRead the geometry type info\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPointTextWithHasZ:andHasM:":{"name":"-readPointTextWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPointWithHasZ:andHasM:":{"name":"-readPointWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readLineStringWithHasZ:andHasM:":{"name":"-readLineStringWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readLineStringWithFilter:andHasZ:andHasM:":{"name":"-readLineStringWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolygonWithHasZ:andHasM:":{"name":"-readPolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolygonWithFilter:andHasZ:andHasM:":{"name":"-readPolygonWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPointWithHasZ:andHasM:":{"name":"-readMultiPointWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPointWithFilter:andHasZ:andHasM:":{"name":"-readMultiPointWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiLineStringWithHasZ:andHasM:":{"name":"-readMultiLineStringWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiLineStringWithFilter:andHasZ:andHasM:":{"name":"-readMultiLineStringWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPolygonWithHasZ:andHasM:":{"name":"-readMultiPolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiPolygonWithFilter:andHasZ:andHasM:":{"name":"-readMultiPolygonWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryCollectionWithHasZ:andHasM:":{"name":"-readGeometryCollectionWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a geometry collection\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readGeometryCollectionWithFilter:andHasZ:andHasM:":{"name":"-readGeometryCollectionWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a geometry collection\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiCurveWithFilter:andHasZ:andHasM:":{"name":"-readMultiCurveWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readMultiSurfaceWithFilter:andHasZ:andHasM:":{"name":"-readMultiSurfaceWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCircularStringWithHasZ:andHasM:":{"name":"-readCircularStringWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a circular string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCircularStringWithFilter:andHasZ:andHasM:":{"name":"-readCircularStringWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a circular string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCompoundCurveWithHasZ:andHasM:":{"name":"-readCompoundCurveWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a compound curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCompoundCurveWithFilter:andHasZ:andHasM:":{"name":"-readCompoundCurveWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a compound curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCurvePolygonWithHasZ:andHasM:":{"name":"-readCurvePolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a curve polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readCurvePolygonWithFilter:andHasZ:andHasM:":{"name":"-readCurvePolygonWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a curve polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolyhedralSurfaceWithHasZ:andHasM:":{"name":"-readPolyhedralSurfaceWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a polyhedral surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readPolyhedralSurfaceWithFilter:andHasZ:andHasM:":{"name":"-readPolyhedralSurfaceWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polyhedral surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTINWithHasZ:andHasM:":{"name":"-readTINWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a TIN\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTINWithFilter:andHasZ:andHasM:":{"name":"-readTINWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a TIN\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTriangleWithHasZ:andHasM:":{"name":"-readTriangleWithHasZ:andHasM:","abstract":"\u003cp\u003eRead a triangle\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(im)readTriangleWithFilter:andHasZ:andHasM:":{"name":"-readTriangleWithFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a triangle\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:":{"name":"+readGeometryWithReader:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:":{"name":"+readGeometryWithReader:andFilter:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andExpectedType:":{"name":"+readGeometryWithReader:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:andExpectedType:":{"name":"+readGeometryWithReader:andFilter:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryWithReader:andFilter:inType:andExpectedType:":{"name":"+readGeometryWithReader:andFilter:inType:andExpectedType:","abstract":"\u003cp\u003eRead a geometry from the well-known text\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryTypeWithReader:":{"name":"+readGeometryTypeWithReader:","abstract":"\u003cp\u003eRead the geometry type info\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPointTextWithReader:andHasZ:andHasM:":{"name":"+readPointTextWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPointWithReader:andHasZ:andHasM:":{"name":"+readPointWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readLineStringWithReader:andHasZ:andHasM:":{"name":"+readLineStringWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readLineStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readLineStringWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolygonWithReader:andHasZ:andHasM:":{"name":"+readPolygonWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readPolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPointWithReader:andHasZ:andHasM:":{"name":"+readMultiPointWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPointWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiPointWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi point\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiLineStringWithReader:andHasZ:andHasM:":{"name":"+readMultiLineStringWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiLineStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiLineStringWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi line string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPolygonWithReader:andHasZ:andHasM:":{"name":"+readMultiPolygonWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiPolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiPolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryCollectionWithReader:andHasZ:andHasM:":{"name":"+readGeometryCollectionWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a geometry collection\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readGeometryCollectionWithReader:andFilter:andHasZ:andHasM:":{"name":"+readGeometryCollectionWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a geometry collection\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiCurveWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiCurveWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readMultiSurfaceWithReader:andFilter:andHasZ:andHasM:":{"name":"+readMultiSurfaceWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a multi surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCircularStringWithReader:andHasZ:andHasM:":{"name":"+readCircularStringWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a circular string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCircularStringWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCircularStringWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a circular string\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCompoundCurveWithReader:andHasZ:andHasM:":{"name":"+readCompoundCurveWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a compound curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCompoundCurveWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCompoundCurveWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a compound curve\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCurvePolygonWithReader:andHasZ:andHasM:":{"name":"+readCurvePolygonWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a curve polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readCurvePolygonWithReader:andFilter:andHasZ:andHasM:":{"name":"+readCurvePolygonWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a curve polygon\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolyhedralSurfaceWithReader:andHasZ:andHasM:":{"name":"+readPolyhedralSurfaceWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polyhedral surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readPolyhedralSurfaceWithReader:andFilter:andHasZ:andHasM:":{"name":"+readPolyhedralSurfaceWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a polyhedral surface\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTINWithReader:andHasZ:andHasM:":{"name":"+readTINWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a TIN\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTINWithReader:andFilter:andHasZ:andHasM:":{"name":"+readTINWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a TIN\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTriangleWithReader:andHasZ:andHasM:":{"name":"+readTriangleWithReader:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a triangle\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFWTGeometryReader.html#/c:objc(cs)SFWTGeometryReader(cm)readTriangleWithReader:andFilter:andHasZ:andHasM:":{"name":"+readTriangleWithReader:andFilter:andHasZ:andHasM:","abstract":"\u003cp\u003eRead a triangle\u003c/p\u003e","parent_name":"SFWTGeometryReader"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)addEvent:":{"name":"-addEvent:","abstract":"\u003cp\u003eAdd the event to the sweep line\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)findEvent:":{"name":"-findEvent:","abstract":"\u003cp\u003eFind the existing event segment\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)intersectWithSegment:andSegment:":{"name":"-intersectWithSegment:andSegment:","abstract":"\u003cp\u003eDetermine if the two segments intersect\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(im)removeSegment:":{"name":"-removeSegment:","abstract":"\u003cp\u003eRemove the segment from the sweep line\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFSweepLine.html#/c:objc(cs)SFSweepLine(cm)xyOrderWithPoint:andPoint:":{"name":"+xyOrderWithPoint:andPoint:","abstract":"\u003cp\u003eXY order of two points\u003c/p\u003e","parent_name":"SFSweepLine"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygon:":{"name":"+simplePolygon:","abstract":"\u003cp\u003eDetermine if the polygon is simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonPoints:":{"name":"+simplePolygonPoints:","abstract":"\u003cp\u003eDetermine if the polygon points are simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRingPoints:":{"name":"+simplePolygonRingPoints:","abstract":"\u003cp\u003eDetermine if the polygon point rings are simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRing:":{"name":"+simplePolygonRing:","abstract":"\u003cp\u003eDetermine if the polygon line string ring is simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFShamosHoey.html#/c:objc(cs)SFShamosHoey(cm)simplePolygonRings:":{"name":"+simplePolygonRings:","abstract":"\u003cp\u003eDetermine if the polygon rings are simple\u003c/p\u003e","parent_name":"SFShamosHoey"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(py)above":{"name":"above","abstract":"\u003cp\u003eSegment above\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(py)below":{"name":"below","abstract":"\u003cp\u003eSegment below\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)initWithEdge:andRing:andLeftPoint:andRightPoint:":{"name":"-initWithEdge:andRing:andLeftPoint:andRightPoint:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)edge":{"name":"-edge","abstract":"\u003cp\u003eGet the edge number\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)ring":{"name":"-ring","abstract":"\u003cp\u003eGet the polygon ring number\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)leftPoint":{"name":"-leftPoint","abstract":"\u003cp\u003eGet the left point\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFSegment.html#/c:objc(cs)SFSegment(im)rightPoint":{"name":"-rightPoint","abstract":"\u003cp\u003eGet the right point\u003c/p\u003e","parent_name":"SFSegment"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)initWithRing:":{"name":"-initWithRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFEventQueue"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFEventQueue"},"Classes/SFEventQueue.html#/c:objc(cs)SFEventQueue(im)events":{"name":"-events","abstract":"\u003cp\u003eGet the events\u003c/p\u003e","parent_name":"SFEventQueue"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)initWithEdge:andRing:andPoint:andType:":{"name":"-initWithEdge:andRing:andPoint:andType:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)edge":{"name":"-edge","abstract":"\u003cp\u003eGet the edge\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)ring":{"name":"-ring","abstract":"\u003cp\u003eGet the polygon ring number\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)point":{"name":"-point","abstract":"\u003cp\u003eGet the polygon point\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(im)type":{"name":"-type","abstract":"\u003cp\u003eGet the event type\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFEvent.html#/c:objc(cs)SFEvent(cm)sort:":{"name":"+sort:","abstract":"\u003cp\u003eSort the events\u003c/p\u003e","parent_name":"SFEvent"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)type":{"name":"type","abstract":"\u003cp\u003eFinite Filter type\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)filterZ":{"name":"filterZ","abstract":"\u003cp\u003eInclude z values in filtering\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(py)filterM":{"name":"filterM","abstract":"\u003cp\u003eInclude m values in filtering\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize, filter on x and y, allowing only finite values\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:":{"name":"-initWithType:","abstract":"\u003cp\u003eInitialize, filter on x and y\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andZ:":{"name":"-initWithType:andZ:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally z\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andM:":{"name":"-initWithType:andM:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally m\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithType:andZ:andM:":{"name":"-initWithType:andZ:andM:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally z and m\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithZ:":{"name":"-initWithZ:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally z\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithM:":{"name":"-initWithM:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally m\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFPointFiniteFilter.html#/c:objc(cs)SFPointFiniteFilter(im)initWithZ:andM:":{"name":"-initWithZ:andM:","abstract":"\u003cp\u003eInitialize, filter on x, y, and optionally z and m\u003c/p\u003e","parent_name":"SFPointFiniteFilter"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(cm)centroidOfGeometry:":{"name":"+centroidOfGeometry:","abstract":"\u003cp\u003eGet the degree geometry centroid\u003c/p\u003e","parent_name":"SFDegreesCentroid"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFDegreesCentroid"},"Classes/SFDegreesCentroid.html#/c:objc(cs)SFDegreesCentroid(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the centroid point\u003c/p\u003e","parent_name":"SFDegreesCentroid"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)addGeometry:":{"name":"-addGeometry:","abstract":"\u003cp\u003eAdd a surface based dimension 2 geometry to the centroid total. Ignores","parent_name":"SFCentroidSurface"},"Classes/SFCentroidSurface.html#/c:objc(cs)SFCentroidSurface(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the centroid point\u003c/p\u003e","parent_name":"SFCentroidSurface"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)addGeometry:":{"name":"-addGeometry:","abstract":"\u003cp\u003eAdd a point based dimension 0 geometry to the centroid total\u003c/p\u003e","parent_name":"SFCentroidPoint"},"Classes/SFCentroidPoint.html#/c:objc(cs)SFCentroidPoint(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the centroid point\u003c/p\u003e","parent_name":"SFCentroidPoint"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)addGeometry:":{"name":"-addGeometry:","abstract":"\u003cp\u003eAdd a curve based dimension 1 geometry to the centroid total. Ignores","parent_name":"SFCentroidCurve"},"Classes/SFCentroidCurve.html#/c:objc(cs)SFCentroidCurve(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the centroid point\u003c/p\u003e","parent_name":"SFCentroidCurve"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)initWithText:":{"name":"-initWithText:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)text":{"name":"-text","abstract":"\u003cp\u003eGet the text\u003c/p\u003e","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)readToken":{"name":"-readToken","abstract":"\u003cp\u003eRead the next token. Ignores whitespace until a non whitespace character","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)peekToken":{"name":"-peekToken","abstract":"\u003cp\u003ePeek at the next token without reading past it\u003c/p\u003e","parent_name":"SFTextReader"},"Classes/SFTextReader.html#/c:objc(cs)SFTextReader(im)readDouble":{"name":"-readDouble","abstract":"\u003cp\u003eRead a double\u003c/p\u003e","parent_name":"SFTextReader"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)dimensionOfGeometry:":{"name":"+dimensionOfGeometry:","abstract":"\u003cp\u003eGet the dimension of the Geometry, 0 for points, 1 for curves, 2 for","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)distanceBetweenPoint1:andPoint2:":{"name":"+distanceBetweenPoint1:andPoint2:","abstract":"\u003cp\u003eGet the Pythagorean theorem distance between two points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)distanceOfLine:":{"name":"+distanceOfLine:","abstract":"\u003cp\u003eGet the Pythagorean theorem distance between the line end points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)bearingBetweenPoint1:andPoint2:":{"name":"+bearingBetweenPoint1:andPoint2:","abstract":"\u003cp\u003eGet the bearing heading in degrees between two points in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)bearingOfLine:":{"name":"+bearingOfLine:","abstract":"\u003cp\u003eGet the bearing heading in degrees between line end points in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isNorthBearing:":{"name":"+isNorthBearing:","abstract":"\u003cp\u003eDetermine if the bearing is in any north direction\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEastBearing:":{"name":"+isEastBearing:","abstract":"\u003cp\u003eDetermine if the bearing is in any east direction\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isSouthBearing:":{"name":"+isSouthBearing:","abstract":"\u003cp\u003eDetermine if the bearing is in any south direction\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isWestBearing:":{"name":"+isWestBearing:","abstract":"\u003cp\u003eDetermine if the bearing is in any west direction\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToRadians:":{"name":"+degreesToRadians:","abstract":"\u003cp\u003eConvert degrees to radians\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)radiansToDegrees:":{"name":"+radiansToDegrees:","abstract":"\u003cp\u003eConvert radians to degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)centroidOfGeometry:":{"name":"+centroidOfGeometry:","abstract":"\u003cp\u003eGet the centroid point of a 2 dimensional representation of the Geometry","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesCentroidOfGeometry:":{"name":"+degreesCentroidOfGeometry:","abstract":"\u003cp\u003eGet the geographic centroid point of a 2 dimensional representation of","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeWGS84Geometry:":{"name":"+minimizeWGS84Geometry:","abstract":"\u003cp\u003eMinimize the WGS84 geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeWebMercatorGeometry:":{"name":"+minimizeWebMercatorGeometry:","abstract":"\u003cp\u003eMinimize the Web Mercator geometry using the shortest x distance between","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)minimizeGeometry:withMaxX:":{"name":"+minimizeGeometry:withMaxX:","abstract":"\u003cp\u003eMinimize the geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeWGS84Geometry:":{"name":"+normalizeWGS84Geometry:","abstract":"\u003cp\u003eNormalize the WGS84 geometry using the shortest x distance between each","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeWebMercatorGeometry:":{"name":"+normalizeWebMercatorGeometry:","abstract":"\u003cp\u003eNormalize the Web Mercator geometry using the shortest x distance between","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)normalizeGeometry:withMaxX:":{"name":"+normalizeGeometry:withMaxX:","abstract":"\u003cp\u003eNormalize the geometry so all points outside of the min and max value","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)simplifyPoints:withTolerance:":{"name":"+simplifyPoints:withTolerance:","abstract":"\u003cp\u003eSimplify the ordered points (representing a line, polygon, etc) using the Douglas Peucker algorithm","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)perpendicularDistanceBetweenPoint:lineStart:lineEnd:":{"name":"+perpendicularDistanceBetweenPoint:lineStart:lineEnd:","abstract":"\u003cp\u003eCalculate the perpendicular distance between the point and the line represented by the start and end points.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygon:":{"name":"+point:inPolygon:","abstract":"\u003cp\u003eCheck if the point is in the polygon\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygon:withEpsilon:":{"name":"+point:inPolygon:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is in the polygon\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonRing:":{"name":"+point:inPolygonRing:","abstract":"\u003cp\u003eCheck if the point is in the polygon ring\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonRing:withEpsilon:":{"name":"+point:inPolygonRing:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is in the polygon ring\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonPoints:":{"name":"+point:inPolygonPoints:","abstract":"\u003cp\u003eCheck if the point is in the polygon points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:inPolygonPoints:withEpsilon:":{"name":"+point:inPolygonPoints:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is in the polygon points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonEdge:":{"name":"+point:onPolygonEdge:","abstract":"\u003cp\u003eCheck if the point is on the polygon edge\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonEdge:withEpsilon:":{"name":"+point:onPolygonEdge:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the polygon edge\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonRingEdge:":{"name":"+point:onPolygonRingEdge:","abstract":"\u003cp\u003eCheck if the point is on the polygon ring edge\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonRingEdge:withEpsilon:":{"name":"+point:onPolygonRingEdge:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the polygon ring edge\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonPointsEdge:":{"name":"+point:onPolygonPointsEdge:","abstract":"\u003cp\u003eCheck if the point is on the polygon ring edge points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPolygonPointsEdge:withEpsilon:":{"name":"+point:onPolygonPointsEdge:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the polygon ring edge points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygon:":{"name":"+closedPolygon:","abstract":"\u003cp\u003eCheck if the polygon outer ring is explicitly closed, where the first and","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygonRing:":{"name":"+closedPolygonRing:","abstract":"\u003cp\u003eCheck if the polygon ring is explicitly closed, where the first and last","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)closedPolygonPoints:":{"name":"+closedPolygonPoints:","abstract":"\u003cp\u003eCheck if the polygon ring points are explicitly closed, where the first","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLine:":{"name":"+point:onLine:","abstract":"\u003cp\u003eCheck if the point is on the line\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLine:withEpsilon:":{"name":"+point:onLine:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the line\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLinePoints:":{"name":"+point:onLinePoints:","abstract":"\u003cp\u003eCheck if the point is on the line represented by the points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onLinePoints:withEpsilon:":{"name":"+point:onLinePoints:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the line represented by the points\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPathPoint1:andPoint2:":{"name":"+point:onPathPoint1:andPoint2:","abstract":"\u003cp\u003eCheck if the point is on the path between point 1 and point 2\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)point:onPathPoint1:andPoint2:withEpsilon:":{"name":"+point:onPathPoint1:andPoint2:withEpsilon:","abstract":"\u003cp\u003eCheck if the point is on the path between point 1 and point 2\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)intersectionBetweenLine1:andLine2:":{"name":"+intersectionBetweenLine1:andLine2:","abstract":"\u003cp\u003eGet the point intersection between two lines\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)intersectionBetweenLine1Point1:andLine1Point2:andLine2Point1:andLine2Point2:":{"name":"+intersectionBetweenLine1Point1:andLine1Point2:andLine2Point1:andLine2Point2:","abstract":"\u003cp\u003eGet the point intersection between end points of two lines\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithGeometry:":{"name":"+degreesToMetersWithGeometry:","abstract":"\u003cp\u003eConvert a geometry in degrees to a geometry in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPoint:":{"name":"+degreesToMetersWithPoint:","abstract":"\u003cp\u003eConvert a point in degrees to a point in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithX:andY:":{"name":"+degreesToMetersWithX:andY:","abstract":"\u003cp\u003eConvert a coordinate in degrees to a point in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiPoint:":{"name":"+degreesToMetersWithMultiPoint:","abstract":"\u003cp\u003eConvert a multi point in degrees to a multi point in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithLineString:":{"name":"+degreesToMetersWithLineString:","abstract":"\u003cp\u003eConvert a line string in degrees to a line string in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithLine:":{"name":"+degreesToMetersWithLine:","abstract":"\u003cp\u003eConvert a line in degrees to a line in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiLineString:":{"name":"+degreesToMetersWithMultiLineString:","abstract":"\u003cp\u003eConvert a multi line string in degrees to a multi line string in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPolygon:":{"name":"+degreesToMetersWithPolygon:","abstract":"\u003cp\u003eConvert a polygon in degrees to a polygon in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithMultiPolygon:":{"name":"+degreesToMetersWithMultiPolygon:","abstract":"\u003cp\u003eConvert a multi polygon in degrees to a multi polygon in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCircularString:":{"name":"+degreesToMetersWithCircularString:","abstract":"\u003cp\u003eConvert a circular string in degrees to a circular string in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCompoundCurve:":{"name":"+degreesToMetersWithCompoundCurve:","abstract":"\u003cp\u003eConvert a compound curve in degrees to a compound curve in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithCurvePolygon:":{"name":"+degreesToMetersWithCurvePolygon:","abstract":"\u003cp\u003eConvert a curve polygon in degrees to a curve polygon in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithPolyhedralSurface:":{"name":"+degreesToMetersWithPolyhedralSurface:","abstract":"\u003cp\u003eConvert a polyhedral surface in degrees to a polyhedral surface in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithTIN:":{"name":"+degreesToMetersWithTIN:","abstract":"\u003cp\u003eConvert a TIN in degrees to a TIN in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)degreesToMetersWithTriangle:":{"name":"+degreesToMetersWithTriangle:","abstract":"\u003cp\u003eConvert a triangle in degrees to a triangle in meters\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithGeometry:":{"name":"+metersToDegreesWithGeometry:","abstract":"\u003cp\u003eConvert a geometry in meters to a geometry in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPoint:":{"name":"+metersToDegreesWithPoint:","abstract":"\u003cp\u003eConvert a point in meters to a point in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithX:andY:":{"name":"+metersToDegreesWithX:andY:","abstract":"\u003cp\u003eConvert a coordinate in meters to a point in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiPoint:":{"name":"+metersToDegreesWithMultiPoint:","abstract":"\u003cp\u003eConvert a multi point in meters to a multi point in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithLineString:":{"name":"+metersToDegreesWithLineString:","abstract":"\u003cp\u003eConvert a line string in meters to a line string in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithLine:":{"name":"+metersToDegreesWithLine:","abstract":"\u003cp\u003eConvert a line in meters to a line in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiLineString:":{"name":"+metersToDegreesWithMultiLineString:","abstract":"\u003cp\u003eConvert a multi line string in meters to a multi line string in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPolygon:":{"name":"+metersToDegreesWithPolygon:","abstract":"\u003cp\u003eConvert a polygon in meters to a polygon in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithMultiPolygon:":{"name":"+metersToDegreesWithMultiPolygon:","abstract":"\u003cp\u003eConvert a multi polygon in meters to a multi polygon in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCircularString:":{"name":"+metersToDegreesWithCircularString:","abstract":"\u003cp\u003eConvert a circular string in meters to a circular string in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCompoundCurve:":{"name":"+metersToDegreesWithCompoundCurve:","abstract":"\u003cp\u003eConvert a compound curve in meters to a compound curve in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithCurvePolygon:":{"name":"+metersToDegreesWithCurvePolygon:","abstract":"\u003cp\u003eConvert a curve polygon in meters to a curve polygon in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithPolyhedralSurface:":{"name":"+metersToDegreesWithPolyhedralSurface:","abstract":"\u003cp\u003eConvert a polyhedral surface in meters to a polyhedral surface in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithTIN:":{"name":"+metersToDegreesWithTIN:","abstract":"\u003cp\u003eConvert a TIN in meters to a TIN in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)metersToDegreesWithTriangle:":{"name":"+metersToDegreesWithTriangle:","abstract":"\u003cp\u003eConvert a triangle in meters to a triangle in degrees\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84Envelope":{"name":"+wgs84Envelope","abstract":"\u003cp\u003eGet a WGS84 bounded geometry envelope\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84TransformableEnvelope":{"name":"+wgs84TransformableEnvelope","abstract":"\u003cp\u003eGet a WGS84 bounded geometry envelope used for projection transformations","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)webMercatorEnvelope":{"name":"+webMercatorEnvelope","abstract":"\u003cp\u003eGet a Web Mercator bounded geometry envelope\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)wgs84EnvelopeWithWebMercator":{"name":"+wgs84EnvelopeWithWebMercator","abstract":"\u003cp\u003eGet a WGS84 geometry envelope with Web Mercator bounds\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropWebMercatorGeometry:":{"name":"+cropWebMercatorGeometry:","abstract":"\u003cp\u003eCrop the geometry in meters by web mercator world bounds. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropGeometry:withEnvelope:":{"name":"+cropGeometry:withEnvelope:","abstract":"\u003cp\u003eCrop the geometry in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPoint:withEnvelope:":{"name":"+cropPoint:withEnvelope:","abstract":"\u003cp\u003eCrop the point by the envelope bounds.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPoints:withEnvelope:":{"name":"+cropPoints:withEnvelope:","abstract":"\u003cp\u003eCrop the list of consecutive points in meters by the envelope bounds in","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiPoint:withEnvelope:":{"name":"+cropMultiPoint:withEnvelope:","abstract":"\u003cp\u003eCrop the multi point by the envelope bounds.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropLineString:withEnvelope:":{"name":"+cropLineString:withEnvelope:","abstract":"\u003cp\u003eCrop the line string in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropLine:withEnvelope:":{"name":"+cropLine:withEnvelope:","abstract":"\u003cp\u003eCrop the line in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiLineString:withEnvelope:":{"name":"+cropMultiLineString:withEnvelope:","abstract":"\u003cp\u003eCrop the multi line string in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPolygon:withEnvelope:":{"name":"+cropPolygon:withEnvelope:","abstract":"\u003cp\u003eCrop the polygon in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropMultiPolygon:withEnvelope:":{"name":"+cropMultiPolygon:withEnvelope:","abstract":"\u003cp\u003eCrop the multi polygon in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCircularString:withEnvelope:":{"name":"+cropCircularString:withEnvelope:","abstract":"\u003cp\u003eCrop the circular string in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCompoundCurve:withEnvelope:":{"name":"+cropCompoundCurve:withEnvelope:","abstract":"\u003cp\u003eCrop the compound curve in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropCurvePolygon:withEnvelope:":{"name":"+cropCurvePolygon:withEnvelope:","abstract":"\u003cp\u003eCrop the curve polygon in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropPolyhedralSurface:withEnvelope:":{"name":"+cropPolyhedralSurface:withEnvelope:","abstract":"\u003cp\u003eCrop the polyhedral surface in meters by the envelope bounds in meters.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropTIN:withEnvelope:":{"name":"+cropTIN:withEnvelope:","abstract":"\u003cp\u003eCrop the TIN in meters by the envelope bounds in meters. Cropping removes","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)cropTriangle:withEnvelope:":{"name":"+cropTriangle:withEnvelope:","abstract":"\u003cp\u003eCrop the triangle in meters by the envelope bounds in meters. Cropping","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEqualWithPoint1:andPoint2:":{"name":"+isEqualWithPoint1:andPoint2:","abstract":"\u003cp\u003eDetermine if the points are equal within the default tolerance of","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)isEqualWithPoint1:andPoint2:andEpsilon:":{"name":"+isEqualWithPoint1:andPoint2:andEpsilon:","abstract":"\u003cp\u003eDetermine if the points are equal within the tolerance. For exact","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)containsPoint:withinEnvelope:":{"name":"+containsPoint:withinEnvelope:","abstract":"\u003cp\u003eDetermine if the envelope contains the point within the default tolerance","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)containsEnvelope:withinEnvelope:":{"name":"+containsEnvelope:withinEnvelope:","abstract":"\u003cp\u003eDetermine if envelope 1 contains the envelope 2 within the default","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84Geometry:":{"name":"+boundWGS84Geometry:","abstract":"\u003cp\u003eBound all points in the geometry to be within WGS84 limits.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84TransformableGeometry:":{"name":"+boundWGS84TransformableGeometry:","abstract":"\u003cp\u003eBound all points in the geometry to be within WGS84 projection","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWebMercatorGeometry:":{"name":"+boundWebMercatorGeometry:","abstract":"\u003cp\u003eBound all points in the geometry to be within Web Mercator limits.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundWGS84WithWebMercatorGeometry:":{"name":"+boundWGS84WithWebMercatorGeometry:","abstract":"\u003cp\u003eBound all points in the WGS84 geometry to be within degree Web Mercator","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)boundGeometry:withEnvelope:":{"name":"+boundGeometry:withEnvelope:","abstract":"\u003cp\u003eBound all points in the geometry to be within the geometry envelope.","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)hasZ:":{"name":"+hasZ:","abstract":"\u003cp\u003eDetermine if the geometries contain a Z value\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)hasM:":{"name":"+hasM:","abstract":"\u003cp\u003eDetermine if the geometries contain a M value\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)parentHierarchyOfType:":{"name":"+parentHierarchyOfType:","abstract":"\u003cp\u003eGet the parent type hierarchy of the provided geometry type starting with","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)parentTypeOfType:":{"name":"+parentTypeOfType:","abstract":"\u003cp\u003eGet the parent Geometry Type of the provided geometry type\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)childHierarchyOfType:":{"name":"+childHierarchyOfType:","abstract":"\u003cp\u003eGet the child type hierarchy of the provided geometry type.\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)childTypesOfType:":{"name":"+childTypesOfType:","abstract":"\u003cp\u003eGet the immediate child Geometry Types of the provided geometry type\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)encodeGeometry:":{"name":"+encodeGeometry:","abstract":"\u003cp\u003eEncode the geometry to data\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryUtils.html#/c:objc(cs)SFGeometryUtils(cm)decodeGeometry:":{"name":"+decodeGeometry:","abstract":"\u003cp\u003eDecode the data into a geometry\u003c/p\u003e","parent_name":"SFGeometryUtils"},"Classes/SFGeometryPrinter.html#/c:objc(cs)SFGeometryPrinter(cm)geometryString:":{"name":"+geometryString:","abstract":"\u003cp\u003eGet Geometry information as a String\u003c/p\u003e","parent_name":"SFGeometryPrinter"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildEnvelopeWithGeometry:":{"name":"+buildEnvelopeWithGeometry:","abstract":"\u003cp\u003eBuild geometry envelope with geometry\u003c/p\u003e","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildEnvelope:andGeometry:":{"name":"+buildEnvelope:andGeometry:","abstract":"\u003cp\u003eExpand existing geometry envelope with a geometry\u003c/p\u003e","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFGeometryEnvelopeBuilder.html#/c:objc(cs)SFGeometryEnvelopeBuilder(cm)buildGeometryWithEnvelope:":{"name":"+buildGeometryWithEnvelope:","abstract":"\u003cp\u003eBuild a geometry representation of the geometry envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelopeBuilder"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)nextByte":{"name":"nextByte","abstract":"\u003cp\u003eNext byte index to write\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)os":{"name":"os","abstract":"\u003cp\u003eOutput stream to write bytes to\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(py)byteOrder":{"name":"byteOrder","abstract":"\u003cp\u003eByte order used to write, little or big endian\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)initWithByteOrder:":{"name":"-initWithByteOrder:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)close":{"name":"-close","abstract":"\u003cp\u003eClose the byte writer\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)data":{"name":"-data","abstract":"\u003cp\u003eGet the written byte data\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)size":{"name":"-size","abstract":"\u003cp\u003eGet the current size in bytes written\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeString:":{"name":"-writeString:","abstract":"\u003cp\u003eWrite a string\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeByte:":{"name":"-writeByte:","abstract":"\u003cp\u003eWrite a byte\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeData:":{"name":"-writeData:","abstract":"\u003cp\u003eWrite data\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeInt:":{"name":"-writeInt:","abstract":"\u003cp\u003eWrite an integer\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteWriter.html#/c:objc(cs)SFByteWriter(im)writeDouble:":{"name":"-writeDouble:","abstract":"\u003cp\u003eWrite a double\u003c/p\u003e","parent_name":"SFByteWriter"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)nextByte":{"name":"nextByte","abstract":"\u003cp\u003eNext byte index to read\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)bytes":{"name":"bytes","abstract":"\u003cp\u003eBytes to read\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(py)byteOrder":{"name":"byteOrder","abstract":"\u003cp\u003eByte order used to read, little or big endian\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)initWithData:":{"name":"-initWithData:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)initWithData:andByteOrder:":{"name":"-initWithData:andByteOrder:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readString:":{"name":"-readString:","abstract":"\u003cp\u003eRead a String from the provided number of bytes\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readByte":{"name":"-readByte","abstract":"\u003cp\u003eRead a single byte\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readData:":{"name":"-readData:","abstract":"\u003cp\u003eRead Data with the provided number of bytes\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readInt":{"name":"-readInt","abstract":"\u003cp\u003eRead an integer (4 bytes)\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFByteReader.html#/c:objc(cs)SFByteReader(im)readDouble":{"name":"-readDouble","abstract":"\u003cp\u003eRead a double (8 bytes)\u003c/p\u003e","parent_name":"SFByteReader"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(cm)extendedGeometryCollectionWithGeometryCollection:":{"name":"+extendedGeometryCollectionWithGeometryCollection:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(cm)extendedGeometryCollectionWithExtendedGeometryCollection:":{"name":"+extendedGeometryCollectionWithExtendedGeometryCollection:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)initWithGeometryCollection:":{"name":"-initWithGeometryCollection:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)initWithExtendedGeometryCollection:":{"name":"-initWithExtendedGeometryCollection:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFExtendedGeometryCollection.html#/c:objc(cs)SFExtendedGeometryCollection(im)updateGeometryType":{"name":"-updateGeometryType","abstract":"\u003cp\u003eUpdate the extended geometry type based upon the contained geometries\u003c/p\u003e","parent_name":"SFExtendedGeometryCollection"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangle":{"name":"+triangle","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithHasZ:andHasM:":{"name":"+triangleWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithRings:":{"name":"+triangleWithRings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithRing:":{"name":"+triangleWithRing:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(cm)triangleWithTriangle:":{"name":"+triangleWithTriangle:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithRing:":{"name":"-initWithRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTriangle.html#/c:objc(cs)SFTriangle(im)initWithTriangle:":{"name":"-initWithTriangle:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTriangle"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tin":{"name":"+tin","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithHasZ:andHasM:":{"name":"+tinWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithPolygons:":{"name":"+tinWithPolygons:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithPolygon:":{"name":"+tinWithPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(cm)tinWithTIN:":{"name":"+tinWithTIN:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFTIN.html#/c:objc(cs)SFTIN(im)initWithTIN:":{"name":"-initWithTIN:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFTIN"},"Classes/SFSurface.html#/c:objc(cs)SFSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(py)polygons":{"name":"polygons","abstract":"\u003cp\u003eArray of polygons\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurface":{"name":"+polyhedralSurface","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithHasZ:andHasM:":{"name":"+polyhedralSurfaceWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolygons:":{"name":"+polyhedralSurfaceWithPolygons:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolygon:":{"name":"+polyhedralSurfaceWithPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(cm)polyhedralSurfaceWithPolyhedralSurface:":{"name":"+polyhedralSurfaceWithPolyhedralSurface:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)initWithPolyhedralSurface:":{"name":"-initWithPolyhedralSurface:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)patches":{"name":"-patches","abstract":"\u003cp\u003eGet patches\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)setPatches:":{"name":"-setPatches:","abstract":"\u003cp\u003eSet patches\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPolygon:":{"name":"-addPolygon:","abstract":"\u003cp\u003eAdd a polygon\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPatch:":{"name":"-addPatch:","abstract":"\u003cp\u003eAdd patch\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPolygons:":{"name":"-addPolygons:","abstract":"\u003cp\u003eAdd polygons\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)addPatches:":{"name":"-addPatches:","abstract":"\u003cp\u003eAdd patches\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)numPolygons":{"name":"-numPolygons","abstract":"\u003cp\u003eGet the number of polygons\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)numPatches":{"name":"-numPatches","abstract":"\u003cp\u003eGet the number of patches\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)polygonAtIndex:":{"name":"-polygonAtIndex:","abstract":"\u003cp\u003eGet the Nth polygon\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolyhedralSurface.html#/c:objc(cs)SFPolyhedralSurface(im)patchAtIndex:":{"name":"-patchAtIndex:","abstract":"\u003cp\u003eGet the Nth polygon patch\u003c/p\u003e","parent_name":"SFPolyhedralSurface"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygon":{"name":"+polygon","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithHasZ:andHasM:":{"name":"+polygonWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithRings:":{"name":"+polygonWithRings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithRing:":{"name":"+polygonWithRing:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(cm)polygonWithPolygon:":{"name":"+polygonWithPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithRing:":{"name":"-initWithRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)lineStrings":{"name":"-lineStrings","abstract":"\u003cp\u003eGet the line string rings\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)setRings:":{"name":"-setRings:","abstract":"\u003cp\u003eSet the line string rings\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)ringAtIndex:":{"name":"-ringAtIndex:","abstract":"\u003cp\u003eReturns the Nth ring where the exterior ring is at 0, interior rings","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)exteriorRing":{"name":"-exteriorRing","abstract":"\u003cp\u003eGet the exterior ring\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPolygon.html#/c:objc(cs)SFPolygon(im)interiorRingAtIndex:":{"name":"-interiorRingAtIndex:","abstract":"\u003cp\u003eReturns the Nth interior ring for this Polygon\u003c/p\u003e","parent_name":"SFPolygon"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)x":{"name":"x","abstract":"\u003cp\u003eX coordinate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)y":{"name":"y","abstract":"\u003cp\u003eY coordinate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)z":{"name":"z","abstract":"\u003cp\u003eZ coordinate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(py)m":{"name":"m","abstract":"\u003cp\u003eM coordinate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)point":{"name":"+point","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:":{"name":"+pointWithXValue:andYValue:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:":{"name":"+pointWithX:andY:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:andZ:":{"name":"+pointWithX:andY:andZ:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZ:":{"name":"+pointWithXValue:andYValue:andZ:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZValue:":{"name":"+pointWithXValue:andYValue:andZValue:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithX:andY:andZ:andM:":{"name":"+pointWithX:andY:andZ:andM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZ:andM:":{"name":"+pointWithXValue:andYValue:andZ:andM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithXValue:andYValue:andZValue:andMValue:":{"name":"+pointWithXValue:andYValue:andZValue:andMValue:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithHasZ:andHasM:andX:andY:":{"name":"+pointWithHasZ:andHasM:andX:andY:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithHasZ:andHasM:andXValue:andYValue:":{"name":"+pointWithHasZ:andHasM:andXValue:andYValue:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(cm)pointWithPoint:":{"name":"+pointWithPoint:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:":{"name":"-initWithXValue:andYValue:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:":{"name":"-initWithX:andY:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:andZ:":{"name":"-initWithX:andY:andZ:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZ:":{"name":"-initWithXValue:andYValue:andZ:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZValue:":{"name":"-initWithXValue:andYValue:andZValue:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithX:andY:andZ:andM:":{"name":"-initWithX:andY:andZ:andM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZ:andM:":{"name":"-initWithXValue:andYValue:andZ:andM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithXValue:andYValue:andZValue:andMValue:":{"name":"-initWithXValue:andYValue:andZValue:andMValue:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithHasZ:andHasM:andX:andY:":{"name":"-initWithHasZ:andHasM:andX:andY:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithHasZ:andHasM:andXValue:andYValue:":{"name":"-initWithHasZ:andHasM:andXValue:andYValue:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)initWithPoint:":{"name":"-initWithPoint:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setXValue:":{"name":"-setXValue:","abstract":"\u003cp\u003eSet the x value\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setYValue:":{"name":"-setYValue:","abstract":"\u003cp\u003eSet the y value\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setZValue:":{"name":"-setZValue:","abstract":"\u003cp\u003eSet the z value\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)setMValue:":{"name":"-setMValue:","abstract":"\u003cp\u003eSet the m value\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualXToPoint:":{"name":"-isEqualXToPoint:","abstract":"\u003cp\u003eIndicates if x values are equal\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualYToPoint:":{"name":"-isEqualYToPoint:","abstract":"\u003cp\u003eIndicates if y values are equal\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFPoint.html#/c:objc(cs)SFPoint(im)isEqualXYToPoint:":{"name":"-isEqualXYToPoint:","abstract":"\u003cp\u003eIndicates if x and y values are equal\u003c/p\u003e","parent_name":"SFPoint"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)surfaces":{"name":"-surfaces","abstract":"\u003cp\u003eGet the surfaces\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)setSurfaces:":{"name":"-setSurfaces:","abstract":"\u003cp\u003eSet the surfaces\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)addSurface:":{"name":"-addSurface:","abstract":"\u003cp\u003eAdd a surface\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)addSurfaces:":{"name":"-addSurfaces:","abstract":"\u003cp\u003eAdd surfaces\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)numSurfaces":{"name":"-numSurfaces","abstract":"\u003cp\u003eGet the number of surfaces\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiSurface.html#/c:objc(cs)SFMultiSurface(im)surfaceAtIndex:":{"name":"-surfaceAtIndex:","abstract":"\u003cp\u003eReturns the Nth surface\u003c/p\u003e","parent_name":"SFMultiSurface"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygon":{"name":"+multiPolygon","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithHasZ:andHasM:":{"name":"+multiPolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithPolygons:":{"name":"+multiPolygonWithPolygons:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithPolygon:":{"name":"+multiPolygonWithPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(cm)multiPolygonWithMultiPolygon:":{"name":"+multiPolygonWithMultiPolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithPolygons:":{"name":"-initWithPolygons:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithPolygon:":{"name":"-initWithPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)initWithMultiPolygon:":{"name":"-initWithMultiPolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)polygons":{"name":"-polygons","abstract":"\u003cp\u003eGet the polygons\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)setPolygons:":{"name":"-setPolygons:","abstract":"\u003cp\u003eSet the polygons\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)addPolygon:":{"name":"-addPolygon:","abstract":"\u003cp\u003eAdd a polygon\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)addPolygons:":{"name":"-addPolygons:","abstract":"\u003cp\u003eAdd polygons\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)numPolygons":{"name":"-numPolygons","abstract":"\u003cp\u003eGet the number of polygons\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPolygon.html#/c:objc(cs)SFMultiPolygon(im)polygonAtIndex:":{"name":"-polygonAtIndex:","abstract":"\u003cp\u003eReturns the Nth polygon\u003c/p\u003e","parent_name":"SFMultiPolygon"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPoint":{"name":"+multiPoint","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithHasZ:andHasM:":{"name":"+multiPointWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithPoints:":{"name":"+multiPointWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithPoint:":{"name":"+multiPointWithPoint:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(cm)multiPointWithMultiPoint:":{"name":"+multiPointWithMultiPoint:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithPoint:":{"name":"-initWithPoint:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)initWithMultiPoint:":{"name":"-initWithMultiPoint:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)points":{"name":"-points","abstract":"\u003cp\u003eGet the points\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)setPoints:":{"name":"-setPoints:","abstract":"\u003cp\u003eSet the points\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)addPoint:":{"name":"-addPoint:","abstract":"\u003cp\u003eAdd a point\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)addPoints:":{"name":"-addPoints:","abstract":"\u003cp\u003eAdd points\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)numPoints":{"name":"-numPoints","abstract":"\u003cp\u003eGet the number of points\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiPoint.html#/c:objc(cs)SFMultiPoint(im)pointAtIndex:":{"name":"-pointAtIndex:","abstract":"\u003cp\u003eReturns the Nth point\u003c/p\u003e","parent_name":"SFMultiPoint"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineString":{"name":"+multiLineString","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithHasZ:andHasM:":{"name":"+multiLineStringWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithLineStrings:":{"name":"+multiLineStringWithLineStrings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithLineString:":{"name":"+multiLineStringWithLineString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(cm)multiLineStringWithMultiLineString:":{"name":"+multiLineStringWithMultiLineString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithLineStrings:":{"name":"-initWithLineStrings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)initWithMultiLineString:":{"name":"-initWithMultiLineString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)lineStrings":{"name":"-lineStrings","abstract":"\u003cp\u003eGet the line strings\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)setLineStrings:":{"name":"-setLineStrings:","abstract":"\u003cp\u003eSet the line strings\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)addLineString:":{"name":"-addLineString:","abstract":"\u003cp\u003eAdd a line string\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)addLineStrings:":{"name":"-addLineStrings:","abstract":"\u003cp\u003eAdd line strings\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)numLineStrings":{"name":"-numLineStrings","abstract":"\u003cp\u003eGet the number of line strings\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiLineString.html#/c:objc(cs)SFMultiLineString(im)lineStringAtIndex:":{"name":"-lineStringAtIndex:","abstract":"\u003cp\u003eReturns the Nth line string\u003c/p\u003e","parent_name":"SFMultiLineString"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)curves":{"name":"-curves","abstract":"\u003cp\u003eGet the curves\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)setCurves:":{"name":"-setCurves:","abstract":"\u003cp\u003eSet the curves\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)addCurve:":{"name":"-addCurve:","abstract":"\u003cp\u003eAdd a curve\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)addCurves:":{"name":"-addCurves:","abstract":"\u003cp\u003eAdd curves\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)numCurves":{"name":"-numCurves","abstract":"\u003cp\u003eGet the number of curves\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)curveAtIndex:":{"name":"-curveAtIndex:","abstract":"\u003cp\u003eReturns the Nth curve\u003c/p\u003e","parent_name":"SFMultiCurve"},"Classes/SFMultiCurve.html#/c:objc(cs)SFMultiCurve(im)isClosed":{"name":"-isClosed","abstract":"\u003cp\u003eDetermine if this Multi Curve is closed for each Curve (start point = end","parent_name":"SFMultiCurve"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRing":{"name":"+linearRing","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithHasZ:andHasM:":{"name":"+linearRingWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithPoints:":{"name":"+linearRingWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(cm)linearRingWithLinearRing:":{"name":"+linearRingWithLinearRing:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLinearRing.html#/c:objc(cs)SFLinearRing(im)initWithLinearRing:":{"name":"-initWithLinearRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLinearRing"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(py)points":{"name":"points","abstract":"\u003cp\u003eArray of points\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineString":{"name":"+lineString","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithHasZ:andHasM:":{"name":"+lineStringWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithPoints:":{"name":"+lineStringWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(cm)lineStringWithLineString:":{"name":"+lineStringWithLineString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)addPoint:":{"name":"-addPoint:","abstract":"\u003cp\u003eAdd a point\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)addPoints:":{"name":"-addPoints:","abstract":"\u003cp\u003eAdd points\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)numPoints":{"name":"-numPoints","abstract":"\u003cp\u003eGet the number of points\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLineString.html#/c:objc(cs)SFLineString(im)pointAtIndex:":{"name":"-pointAtIndex:","abstract":"\u003cp\u003eReturns the Nth point\u003c/p\u003e","parent_name":"SFLineString"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)line":{"name":"+line","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithHasZ:andHasM:":{"name":"+lineWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithPoints:":{"name":"+lineWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithPoint1:andPoint2:":{"name":"+lineWithPoint1:andPoint2:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(cm)lineWithLine:":{"name":"+lineWithLine:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithPoint1:andPoint2:":{"name":"-initWithPoint1:andPoint2:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFLine.html#/c:objc(cs)SFLine(im)initWithLine:":{"name":"-initWithLine:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFLine"},"Classes/SFGeometryTypes.html#/c:objc(cs)SFGeometryTypes(cm)name:":{"name":"+name:","abstract":"\u003cp\u003eGet the name of the geometry type\u003c/p\u003e","parent_name":"SFGeometryTypes"},"Classes/SFGeometryTypes.html#/c:objc(cs)SFGeometryTypes(cm)fromName:":{"name":"+fromName:","abstract":"\u003cp\u003eGet the geometry type of the name\u003c/p\u003e","parent_name":"SFGeometryTypes"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minX":{"name":"minX","abstract":"\u003cp\u003eX coordinate range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxX":{"name":"maxX","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minY":{"name":"minY","abstract":"\u003cp\u003eY coordinate range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxY":{"name":"maxY","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)hasZ":{"name":"hasZ","abstract":"\u003cp\u003eHas Z value and Z coordinate range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minZ":{"name":"minZ","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxZ":{"name":"maxZ","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)hasM":{"name":"hasM","abstract":"\u003cp\u003eHas M value and M coordinate range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)minM":{"name":"minM","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(py)maxM":{"name":"maxM","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelope":{"name":"+envelope","abstract":"\u003cp\u003eCreate with no z or m\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithHasZ:andHasM:":{"name":"+envelopeWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate with the has z and m values\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMaxX:andMaxY:":{"name":"+envelopeWithMinX:andMinY:andMaxX:andMaxY:","abstract":"\u003cp\u003eCreate with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:","abstract":"\u003cp\u003eCreate with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:":{"name":"+envelopeWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:","abstract":"\u003cp\u003eCreate with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:","abstract":"\u003cp\u003eCreate with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:":{"name":"+envelopeWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:","abstract":"\u003cp\u003eCreate with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)envelopeWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:":{"name":"+envelopeWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:","abstract":"\u003cp\u003eCreate with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(cm)geometryEnvelopeWithGeometryEnvelope:":{"name":"+geometryEnvelopeWithGeometryEnvelope:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize with no z or m\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize with the has z and m values\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMaxX:andMaxY:":{"name":"-initWithMinX:andMinY:andMaxX:andMaxY:","abstract":"\u003cp\u003eInitialize with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:":{"name":"-initWithMinXValue:andMinYValue:andMaxXValue:andMaxYValue:","abstract":"\u003cp\u003eInitialize with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:":{"name":"-initWithMinX:andMinY:andMinZ:andMaxX:andMaxY:andMaxZ:","abstract":"\u003cp\u003eInitialize with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:":{"name":"-initWithMinXValue:andMinYValue:andMinZValue:andMaxXValue:andMaxYValue:andMaxZValue:","abstract":"\u003cp\u003eInitialize with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:":{"name":"-initWithMinX:andMinY:andMinZ:andMinM:andMaxX:andMaxY:andMaxZ:andMaxM:","abstract":"\u003cp\u003eInitialize with number range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:":{"name":"-initWithMinXValue:andMinYValue:andMinZValue:andMinMValue:andMaxXValue:andMaxYValue:andMaxZValue:andMaxMValue:","abstract":"\u003cp\u003eInitialize with double range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)initWithGeometryEnvelope:":{"name":"-initWithGeometryEnvelope:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinXValue:":{"name":"-setMinXValue:","abstract":"\u003cp\u003eSet the min x value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxXValue:":{"name":"-setMaxXValue:","abstract":"\u003cp\u003eSet the max x value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinYValue:":{"name":"-setMinYValue:","abstract":"\u003cp\u003eSet the min y value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxYValue:":{"name":"-setMaxYValue:","abstract":"\u003cp\u003eSet the max y value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinZValue:":{"name":"-setMinZValue:","abstract":"\u003cp\u003eSet the min z value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxZValue:":{"name":"-setMaxZValue:","abstract":"\u003cp\u003eSet the max z value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMinMValue:":{"name":"-setMinMValue:","abstract":"\u003cp\u003eSet the min m value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)setMaxMValue:":{"name":"-setMaxMValue:","abstract":"\u003cp\u003eSet the max m value\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)is3D":{"name":"-is3D","abstract":"\u003cp\u003eTrue if has Z coordinates\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isMeasured":{"name":"-isMeasured","abstract":"\u003cp\u003eTrue if has M measurements\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)xRange":{"name":"-xRange","abstract":"\u003cp\u003eGet the x range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)yRange":{"name":"-yRange","abstract":"\u003cp\u003eGet the y range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)zRange":{"name":"-zRange","abstract":"\u003cp\u003eGet the z range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)mRange":{"name":"-mRange","abstract":"\u003cp\u003eGet the m range\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isPoint":{"name":"-isPoint","abstract":"\u003cp\u003eDetermine if the envelope is of a single point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)topLeft":{"name":"-topLeft","abstract":"\u003cp\u003eGet the top left point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottomLeft":{"name":"-bottomLeft","abstract":"\u003cp\u003eGet the bottom left point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottomRight":{"name":"-bottomRight","abstract":"\u003cp\u003eGet the bottom right point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)topRight":{"name":"-topRight","abstract":"\u003cp\u003eGet the top right point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)left":{"name":"-left","abstract":"\u003cp\u003eGet the left line\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)bottom":{"name":"-bottom","abstract":"\u003cp\u003eGet the bottom line\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)right":{"name":"-right","abstract":"\u003cp\u003eGet the right line\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)top":{"name":"-top","abstract":"\u003cp\u003eGet the top line\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)midX":{"name":"-midX","abstract":"\u003cp\u003eGet the envelope mid x\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)midY":{"name":"-midY","abstract":"\u003cp\u003eGet the envelope mid y\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the envelope centroid point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)isEmpty":{"name":"-isEmpty","abstract":"\u003cp\u003eDetermine if the envelope is empty\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)intersectsWithEnvelope:":{"name":"-intersectsWithEnvelope:","abstract":"\u003cp\u003eDetermine if intersects with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)intersectsWithEnvelope:withAllowEmpty:":{"name":"-intersectsWithEnvelope:withAllowEmpty:","abstract":"\u003cp\u003eDetermine if intersects with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)overlapWithEnvelope:":{"name":"-overlapWithEnvelope:","abstract":"\u003cp\u003eGet the overlapping geometry envelope with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)overlapWithEnvelope:withAllowEmpty:":{"name":"-overlapWithEnvelope:withAllowEmpty:","abstract":"\u003cp\u003eGet the overlapping geometry envelope with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)unionWithEnvelope:":{"name":"-unionWithEnvelope:","abstract":"\u003cp\u003eGet the union geometry envelope combined with the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsPoint:":{"name":"-containsPoint:","abstract":"\u003cp\u003eDetermine if contains the point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsPoint:withEpsilon:":{"name":"-containsPoint:withEpsilon:","abstract":"\u003cp\u003eDetermine if contains the point\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsX:andY:":{"name":"-containsX:andY:","abstract":"\u003cp\u003eDetermine if contains the coordinate\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsX:andY:withEpsilon:":{"name":"-containsX:andY:withEpsilon:","abstract":"\u003cp\u003eDetermine if contains the coordinate\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsEnvelope:":{"name":"-containsEnvelope:","abstract":"\u003cp\u003eDetermine if inclusively contains the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)containsEnvelope:withEpsilon:":{"name":"-containsEnvelope:withEpsilon:","abstract":"\u003cp\u003eDetermine if inclusively contains the provided envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryEnvelope.html#/c:objc(cs)SFGeometryEnvelope(im)buildGeometry":{"name":"-buildGeometry","abstract":"\u003cp\u003eBuild a geometry representation of the geometry envelope\u003c/p\u003e","parent_name":"SFGeometryEnvelope"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(py)geometries":{"name":"geometries","abstract":"\u003cp\u003eArray of geometries\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollection":{"name":"+geometryCollection","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithHasZ:andHasM:":{"name":"+geometryCollectionWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometries:":{"name":"+geometryCollectionWithGeometries:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometry:":{"name":"+geometryCollectionWithGeometry:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(cm)geometryCollectionWithGeometryCollection:":{"name":"+geometryCollectionWithGeometryCollection:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometries:":{"name":"-initWithGeometries:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometry:":{"name":"-initWithGeometry:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)initWithGeometryCollection:":{"name":"-initWithGeometryCollection:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)addGeometry:":{"name":"-addGeometry:","abstract":"\u003cp\u003eAdd geometry\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)addGeometries:":{"name":"-addGeometries:","abstract":"\u003cp\u003eAdd geometries\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)numGeometries":{"name":"-numGeometries","abstract":"\u003cp\u003eGet the number of geometries\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)geometryAtIndex:":{"name":"-geometryAtIndex:","abstract":"\u003cp\u003eReturns the Nth geometry\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)collectionType":{"name":"-collectionType","abstract":"\u003cp\u003eGet the collection type by evaluating the geometries\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiPoint":{"name":"-isMultiPoint","abstract":"\u003cp\u003eDetermine if this geometry collection is a MultiPoint instance or","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiPoint":{"name":"-asMultiPoint","abstract":"\u003cp\u003eGet as a MultiPoint, either the current instance or newly created","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiLineString":{"name":"-isMultiLineString","abstract":"\u003cp\u003eDetermine if this geometry collection is a MultiLineString","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiLineString":{"name":"-asMultiLineString","abstract":"\u003cp\u003eGet as a MultiLineString, either the current instance or newly","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiPolygon":{"name":"-isMultiPolygon","abstract":"\u003cp\u003eDetermine if this geometry collection is a MultiPolygon instance","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiPolygon":{"name":"-asMultiPolygon","abstract":"\u003cp\u003eGet as a MultiPolygon, either the current instance or newly","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiCurve":{"name":"-isMultiCurve","abstract":"\u003cp\u003eDetermine if this geometry collection contains only Curve","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiCurve":{"name":"-asMultiCurve","abstract":"\u003cp\u003eGet as a Multi Curve, a Curve typed Geometry Collection\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)isMultiSurface":{"name":"-isMultiSurface","abstract":"\u003cp\u003eDetermine if this geometry collection contains only Surface","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asMultiSurface":{"name":"-asMultiSurface","abstract":"\u003cp\u003eGet as a Multi Surface, a Surface typed Geometry Collection\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometryCollection.html#/c:objc(cs)SFGeometryCollection(im)asGeometryCollection":{"name":"-asGeometryCollection","abstract":"\u003cp\u003eGet as a top level Geometry Collection\u003c/p\u003e","parent_name":"SFGeometryCollection"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)geometryType":{"name":"geometryType","abstract":"\u003cp\u003eGeometry type\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)hasZ":{"name":"hasZ","abstract":"\u003cp\u003eHas Z values\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(py)hasM":{"name":"hasM","abstract":"\u003cp\u003eHas M values\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)is3D":{"name":"-is3D","abstract":"\u003cp\u003eDoes the geometry have z coordinates\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isMeasured":{"name":"-isMeasured","abstract":"\u003cp\u003eDoes the geometry have m coordinates.\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)envelope":{"name":"-envelope","abstract":"\u003cp\u003eGet the minimum bounding box for this Geometry\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)expandEnvelope:":{"name":"-expandEnvelope:","abstract":"\u003cp\u003eExpand the envelope with the minimum bounding box for this Geometry\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)dimension":{"name":"-dimension","abstract":"\u003cp\u003eGet the inherent dimension (0, 1, or 2) for this Geometry\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)centroid":{"name":"-centroid","abstract":"\u003cp\u003eGet the mathematical centroid point of a 2 dimensional representation of","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)degreesCentroid":{"name":"-degreesCentroid","abstract":"\u003cp\u003eGet the geographic centroid point of a 2 dimensional representation of","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isEmpty":{"name":"-isEmpty","abstract":"\u003cp\u003eIs the Geometry empty\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)isSimple":{"name":"-isSimple","abstract":"\u003cp\u003eDetermine if this Geometry has no anomalous geometric points, such as","parent_name":"SFGeometry"},"Classes/SFGeometry.html#/c:objc(cs)SFGeometry(im)updateZM:":{"name":"-updateZM:","abstract":"\u003cp\u003eUpdate currently false hasZ and hasM values using the provided geometry\u003c/p\u003e","parent_name":"SFGeometry"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(py)rings":{"name":"rings","abstract":"\u003cp\u003eArray of rings\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygon":{"name":"+curvePolygon","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithHasZ:andHasM:":{"name":"+curvePolygonWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithRings:":{"name":"+curvePolygonWithRings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithRing:":{"name":"+curvePolygonWithRing:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(cm)curvePolygonWithCurvePolygon:":{"name":"+curvePolygonWithCurvePolygon:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithRings:":{"name":"-initWithRings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithRing:":{"name":"-initWithRing:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)initWithCurvePolygon:":{"name":"-initWithCurvePolygon:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)addRing:":{"name":"-addRing:","abstract":"\u003cp\u003eAdd a ring\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)addRings:":{"name":"-addRings:","abstract":"\u003cp\u003eAdd rings\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)numRings":{"name":"-numRings","abstract":"\u003cp\u003eGet the number of rings\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)ringAtIndex:":{"name":"-ringAtIndex:","abstract":"\u003cp\u003eReturns the Nth ring where the exterior ring is at 0, interior rings","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)exteriorRing":{"name":"-exteriorRing","abstract":"\u003cp\u003eGet the exterior ring\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)numInteriorRings":{"name":"-numInteriorRings","abstract":"\u003cp\u003eGet the number of interior rings\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurvePolygon.html#/c:objc(cs)SFCurvePolygon(im)interiorRingAtIndex:":{"name":"-interiorRingAtIndex:","abstract":"\u003cp\u003eReturns the Nth interior ring for this Polygon\u003c/p\u003e","parent_name":"SFCurvePolygon"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)initWithType:andHasZ:andHasM:":{"name":"-initWithType:andHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)startPoint":{"name":"-startPoint","abstract":"\u003cp\u003eGet the start Point of this Curve\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)endPoint":{"name":"-endPoint","abstract":"\u003cp\u003eGet the end Point of this Curve\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)isClosed":{"name":"-isClosed","abstract":"\u003cp\u003eDetermine if this Curve is closed (start point = end point)\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCurve.html#/c:objc(cs)SFCurve(im)isRing":{"name":"-isRing","abstract":"\u003cp\u003eDetermine if this Curve is a ring (closed and simple)\u003c/p\u003e","parent_name":"SFCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(py)lineStrings":{"name":"lineStrings","abstract":"\u003cp\u003eArray of line strings\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurve":{"name":"+compoundCurve","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithHasZ:andHasM:":{"name":"+compoundCurveWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithLineStrings:":{"name":"+compoundCurveWithLineStrings:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithLineString:":{"name":"+compoundCurveWithLineString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(cm)compoundCurveWithCompoundCurve:":{"name":"+compoundCurveWithCompoundCurve:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithLineStrings:":{"name":"-initWithLineStrings:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithLineString:":{"name":"-initWithLineString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)initWithCompoundCurve:":{"name":"-initWithCompoundCurve:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)addLineString:":{"name":"-addLineString:","abstract":"\u003cp\u003eAdd a line string\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)addLineStrings:":{"name":"-addLineStrings:","abstract":"\u003cp\u003eAdd line strings\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)numLineStrings":{"name":"-numLineStrings","abstract":"\u003cp\u003eGet the number of line strings\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCompoundCurve.html#/c:objc(cs)SFCompoundCurve(im)lineStringAtIndex:":{"name":"-lineStringAtIndex:","abstract":"\u003cp\u003eReturns the Nth line string\u003c/p\u003e","parent_name":"SFCompoundCurve"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularString":{"name":"+circularString","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithHasZ:andHasM:":{"name":"+circularStringWithHasZ:andHasM:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithPoints:":{"name":"+circularStringWithPoints:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(cm)circularStringWithCircularString:":{"name":"+circularStringWithCircularString:","abstract":"\u003cp\u003eCreate\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)init":{"name":"-init","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithHasZ:andHasM:":{"name":"-initWithHasZ:andHasM:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithPoints:":{"name":"-initWithPoints:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html#/c:objc(cs)SFCircularString(im)initWithCircularString:":{"name":"-initWithCircularString:","abstract":"\u003cp\u003eInitialize\u003c/p\u003e","parent_name":"SFCircularString"},"Classes/SFCircularString.html":{"name":"SFCircularString","abstract":"\u003cp\u003eCircular String, Curve sub type\u003c/p\u003e"},"Classes/SFCompoundCurve.html":{"name":"SFCompoundCurve","abstract":"\u003cp\u003eCompound Curve, Curve sub type\u003c/p\u003e"},"Classes/SFCurve.html":{"name":"SFCurve","abstract":"\u003cp\u003eThe base type for all 1-dimensional geometry types. A 1-dimensional geometry"},"Classes/SFCurvePolygon.html":{"name":"SFCurvePolygon","abstract":"\u003cp\u003eA planar surface defined by an exterior ring and zero or more interior ring."},"Classes/SFGeometry.html":{"name":"SFGeometry","abstract":"\u003cp\u003eThe root of the geometry type hierarchy\u003c/p\u003e"},"Classes/SFGeometryCollection.html":{"name":"SFGeometryCollection","abstract":"\u003cp\u003eA collection of zero or more Geometry instances.\u003c/p\u003e"},"Classes/SFGeometryEnvelope.html":{"name":"SFGeometryEnvelope","abstract":"\u003cp\u003eGeometry envelope containing x and y range with optional z and m range\u003c/p\u003e"},"Classes/SFGeometryTypes.html":{"name":"SFGeometryTypes","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/SFLine.html":{"name":"SFLine","abstract":"\u003cp\u003eA LineString with exactly 2 Points.\u003c/p\u003e"},"Classes/SFLineString.html":{"name":"SFLineString","abstract":"\u003cp\u003eA Curve that connects two or more points in space.\u003c/p\u003e"},"Classes/SFLinearRing.html":{"name":"SFLinearRing","abstract":"\u003cp\u003eA LineString that is both closed and simple.\u003c/p\u003e"},"Classes/SFMultiCurve.html":{"name":"SFMultiCurve","abstract":"\u003cp\u003eA restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFMultiLineString.html":{"name":"SFMultiLineString","abstract":"\u003cp\u003eA restricted form of MultiCurve where each Curve in the collection must be of"},"Classes/SFMultiPoint.html":{"name":"SFMultiPoint","abstract":"\u003cp\u003eA restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFMultiPolygon.html":{"name":"SFMultiPolygon","abstract":"\u003cp\u003eA restricted form of MultiSurface where each Surface in the collection must"},"Classes/SFMultiSurface.html":{"name":"SFMultiSurface","abstract":"\u003cp\u003eA restricted form of GeometryCollection where each Geometry in the collection"},"Classes/SFPoint.html":{"name":"SFPoint","abstract":"\u003cp\u003eA single location in space. Each point has an X and Y coordinate. A point MAY"},"Classes/SFPolygon.html":{"name":"SFPolygon","abstract":"\u003cp\u003eA restricted form of CurvePolygon where each ring is defined as a simple,"},"Classes/SFPolyhedralSurface.html":{"name":"SFPolyhedralSurface","abstract":"\u003cp\u003eContiguous collection of polygons which share common boundary segments.\u003c/p\u003e"},"Classes/SFSurface.html":{"name":"SFSurface","abstract":"\u003cp\u003eThe base type for all 2-dimensional geometry types. A 2-dimensional geometry"},"Classes/SFTIN.html":{"name":"SFTIN","abstract":"\u003cp\u003eA tetrahedron (4 triangular faces), corner at the origin and each unit"},"Classes/SFTriangle.html":{"name":"SFTriangle","abstract":"\u003cp\u003eTriangle\u003c/p\u003e"},"Classes/SFExtendedGeometryCollection.html":{"name":"SFExtendedGeometryCollection","abstract":"\u003cp\u003eExtended Geometry Collection providing abstract geometry collection type"},"Classes/SFByteReader.html":{"name":"SFByteReader","abstract":"\u003cp\u003eRead through byte data\u003c/p\u003e"},"Classes/SFByteWriter.html":{"name":"SFByteWriter","abstract":"\u003cp\u003eWrite byte data\u003c/p\u003e"},"Classes.html#/c:objc(cs)SFGeometryConstants":{"name":"SFGeometryConstants","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/SFGeometryEnvelopeBuilder.html":{"name":"SFGeometryEnvelopeBuilder","abstract":"\u003cp\u003eBuilds an envelope from a Geometry\u003c/p\u003e"},"Classes/SFGeometryPrinter.html":{"name":"SFGeometryPrinter","abstract":"\u003cp\u003eString representation of a Geometry\u003c/p\u003e"},"Classes/SFGeometryUtils.html":{"name":"SFGeometryUtils","abstract":"\u003cp\u003eUtilities for Geometry objects\u003c/p\u003e"},"Classes/SFTextReader.html":{"name":"SFTextReader","abstract":"\u003cp\u003eRead through text string\u003c/p\u003e"},"Classes/SFCentroidCurve.html":{"name":"SFCentroidCurve","abstract":"\u003cp\u003eCalculate the centroid from curve based geometries. Implementation based on"},"Classes/SFCentroidPoint.html":{"name":"SFCentroidPoint","abstract":"\u003cp\u003eCalculate the centroid from point based geometries. Implementation based on"},"Classes/SFCentroidSurface.html":{"name":"SFCentroidSurface","abstract":"\u003cp\u003eCalculate the centroid from surface based geometries. Implementation based on"},"Classes/SFDegreesCentroid.html":{"name":"SFDegreesCentroid","abstract":"\u003cp\u003eCentroid calculations for geometries in degrees\u003c/p\u003e"},"Classes.html#/c:objc(cs)SFFiniteFilterTypes":{"name":"SFFiniteFilterTypes","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/SFPointFiniteFilter.html":{"name":"SFPointFiniteFilter","abstract":"\u003cp\u003ePoint filter for finite checks on x and y properties, optionally filter on z"},"Classes/SFEvent.html":{"name":"SFEvent","abstract":"\u003cp\u003eEvent element\u003c/p\u003e"},"Classes/SFEventQueue.html":{"name":"SFEventQueue","abstract":"\u003cp\u003eEvent queue for processing events\u003c/p\u003e"},"Classes.html#/c:objc(cs)SFEventTypes":{"name":"SFEventTypes","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Classes/SFSegment.html":{"name":"SFSegment","abstract":"\u003cp\u003eLine segment of an edge between two points\u003c/p\u003e"},"Classes/SFShamosHoey.html":{"name":"SFShamosHoey","abstract":"\u003cp\u003eShamos-Hoey simple polygon detection\u003c/p\u003e"},"Classes/SFSweepLine.html":{"name":"SFSweepLine","abstract":"\u003cp\u003eSweep Line algorithm\u003c/p\u003e"},"Classes/SFWTGeometryReader.html":{"name":"SFWTGeometryReader","abstract":"\u003cp\u003eWell Known Text reader\u003c/p\u003e"},"Classes/SFWTGeometryTypeInfo.html":{"name":"SFWTGeometryTypeInfo","abstract":"\u003cp\u003eGeometry type info\u003c/p\u003e"},"Classes/SFWTGeometryWriter.html":{"name":"SFWTGeometryWriter","abstract":"\u003cp\u003eWell Known Text writer\u003c/p\u003e"},"Classes.html":{"name":"Classes","abstract":"\u003cp\u003eThe following classes are available globally.\u003c/p\u003e"},"Constants.html":{"name":"Constants","abstract":"\u003cp\u003eThe following constants are available globally.\u003c/p\u003e"},"Enums.html":{"name":"Enumerations","abstract":"\u003cp\u003eThe following enumerations are available globally.\u003c/p\u003e"},"Protocols.html":{"name":"Protocols","abstract":"\u003cp\u003eThe following protocols are available globally.\u003c/p\u003e"}} \ No newline at end of file diff --git a/docs/jazzy.txt b/docs/jazzy.txt index d109dd2..dce23af 100644 --- a/docs/jazzy.txt +++ b/docs/jazzy.txt @@ -3,8 +3,8 @@ jazzy \ --author NGA \ --author_url https://www.nga.mil \ --github_url https://github.com/ngageoint/simple-features-wkt-ios \ - --github-file-prefix https://github.com/ngageoint/simple-features-wkt-ios/tree/2.1.2 \ - --module-version 2.1.2 \ + --github-file-prefix https://github.com/ngageoint/simple-features-wkt-ios/tree/2.1.3 \ + --module-version 2.1.3 \ --umbrella-header sf-wkt-ios/sf-wkt-ios-Bridging-Header.h \ --framework-root . \ --module sf-wkt-ios \ diff --git a/docs/release.txt b/docs/release.txt new file mode 100644 index 0000000..545f164 --- /dev/null +++ b/docs/release.txt @@ -0,0 +1,20 @@ + +Xcode Build: + +xcodebuild -workspace 'sf-wkt-ios.xcworkspace' -scheme sf-wkt-ios build + +Xcode Test: + +xcodebuild test -workspace 'sf-wkt-ios.xcworkspace' -scheme sf-wkt-ios -destination 'platform=iOS Simulator,name=iPhone 15' + +CocoaPods Local Lint: + +pod lib lint sf-wkt-ios.podspec --use-libraries + +CocoaPods GitHub Release Lint: + +pod spec lint sf-wkt-ios.podspec --use-libraries + +CocoaPods Deploy To Trunk: + +pod trunk push sf-wkt-ios.podspec --use-libraries diff --git a/sf-wkt-ios.podspec b/sf-wkt-ios.podspec index edd7b80..33cad2f 100644 --- a/sf-wkt-ios.podspec +++ b/sf-wkt-ios.podspec @@ -8,6 +8,7 @@ Pod::Spec.new do |s| s.social_media_url = 'https://twitter.com/NGA_GEOINT' s.source = { :git => 'https://github.com/ngageoint/simple-features-wkt-ios.git', :tag => s.version } s.requires_arc = true + s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } s.platform = :ios, '12.0' s.ios.deployment_target = '12.0' @@ -16,5 +17,5 @@ Pod::Spec.new do |s| s.frameworks = 'Foundation' - s.dependency 'sf-ios', '~> 4.1.2' + s.dependency 'sf-ios', '~> 4.1.3' end diff --git a/sf-wkt-ios.xcodeproj/project.pbxproj b/sf-wkt-ios.xcodeproj/project.pbxproj index fd8f066..609c813 100644 --- a/sf-wkt-ios.xcodeproj/project.pbxproj +++ b/sf-wkt-ios.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -22,6 +22,7 @@ 0485565E24DD8B4700810C6D /* SFWTReadmeTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 0485565D24DD8B4700810C6D /* SFWTReadmeTest.m */; }; 0485566124DDD0F500810C6D /* SFWTSwiftReadmeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0485566024DDD0F500810C6D /* SFWTSwiftReadmeTest.swift */; }; 0485566324DDEF7300810C6D /* SFWTTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 0485566224DDEF7300810C6D /* SFWTTestCase.m */; }; + 0493A59E2AE94176000B75E6 /* sf_wkt_ios.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0493A59D2AE94176000B75E6 /* sf_wkt_ios.swift */; }; B4B9C5C590F6D09B45DC2BDB /* libPods-sf-wkt-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F9A70C9172FC5893F17C0FB6 /* libPods-sf-wkt-ios.a */; }; B5D94958E350F092F31540ED /* libPods-sf-wkt-iosTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 499642A447440D35F38311C9 /* libPods-sf-wkt-iosTests.a */; }; /* End PBXBuildFile section */ @@ -59,6 +60,7 @@ 0485565F24DDD0F400810C6D /* sf-wkt-iosTests-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "sf-wkt-iosTests-Bridging-Header.h"; sourceTree = ""; }; 0485566024DDD0F500810C6D /* SFWTSwiftReadmeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SFWTSwiftReadmeTest.swift; sourceTree = ""; }; 0485566224DDEF7300810C6D /* SFWTTestCase.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SFWTTestCase.m; sourceTree = ""; }; + 0493A59D2AE94176000B75E6 /* sf_wkt_ios.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = sf_wkt_ios.swift; sourceTree = ""; }; 192D9E5452A64EB6A7955A5A /* Pods-sf-wkt-ios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sf-wkt-ios.release.xcconfig"; path = "Pods/Target Support Files/Pods-sf-wkt-ios/Pods-sf-wkt-ios.release.xcconfig"; sourceTree = ""; }; 457018C9103A514A78925D9E /* Pods-sf-wkt-ios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-sf-wkt-ios.debug.xcconfig"; path = "Pods/Target Support Files/Pods-sf-wkt-ios/Pods-sf-wkt-ios.debug.xcconfig"; sourceTree = ""; }; 499642A447440D35F38311C9 /* libPods-sf-wkt-iosTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-sf-wkt-iosTests.a"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -112,6 +114,7 @@ isa = PBXGroup; children = ( 042FC6D41B96453E00549A4B /* sf_wkt_ios.h */, + 0493A59D2AE94176000B75E6 /* sf_wkt_ios.swift */, 0485564E24D9AD9000810C6D /* SFWTGeometryReader.h */, 0485564F24D9AD9000810C6D /* SFWTGeometryReader.m */, 0485564A24D9A32C00810C6D /* SFWTGeometryTypeInfo.h */, @@ -241,11 +244,13 @@ 042FC6421B963FE500549A4B /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1230; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1500; ORGANIZATIONNAME = NGA; TargetAttributes = { 042FC64A1B963FE500549A4B = { CreatedOnToolsVersion = 6.4; + LastSwiftMigration = 1500; }; 042FC6551B963FE500549A4B = { CreatedOnToolsVersion = 6.4; @@ -336,6 +341,7 @@ 0485565524D9ADC300810C6D /* SFWTGeometryWriter.m in Sources */, 0485565124D9AD9000810C6D /* SFWTGeometryReader.m in Sources */, 0485564D24D9A32C00810C6D /* SFWTGeometryTypeInfo.m in Sources */, + 0493A59E2AE94176000B75E6 /* sf_wkt_ios.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -397,6 +403,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -458,6 +465,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -482,16 +490,26 @@ isa = XCBuildConfiguration; baseConfigurationReference = 457018C9103A514A78925D9E /* Pods-sf-wkt-ios.debug.xcconfig */; buildSettings = { + CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; INFOPLIST_FILE = "sf-wkt-ios/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_NAME = sf_wkt_ios; SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -499,16 +517,25 @@ isa = XCBuildConfiguration; baseConfigurationReference = 192D9E5452A64EB6A7955A5A /* Pods-sf-wkt-ios.release.xcconfig */; buildSettings = { + CLANG_ENABLE_MODULES = YES; CODE_SIGN_IDENTITY = ""; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; INFOPLIST_FILE = "sf-wkt-ios/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu99 gnu++11"; PRODUCT_NAME = sf_wkt_ios; SKIP_INSTALL = YES; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -516,6 +543,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 6179C77188B4A0E8D4DEDBEB /* Pods-sf-wkt-iosTests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_MODULES = YES; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", @@ -526,7 +554,11 @@ "$(inherited)", ); INFOPLIST_FILE = "sf-wkt-iosTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_NAME = sf_wkt_iosTests; SWIFT_OBJC_BRIDGING_HEADER = "sf-wkt-iosTests/sf-wkt-iosTests-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -538,13 +570,18 @@ isa = XCBuildConfiguration; baseConfigurationReference = B17E59AE80997CC09DD740D6 /* Pods-sf-wkt-iosTests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_MODULES = YES; FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", ); INFOPLIST_FILE = "sf-wkt-iosTests/Info.plist"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_NAME = sf_wkt_iosTests; SWIFT_OBJC_BRIDGING_HEADER = "sf-wkt-iosTests/sf-wkt-iosTests-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/sf-wkt-ios.xcodeproj/xcshareddata/xcschemes/sf-wkt-ios.xcscheme b/sf-wkt-ios.xcodeproj/xcshareddata/xcschemes/sf-wkt-ios.xcscheme index 934589d..ff3ee34 100644 --- a/sf-wkt-ios.xcodeproj/xcshareddata/xcschemes/sf-wkt-ios.xcscheme +++ b/sf-wkt-ios.xcodeproj/xcshareddata/xcschemes/sf-wkt-ios.xcscheme @@ -1,6 +1,6 @@