objc2_scene_kit/generated/
SCNConstraint.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8use objc2_foundation::*;
9
10use crate::*;
11
12extern_class!(
13 #[unsafe(super(NSObject))]
17 #[derive(Debug, PartialEq, Eq, Hash)]
18 pub struct SCNConstraint;
19);
20
21extern_conformance!(
22 unsafe impl NSCoding for SCNConstraint {}
23);
24
25extern_conformance!(
26 unsafe impl NSCopying for SCNConstraint {}
27);
28
29unsafe impl CopyingHelper for SCNConstraint {
30 type Result = Self;
31}
32
33extern_conformance!(
34 unsafe impl NSObjectProtocol for SCNConstraint {}
35);
36
37extern_conformance!(
38 unsafe impl NSSecureCoding for SCNConstraint {}
39);
40
41#[cfg(feature = "SCNAnimation")]
42extern_conformance!(
43 unsafe impl SCNAnimatable for SCNConstraint {}
44);
45
46impl SCNConstraint {
47 extern_methods!(
48 #[unsafe(method(isEnabled))]
50 #[unsafe(method_family = none)]
51 pub unsafe fn isEnabled(&self) -> bool;
52
53 #[unsafe(method(setEnabled:))]
55 #[unsafe(method_family = none)]
56 pub unsafe fn setEnabled(&self, enabled: bool);
57
58 #[cfg(feature = "objc2-core-foundation")]
59 #[unsafe(method(influenceFactor))]
61 #[unsafe(method_family = none)]
62 pub unsafe fn influenceFactor(&self) -> CGFloat;
63
64 #[cfg(feature = "objc2-core-foundation")]
65 #[unsafe(method(setInfluenceFactor:))]
67 #[unsafe(method_family = none)]
68 pub unsafe fn setInfluenceFactor(&self, influence_factor: CGFloat);
69
70 #[unsafe(method(isIncremental))]
72 #[unsafe(method_family = none)]
73 pub unsafe fn isIncremental(&self) -> bool;
74
75 #[unsafe(method(setIncremental:))]
77 #[unsafe(method_family = none)]
78 pub unsafe fn setIncremental(&self, incremental: bool);
79 );
80}
81
82impl SCNConstraint {
84 extern_methods!(
85 #[unsafe(method(init))]
86 #[unsafe(method_family = init)]
87 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
88
89 #[unsafe(method(new))]
90 #[unsafe(method_family = new)]
91 pub unsafe fn new() -> Retained<Self>;
92 );
93}
94
95extern_class!(
96 #[unsafe(super(SCNConstraint, NSObject))]
100 #[derive(Debug, PartialEq, Eq, Hash)]
101 pub struct SCNLookAtConstraint;
102);
103
104extern_conformance!(
105 unsafe impl NSCoding for SCNLookAtConstraint {}
106);
107
108extern_conformance!(
109 unsafe impl NSCopying for SCNLookAtConstraint {}
110);
111
112unsafe impl CopyingHelper for SCNLookAtConstraint {
113 type Result = Self;
114}
115
116extern_conformance!(
117 unsafe impl NSObjectProtocol for SCNLookAtConstraint {}
118);
119
120extern_conformance!(
121 unsafe impl NSSecureCoding for SCNLookAtConstraint {}
122);
123
124#[cfg(feature = "SCNAnimation")]
125extern_conformance!(
126 unsafe impl SCNAnimatable for SCNLookAtConstraint {}
127);
128
129impl SCNLookAtConstraint {
130 extern_methods!(
131 #[cfg(feature = "SCNNode")]
132 #[unsafe(method(lookAtConstraintWithTarget:))]
136 #[unsafe(method_family = none)]
137 pub unsafe fn lookAtConstraintWithTarget(target: Option<&SCNNode>) -> Retained<Self>;
138
139 #[cfg(feature = "SCNNode")]
140 #[unsafe(method(target))]
142 #[unsafe(method_family = none)]
143 pub unsafe fn target(&self) -> Option<Retained<SCNNode>>;
144
145 #[cfg(feature = "SCNNode")]
146 #[unsafe(method(setTarget:))]
148 #[unsafe(method_family = none)]
149 pub unsafe fn setTarget(&self, target: Option<&SCNNode>);
150
151 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
152 #[unsafe(method(targetOffset))]
154 #[unsafe(method_family = none)]
155 pub unsafe fn targetOffset(&self) -> SCNVector3;
156
157 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
158 #[unsafe(method(setTargetOffset:))]
160 #[unsafe(method_family = none)]
161 pub unsafe fn setTargetOffset(&self, target_offset: SCNVector3);
162
163 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
164 #[unsafe(method(localFront))]
166 #[unsafe(method_family = none)]
167 pub unsafe fn localFront(&self) -> SCNVector3;
168
169 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
170 #[unsafe(method(setLocalFront:))]
172 #[unsafe(method_family = none)]
173 pub unsafe fn setLocalFront(&self, local_front: SCNVector3);
174
175 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
176 #[unsafe(method(worldUp))]
178 #[unsafe(method_family = none)]
179 pub unsafe fn worldUp(&self) -> SCNVector3;
180
181 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
182 #[unsafe(method(setWorldUp:))]
184 #[unsafe(method_family = none)]
185 pub unsafe fn setWorldUp(&self, world_up: SCNVector3);
186
187 #[unsafe(method(gimbalLockEnabled))]
191 #[unsafe(method_family = none)]
192 pub unsafe fn gimbalLockEnabled(&self) -> bool;
193
194 #[unsafe(method(setGimbalLockEnabled:))]
196 #[unsafe(method_family = none)]
197 pub unsafe fn setGimbalLockEnabled(&self, gimbal_lock_enabled: bool);
198 );
199}
200
201impl SCNLookAtConstraint {
203 extern_methods!(
204 #[unsafe(method(init))]
205 #[unsafe(method_family = init)]
206 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
207
208 #[unsafe(method(new))]
209 #[unsafe(method_family = new)]
210 pub unsafe fn new() -> Retained<Self>;
211 );
212}
213
214#[repr(transparent)]
217#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
218pub struct SCNBillboardAxis(pub NSUInteger);
219bitflags::bitflags! {
220 impl SCNBillboardAxis: NSUInteger {
221 #[doc(alias = "SCNBillboardAxisX")]
222 const X = 0x1<<0;
223 #[doc(alias = "SCNBillboardAxisY")]
224 const Y = 0x1<<1;
225 #[doc(alias = "SCNBillboardAxisZ")]
226 const Z = 0x1<<2;
227 #[doc(alias = "SCNBillboardAxisAll")]
228 const All = SCNBillboardAxis::X.0|SCNBillboardAxis::Y.0|SCNBillboardAxis::Z.0;
229 }
230}
231
232unsafe impl Encode for SCNBillboardAxis {
233 const ENCODING: Encoding = NSUInteger::ENCODING;
234}
235
236unsafe impl RefEncode for SCNBillboardAxis {
237 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
238}
239
240extern_class!(
241 #[unsafe(super(SCNConstraint, NSObject))]
243 #[derive(Debug, PartialEq, Eq, Hash)]
244 pub struct SCNBillboardConstraint;
245);
246
247extern_conformance!(
248 unsafe impl NSCoding for SCNBillboardConstraint {}
249);
250
251extern_conformance!(
252 unsafe impl NSCopying for SCNBillboardConstraint {}
253);
254
255unsafe impl CopyingHelper for SCNBillboardConstraint {
256 type Result = Self;
257}
258
259extern_conformance!(
260 unsafe impl NSObjectProtocol for SCNBillboardConstraint {}
261);
262
263extern_conformance!(
264 unsafe impl NSSecureCoding for SCNBillboardConstraint {}
265);
266
267#[cfg(feature = "SCNAnimation")]
268extern_conformance!(
269 unsafe impl SCNAnimatable for SCNBillboardConstraint {}
270);
271
272impl SCNBillboardConstraint {
273 extern_methods!(
274 #[unsafe(method(billboardConstraint))]
278 #[unsafe(method_family = none)]
279 pub unsafe fn billboardConstraint() -> Retained<Self>;
280
281 #[unsafe(method(freeAxes))]
283 #[unsafe(method_family = none)]
284 pub unsafe fn freeAxes(&self) -> SCNBillboardAxis;
285
286 #[unsafe(method(setFreeAxes:))]
288 #[unsafe(method_family = none)]
289 pub unsafe fn setFreeAxes(&self, free_axes: SCNBillboardAxis);
290 );
291}
292
293impl SCNBillboardConstraint {
295 extern_methods!(
296 #[unsafe(method(init))]
297 #[unsafe(method_family = init)]
298 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
299
300 #[unsafe(method(new))]
301 #[unsafe(method_family = new)]
302 pub unsafe fn new() -> Retained<Self>;
303 );
304}
305
306extern_class!(
307 #[unsafe(super(SCNConstraint, NSObject))]
311 #[derive(Debug, PartialEq, Eq, Hash)]
312 pub struct SCNTransformConstraint;
313);
314
315extern_conformance!(
316 unsafe impl NSCoding for SCNTransformConstraint {}
317);
318
319extern_conformance!(
320 unsafe impl NSCopying for SCNTransformConstraint {}
321);
322
323unsafe impl CopyingHelper for SCNTransformConstraint {
324 type Result = Self;
325}
326
327extern_conformance!(
328 unsafe impl NSObjectProtocol for SCNTransformConstraint {}
329);
330
331extern_conformance!(
332 unsafe impl NSSecureCoding for SCNTransformConstraint {}
333);
334
335#[cfg(feature = "SCNAnimation")]
336extern_conformance!(
337 unsafe impl SCNAnimatable for SCNTransformConstraint {}
338);
339
340impl SCNTransformConstraint {
341 extern_methods!(
342 #[cfg(all(
343 feature = "SCNNode",
344 feature = "SceneKitTypes",
345 feature = "block2",
346 feature = "objc2-quartz-core"
347 ))]
348 #[cfg(not(target_os = "watchos"))]
349 #[unsafe(method(transformConstraintInWorldSpace:withBlock:))]
357 #[unsafe(method_family = none)]
358 pub unsafe fn transformConstraintInWorldSpace_withBlock(
359 world: bool,
360 block: &block2::DynBlock<dyn Fn(NonNull<SCNNode>, SCNMatrix4) -> SCNMatrix4>,
361 ) -> Retained<Self>;
362
363 #[cfg(all(
364 feature = "SCNNode",
365 feature = "SceneKitTypes",
366 feature = "block2",
367 feature = "objc2-core-foundation"
368 ))]
369 #[unsafe(method(positionConstraintInWorldSpace:withBlock:))]
377 #[unsafe(method_family = none)]
378 pub unsafe fn positionConstraintInWorldSpace_withBlock(
379 world: bool,
380 block: &block2::DynBlock<dyn Fn(NonNull<SCNNode>, SCNVector3) -> SCNVector3>,
381 ) -> Retained<Self>;
382
383 #[cfg(all(
384 feature = "SCNNode",
385 feature = "SceneKitTypes",
386 feature = "block2",
387 feature = "objc2-core-foundation"
388 ))]
389 #[unsafe(method(orientationConstraintInWorldSpace:withBlock:))]
397 #[unsafe(method_family = none)]
398 pub unsafe fn orientationConstraintInWorldSpace_withBlock(
399 world: bool,
400 block: &block2::DynBlock<dyn Fn(NonNull<SCNNode>, SCNQuaternion) -> SCNQuaternion>,
401 ) -> Retained<Self>;
402 );
403}
404
405impl SCNTransformConstraint {
407 extern_methods!(
408 #[unsafe(method(init))]
409 #[unsafe(method_family = init)]
410 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
411
412 #[unsafe(method(new))]
413 #[unsafe(method_family = new)]
414 pub unsafe fn new() -> Retained<Self>;
415 );
416}
417
418extern_class!(
419 #[unsafe(super(SCNConstraint, NSObject))]
423 #[derive(Debug, PartialEq, Eq, Hash)]
424 pub struct SCNIKConstraint;
425);
426
427extern_conformance!(
428 unsafe impl NSCoding for SCNIKConstraint {}
429);
430
431extern_conformance!(
432 unsafe impl NSCopying for SCNIKConstraint {}
433);
434
435unsafe impl CopyingHelper for SCNIKConstraint {
436 type Result = Self;
437}
438
439extern_conformance!(
440 unsafe impl NSObjectProtocol for SCNIKConstraint {}
441);
442
443extern_conformance!(
444 unsafe impl NSSecureCoding for SCNIKConstraint {}
445);
446
447#[cfg(feature = "SCNAnimation")]
448extern_conformance!(
449 unsafe impl SCNAnimatable for SCNIKConstraint {}
450);
451
452impl SCNIKConstraint {
453 extern_methods!(
454 #[cfg(feature = "SCNNode")]
455 #[unsafe(method(initWithChainRootNode:))]
461 #[unsafe(method_family = init)]
462 pub unsafe fn initWithChainRootNode(
463 this: Allocated<Self>,
464 chain_root_node: &SCNNode,
465 ) -> Retained<Self>;
466
467 #[cfg(feature = "SCNNode")]
468 #[unsafe(method(inverseKinematicsConstraintWithChainRootNode:))]
474 #[unsafe(method_family = none)]
475 pub unsafe fn inverseKinematicsConstraintWithChainRootNode(
476 chain_root_node: &SCNNode,
477 ) -> Retained<Self>;
478
479 #[cfg(feature = "SCNNode")]
480 #[unsafe(method(chainRootNode))]
482 #[unsafe(method_family = none)]
483 pub unsafe fn chainRootNode(&self) -> Retained<SCNNode>;
484
485 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
486 #[unsafe(method(targetPosition))]
488 #[unsafe(method_family = none)]
489 pub unsafe fn targetPosition(&self) -> SCNVector3;
490
491 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
492 #[unsafe(method(setTargetPosition:))]
494 #[unsafe(method_family = none)]
495 pub unsafe fn setTargetPosition(&self, target_position: SCNVector3);
496
497 #[cfg(all(feature = "SCNNode", feature = "objc2-core-foundation"))]
498 #[unsafe(method(setMaxAllowedRotationAngle:forJoint:))]
500 #[unsafe(method_family = none)]
501 pub unsafe fn setMaxAllowedRotationAngle_forJoint(&self, angle: CGFloat, node: &SCNNode);
502
503 #[cfg(all(feature = "SCNNode", feature = "objc2-core-foundation"))]
504 #[unsafe(method(maxAllowedRotationAngleForJoint:))]
505 #[unsafe(method_family = none)]
506 pub unsafe fn maxAllowedRotationAngleForJoint(&self, node: &SCNNode) -> CGFloat;
507 );
508}
509
510impl SCNIKConstraint {
512 extern_methods!(
513 #[unsafe(method(init))]
514 #[unsafe(method_family = init)]
515 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
516
517 #[unsafe(method(new))]
518 #[unsafe(method_family = new)]
519 pub unsafe fn new() -> Retained<Self>;
520 );
521}
522
523extern_class!(
524 #[unsafe(super(SCNConstraint, NSObject))]
528 #[derive(Debug, PartialEq, Eq, Hash)]
529 pub struct SCNDistanceConstraint;
530);
531
532extern_conformance!(
533 unsafe impl NSCoding for SCNDistanceConstraint {}
534);
535
536extern_conformance!(
537 unsafe impl NSCopying for SCNDistanceConstraint {}
538);
539
540unsafe impl CopyingHelper for SCNDistanceConstraint {
541 type Result = Self;
542}
543
544extern_conformance!(
545 unsafe impl NSObjectProtocol for SCNDistanceConstraint {}
546);
547
548extern_conformance!(
549 unsafe impl NSSecureCoding for SCNDistanceConstraint {}
550);
551
552#[cfg(feature = "SCNAnimation")]
553extern_conformance!(
554 unsafe impl SCNAnimatable for SCNDistanceConstraint {}
555);
556
557impl SCNDistanceConstraint {
558 extern_methods!(
559 #[cfg(feature = "SCNNode")]
560 #[unsafe(method(distanceConstraintWithTarget:))]
562 #[unsafe(method_family = none)]
563 pub unsafe fn distanceConstraintWithTarget(target: Option<&SCNNode>) -> Retained<Self>;
564
565 #[cfg(feature = "SCNNode")]
566 #[unsafe(method(target))]
568 #[unsafe(method_family = none)]
569 pub unsafe fn target(&self) -> Option<Retained<SCNNode>>;
570
571 #[cfg(feature = "SCNNode")]
572 #[unsafe(method(setTarget:))]
574 #[unsafe(method_family = none)]
575 pub unsafe fn setTarget(&self, target: Option<&SCNNode>);
576
577 #[cfg(feature = "objc2-core-foundation")]
578 #[unsafe(method(minimumDistance))]
580 #[unsafe(method_family = none)]
581 pub unsafe fn minimumDistance(&self) -> CGFloat;
582
583 #[cfg(feature = "objc2-core-foundation")]
584 #[unsafe(method(setMinimumDistance:))]
586 #[unsafe(method_family = none)]
587 pub unsafe fn setMinimumDistance(&self, minimum_distance: CGFloat);
588
589 #[cfg(feature = "objc2-core-foundation")]
590 #[unsafe(method(maximumDistance))]
592 #[unsafe(method_family = none)]
593 pub unsafe fn maximumDistance(&self) -> CGFloat;
594
595 #[cfg(feature = "objc2-core-foundation")]
596 #[unsafe(method(setMaximumDistance:))]
598 #[unsafe(method_family = none)]
599 pub unsafe fn setMaximumDistance(&self, maximum_distance: CGFloat);
600 );
601}
602
603impl SCNDistanceConstraint {
605 extern_methods!(
606 #[unsafe(method(init))]
607 #[unsafe(method_family = init)]
608 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
609
610 #[unsafe(method(new))]
611 #[unsafe(method_family = new)]
612 pub unsafe fn new() -> Retained<Self>;
613 );
614}
615
616extern_class!(
617 #[unsafe(super(SCNConstraint, NSObject))]
621 #[derive(Debug, PartialEq, Eq, Hash)]
622 pub struct SCNReplicatorConstraint;
623);
624
625extern_conformance!(
626 unsafe impl NSCoding for SCNReplicatorConstraint {}
627);
628
629extern_conformance!(
630 unsafe impl NSCopying for SCNReplicatorConstraint {}
631);
632
633unsafe impl CopyingHelper for SCNReplicatorConstraint {
634 type Result = Self;
635}
636
637extern_conformance!(
638 unsafe impl NSObjectProtocol for SCNReplicatorConstraint {}
639);
640
641extern_conformance!(
642 unsafe impl NSSecureCoding for SCNReplicatorConstraint {}
643);
644
645#[cfg(feature = "SCNAnimation")]
646extern_conformance!(
647 unsafe impl SCNAnimatable for SCNReplicatorConstraint {}
648);
649
650impl SCNReplicatorConstraint {
651 extern_methods!(
652 #[cfg(feature = "SCNNode")]
653 #[unsafe(method(replicatorConstraintWithTarget:))]
655 #[unsafe(method_family = none)]
656 pub unsafe fn replicatorConstraintWithTarget(target: Option<&SCNNode>) -> Retained<Self>;
657
658 #[cfg(feature = "SCNNode")]
659 #[unsafe(method(target))]
661 #[unsafe(method_family = none)]
662 pub unsafe fn target(&self) -> Option<Retained<SCNNode>>;
663
664 #[cfg(feature = "SCNNode")]
665 #[unsafe(method(setTarget:))]
667 #[unsafe(method_family = none)]
668 pub unsafe fn setTarget(&self, target: Option<&SCNNode>);
669
670 #[unsafe(method(replicatesOrientation))]
672 #[unsafe(method_family = none)]
673 pub unsafe fn replicatesOrientation(&self) -> bool;
674
675 #[unsafe(method(setReplicatesOrientation:))]
677 #[unsafe(method_family = none)]
678 pub unsafe fn setReplicatesOrientation(&self, replicates_orientation: bool);
679
680 #[unsafe(method(replicatesPosition))]
682 #[unsafe(method_family = none)]
683 pub unsafe fn replicatesPosition(&self) -> bool;
684
685 #[unsafe(method(setReplicatesPosition:))]
687 #[unsafe(method_family = none)]
688 pub unsafe fn setReplicatesPosition(&self, replicates_position: bool);
689
690 #[unsafe(method(replicatesScale))]
692 #[unsafe(method_family = none)]
693 pub unsafe fn replicatesScale(&self) -> bool;
694
695 #[unsafe(method(setReplicatesScale:))]
697 #[unsafe(method_family = none)]
698 pub unsafe fn setReplicatesScale(&self, replicates_scale: bool);
699
700 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
701 #[unsafe(method(orientationOffset))]
703 #[unsafe(method_family = none)]
704 pub unsafe fn orientationOffset(&self) -> SCNQuaternion;
705
706 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
707 #[unsafe(method(setOrientationOffset:))]
709 #[unsafe(method_family = none)]
710 pub unsafe fn setOrientationOffset(&self, orientation_offset: SCNQuaternion);
711
712 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
713 #[unsafe(method(positionOffset))]
715 #[unsafe(method_family = none)]
716 pub unsafe fn positionOffset(&self) -> SCNVector3;
717
718 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
719 #[unsafe(method(setPositionOffset:))]
721 #[unsafe(method_family = none)]
722 pub unsafe fn setPositionOffset(&self, position_offset: SCNVector3);
723
724 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
725 #[unsafe(method(scaleOffset))]
727 #[unsafe(method_family = none)]
728 pub unsafe fn scaleOffset(&self) -> SCNVector3;
729
730 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
731 #[unsafe(method(setScaleOffset:))]
733 #[unsafe(method_family = none)]
734 pub unsafe fn setScaleOffset(&self, scale_offset: SCNVector3);
735 );
736}
737
738impl SCNReplicatorConstraint {
740 extern_methods!(
741 #[unsafe(method(init))]
742 #[unsafe(method_family = init)]
743 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
744
745 #[unsafe(method(new))]
746 #[unsafe(method_family = new)]
747 pub unsafe fn new() -> Retained<Self>;
748 );
749}
750
751extern_class!(
752 #[unsafe(super(SCNConstraint, NSObject))]
756 #[derive(Debug, PartialEq, Eq, Hash)]
757 pub struct SCNAccelerationConstraint;
758);
759
760extern_conformance!(
761 unsafe impl NSCoding for SCNAccelerationConstraint {}
762);
763
764extern_conformance!(
765 unsafe impl NSCopying for SCNAccelerationConstraint {}
766);
767
768unsafe impl CopyingHelper for SCNAccelerationConstraint {
769 type Result = Self;
770}
771
772extern_conformance!(
773 unsafe impl NSObjectProtocol for SCNAccelerationConstraint {}
774);
775
776extern_conformance!(
777 unsafe impl NSSecureCoding for SCNAccelerationConstraint {}
778);
779
780#[cfg(feature = "SCNAnimation")]
781extern_conformance!(
782 unsafe impl SCNAnimatable for SCNAccelerationConstraint {}
783);
784
785impl SCNAccelerationConstraint {
786 extern_methods!(
787 #[unsafe(method(accelerationConstraint))]
789 #[unsafe(method_family = none)]
790 pub unsafe fn accelerationConstraint() -> Retained<Self>;
791
792 #[cfg(feature = "objc2-core-foundation")]
793 #[unsafe(method(maximumLinearAcceleration))]
797 #[unsafe(method_family = none)]
798 pub unsafe fn maximumLinearAcceleration(&self) -> CGFloat;
799
800 #[cfg(feature = "objc2-core-foundation")]
801 #[unsafe(method(setMaximumLinearAcceleration:))]
803 #[unsafe(method_family = none)]
804 pub unsafe fn setMaximumLinearAcceleration(&self, maximum_linear_acceleration: CGFloat);
805
806 #[cfg(feature = "objc2-core-foundation")]
807 #[unsafe(method(maximumLinearVelocity))]
811 #[unsafe(method_family = none)]
812 pub unsafe fn maximumLinearVelocity(&self) -> CGFloat;
813
814 #[cfg(feature = "objc2-core-foundation")]
815 #[unsafe(method(setMaximumLinearVelocity:))]
817 #[unsafe(method_family = none)]
818 pub unsafe fn setMaximumLinearVelocity(&self, maximum_linear_velocity: CGFloat);
819
820 #[cfg(feature = "objc2-core-foundation")]
821 #[unsafe(method(decelerationDistance))]
823 #[unsafe(method_family = none)]
824 pub unsafe fn decelerationDistance(&self) -> CGFloat;
825
826 #[cfg(feature = "objc2-core-foundation")]
827 #[unsafe(method(setDecelerationDistance:))]
829 #[unsafe(method_family = none)]
830 pub unsafe fn setDecelerationDistance(&self, deceleration_distance: CGFloat);
831
832 #[cfg(feature = "objc2-core-foundation")]
833 #[unsafe(method(damping))]
835 #[unsafe(method_family = none)]
836 pub unsafe fn damping(&self) -> CGFloat;
837
838 #[cfg(feature = "objc2-core-foundation")]
839 #[unsafe(method(setDamping:))]
841 #[unsafe(method_family = none)]
842 pub unsafe fn setDamping(&self, damping: CGFloat);
843 );
844}
845
846impl SCNAccelerationConstraint {
848 extern_methods!(
849 #[unsafe(method(init))]
850 #[unsafe(method_family = init)]
851 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
852
853 #[unsafe(method(new))]
854 #[unsafe(method_family = new)]
855 pub unsafe fn new() -> Retained<Self>;
856 );
857}
858
859extern_class!(
860 #[unsafe(super(SCNConstraint, NSObject))]
864 #[derive(Debug, PartialEq, Eq, Hash)]
865 pub struct SCNSliderConstraint;
866);
867
868extern_conformance!(
869 unsafe impl NSCoding for SCNSliderConstraint {}
870);
871
872extern_conformance!(
873 unsafe impl NSCopying for SCNSliderConstraint {}
874);
875
876unsafe impl CopyingHelper for SCNSliderConstraint {
877 type Result = Self;
878}
879
880extern_conformance!(
881 unsafe impl NSObjectProtocol for SCNSliderConstraint {}
882);
883
884extern_conformance!(
885 unsafe impl NSSecureCoding for SCNSliderConstraint {}
886);
887
888#[cfg(feature = "SCNAnimation")]
889extern_conformance!(
890 unsafe impl SCNAnimatable for SCNSliderConstraint {}
891);
892
893impl SCNSliderConstraint {
894 extern_methods!(
895 #[unsafe(method(sliderConstraint))]
897 #[unsafe(method_family = none)]
898 pub unsafe fn sliderConstraint() -> Retained<Self>;
899
900 #[unsafe(method(collisionCategoryBitMask))]
902 #[unsafe(method_family = none)]
903 pub unsafe fn collisionCategoryBitMask(&self) -> NSUInteger;
904
905 #[unsafe(method(setCollisionCategoryBitMask:))]
907 #[unsafe(method_family = none)]
908 pub unsafe fn setCollisionCategoryBitMask(&self, collision_category_bit_mask: NSUInteger);
909
910 #[cfg(feature = "objc2-core-foundation")]
911 #[unsafe(method(radius))]
913 #[unsafe(method_family = none)]
914 pub unsafe fn radius(&self) -> CGFloat;
915
916 #[cfg(feature = "objc2-core-foundation")]
917 #[unsafe(method(setRadius:))]
919 #[unsafe(method_family = none)]
920 pub unsafe fn setRadius(&self, radius: CGFloat);
921
922 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
923 #[unsafe(method(offset))]
925 #[unsafe(method_family = none)]
926 pub unsafe fn offset(&self) -> SCNVector3;
927
928 #[cfg(all(feature = "SceneKitTypes", feature = "objc2-core-foundation"))]
929 #[unsafe(method(setOffset:))]
931 #[unsafe(method_family = none)]
932 pub unsafe fn setOffset(&self, offset: SCNVector3);
933 );
934}
935
936impl SCNSliderConstraint {
938 extern_methods!(
939 #[unsafe(method(init))]
940 #[unsafe(method_family = init)]
941 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
942
943 #[unsafe(method(new))]
944 #[unsafe(method_family = new)]
945 pub unsafe fn new() -> Retained<Self>;
946 );
947}
948
949extern_protocol!(
950 pub unsafe trait SCNAvoidOccluderConstraintDelegate: NSObjectProtocol {
952 #[cfg(feature = "SCNNode")]
953 #[optional]
954 #[unsafe(method(avoidOccluderConstraint:shouldAvoidOccluder:forNode:))]
955 #[unsafe(method_family = none)]
956 unsafe fn avoidOccluderConstraint_shouldAvoidOccluder_forNode(
957 &self,
958 constraint: &SCNAvoidOccluderConstraint,
959 occluder: &SCNNode,
960 node: &SCNNode,
961 ) -> bool;
962
963 #[cfg(feature = "SCNNode")]
964 #[optional]
965 #[unsafe(method(avoidOccluderConstraint:didAvoidOccluder:forNode:))]
966 #[unsafe(method_family = none)]
967 unsafe fn avoidOccluderConstraint_didAvoidOccluder_forNode(
968 &self,
969 constraint: &SCNAvoidOccluderConstraint,
970 occluder: &SCNNode,
971 node: &SCNNode,
972 );
973 }
974);
975
976extern_class!(
977 #[unsafe(super(SCNConstraint, NSObject))]
983 #[derive(Debug, PartialEq, Eq, Hash)]
984 pub struct SCNAvoidOccluderConstraint;
985);
986
987extern_conformance!(
988 unsafe impl NSCoding for SCNAvoidOccluderConstraint {}
989);
990
991extern_conformance!(
992 unsafe impl NSCopying for SCNAvoidOccluderConstraint {}
993);
994
995unsafe impl CopyingHelper for SCNAvoidOccluderConstraint {
996 type Result = Self;
997}
998
999extern_conformance!(
1000 unsafe impl NSObjectProtocol for SCNAvoidOccluderConstraint {}
1001);
1002
1003extern_conformance!(
1004 unsafe impl NSSecureCoding for SCNAvoidOccluderConstraint {}
1005);
1006
1007#[cfg(feature = "SCNAnimation")]
1008extern_conformance!(
1009 unsafe impl SCNAnimatable for SCNAvoidOccluderConstraint {}
1010);
1011
1012impl SCNAvoidOccluderConstraint {
1013 extern_methods!(
1014 #[cfg(feature = "SCNNode")]
1015 #[unsafe(method(avoidOccluderConstraintWithTarget:))]
1017 #[unsafe(method_family = none)]
1018 pub unsafe fn avoidOccluderConstraintWithTarget(target: Option<&SCNNode>)
1019 -> Retained<Self>;
1020
1021 #[unsafe(method(delegate))]
1023 #[unsafe(method_family = none)]
1024 pub unsafe fn delegate(
1025 &self,
1026 ) -> Retained<ProtocolObject<dyn SCNAvoidOccluderConstraintDelegate>>;
1027
1028 #[unsafe(method(setDelegate:))]
1030 #[unsafe(method_family = none)]
1031 pub unsafe fn setDelegate(
1032 &self,
1033 delegate: &ProtocolObject<dyn SCNAvoidOccluderConstraintDelegate>,
1034 );
1035
1036 #[cfg(feature = "SCNNode")]
1037 #[unsafe(method(target))]
1039 #[unsafe(method_family = none)]
1040 pub unsafe fn target(&self) -> Option<Retained<SCNNode>>;
1041
1042 #[cfg(feature = "SCNNode")]
1043 #[unsafe(method(setTarget:))]
1045 #[unsafe(method_family = none)]
1046 pub unsafe fn setTarget(&self, target: Option<&SCNNode>);
1047
1048 #[unsafe(method(occluderCategoryBitMask))]
1050 #[unsafe(method_family = none)]
1051 pub unsafe fn occluderCategoryBitMask(&self) -> NSUInteger;
1052
1053 #[unsafe(method(setOccluderCategoryBitMask:))]
1055 #[unsafe(method_family = none)]
1056 pub unsafe fn setOccluderCategoryBitMask(&self, occluder_category_bit_mask: NSUInteger);
1057
1058 #[cfg(feature = "objc2-core-foundation")]
1059 #[unsafe(method(bias))]
1063 #[unsafe(method_family = none)]
1064 pub unsafe fn bias(&self) -> CGFloat;
1065
1066 #[cfg(feature = "objc2-core-foundation")]
1067 #[unsafe(method(setBias:))]
1069 #[unsafe(method_family = none)]
1070 pub unsafe fn setBias(&self, bias: CGFloat);
1071 );
1072}
1073
1074impl SCNAvoidOccluderConstraint {
1076 extern_methods!(
1077 #[unsafe(method(init))]
1078 #[unsafe(method_family = init)]
1079 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1080
1081 #[unsafe(method(new))]
1082 #[unsafe(method_family = new)]
1083 pub unsafe fn new() -> Retained<Self>;
1084 );
1085}