Files
swift-mirror/stdlib/public/SDK/SceneKit/SceneKit.swift
Dmitri Hrybenko ed99e14f54 SDK overlay: create an overlay for SceneKit
rdar://20384803
rdar://20384835

Swift SVN r27069
2015-04-07 06:41:55 +00:00

45 lines
1.4 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
@exported import SceneKit // Clang module
extension SCNGeometryElement {
public convenience init<IndexType : IntegerType>(
indices: [IndexType], primitiveType: SCNGeometryPrimitiveType
) {
let indexCount = indices.count
let primitiveCount: Int
switch primitiveType {
case .Triangles:
primitiveCount = indexCount / 3
case .TriangleStrip:
primitiveCount = indexCount - 2
case .Line:
primitiveCount = indexCount / 2
case .Point:
primitiveCount = indexCount
}
self.init(
data: NSData(bytes: indices, length: indexCount * sizeof(IndexType)),
primitiveType: primitiveType,
primitiveCount: primitiveCount,
bytesPerIndex: sizeof(IndexType))
}
}
extension SCNSceneSource {
public func entryWithIdentifier<T>(uid: String, withClass entryClass: T.Type) -> T? {
return entryWithIdentifier(uid, withClass: entryClass as! AnyClass) as! T?
}
}