ModelIO Changes for Swift
ModelIO
Removed MDLMeshBuffer.zone() -> MDLMeshBufferZone
Modified MDLAsset
Declaration | |
---|---|
From | class MDLAsset : NSObject, NSCopying, NSFastEnumeration { init(URL URL: NSURL) init(URL URL: NSURL, vertexDescriptor vertexDescriptor: MDLVertexDescriptor?, bufferAllocator bufferAllocator: MDLMeshBufferAllocator?) init(URL URL: NSURL, vertexDescriptor vertexDescriptor: MDLVertexDescriptor?, bufferAllocator bufferAllocator: MDLMeshBufferAllocator?, preserveTopology preserveTopology: Bool, error error: NSErrorPointer) func exportAssetToURL(_ URL: NSURL) -> Bool func exportAssetToURL(_ URL: NSURL, error error: ()) throws class func canImportFileExtension(_ `extension`: String) -> Bool class func canExportFileExtension(_ `extension`: String) -> Bool func boundingBoxAtTime(_ time: NSTimeInterval) -> MDLAxisAlignedBoundingBox var boundingBox: MDLAxisAlignedBoundingBox { get } var frameInterval: NSTimeInterval var startTime: NSTimeInterval var endTime: NSTimeInterval var URL: NSURL? { get } var bufferAllocator: MDLMeshBufferAllocator { get } var vertexDescriptor: MDLVertexDescriptor? { get } func addObject(_ object: MDLObject) func removeObject(_ object: MDLObject) var count: Int { get } subscript (_ index: Int) -> MDLObject? { get } func objectAtIndexedSubscript(_ index: Int) -> MDLObject? func objectAtIndex(_ index: Int) -> MDLObject } |
To | class MDLAsset : NSObject, NSCopying, NSFastEnumeration { init(URL URL: NSURL) init(URL URL: NSURL, vertexDescriptor vertexDescriptor: MDLVertexDescriptor?, bufferAllocator bufferAllocator: MDLMeshBufferAllocator?) init(URL URL: NSURL, vertexDescriptor vertexDescriptor: MDLVertexDescriptor?, bufferAllocator bufferAllocator: MDLMeshBufferAllocator?, preserveTopology preserveTopology: Bool, error error: NSErrorPointer) func exportAssetToURL(_ URL: NSURL) -> Bool func exportAssetToURL(_ URL: NSURL, error error: ()) throws class func canImportFileExtension(_ extension: String) -> Bool class func canExportFileExtension(_ extension: String) -> Bool func boundingBoxAtTime(_ time: NSTimeInterval) -> MDLAxisAlignedBoundingBox var boundingBox: MDLAxisAlignedBoundingBox { get } var frameInterval: NSTimeInterval var startTime: NSTimeInterval var endTime: NSTimeInterval var URL: NSURL? { get } var bufferAllocator: MDLMeshBufferAllocator { get } var vertexDescriptor: MDLVertexDescriptor? { get } func addObject(_ object: MDLObject) func removeObject(_ object: MDLObject) var count: Int { get } subscript (_ index: Int) -> MDLObject? { get } func objectAtIndexedSubscript(_ index: Int) -> MDLObject? func objectAtIndex(_ index: Int) -> MDLObject } extension MDLAsset { convenience init(SCNScene scnScene: SCNScene) class func assetWithSCNScene(_ scnScene: SCNScene) -> Self } |
Declaration | |
---|---|
From | class func canExportFileExtension(_ `extension`: String) -> Bool |
To | class func canExportFileExtension(_ extension: String) -> Bool |
Declaration | |
---|---|
From | class func canImportFileExtension(_ `extension`: String) -> Bool |
To | class func canImportFileExtension(_ extension: String) -> Bool |
Modified MDLCamera
Declaration | |
---|---|
From | class MDLCamera : MDLObject { var projectionMatrix: matrix_float4x4 { get } func frameBoundingBox(_ boundingBox: MDLAxisAlignedBoundingBox, setNearAndFar setNearAndFar: Bool) func lookAt(_ focusPosition: vector_float3) func lookAt(_ focusPosition: vector_float3, from cameraPosition: vector_float3) func rayTo(_ pixel: vector_int2, forViewPort size: vector_int2) -> vector_float3 var nearVisibilityDistance: Float var farVisibilityDistance: Float var worldToMetersConversionScale: Float var barrelDistortion: Float var fisheyeDistortion: Float var opticalVignetting: Float var chromaticAberration: Float var focalLength: Float var focusDistance: Float var fieldOfView: Float var fStop: Float var apertureBladeCount: Int var maximumCircleOfConfusion: Float func bokehKernelWithSize(_ size: vector_int2) -> MDLTexture var shutterOpenInterval: NSTimeInterval var sensorVerticalAperture: Float var sensorAspect: Float var sensorEnlargement: vector_float2 var sensorShift: vector_float2 var flash: vector_float3 var exposureCompression: vector_float2 var exposure: vector_float3 } |
To | class MDLCamera : MDLObject { var projectionMatrix: matrix_float4x4 { get } func frameBoundingBox(_ boundingBox: MDLAxisAlignedBoundingBox, setNearAndFar setNearAndFar: Bool) func lookAt(_ focusPosition: vector_float3) func lookAt(_ focusPosition: vector_float3, from cameraPosition: vector_float3) func rayTo(_ pixel: vector_int2, forViewPort size: vector_int2) -> vector_float3 var nearVisibilityDistance: Float var farVisibilityDistance: Float var worldToMetersConversionScale: Float var barrelDistortion: Float var fisheyeDistortion: Float var opticalVignetting: Float var chromaticAberration: Float var focalLength: Float var focusDistance: Float var fieldOfView: Float var fStop: Float var apertureBladeCount: Int var maximumCircleOfConfusion: Float func bokehKernelWithSize(_ size: vector_int2) -> MDLTexture var shutterOpenInterval: NSTimeInterval var sensorVerticalAperture: Float var sensorAspect: Float var sensorEnlargement: vector_float2 var sensorShift: vector_float2 var flash: vector_float3 var exposureCompression: vector_float2 var exposure: vector_float3 } extension MDLCamera { convenience init(SCNCamera scnCamera: SCNCamera) class func cameraWithSCNCamera(_ scnCamera: SCNCamera) -> Self } |
Modified MDLLight
Declaration | |
---|---|
From | class MDLLight : MDLObject { func irradianceAtPoint(_ point: vector_float3) -> Unmanaged<CGColor> func irradianceAtPoint(_ point: vector_float3, colorSpace colorSpace: CGColorSpace) -> Unmanaged<CGColor> var lightType: MDLLightType } |
To | class MDLLight : MDLObject { func irradianceAtPoint(_ point: vector_float3) -> Unmanaged<CGColor> func irradianceAtPoint(_ point: vector_float3, colorSpace colorSpace: CGColorSpace) -> Unmanaged<CGColor> var lightType: MDLLightType } extension MDLLight { convenience init(SCNLight scnLight: SCNLight) class func lightWithSCNLight(_ scnLight: SCNLight) -> Self } |
Modified MDLMaterial
Declaration | |
---|---|
From | class MDLMaterial : NSObject, MDLNamed, NSFastEnumeration { init(name name: String, scatteringFunction scatteringFunction: MDLScatteringFunction) func setProperty(_ property: MDLMaterialProperty) func removeProperty(_ property: MDLMaterialProperty) func propertyNamed(_ name: String) -> MDLMaterialProperty? func propertyWithSemantic(_ semantic: MDLMaterialSemantic) -> MDLMaterialProperty? func removeAllProperties() var scatteringFunction: MDLScatteringFunction { get } var name: String var baseMaterial: MDLMaterial? subscript (_ idx: Int) -> MDLMaterialProperty? { get } func objectAtIndexedSubscript(_ idx: Int) -> MDLMaterialProperty? subscript (_ name: String) -> MDLMaterialProperty? { get } func objectForKeyedSubscript(_ name: String) -> MDLMaterialProperty? var count: Int { get } } |
To | class MDLMaterial : NSObject, MDLNamed, NSFastEnumeration { init(name name: String, scatteringFunction scatteringFunction: MDLScatteringFunction) func setProperty(_ property: MDLMaterialProperty) func removeProperty(_ property: MDLMaterialProperty) func propertyNamed(_ name: String) -> MDLMaterialProperty? func propertyWithSemantic(_ semantic: MDLMaterialSemantic) -> MDLMaterialProperty? func removeAllProperties() var scatteringFunction: MDLScatteringFunction { get } var name: String var baseMaterial: MDLMaterial? subscript (_ idx: Int) -> MDLMaterialProperty? { get } func objectAtIndexedSubscript(_ idx: Int) -> MDLMaterialProperty? subscript (_ name: String) -> MDLMaterialProperty? { get } func objectForKeyedSubscript(_ name: String) -> MDLMaterialProperty? var count: Int { get } } extension MDLMaterial { convenience init(SCNMaterial scnMaterial: SCNMaterial) class func materialWithSCNMaterial(_ scnMaterial: SCNMaterial) -> Self } |
Modified MDLMesh
Declaration | |
---|---|
From | class MDLMesh : MDLObject { init(vertexBuffer vertexBuffer: MDLMeshBuffer, vertexCount vertexCount: Int, descriptor descriptor: MDLVertexDescriptor, submeshes submeshes: [MDLSubmesh]) init(vertexBuffers vertexBuffers: [MDLMeshBuffer], vertexCount vertexCount: Int, descriptor descriptor: MDLVertexDescriptor, submeshes submeshes: [MDLSubmesh]) func vertexAttributeDataForAttributeNamed(_ name: String) -> MDLVertexAttributeData? var boundingBox: MDLAxisAlignedBoundingBox { get } @NSCopying var vertexDescriptor: MDLVertexDescriptor var vertexCount: Int { get } var vertexBuffers: [MDLMeshBuffer] { get } var submeshes: NSMutableArray { get } } extension MDLMesh { func addAttributeWithName(_ name: String, format format: MDLVertexFormat) func addNormalsWithAttributeNamed(_ attributeName: String?, creaseThreshold creaseThreshold: Float) func addTangentBasisForTextureCoordinateAttributeNamed(_ textureCoordinateAttributeName: String, tangentAttributeNamed tangentAttributeName: String, bitangentAttributeNamed bitangentAttributeName: String?) func addTangentBasisForTextureCoordinateAttributeNamed(_ textureCoordinateAttributeName: String, normalAttributeNamed normalAttributeName: String, tangentAttributeNamed tangentAttributeName: String) func makeVerticesUnique() } extension MDLMesh { class func newEllipsoidWithRadii(_ radii: vector_float3, radialSegments radialSegments: Int, verticalSegments verticalSegments: Int, geometryType geometryType: MDLGeometryType, inwardNormals inwardNormals: Bool, hemisphere hemisphere: Bool, allocator allocator: MDLMeshBufferAllocator?) -> Self class func newCylinderWithHeight(_ height: Float, radii radii: vector_float2, radialSegments radialSegments: Int, verticalSegments verticalSegments: Int, geometryType geometryType: MDLGeometryType, inwardNormals inwardNormals: Bool, allocator allocator: MDLMeshBufferAllocator?) -> Self class func newEllipticalConeWithHeight(_ height: Float, radii radii: vector_float2, radialSegments radialSegments: Int, verticalSegments verticalSegments: Int, geometryType geometryType: MDLGeometryType, inwardNormals inwardNormals: Bool, allocator allocator: MDLMeshBufferAllocator?) -> Self class func newIcosahedronWithRadius(_ radius: Float, inwardNormals inwardNormals: Bool, allocator allocator: MDLMeshBufferAllocator?) -> Self class func newSubdividedMesh(_ mesh: MDLMesh, submeshIndex submeshIndex: Int, subdivisionLevels subdivisionLevels: Int) -> Self? } extension MDLMesh { func generateAmbientOcclusionTextureWithSize(_ textureSize: vector_int2, raysPerSample raysPerSample: Int, attenuationFactor attenuationFactor: Float, objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String, materialPropertyNamed materialPropertyName: String) -> Bool func generateAmbientOcclusionTextureWithQuality(_ bakeQuality: Float, attenuationFactor attenuationFactor: Float, objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String, materialPropertyNamed materialPropertyName: String) -> Bool func generateAmbientOcclusionVertexColorsWithRaysPerSample(_ raysPerSample: Int, attenuationFactor attenuationFactor: Float, objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String) -> Bool func generateAmbientOcclusionVertexColorsWithQuality(_ bakeQuality: Float, attenuationFactor attenuationFactor: Float, objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String) -> Bool func generateLightMapTextureWithTextureSize(_ textureSize: vector_int2, lightsToConsider lightsToConsider: [MDLLight], objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String, materialPropertyNamed materialPropertyName: String) -> Bool func generateLightMapTextureWithQuality(_ bakeQuality: Float, lightsToConsider lightsToConsider: [MDLLight], objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String, materialPropertyNamed materialPropertyName: String) -> Bool func generateLightMapVertexColorsWithLightsToConsider(_ lightsToConsider: [MDLLight], objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String) -> Bool } |
To | class MDLMesh : MDLObject { init(vertexBuffer vertexBuffer: MDLMeshBuffer, vertexCount vertexCount: Int, descriptor descriptor: MDLVertexDescriptor, submeshes submeshes: [MDLSubmesh]) init(vertexBuffers vertexBuffers: [MDLMeshBuffer], vertexCount vertexCount: Int, descriptor descriptor: MDLVertexDescriptor, submeshes submeshes: [MDLSubmesh]) func vertexAttributeDataForAttributeNamed(_ name: String) -> MDLVertexAttributeData? var boundingBox: MDLAxisAlignedBoundingBox { get } @NSCopying var vertexDescriptor: MDLVertexDescriptor var vertexCount: Int { get } var vertexBuffers: [MDLMeshBuffer] { get } var submeshes: NSMutableArray { get } } extension MDLMesh { func addAttributeWithName(_ name: String, format format: MDLVertexFormat) func addNormalsWithAttributeNamed(_ attributeName: String?, creaseThreshold creaseThreshold: Float) func addTangentBasisForTextureCoordinateAttributeNamed(_ textureCoordinateAttributeName: String, tangentAttributeNamed tangentAttributeName: String, bitangentAttributeNamed bitangentAttributeName: String?) func addTangentBasisForTextureCoordinateAttributeNamed(_ textureCoordinateAttributeName: String, normalAttributeNamed normalAttributeName: String, tangentAttributeNamed tangentAttributeName: String) func makeVerticesUnique() } extension MDLMesh { class func newEllipsoidWithRadii(_ radii: vector_float3, radialSegments radialSegments: Int, verticalSegments verticalSegments: Int, geometryType geometryType: MDLGeometryType, inwardNormals inwardNormals: Bool, hemisphere hemisphere: Bool, allocator allocator: MDLMeshBufferAllocator?) -> Self class func newCylinderWithHeight(_ height: Float, radii radii: vector_float2, radialSegments radialSegments: Int, verticalSegments verticalSegments: Int, geometryType geometryType: MDLGeometryType, inwardNormals inwardNormals: Bool, allocator allocator: MDLMeshBufferAllocator?) -> Self class func newEllipticalConeWithHeight(_ height: Float, radii radii: vector_float2, radialSegments radialSegments: Int, verticalSegments verticalSegments: Int, geometryType geometryType: MDLGeometryType, inwardNormals inwardNormals: Bool, allocator allocator: MDLMeshBufferAllocator?) -> Self class func newIcosahedronWithRadius(_ radius: Float, inwardNormals inwardNormals: Bool, allocator allocator: MDLMeshBufferAllocator?) -> Self class func newSubdividedMesh(_ mesh: MDLMesh, submeshIndex submeshIndex: Int, subdivisionLevels subdivisionLevels: Int) -> Self? } extension MDLMesh { func generateAmbientOcclusionTextureWithSize(_ textureSize: vector_int2, raysPerSample raysPerSample: Int, attenuationFactor attenuationFactor: Float, objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String, materialPropertyNamed materialPropertyName: String) -> Bool func generateAmbientOcclusionTextureWithQuality(_ bakeQuality: Float, attenuationFactor attenuationFactor: Float, objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String, materialPropertyNamed materialPropertyName: String) -> Bool func generateAmbientOcclusionVertexColorsWithRaysPerSample(_ raysPerSample: Int, attenuationFactor attenuationFactor: Float, objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String) -> Bool func generateAmbientOcclusionVertexColorsWithQuality(_ bakeQuality: Float, attenuationFactor attenuationFactor: Float, objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String) -> Bool func generateLightMapTextureWithTextureSize(_ textureSize: vector_int2, lightsToConsider lightsToConsider: [MDLLight], objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String, materialPropertyNamed materialPropertyName: String) -> Bool func generateLightMapTextureWithQuality(_ bakeQuality: Float, lightsToConsider lightsToConsider: [MDLLight], objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String, materialPropertyNamed materialPropertyName: String) -> Bool func generateLightMapVertexColorsWithLightsToConsider(_ lightsToConsider: [MDLLight], objectsToConsider objectsToConsider: [MDLObject], vertexAttributeNamed vertexAttributeName: String) -> Bool } extension MDLMesh { convenience init(SCNGeometry scnGeometry: SCNGeometry) class func meshWithSCNGeometry(_ scnGeometry: SCNGeometry) -> Self } |
Modified MDLMeshBuffer
Declaration | |
---|---|
From | protocol MDLMeshBuffer : NSObjectProtocol, NSCopying { func fillData(_ data: NSData, offset offset: Int) func map() -> MDLMeshBufferMap var length: Int { get } var allocator: MDLMeshBufferAllocator { get } var type: MDLMeshBufferType { get } func zone() -> MDLMeshBufferZone } |
To | protocol MDLMeshBuffer : NSObjectProtocol, NSCopying { func fillData(_ data: NSData, offset offset: Int) func map() -> MDLMeshBufferMap var length: Int { get } var allocator: MDLMeshBufferAllocator { get } var type: MDLMeshBufferType { get } } |
Modified MDLObject
Declaration | |
---|---|
From | class MDLObject : NSObject, MDLNamed { func setComponent(_ component: MDLComponent, forProtocol `protocol`: Protocol) func componentConformingToProtocol(_ `protocol`: Protocol) -> MDLComponent? weak var parent: MDLObject? var transform: MDLTransformComponent? var children: MDLObjectContainerComponent func addChild(_ child: MDLObject) func boundingBoxAtTime(_ time: NSTimeInterval) -> MDLAxisAlignedBoundingBox } |
To | class MDLObject : NSObject, MDLNamed { func setComponent(_ component: MDLComponent, forProtocol protocol: Protocol) func componentConformingToProtocol(_ protocol: Protocol) -> MDLComponent? weak var parent: MDLObject? var transform: MDLTransformComponent? var children: MDLObjectContainerComponent func addChild(_ child: MDLObject) func boundingBoxAtTime(_ time: NSTimeInterval) -> MDLAxisAlignedBoundingBox } extension MDLObject { convenience init(SCNNode scnNode: SCNNode) class func objectWithSCNNode(_ scnNode: SCNNode) -> Self } |
Declaration | |
---|---|
From | func componentConformingToProtocol(_ `protocol`: Protocol) -> MDLComponent? |
To | func componentConformingToProtocol(_ protocol: Protocol) -> MDLComponent? |
Declaration | |
---|---|
From | func setComponent(_ component: MDLComponent, forProtocol `protocol`: Protocol) |
To | func setComponent(_ component: MDLComponent, forProtocol protocol: Protocol) |
Modified MDLSubmesh
Declaration | |
---|---|
From | class MDLSubmesh : NSObject, MDLNamed { init(name name: String, indexBuffer indexBuffer: MDLMeshBuffer, indexCount indexCount: Int, indexType indexType: MDLIndexBitDepth, geometryType geometryType: MDLGeometryType, material material: MDLMaterial?) init(indexBuffer indexBuffer: MDLMeshBuffer, indexCount indexCount: Int, indexType indexType: MDLIndexBitDepth, geometryType geometryType: MDLGeometryType, material material: MDLMaterial?) init(name name: String, indexBuffer indexBuffer: MDLMeshBuffer, indexCount indexCount: Int, indexType indexType: MDLIndexBitDepth, geometryType geometryType: MDLGeometryType, material material: MDLMaterial?, topology topology: MDLSubmeshTopology?) init?(MDLSubmesh submesh: MDLSubmesh, indexType indexType: MDLIndexBitDepth, geometryType geometryType: MDLGeometryType) var indexBuffer: MDLMeshBuffer { get } var indexCount: Int { get } var indexType: MDLIndexBitDepth { get } var geometryType: MDLGeometryType { get } var material: MDLMaterial? var topology: MDLSubmeshTopology? { get } var name: String } |
To | class MDLSubmesh : NSObject, MDLNamed { init(name name: String, indexBuffer indexBuffer: MDLMeshBuffer, indexCount indexCount: Int, indexType indexType: MDLIndexBitDepth, geometryType geometryType: MDLGeometryType, material material: MDLMaterial?) init(indexBuffer indexBuffer: MDLMeshBuffer, indexCount indexCount: Int, indexType indexType: MDLIndexBitDepth, geometryType geometryType: MDLGeometryType, material material: MDLMaterial?) init(name name: String, indexBuffer indexBuffer: MDLMeshBuffer, indexCount indexCount: Int, indexType indexType: MDLIndexBitDepth, geometryType geometryType: MDLGeometryType, material material: MDLMaterial?, topology topology: MDLSubmeshTopology?) init?(MDLSubmesh submesh: MDLSubmesh, indexType indexType: MDLIndexBitDepth, geometryType geometryType: MDLGeometryType) var indexBuffer: MDLMeshBuffer { get } var indexCount: Int { get } var indexType: MDLIndexBitDepth { get } var geometryType: MDLGeometryType { get } var material: MDLMaterial? var topology: MDLSubmeshTopology? { get } var name: String } extension MDLSubmesh { convenience init(SCNGeometryElement scnGeometryElement: SCNGeometryElement) class func submeshWithSCNGeometryElement(_ scnGeometryElement: SCNGeometryElement) -> Self } |