box2d-bindings 0.1.1-x64-mingw → 0.1.3-x64-mingw

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/box2d_types.rb CHANGED
@@ -25,9 +25,9 @@ module Box2D
25
25
  ShapeType_chainSegmentShape = 4
26
26
  ShapeType_shapeTypeCount = 5
27
27
  JointType_distanceJoint = 0
28
- JointType_motorJoint = 1
29
- JointType_mouseJoint = 2
30
- JointType_nullJoint = 3
28
+ JointType_filterJoint = 1
29
+ JointType_motorJoint = 2
30
+ JointType_mouseJoint = 3
31
31
  JointType_prismaticJoint = 4
32
32
  JointType_revoluteJoint = 5
33
33
  JointType_weldJoint = 6
@@ -192,6 +192,7 @@ module Box2D
192
192
  typedef :pointer, :b2PreSolveFcn
193
193
  typedef :pointer, :b2OverlapResultFcn
194
194
  typedef :pointer, :b2CastResultFcn
195
+ typedef :pointer, :b2PlaneResultFcn
195
196
  typedef :int, :b2HexColor
196
197
 
197
198
  # Struct
@@ -240,9 +241,7 @@ module Box2D
240
241
  :hitEventThreshold, :float,
241
242
  :contactHertz, :float,
242
243
  :contactDampingRatio, :float,
243
- :contactPushMaxSpeed, :float,
244
- :jointHertz, :float,
245
- :jointDampingRatio, :float,
244
+ :maxContactPushSpeed, :float,
246
245
  :maximumLinearSpeed, :float,
247
246
  :frictionCallback, :pointer,
248
247
  :restitutionCallback, :pointer,
@@ -265,12 +264,8 @@ module Box2D
265
264
  def contactHertz=(v) self[:contactHertz] = v end
266
265
  def contactDampingRatio = self[:contactDampingRatio]
267
266
  def contactDampingRatio=(v) self[:contactDampingRatio] = v end
268
- def contactPushMaxSpeed = self[:contactPushMaxSpeed]
269
- def contactPushMaxSpeed=(v) self[:contactPushMaxSpeed] = v end
270
- def jointHertz = self[:jointHertz]
271
- def jointHertz=(v) self[:jointHertz] = v end
272
- def jointDampingRatio = self[:jointDampingRatio]
273
- def jointDampingRatio=(v) self[:jointDampingRatio] = v end
267
+ def maxContactPushSpeed = self[:maxContactPushSpeed]
268
+ def maxContactPushSpeed=(v) self[:maxContactPushSpeed] = v end
274
269
  def maximumLinearSpeed = self[:maximumLinearSpeed]
275
270
  def maximumLinearSpeed=(v) self[:maximumLinearSpeed] = v end
276
271
  def frictionCallback = self[:frictionCallback]
@@ -293,16 +288,14 @@ module Box2D
293
288
  def userData=(v) self[:userData] = v end
294
289
  def internalValue = self[:internalValue]
295
290
  def internalValue=(v) self[:internalValue] = v end
296
- def self.create_as(_gravity_, _restitutionThreshold_, _hitEventThreshold_, _contactHertz_, _contactDampingRatio_, _contactPushMaxSpeed_, _jointHertz_, _jointDampingRatio_, _maximumLinearSpeed_, _frictionCallback_, _restitutionCallback_, _enableSleep_, _enableContinuous_, _workerCount_, _enqueueTask_, _finishTask_, _userTaskContext_, _userData_, _internalValue_)
291
+ def self.create_as(_gravity_, _restitutionThreshold_, _hitEventThreshold_, _contactHertz_, _contactDampingRatio_, _maxContactPushSpeed_, _maximumLinearSpeed_, _frictionCallback_, _restitutionCallback_, _enableSleep_, _enableContinuous_, _workerCount_, _enqueueTask_, _finishTask_, _userTaskContext_, _userData_, _internalValue_)
297
292
  instance = WorldDef.new
298
293
  instance[:gravity] = _gravity_
299
294
  instance[:restitutionThreshold] = _restitutionThreshold_
300
295
  instance[:hitEventThreshold] = _hitEventThreshold_
301
296
  instance[:contactHertz] = _contactHertz_
302
297
  instance[:contactDampingRatio] = _contactDampingRatio_
303
- instance[:contactPushMaxSpeed] = _contactPushMaxSpeed_
304
- instance[:jointHertz] = _jointHertz_
305
- instance[:jointDampingRatio] = _jointDampingRatio_
298
+ instance[:maxContactPushSpeed] = _maxContactPushSpeed_
306
299
  instance[:maximumLinearSpeed] = _maximumLinearSpeed_
307
300
  instance[:frictionCallback] = _frictionCallback_
308
301
  instance[:restitutionCallback] = _restitutionCallback_
@@ -437,18 +430,47 @@ module Box2D
437
430
  end
438
431
  end
439
432
 
440
- class ShapeDef < FFI::Struct
433
+ class SurfaceMaterial < FFI::Struct
441
434
  layout(
442
- :userData, :pointer,
443
435
  :friction, :float,
444
436
  :restitution, :float,
445
437
  :rollingResistance, :float,
446
438
  :tangentSpeed, :float,
447
- :material, :int,
439
+ :userMaterialId, :int,
440
+ :customColor, :uint,
441
+ )
442
+ def friction = self[:friction]
443
+ def friction=(v) self[:friction] = v end
444
+ def restitution = self[:restitution]
445
+ def restitution=(v) self[:restitution] = v end
446
+ def rollingResistance = self[:rollingResistance]
447
+ def rollingResistance=(v) self[:rollingResistance] = v end
448
+ def tangentSpeed = self[:tangentSpeed]
449
+ def tangentSpeed=(v) self[:tangentSpeed] = v end
450
+ def userMaterialId = self[:userMaterialId]
451
+ def userMaterialId=(v) self[:userMaterialId] = v end
452
+ def customColor = self[:customColor]
453
+ def customColor=(v) self[:customColor] = v end
454
+ def self.create_as(_friction_, _restitution_, _rollingResistance_, _tangentSpeed_, _userMaterialId_, _customColor_)
455
+ instance = SurfaceMaterial.new
456
+ instance[:friction] = _friction_
457
+ instance[:restitution] = _restitution_
458
+ instance[:rollingResistance] = _rollingResistance_
459
+ instance[:tangentSpeed] = _tangentSpeed_
460
+ instance[:userMaterialId] = _userMaterialId_
461
+ instance[:customColor] = _customColor_
462
+ instance
463
+ end
464
+ end
465
+
466
+ class ShapeDef < FFI::Struct
467
+ layout(
468
+ :userData, :pointer,
469
+ :material, SurfaceMaterial,
448
470
  :density, :float,
449
471
  :filter, Filter,
450
- :customColor, :uint,
451
472
  :isSensor, :bool,
473
+ :enableSensorEvents, :bool,
452
474
  :enableContactEvents, :bool,
453
475
  :enableHitEvents, :bool,
454
476
  :enablePreSolveEvents, :bool,
@@ -458,24 +480,16 @@ module Box2D
458
480
  )
459
481
  def userData = self[:userData]
460
482
  def userData=(v) self[:userData] = v end
461
- def friction = self[:friction]
462
- def friction=(v) self[:friction] = v end
463
- def restitution = self[:restitution]
464
- def restitution=(v) self[:restitution] = v end
465
- def rollingResistance = self[:rollingResistance]
466
- def rollingResistance=(v) self[:rollingResistance] = v end
467
- def tangentSpeed = self[:tangentSpeed]
468
- def tangentSpeed=(v) self[:tangentSpeed] = v end
469
483
  def material = self[:material]
470
484
  def material=(v) self[:material] = v end
