diff --git a/Sources/glTFSceneKit/GLTF+Animation.swift b/Sources/glTFSceneKit/GLTF+Animation.swift index 9ffbc7e..2b087ab 100644 --- a/Sources/glTFSceneKit/GLTF+Animation.swift +++ b/Sources/glTFSceneKit/GLTF+Animation.swift @@ -127,37 +127,37 @@ extension GLTF { var values = [Any]() switch componentType { case .BYTE: - values = data.int8Array + values = data.array() as [Int8] break case .UNSIGNED_BYTE: - values = data.uint8Array + values = data.array() as [UInt8] break case .SHORT: - values = data.int16Array + values = data.array() as [Int16] break case .UNSIGNED_SHORT: - values = data.uint16Array + values = data.array() as [UInt16] break case .UNSIGNED_INT: - values = data.uint32Array + values = data.array() as [UInt32] break case .FLOAT: do { switch type { case .SCALAR: - values = data.floatArray + values = data.array() as [Float] break case .VEC2: - values = data.vec2Array + values = data.array() as [SCNVector2] break case .VEC3: - values = data.vec3Array + values = data.array() as [GLKVector3] for i in 0..> 1, 1); diff --git a/Sources/glTFSceneKit/GLTF+Resources.swift b/Sources/glTFSceneKit/GLTF+Resources.swift index def4e71..ab6f595 100644 --- a/Sources/glTFSceneKit/GLTF+Resources.swift +++ b/Sources/glTFSceneKit/GLTF+Resources.swift @@ -137,7 +137,7 @@ open class GLTFResourceLoaderDefault : GLTFResourceLoader { throw "Can't find file at \(filepath)" } } else { - return (data == nil) ? nil : Data(bytes: [UInt8](data!)) + return (data == nil) ? nil : Data([UInt8](data!)) } return data } diff --git a/Sources/glTFSceneKit/GLTF+SceneKit.swift b/Sources/glTFSceneKit/GLTF+SceneKit.swift index 30c28c8..2a041e2 100644 --- a/Sources/glTFSceneKit/GLTF+SceneKit.swift +++ b/Sources/glTFSceneKit/GLTF+SceneKit.swift @@ -133,9 +133,7 @@ extension GLTF { // Get dispatch group for current GLTF let convertGroup = self.nodesDispatchGroup convertGroup.enter() - -// let geometryGroup = DispatchGroup() - + if self.scenes != nil && self.scene != nil { let sceneGlTF = self.scenes![(self.scene)!] if let sceneName = sceneGlTF.name { diff --git a/Sources/glTFSceneKit/Helper.swift b/Sources/glTFSceneKit/Helper.swift index dc6ed80..5ce9d21 100644 --- a/Sources/glTFSceneKit/Helper.swift +++ b/Sources/glTFSceneKit/Helper.swift @@ -80,98 +80,9 @@ extension String { } extension Data { - var int8: Int8 { - return withUnsafeBytes { $0.pointee } - } - var uint8: UInt8 { - return withUnsafeBytes { $0.pointee } - } - var int16: Int16 { - return withUnsafeBytes { $0.pointee } - } - var uint16: UInt16 { - return withUnsafeBytes { $0.pointee } - } - var int32: Int32 { - return withUnsafeBytes { $0.pointee } - } - var uint32: UInt32 { - return withUnsafeBytes { $0.pointee } - } - var integer: Int { - return withUnsafeBytes { $0.pointee } - } - var uinteger: UInt { - return withUnsafeBytes { $0.pointee } - } - var float: Float { - return withUnsafeBytes { $0.pointee } - } - var double: Double { - return withUnsafeBytes { $0.pointee } - } - var vec2: SCNVector2 { - return withUnsafeBytes { $0.pointee } - } - var vec3: SCNVector3 { - return withUnsafeBytes { $0.pointee } - } - var vec4: SCNVector4 { - return withUnsafeBytes { $0.pointee } - } - var int8Array: [Int8] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var uint8Array: [UInt8] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var int16Array: [Int16] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var uint16Array: [UInt16] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var int32Array: [Int32] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var uint32Array: [UInt32] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var floatArray: [Float] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var vec2Array: [GLKVector2] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var vec3Array: [GLKVector3] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var vec4Array: [GLKVector4] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) - } - } - var mat4Array: [GLKMatrix4] { - return withUnsafeBytes { - Array(UnsafeBufferPointer(start: $0, count: self.count/MemoryLayout.size)) + func array() -> [Type] { + return withUnsafeBytes { (unsafeBufferPointer:UnsafeRawBufferPointer) -> [Type] in + Array(UnsafeBufferPointer(start: unsafeBufferPointer.bindMemory(to: Type.self).baseAddress, count: self.count/MemoryLayout.size)) } } } diff --git a/Tests/glTFSceneKitTests/gltf_scenekitTests.swift b/Tests/glTFSceneKitTests/gltf_scenekitTests.swift index 94141e9..e4592e8 100644 --- a/Tests/glTFSceneKitTests/gltf_scenekitTests.swift +++ b/Tests/glTFSceneKitTests/gltf_scenekitTests.swift @@ -19,10 +19,13 @@ class gltf_scenekitTests: XCTestCase { self.measure { let glTF = try? decoder.decode(GLTF.self, from: jsonData!) - _ = glTF?.convert(renderer:view, directoryPath:nil, multiThread:false) + _ = glTF?.convert(renderer:view, directoryPath:nil, multiThread:false, geometryCompletionHandler: { + + }) } + let jsonDataArray = jsonData!.array() as [UInt8] // XCTAssert(glTF != nil) diff --git a/glTFSceneKit.xcodeproj/project.pbxproj b/glTFSceneKit.xcodeproj/project.pbxproj index 7e43faf..804195f 100644 --- a/glTFSceneKit.xcodeproj/project.pbxproj +++ b/glTFSceneKit.xcodeproj/project.pbxproj @@ -951,7 +951,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.12; ONLY_ACTIVE_ARCH = YES; OTHER_SWIFT_FLAGS = "-DXcode"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -999,7 +999,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; + MACOSX_DEPLOYMENT_TARGET = 10.12; OTHER_CFLAGS = "-fembed-bitcode"; OTHER_SWIFT_FLAGS = "-DXcode"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1085,7 +1085,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Draco"; MACH_O_TYPE = mh_dylib; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.12; OTHER_LDFLAGS = ( "$(inherited)", "-lc++", @@ -1120,7 +1120,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"; LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Draco"; MACH_O_TYPE = mh_dylib; - MACOSX_DEPLOYMENT_TARGET = 10.13; + MACOSX_DEPLOYMENT_TARGET = 10.12; OTHER_LDFLAGS = ( "$(inherited)", "-lc++",