@class SCNNode, SCNPhysicsShape; @interface SCNPhysicsBody : NSObject { SCNNode *_node; double _mass; double _charge; double _friction; double _restitution; double _rollingFriction; SCNPhysicsShape *_physicsShape; long long _type; double _damping; struct SCNVector4 { float x; float y; float z; float w; } _angularVelocity; double _angularDamping; struct SCNVector3 { float x; float y; float z; } _velocityFactor; struct SCNVector3 { float x; float y; float z; } _angularVelocityFactor; struct SCNVector3 { float x; float y; float z; } _velocity; BOOL _ignoreGravity; double _linearRestingThreshold; double _angularRestingThreshold; BOOL _explicitMomentOfInertia; struct SCNVector3 { float x; float y; float z; } _momentOfInertia; struct SCNVector3 { float x; float y; float z; } _centerOfMassOffset; unsigned long long _categoryBitMask; unsigned long long _collisionBitMask; unsigned long long _contactTestBitMask; BOOL _allowsResting; BOOL _isDefaultShape; void *_body; } @property (class, readonly) BOOL supportsSecureCoding; @property (nonatomic) long long type; @property (nonatomic) double mass; @property (nonatomic) struct SCNVector3 { float x0; float x1; float x2; } momentOfInertia; @property (nonatomic) BOOL usesDefaultMomentOfInertia; @property (nonatomic) double charge; @property (nonatomic) double friction; @property (nonatomic) double restitution; @property (nonatomic) double rollingFriction; @property (retain, nonatomic) SCNPhysicsShape *physicsShape; @property (readonly, nonatomic) BOOL isResting; @property (nonatomic) BOOL allowsResting; @property (nonatomic) struct SCNVector3 { float x0; float x1; float x2; } velocity; @property (nonatomic) struct SCNVector4 { float x0; float x1; float x2; float x3; } angularVelocity; @property (nonatomic) double damping; @property (nonatomic) double angularDamping; @property (nonatomic) struct SCNVector3 { float x0; float x1; float x2; } velocityFactor; @property (nonatomic) struct SCNVector3 { float x0; float x1; float x2; } angularVelocityFactor; @property (nonatomic) unsigned long long categoryBitMask; @property (nonatomic) unsigned long long collisionBitMask; @property (nonatomic) unsigned long long contactTestBitMask; @property (nonatomic, getter=isAffectedByGravity) BOOL affectedByGravity; @property (nonatomic) double continuousCollisionDetectionThreshold; @property (nonatomic) struct SCNVector3 { float x0; float x1; float x2; } centerOfMassOffset; @property (nonatomic) double linearRestingThreshold; @property (nonatomic) double angularRestingThreshold; + (id)bodyWithType:(long long)a0 shape:(id)a1; + (id)dynamicBody; + (id)kinematicBody; + (id)staticBody; - (void *)_handle; - (void)_activate; - (void)dealloc; - (void)resetTransform; - (void)encodeWithCoder:(id)a0; - (id)copy; - (void)_setOwner:(id)a0; - (id)_owner; - (id)initWithCoder:(id)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (void)setResting:(BOOL)a0; - (void)applyForce:(struct SCNVector3 { float x0; float x1; float x2; })a0 impulse:(BOOL)a1; - (void)moveToPosition:(struct SCNVector3 { float x0; float x1; float x2; })a0; - (void *)_createBody; - (void)_didDecodeSCNPhysicsBody:(id)a0; - (void)_ownerWillDie; - (void)_removeOwner; - (struct btCollisionShape { void /* function */ **x0; int x1; void *x2; } *)_shapeHandleWithShape:(id)a0 owner:(id)a1; - (double)angularSleepingThreshold; - (void)applyForce:(struct SCNVector3 { float x0; float x1; float x2; })a0 atPosition:(struct SCNVector3 { float x0; float x1; float x2; })a1 impulse:(BOOL)a2; - (void)applyTorque:(struct SCNVector4 { float x0; float x1; float x2; float x3; })a0 impulse:(BOOL)a1; - (void)clearAllForces; - (double)continuousCollisionDetection; - (id)initWithType:(long long)a0 shape:(id)a1; - (double)linearSleepingThreshold; - (void)moveToTransform:(struct SCNMatrix4 { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; })a0; - (void)resetToTransform:(struct SCNMatrix4 { float x0; float x1; float x2; float x3; float x4; float x5; float x6; float x7; float x8; float x9; float x10; float x11; float x12; float x13; float x14; float x15; })a0; - (BOOL)respondsToCollision; - (void)rotateToAxisAngle:(struct SCNVector4 { float x0; float x1; float x2; float x3; })a0; - (struct __C3DScene { } *)sceneRef; - (void)setAngularSleepingThreshold:(double)a0; - (void)setLinearSleepingThreshold:(double)a0; - (void)updateGlobalScale:(double)a0; @end