471
485
  def density = self[:density]
472
486
  def density=(v) self[:density] = v end
473
487
  def filter = self[:filter]
474
488
  def filter=(v) self[:filter] = v end
475
- def customColor = self[:customColor]
476
- def customColor=(v) self[:customColor] = v end
477
489
  def isSensor = self[:isSensor]
478
490
  def isSensor=(v) self[:isSensor] = v end
491
+ def enableSensorEvents = self[:enableSensorEvents]
492
+ def enableSensorEvents=(v) self[:enableSensorEvents] = v end
479
493
  def enableContactEvents = self[:enableContactEvents]
480
494
  def enableContactEvents=(v) self[:enableContactEvents] = v end
481
495
  def enableHitEvents = self[:enableHitEvents]
@@ -488,18 +502,14 @@ module Box2D
488
502
  def updateBodyMass=(v) self[:updateBodyMass] = v end
489
503
  def internalValue = self[:internalValue]
490
504
  def internalValue=(v) self[:internalValue] = v end
491
- def self.create_as(_userData_, _friction_, _restitution_, _rollingResistance_, _tangentSpeed_, _material_, _density_, _filter_, _customColor_, _isSensor_, _enableContactEvents_, _enableHitEvents_, _enablePreSolveEvents_, _invokeContactCreation_, _updateBodyMass_, _internalValue_)
505
+ def self.create_as(_userData_, _material_, _density_, _filter_, _isSensor_, _enableSensorEvents_, _enableContactEvents_, _enableHitEvents_, _enablePreSolveEvents_, _invokeContactCreation_, _updateBodyMass_, _internalValue_)
492
506
  instance = ShapeDef.new
493
507
  instance[:userData] = _userData_
494
- instance[:friction] = _friction_
495
- instance[:restitution] = _restitution_
496
- instance[:rollingResistance] = _rollingResistance_
497
- instance[:tangentSpeed] = _tangentSpeed_
498
508
  instance[:material] = _material_
499
509
  instance[:density] = _density_
500
510
  instance[:filter] = _filter_
501
- instance[:customColor] = _customColor_
502
511
  instance[:isSensor] = _isSensor_
512
+ instance[:enableSensorEvents] = _enableSensorEvents_
503
513
  instance[:enableContactEvents] = _enableContactEvents_
504
514
  instance[:enableHitEvents] = _enableHitEvents_
505
515
  instance[:enablePreSolveEvents] = _enablePreSolveEvents_
@@ -510,39 +520,6 @@ module Box2D
510
520
  end
511
521
  end
512
522
 
513
- class SurfaceMaterial < FFI::Struct
514
- layout(
515
- :friction, :float,
516
- :restitution, :float,
517
- :rollingResistance, :float,
518
- :tangentSpeed, :float,
519
- :material, :int,
520
- :customColor, :uint,
521
- )
522
- def friction = self[:friction]
523
- def friction=(v) self[:friction] = v end
524
- def restitution = self[:restitution]
525
- def restitution=(v) self[:restitution] = v end
526
- def rollingResistance = self[:rollingResistance]
527
- def rollingResistance=(v) self[:rollingResistance] = v end
528
- def tangentSpeed = self[:tangentSpeed]
529
- def tangentSpeed=(v) self[:tangentSpeed] = v end
530
- def material = self[:material]
531
- def material=(v) self[:material] = v end
532
- def customColor = self[:customColor]
533
- def customColor=(v) self[:customColor] = v end
534
- def self.create_as(_friction_, _restitution_, _rollingResistance_, _tangentSpeed_, _material_, _customColor_)
535
- instance = SurfaceMaterial.new
536
- instance[:friction] = _friction_
537
- instance[:restitution] = _restitution_
538
- instance[:rollingResistance] = _rollingResistance_
539
- instance[:tangentSpeed] = _tangentSpeed_
540
- instance[:material] = _material_
541
- instance[:customColor] = _customColor_
542
- instance
543
- end
544
- end
545
-
546
523
  class ChainDef < FFI::Struct
547
524
  layout(
548
525
  :userData, :pointer,
@@ -552,6 +529,7 @@ module Box2D
552
529
  :materialCount, :int,
553
530
  :filter, Filter,
554
531
  :isLoop, :bool,
532
+ :enableSensorEvents, :bool,
555
533
  :internalValue, :int,
556
534
  )
557
535
  def userData = self[:userData]
@@ -568,9 +546,11 @@ module Box2D
568
546
  def filter=(v) self[:filter] = v end
569
547
  def isLoop = self[:isLoop]
570
548
  def isLoop=(v) self[:isLoop] = v end
549
+ def enableSensorEvents = self[:enableSensorEvents]
550
+ def enableSensorEvents=(v) self[:enableSensorEvents] = v end
571
551
  def internalValue = self[:internalValue]
572
552
  def internalValue=(v) self[:internalValue] = v end
573
- def self.create_as(_userData_, _points_, _count_, _materials_, _materialCount_, _filter_, _isLoop_, _internalValue_)
553
+ def self.create_as(_userData_, _points_, _count_, _materials_, _materialCount_, _filter_, _isLoop_, _enableSensorEvents_, _internalValue_)
574
554
  instance = ChainDef.new
575
555
  instance[:userData] = _userData_
576
556
  instance[:points] = _points_
@@ -579,6 +559,7 @@ module Box2D
579
559
  instance[:materialCount] = _materialCount_
580
560
  instance[:filter] = _filter_
581
561
  instance[:isLoop] = _isLoop_
562
+ instance[:enableSensorEvents] = _enableSensorEvents_
582
563
  instance[:internalValue] = _internalValue_
583
564
  instance
584
565
  end
@@ -603,6 +584,7 @@ module Box2D
603
584
  :storeImpulses, :float,
604
585
  :splitIslands, :float,
605
586
  :transforms, :float,
587
+ :jointEvents, :float,
606
588
  :hitEvents, :float,
607
589
  :refit, :float,
608
590
  :bullets, :float,
@@ -643,6 +625,8 @@ module Box2D
643
625
  def splitIslands=(v) self[:splitIslands] = v end
644
626
  def transforms = self[:transforms]
645
627
  def transforms=(v) self[:transforms] = v end
628
+ def jointEvents = self[:jointEvents]
629
+ def jointEvents=(v) self[:jointEvents] = v end
646
630
  def hitEvents = self[:hitEvents]
647
631
  def hitEvents=(v) self[:hitEvents] = v end
648
632
  def refit = self[:refit]
@@ -653,7 +637,7 @@ module Box2D
653
637
  def sleepIslands=(v) self[:sleepIslands] = v end
654
638
  def sensors = self[:sensors]
655
639
  def sensors=(v) self[:sensors] = v end
656
- def self.create_as(_step_, _pairs_, _collide_, _solve_, _mergeIslands_, _prepareStages_, _solveConstraints_, _prepareConstraints_, _integrateVelocities_, _warmStart_, _solveImpulses_, _integratePositions_, _relaxImpulses_, _applyRestitution_, _storeImpulses_, _splitIslands_, _transforms_, _hitEvents_, _refit_, _bullets_, _sleepIslands_, _sensors_)
640
+ def self.create_as(_step_, _pairs_, _collide_, _solve_, _mergeIslands_, _prepareStages_, _solveConstraints_, _prepareConstraints_, _integrateVelocities_, _warmStart_, _solveImpulses_, _integratePositions_, _relaxImpulses_, _applyRestitution_, _storeImpulses_, _splitIslands_, _transforms_, _jointEvents_, _hitEvents_, _refit_, _bullets_, _sleepIslands_, _sensors_)
657
641
  instance = Profile.new
658
642
  instance[:step] = _step_
659
643
  instance[:pairs] = _pairs_
