ARSCNViewDelegate

Trait ARSCNViewDelegate 

Source
pub unsafe trait ARSCNViewDelegate: SCNSceneRendererDelegate + ARSessionObserver {
    // Provided methods
    unsafe fn renderer_nodeForAnchor(
        &self,
        renderer: &ProtocolObject<dyn SCNSceneRenderer>,
        anchor: &ARAnchor,
    ) -> Option<Retained<SCNNode>>
       where Self: Sized + Message { ... }
    unsafe fn renderer_didAddNode_forAnchor(
        &self,
        renderer: &ProtocolObject<dyn SCNSceneRenderer>,
        node: &SCNNode,
        anchor: &ARAnchor,
    )
       where Self: Sized + Message { ... }
    unsafe fn renderer_willUpdateNode_forAnchor(
        &self,
        renderer: &ProtocolObject<dyn SCNSceneRenderer>,
        node: &SCNNode,
        anchor: &ARAnchor,
    )
       where Self: Sized + Message { ... }
    unsafe fn renderer_didUpdateNode_forAnchor(
        &self,
        renderer: &ProtocolObject<dyn SCNSceneRenderer>,
        node: &SCNNode,
        anchor: &ARAnchor,
    )
       where Self: Sized + Message { ... }
    unsafe fn renderer_didRemoveNode_forAnchor(
        &self,
        renderer: &ProtocolObject<dyn SCNSceneRenderer>,
        node: &SCNNode,
        anchor: &ARAnchor,
    )
       where Self: Sized + Message { ... }
}
Available on crate features ARSCNView and ARSession and objc2 and objc2-scene-kit only.
Expand description

Provided Methods§

Source

unsafe fn renderer_nodeForAnchor( &self, renderer: &ProtocolObject<dyn SCNSceneRenderer>, anchor: &ARAnchor, ) -> Option<Retained<SCNNode>>
where Self: Sized + Message,

Available on crate feature ARAnchor only.

Implement this to provide a custom node for the given anchor.

This node will automatically be added to the scene graph. If this method is not implemented, a node will be automatically created. If nil is returned the anchor will be ignored.

Parameter renderer: The renderer that will render the scene.

Parameter anchor: The added anchor.

Returns: Node that will be mapped to the anchor or nil.

Source

unsafe fn renderer_didAddNode_forAnchor( &self, renderer: &ProtocolObject<dyn SCNSceneRenderer>, node: &SCNNode, anchor: &ARAnchor, )
where Self: Sized + Message,

Available on crate feature ARAnchor only.

Called when a new node has been mapped to the given anchor.

Parameter renderer: The renderer that will render the scene.

Parameter node: The node that maps to the anchor.

Parameter anchor: The added anchor.

Source

unsafe fn renderer_willUpdateNode_forAnchor( &self, renderer: &ProtocolObject<dyn SCNSceneRenderer>, node: &SCNNode, anchor: &ARAnchor, )
where Self: Sized + Message,

Available on crate feature ARAnchor only.

Called when a node will be updated with data from the given anchor.

Parameter renderer: The renderer that will render the scene.

Parameter node: The node that will be updated.

Parameter anchor: The anchor that was updated.

Source

unsafe fn renderer_didUpdateNode_forAnchor( &self, renderer: &ProtocolObject<dyn SCNSceneRenderer>, node: &SCNNode, anchor: &ARAnchor, )
where Self: Sized + Message,

Available on crate feature ARAnchor only.

Called when a node has been updated with data from the given anchor.

Parameter renderer: The renderer that will render the scene.

Parameter node: The node that was updated.

Parameter anchor: The anchor that was updated.

Source

unsafe fn renderer_didRemoveNode_forAnchor( &self, renderer: &ProtocolObject<dyn SCNSceneRenderer>, node: &SCNNode, anchor: &ARAnchor, )
where Self: Sized + Message,

Available on crate feature ARAnchor only.

Called when a mapped node has been removed from the scene graph for the given anchor.

Parameter renderer: The renderer that will render the scene.

Parameter node: The node that was removed.

Parameter anchor: The anchor that was removed.

Trait Implementations§

Source§

impl ProtocolType for dyn ARSCNViewDelegate

Source§

const NAME: &'static str = "ARSCNViewDelegate"

The name of the Objective-C protocol that this type represents. Read more
Source§

fn protocol() -> Option<&'static AnyProtocol>

Get a reference to the Objective-C protocol object that this type represents. Read more
Source§

impl<T> ImplementedBy<T> for dyn ARSCNViewDelegate

Implementations on Foreign Types§

Source§

impl<T> ARSCNViewDelegate for ProtocolObject<T>

Implementors§