objc2_vision/generated/
VNRecognizedPoint3D.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ptr::NonNull;
4use objc2::__framework_prelude::*;
5use objc2_foundation::*;
6
7use crate::*;
8
9extern_class!(
10    /// An extension of VNPoint3D that associates an identifier to the point.
11    ///
12    /// It should be noted that VNRecognizedPoint3D is not intended as an overall replacement of simd float 4x4, but is used by observations that recognize labeled points of interest.
13    ///
14    /// See also [Apple's documentation](https://developer.apple.com/documentation/vision/vnrecognizedpoint3d?language=objc)
15    #[unsafe(super(VNPoint3D, NSObject))]
16    #[derive(Debug, PartialEq, Eq, Hash)]
17    #[cfg(feature = "VNGeometry")]
18    pub struct VNRecognizedPoint3D;
19);
20
21#[cfg(feature = "VNGeometry")]
22extern_conformance!(
23    unsafe impl NSCoding for VNRecognizedPoint3D {}
24);
25
26#[cfg(feature = "VNGeometry")]
27extern_conformance!(
28    unsafe impl NSCopying for VNRecognizedPoint3D {}
29);
30
31#[cfg(feature = "VNGeometry")]
32unsafe impl CopyingHelper for VNRecognizedPoint3D {
33    type Result = Self;
34}
35
36#[cfg(feature = "VNGeometry")]
37extern_conformance!(
38    unsafe impl NSObjectProtocol for VNRecognizedPoint3D {}
39);
40
41#[cfg(feature = "VNGeometry")]
42extern_conformance!(
43    unsafe impl NSSecureCoding for VNRecognizedPoint3D {}
44);
45
46#[cfg(feature = "VNGeometry")]
47impl VNRecognizedPoint3D {
48    extern_methods!(
49        #[unsafe(method(new))]
50        #[unsafe(method_family = new)]
51        pub unsafe fn new() -> Retained<Self>;
52
53        #[unsafe(method(init))]
54        #[unsafe(method_family = init)]
55        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
56
57        #[cfg(feature = "VNTypes")]
58        /// The is the identifier that provides context as to the kind of point that was recognized.
59        ///
60        /// The string is defined by the model that recognized the point. Usually these are technical labels that are not localized and not meant to be used directly to be presented to an end user in the UI.
61        #[unsafe(method(identifier))]
62        #[unsafe(method_family = none)]
63        pub unsafe fn identifier(&self) -> Retained<VNRecognizedPointKey>;
64    );
65}