@@ -672,6 +656,7 @@ module Box2D
672
656
  instance[:storeImpulses] = _storeImpulses_
673
657
  instance[:splitIslands] = _splitIslands_
674
658
  instance[:transforms] = _transforms_
659
+ instance[:jointEvents] = _jointEvents_
675
660
  instance[:hitEvents] = _hitEvents_
676
661
  instance[:refit] = _refit_
677
662
  instance[:bullets] = _bullets_
@@ -734,12 +719,54 @@ module Box2D
734
719
  end
735
720
  end
736
721
 
737
- class DistanceJointDef < FFI::Struct
722
+ class JointDef < FFI::Struct
738
723
  layout(
724
+ :userData, :pointer,
739
725
  :bodyIdA, BodyId,
740
726
  :bodyIdB, BodyId,
741
- :localAnchorA, Vec2,
742
- :localAnchorB, Vec2,
727
+ :localFrameA, Transform,
728
+ :localFrameB, Transform,
729
+ :forceThreshold, :float,
730
+ :torqueThreshold, :float,
731
+ :drawSize, :float,
732
+ :collideConnected, :bool,
733
+ )
734
+ def userData = self[:userData]
735
+ def userData=(v) self[:userData] = v end
736
+ def bodyIdA = self[:bodyIdA]
737
+ def bodyIdA=(v) self[:bodyIdA] = v end
738
+ def bodyIdB = self[:bodyIdB]
739
+ def bodyIdB=(v) self[:bodyIdB] = v end
740
+ def localFrameA = self[:localFrameA]
741
+ def localFrameA=(v) self[:localFrameA] = v end
742
+ def localFrameB = self[:localFrameB]
743
+ def localFrameB=(v) self[:localFrameB] = v end
744
+ def forceThreshold = self[:forceThreshold]
745
+ def forceThreshold=(v) self[:forceThreshold] = v end
746
+ def torqueThreshold = self[:torqueThreshold]
747
+ def torqueThreshold=(v) self[:torqueThreshold] = v end
748
+ def drawSize = self[:drawSize]
749
+ def drawSize=(v) self[:drawSize] = v end
750
+ def collideConnected = self[:collideConnected]
751
+ def collideConnected=(v) self[:collideConnected] = v end
752
+ def self.create_as(_userData_, _bodyIdA_, _bodyIdB_, _localFrameA_, _localFrameB_, _forceThreshold_, _torqueThreshold_, _drawSize_, _collideConnected_)
753
+ instance = JointDef.new
754
+ instance[:userData] = _userData_
755
+ instance[:bodyIdA] = _bodyIdA_
756
+ instance[:bodyIdB] = _bodyIdB_
757
+ instance[:localFrameA] = _localFrameA_
758
+ instance[:localFrameB] = _localFrameB_
759
+ instance[:forceThreshold] = _forceThreshold_
760
+ instance[:torqueThreshold] = _torqueThreshold_
761
+ instance[:drawSize] = _drawSize_
762
+ instance[:collideConnected] = _collideConnected_
763
+ instance
764
+ end
765
+ end
766
+
767
+ class DistanceJointDef < FFI::Struct
768
+ layout(
769
+ :base, JointDef,
743
770
  :length, :float,
744
771
  :enableSpring, :bool,
745
772
  :hertz, :float,
@@ -750,18 +777,10 @@ module Box2D
750
777
  :enableMotor, :bool,
751
778
  :maxMotorForce, :float,
752
779
  :motorSpeed, :float,
753
- :collideConnected, :bool,
754
- :userData, :pointer,
755
780
  :internalValue, :int,
756
781
  )
757
- def bodyIdA = self[:bodyIdA]
758
- def bodyIdA=(v) self[:bodyIdA] = v end
759
- def bodyIdB = self[:bodyIdB]
760
- def bodyIdB=(v) self[:bodyIdB] = v end
761
- def localAnchorA = self[:localAnchorA]
762
- def localAnchorA=(v) self[:localAnchorA] = v end
763
- def localAnchorB = self[:localAnchorB]
764
- def localAnchorB=(v) self[:localAnchorB] = v end
782
+ def base = self[:base]
783
+ def base=(v) self[:base] = v end
765
784
  def length = self[:length]
766
785
  def length=(v) self[:length] = v end
767
786
  def enableSpring = self[:enableSpring]
@@ -782,18 +801,11 @@ module Box2D
782
801
  def maxMotorForce=(v) self[:maxMotorForce] = v end
783
802
  def motorSpeed = self[:motorSpeed]
784
803
  def motorSpeed=(v) self[:motorSpeed] = v end
785
- def collideConnected = self[:collideConnected]
786
- def collideConnected=(v) self[:collideConnected] = v end
787
- def userData = self[:userData]
788
- def userData=(v) self[:userData] = v end
789
804
  def internalValue = self[:internalValue]
790
805
  def internalValue=(v) self[:internalValue] = v end
791
- def self.create_as(_bodyIdA_, _bodyIdB_, _localAnchorA_, _localAnchorB_, _length_, _enableSpring_, _hertz_, _dampingRatio_, _enableLimit_, _minLength_, _maxLength_, _enableMotor_, _maxMotorForce_, _motorSpeed_, _collideConnected_, _userData_, _internalValue_)
806
+ def self.create_as(_base_, _length_, _enableSpring_, _hertz_, _dampingRatio_, _enableLimit_, _minLength_, _maxLength_, _enableMotor_, _maxMotorForce_, _motorSpeed_, _internalValue_)
792
807
  instance = DistanceJointDef.new
793
- instance[:bodyIdA] = _bodyIdA_
794
- instance[:bodyIdB] = _bodyIdB_
795
- instance[:localAnchorA] = _localAnchorA_
796
- instance[:localAnchorB] = _localAnchorB_
808
+ instance[:base] = _base_
797
809
  instance[:length] = _length_
798
810
  instance[:enableSpring] = _enableSpring_
799
811
  instance[:hertz] = _hertz_
@@ -804,8 +816,6 @@ module Box2D
804
816
  instance[:enableMotor] = _enableMotor_
805
817
  instance[:maxMotorForce] = _maxMotorForce_
806
818
  instance[:motorSpeed] = _motorSpeed_
807
- instance[:collideConnected] = _collideConnected_
808
- instance[:userData] = _userData_
809
819
  instance[:internalValue] = _internalValue_
810
820
  instance
811
821
  end
@@ -813,48 +823,28 @@ module Box2D
813
823
 
814
824
  class MotorJointDef < FFI::Struct
815
825
  layout(
816
- :bodyIdA, BodyId,
817
- :bodyIdB, BodyId,
818
- :linearOffset, Vec2,
819
- :angularOffset, :float,
826
+ :base, JointDef,
820
827
  :maxForce, :float,
821
828
  :maxTorque, :float,
822
829
  :correctionFactor, :float,
823
- :collideConnected, :bool,
824
- :userData, :pointer,
825
830
  :internalValue, :int,
826
831
  )
827
- def bodyIdA = self[:bodyIdA]
828
- def bodyIdA=(v) self[:bodyIdA] = v end
829
- def bodyIdB = self[:bodyIdB]
830
- def bodyIdB=(v) self[:bodyIdB] = v end
831
- def linearOffset = self[:linearOffset]
832
- def linearOffset=(v) self[:linearOffset] = v end
833
- def angularOffset = self[:angularOffset]
834
- def angularOffset=(v) self[:angularOffset] = v end
832
+ def base = self[:base]
833
+ def base=(v) self[:base] = v end
835
834
  def maxForce = self[:maxForce]
836
835
  def maxForce=(v) self[:maxForce] = v end
837
836
  def maxTorque = self[:maxTorque]
838
837
  def maxTorque=(v) self[:maxTorque] = v end
