1{ Parsed from SceneKit.framework SCNPhysicsWorld.h }
2
3
4{$ifdef TYPES}
5type
6  SCNPhysicsWorldPtr = ^SCNPhysicsWorld;
7  SCNPhysicsContactDelegateProtocolPtr = ^SCNPhysicsContactDelegateProtocol;
8{$endif}
9
10{$ifdef EXTERNAL_SYMBOLS}
11var
12  SCNPhysicsTestCollisionBitMaskKey: NSString; cvar; external;
13  SCNPhysicsTestSearchModeKey: NSString; cvar; external;
14  SCNPhysicsTestBackfaceCullingKey: NSString; cvar; external;
15  SCNPhysicsTestSearchModeAny: NSString; cvar; external;
16  SCNPhysicsTestSearchModeClosest: NSString; cvar; external;
17  SCNPhysicsTestSearchModeAll: NSString; cvar; external;
18{$endif}
19
20{$ifdef PROTOCOLS}
21
22type
23  SCNPhysicsContactDelegateProtocol = objcprotocol external name 'SCNPhysicsContactDelegate' (NSObjectProtocol)
24  optional
25    procedure physicsWorld_didBeginContact (world: SCNPhysicsWorld; contact: SCNPhysicsContact); message 'physicsWorld:didBeginContact:';
26    procedure physicsWorld_didUpdateContact (world: SCNPhysicsWorld; contact: SCNPhysicsContact); message 'physicsWorld:didUpdateContact:';
27    procedure physicsWorld_didEndContact (world: SCNPhysicsWorld; contact: SCNPhysicsContact); message 'physicsWorld:didEndContact:';
28  end;
29{$endif}
30
31{$ifdef CLASSES}
32
33type
34  SCNPhysicsWorld = objcclass external (NSObject, NSSecureCodingProtocol)
35  private
36    _reserved: id;
37  public
38    procedure setGravity(newValue: SCNVector3); message 'setGravity:';
39    function gravity: SCNVector3; message 'gravity';
40    procedure setSpeed(newValue: CGFloat); message 'setSpeed:';
41    function speed: CGFloat; message 'speed';
42    procedure setTimeStep(newValue: NSTimeInterval); message 'setTimeStep:';
43    function timeStep: NSTimeInterval; message 'timeStep';
44    procedure setContactDelegate(newValue: SCNPhysicsContactDelegateProtocol); message 'setContactDelegate:';
45    function contactDelegate: SCNPhysicsContactDelegateProtocol; message 'contactDelegate';
46    procedure addBehavior (behavior: SCNPhysicsBehavior); message 'addBehavior:';
47    procedure removeBehavior (behavior: SCNPhysicsBehavior); message 'removeBehavior:';
48    procedure removeAllBehaviors; message 'removeAllBehaviors';
49    function allBehaviors: NSArray; message 'allBehaviors';
50    function rayTestWithSegmentFromPoint_toPoint_options (origin: SCNVector3; dest: SCNVector3; options: NSDictionary): NSArray; message 'rayTestWithSegmentFromPoint:toPoint:options:';
51    function contactTestBetweenBody_andBody_options (bodyA: SCNPhysicsBody; bodyB: SCNPhysicsBody; options: NSDictionary): NSArray; message 'contactTestBetweenBody:andBody:options:';
52    function contactTestWithBody_options (body: SCNPhysicsBody; options: NSDictionary): NSArray; message 'contactTestWithBody:options:';
53    function convexSweepTestWithShape_fromTransform_toTransform_options (shape: SCNPhysicsShape; from: SCNMatrix4; to_: SCNMatrix4; options: NSDictionary): NSArray; message 'convexSweepTestWithShape:fromTransform:toTransform:options:';
54    procedure updateCollisionPairs; message 'updateCollisionPairs';
55
56    { Adopted protocols }
57    procedure encodeWithCoder (aCoder: NSCoder); message 'encodeWithCoder:';
58    function initWithCoder (aDecoder: NSCoder): id; message 'initWithCoder:';
59    class function supportsSecureCoding: ObjCBOOL; message 'supportsSecureCoding';
60  end;
61{$endif}
62
63