NSCopying, NSSecureCoding { /** The position of the center of the mapped world in meters. */ open var center: simd_float3 { get } /** The extent of the mapped world in meters. */ open var extent: simd_float3 { get } /** A list of anchors in the map. */ open var anchors: [ARAnchor] /** The feature points in the map. */ open var rawFeaturePoints: ARPointCloud { get } }
ARAnchorCopying, NSSecureCoding { /** Unique identifier of the anchor. */ open var identifier: UUID { get } /** An optional name used to associate with the anchor. */ @available(iOS 12.0, *) open var name: String? { get } /** The transformation matrix that defines the anchor’s rotation, translation and scale in world coordinates. */ open var transform: simd_float4x4 { get } /** Initializes a new anchor object. @param transform The transformation matrix that defines the anchor’s rotation, translation and scale in world coordinates. */ public init(transform: simd_float4x4) /** Initializes a new anchor object with the provided identifier and name. @param name A name to associate with the anchor. @param transform The transformation matrix that defines the anchor’s rotation, translation and scale in world coordinates. */ @available(iOS 12.0, *) public init(name: String, transform: simd_float4x4) }
NSSecureCoding { /** The number of points in the point cloud. */ open var __count: Int { get } /** The 3D points comprising the point cloud. */ open var __points: UnsafePointer<simd_float3> { get } /** The 3D point identifiers comprising the point cloud. */ open var __identifiers: UnsafePointer<UInt64> { get } } @available(iOS 11.0, *) extension ARPointCloud { /** The 3D points comprising the point cloud. */ @nonobjc public var points: [vector_float3] { get } /** The 3D point identifiers comprising the point cloud. */ @nonobjc public var identifiers: [UInt64] { get } }
else { return } ... // Make sure the probe encompasses the object and provides some surrounding area to appear in reflections. var extent = object.extents * object.simdScale extent.x *= 3 // Reflect an area 3x the width of the object. extent.z *= 3 // Reflect an area 3x the depth of the object. // Also include some vertical area around the object, but keep the bottom of the probe at the // bottom of the object so that it captures the real-world surface underneath. let verticalOffset = float3(0, extent.y, 0) let transform = float4x4(translation: object.simdPosition + verticalOffset) extent.y *= 2 // Create the new environment probe anchor and add it to the session. let probeAnchor = AREnvironmentProbeAnchor(transform: transform, extent: extent) sceneView.session.add(anchor: probeAnchor) ... }
else { return } ... // Make sure the probe encompasses the object and provides some surrounding area to appear in reflections. var extent = object.extents * object.simdScale extent.x *= 3 // Reflect an area 3x the width of the object. extent.z *= 3 // Reflect an area 3x the depth of the object. // Also include some vertical area around the object, but keep the bottom of the probe at the // bottom of the object so that it captures the real-world surface underneath. let verticalOffset = float3(0, extent.y, 0) let transform = float4x4(translation: object.simdPosition + verticalOffset) extent.y *= 2 // Create the new environment probe anchor and add it to the session. let probeAnchor = AREnvironmentProbeAnchor(transform: transform, extent: extent) sceneView.session.add(anchor: probeAnchor) ... }