839
838
  def correctionFactor = self[:correctionFactor]
840
839
  def correctionFactor=(v) self[:correctionFactor] = v end
841
- def collideConnected = self[:collideConnected]
842
- def collideConnected=(v) self[:collideConnected] = v end
843
- def userData = self[:userData]
844
- def userData=(v) self[:userData] = v end
845
840
  def internalValue = self[:internalValue]
846
841
  def internalValue=(v) self[:internalValue] = v end
847
- def self.create_as(_bodyIdA_, _bodyIdB_, _linearOffset_, _angularOffset_, _maxForce_, _maxTorque_, _correctionFactor_, _collideConnected_, _userData_, _internalValue_)
842
+ def self.create_as(_base_, _maxForce_, _maxTorque_, _correctionFactor_, _internalValue_)
848
843
  instance = MotorJointDef.new
849
- instance[:bodyIdA] = _bodyIdA_
850
- instance[:bodyIdB] = _bodyIdB_
851
- instance[:linearOffset] = _linearOffset_
852
- instance[:angularOffset] = _angularOffset_
844
+ instance[:base] = _base_
853
845
  instance[:maxForce] = _maxForce_
854
846
  instance[:maxTorque] = _maxTorque_
855
847
  instance[:correctionFactor] = _correctionFactor_
856
- instance[:collideConnected] = _collideConnected_
857
- instance[:userData] = _userData_
858
848
  instance[:internalValue] = _internalValue_
859
849
  instance
860
850
  end
@@ -862,69 +852,45 @@ module Box2D
862
852
 
863
853
  class MouseJointDef < FFI::Struct
864
854
  layout(
865
- :bodyIdA, BodyId,
866
- :bodyIdB, BodyId,
867
- :target, Vec2,
855
+ :base, JointDef,
868
856
  :hertz, :float,
869
857
  :dampingRatio, :float,
870
858
  :maxForce, :float,
871
- :collideConnected, :bool,
872
- :userData, :pointer,
873
859
  :internalValue, :int,
874
860
  )
875
- def bodyIdA = self[:bodyIdA]
876
- def bodyIdA=(v) self[:bodyIdA] = v end
877
- def bodyIdB = self[:bodyIdB]
878
- def bodyIdB=(v) self[:bodyIdB] = v end
879
- def target = self[:target]
880
- def target=(v) self[:target] = v end
861
+ def base = self[:base]
862
+ def base=(v) self[:base] = v end
881
863
  def hertz = self[:hertz]
882
864
  def hertz=(v) self[:hertz] = v end
883
865
  def dampingRatio = self[:dampingRatio]
884
866
  def dampingRatio=(v) self[:dampingRatio] = v end
885
867
  def maxForce = self[:maxForce]
886
868
  def maxForce=(v) self[:maxForce] = v end
887
- def collideConnected = self[:collideConnected]
888
- def collideConnected=(v) self[:collideConnected] = v end
889
- def userData = self[:userData]
890
- def userData=(v) self[:userData] = v end
891
869
  def internalValue = self[:internalValue]
892
870
  def internalValue=(v) self[:internalValue] = v end
893
- def self.create_as(_bodyIdA_, _bodyIdB_, _target_, _hertz_, _dampingRatio_, _maxForce_, _collideConnected_, _userData_, _internalValue_)
871
+ def self.create_as(_base_, _hertz_, _dampingRatio_, _maxForce_, _internalValue_)
894
872
  instance = MouseJointDef.new
895
- instance[:bodyIdA] = _bodyIdA_
896
- instance[:bodyIdB] = _bodyIdB_
897
- instance[:target] = _target_
873
+ instance[:base] = _base_
898
874
  instance[:hertz] = _hertz_
899
875
  instance[:dampingRatio] = _dampingRatio_
900
876
  instance[:maxForce] = _maxForce_
901
- instance[:collideConnected] = _collideConnected_
902
- instance[:userData] = _userData_
903
877
  instance[:internalValue] = _internalValue_
904
878
  instance
905
879
  end
906
880
  end
907
881
 
908
- class NullJointDef < FFI::Struct
882
+ class FilterJointDef < FFI::Struct
909
883
  layout(
910
- :bodyIdA, BodyId,
911
- :bodyIdB, BodyId,
912
- :userData, :pointer,
884
+ :base, JointDef,
913
885
  :internalValue, :int,
914
886
  )
915
- def bodyIdA = self[:bodyIdA]
916
- def bodyIdA=(v) self[:bodyIdA] = v end
917
- def bodyIdB = self[:bodyIdB]
918
- def bodyIdB=(v) self[:bodyIdB] = v end
919
- def userData = self[:userData]
920
- def userData=(v) self[:userData] = v end
887
+ def base = self[:base]
888
+ def base=(v) self[:base] = v end
921
889
  def internalValue = self[:internalValue]
922
890
  def internalValue=(v) self[:internalValue] = v end
923
- def self.create_as(_bodyIdA_, _bodyIdB_, _userData_, _internalValue_)
924
- instance = NullJointDef.new
925
- instance[:bodyIdA] = _bodyIdA_
926
- instance[:bodyIdB] = _bodyIdB_
927
- instance[:userData] = _userData_
891
+ def self.create_as(_base_, _internalValue_)
892
+ instance = FilterJointDef.new
893
+ instance[:base] = _base_
928
894
  instance[:internalValue] = _internalValue_
929
895
  instance
930
896
  end
@@ -932,12 +898,8 @@ module Box2D
932
898
 
933
899
  class PrismaticJointDef < FFI::Struct
934
900
  layout(
935
- :bodyIdA, BodyId,
936
- :bodyIdB, BodyId,
937
- :localAnchorA, Vec2,
938
- :localAnchorB, Vec2,
939
- :localAxisA, Vec2,
940
- :referenceAngle, :float,
901
+ :base, JointDef,
902
+ :targetTranslation, :float,
941
903
  :enableSpring, :bool,
942
904
  :hertz, :float,
943
905
  :dampingRatio, :float,
@@ -947,22 +909,12 @@ module Box2D
947
909
  :enableMotor, :bool,
948
910
  :maxMotorForce, :float,
949
911
  :motorSpeed, :float,
950
- :collideConnected, :bool,
951
- :userData, :pointer,
952
912
  :internalValue, :int,
953
913
  )
954
- def bodyIdA = self[:bodyIdA]
955
- def bodyIdA=(v) self[:bodyIdA] = v end
956
- def bodyIdB = self[:bodyIdB]
957
- def bodyIdB=(v) self[:bodyIdB] = v end
958
- def localAnchorA = self[:localAnchorA]
959
- def localAnchorA=(v) self[:localAnchorA] = v end
960
- def localAnchorB = self[:localAnchorB]
961
- def localAnchorB=(v) self[:localAnchorB] = v end
962
- def localAxisA = self[:localAxisA]
963
- def localAxisA=(v) self[:localAxisA] = v end
964
- def referenceAngle = self[:referenceAngle]
965
- def referenceAngle=(v) self[:referenceAngle] = v end
914
+ def base = self[:base]
915
+ def base=(v) self[:base] = v end
916
+ def targetTranslation = self[:targetTranslation]
917
+ def targetTranslation=(v) self[:targetTranslation] = v end
966
918
  def enableSpring = self[:enableSpring]
967
919
  def enableSpring=(v) self[:enableSpring] = v end
968
920
  def hertz = self[:hertz]
@@ -981,20 +933,12 @@ module Box2D
981
933
  def maxMotorForce=(v) self[:maxMotorForce] = v end
982
934
  def motorSpeed = self[:motorSpeed]
983
935
  def motorSpeed=(v) self[:motorSpeed] = v end
