piemonte/poly
`Poly` is an unofficial [Google Poly](https://poly.google.com) SDK, written in [Swift](https://developer.apple.com/swift/).
Important
Before you begin, ensure that you have read Google’s Poly documentation, understand best practices for attribution, and have generated your API key.
Quick Start
The sample project provides several examples for integration.
You can install the dependencies with the command pod install or by running the makefile commands make setup && make pods.
# CocoaPods
pod "Poly", "~> 0.4.0"
# Carthage
github "piemonte/Poly" ~> 0.4.0
# Swift PM
let package = Package(
dependencies: [
.Package(url: "https://github.com/piemonte/Poly", majorVersion: 0)
]
)
Alternatively, drop the source files into your Xcode project.
Examples
Import the library.
import PolySetup your API key.
Poly.shared.apiKey = "REPLACE_WITH_API_KEY"List assets using keywords.
Poly.shared.list(assetsWithKeywords: ["fox"]) { (assets, totalCount, nextPage, error) in
// assets array provides objects with information such as URLs for thumbnail images
}
// you may also query for the data directly for your own model creation
Poly.shared.list(assetsWithKeywords: ["fox", "cat"]) { (data, error) in
}Get independent asset information.
Poly.shared.get(assetWithIdentifier: "10u8FYPC5Br") { (asset, count, page, error) in
// asset object provides information such as URLs for thumbnail images
}
// you may also query for the data directly for your own model creation
Poly.shared.get(assetWithIdentifier: "10u8FYPC5Br") { (data, error) in
}Download a 3D asset and its resources for rendering, either using the asset identifier or the asset model object itself.
Poly.shared.download(assetWithIdentifier: "10u8FYPC5Br", progressHandler: { (progress) in
}) { (rootFileUrl, resourceFileUrls, error) in
if let rootFileUrl = rootFileUrl {
let node = SCNNode.createNode(withLocalUrl: rootFileUrl)
self._arView?.scene.rootNode.addChildNode(node)
}
}The API also provides private object loading but additional endpoints may need to be added. Auth support is setup and available via the authToken property.
Documentation
You can find the docs here. Documentation is generated with jazzy and hosted on GitHub-Pages.
Resources
License
Poly is available under the MIT license, see the LICENSE file for more information.
Package Metadata
Repository: piemonte/poly
Default branch: master
README: README.md