Share via


IARSCNViewDelegate Interface

Definition

Delegate object for ARSCNView objects.

[Foundation.Protocol(Name="ARSCNViewDelegate", WrapperType=typeof(ARKit.ARSCNViewDelegateWrapper))]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetNode", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(ARKit.ARAnchor) }, ReturnType=typeof(SceneKit.SCNNode), Selector="renderer:nodeForAnchor:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidAddNode", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(SceneKit.SCNNode), typeof(ARKit.ARAnchor) }, Selector="renderer:didAddNode:forAnchor:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillUpdateNode", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(SceneKit.SCNNode), typeof(ARKit.ARAnchor) }, Selector="renderer:willUpdateNode:forAnchor:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidUpdateNode", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(SceneKit.SCNNode), typeof(ARKit.ARAnchor) }, Selector="renderer:didUpdateNode:forAnchor:")]
[Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidRemoveNode", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(SceneKit.SCNNode), typeof(ARKit.ARAnchor) }, Selector="renderer:didRemoveNode:forAnchor:")]
public interface IARSCNViewDelegate : ARKit.IARSessionObserver, IDisposable, SceneKit.ISCNSceneRendererDelegate
[<Foundation.Protocol(Name="ARSCNViewDelegate", WrapperType=typeof(ARKit.ARSCNViewDelegateWrapper))>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="GetNode", ParameterByRef=new System.Boolean[] { false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(ARKit.ARAnchor) }, ReturnType=typeof(SceneKit.SCNNode), Selector="renderer:nodeForAnchor:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidAddNode", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(SceneKit.SCNNode), typeof(ARKit.ARAnchor) }, Selector="renderer:didAddNode:forAnchor:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="WillUpdateNode", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(SceneKit.SCNNode), typeof(ARKit.ARAnchor) }, Selector="renderer:willUpdateNode:forAnchor:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidUpdateNode", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(SceneKit.SCNNode), typeof(ARKit.ARAnchor) }, Selector="renderer:didUpdateNode:forAnchor:")>]
[<Foundation.ProtocolMember(IsProperty=false, IsRequired=false, IsStatic=false, Name="DidRemoveNode", ParameterByRef=new System.Boolean[] { false, false, false }, ParameterType=new System.Type[] { typeof(SceneKit.ISCNSceneRenderer), typeof(SceneKit.SCNNode), typeof(ARKit.ARAnchor) }, Selector="renderer:didRemoveNode:forAnchor:")>]
type IARSCNViewDelegate = interface
    interface INativeObject
    interface IDisposable
    interface IARSessionObserver
    interface ISCNSceneRendererDelegate
Derived
Attributes
Implements

Properties

Name Description
Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from INativeObject)

Methods

Name Description
CameraDidChangeTrackingState(ARSession, ARCamera)

Called when the TrackingState changes, indicating a change in tracking quality.

(Inherited from IARSessionObserver)
DidAddNode(ISCNSceneRenderer, SCNNode, ARAnchor)

Developers may override this method to react to the adding of a SCNNode that corresponds to a new ARAnchor.

DidApplyAnimations(ISCNSceneRenderer, Double)

Developers may override this method to react to the completion of animations.

(Inherited from ISCNSceneRendererDelegate)
DidApplyConstraints(ISCNSceneRenderer, Double) (Inherited from ISCNSceneRendererDelegate)
DidChangeGeoTrackingStatus(ARSession, ARGeoTrackingStatus) (Inherited from IARSessionObserver)
DidFail(ARSession, NSError)

Called when the session stops running due to an error.

(Inherited from IARSessionObserver)
DidOutputAudioSampleBuffer(ARSession, CMSampleBuffer)

Developers may implement this method that is called shortly after an audio buffer has been played.

(Inherited from IARSessionObserver)
DidOutputCollaborationData(ARSession, ARCollaborationData) (Inherited from IARSessionObserver)
DidRemoveNode(ISCNSceneRenderer, SCNNode, ARAnchor)

Developers may override this method to react to the removal of node, which was removed after anchor was removed.

DidRenderScene(ISCNSceneRenderer, SCNScene, Double)

This method is called shortly after the scene has been rendered.

(Inherited from ISCNSceneRendererDelegate)
DidSimulatePhysics(ISCNSceneRenderer, Double)

This method is called shortly after physics have been simulated.