984
- def collideConnected = self[:collideConnected]
985
- def collideConnected=(v) self[:collideConnected] = v end
986
- def userData = self[:userData]
987
- def userData=(v) self[:userData] = v end
988
936
  def internalValue = self[:internalValue]
989
937
  def internalValue=(v) self[:internalValue] = v end
990
- def self.create_as(_bodyIdA_, _bodyIdB_, _localAnchorA_, _localAnchorB_, _localAxisA_, _referenceAngle_, _enableSpring_, _hertz_, _dampingRatio_, _enableLimit_, _lowerTranslation_, _upperTranslation_, _enableMotor_, _maxMotorForce_, _motorSpeed_, _collideConnected_, _userData_, _internalValue_)
938
+ def self.create_as(_base_, _targetTranslation_, _enableSpring_, _hertz_, _dampingRatio_, _enableLimit_, _lowerTranslation_, _upperTranslation_, _enableMotor_, _maxMotorForce_, _motorSpeed_, _internalValue_)
991
939
  instance = PrismaticJointDef.new
992
- instance[:bodyIdA] = _bodyIdA_
993
- instance[:bodyIdB] = _bodyIdB_
994
- instance[:localAnchorA] = _localAnchorA_
995
- instance[:localAnchorB] = _localAnchorB_
996
- instance[:localAxisA] = _localAxisA_
997
- instance[:referenceAngle] = _referenceAngle_
940
+ instance[:base] = _base_
941
+ instance[:targetTranslation] = _targetTranslation_
998
942
  instance[:enableSpring] = _enableSpring_
999
943
  instance[:hertz] = _hertz_
1000
944
  instance[:dampingRatio] = _dampingRatio_
@@ -1004,8 +948,6 @@ module Box2D
1004
948
  instance[:enableMotor] = _enableMotor_
1005
949
  instance[:maxMotorForce] = _maxMotorForce_
1006
950
  instance[:motorSpeed] = _motorSpeed_
1007
- instance[:collideConnected] = _collideConnected_
1008
- instance[:userData] = _userData_
1009
951
  instance[:internalValue] = _internalValue_
1010
952
  instance
1011
953
  end
@@ -1013,11 +955,8 @@ module Box2D
1013
955
 
1014
956
  class RevoluteJointDef < FFI::Struct
1015
957
  layout(
1016
- :bodyIdA, BodyId,
1017
- :bodyIdB, BodyId,
1018
- :localAnchorA, Vec2,
1019
- :localAnchorB, Vec2,
1020
- :referenceAngle, :float,
958
+ :base, JointDef,
959
+ :targetAngle, :float,
1021
960
  :enableSpring, :bool,
1022
961
  :hertz, :float,
1023
962
  :dampingRatio, :float,
@@ -1027,21 +966,12 @@ module Box2D
1027
966
  :enableMotor, :bool,
1028
967
  :maxMotorTorque, :float,
1029
968
  :motorSpeed, :float,
1030
- :drawSize, :float,
1031
- :collideConnected, :bool,
1032
- :userData, :pointer,
1033
969
  :internalValue, :int,
1034
970
  )
1035
- def bodyIdA = self[:bodyIdA]
1036
- def bodyIdA=(v) self[:bodyIdA] = v end
1037
- def bodyIdB = self[:bodyIdB]
1038
- def bodyIdB=(v) self[:bodyIdB] = v end
1039
- def localAnchorA = self[:localAnchorA]
1040
- def localAnchorA=(v) self[:localAnchorA] = v end
1041
- def localAnchorB = self[:localAnchorB]
1042
- def localAnchorB=(v) self[:localAnchorB] = v end
1043
- def referenceAngle = self[:referenceAngle]
1044
- def referenceAngle=(v) self[:referenceAngle] = v end
971
+ def base = self[:base]
972
+ def base=(v) self[:base] = v end
973
+ def targetAngle = self[:targetAngle]
974
+ def targetAngle=(v) self[:targetAngle] = v end
1045
975
  def enableSpring = self[:enableSpring]
1046
976
  def enableSpring=(v) self[:enableSpring] = v end
1047
977
  def hertz = self[:hertz]
@@ -1060,21 +990,12 @@ module Box2D
1060
990
  def maxMotorTorque=(v) self[:maxMotorTorque] = v end
1061
991
  def motorSpeed = self[:motorSpeed]
1062
992
  def motorSpeed=(v) self[:motorSpeed] = v end
1063
- def drawSize = self[:drawSize]
1064
- def drawSize=(v) self[:drawSize] = v end
1065
- def collideConnected = self[:collideConnected]
1066
- def collideConnected=(v) self[:collideConnected] = v end
1067
- def userData = self[:userData]
1068
- def userData=(v) self[:userData] = v end
1069
993
  def internalValue = self[:internalValue]
1070
994
  def internalValue=(v) self[:internalValue] = v end
1071
- def self.create_as(_bodyIdA_, _bodyIdB_, _localAnchorA_, _localAnchorB_, _referenceAngle_, _enableSpring_, _hertz_, _dampingRatio_, _enableLimit_, _lowerAngle_, _upperAngle_, _enableMotor_, _maxMotorTorque_, _motorSpeed_, _drawSize_, _collideConnected_, _userData_, _internalValue_)
995
+ def self.create_as(_base_, _targetAngle_, _enableSpring_, _hertz_, _dampingRatio_, _enableLimit_, _lowerAngle_, _upperAngle_, _enableMotor_, _maxMotorTorque_, _motorSpeed_, _internalValue_)
1072
996
  instance = RevoluteJointDef.new
1073
- instance[:bodyIdA] = _bodyIdA_
1074
- instance[:bodyIdB] = _bodyIdB_
1075
- instance[:localAnchorA] = _localAnchorA_
1076
- instance[:localAnchorB] = _localAnchorB_
1077
- instance[:referenceAngle] = _referenceAngle_
997
+ instance[:base] = _base_
998
+ instance[:targetAngle] = _targetAngle_
1078
999
  instance[:enableSpring] = _enableSpring_
1079
1000
  instance[:hertz] = _hertz_
1080
1001
  instance[:dampingRatio] = _dampingRatio_
@@ -1084,9 +1005,6 @@ module Box2D
1084
1005
  instance[:enableMotor] = _enableMotor_
1085
1006
  instance[:maxMotorTorque] = _maxMotorTorque_
1086
1007
  instance[:motorSpeed] = _motorSpeed_
1087
- instance[:drawSize] = _drawSize_
1088
- instance[:collideConnected] = _collideConnected_
1089
- instance[:userData] = _userData_
1090
1008
  instance[:internalValue] = _internalValue_
1091
1009
  instance
1092
1010
  end
@@ -1094,29 +1012,15 @@ module Box2D
1094
1012
 
1095
1013
  class WeldJointDef < FFI::Struct
1096
1014
  layout(
1097
- :bodyIdA, BodyId,
1098
- :bodyIdB, BodyId,
1099
- :localAnchorA, Vec2,
1100
- :localAnchorB, Vec2,
1101
- :referenceAngle, :float,
1015
+ :base, JointDef,
1102
1016
  :linearHertz, :float,
1103
1017
  :angularHertz, :float,
1104
1018
  :linearDampingRatio, :float,
1105
1019
  :angularDampingRatio, :float,
1106
- :collideConnected, :bool,
1107
- :userData, :pointer,
1108
1020
  :internalValue, :int,
1109
1021
  )
