1use core::ffi::*;
4use core::ptr::NonNull;
5#[cfg(feature = "objc2")]
6use objc2::__framework_prelude::*;
7#[cfg(feature = "objc2-av-foundation")]
8use objc2_av_foundation::*;
9#[cfg(feature = "objc2-core-location")]
10use objc2_core_location::*;
11#[cfg(feature = "objc2-foundation")]
12use objc2_foundation::*;
13
14use crate::*;
15
16#[cfg(feature = "objc2")]
21#[repr(transparent)]
22#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
23pub struct ARFrameSemantics(pub NSUInteger);
24#[cfg(feature = "objc2")]
25bitflags::bitflags! {
26 impl ARFrameSemantics: NSUInteger {
27#[doc(alias = "ARFrameSemanticNone")]
29 const None = 0;
30#[doc(alias = "ARFrameSemanticPersonSegmentation")]
38 const PersonSegmentation = 1<<0;
39#[doc(alias = "ARFrameSemanticPersonSegmentationWithDepth")]
48 const PersonSegmentationWithDepth = (1<<1)|(1<<0);
49#[doc(alias = "ARFrameSemanticBodyDetection")]
57 const BodyDetection = 1<<2;
58#[doc(alias = "ARFrameSemanticSceneDepth")]
64 const SceneDepth = 1<<3;
65#[doc(alias = "ARFrameSemanticSmoothedSceneDepth")]
71 const SmoothedSceneDepth = 1<<4;
72 }
73}
74
75#[cfg(feature = "objc2")]
76unsafe impl Encode for ARFrameSemantics {
77 const ENCODING: Encoding = NSUInteger::ENCODING;
78}
79
80#[cfg(feature = "objc2")]
81unsafe impl RefEncode for ARFrameSemantics {
82 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
83}
84
85#[cfg(feature = "objc2")]
90#[repr(transparent)]
91#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
92pub struct ARWorldAlignment(pub NSInteger);
93#[cfg(feature = "objc2")]
94impl ARWorldAlignment {
95 #[doc(alias = "ARWorldAlignmentGravity")]
97 pub const Gravity: Self = Self(0);
98 #[doc(alias = "ARWorldAlignmentGravityAndHeading")]
101 pub const GravityAndHeading: Self = Self(1);
102 #[doc(alias = "ARWorldAlignmentCamera")]
104 pub const Camera: Self = Self(2);
105}
106
107#[cfg(feature = "objc2")]
108unsafe impl Encode for ARWorldAlignment {
109 const ENCODING: Encoding = NSInteger::ENCODING;
110}
111
112#[cfg(feature = "objc2")]
113unsafe impl RefEncode for ARWorldAlignment {
114 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
115}
116
117#[cfg(feature = "objc2")]
122#[repr(transparent)]
123#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
124pub struct AREnvironmentTexturing(pub NSInteger);
125#[cfg(feature = "objc2")]
126impl AREnvironmentTexturing {
127 #[doc(alias = "AREnvironmentTexturingNone")]
129 pub const None: Self = Self(0);
130 #[doc(alias = "AREnvironmentTexturingManual")]
133 pub const Manual: Self = Self(1);
134 #[doc(alias = "AREnvironmentTexturingAutomatic")]
136 pub const Automatic: Self = Self(2);
137}
138
139#[cfg(feature = "objc2")]
140unsafe impl Encode for AREnvironmentTexturing {
141 const ENCODING: Encoding = NSInteger::ENCODING;
142}
143
144#[cfg(feature = "objc2")]
145unsafe impl RefEncode for AREnvironmentTexturing {
146 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
147}
148
149#[cfg(feature = "objc2")]
154#[repr(transparent)]
155#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
156pub struct ARSceneReconstruction(pub NSUInteger);
157#[cfg(feature = "objc2")]
158bitflags::bitflags! {
159 impl ARSceneReconstruction: NSUInteger {
160#[doc(alias = "ARSceneReconstructionNone")]
162 const None = 0;
163#[doc(alias = "ARSceneReconstructionMesh")]
165 const Mesh = 1<<0;
166#[doc(alias = "ARSceneReconstructionMeshWithClassification")]
168 const MeshWithClassification = (1<<1)|(1<<0);
169 }
170}
171
172#[cfg(feature = "objc2")]
173unsafe impl Encode for ARSceneReconstruction {
174 const ENCODING: Encoding = NSUInteger::ENCODING;
175}
176
177#[cfg(feature = "objc2")]
178unsafe impl RefEncode for ARSceneReconstruction {
179 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
180}
181
182#[cfg(feature = "objc2")]
183extern_class!(
184 #[unsafe(super(NSObject))]
188 #[derive(Debug, PartialEq, Eq, Hash)]
189 #[cfg(feature = "objc2")]
190 pub struct ARConfiguration;
191);
192
193#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
194extern_conformance!(
195 unsafe impl NSCopying for ARConfiguration {}
196);
197
198#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
199unsafe impl CopyingHelper for ARConfiguration {
200 type Result = Self;
201}
202
203#[cfg(feature = "objc2")]
204extern_conformance!(
205 unsafe impl NSObjectProtocol for ARConfiguration {}
206);
207
208#[cfg(feature = "objc2")]
209impl ARConfiguration {
210 extern_methods!(
211 #[unsafe(method(isSupported))]
213 #[unsafe(method_family = none)]
214 pub unsafe fn isSupported() -> bool;
215
216 #[cfg(all(feature = "ARVideoFormat", feature = "objc2-foundation"))]
217 #[unsafe(method(supportedVideoFormats))]
221 #[unsafe(method_family = none)]
222 pub unsafe fn supportedVideoFormats() -> Retained<NSArray<ARVideoFormat>>;
223
224 #[cfg(feature = "ARVideoFormat")]
225 #[unsafe(method(videoFormat))]
227 #[unsafe(method_family = none)]
228 pub unsafe fn videoFormat(&self) -> Retained<ARVideoFormat>;
229
230 #[cfg(feature = "ARVideoFormat")]
231 #[unsafe(method(setVideoFormat:))]
233 #[unsafe(method_family = none)]
234 pub unsafe fn setVideoFormat(&self, video_format: &ARVideoFormat);
235
236 #[unsafe(method(worldAlignment))]
240 #[unsafe(method_family = none)]
241 pub unsafe fn worldAlignment(&self) -> ARWorldAlignment;
242
243 #[unsafe(method(setWorldAlignment:))]
245 #[unsafe(method_family = none)]
246 pub unsafe fn setWorldAlignment(&self, world_alignment: ARWorldAlignment);
247
248 #[unsafe(method(isLightEstimationEnabled))]
252 #[unsafe(method_family = none)]
253 pub unsafe fn isLightEstimationEnabled(&self) -> bool;
254
255 #[unsafe(method(setLightEstimationEnabled:))]
257 #[unsafe(method_family = none)]
258 pub unsafe fn setLightEstimationEnabled(&self, light_estimation_enabled: bool);
259
260 #[unsafe(method(providesAudioData))]
264 #[unsafe(method_family = none)]
265 pub unsafe fn providesAudioData(&self) -> bool;
266
267 #[unsafe(method(setProvidesAudioData:))]
269 #[unsafe(method_family = none)]
270 pub unsafe fn setProvidesAudioData(&self, provides_audio_data: bool);
271
272 #[unsafe(method(frameSemantics))]
284 #[unsafe(method_family = none)]
285 pub unsafe fn frameSemantics(&self) -> ARFrameSemantics;
286
287 #[unsafe(method(setFrameSemantics:))]
289 #[unsafe(method_family = none)]
290 pub unsafe fn setFrameSemantics(&self, frame_semantics: ARFrameSemantics);
291
292 #[unsafe(method(supportsFrameSemantics:))]
301 #[unsafe(method_family = none)]
302 pub unsafe fn supportsFrameSemantics(frame_semantics: ARFrameSemantics) -> bool;
303
304 #[cfg(feature = "objc2-av-foundation")]
305 #[unsafe(method(configurableCaptureDeviceForPrimaryCamera))]
309 #[unsafe(method_family = none)]
310 pub unsafe fn configurableCaptureDeviceForPrimaryCamera(
311 ) -> Option<Retained<AVCaptureDevice>>;
312
313 #[cfg(feature = "ARVideoFormat")]
314 #[unsafe(method(recommendedVideoFormatFor4KResolution))]
318 #[unsafe(method_family = none)]
319 pub unsafe fn recommendedVideoFormatFor4KResolution() -> Option<Retained<ARVideoFormat>>;
320
321 #[cfg(feature = "ARVideoFormat")]
322 #[unsafe(method(recommendedVideoFormatForHighResolutionFrameCapturing))]
328 #[unsafe(method_family = none)]
329 pub unsafe fn recommendedVideoFormatForHighResolutionFrameCapturing(
330 ) -> Option<Retained<ARVideoFormat>>;
331
332 #[unsafe(method(videoHDRAllowed))]
335 #[unsafe(method_family = none)]
336 pub unsafe fn videoHDRAllowed(&self) -> bool;
337
338 #[unsafe(method(setVideoHDRAllowed:))]
340 #[unsafe(method_family = none)]
341 pub unsafe fn setVideoHDRAllowed(&self, video_hdr_allowed: bool);
342
343 #[unsafe(method(init))]
345 #[unsafe(method_family = init)]
346 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
347
348 #[unsafe(method(new))]
349 #[unsafe(method_family = new)]
350 pub unsafe fn new() -> Retained<Self>;
351 );
352}
353
354#[cfg(feature = "objc2")]
355extern_class!(
356 #[unsafe(super(ARConfiguration, NSObject))]
365 #[derive(Debug, PartialEq, Eq, Hash)]
366 #[cfg(feature = "objc2")]
367 pub struct ARWorldTrackingConfiguration;
368);
369
370#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
371extern_conformance!(
372 unsafe impl NSCopying for ARWorldTrackingConfiguration {}
373);
374
375#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
376unsafe impl CopyingHelper for ARWorldTrackingConfiguration {
377 type Result = Self;
378}
379
380#[cfg(feature = "objc2")]
381extern_conformance!(
382 unsafe impl NSObjectProtocol for ARWorldTrackingConfiguration {}
383);
384
385#[cfg(feature = "objc2")]
386impl ARWorldTrackingConfiguration {
387 extern_methods!(
388 #[unsafe(method(isAutoFocusEnabled))]
392 #[unsafe(method_family = none)]
393 pub unsafe fn isAutoFocusEnabled(&self) -> bool;
394
395 #[unsafe(method(setAutoFocusEnabled:))]
397 #[unsafe(method_family = none)]
398 pub unsafe fn setAutoFocusEnabled(&self, auto_focus_enabled: bool);
399
400 #[unsafe(method(environmentTexturing))]
406 #[unsafe(method_family = none)]
407 pub unsafe fn environmentTexturing(&self) -> AREnvironmentTexturing;
408
409 #[unsafe(method(setEnvironmentTexturing:))]
411 #[unsafe(method_family = none)]
412 pub unsafe fn setEnvironmentTexturing(&self, environment_texturing: AREnvironmentTexturing);
413
414 #[unsafe(method(wantsHDREnvironmentTextures))]
416 #[unsafe(method_family = none)]
417 pub unsafe fn wantsHDREnvironmentTextures(&self) -> bool;
418
419 #[unsafe(method(setWantsHDREnvironmentTextures:))]
421 #[unsafe(method_family = none)]
422 pub unsafe fn setWantsHDREnvironmentTextures(&self, wants_hdr_environment_textures: bool);
423
424 #[cfg(feature = "ARPlaneDetectionTypes")]
425 #[unsafe(method(planeDetection))]
430 #[unsafe(method_family = none)]
431 pub unsafe fn planeDetection(&self) -> ARPlaneDetection;
432
433 #[cfg(feature = "ARPlaneDetectionTypes")]
434 #[unsafe(method(setPlaneDetection:))]
436 #[unsafe(method_family = none)]
437 pub unsafe fn setPlaneDetection(&self, plane_detection: ARPlaneDetection);
438
439 #[cfg(feature = "ARWorldMap")]
440 #[unsafe(method(initialWorldMap))]
447 #[unsafe(method_family = none)]
448 pub unsafe fn initialWorldMap(&self) -> Option<Retained<ARWorldMap>>;
449
450 #[cfg(feature = "ARWorldMap")]
451 #[unsafe(method(setInitialWorldMap:))]
453 #[unsafe(method_family = none)]
454 pub unsafe fn setInitialWorldMap(&self, initial_world_map: Option<&ARWorldMap>);
455
456 #[cfg(all(feature = "ARReferenceImage", feature = "objc2-foundation"))]
457 #[unsafe(method(detectionImages))]
461 #[unsafe(method_family = none)]
462 pub unsafe fn detectionImages(&self) -> Retained<NSSet<ARReferenceImage>>;
463
464 #[cfg(all(feature = "ARReferenceImage", feature = "objc2-foundation"))]
465 #[unsafe(method(setDetectionImages:))]
467 #[unsafe(method_family = none)]
468 pub unsafe fn setDetectionImages(&self, detection_images: Option<&NSSet<ARReferenceImage>>);
469
470 #[unsafe(method(automaticImageScaleEstimationEnabled))]
477 #[unsafe(method_family = none)]
478 pub unsafe fn automaticImageScaleEstimationEnabled(&self) -> bool;
479
480 #[unsafe(method(setAutomaticImageScaleEstimationEnabled:))]
482 #[unsafe(method_family = none)]
483 pub unsafe fn setAutomaticImageScaleEstimationEnabled(
484 &self,
485 automatic_image_scale_estimation_enabled: bool,
486 );
487
488 #[unsafe(method(maximumNumberOfTrackedImages))]
494 #[unsafe(method_family = none)]
495 pub unsafe fn maximumNumberOfTrackedImages(&self) -> NSInteger;
496
497 #[unsafe(method(setMaximumNumberOfTrackedImages:))]
499 #[unsafe(method_family = none)]
500 pub unsafe fn setMaximumNumberOfTrackedImages(
501 &self,
502 maximum_number_of_tracked_images: NSInteger,
503 );
504
505 #[cfg(all(feature = "ARReferenceObject", feature = "objc2-foundation"))]
506 #[unsafe(method(detectionObjects))]
510 #[unsafe(method_family = none)]
511 pub unsafe fn detectionObjects(&self) -> Retained<NSSet<ARReferenceObject>>;
512
513 #[cfg(all(feature = "ARReferenceObject", feature = "objc2-foundation"))]
514 #[unsafe(method(setDetectionObjects:))]
516 #[unsafe(method_family = none)]
517 pub unsafe fn setDetectionObjects(&self, detection_objects: &NSSet<ARReferenceObject>);
518
519 #[unsafe(method(isCollaborationEnabled))]
526 #[unsafe(method_family = none)]
527 pub unsafe fn isCollaborationEnabled(&self) -> bool;
528
529 #[unsafe(method(setCollaborationEnabled:))]
531 #[unsafe(method_family = none)]
532 pub unsafe fn setCollaborationEnabled(&self, collaboration_enabled: bool);
533
534 #[unsafe(method(supportsUserFaceTracking))]
536 #[unsafe(method_family = none)]
537 pub unsafe fn supportsUserFaceTracking() -> bool;
538
539 #[unsafe(method(userFaceTrackingEnabled))]
548 #[unsafe(method_family = none)]
549 pub unsafe fn userFaceTrackingEnabled(&self) -> bool;
550
551 #[unsafe(method(setUserFaceTrackingEnabled:))]
553 #[unsafe(method_family = none)]
554 pub unsafe fn setUserFaceTrackingEnabled(&self, user_face_tracking_enabled: bool);
555
556 #[unsafe(method(appClipCodeTrackingEnabled))]
558 #[unsafe(method_family = none)]
559 pub unsafe fn appClipCodeTrackingEnabled(&self) -> bool;
560
561 #[unsafe(method(setAppClipCodeTrackingEnabled:))]
563 #[unsafe(method_family = none)]
564 pub unsafe fn setAppClipCodeTrackingEnabled(&self, app_clip_code_tracking_enabled: bool);
565
566 #[unsafe(method(supportsAppClipCodeTracking))]
568 #[unsafe(method_family = none)]
569 pub unsafe fn supportsAppClipCodeTracking() -> bool;
570
571 #[unsafe(method(supportsSceneReconstruction:))]
573 #[unsafe(method_family = none)]
574 pub unsafe fn supportsSceneReconstruction(
575 scene_reconstruction: ARSceneReconstruction,
576 ) -> bool;
577
578 #[unsafe(method(sceneReconstruction))]
585 #[unsafe(method_family = none)]
586 pub unsafe fn sceneReconstruction(&self) -> ARSceneReconstruction;
587
588 #[unsafe(method(setSceneReconstruction:))]
590 #[unsafe(method_family = none)]
591 pub unsafe fn setSceneReconstruction(&self, scene_reconstruction: ARSceneReconstruction);
592
593 #[unsafe(method(init))]
594 #[unsafe(method_family = init)]
595 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
596
597 #[unsafe(method(new))]
598 #[unsafe(method_family = new)]
599 pub unsafe fn new() -> Retained<Self>;
600 );
601}
602
603#[cfg(feature = "objc2")]
604extern_class!(
605 #[unsafe(super(ARConfiguration, NSObject))]
612 #[derive(Debug, PartialEq, Eq, Hash)]
613 #[cfg(feature = "objc2")]
614 pub struct AROrientationTrackingConfiguration;
615);
616
617#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
618extern_conformance!(
619 unsafe impl NSCopying for AROrientationTrackingConfiguration {}
620);
621
622#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
623unsafe impl CopyingHelper for AROrientationTrackingConfiguration {
624 type Result = Self;
625}
626
627#[cfg(feature = "objc2")]
628extern_conformance!(
629 unsafe impl NSObjectProtocol for AROrientationTrackingConfiguration {}
630);
631
632#[cfg(feature = "objc2")]
633impl AROrientationTrackingConfiguration {
634 extern_methods!(
635 #[unsafe(method(isAutoFocusEnabled))]
639 #[unsafe(method_family = none)]
640 pub unsafe fn isAutoFocusEnabled(&self) -> bool;
641
642 #[unsafe(method(setAutoFocusEnabled:))]
644 #[unsafe(method_family = none)]
645 pub unsafe fn setAutoFocusEnabled(&self, auto_focus_enabled: bool);
646
647 #[unsafe(method(init))]
648 #[unsafe(method_family = init)]
649 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
650
651 #[unsafe(method(new))]
652 #[unsafe(method_family = new)]
653 pub unsafe fn new() -> Retained<Self>;
654 );
655}
656
657#[cfg(feature = "objc2")]
658extern_class!(
659 #[unsafe(super(ARConfiguration, NSObject))]
668 #[derive(Debug, PartialEq, Eq, Hash)]
669 #[cfg(feature = "objc2")]
670 pub struct ARFaceTrackingConfiguration;
671);
672
673#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
674extern_conformance!(
675 unsafe impl NSCopying for ARFaceTrackingConfiguration {}
676);
677
678#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
679unsafe impl CopyingHelper for ARFaceTrackingConfiguration {
680 type Result = Self;
681}
682
683#[cfg(feature = "objc2")]
684extern_conformance!(
685 unsafe impl NSObjectProtocol for ARFaceTrackingConfiguration {}
686);
687
688#[cfg(feature = "objc2")]
689impl ARFaceTrackingConfiguration {
690 extern_methods!(
691 #[unsafe(method(supportedNumberOfTrackedFaces))]
693 #[unsafe(method_family = none)]
694 pub unsafe fn supportedNumberOfTrackedFaces() -> NSInteger;
695
696 #[unsafe(method(maximumNumberOfTrackedFaces))]
702 #[unsafe(method_family = none)]
703 pub unsafe fn maximumNumberOfTrackedFaces(&self) -> NSInteger;
704
705 #[unsafe(method(setMaximumNumberOfTrackedFaces:))]
707 #[unsafe(method_family = none)]
708 pub unsafe fn setMaximumNumberOfTrackedFaces(
709 &self,
710 maximum_number_of_tracked_faces: NSInteger,
711 );
712
713 #[unsafe(method(supportsWorldTracking))]
715 #[unsafe(method_family = none)]
716 pub unsafe fn supportsWorldTracking() -> bool;
717
718 #[unsafe(method(isWorldTrackingEnabled))]
723 #[unsafe(method_family = none)]
724 pub unsafe fn isWorldTrackingEnabled(&self) -> bool;
725
726 #[unsafe(method(setWorldTrackingEnabled:))]
728 #[unsafe(method_family = none)]
729 pub unsafe fn setWorldTrackingEnabled(&self, world_tracking_enabled: bool);
730
731 #[unsafe(method(init))]
732 #[unsafe(method_family = init)]
733 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
734
735 #[unsafe(method(new))]
736 #[unsafe(method_family = new)]
737 pub unsafe fn new() -> Retained<Self>;
738 );
739}
740
741#[cfg(feature = "objc2")]
742extern_class!(
743 #[unsafe(super(ARConfiguration, NSObject))]
750 #[derive(Debug, PartialEq, Eq, Hash)]
751 #[cfg(feature = "objc2")]
752 pub struct ARImageTrackingConfiguration;
753);
754
755#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
756extern_conformance!(
757 unsafe impl NSCopying for ARImageTrackingConfiguration {}
758);
759
760#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
761unsafe impl CopyingHelper for ARImageTrackingConfiguration {
762 type Result = Self;
763}
764
765#[cfg(feature = "objc2")]
766extern_conformance!(
767 unsafe impl NSObjectProtocol for ARImageTrackingConfiguration {}
768);
769
770#[cfg(feature = "objc2")]
771impl ARImageTrackingConfiguration {
772 extern_methods!(
773 #[unsafe(method(isAutoFocusEnabled))]
777 #[unsafe(method_family = none)]
778 pub unsafe fn isAutoFocusEnabled(&self) -> bool;
779
780 #[unsafe(method(setAutoFocusEnabled:))]
782 #[unsafe(method_family = none)]
783 pub unsafe fn setAutoFocusEnabled(&self, auto_focus_enabled: bool);
784
785 #[cfg(all(feature = "ARReferenceImage", feature = "objc2-foundation"))]
786 #[unsafe(method(trackingImages))]
788 #[unsafe(method_family = none)]
789 pub unsafe fn trackingImages(&self) -> Retained<NSSet<ARReferenceImage>>;
790
791 #[cfg(all(feature = "ARReferenceImage", feature = "objc2-foundation"))]
792 #[unsafe(method(setTrackingImages:))]
794 #[unsafe(method_family = none)]
795 pub unsafe fn setTrackingImages(&self, tracking_images: &NSSet<ARReferenceImage>);
796
797 #[unsafe(method(maximumNumberOfTrackedImages))]
803 #[unsafe(method_family = none)]
804 pub unsafe fn maximumNumberOfTrackedImages(&self) -> NSInteger;
805
806 #[unsafe(method(setMaximumNumberOfTrackedImages:))]
808 #[unsafe(method_family = none)]
809 pub unsafe fn setMaximumNumberOfTrackedImages(
810 &self,
811 maximum_number_of_tracked_images: NSInteger,
812 );
813
814 #[unsafe(method(init))]
815 #[unsafe(method_family = init)]
816 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
817
818 #[unsafe(method(new))]
819 #[unsafe(method_family = new)]
820 pub unsafe fn new() -> Retained<Self>;
821 );
822}
823
824#[cfg(feature = "objc2")]
825extern_class!(
826 #[unsafe(super(ARConfiguration, NSObject))]
835 #[derive(Debug, PartialEq, Eq, Hash)]
836 #[cfg(feature = "objc2")]
837 pub struct ARObjectScanningConfiguration;
838);
839
840#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
841extern_conformance!(
842 unsafe impl NSCopying for ARObjectScanningConfiguration {}
843);
844
845#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
846unsafe impl CopyingHelper for ARObjectScanningConfiguration {
847 type Result = Self;
848}
849
850#[cfg(feature = "objc2")]
851extern_conformance!(
852 unsafe impl NSObjectProtocol for ARObjectScanningConfiguration {}
853);
854
855#[cfg(feature = "objc2")]
856impl ARObjectScanningConfiguration {
857 extern_methods!(
858 #[unsafe(method(isAutoFocusEnabled))]
862 #[unsafe(method_family = none)]
863 pub unsafe fn isAutoFocusEnabled(&self) -> bool;
864
865 #[unsafe(method(setAutoFocusEnabled:))]
867 #[unsafe(method_family = none)]
868 pub unsafe fn setAutoFocusEnabled(&self, auto_focus_enabled: bool);
869
870 #[cfg(feature = "ARPlaneDetectionTypes")]
871 #[unsafe(method(planeDetection))]
876 #[unsafe(method_family = none)]
877 pub unsafe fn planeDetection(&self) -> ARPlaneDetection;
878
879 #[cfg(feature = "ARPlaneDetectionTypes")]
880 #[unsafe(method(setPlaneDetection:))]
882 #[unsafe(method_family = none)]
883 pub unsafe fn setPlaneDetection(&self, plane_detection: ARPlaneDetection);
884
885 #[unsafe(method(init))]
886 #[unsafe(method_family = init)]
887 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
888
889 #[unsafe(method(new))]
890 #[unsafe(method_family = new)]
891 pub unsafe fn new() -> Retained<Self>;
892 );
893}
894
895#[cfg(feature = "objc2")]
896extern_class!(
897 #[unsafe(super(ARConfiguration, NSObject))]
909 #[derive(Debug, PartialEq, Eq, Hash)]
910 #[cfg(feature = "objc2")]
911 pub struct ARBodyTrackingConfiguration;
912);
913
914#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
915extern_conformance!(
916 unsafe impl NSCopying for ARBodyTrackingConfiguration {}
917);
918
919#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
920unsafe impl CopyingHelper for ARBodyTrackingConfiguration {
921 type Result = Self;
922}
923
924#[cfg(feature = "objc2")]
925extern_conformance!(
926 unsafe impl NSObjectProtocol for ARBodyTrackingConfiguration {}
927);
928
929#[cfg(feature = "objc2")]
930impl ARBodyTrackingConfiguration {
931 extern_methods!(
932 #[unsafe(method(isAutoFocusEnabled))]
936 #[unsafe(method_family = none)]
937 pub unsafe fn isAutoFocusEnabled(&self) -> bool;
938
939 #[unsafe(method(setAutoFocusEnabled:))]
941 #[unsafe(method_family = none)]
942 pub unsafe fn setAutoFocusEnabled(&self, auto_focus_enabled: bool);
943
944 #[cfg(feature = "ARWorldMap")]
945 #[unsafe(method(initialWorldMap))]
952 #[unsafe(method_family = none)]
953 pub unsafe fn initialWorldMap(&self) -> Option<Retained<ARWorldMap>>;
954
955 #[cfg(feature = "ARWorldMap")]
956 #[unsafe(method(setInitialWorldMap:))]
958 #[unsafe(method_family = none)]
959 pub unsafe fn setInitialWorldMap(&self, initial_world_map: Option<&ARWorldMap>);
960
961 #[unsafe(method(environmentTexturing))]
967 #[unsafe(method_family = none)]
968 pub unsafe fn environmentTexturing(&self) -> AREnvironmentTexturing;
969
970 #[unsafe(method(setEnvironmentTexturing:))]
972 #[unsafe(method_family = none)]
973 pub unsafe fn setEnvironmentTexturing(&self, environment_texturing: AREnvironmentTexturing);
974
975 #[unsafe(method(wantsHDREnvironmentTextures))]
977 #[unsafe(method_family = none)]
978 pub unsafe fn wantsHDREnvironmentTextures(&self) -> bool;
979
980 #[unsafe(method(setWantsHDREnvironmentTextures:))]
982 #[unsafe(method_family = none)]
983 pub unsafe fn setWantsHDREnvironmentTextures(&self, wants_hdr_environment_textures: bool);
984
985 #[cfg(feature = "ARPlaneDetectionTypes")]
986 #[unsafe(method(planeDetection))]
991 #[unsafe(method_family = none)]
992 pub unsafe fn planeDetection(&self) -> ARPlaneDetection;
993
994 #[cfg(feature = "ARPlaneDetectionTypes")]
995 #[unsafe(method(setPlaneDetection:))]
997 #[unsafe(method_family = none)]
998 pub unsafe fn setPlaneDetection(&self, plane_detection: ARPlaneDetection);
999
1000 #[cfg(all(feature = "ARReferenceImage", feature = "objc2-foundation"))]
1001 #[unsafe(method(detectionImages))]
1005 #[unsafe(method_family = none)]
1006 pub unsafe fn detectionImages(&self) -> Retained<NSSet<ARReferenceImage>>;
1007
1008 #[cfg(all(feature = "ARReferenceImage", feature = "objc2-foundation"))]
1009 #[unsafe(method(setDetectionImages:))]
1011 #[unsafe(method_family = none)]
1012 pub unsafe fn setDetectionImages(&self, detection_images: &NSSet<ARReferenceImage>);
1013
1014 #[unsafe(method(automaticImageScaleEstimationEnabled))]
1021 #[unsafe(method_family = none)]
1022 pub unsafe fn automaticImageScaleEstimationEnabled(&self) -> bool;
1023
1024 #[unsafe(method(setAutomaticImageScaleEstimationEnabled:))]
1026 #[unsafe(method_family = none)]
1027 pub unsafe fn setAutomaticImageScaleEstimationEnabled(
1028 &self,
1029 automatic_image_scale_estimation_enabled: bool,
1030 );
1031
1032 #[unsafe(method(automaticSkeletonScaleEstimationEnabled))]
1039 #[unsafe(method_family = none)]
1040 pub unsafe fn automaticSkeletonScaleEstimationEnabled(&self) -> bool;
1041
1042 #[unsafe(method(setAutomaticSkeletonScaleEstimationEnabled:))]
1044 #[unsafe(method_family = none)]
1045 pub unsafe fn setAutomaticSkeletonScaleEstimationEnabled(
1046 &self,
1047 automatic_skeleton_scale_estimation_enabled: bool,
1048 );
1049
1050 #[unsafe(method(maximumNumberOfTrackedImages))]
1056 #[unsafe(method_family = none)]
1057 pub unsafe fn maximumNumberOfTrackedImages(&self) -> NSInteger;
1058
1059 #[unsafe(method(setMaximumNumberOfTrackedImages:))]
1061 #[unsafe(method_family = none)]
1062 pub unsafe fn setMaximumNumberOfTrackedImages(
1063 &self,
1064 maximum_number_of_tracked_images: NSInteger,
1065 );
1066
1067 #[unsafe(method(appClipCodeTrackingEnabled))]
1069 #[unsafe(method_family = none)]
1070 pub unsafe fn appClipCodeTrackingEnabled(&self) -> bool;
1071
1072 #[unsafe(method(setAppClipCodeTrackingEnabled:))]
1074 #[unsafe(method_family = none)]
1075 pub unsafe fn setAppClipCodeTrackingEnabled(&self, app_clip_code_tracking_enabled: bool);
1076
1077 #[unsafe(method(supportsAppClipCodeTracking))]
1079 #[unsafe(method_family = none)]
1080 pub unsafe fn supportsAppClipCodeTracking() -> bool;
1081
1082 #[unsafe(method(init))]
1083 #[unsafe(method_family = init)]
1084 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1085
1086 #[unsafe(method(new))]
1087 #[unsafe(method_family = new)]
1088 pub unsafe fn new() -> Retained<Self>;
1089 );
1090}
1091
1092#[cfg(feature = "objc2")]
1093extern_class!(
1094 #[unsafe(super(ARConfiguration, NSObject))]
1101 #[derive(Debug, PartialEq, Eq, Hash)]
1102 #[cfg(feature = "objc2")]
1103 pub struct ARPositionalTrackingConfiguration;
1104);
1105
1106#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
1107extern_conformance!(
1108 unsafe impl NSCopying for ARPositionalTrackingConfiguration {}
1109);
1110
1111#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
1112unsafe impl CopyingHelper for ARPositionalTrackingConfiguration {
1113 type Result = Self;
1114}
1115
1116#[cfg(feature = "objc2")]
1117extern_conformance!(
1118 unsafe impl NSObjectProtocol for ARPositionalTrackingConfiguration {}
1119);
1120
1121#[cfg(feature = "objc2")]
1122impl ARPositionalTrackingConfiguration {
1123 extern_methods!(
1124 #[cfg(feature = "ARPlaneDetectionTypes")]
1125 #[unsafe(method(planeDetection))]
1130 #[unsafe(method_family = none)]
1131 pub unsafe fn planeDetection(&self) -> ARPlaneDetection;
1132
1133 #[cfg(feature = "ARPlaneDetectionTypes")]
1134 #[unsafe(method(setPlaneDetection:))]
1136 #[unsafe(method_family = none)]
1137 pub unsafe fn setPlaneDetection(&self, plane_detection: ARPlaneDetection);
1138
1139 #[cfg(feature = "ARWorldMap")]
1140 #[unsafe(method(initialWorldMap))]
1147 #[unsafe(method_family = none)]
1148 pub unsafe fn initialWorldMap(&self) -> Option<Retained<ARWorldMap>>;
1149
1150 #[cfg(feature = "ARWorldMap")]
1151 #[unsafe(method(setInitialWorldMap:))]
1153 #[unsafe(method_family = none)]
1154 pub unsafe fn setInitialWorldMap(&self, initial_world_map: Option<&ARWorldMap>);
1155
1156 #[unsafe(method(init))]
1157 #[unsafe(method_family = init)]
1158 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1159
1160 #[unsafe(method(new))]
1161 #[unsafe(method_family = new)]
1162 pub unsafe fn new() -> Retained<Self>;
1163 );
1164}
1165
1166#[cfg(feature = "objc2")]
1167extern_class!(
1168 #[unsafe(super(ARConfiguration, NSObject))]
1175 #[derive(Debug, PartialEq, Eq, Hash)]
1176 #[cfg(feature = "objc2")]
1177 pub struct ARGeoTrackingConfiguration;
1178);
1179
1180#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
1181extern_conformance!(
1182 unsafe impl NSCopying for ARGeoTrackingConfiguration {}
1183);
1184
1185#[cfg(all(feature = "objc2", feature = "objc2-foundation"))]
1186unsafe impl CopyingHelper for ARGeoTrackingConfiguration {
1187 type Result = Self;
1188}
1189
1190#[cfg(feature = "objc2")]
1191extern_conformance!(
1192 unsafe impl NSObjectProtocol for ARGeoTrackingConfiguration {}
1193);
1194
1195#[cfg(feature = "objc2")]
1196impl ARGeoTrackingConfiguration {
1197 extern_methods!(
1198 #[unsafe(method(worldAlignment))]
1200 #[unsafe(method_family = none)]
1201 pub unsafe fn worldAlignment(&self) -> ARWorldAlignment;
1202
1203 #[unsafe(method(setWorldAlignment:))]
1205 #[unsafe(method_family = none)]
1206 pub unsafe fn setWorldAlignment(&self, world_alignment: ARWorldAlignment);
1207
1208 #[unsafe(method(environmentTexturing))]
1214 #[unsafe(method_family = none)]
1215 pub unsafe fn environmentTexturing(&self) -> AREnvironmentTexturing;
1216
1217 #[unsafe(method(setEnvironmentTexturing:))]
1219 #[unsafe(method_family = none)]
1220 pub unsafe fn setEnvironmentTexturing(&self, environment_texturing: AREnvironmentTexturing);
1221
1222 #[unsafe(method(wantsHDREnvironmentTextures))]
1224 #[unsafe(method_family = none)]
1225 pub unsafe fn wantsHDREnvironmentTextures(&self) -> bool;
1226
1227 #[unsafe(method(setWantsHDREnvironmentTextures:))]
1229 #[unsafe(method_family = none)]
1230 pub unsafe fn setWantsHDREnvironmentTextures(&self, wants_hdr_environment_textures: bool);
1231
1232 #[cfg(feature = "ARPlaneDetectionTypes")]
1233 #[unsafe(method(planeDetection))]
1238 #[unsafe(method_family = none)]
1239 pub unsafe fn planeDetection(&self) -> ARPlaneDetection;
1240
1241 #[cfg(feature = "ARPlaneDetectionTypes")]
1242 #[unsafe(method(setPlaneDetection:))]
1244 #[unsafe(method_family = none)]
1245 pub unsafe fn setPlaneDetection(&self, plane_detection: ARPlaneDetection);
1246
1247 #[cfg(all(feature = "ARReferenceImage", feature = "objc2-foundation"))]
1248 #[unsafe(method(detectionImages))]
1252 #[unsafe(method_family = none)]
1253 pub unsafe fn detectionImages(&self) -> Retained<NSSet<ARReferenceImage>>;
1254
1255 #[cfg(all(feature = "ARReferenceImage", feature = "objc2-foundation"))]
1256 #[unsafe(method(setDetectionImages:))]
1258 #[unsafe(method_family = none)]
1259 pub unsafe fn setDetectionImages(&self, detection_images: Option<&NSSet<ARReferenceImage>>);
1260
1261 #[unsafe(method(automaticImageScaleEstimationEnabled))]
1268 #[unsafe(method_family = none)]
1269 pub unsafe fn automaticImageScaleEstimationEnabled(&self) -> bool;
1270
1271 #[unsafe(method(setAutomaticImageScaleEstimationEnabled:))]
1273 #[unsafe(method_family = none)]
1274 pub unsafe fn setAutomaticImageScaleEstimationEnabled(
1275 &self,
1276 automatic_image_scale_estimation_enabled: bool,
1277 );
1278
1279 #[unsafe(method(maximumNumberOfTrackedImages))]
1285 #[unsafe(method_family = none)]
1286 pub unsafe fn maximumNumberOfTrackedImages(&self) -> NSInteger;
1287
1288 #[unsafe(method(setMaximumNumberOfTrackedImages:))]
1290 #[unsafe(method_family = none)]
1291 pub unsafe fn setMaximumNumberOfTrackedImages(
1292 &self,
1293 maximum_number_of_tracked_images: NSInteger,
1294 );
1295
1296 #[cfg(all(feature = "ARReferenceObject", feature = "objc2-foundation"))]
1297 #[unsafe(method(detectionObjects))]
1301 #[unsafe(method_family = none)]
1302 pub unsafe fn detectionObjects(&self) -> Retained<NSSet<ARReferenceObject>>;
1303
1304 #[cfg(all(feature = "ARReferenceObject", feature = "objc2-foundation"))]
1305 #[unsafe(method(setDetectionObjects:))]
1307 #[unsafe(method_family = none)]
1308 pub unsafe fn setDetectionObjects(&self, detection_objects: &NSSet<ARReferenceObject>);
1309
1310 #[unsafe(method(appClipCodeTrackingEnabled))]
1312 #[unsafe(method_family = none)]
1313 pub unsafe fn appClipCodeTrackingEnabled(&self) -> bool;
1314
1315 #[unsafe(method(setAppClipCodeTrackingEnabled:))]
1317 #[unsafe(method_family = none)]
1318 pub unsafe fn setAppClipCodeTrackingEnabled(&self, app_clip_code_tracking_enabled: bool);
1319
1320 #[unsafe(method(supportsAppClipCodeTracking))]
1322 #[unsafe(method_family = none)]
1323 pub unsafe fn supportsAppClipCodeTracking() -> bool;
1324
1325 #[cfg(all(feature = "block2", feature = "objc2-foundation"))]
1326 #[unsafe(method(checkAvailabilityWithCompletionHandler:))]
1336 #[unsafe(method_family = none)]
1337 pub unsafe fn checkAvailabilityWithCompletionHandler(
1338 completion_handler: &block2::DynBlock<dyn Fn(Bool, *mut NSError)>,
1339 );
1340
1341 #[cfg(all(
1342 feature = "block2",
1343 feature = "objc2-core-location",
1344 feature = "objc2-foundation"
1345 ))]
1346 #[unsafe(method(checkAvailabilityAtCoordinate:completionHandler:))]
1354 #[unsafe(method_family = none)]
1355 pub unsafe fn checkAvailabilityAtCoordinate_completionHandler(
1356 coordinate: CLLocationCoordinate2D,
1357 completion_handler: &block2::DynBlock<dyn Fn(Bool, *mut NSError)>,
1358 );
1359
1360 #[unsafe(method(init))]
1361 #[unsafe(method_family = init)]
1362 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1363
1364 #[unsafe(method(new))]
1365 #[unsafe(method_family = new)]
1366 pub unsafe fn new() -> Retained<Self>;
1367 );
1368}