objc2_vision/generated/
VNDetectHumanBodyPoseRequest.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 "C" {
10    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeynose?language=objc)
11    #[cfg(feature = "VNTypes")]
12    #[deprecated]
13    pub static VNBodyLandmarkKeyNose: &'static VNRecognizedPointKey;
14}
15
16extern "C" {
17    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeylefteye?language=objc)
18    #[cfg(feature = "VNTypes")]
19    #[deprecated]
20    pub static VNBodyLandmarkKeyLeftEye: &'static VNRecognizedPointKey;
21}
22
23extern "C" {
24    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyrighteye?language=objc)
25    #[cfg(feature = "VNTypes")]
26    #[deprecated]
27    pub static VNBodyLandmarkKeyRightEye: &'static VNRecognizedPointKey;
28}
29
30extern "C" {
31    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyleftear?language=objc)
32    #[cfg(feature = "VNTypes")]
33    #[deprecated]
34    pub static VNBodyLandmarkKeyLeftEar: &'static VNRecognizedPointKey;
35}
36
37extern "C" {
38    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyrightear?language=objc)
39    #[cfg(feature = "VNTypes")]
40    #[deprecated]
41    pub static VNBodyLandmarkKeyRightEar: &'static VNRecognizedPointKey;
42}
43
44extern "C" {
45    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyleftshoulder?language=objc)
46    #[cfg(feature = "VNTypes")]
47    #[deprecated]
48    pub static VNBodyLandmarkKeyLeftShoulder: &'static VNRecognizedPointKey;
49}
50
51extern "C" {
52    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyrightshoulder?language=objc)
53    #[cfg(feature = "VNTypes")]
54    #[deprecated]
55    pub static VNBodyLandmarkKeyRightShoulder: &'static VNRecognizedPointKey;
56}
57
58extern "C" {
59    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyneck?language=objc)
60    #[cfg(feature = "VNTypes")]
61    #[deprecated]
62    pub static VNBodyLandmarkKeyNeck: &'static VNRecognizedPointKey;
63}
64
65extern "C" {
66    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyleftelbow?language=objc)
67    #[cfg(feature = "VNTypes")]
68    #[deprecated]
69    pub static VNBodyLandmarkKeyLeftElbow: &'static VNRecognizedPointKey;
70}
71
72extern "C" {
73    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyrightelbow?language=objc)
74    #[cfg(feature = "VNTypes")]
75    #[deprecated]
76    pub static VNBodyLandmarkKeyRightElbow: &'static VNRecognizedPointKey;
77}
78
79extern "C" {
80    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyleftwrist?language=objc)
81    #[cfg(feature = "VNTypes")]
82    #[deprecated]
83    pub static VNBodyLandmarkKeyLeftWrist: &'static VNRecognizedPointKey;
84}
85
86extern "C" {
87    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyrightwrist?language=objc)
88    #[cfg(feature = "VNTypes")]
89    #[deprecated]
90    pub static VNBodyLandmarkKeyRightWrist: &'static VNRecognizedPointKey;
91}
92
93extern "C" {
94    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeylefthip?language=objc)
95    #[cfg(feature = "VNTypes")]
96    #[deprecated]
97    pub static VNBodyLandmarkKeyLeftHip: &'static VNRecognizedPointKey;
98}
99
100extern "C" {
101    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyrighthip?language=objc)
102    #[cfg(feature = "VNTypes")]
103    #[deprecated]
104    pub static VNBodyLandmarkKeyRightHip: &'static VNRecognizedPointKey;
105}
106
107extern "C" {
108    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyroot?language=objc)
109    #[cfg(feature = "VNTypes")]
110    #[deprecated]
111    pub static VNBodyLandmarkKeyRoot: &'static VNRecognizedPointKey;
112}
113
114extern "C" {
115    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyleftknee?language=objc)
116    #[cfg(feature = "VNTypes")]
117    #[deprecated]
118    pub static VNBodyLandmarkKeyLeftKnee: &'static VNRecognizedPointKey;
119}
120
121extern "C" {
122    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyrightknee?language=objc)
123    #[cfg(feature = "VNTypes")]
124    #[deprecated]
125    pub static VNBodyLandmarkKeyRightKnee: &'static VNRecognizedPointKey;
126}
127
128extern "C" {
129    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyleftankle?language=objc)
130    #[cfg(feature = "VNTypes")]
131    #[deprecated]
132    pub static VNBodyLandmarkKeyLeftAnkle: &'static VNRecognizedPointKey;
133}
134
135extern "C" {
136    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkkeyrightankle?language=objc)
137    #[cfg(feature = "VNTypes")]
138    #[deprecated]
139    pub static VNBodyLandmarkKeyRightAnkle: &'static VNRecognizedPointKey;
140}
141
142extern "C" {
143    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkregionkeyface?language=objc)
144    #[cfg(feature = "VNTypes")]
145    #[deprecated]
146    pub static VNBodyLandmarkRegionKeyFace: &'static VNRecognizedPointGroupKey;
147}
148
149extern "C" {
150    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkregionkeytorso?language=objc)
151    #[cfg(feature = "VNTypes")]
152    #[deprecated]
153    pub static VNBodyLandmarkRegionKeyTorso: &'static VNRecognizedPointGroupKey;
154}
155
156extern "C" {
157    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkregionkeyleftarm?language=objc)
158    #[cfg(feature = "VNTypes")]
159    #[deprecated]
160    pub static VNBodyLandmarkRegionKeyLeftArm: &'static VNRecognizedPointGroupKey;
161}
162
163extern "C" {
164    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkregionkeyrightarm?language=objc)
165    #[cfg(feature = "VNTypes")]
166    #[deprecated]
167    pub static VNBodyLandmarkRegionKeyRightArm: &'static VNRecognizedPointGroupKey;
168}
169
170extern "C" {
171    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkregionkeyleftleg?language=objc)
172    #[cfg(feature = "VNTypes")]
173    #[deprecated]
174    pub static VNBodyLandmarkRegionKeyLeftLeg: &'static VNRecognizedPointGroupKey;
175}
176
177extern "C" {
178    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnbodylandmarkregionkeyrightleg?language=objc)
179    #[cfg(feature = "VNTypes")]
180    #[deprecated]
181    pub static VNBodyLandmarkRegionKeyRightLeg: &'static VNRecognizedPointGroupKey;
182}
183
184/// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointname?language=objc)
185// NS_TYPED_ENUM
186#[cfg(feature = "VNTypes")]
187pub type VNHumanBodyPoseObservationJointName = VNRecognizedPointKey;
188
189extern "C" {
190    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamenose?language=objc)
191    #[cfg(feature = "VNTypes")]
192    pub static VNHumanBodyPoseObservationJointNameNose:
193        &'static VNHumanBodyPoseObservationJointName;
194}
195
196extern "C" {
197    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamelefteye?language=objc)
198    #[cfg(feature = "VNTypes")]
199    pub static VNHumanBodyPoseObservationJointNameLeftEye:
200        &'static VNHumanBodyPoseObservationJointName;
201}
202
203extern "C" {
204    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamerighteye?language=objc)
205    #[cfg(feature = "VNTypes")]
206    pub static VNHumanBodyPoseObservationJointNameRightEye:
207        &'static VNHumanBodyPoseObservationJointName;
208}
209
210extern "C" {
211    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnameleftear?language=objc)
212    #[cfg(feature = "VNTypes")]
213    pub static VNHumanBodyPoseObservationJointNameLeftEar:
214        &'static VNHumanBodyPoseObservationJointName;
215}
216
217extern "C" {
218    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamerightear?language=objc)
219    #[cfg(feature = "VNTypes")]
220    pub static VNHumanBodyPoseObservationJointNameRightEar:
221        &'static VNHumanBodyPoseObservationJointName;
222}
223
224extern "C" {
225    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnameleftshoulder?language=objc)
226    #[cfg(feature = "VNTypes")]
227    pub static VNHumanBodyPoseObservationJointNameLeftShoulder:
228        &'static VNHumanBodyPoseObservationJointName;
229}
230
231extern "C" {
232    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamerightshoulder?language=objc)
233    #[cfg(feature = "VNTypes")]
234    pub static VNHumanBodyPoseObservationJointNameRightShoulder:
235        &'static VNHumanBodyPoseObservationJointName;
236}
237
238extern "C" {
239    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnameneck?language=objc)
240    #[cfg(feature = "VNTypes")]
241    pub static VNHumanBodyPoseObservationJointNameNeck:
242        &'static VNHumanBodyPoseObservationJointName;
243}
244
245extern "C" {
246    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnameleftelbow?language=objc)
247    #[cfg(feature = "VNTypes")]
248    pub static VNHumanBodyPoseObservationJointNameLeftElbow:
249        &'static VNHumanBodyPoseObservationJointName;
250}
251
252extern "C" {
253    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamerightelbow?language=objc)
254    #[cfg(feature = "VNTypes")]
255    pub static VNHumanBodyPoseObservationJointNameRightElbow:
256        &'static VNHumanBodyPoseObservationJointName;
257}
258
259extern "C" {
260    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnameleftwrist?language=objc)
261    #[cfg(feature = "VNTypes")]
262    pub static VNHumanBodyPoseObservationJointNameLeftWrist:
263        &'static VNHumanBodyPoseObservationJointName;
264}
265
266extern "C" {
267    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamerightwrist?language=objc)
268    #[cfg(feature = "VNTypes")]
269    pub static VNHumanBodyPoseObservationJointNameRightWrist:
270        &'static VNHumanBodyPoseObservationJointName;
271}
272
273extern "C" {
274    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamelefthip?language=objc)
275    #[cfg(feature = "VNTypes")]
276    pub static VNHumanBodyPoseObservationJointNameLeftHip:
277        &'static VNHumanBodyPoseObservationJointName;
278}
279
280extern "C" {
281    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamerighthip?language=objc)
282    #[cfg(feature = "VNTypes")]
283    pub static VNHumanBodyPoseObservationJointNameRightHip:
284        &'static VNHumanBodyPoseObservationJointName;
285}
286
287extern "C" {
288    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnameroot?language=objc)
289    #[cfg(feature = "VNTypes")]
290    pub static VNHumanBodyPoseObservationJointNameRoot:
291        &'static VNHumanBodyPoseObservationJointName;
292}
293
294extern "C" {
295    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnameleftknee?language=objc)
296    #[cfg(feature = "VNTypes")]
297    pub static VNHumanBodyPoseObservationJointNameLeftKnee:
298        &'static VNHumanBodyPoseObservationJointName;
299}
300
301extern "C" {
302    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamerightknee?language=objc)
303    #[cfg(feature = "VNTypes")]
304    pub static VNHumanBodyPoseObservationJointNameRightKnee:
305        &'static VNHumanBodyPoseObservationJointName;
306}
307
308extern "C" {
309    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnameleftankle?language=objc)
310    #[cfg(feature = "VNTypes")]
311    pub static VNHumanBodyPoseObservationJointNameLeftAnkle:
312        &'static VNHumanBodyPoseObservationJointName;
313}
314
315extern "C" {
316    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointnamerightankle?language=objc)
317    #[cfg(feature = "VNTypes")]
318    pub static VNHumanBodyPoseObservationJointNameRightAnkle:
319        &'static VNHumanBodyPoseObservationJointName;
320}
321
322/// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointsgroupname?language=objc)
323// NS_TYPED_ENUM
324#[cfg(feature = "VNTypes")]
325pub type VNHumanBodyPoseObservationJointsGroupName = VNRecognizedPointGroupKey;
326
327extern "C" {
328    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointsgroupnameface?language=objc)
329    #[cfg(feature = "VNTypes")]
330    pub static VNHumanBodyPoseObservationJointsGroupNameFace:
331        &'static VNHumanBodyPoseObservationJointsGroupName;
332}
333
334extern "C" {
335    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointsgroupnametorso?language=objc)
336    #[cfg(feature = "VNTypes")]
337    pub static VNHumanBodyPoseObservationJointsGroupNameTorso:
338        &'static VNHumanBodyPoseObservationJointsGroupName;
339}
340
341extern "C" {
342    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointsgroupnameleftarm?language=objc)
343    #[cfg(feature = "VNTypes")]
344    pub static VNHumanBodyPoseObservationJointsGroupNameLeftArm:
345        &'static VNHumanBodyPoseObservationJointsGroupName;
346}
347
348extern "C" {
349    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointsgroupnamerightarm?language=objc)
350    #[cfg(feature = "VNTypes")]
351    pub static VNHumanBodyPoseObservationJointsGroupNameRightArm:
352        &'static VNHumanBodyPoseObservationJointsGroupName;
353}
354
355extern "C" {
356    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointsgroupnameleftleg?language=objc)
357    #[cfg(feature = "VNTypes")]
358    pub static VNHumanBodyPoseObservationJointsGroupNameLeftLeg:
359        &'static VNHumanBodyPoseObservationJointsGroupName;
360}
361
362extern "C" {
363    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointsgroupnamerightleg?language=objc)
364    #[cfg(feature = "VNTypes")]
365    pub static VNHumanBodyPoseObservationJointsGroupNameRightLeg:
366        &'static VNHumanBodyPoseObservationJointsGroupName;
367}
368
369extern "C" {
370    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservationjointsgroupnameall?language=objc)
371    #[cfg(feature = "VNTypes")]
372    pub static VNHumanBodyPoseObservationJointsGroupNameAll:
373        &'static VNHumanBodyPoseObservationJointsGroupName;
374}
375
376extern_class!(
377    /// [Apple's documentation](https://developer.apple.com/documentation/vision/vnhumanbodyposeobservation?language=objc)
378    #[unsafe(super(VNRecognizedPointsObservation, VNObservation, NSObject))]
379    #[derive(Debug, PartialEq, Eq, Hash)]
380    #[cfg(feature = "VNObservation")]
381    pub struct VNHumanBodyPoseObservation;
382);
383
384#[cfg(feature = "VNObservation")]
385extern_conformance!(
386    unsafe impl NSCoding for VNHumanBodyPoseObservation {}
387);
388
389#[cfg(feature = "VNObservation")]
390extern_conformance!(
391    unsafe impl NSCopying for VNHumanBodyPoseObservation {}
392);
393
394#[cfg(feature = "VNObservation")]
395unsafe impl CopyingHelper for VNHumanBodyPoseObservation {
396    type Result = Self;
397}
398
399#[cfg(feature = "VNObservation")]
400extern_conformance!(
401    unsafe impl NSObjectProtocol for VNHumanBodyPoseObservation {}
402);
403
404#[cfg(feature = "VNObservation")]
405extern_conformance!(
406    unsafe impl NSSecureCoding for VNHumanBodyPoseObservation {}
407);
408
409#[cfg(all(feature = "VNObservation", feature = "VNRequestRevisionProviding"))]
410extern_conformance!(
411    unsafe impl VNRequestRevisionProviding for VNHumanBodyPoseObservation {}
412);
413
414#[cfg(feature = "VNObservation")]
415impl VNHumanBodyPoseObservation {
416    extern_methods!(
417        #[cfg(feature = "VNTypes")]
418        /// All of the joint names available in the observation.
419        #[unsafe(method(availableJointNames))]
420        #[unsafe(method_family = none)]
421        pub unsafe fn availableJointNames(
422            &self,
423        ) -> Retained<NSArray<VNHumanBodyPoseObservationJointName>>;
424
425        #[cfg(feature = "VNTypes")]
426        /// All of the joints group names available in the observation.
427        #[unsafe(method(availableJointsGroupNames))]
428        #[unsafe(method_family = none)]
429        pub unsafe fn availableJointsGroupNames(
430            &self,
431        ) -> Retained<NSArray<VNHumanBodyPoseObservationJointsGroupName>>;
432
433        #[cfg(all(
434            feature = "VNDetectedPoint",
435            feature = "VNGeometry",
436            feature = "VNTypes"
437        ))]
438        /// Obtain a specific normalized point for a named human body joint.
439        ///
440        ///
441        /// Parameter `jointName`: The name of the human body joint.
442        ///
443        /// Parameter `error`: The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
444        ///
445        /// Returns: the recognized point, or nil if the point could not be obtained.
446        #[unsafe(method(recognizedPointForJointName:error:_))]
447        #[unsafe(method_family = none)]
448        pub unsafe fn recognizedPointForJointName_error(
449            &self,
450            joint_name: &VNHumanBodyPoseObservationJointName,
451        ) -> Result<Retained<VNRecognizedPoint>, Retained<NSError>>;
452
453        #[cfg(all(
454            feature = "VNDetectedPoint",
455            feature = "VNGeometry",
456            feature = "VNTypes"
457        ))]
458        /// Obtains the collection of points associated with a named human body joints group.
459        ///
460        ///
461        /// The obtained collection is a dictionary that provides the mapping of human body join names to the recognized point.
462        ///
463        ///
464        /// Parameter `jointsGroupName`: The name of the human body joints group.
465        ///
466        /// Parameter `error`: The address of a variable that will be populated with the error that describes the failure.  If the caller does not require this information, NULL can be passed.
467        ///
468        /// Returns: a dictionary of recognized points in the group, or nil if an error was encountered.
469        #[unsafe(method(recognizedPointsForJointsGroupName:error:_))]
470        #[unsafe(method_family = none)]
471        pub unsafe fn recognizedPointsForJointsGroupName_error(
472            &self,
473            joints_group_name: &VNHumanBodyPoseObservationJointsGroupName,
474        ) -> Result<
475            Retained<NSDictionary<VNHumanBodyPoseObservationJointName, VNRecognizedPoint>>,
476            Retained<NSError>,
477        >;
478    );
479}
480
481/// Methods declared on superclass `VNRecognizedPointsObservation`.
482#[cfg(feature = "VNObservation")]
483impl VNHumanBodyPoseObservation {
484    extern_methods!(
485        #[unsafe(method(new))]
486        #[unsafe(method_family = new)]
487        pub unsafe fn new() -> Retained<Self>;
488
489        #[unsafe(method(init))]
490        #[unsafe(method_family = init)]
491        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
492    );
493}
494
495extern_class!(
496    /// Detects specific landmark points on human bodies.
497    ///
498    /// This request will produce a collection of VNHumanBodyPoseObservation objects which describe the pose of each detected human body.
499    ///
500    /// See also [Apple's documentation](https://developer.apple.com/documentation/vision/vndetecthumanbodyposerequest?language=objc)
501    #[unsafe(super(VNImageBasedRequest, VNRequest, NSObject))]
502    #[derive(Debug, PartialEq, Eq, Hash)]
503    #[cfg(feature = "VNRequest")]
504    pub struct VNDetectHumanBodyPoseRequest;
505);
506
507#[cfg(feature = "VNRequest")]
508extern_conformance!(
509    unsafe impl NSCopying for VNDetectHumanBodyPoseRequest {}
510);
511
512#[cfg(feature = "VNRequest")]
513unsafe impl CopyingHelper for VNDetectHumanBodyPoseRequest {
514    type Result = Self;
515}
516
517#[cfg(feature = "VNRequest")]
518extern_conformance!(
519    unsafe impl NSObjectProtocol for VNDetectHumanBodyPoseRequest {}
520);
521
522#[cfg(feature = "VNRequest")]
523impl VNDetectHumanBodyPoseRequest {
524    extern_methods!(
525        #[cfg(feature = "VNTypes")]
526        /// Obtain the collection of human body joint names that are supported by a given request revision.
527        ///
528        /// Parameter `revision`: The revision of VNDetectHumanBodyPoseRequest being queried.
529        ///
530        /// Parameter `error`: The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
531        ///
532        /// Returns: An array of VNHumanBodyPoseObservationJointName symbols that are supported by the request revision, or nil if a failure occurs.
533        #[deprecated]
534        #[unsafe(method(supportedJointNamesForRevision:error:_))]
535        #[unsafe(method_family = none)]
536        pub unsafe fn supportedJointNamesForRevision_error(
537            revision: NSUInteger,
538        ) -> Result<Retained<NSArray<VNHumanBodyPoseObservationJointName>>, Retained<NSError>>;
539
540        #[cfg(feature = "VNTypes")]
541        /// Obtain the collection of human body joint names that are supported by a given request object configured with a specific revision.
542        ///
543        /// Parameter `error`: The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
544        ///
545        /// Returns: An array of VNHumanBodyPoseObservationJointName symbols that are supported by the request revision, or nil if a failure occurs.
546        #[unsafe(method(supportedJointNamesAndReturnError:_))]
547        #[unsafe(method_family = none)]
548        pub unsafe fn supportedJointNamesAndReturnError(
549            &self,
550        ) -> Result<Retained<NSArray<VNHumanBodyPoseObservationJointName>>, Retained<NSError>>;
551
552        #[cfg(feature = "VNTypes")]
553        /// Obtain the collection of human body joints group names that are supported by a given request revision.
554        ///
555        /// Parameter `revision`: The revision of VNDetectHumanBodyPoseRequest being queried.
556        ///
557        /// Parameter `error`: The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
558        ///
559        /// Returns: An array of VNHumanBodyPoseObservationJointsGroupName symbols that are supported by the request revision, or nil if a failure occurs.
560        #[deprecated]
561        #[unsafe(method(supportedJointsGroupNamesForRevision:error:_))]
562        #[unsafe(method_family = none)]
563        pub unsafe fn supportedJointsGroupNamesForRevision_error(
564            revision: NSUInteger,
565        ) -> Result<Retained<NSArray<VNHumanBodyPoseObservationJointsGroupName>>, Retained<NSError>>;
566
567        #[cfg(feature = "VNTypes")]
568        /// Obtain the collection of human body joints group names that are supported by a given request object configured with a specific revision.
569        ///
570        /// Parameter `error`: The address of a variable that will be populated with an error upon failure.  If the caller does not need this information, NULL can be passed.
571        ///
572        /// Returns: An array of VNHumanBodyPoseObservationJointsGroupName symbols that are supported by the request revision, or nil if a failure occurs.
573        #[unsafe(method(supportedJointsGroupNamesAndReturnError:_))]
574        #[unsafe(method_family = none)]
575        pub unsafe fn supportedJointsGroupNamesAndReturnError(
576            &self,
577        ) -> Result<Retained<NSArray<VNHumanBodyPoseObservationJointsGroupName>>, Retained<NSError>>;
578
579        #[cfg(feature = "VNObservation")]
580        /// VNHumanBodyPoseObservation results.
581        #[unsafe(method(results))]
582        #[unsafe(method_family = none)]
583        pub unsafe fn results(&self) -> Option<Retained<NSArray<VNHumanBodyPoseObservation>>>;
584    );
585}
586
587/// Methods declared on superclass `VNRequest`.
588#[cfg(feature = "VNRequest")]
589impl VNDetectHumanBodyPoseRequest {
590    extern_methods!(
591        /// Creates a new VNRequest with no completion handler.
592        #[unsafe(method(init))]
593        #[unsafe(method_family = init)]
594        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
595
596        #[cfg(feature = "block2")]
597        /// Creates a new VNRequest with an optional completion handler.
598        ///
599        ///
600        /// Parameter `completionHandler`: The block to be invoked after the request has completed its processing. The completion handler gets executed on the same dispatch queue as the request being executed.
601        ///
602        /// # Safety
603        ///
604        /// `completion_handler` must be a valid pointer or null.
605        #[unsafe(method(initWithCompletionHandler:))]
606        #[unsafe(method_family = init)]
607        pub unsafe fn initWithCompletionHandler(
608            this: Allocated<Self>,
609            completion_handler: VNRequestCompletionHandler,
610        ) -> Retained<Self>;
611    );
612}
613
614/// Methods declared on superclass `NSObject`.
615#[cfg(feature = "VNRequest")]
616impl VNDetectHumanBodyPoseRequest {
617    extern_methods!(
618        #[unsafe(method(new))]
619        #[unsafe(method_family = new)]
620        pub unsafe fn new() -> Retained<Self>;
621    );
622}
623
624/// [Apple's documentation](https://developer.apple.com/documentation/vision/vndetecthumanbodyposerequestrevision1?language=objc)
625pub static VNDetectHumanBodyPoseRequestRevision1: NSUInteger = 1;