1110
- def bodyIdA = self[:bodyIdA]
1111
- def bodyIdA=(v) self[:bodyIdA] = v end
1112
- def bodyIdB = self[:bodyIdB]
1113
- def bodyIdB=(v) self[:bodyIdB] = v end
1114
- def localAnchorA = self[:localAnchorA]
1115
- def localAnchorA=(v) self[:localAnchorA] = v end
1116
- def localAnchorB = self[:localAnchorB]
1117
- def localAnchorB=(v) self[:localAnchorB] = v end
1118
- def referenceAngle = self[:referenceAngle]
1119
- def referenceAngle=(v) self[:referenceAngle] = v end
1022
+ def base = self[:base]
1023
+ def base=(v) self[:base] = v end
1120
1024
  def linearHertz = self[:linearHertz]
1121
1025
  def linearHertz=(v) self[:linearHertz] = v end
1122
1026
  def angularHertz = self[:angularHertz]
@@ -1125,25 +1029,15 @@ module Box2D
1125
1029
  def linearDampingRatio=(v) self[:linearDampingRatio] = v end
1126
1030
  def angularDampingRatio = self[:angularDampingRatio]
1127
1031
  def angularDampingRatio=(v) self[:angularDampingRatio] = v end
1128
- def collideConnected = self[:collideConnected]
1129
- def collideConnected=(v) self[:collideConnected] = v end
1130
- def userData = self[:userData]
1131
- def userData=(v) self[:userData] = v end
1132
1032
  def internalValue = self[:internalValue]
1133
1033
  def internalValue=(v) self[:internalValue] = v end
1134
- def self.create_as(_bodyIdA_, _bodyIdB_, _localAnchorA_, _localAnchorB_, _referenceAngle_, _linearHertz_, _angularHertz_, _linearDampingRatio_, _angularDampingRatio_, _collideConnected_, _userData_, _internalValue_)
1034
+ def self.create_as(_base_, _linearHertz_, _angularHertz_, _linearDampingRatio_, _angularDampingRatio_, _internalValue_)
1135
1035
  instance = WeldJointDef.new
1136
- instance[:bodyIdA] = _bodyIdA_
1137
- instance[:bodyIdB] = _bodyIdB_
1138
- instance[:localAnchorA] = _localAnchorA_
1139
- instance[:localAnchorB] = _localAnchorB_
1140
- instance[:referenceAngle] = _referenceAngle_
1036
+ instance[:base] = _base_
1141
1037
  instance[:linearHertz] = _linearHertz_
1142
1038
  instance[:angularHertz] = _angularHertz_
1143
1039
  instance[:linearDampingRatio] = _linearDampingRatio_
1144
1040
  instance[:angularDampingRatio] = _angularDampingRatio_
1145
- instance[:collideConnected] = _collideConnected_
1146
- instance[:userData] = _userData_
1147
1041
  instance[:internalValue] = _internalValue_
1148
1042
  instance
1149
1043
  end
@@ -1151,11 +1045,7 @@ module Box2D
1151
1045
 
1152
1046
  class WheelJointDef < FFI::Struct
1153
1047
  layout(
1154
- :bodyIdA, BodyId,
1155
- :bodyIdB, BodyId,
1156
- :localAnchorA, Vec2,
1157
- :localAnchorB, Vec2,
1158
- :localAxisA, Vec2,
1048
+ :base, JointDef,
1159
1049
  :enableSpring, :bool,
1160
1050
  :hertz, :float,
1161
1051
  :dampingRatio, :float,
@@ -1165,20 +1055,10 @@ module Box2D
1165
1055
  :enableMotor, :bool,
1166
1056
  :maxMotorTorque, :float,
1167
1057
  :motorSpeed, :float,
1168
- :collideConnected, :bool,
1169
- :userData, :pointer,
1170
1058
  :internalValue, :int,
1171
1059
  )
1172
- def bodyIdA = self[:bodyIdA]
1173
- def bodyIdA=(v) self[:bodyIdA] = v end
1174
- def bodyIdB = self[:bodyIdB]
1175
- def bodyIdB=(v) self[:bodyIdB] = v end
1176
- def localAnchorA = self[:localAnchorA]
1177
- def localAnchorA=(v) self[:localAnchorA] = v end
1178
- def localAnchorB = self[:localAnchorB]
1179
- def localAnchorB=(v) self[:localAnchorB] = v end
1180
- def localAxisA = self[:localAxisA]
1181
- def localAxisA=(v) self[:localAxisA] = v end
1060
+ def base = self[:base]
1061
+ def base=(v) self[:base] = v end
1182
1062
  def enableSpring = self[:enableSpring]
1183
1063
  def enableSpring=(v) self[:enableSpring] = v end
1184
1064
  def hertz = self[:hertz]
@@ -1197,19 +1077,11 @@ module Box2D
1197
1077
  def maxMotorTorque=(v) self[:maxMotorTorque] = v end
1198
1078
  def motorSpeed = self[:motorSpeed]
1199
1079
  def motorSpeed=(v) self[:motorSpeed] = v end
1200
- def collideConnected = self[:collideConnected]
1201
- def collideConnected=(v) self[:collideConnected] = v end
1202
- def userData = self[:userData]
1203
- def userData=(v) self[:userData] = v end
1204
1080
  def internalValue = self[:internalValue]
1205
1081
  def internalValue=(v) self[:internalValue] = v end
1206
- def self.create_as(_bodyIdA_, _bodyIdB_, _localAnchorA_, _localAnchorB_, _localAxisA_, _enableSpring_, _hertz_, _dampingRatio_, _enableLimit_, _lowerTranslation_, _upperTranslation_, _enableMotor_, _maxMotorTorque_, _motorSpeed_, _collideConnected_, _userData_, _internalValue_)
1082
+ def self.create_as(_base_, _enableSpring_, _hertz_, _dampingRatio_, _enableLimit_, _lowerTranslation_, _upperTranslation_, _enableMotor_, _maxMotorTorque_, _motorSpeed_, _internalValue_)
1207
1083
  instance = WheelJointDef.new
1208
- instance[:bodyIdA] = _bodyIdA_
1209
- instance[:bodyIdB] = _bodyIdB_
1210
- instance[:localAnchorA] = _localAnchorA_
1211
- instance[:localAnchorB] = _localAnchorB_
1212
- instance[:localAxisA] = _localAxisA_
1084
+ instance[:base] = _base_
1213
1085
  instance[:enableSpring] = _enableSpring_
1214
1086
  instance[:hertz] = _hertz_
1215
1087
  instance[:dampingRatio] = _dampingRatio_
@@ -1219,8 +1091,6 @@ module Box2D
1219
1091
  instance[:enableMotor] = _enableMotor_
1220
1092
  instance[:maxMotorTorque] = _maxMotorTorque_
1221
1093
  instance[:motorSpeed] = _motorSpeed_
1222
- instance[:collideConnected] = _collideConnected_
1223
- instance[:userData] = _userData_
1224
1094
  instance[:internalValue] = _internalValue_
1225
1095
  instance
1226
1096
  end
@@ -1318,18 +1188,22 @@ module Box2D
1318
1188
  layout(
1319
1189
  :shapeIdA, ShapeId,
1320
1190
  :shapeIdB, ShapeId,
1191
+ :contactId, ContactId,
1321
1192
  :manifold, Manifold,
1322
1193
  )
1323
1194
  def shapeIdA = self[:shapeIdA]
1324
1195
  def shapeIdA=(v) self[:shapeIdA] = v end
1325
1196
  def shapeIdB = self[:shapeIdB]
1326
1197
  def shapeIdB=(v) self[:shapeIdB] = v end
1198
+ def contactId = self[:contactId]
1199
+ def contactId=(v) self[:contactId] = v end
1327
1200
  def manifold = self[:manifold]
1328
1201
  def manifold=(v) self[:manifold] = v end
1329
- def self.create_as(_shapeIdA_, _shapeIdB_, _manifold_)
1202
+ def self.create_as(_shapeIdA_, _shapeIdB_, _contactId_, _manifold_)
1330
1203
  instance = ContactBeginTouchEvent.new
