@class UIView, NSString, SCNScene, ARSession, SCNNode, ARFrame, NSMutableDictionary, NSObject, NSMutableArray, ARPointCloud, CIWarpKernel, ARSCNCompositor; @protocol OS_dispatch_semaphore, SCNCaptureDeviceOutputConsumer, ARSCNViewDelegate; @interface ARSCNView : SCNView <ARInternalSessionObserver, _SCNSceneRendererDelegate, ARSessionProviding> { ARSession *_session; double _lastFrameInterval; id<SCNCaptureDeviceOutputConsumer> _captureDeviceOutputConsumer; SCNNode *_lightNode; SCNNode *_cameraNode; NSMutableDictionary *_nodesByAnchorIdentifier; NSMutableDictionary *_occlusionGeometryNodesByAnchorIdentifier; NSObject<OS_dispatch_semaphore> *_nodesSemaphore; NSMutableArray *_addedAnchors; NSMutableArray *_updatedAnchors; NSMutableArray *_removedAnchors; NSObject<OS_dispatch_semaphore> *_anchorsSemaphore; SCNNode *_worldOriginNode; SCNNode *_featurePointNode; ARPointCloud *_currentlyVisibleDebugPointerCloud; id _originalBackgroundContents; unsigned long long _arDebugOptions; long long _interfaceOrientation; long long _lastInterfaceOrientation; struct CGSize { double width; double height; } _viewportSize; double _contentsScale; UIView *_rotationSnapshot; CIWarpKernel *_warpKernel; unsigned long long _warpKernelLensType; NSMutableArray *_environmentProbeNodes; NSMutableArray *_environmentProbeNodesToRemove; BOOL _lastRendersMotionBlur; BOOL _renderThreadFixed; BOOL _attemptRenderSynchronisationARFrame; BOOL _renderRawSceneUnderstandingImage; ARSCNCompositor *_compositor; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _occlusionLock; struct { void /* unknown type, empty encoding */ columns[4]; } _currentReferenceTransform; unsigned long long _anchorUpdatesPerRendererUpdate; } @property (nonatomic) BOOL providesOcclusionGeometry; @property (nonatomic) BOOL segmentationUseEstimatedDepthData; @property (nonatomic) BOOL automaticallyOccludesVirtualContent; @property (nonatomic) unsigned long long occlusionExcludedBitMask; @property (nonatomic) double lastFrameTimestamp; @property (nonatomic) long long compositorAlgorithm; @property (nonatomic) BOOL runningWithSegmentation; @property BOOL shouldRestrictFrameRate; @property long long targetFramesPerSecond; @property long long developerPreferredFramesPerSecond; @property BOOL drawsCameraImage; @property long long frameToRemoveRotationSnapshotOn; @property long long rotationSnapshotState; @property (nonatomic) long long actualPreferredFramesPerSecond; @property (readonly, nonatomic) ARFrame *currentRenderFrame; @property (nonatomic) BOOL graduallyUpdateAnchors; @property (weak, nonatomic) id<ARSCNViewDelegate> delegate; @property (retain, nonatomic) ARSession *session; @property (retain, nonatomic) SCNScene *scene; @property (nonatomic) BOOL automaticallyUpdatesLighting; @property (nonatomic) BOOL rendersCameraGrain; @property (nonatomic) BOOL rendersMotionBlur; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)setDebugOptions:(unsigned long long)a0; - (unsigned long long)debugOptions; - (void)setPreferredFramesPerSecond:(long long)a0; - (void)session:(id)a0 willRunWithConfiguration:(id)a1; - (void)sessionInterruptionEnded:(id)a0; - (void)session:(id)a0 didUpdateAnchors:(id)a1; - (void)encodeWithCoder:(id)a0; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)session:(id)a0 didChangeGeoTrackingStatus:(id)a1; - (void)session:(id)a0 didChangeState:(unsigned long long)a1; - (void)session:(id)a0 didFailWithError:(id)a1; - (void).cxx_destruct; - (void)sessionWasInterrupted:(id)a0; - (void)setScene:(id)a0; - (void)setPointOfView:(id)a0; - (void)setDelegate:(id)a0; - (void)session:(id)a0 didUpdateFrame:(id)a1; - (void)layoutSubviews; - (long long)preferredFramesPerSecond; - (void)sessionShouldAttemptRelocalization:(id)a0 completion:(id /* block */)a1; - (id)initWithCoder:(id)a0; - (void)_commonInit; - (void)didMoveToWindow; - (void)cleanupLingeringRotationState; - (void)windowDidRotateNotification:(id)a0; - (void)windowWillAnimateRotateNotification:(id)a0; - (void)windowWillRotateNotification:(id)a0; - (id)compositor; - (void)session:(id)a0 cameraDidChangeTrackingState:(id)a1; - (void)session:(id)a0 didAddAnchors:(id)a1; - (void)session:(id)a0 didOutputAudioSampleBuffer:(struct opaqueCMSampleBuffer { } *)a1; - (void)session:(id)a0 didRemoveAnchors:(id)a1; - (id)hitTest:(struct CGPoint { double x0; double x1; })a0 types:(unsigned long long)a1; - (id)raycastQueryFromPoint:(struct CGPoint { double x0; double x1; })a0 allowingTarget:(long long)a1 alignment:(long long)a2; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 options:(id)a1; - (void)_addOcclusionGeometryForAnchor:(id)a0; - (id)occlusionGeometryNodeForAnchor:(id)a0; - (void)_removeAnchors:(id)a0; - (void)_updatePreferredFramesPerSecond; - (void)_addAnchors:(id)a0; - (id)_anchorForNode:(id)a0 inFrame:(id)a1; - (void)_forceUpdateCamera; - (id)_hitTest:(struct CGPoint { double x0; double x1; })a0 frame:(id)a1 types:(unsigned long long)a2; - (void)_loadWarpKernalForLensType:(unsigned long long)a0; - (void)_renderCapturedPixelBuffer:(struct __CVBuffer { } *)a0; - (void)_renderer:(id)a0 updateAtTime:(double)a1; - (void)_updateAnchors:(id)a0 frame:(id)a1; - (void)_updateBackingSize; - (void)_updateCamera:(id)a0; - (void)_updateDebugVisualization:(id)a0; - (void)_updateFramesPerSecondWithTarget:(long long)a0 shouldRestrictFrameRate:(BOOL)a1; - (void)_updateLighting:(id)a0; - (void)_updateNode:(id)a0 forAnchor:(id)a1 frame:(id)a2; - (void)_updateOcclusionCompositor; - (void)_updateProbesWithFrame:(id)a0; - (struct __CVBuffer { } *)_warpPixelBuffer:(struct __CVBuffer { } *)a0 withCamera:(id)a1; - (id)anchorForNode:(id)a0; - (BOOL)automaticallyOccludesUsingSegmentation; - (BOOL)drawsCameraImageAndNilPresentation; - (id)nodeForAnchor:(id)a0; - (void)setAutomaticallyOccludesUsingSegmentation:(BOOL)a0; - (void /* unknown type, empty encoding */)unprojectPoint:(struct CGPoint { double x0; double x1; })a0 ontoPlaneWithTransform:(struct { void /* unknown type, empty encoding */ x0[4]; })a1; @end