(Inherited from ISCNSceneRendererDelegate)
DidUpdateNode(ISCNSceneRenderer, SCNNode, ARAnchor)

This method is called shortly after node has been updated to reflect the current state of anchor.

GetNode(ISCNSceneRenderer, ARAnchor)

Retrieves the SCNNode corresponding to the specified anchor.

InterruptionEnded(ARSession)

Developers may override this method to begin frame processing and device tracking after an interruption.

(Inherited from IARSessionObserver)
ShouldAttemptRelocalization(ARSession)

Returns a Boolean value that tells whether the session should attempt to reorient after an interruption.

(Inherited from IARSessionObserver)
Update(ISCNSceneRenderer, Double)

Developers may override this method to perform processing prior to any actions, animations, or physics simulations.

(Inherited from ISCNSceneRendererDelegate)
WasInterrupted(ARSession)

Developers may override this method to stop frame processing and device tracking when an interruption occurs.

(Inherited from IARSessionObserver)
WillRenderScene(ISCNSceneRenderer, SCNScene, Double)

Developers may override this method to do processing immediately prior to the rendering of the scene.

(Inherited from ISCNSceneRendererDelegate)
WillUpdateNode(ISCNSceneRenderer, SCNNode, ARAnchor)

This method is called shortly before the properties of node are updated to reflect the state of anchor.

Extension Methods

Name Description
DidAddNode(IARSCNViewDelegate, ISCNSceneRenderer, SCNNode, ARAnchor)

Developers may override this method to react to the adding of a SCNNode that corresponds to a new ARAnchor.

DidRemoveNode(IARSCNViewDelegate, ISCNSceneRenderer, SCNNode, ARAnchor)

Developers may override this method to react to the removal of node, which was removed after anchor was removed.

DidUpdateNode(IARSCNViewDelegate, ISCNSceneRenderer, SCNNode, ARAnchor)

This method is called shortly after node has been updated to reflect the current state of anchor.

GetNode(IARSCNViewDelegate, ISCNSceneRenderer, ARAnchor)

Retrieves the SCNNode corresponding to the specified anchor.

WillUpdateNode(IARSCNViewDelegate, ISCNSceneRenderer, SCNNode, ARAnchor)

This method is called shortly before the properties of node are updated to reflect the state of anchor.

CameraDidChangeTrackingState(IARSessionObserver, ARSession, ARCamera)

Called when the TrackingState changes, indicating a change in tracking quality.

DidChangeGeoTrackingStatus(IARSessionObserver, ARSession, ARGeoTrackingStatus)
DidFail(IARSessionObserver, ARSession, NSError)

Called when the session stops running due to an error.

DidOutputAudioSampleBuffer(IARSessionObserver, ARSession, CMSampleBuffer)

Developers may implement this method that is called shortly after an audio buffer has been played.

DidOutputCollaborationData(IARSessionObserver, ARSession, ARCollaborationData)
InterruptionEnded(IARSessionObserver, ARSession)

Developers may override this method to begin frame processing and device tracking after an interruption.

ShouldAttemptRelocalization(IARSessionObserver, ARSession)

Returns a Boolean value that tells whether the session should attempt to reorient after an interruption.

WasInterrupted(IARSessionObserver, ARSession)

Developers may override this method to stop frame processing and device tracking when an interruption occurs.

GetHandle(INativeObject)
GetNonNullHandle(INativeObject, String)
DidApplyAnimations(ISCNSceneRendererDelegate, ISCNSceneRenderer, Double)

Developers may override this method to react to the completion of animations.

DidApplyConstraints(ISCNSceneRendererDelegate, ISCNSceneRenderer, Double)
DidRenderScene(ISCNSceneRendererDelegate, ISCNSceneRenderer, SCNScene, Double)

This method is called shortly after the scene has been rendered.

DidSimulatePhysics(ISCNSceneRendererDelegate, ISCNSceneRenderer, Double)

This method is called shortly after physics have been simulated.

Update(ISCNSceneRendererDelegate, ISCNSceneRenderer, Double)

Developers may override this method to perform processing prior to any actions, animations, or physics simulations.

WillRenderScene(ISCNSceneRendererDelegate, ISCNSceneRenderer, SCNScene, Double)

Developers may override this method to do processing immediately prior to the rendering of the scene.

Applies to