1331
1204
  instance[:shapeIdA] = _shapeIdA_
1332
1205
  instance[:shapeIdB] = _shapeIdB_
1206
+ instance[:contactId] = _contactId_
1333
1207
  instance[:manifold] = _manifold_
1334
1208
  instance
1335
1209
  end
@@ -1339,15 +1213,19 @@ module Box2D
1339
1213
  layout(
1340
1214
  :shapeIdA, ShapeId,
1341
1215
  :shapeIdB, ShapeId,
1216
+ :contactId, ContactId,
1342
1217
  )
1343
1218
  def shapeIdA = self[:shapeIdA]
1344
1219
  def shapeIdA=(v) self[:shapeIdA] = v end
1345
1220
  def shapeIdB = self[:shapeIdB]
1346
1221
  def shapeIdB=(v) self[:shapeIdB] = v end
1347
- def self.create_as(_shapeIdA_, _shapeIdB_)
1222
+ def contactId = self[:contactId]
1223
+ def contactId=(v) self[:contactId] = v end
1224
+ def self.create_as(_shapeIdA_, _shapeIdB_, _contactId_)
1348
1225
  instance = ContactEndTouchEvent.new
1349
1226
  instance[:shapeIdA] = _shapeIdA_
1350
1227
  instance[:shapeIdB] = _shapeIdB_
1228
+ instance[:contactId] = _contactId_
1351
1229
  instance
1352
1230
  end
1353
1231
  end
@@ -1456,6 +1334,40 @@ module Box2D
1456
1334
  end
1457
1335
  end
1458
1336
 
1337
+ class JointEvent < FFI::Struct
1338
+ layout(
1339
+ :jointId, JointId,
1340
+ :userData, :pointer,
1341
+ )
1342
+ def jointId = self[:jointId]
1343
+ def jointId=(v) self[:jointId] = v end
1344
+ def userData = self[:userData]
1345
+ def userData=(v) self[:userData] = v end
1346
+ def self.create_as(_jointId_, _userData_)
1347
+ instance = JointEvent.new
1348
+ instance[:jointId] = _jointId_
1349
+ instance[:userData] = _userData_
1350
+ instance
1351
+ end
1352
+ end
1353
+
1354
+ class JointEvents < FFI::Struct
1355
+ layout(
1356
+ :jointEvents, :pointer,
1357
+ :count, :int,
1358
+ )
1359
+ def jointEvents = self[:jointEvents]
1360
+ def jointEvents=(v) self[:jointEvents] = v end
1361
+ def count = self[:count]
1362
+ def count=(v) self[:count] = v end
1363
+ def self.create_as(_jointEvents_, _count_)
1364
+ instance = JointEvents.new
1365
+ instance[:jointEvents] = _jointEvents_
1366
+ instance[:count] = _count_
1367
+ instance
1368
+ end
1369
+ end
1370
+
1459
1371
  class ContactData < FFI::Struct
1460
1372
  layout(
1461
1373
  :shapeIdA, ShapeId,
@@ -1479,48 +1391,50 @@ module Box2D
1479
1391
 
1480
1392
  class DebugDraw < FFI::Struct
1481
1393
  layout(
1482
- :DrawPolygon, :pointer,
1483
- :DrawSolidPolygon, :pointer,
1484
- :DrawCircle, :pointer,
1485
- :DrawSolidCircle, :pointer,
1486
- :DrawSolidCapsule, :pointer,
1487
- :DrawSegment, :pointer,
1488
- :DrawTransform, :pointer,
1489
- :DrawPoint, :pointer,
1490
- :DrawString, :pointer,
1394
+ :DrawPolygonFcn, :pointer,
1395
+ :DrawSolidPolygonFcn, :pointer,
1396
+ :DrawCircleFcn, :pointer,
1397
+ :DrawSolidCircleFcn, :pointer,
1398
+ :DrawSolidCapsuleFcn, :pointer,
1399
+ :DrawSegmentFcn, :pointer,
1400
+ :DrawTransformFcn, :pointer,
1401
+ :DrawPointFcn, :pointer,
1402
+ :DrawStringFcn, :pointer,
1491
1403
  :drawingBounds, AABB,
1492
1404
  :useDrawingBounds, :bool,
1493
1405
  :drawShapes, :bool,
1494
1406
  :drawJoints, :bool,
1495
1407
  :drawJointExtras, :bool,
1496
- :drawAABBs, :bool,
1408
+ :drawBounds, :bool,
1497
1409
  :drawMass, :bool,
1498
1410
  :drawBodyNames, :bool,
1499
1411
  :drawContacts, :bool,
1500
1412
  :drawGraphColors, :bool,
1501
1413
  :drawContactNormals, :bool,
1502
1414
  :drawContactImpulses, :bool,
1415
+ :drawContactFeatures, :bool,
1503
1416
  :drawFrictionImpulses, :bool,
1417
+ :drawIslands, :bool,
1504
1418
  :context, :pointer,
1505
1419
  )
1506
- def DrawPolygon = self[:DrawPolygon]
1507
- def DrawPolygon=(v) self[:DrawPolygon] = v end
1508
- def DrawSolidPolygon = self[:DrawSolidPolygon]
1509
- def DrawSolidPolygon=(v) self[:DrawSolidPolygon] = v end
1510
- def DrawCircle = self[:DrawCircle]
1511
- def DrawCircle=(v) self[:DrawCircle] = v end
1512
- def DrawSolidCircle = self[:DrawSolidCircle]
1513
- def DrawSolidCircle=(v) self[:DrawSolidCircle] = v end
1514
- def DrawSolidCapsule = self[:DrawSolidCapsule]
1515
- def DrawSolidCapsule=(v) self[:DrawSolidCapsule] = v end
1516
- def DrawSegment = self[:DrawSegment]
1517
- def DrawSegment=(v) self[:DrawSegment] = v end
1518
- def DrawTransform = self[:DrawTransform]
1519
- def DrawTransform=(v) self[:DrawTransform] = v end
1520
- def DrawPoint = self[:DrawPoint]
1521
- def DrawPoint=(v) self[:DrawPoint] = v end
1522
- def DrawString = self[:DrawString]
1523
- def DrawString=(v) self[:DrawString] = v end
1420
+ def DrawPolygonFcn = self[:DrawPolygonFcn]
1421
+ def DrawPolygonFcn=(v) self[:DrawPolygonFcn] = v end
1422
+ def DrawSolidPolygonFcn = self[:DrawSolidPolygonFcn]
1423
+ def DrawSolidPolygonFcn=(v) self[:DrawSolidPolygonFcn] = v end
1424
+ def DrawCircleFcn = self[:DrawCircleFcn]
1425
+ def DrawCircleFcn=(v) self[:DrawCircleFcn] = v end
1426
+ def DrawSolidCircleFcn = self[:DrawSolidCircleFcn]
1427
+ def DrawSolidCircleFcn=(v) self[:DrawSolidCircleFcn] = v end
1428
+ def DrawSolidCapsuleFcn = self[:DrawSolidCapsuleFcn]
1429
+ def DrawSolidCapsuleFcn=(v) self[:DrawSolidCapsuleFcn] = v end
1430
+ def DrawSegmentFcn = self[:DrawSegmentFcn]
1431
+ def DrawSegmentFcn=(v) self[:DrawSegmentFcn] = v end
1432
+ def DrawTransformFcn = self[:DrawTransformFcn]
1433
+ def DrawTransformFcn=(v) self[:DrawTransformFcn] = v end
1434
+ def DrawPointFcn = self[:DrawPointFcn]
1435
+ def DrawPointFcn=(v) self[:DrawPointFcn] = v end
1436
+ def DrawStringFcn = self[:DrawStringFcn]
1437
+ def DrawStringFcn=(v) self[:DrawStringFcn] = v end
1524
1438
  def drawingBounds = self[:drawingBounds]
1525
1439
  def drawingBounds=(v) self[:drawingBounds] = v end
1526
1440
  def useDrawingBounds = self[:useDrawingBounds]
@@ -1531,8 +1445,8 @@ module Box2D
1531
1445
  def drawJoints=(v) self[:drawJoints] = v end
1532
1446
  def drawJointExtras = self[:drawJointExtras]
1533
1447
  def drawJointExtras=(v) self[:drawJointExtras] = v end
1534
- def drawAABBs = self[:drawAABBs]
1535
- def drawAABBs=(v) self[:drawAABBs] = v end
1448
+ def drawBounds = self[:drawBounds]
1449
+ def drawBounds=(v) self[:drawBounds] = v end
1536
1450
  def drawMass = self[:drawMass]
1537
1451
  def drawMass=(v) self[:drawMass] = v end
1538
1452
  def drawBodyNames = self[:drawBodyNames]
@@ -1545,34 +1459,40 @@ module Box2D
1545
1459
  def drawContactNormals=(v) self[:drawContactNormals] = v end
1546
1460
  def drawContactImpulses = self[:drawContactImpulses]
1547
1461
  def drawContactImpulses=(v) self[:drawContactImpulses] = v end
1462
+ def drawContactFeatures = self[:drawContactFeatures]
1463
+ def drawContactFeatures=(v) self[:drawContactFeatures] = v end
1548
1464
  def drawFrictionImpulses = self[:drawFrictionImpulses]
1549
1465
  def drawFrictionImpulses=(v) self[:drawFrictionImpulses] = v end
1466
+ def drawIslands = self[:drawIslands]
1467
+ def drawIslands=(v) self[:drawIslands] = v end
1550
1468
  def context = self[:context]
1551
1469
  def context=(v) self[:context] = v end
1552
- def self.create_as(_DrawPolygon_, _DrawSolidPolygon_, _DrawCircle_, _DrawSolidCircle_, _DrawSolidCapsule_, _DrawSegment_, _DrawTransform_, _DrawPoint_, _DrawString_, _drawingBounds_, _useDrawingBounds_, _drawShapes_, _drawJoints_, _drawJointExtras_, _drawAABBs_, _drawMass_, _drawBodyNames_, _drawContacts_, _drawGraphColors_, _drawContactNormals_, _drawContactImpulses_, _drawFrictionImpulses_, _context_)
1470
+ def self.create_as(_DrawPolygonFcn_, _DrawSolidPolygonFcn_, _DrawCircleFcn_, _DrawSolidCircleFcn_, _DrawSolidCapsuleFcn_, _DrawSegmentFcn_, _DrawTransformFcn_, _DrawPointFcn_, _DrawStringFcn_, _drawingBounds_, _useDrawingBounds_, _drawShapes_, _drawJoints_, _drawJointExtras_, _drawBounds_, _drawMass_, _drawBodyNames_, _drawContacts_, _drawGraphColors_, _drawContactNormals_, _drawContactImpulses_, _drawContactFeatures_, _drawFrictionImpulses_, _drawIslands_, _context_)
1553
1471
  instance = DebugDraw.new
1554
- instance[:DrawPolygon] = _DrawPolygon_
1555
- instance[:DrawSolidPolygon] = _DrawSolidPolygon_
1556
- instance[:DrawCircle] = _DrawCircle_
1557
- instance[:DrawSolidCircle] = _DrawSolidCircle_
1558
- instance[:DrawSolidCapsule] = _DrawSolidCapsule_
1559
- instance[:DrawSegment] = _DrawSegment_
1560
- instance[:DrawTransform] = _DrawTransform_
1561
- instance[:DrawPoint] = _DrawPoint_
1562
- instance[:DrawString] = _DrawString_
1472
+ instance[:DrawPolygonFcn] = _DrawPolygonFcn_
1473
+ instance[:DrawSolidPolygonFcn] = _DrawSolidPolygonFcn_
1474
+ instance[:DrawCircleFcn] = _DrawCircleFcn_
1475
+ instance[:DrawSolidCircleFcn] = _DrawSolidCircleFcn_
1476
+ instance[:DrawSolidCapsuleFcn] = _DrawSolidCapsuleFcn_
1477
+ instance[:DrawSegmentFcn] = _DrawSegmentFcn_
1478
+ instance[:DrawTransformFcn] = _DrawTransformFcn_
1479
+ instance[:DrawPointFcn] = _DrawPointFcn_
1480
+ instance[:DrawStringFcn] = _DrawStringFcn_
1563
1481
  instance[:drawingBounds] = _drawingBounds_
1564
1482
  instance[:useDrawingBounds] = _useDrawingBounds_
1565
1483
  instance[:drawShapes] = _drawShapes_
1566
1484
  instance[:drawJoints] = _drawJoints_
1567
1485
  instance[:drawJointExtras] = _drawJointExtras_
1568
- instance[:drawAABBs] = _drawAABBs_
1486
+ instance[:drawBounds] = _drawBounds_
1569
1487
  instance[:drawMass] = _drawMass_
1570
1488
  instance[:drawBodyNames] = _drawBodyNames_
1571
1489
  instance[:drawContacts] = _drawContacts_
1572
1490
  instance[:drawGraphColors] = _drawGraphColors_
1573
1491
  instance[:drawContactNormals] = _drawContactNormals_
1574
1492
  instance[:drawContactImpulses] = _drawContactImpulses_
1493
+ instance[:drawContactFeatures] = _drawContactFeatures_
1575
1494
  instance[:drawFrictionImpulses] = _drawFrictionImpulses_
1495
+ instance[:drawIslands] = _drawIslands_
1576
1496
  instance[:context] = _context_
1577
1497
  instance
1578
1498
  end
@@ -1587,13 +1507,13 @@ module Box2D
1587
1507
  [:DefaultBodyDef, :b2DefaultBodyDef, [], BodyDef.by_value],
1588
1508
  [:DefaultFilter, :b2DefaultFilter, [], Filter.by_value],
1589
1509
  [:DefaultQueryFilter, :b2DefaultQueryFilter, [], QueryFilter.by_value],
1590
- [:DefaultShapeDef, :b2DefaultShapeDef, [], ShapeDef.by_value],
1591
1510
  [:DefaultSurfaceMaterial, :b2DefaultSurfaceMaterial, [], SurfaceMaterial.by_value],
1511
+ [:DefaultShapeDef, :b2DefaultShapeDef, [], ShapeDef.by_value],
1592
1512
  [:DefaultChainDef, :b2DefaultChainDef, [], ChainDef.by_value],
1593
1513
  [:DefaultDistanceJointDef, :b2DefaultDistanceJointDef, [], DistanceJointDef.by_value],
1594
1514
  [:DefaultMotorJointDef, :b2DefaultMotorJointDef, [], MotorJointDef.by_value],
1595
1515
  [:DefaultMouseJointDef, :b2DefaultMouseJointDef, [], MouseJointDef.by_value],
1596
- [:DefaultNullJointDef, :b2DefaultNullJointDef, [], NullJointDef.by_value],
1516
+ [:DefaultFilterJointDef, :b2DefaultFilterJointDef, [], FilterJointDef.by_value],
1597
1517
  [:DefaultPrismaticJointDef, :b2DefaultPrismaticJointDef, [], PrismaticJointDef.by_value],
1598
1518
  [:DefaultRevoluteJointDef, :b2DefaultRevoluteJointDef, [], RevoluteJointDef.by_value],
1599
1519
  [:DefaultWeldJointDef, :b2DefaultWeldJointDef, [], WeldJointDef.by_value],