diff --git a/documentation/annotated.html b/documentation/annotated.html index a3f73b9..d0c2454 100644 --- a/documentation/annotated.html +++ b/documentation/annotated.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/b2__api_8h_source.html b/documentation/b2__api_8h_source.html deleted file mode 100644 index 001032f..0000000 --- a/documentation/b2__api_8h_source.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_api.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_api.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_API_H
-
24 #define B2_API_H
-
25 
-
26 #ifdef B2_SHARED
-
27  #if defined _WIN32 || defined __CYGWIN__
-
28  #ifdef box2d_EXPORTS
-
29  #ifdef __GNUC__
-
30  #define B2_API __attribute__ ((dllexport))
-
31  #else
-
32  #define B2_API __declspec(dllexport)
-
33  #endif
-
34  #else
-
35  #ifdef __GNUC__
-
36  #define B2_API __attribute__ ((dllimport))
-
37  #else
-
38  #define B2_API __declspec(dllimport)
-
39  #endif
-
40  #endif
-
41  #else
-
42  #if __GNUC__ >= 4
-
43  #define B2_API __attribute__ ((visibility ("default")))
-
44  #else
-
45  #define B2_API
-
46  #endif
-
47  #endif
-
48 #else
-
49  #define B2_API
-
50 #endif
-
51 
-
52 #endif
-
-
- - - - diff --git a/documentation/b2__block__allocator_8h_source.html b/documentation/b2__block__allocator_8h_source.html deleted file mode 100644 index fa4e06d..0000000 --- a/documentation/b2__block__allocator_8h_source.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_block_allocator.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_block_allocator.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_BLOCK_ALLOCATOR_H
-
24 #define B2_BLOCK_ALLOCATOR_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_settings.h"
-
28 
-
29 const int32 b2_blockSizeCount = 14;
-
30 
-
31 struct b2Block;
-
32 struct b2Chunk;
-
33 
-
37 class B2_API b2BlockAllocator
-
38 {
-
39 public:
- - -
42 
-
44  void* Allocate(int32 size);
-
45 
-
47  void Free(void* p, int32 size);
-
48 
-
49  void Clear();
-
50 
-
51 private:
-
52 
-
53  b2Chunk* m_chunks;
-
54  int32 m_chunkCount;
-
55  int32 m_chunkSpace;
-
56 
-
57  b2Block* m_freeLists[b2_blockSizeCount];
-
58 };
-
59 
-
60 #endif
-
-
-
-
Definition: b2_block_allocator.h:37
- - - - diff --git a/documentation/b2__body_8h_source.html b/documentation/b2__body_8h_source.html deleted file mode 100644 index 27ed7ab..0000000 --- a/documentation/b2__body_8h_source.html +++ /dev/null @@ -1,903 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_body.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_body.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_BODY_H
-
24 #define B2_BODY_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_math.h"
-
28 #include "b2_shape.h"
-
29 
-
30 class b2Fixture;
-
31 class b2Joint;
-
32 class b2Contact;
-
33 class b2Controller;
-
34 class b2World;
-
35 struct b2FixtureDef;
-
36 struct b2JointEdge;
-
37 struct b2ContactEdge;
-
38 
-
43 enum b2BodyType
-
44 {
-
45  b2_staticBody = 0,
-
46  b2_kinematicBody,
-
47  b2_dynamicBody
-
48 };
-
49 
-
52 struct B2_API b2BodyDef
-
53 {
- -
56  {
-
57  position.Set(0.0f, 0.0f);
-
58  angle = 0.0f;
-
59  linearVelocity.Set(0.0f, 0.0f);
-
60  angularVelocity = 0.0f;
-
61  linearDamping = 0.0f;
-
62  angularDamping = 0.0f;
-
63  allowSleep = true;
-
64  awake = true;
-
65  fixedRotation = false;
-
66  bullet = false;
-
67  type = b2_staticBody;
-
68  enabled = true;
-
69  gravityScale = 1.0f;
-
70  }
-
71 
-
74  b2BodyType type;
-
75 
- -
79 
-
81  float angle;
-
82 
- -
85 
- -
88 
- -
94 
- -
100 
- -
104 
-
106  bool awake;
-
107 
- -
110 
-
115  bool bullet;
-
116 
-
118  bool enabled;
-
119 
- -
122 
- -
125 };
-
126 
-
128 class B2_API b2Body
-
129 {
-
130 public:
-
138  b2Fixture* CreateFixture(const b2FixtureDef* def);
-
139 
-
147  b2Fixture* CreateFixture(const b2Shape* shape, float density);
-
148 
-
156  void DestroyFixture(b2Fixture* fixture);
-
157 
-
163  void SetTransform(const b2Vec2& position, float angle);
-
164 
-
167  const b2Transform& GetTransform() const;
-
168 
-
171  const b2Vec2& GetPosition() const;
-
172 
-
175  float GetAngle() const;
-
176 
-
178  const b2Vec2& GetWorldCenter() const;
-
179 
-
181  const b2Vec2& GetLocalCenter() const;
-
182 
-
185  void SetLinearVelocity(const b2Vec2& v);
-
186 
-
189  const b2Vec2& GetLinearVelocity() const;
-
190 
-
193  void SetAngularVelocity(float omega);
-
194 
-
197  float GetAngularVelocity() const;
-
198 
-
205  void ApplyForce(const b2Vec2& force, const b2Vec2& point, bool wake);
-
206 
-
210  void ApplyForceToCenter(const b2Vec2& force, bool wake);
-
211 
-
216  void ApplyTorque(float torque, bool wake);
-
217 
-
224  void ApplyLinearImpulse(const b2Vec2& impulse, const b2Vec2& point, bool wake);
-
225 
-
229  void ApplyLinearImpulseToCenter(const b2Vec2& impulse, bool wake);
-
230 
-
234  void ApplyAngularImpulse(float impulse, bool wake);
-
235 
-
238  float GetMass() const;
-
239 
-
242  float GetInertia() const;
-
243 
-
246  void GetMassData(b2MassData* data) const;
-
247 
-
253  void SetMassData(const b2MassData* data);
-
254 
-
258  void ResetMassData();
-
259 
-
263  b2Vec2 GetWorldPoint(const b2Vec2& localPoint) const;
-
264 
-
268  b2Vec2 GetWorldVector(const b2Vec2& localVector) const;
-
269 
-
273  b2Vec2 GetLocalPoint(const b2Vec2& worldPoint) const;
-
274 
-
278  b2Vec2 GetLocalVector(const b2Vec2& worldVector) const;
-
279 
-
283  b2Vec2 GetLinearVelocityFromWorldPoint(const b2Vec2& worldPoint) const;
-
284 
-
288  b2Vec2 GetLinearVelocityFromLocalPoint(const b2Vec2& localPoint) const;
-
289 
-
291  float GetLinearDamping() const;
-
292 
-
294  void SetLinearDamping(float linearDamping);
-
295 
-
297  float GetAngularDamping() const;
-
298 
-
300  void SetAngularDamping(float angularDamping);
-
301 
-
303  float GetGravityScale() const;
-
304 
-
306  void SetGravityScale(float scale);
-
307 
-
309  void SetType(b2BodyType type);
-
310 
-
312  b2BodyType GetType() const;
-
313 
-
315  void SetBullet(bool flag);
-
316 
-
318  bool IsBullet() const;
-
319 
-
322  void SetSleepingAllowed(bool flag);
-
323 
-
325  bool IsSleepingAllowed() const;
-
326 
-
330  void SetAwake(bool flag);
-
331 
-
334  bool IsAwake() const;
-
335 
-
348  void SetEnabled(bool flag);
-
349 
-
351  bool IsEnabled() const;
-
352 
-
355  void SetFixedRotation(bool flag);
-
356 
-
358  bool IsFixedRotation() const;
-
359 
-
361  b2Fixture* GetFixtureList();
-
362  const b2Fixture* GetFixtureList() const;
-
363 
-
365  b2JointEdge* GetJointList();
-
366  const b2JointEdge* GetJointList() const;
-
367 
-
371  b2ContactEdge* GetContactList();
-
372  const b2ContactEdge* GetContactList() const;
-
373 
-
375  b2Body* GetNext();
-
376  const b2Body* GetNext() const;
-
377 
-
379  b2BodyUserData& GetUserData();
-
380 
-
382  void SetUserData(void* data);
-
383 
-
385  b2World* GetWorld();
-
386  const b2World* GetWorld() const;
-
387 
-
389  void Dump();
-
390 
-
391 private:
-
392 
-
393  friend class b2World;
-
394  friend class b2Island;
-
395  friend class b2ContactManager;
-
396  friend class b2ContactSolver;
-
397  friend class b2Contact;
-
398 
-
399  friend class b2DistanceJoint;
-
400  friend class b2FrictionJoint;
-
401  friend class b2GearJoint;
-
402  friend class b2MotorJoint;
-
403  friend class b2MouseJoint;
-
404  friend class b2PrismaticJoint;
-
405  friend class b2PulleyJoint;
-
406  friend class b2RevoluteJoint;
-
407  friend class b2RopeJoint;
-
408  friend class b2WeldJoint;
-
409  friend class b2WheelJoint;
-
410 
-
411  // m_flags
-
412  enum
-
413  {
-
414  e_islandFlag = 0x0001,
-
415  e_awakeFlag = 0x0002,
-
416  e_autoSleepFlag = 0x0004,
-
417  e_bulletFlag = 0x0008,
-
418  e_fixedRotationFlag = 0x0010,
-
419  e_enabledFlag = 0x0020,
-
420  e_toiFlag = 0x0040
-
421  };
-
422 
-
423  b2Body(const b2BodyDef* bd, b2World* world);
-
424  ~b2Body();
-
425 
-
426  void SynchronizeFixtures();
-
427  void SynchronizeTransform();
-
428 
-
429  // This is used to prevent connected bodies from colliding.
-
430  // It may lie, depending on the collideConnected flag.
-
431  bool ShouldCollide(const b2Body* other) const;
-
432 
-
433  void Advance(float t);
-
434 
-
435  b2BodyType m_type;
-
436 
-
437  uint16 m_flags;
-
438 
-
439  int32 m_islandIndex;
-
440 
-
441  b2Transform m_xf; // the body origin transform
-
442  b2Sweep m_sweep; // the swept motion for CCD
-
443 
-
444  b2Vec2 m_linearVelocity;
-
445  float m_angularVelocity;
-
446 
-
447  b2Vec2 m_force;
-
448  float m_torque;
-
449 
-
450  b2World* m_world;
-
451  b2Body* m_prev;
-
452  b2Body* m_next;
-
453 
-
454  b2Fixture* m_fixtureList;
-
455  int32 m_fixtureCount;
-
456 
-
457  b2JointEdge* m_jointList;
-
458  b2ContactEdge* m_contactList;
-
459 
-
460  float m_mass, m_invMass;
-
461 
-
462  // Rotational inertia about the center of mass.
-
463  float m_I, m_invI;
-
464 
-
465  float m_linearDamping;
-
466  float m_angularDamping;
-
467  float m_gravityScale;
-
468 
-
469  float m_sleepTime;
-
470 
-
471  b2BodyUserData m_userData;
-
472 };
-
473 
-
474 inline b2BodyType b2Body::GetType() const
-
475 {
-
476  return m_type;
-
477 }
-
478 
-
479 inline const b2Transform& b2Body::GetTransform() const
-
480 {
-
481  return m_xf;
-
482 }
-
483 
-
484 inline const b2Vec2& b2Body::GetPosition() const
-
485 {
-
486  return m_xf.p;
-
487 }
-
488 
-
489 inline float b2Body::GetAngle() const
-
490 {
-
491  return m_sweep.a;
-
492 }
-
493 
-
494 inline const b2Vec2& b2Body::GetWorldCenter() const
-
495 {
-
496  return m_sweep.c;
-
497 }
-
498 
-
499 inline const b2Vec2& b2Body::GetLocalCenter() const
-
500 {
-
501  return m_sweep.localCenter;
-
502 }
-
503 
-
504 inline void b2Body::SetLinearVelocity(const b2Vec2& v)
-
505 {
-
506  if (m_type == b2_staticBody)
-
507  {
-
508  return;
-
509  }
-
510 
-
511  if (b2Dot(v,v) > 0.0f)
-
512  {
-
513  SetAwake(true);
-
514  }
-
515 
-
516  m_linearVelocity = v;
-
517 }
-
518 
-
519 inline const b2Vec2& b2Body::GetLinearVelocity() const
-
520 {
-
521  return m_linearVelocity;
-
522 }
-
523 
-
524 inline void b2Body::SetAngularVelocity(float w)
-
525 {
-
526  if (m_type == b2_staticBody)
-
527  {
-
528  return;
-
529  }
-
530 
-
531  if (w * w > 0.0f)
-
532  {
-
533  SetAwake(true);
-
534  }
-
535 
-
536  m_angularVelocity = w;
-
537 }
-
538 
-
539 inline float b2Body::GetAngularVelocity() const
-
540 {
-
541  return m_angularVelocity;
-
542 }
-
543 
-
544 inline float b2Body::GetMass() const
-
545 {
-
546  return m_mass;
-
547 }
-
548 
-
549 inline float b2Body::GetInertia() const
-
550 {
-
551  return m_I + m_mass * b2Dot(m_sweep.localCenter, m_sweep.localCenter);
-
552 }
-
553 
-
554 inline void b2Body::GetMassData(b2MassData* data) const
-
555 {
-
556  data->mass = m_mass;
-
557  data->I = m_I + m_mass * b2Dot(m_sweep.localCenter, m_sweep.localCenter);
-
558  data->center = m_sweep.localCenter;
-
559 }
-
560 
-
561 inline b2Vec2 b2Body::GetWorldPoint(const b2Vec2& localPoint) const
-
562 {
-
563  return b2Mul(m_xf, localPoint);
-
564 }
-
565 
-
566 inline b2Vec2 b2Body::GetWorldVector(const b2Vec2& localVector) const
-
567 {
-
568  return b2Mul(m_xf.q, localVector);
-
569 }
-
570 
-
571 inline b2Vec2 b2Body::GetLocalPoint(const b2Vec2& worldPoint) const
-
572 {
-
573  return b2MulT(m_xf, worldPoint);
-
574 }
-
575 
-
576 inline b2Vec2 b2Body::GetLocalVector(const b2Vec2& worldVector) const
-
577 {
-
578  return b2MulT(m_xf.q, worldVector);
-
579 }
-
580 
- -
582 {
-
583  return m_linearVelocity + b2Cross(m_angularVelocity, worldPoint - m_sweep.c);
-
584 }
-
585 
- -
587 {
- -
589 }
-
590 
-
591 inline float b2Body::GetLinearDamping() const
-
592 {
-
593  return m_linearDamping;
-
594 }
-
595 
-
596 inline void b2Body::SetLinearDamping(float linearDamping)
-
597 {
-
598  m_linearDamping = linearDamping;
-
599 }
-
600 
-
601 inline float b2Body::GetAngularDamping() const
-
602 {
-
603  return m_angularDamping;
-
604 }
-
605 
-
606 inline void b2Body::SetAngularDamping(float angularDamping)
-
607 {
-
608  m_angularDamping = angularDamping;
-
609 }
-
610 
-
611 inline float b2Body::GetGravityScale() const
-
612 {
-
613  return m_gravityScale;
-
614 }
-
615 
-
616 inline void b2Body::SetGravityScale(float scale)
-
617 {
-
618  m_gravityScale = scale;
-
619 }
-
620 
-
621 inline void b2Body::SetBullet(bool flag)
-
622 {
-
623  if (flag)
-
624  {
-
625  m_flags |= e_bulletFlag;
-
626  }
-
627  else
-
628  {
-
629  m_flags &= ~e_bulletFlag;
-
630  }
-
631 }
-
632 
-
633 inline bool b2Body::IsBullet() const
-
634 {
-
635  return (m_flags & e_bulletFlag) == e_bulletFlag;
-
636 }
-
637 
-
638 inline void b2Body::SetAwake(bool flag)
-
639 {
-
640  if (m_type == b2_staticBody)
-
641  {
-
642  return;
-
643  }
-
644 
-
645  if (flag)
-
646  {
-
647  m_flags |= e_awakeFlag;
-
648  m_sleepTime = 0.0f;
-
649  }
-
650  else
-
651  {
-
652  m_flags &= ~e_awakeFlag;
-
653  m_sleepTime = 0.0f;
-
654  m_linearVelocity.SetZero();
-
655  m_angularVelocity = 0.0f;
-
656  m_force.SetZero();
-
657  m_torque = 0.0f;
-
658  }
-
659 }
-
660 
-
661 inline bool b2Body::IsAwake() const
-
662 {
-
663  return (m_flags & e_awakeFlag) == e_awakeFlag;
-
664 }
-
665 
-
666 inline bool b2Body::IsEnabled() const
-
667 {
-
668  return (m_flags & e_enabledFlag) == e_enabledFlag;
-
669 }
-
670 
-
671 inline bool b2Body::IsFixedRotation() const
-
672 {
-
673  return (m_flags & e_fixedRotationFlag) == e_fixedRotationFlag;
-
674 }
-
675 
-
676 inline void b2Body::SetSleepingAllowed(bool flag)
-
677 {
-
678  if (flag)
-
679  {
-
680  m_flags |= e_autoSleepFlag;
-
681  }
-
682  else
-
683  {
-
684  m_flags &= ~e_autoSleepFlag;
-
685  SetAwake(true);
-
686  }
-
687 }
-
688 
-
689 inline bool b2Body::IsSleepingAllowed() const
-
690 {
-
691  return (m_flags & e_autoSleepFlag) == e_autoSleepFlag;
-
692 }
-
693 
- -
695 {
-
696  return m_fixtureList;
-
697 }
-
698 
-
699 inline const b2Fixture* b2Body::GetFixtureList() const
-
700 {
-
701  return m_fixtureList;
-
702 }
-
703 
- -
705 {
-
706  return m_jointList;
-
707 }
-
708 
-
709 inline const b2JointEdge* b2Body::GetJointList() const
-
710 {
-
711  return m_jointList;
-
712 }
-
713 
- -
715 {
-
716  return m_contactList;
-
717 }
-
718 
-
719 inline const b2ContactEdge* b2Body::GetContactList() const
-
720 {
-
721  return m_contactList;
-
722 }
-
723 
- -
725 {
-
726  return m_next;
-
727 }
-
728 
-
729 inline const b2Body* b2Body::GetNext() const
-
730 {
-
731  return m_next;
-
732 }
-
733 
- -
735 {
-
736  return m_userData;
-
737 }
-
738 
-
739 inline void b2Body::ApplyForce(const b2Vec2& force, const b2Vec2& point, bool wake)
-
740 {
-
741  if (m_type != b2_dynamicBody)
-
742  {
-
743  return;
-
744  }
-
745 
-
746  if (wake && (m_flags & e_awakeFlag) == 0)
-
747  {
-
748  SetAwake(true);
-
749  }
-
750 
-
751  // Don't accumulate a force if the body is sleeping.
-
752  if (m_flags & e_awakeFlag)
-
753  {
-
754  m_force += force;
-
755  m_torque += b2Cross(point - m_sweep.c, force);
-
756  }
-
757 }
-
758 
-
759 inline void b2Body::ApplyForceToCenter(const b2Vec2& force, bool wake)
-
760 {
-
761  if (m_type != b2_dynamicBody)
-
762  {
-
763  return;
-
764  }
-
765 
-
766  if (wake && (m_flags & e_awakeFlag) == 0)
-
767  {
-
768  SetAwake(true);
-
769  }
-
770 
-
771  // Don't accumulate a force if the body is sleeping
-
772  if (m_flags & e_awakeFlag)
-
773  {
-
774  m_force += force;
-
775  }
-
776 }
-
777 
-
778 inline void b2Body::ApplyTorque(float torque, bool wake)
-
779 {
-
780  if (m_type != b2_dynamicBody)
-
781  {
-
782  return;
-
783  }
-
784 
-
785  if (wake && (m_flags & e_awakeFlag) == 0)
-
786  {
-
787  SetAwake(true);
-
788  }
-
789 
-
790  // Don't accumulate a force if the body is sleeping
-
791  if (m_flags & e_awakeFlag)
-
792  {
-
793  m_torque += torque;
-
794  }
-
795 }
-
796 
-
797 inline void b2Body::ApplyLinearImpulse(const b2Vec2& impulse, const b2Vec2& point, bool wake)
-
798 {
-
799  if (m_type != b2_dynamicBody)
-
800  {
-
801  return;
-
802  }
-
803 
-
804  if (wake && (m_flags & e_awakeFlag) == 0)
-
805  {
-
806  SetAwake(true);
-
807  }
-
808 
-
809  // Don't accumulate velocity if the body is sleeping
-
810  if (m_flags & e_awakeFlag)
-
811  {
-
812  m_linearVelocity += m_invMass * impulse;
-
813  m_angularVelocity += m_invI * b2Cross(point - m_sweep.c, impulse);
-
814  }
-
815 }
-
816 
-
817 inline void b2Body::ApplyLinearImpulseToCenter(const b2Vec2& impulse, bool wake)
-
818 {
-
819  if (m_type != b2_dynamicBody)
-
820  {
-
821  return;
-
822  }
-
823 
-
824  if (wake && (m_flags & e_awakeFlag) == 0)
-
825  {
-
826  SetAwake(true);
-
827  }
-
828 
-
829  // Don't accumulate velocity if the body is sleeping
-
830  if (m_flags & e_awakeFlag)
-
831  {
-
832  m_linearVelocity += m_invMass * impulse;
-
833  }
-
834 }
-
835 
-
836 inline void b2Body::ApplyAngularImpulse(float impulse, bool wake)
-
837 {
-
838  if (m_type != b2_dynamicBody)
-
839  {
-
840  return;
-
841  }
-
842 
-
843  if (wake && (m_flags & e_awakeFlag) == 0)
-
844  {
-
845  SetAwake(true);
-
846  }
-
847 
-
848  // Don't accumulate velocity if the body is sleeping
-
849  if (m_flags & e_awakeFlag)
-
850  {
-
851  m_angularVelocity += m_invI * impulse;
-
852  }
-
853 }
-
854 
-
855 inline void b2Body::SynchronizeTransform()
-
856 {
-
857  m_xf.q.Set(m_sweep.a);
-
858  m_xf.p = m_sweep.c - b2Mul(m_xf.q, m_sweep.localCenter);
-
859 }
-
860 
-
861 inline void b2Body::Advance(float alpha)
-
862 {
-
863  // Advance to the new safe time. This doesn't sync the broad-phase.
-
864  m_sweep.Advance(alpha);
-
865  m_sweep.c = m_sweep.c0;
-
866  m_sweep.a = m_sweep.a0;
-
867  m_xf.q.Set(m_sweep.a);
-
868  m_xf.p = m_sweep.c - b2Mul(m_xf.q, m_sweep.localCenter);
-
869 }
-
870 
- -
872 {
-
873  return m_world;
-
874 }
-
875 
-
876 inline const b2World* b2Body::GetWorld() const
-
877 {
-
878  return m_world;
-
879 }
-
880 
-
881 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
void SetAngularDamping(float angularDamping)
Set the angular damping of the body.
Definition: b2_body.h:606
-
Definition: b2_friction_joint.h:60
-
bool IsAwake() const
Definition: b2_body.h:661
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
float linearDamping
Definition: b2_body.h:93
-
void GetMassData(b2MassData *data) const
Definition: b2_body.h:554
-
void SetBullet(bool flag)
Should this body be treated like a bullet for continuous collision detection?
Definition: b2_body.h:621
-
Definition: b2_contact_manager.h:35
-
You can define this to inject whatever data you want in b2Body.
Definition: b2_settings.h:58
-
b2Fixture * GetFixtureList()
Get the list of all fixtures attached to this body.
Definition: b2_body.h:694
-
Definition: b2_distance_joint.h:76
-
b2Vec2 GetLocalPoint(const b2Vec2 &worldPoint) const
Definition: b2_body.h:571
-
const b2Transform & GetTransform() const
Definition: b2_body.h:479
-
b2JointEdge * GetJointList()
Get the list of all joints attached to this body.
Definition: b2_body.h:704
-
Definition: b2_math.h:338
-
b2BodyType GetType() const
Get the type of this body.
Definition: b2_body.h:474
-
b2Vec2 GetWorldPoint(const b2Vec2 &localPoint) const
Definition: b2_body.h:561
-
b2Body * GetNext()
Get the next body in the world's body list.
Definition: b2_body.h:724
-
b2BodyUserData & GetUserData()
Get the user data pointer that was provided in the body definition.
Definition: b2_body.h:734
-
Definition: b2_math.h:368
-
b2Vec2 GetLinearVelocityFromWorldPoint(const b2Vec2 &worldPoint) const
Definition: b2_body.h:581
-
Definition: b2_prismatic_joint.h:91
-
float gravityScale
Scale the gravity applied to this body.
Definition: b2_body.h:124
-
bool fixedRotation
Should this body be prevented from rotating? Useful for characters.
Definition: b2_body.h:109
-
b2BodyDef()
This constructor sets the body definition default values.
Definition: b2_body.h:55
-
const b2Vec2 & GetLinearVelocity() const
Definition: b2_body.h:519
-
float angularDamping
Definition: b2_body.h:99
-
b2Vec2 GetLocalVector(const b2Vec2 &worldVector) const
Definition: b2_body.h:576
-
float angle
The world angle of the body in radians.
Definition: b2_body.h:81
-
void SetAngularVelocity(float omega)
Definition: b2_body.h:524
-
b2Vec2 c
center world positions
Definition: b2_math.h:383
-
void SetGravityScale(float scale)
Set the gravity scale of the body.
Definition: b2_body.h:616
-
float GetInertia() const
Definition: b2_body.h:549
-
void ApplyAngularImpulse(float impulse, bool wake)
Definition: b2_body.h:836
-
Definition: b2_wheel_joint.h:95
-
void SetSleepingAllowed(bool flag)
Definition: b2_body.h:676
-
bool IsBullet() const
Is this body treated like a bullet for continuous collision detection?
Definition: b2_body.h:633
-
bool IsSleepingAllowed() const
Is this body allowed to sleep.
Definition: b2_body.h:689
-
Definition: b2_fixture.h:61
-
Definition: b2_weld_joint.h:69
-
void SetLinearVelocity(const b2Vec2 &v)
Definition: b2_body.h:504
-
b2Vec2 GetWorldVector(const b2Vec2 &localVector) const
Definition: b2_body.h:566
-
void ApplyLinearImpulseToCenter(const b2Vec2 &impulse, bool wake)
Definition: b2_body.h:817
-
b2BodyType type
Definition: b2_body.h:74
-
b2World * GetWorld()
Get the parent world of this body.
Definition: b2_body.h:871
-
Definition: b2_fixture.h:116
-
b2Vec2 linearVelocity
The linear velocity of the body's origin in world co-ordinates.
Definition: b2_body.h:84
-
void Advance(float alpha)
Definition: b2_math.h:697
-
bool bullet
Definition: b2_body.h:115
-
float angularVelocity
The angular velocity of the body.
Definition: b2_body.h:87
-
float GetAngularDamping() const
Get the angular damping of the body.
Definition: b2_body.h:601
-
Definition: b2_revolute_joint.h:94
-
const b2Vec2 & GetWorldCenter() const
Get the world position of the center of mass.
Definition: b2_body.h:494
-
float GetAngle() const
Definition: b2_body.h:489
-
bool awake
Is this body initially awake or sleeping?
Definition: b2_body.h:106
-
bool allowSleep
Definition: b2_body.h:103
-
b2BodyUserData userData
Use this to store application specific body data.
Definition: b2_body.h:121
-
Definition: b2_body.h:52
-
b2Vec2 GetLinearVelocityFromLocalPoint(const b2Vec2 &localPoint) const
Definition: b2_body.h:586
-
bool enabled
Does this body start out enabled?
Definition: b2_body.h:118
-
void SetLinearDamping(float linearDamping)
Set the linear damping of the body.
Definition: b2_body.h:596
-
bool IsEnabled() const
Get the active state of the body.
Definition: b2_body.h:666
-
Definition: b2_contact.h:88
-
b2ContactEdge * GetContactList()
Definition: b2_body.h:714
-
Definition: b2_joint.h:63
-
Definition: b2_motor_joint.h:64
-
float GetMass() const
Definition: b2_body.h:544
-
Definition: b2_world.h:46
-
float GetGravityScale() const
Get the gravity scale of the body.
Definition: b2_body.h:611
-
bool IsFixedRotation() const
Does this body have fixed rotation?
Definition: b2_body.h:671
-
void ApplyLinearImpulse(const b2Vec2 &impulse, const b2Vec2 &point, bool wake)
Definition: b2_body.h:797
-
Definition: b2_gear_joint.h:61
-
Definition: b2_shape.h:48
-
void Set(float angle)
Set using an angle in radians.
Definition: b2_math.h:300
-
This holds the mass data computed for a shape.
Definition: b2_shape.h:33
-
b2Vec2 center
The position of the shape's centroid relative to the shape's origin.
Definition: b2_shape.h:39
-
void SetAwake(bool flag)
Definition: b2_body.h:638
-
void SetZero()
Set this vector to all zeros.
Definition: b2_math.h:50
-
float mass
The mass of the shape, usually in kilograms.
Definition: b2_shape.h:36
-
void ApplyTorque(float torque, bool wake)
Definition: b2_body.h:778
-
Definition: b2_mouse_joint.h:65
-
Definition: b2_joint.h:110
-
const b2Vec2 & GetLocalCenter() const
Get the local position of the center of mass.
Definition: b2_body.h:499
-
b2Vec2 localCenter
local center of mass position
Definition: b2_math.h:382
-
const b2Vec2 & GetPosition() const
Definition: b2_body.h:484
-
float GetAngularVelocity() const
Definition: b2_body.h:539
-
Definition: b2_contact.h:77
-
float I
The rotational inertia of the shape about the local origin.
Definition: b2_shape.h:42
-
float GetLinearDamping() const
Get the linear damping of the body.
Definition: b2_body.h:591
-
void ApplyForce(const b2Vec2 &force, const b2Vec2 &point, bool wake)
Definition: b2_body.h:739
-
float a
world angles
Definition: b2_math.h:384
-
Definition: b2_pulley_joint.h:84
-
b2Vec2 position
Definition: b2_body.h:78
-
void ApplyForceToCenter(const b2Vec2 &force, bool wake)
Definition: b2_body.h:759
- - - - diff --git a/documentation/b2__broad__phase_8h_source.html b/documentation/b2__broad__phase_8h_source.html deleted file mode 100644 index e67f3e7..0000000 --- a/documentation/b2__broad__phase_8h_source.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_broad_phase.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_broad_phase.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_BROAD_PHASE_H
-
24 #define B2_BROAD_PHASE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_settings.h"
-
28 #include "b2_collision.h"
-
29 #include "b2_dynamic_tree.h"
-
30 
-
31 struct B2_API b2Pair
-
32 {
-
33  int32 proxyIdA;
-
34  int32 proxyIdB;
-
35 };
-
36 
-
40 class B2_API b2BroadPhase
-
41 {
-
42 public:
-
43 
-
44  enum
-
45  {
-
46  e_nullProxy = -1
-
47  };
-
48 
-
49  b2BroadPhase();
-
50  ~b2BroadPhase();
-
51 
-
54  int32 CreateProxy(const b2AABB& aabb, void* userData);
-
55 
-
57  void DestroyProxy(int32 proxyId);
-
58 
-
61  void MoveProxy(int32 proxyId, const b2AABB& aabb, const b2Vec2& displacement);
-
62 
-
64  void TouchProxy(int32 proxyId);
-
65 
-
67  const b2AABB& GetFatAABB(int32 proxyId) const;
-
68 
-
70  void* GetUserData(int32 proxyId) const;
-
71 
-
73  bool TestOverlap(int32 proxyIdA, int32 proxyIdB) const;
-
74 
-
76  int32 GetProxyCount() const;
-
77 
-
79  template <typename T>
-
80  void UpdatePairs(T* callback);
-
81 
-
84  template <typename T>
-
85  void Query(T* callback, const b2AABB& aabb) const;
-
86 
-
94  template <typename T>
-
95  void RayCast(T* callback, const b2RayCastInput& input) const;
-
96 
-
98  int32 GetTreeHeight() const;
-
99 
-
101  int32 GetTreeBalance() const;
-
102 
-
104  float GetTreeQuality() const;
-
105 
-
109  void ShiftOrigin(const b2Vec2& newOrigin);
-
110 
-
111 private:
-
112 
-
113  friend class b2DynamicTree;
-
114 
-
115  void BufferMove(int32 proxyId);
-
116  void UnBufferMove(int32 proxyId);
-
117 
-
118  bool QueryCallback(int32 proxyId);
-
119 
-
120  b2DynamicTree m_tree;
-
121 
-
122  int32 m_proxyCount;
-
123 
-
124  int32* m_moveBuffer;
-
125  int32 m_moveCapacity;
-
126  int32 m_moveCount;
-
127 
-
128  b2Pair* m_pairBuffer;
-
129  int32 m_pairCapacity;
-
130  int32 m_pairCount;
-
131 
-
132  int32 m_queryProxyId;
-
133 };
-
134 
-
135 inline void* b2BroadPhase::GetUserData(int32 proxyId) const
-
136 {
-
137  return m_tree.GetUserData(proxyId);
-
138 }
-
139 
-
140 inline bool b2BroadPhase::TestOverlap(int32 proxyIdA, int32 proxyIdB) const
-
141 {
-
142  const b2AABB& aabbA = m_tree.GetFatAABB(proxyIdA);
-
143  const b2AABB& aabbB = m_tree.GetFatAABB(proxyIdB);
-
144  return b2TestOverlap(aabbA, aabbB);
-
145 }
-
146 
-
147 inline const b2AABB& b2BroadPhase::GetFatAABB(int32 proxyId) const
-
148 {
-
149  return m_tree.GetFatAABB(proxyId);
-
150 }
-
151 
-
152 inline int32 b2BroadPhase::GetProxyCount() const
-
153 {
-
154  return m_proxyCount;
-
155 }
-
156 
-
157 inline int32 b2BroadPhase::GetTreeHeight() const
-
158 {
-
159  return m_tree.GetHeight();
-
160 }
-
161 
-
162 inline int32 b2BroadPhase::GetTreeBalance() const
-
163 {
-
164  return m_tree.GetMaxBalance();
-
165 }
-
166 
-
167 inline float b2BroadPhase::GetTreeQuality() const
-
168 {
-
169  return m_tree.GetAreaRatio();
-
170 }
-
171 
-
172 template <typename T>
-
173 void b2BroadPhase::UpdatePairs(T* callback)
-
174 {
-
175  // Reset pair buffer
-
176  m_pairCount = 0;
-
177 
-
178  // Perform tree queries for all moving proxies.
-
179  for (int32 i = 0; i < m_moveCount; ++i)
-
180  {
-
181  m_queryProxyId = m_moveBuffer[i];
-
182  if (m_queryProxyId == e_nullProxy)
-
183  {
-
184  continue;
-
185  }
-
186 
-
187  // We have to query the tree with the fat AABB so that
-
188  // we don't fail to create a pair that may touch later.
-
189  const b2AABB& fatAABB = m_tree.GetFatAABB(m_queryProxyId);
-
190 
-
191  // Query tree, create pairs and add them pair buffer.
-
192  m_tree.Query(this, fatAABB);
-
193  }
-
194 
-
195  // Send pairs to caller
-
196  for (int32 i = 0; i < m_pairCount; ++i)
-
197  {
-
198  b2Pair* primaryPair = m_pairBuffer + i;
-
199  void* userDataA = m_tree.GetUserData(primaryPair->proxyIdA);
-
200  void* userDataB = m_tree.GetUserData(primaryPair->proxyIdB);
-
201 
-
202  callback->AddPair(userDataA, userDataB);
-
203  }
-
204 
-
205  // Clear move flags
-
206  for (int32 i = 0; i < m_moveCount; ++i)
-
207  {
-
208  int32 proxyId = m_moveBuffer[i];
-
209  if (proxyId == e_nullProxy)
-
210  {
-
211  continue;
-
212  }
-
213 
-
214  m_tree.ClearMoved(proxyId);
-
215  }
-
216 
-
217  // Reset move buffer
-
218  m_moveCount = 0;
-
219 }
-
220 
-
221 template <typename T>
-
222 inline void b2BroadPhase::Query(T* callback, const b2AABB& aabb) const
-
223 {
-
224  m_tree.Query(callback, aabb);
-
225 }
-
226 
-
227 template <typename T>
-
228 inline void b2BroadPhase::RayCast(T* callback, const b2RayCastInput& input) const
-
229 {
-
230  m_tree.RayCast(callback, input);
-
231 }
-
232 
-
233 inline void b2BroadPhase::ShiftOrigin(const b2Vec2& newOrigin)
-
234 {
-
235  m_tree.ShiftOrigin(newOrigin);
-
236 }
-
237 
-
238 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
Definition: b2_dynamic_tree.h:68
-
int32 GetTreeHeight() const
Get the height of the embedded tree.
Definition: b2_broad_phase.h:157
-
-
const b2AABB & GetFatAABB(int32 proxyId) const
Get the fat AABB for a proxy.
Definition: b2_dynamic_tree.h:181
-
const b2AABB & GetFatAABB(int32 proxyId) const
Get the fat AABB for a proxy.
Definition: b2_broad_phase.h:147
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
float GetAreaRatio() const
Get the ratio of the sum of the node areas to the root area.
-
float GetTreeQuality() const
Get the quality metric of the embedded tree.
Definition: b2_broad_phase.h:167
-
bool TestOverlap(int32 proxyIdA, int32 proxyIdB) const
Test overlap of fat AABBs.
Definition: b2_broad_phase.h:140
-
void * GetUserData(int32 proxyId) const
Definition: b2_dynamic_tree.h:163
-
void RayCast(T *callback, const b2RayCastInput &input) const
Definition: b2_dynamic_tree.h:223
-
void RayCast(T *callback, const b2RayCastInput &input) const
Definition: b2_broad_phase.h:228
-
void UpdatePairs(T *callback)
Update the pairs. This results in pair callbacks. This can only add pairs.
Definition: b2_broad_phase.h:173
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
void * GetUserData(int32 proxyId) const
Get user data from a proxy. Returns nullptr if the id is invalid.
Definition: b2_broad_phase.h:135
-
void ShiftOrigin(const b2Vec2 &newOrigin)
Definition: b2_broad_phase.h:233
-
B2_API bool b2TestOverlap(const b2Shape *shapeA, int32 indexA, const b2Shape *shapeB, int32 indexB, const b2Transform &xfA, const b2Transform &xfB)
Determine if two generic shapes overlap.
-
-
Definition: b2_broad_phase.h:40
-
Definition: b2_broad_phase.h:31
-
int32 GetProxyCount() const
Get the number of proxies.
Definition: b2_broad_phase.h:152
-
void Query(T *callback, const b2AABB &aabb) const
Definition: b2_dynamic_tree.h:188
-
int32 GetHeight() const
-
int32 GetMaxBalance() const
-
void ShiftOrigin(const b2Vec2 &newOrigin)
-
void Query(T *callback, const b2AABB &aabb) const
Definition: b2_broad_phase.h:222
-
int32 GetTreeBalance() const
Get the balance of the embedded tree.
Definition: b2_broad_phase.h:162
- - - - diff --git a/documentation/b2__chain__shape_8h_source.html b/documentation/b2__chain__shape_8h_source.html deleted file mode 100644 index 6d9bc13..0000000 --- a/documentation/b2__chain__shape_8h_source.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_chain_shape.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_chain_shape.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_CHAIN_SHAPE_H
-
24 #define B2_CHAIN_SHAPE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_shape.h"
-
28 
-
29 class b2EdgeShape;
-
30 
-
36 class B2_API b2ChainShape : public b2Shape
-
37 {
-
38 public:
-
39  b2ChainShape();
-
40 
-
42  ~b2ChainShape();
-
43 
-
45  void Clear();
-
46 
-
50  void CreateLoop(const b2Vec2* vertices, int32 count);
-
51 
-
57  void CreateChain(const b2Vec2* vertices, int32 count,
-
58  const b2Vec2& prevVertex, const b2Vec2& nextVertex);
-
59 
-
61  b2Shape* Clone(b2BlockAllocator* allocator) const override;
-
62 
-
64  int32 GetChildCount() const override;
-
65 
-
67  void GetChildEdge(b2EdgeShape* edge, int32 index) const;
-
68 
-
71  bool TestPoint(const b2Transform& transform, const b2Vec2& p) const override;
-
72 
-
74  bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input,
-
75  const b2Transform& transform, int32 childIndex) const override;
-
76 
-
78  void ComputeAABB(b2AABB* aabb, const b2Transform& transform, int32 childIndex) const override;
-
79 
-
82  void ComputeMass(b2MassData* massData, float density) const override;
-
83 
- -
86 
-
88  int32 m_count;
-
89 
-
90  b2Vec2 m_prevVertex, m_nextVertex;
-
91 };
-
92 
-
93 inline b2ChainShape::b2ChainShape()
-
94 {
-
95  m_type = e_chain;
- -
97  m_vertices = nullptr;
-
98  m_count = 0;
-
99 }
-
100 
-
101 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
virtual bool RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const =0
-
virtual int32 GetChildCount() const =0
Get the number of child primitives.
-
Definition: b2_edge_shape.h:32
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
Definition: b2_math.h:338
-
virtual void ComputeAABB(b2AABB *aabb, const b2Transform &xf, int32 childIndex) const =0
-
float m_radius
Definition: b2_shape.h:102
-
virtual void ComputeMass(b2MassData *massData, float density) const =0
-
Definition: b2_chain_shape.h:36
-
int32 m_count
The vertex count.
Definition: b2_chain_shape.h:88
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
Definition: b2_block_allocator.h:37
-
#define b2_polygonRadius
Definition: b2_common.h:74
-
b2Vec2 * m_vertices
The vertices. Owned by this class.
Definition: b2_chain_shape.h:85
-
Definition: b2_shape.h:48
-
This holds the mass data computed for a shape.
Definition: b2_shape.h:33
-
virtual b2Shape * Clone(b2BlockAllocator *allocator) const =0
Clone the concrete shape using the provided allocator.
-
Definition: b2_collision.h:161
-
virtual bool TestPoint(const b2Transform &xf, const b2Vec2 &p) const =0
- - - - diff --git a/documentation/b2__circle__shape_8h_source.html b/documentation/b2__circle__shape_8h_source.html deleted file mode 100644 index d364af5..0000000 --- a/documentation/b2__circle__shape_8h_source.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_circle_shape.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_circle_shape.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_CIRCLE_SHAPE_H
-
24 #define B2_CIRCLE_SHAPE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_shape.h"
-
28 
-
30 class B2_API b2CircleShape : public b2Shape
-
31 {
-
32 public:
-
33  b2CircleShape();
-
34 
-
36  b2Shape* Clone(b2BlockAllocator* allocator) const override;
-
37 
-
39  int32 GetChildCount() const override;
-
40 
-
42  bool TestPoint(const b2Transform& transform, const b2Vec2& p) const override;
-
43 
-
47  bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input,
-
48  const b2Transform& transform, int32 childIndex) const override;
-
49 
-
51  void ComputeAABB(b2AABB* aabb, const b2Transform& transform, int32 childIndex) const override;
-
52 
-
54  void ComputeMass(b2MassData* massData, float density) const override;
-
55 
- -
58 };
-
59 
-
60 inline b2CircleShape::b2CircleShape()
-
61 {
-
62  m_type = e_circle;
-
63  m_radius = 0.0f;
-
64  m_p.SetZero();
-
65 }
-
66 
-
67 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
virtual bool RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const =0
-
virtual int32 GetChildCount() const =0
Get the number of child primitives.
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
Definition: b2_math.h:338
-
virtual void ComputeAABB(b2AABB *aabb, const b2Transform &xf, int32 childIndex) const =0
-
float m_radius
Definition: b2_shape.h:102
-
virtual void ComputeMass(b2MassData *massData, float density) const =0
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
b2Vec2 m_p
Position.
Definition: b2_circle_shape.h:57
-
Definition: b2_block_allocator.h:37
-
Definition: b2_shape.h:48
-
This holds the mass data computed for a shape.
Definition: b2_shape.h:33
-
void SetZero()
Set this vector to all zeros.
Definition: b2_math.h:50
-
virtual b2Shape * Clone(b2BlockAllocator *allocator) const =0
Clone the concrete shape using the provided allocator.
-
Definition: b2_collision.h:161
-
virtual bool TestPoint(const b2Transform &xf, const b2Vec2 &p) const =0
-
A solid circle shape.
Definition: b2_circle_shape.h:30
- - - - diff --git a/documentation/b2__collision_8h.html b/documentation/b2__collision_8h.html deleted file mode 100644 index c8f5832..0000000 --- a/documentation/b2__collision_8h.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_collision.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2_collision.h File Reference
-
-
-
#include <limits.h>
-#include "b2_api.h"
-#include "b2_math.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  b2ContactFeature
 
union  b2ContactID
 Contact ids to facilitate warm starting. More...
 
struct  b2ManifoldPoint
 
struct  b2Manifold
 
struct  b2WorldManifold
 This is used to compute the current state of a contact manifold. More...
 
struct  b2ClipVertex
 Used for computing contact manifolds. More...
 
struct  b2RayCastInput
 Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1). More...
 
struct  b2RayCastOutput
 
struct  b2AABB
 An axis aligned bounding box. More...
 
- - - - -

-Enumerations

enum  b2PointState { b2_nullState, -b2_addState, -b2_persistState, -b2_removeState - }
 This is used for determining the state of contact points. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

B2_API void b2GetPointStates (b2PointState state1[b2_maxManifoldPoints], b2PointState state2[b2_maxManifoldPoints], const b2Manifold *manifold1, const b2Manifold *manifold2)
 
-B2_API void b2CollideCircles (b2Manifold *manifold, const b2CircleShape *circleA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB)
 Compute the collision manifold between two circles.
 
-B2_API void b2CollidePolygonAndCircle (b2Manifold *manifold, const b2PolygonShape *polygonA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB)
 Compute the collision manifold between a polygon and a circle.
 
-B2_API void b2CollidePolygons (b2Manifold *manifold, const b2PolygonShape *polygonA, const b2Transform &xfA, const b2PolygonShape *polygonB, const b2Transform &xfB)
 Compute the collision manifold between two polygons.
 
-B2_API void b2CollideEdgeAndCircle (b2Manifold *manifold, const b2EdgeShape *polygonA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB)
 Compute the collision manifold between an edge and a circle.
 
-B2_API void b2CollideEdgeAndPolygon (b2Manifold *manifold, const b2EdgeShape *edgeA, const b2Transform &xfA, const b2PolygonShape *circleB, const b2Transform &xfB)
 Compute the collision manifold between an edge and a polygon.
 
-B2_API int32 b2ClipSegmentToLine (b2ClipVertex vOut[2], const b2ClipVertex vIn[2], const b2Vec2 &normal, float offset, int32 vertexIndexA)
 Clipping for contact manifolds.
 
-B2_API bool b2TestOverlap (const b2Shape *shapeA, int32 indexA, const b2Shape *shapeB, int32 indexB, const b2Transform &xfA, const b2Transform &xfB)
 Determine if two generic shapes overlap.
 
-bool b2TestOverlap (const b2AABB &a, const b2AABB &b)
 
- - - -

-Variables

-const uint8 b2_nullFeature = UCHAR_MAX
 
-

Detailed Description

-

Structures and functions used for computing contact points, distance queries, and TOI queries.

-

Enumeration Type Documentation

- -

◆ b2PointState

- -
-
- - - - -
enum b2PointState
-
- -

This is used for determining the state of contact points.

- - - - - -
Enumerator
b2_nullState 

point does not exist

-
b2_addState 

point was added in the update

-
b2_persistState 

point persisted across the update

-
b2_removeState 

point was removed in the update

-
- -
-
-

Function Documentation

- -

◆ b2GetPointStates()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
B2_API void b2GetPointStates (b2PointState state1[b2_maxManifoldPoints],
b2PointState state2[b2_maxManifoldPoints],
const b2Manifoldmanifold1,
const b2Manifoldmanifold2 
)
-
-

Compute the point states given two manifolds. The states pertain to the transition from manifold1 to manifold2. So state1 is either persist or remove while state2 is either add or persist.

- -
-
-
-
- - - - diff --git a/documentation/b2__collision_8h.js b/documentation/b2__collision_8h.js deleted file mode 100644 index 3c602fd..0000000 --- a/documentation/b2__collision_8h.js +++ /dev/null @@ -1,28 +0,0 @@ -var b2__collision_8h = -[ - [ "b2ContactFeature", "structb2_contact_feature.html", "structb2_contact_feature" ], - [ "b2ContactID", "unionb2_contact_i_d.html", "unionb2_contact_i_d" ], - [ "b2ManifoldPoint", "structb2_manifold_point.html", "structb2_manifold_point" ], - [ "b2Manifold", "structb2_manifold.html", "structb2_manifold" ], - [ "b2WorldManifold", "structb2_world_manifold.html", "structb2_world_manifold" ], - [ "b2ClipVertex", "structb2_clip_vertex.html", "structb2_clip_vertex" ], - [ "b2RayCastInput", "structb2_ray_cast_input.html", "structb2_ray_cast_input" ], - [ "b2RayCastOutput", "structb2_ray_cast_output.html", "structb2_ray_cast_output" ], - [ "b2AABB", "structb2_a_a_b_b.html", "structb2_a_a_b_b" ], - [ "b2PointState", "b2__collision_8h.html#a0a894e3715ce8c61b7958dd6e083663d", [ - [ "b2_nullState", "b2__collision_8h.html#a0a894e3715ce8c61b7958dd6e083663da7ce77ce1a592f49d92939997976c217b", null ], - [ "b2_addState", "b2__collision_8h.html#a0a894e3715ce8c61b7958dd6e083663dac60dc479bee2089a695b37948179b3d4", null ], - [ "b2_persistState", "b2__collision_8h.html#a0a894e3715ce8c61b7958dd6e083663dafb032f2175741fa95361e55d1c069e0a", null ], - [ "b2_removeState", "b2__collision_8h.html#a0a894e3715ce8c61b7958dd6e083663da42ca6d7de57b948c8c895cd6f51ee8be", null ] - ] ], - [ "b2ClipSegmentToLine", "b2__collision_8h.html#ae3cb294fe9a7fc7468af0890098db22c", null ], - [ "b2CollideCircles", "b2__collision_8h.html#a07097764ce44f2f56363665e174e6a99", null ], - [ "b2CollideEdgeAndCircle", "b2__collision_8h.html#a178f4de7a4c22aafc58f087ca44ba244", null ], - [ "b2CollideEdgeAndPolygon", "b2__collision_8h.html#a0ac33feb3d8d7bc13f56c5d729ab29a0", null ], - [ "b2CollidePolygonAndCircle", "b2__collision_8h.html#a2ac0c6b0178c2af3c07a0bc18bdbbcab", null ], - [ "b2CollidePolygons", "b2__collision_8h.html#aba296a9e3c99f43e4f27aeeadc3a7a9b", null ], - [ "b2GetPointStates", "b2__collision_8h.html#a04288250049cbfc7d1a860e7c60e55e9", null ], - [ "b2TestOverlap", "b2__collision_8h.html#a3dea7a8a1115626c450a697f6c6bf97e", null ], - [ "b2TestOverlap", "b2__collision_8h.html#a769992d82855399cf20721cd6b411fe7", null ], - [ "b2_nullFeature", "b2__collision_8h.html#a910fdc8a802b3cac220f2ee873109818", null ] -]; \ No newline at end of file diff --git a/documentation/b2__collision_8h_source.html b/documentation/b2__collision_8h_source.html deleted file mode 100644 index 567ed39..0000000 --- a/documentation/b2__collision_8h_source.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_collision.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_collision.h
-
-
-Go to the documentation of this file.
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_COLLISION_H
-
24 #define B2_COLLISION_H
-
25 
-
26 #include <limits.h>
-
27 
-
28 #include "b2_api.h"
-
29 #include "b2_math.h"
-
30 
-
34 
-
35 class b2Shape;
-
36 class b2CircleShape;
-
37 class b2EdgeShape;
-
38 class b2PolygonShape;
-
39 
-
40 const uint8 b2_nullFeature = UCHAR_MAX;
-
41 
-
44 struct B2_API b2ContactFeature
-
45 {
-
46  enum Type
-
47  {
-
48  e_vertex = 0,
-
49  e_face = 1
-
50  };
-
51 
-
52  uint8 indexA;
-
53  uint8 indexB;
-
54  uint8 typeA;
-
55  uint8 typeB;
-
56 };
-
57 
-
59 union B2_API b2ContactID
-
60 {
- -
62  uint32 key;
-
63 };
-
64 
-
75 struct B2_API b2ManifoldPoint
-
76 {
- -
78  float normalImpulse;
- - -
81 };
-
82 
-
99 struct B2_API b2Manifold
-
100 {
-
101  enum Type
-
102  {
-
103  e_circles,
-
104  e_faceA,
-
105  e_faceB
-
106  };
-
107 
- - - -
111  Type type;
-
112  int32 pointCount;
-
113 };
-
114 
-
116 struct B2_API b2WorldManifold
-
117 {
-
122  void Initialize(const b2Manifold* manifold,
-
123  const b2Transform& xfA, float radiusA,
-
124  const b2Transform& xfB, float radiusB);
-
125 
- - -
128  float separations[b2_maxManifoldPoints];
-
129 };
-
130 
- -
133 {
- - - - -
138 };
-
139 
- -
143  const b2Manifold* manifold1, const b2Manifold* manifold2);
-
144 
-
146 struct B2_API b2ClipVertex
-
147 {
-
148  b2Vec2 v;
-
149  b2ContactID id;
-
150 };
-
151 
-
153 struct B2_API b2RayCastInput
-
154 {
-
155  b2Vec2 p1, p2;
-
156  float maxFraction;
-
157 };
-
158 
-
161 struct B2_API b2RayCastOutput
-
162 {
-
163  b2Vec2 normal;
-
164  float fraction;
-
165 };
-
166 
-
168 struct B2_API b2AABB
-
169 {
-
171  bool IsValid() const;
-
172 
- -
175  {
-
176  return 0.5f * (lowerBound + upperBound);
-
177  }
-
178 
- -
181  {
-
182  return 0.5f * (upperBound - lowerBound);
-
183  }
-
184 
-
186  float GetPerimeter() const
-
187  {
-
188  float wx = upperBound.x - lowerBound.x;
-
189  float wy = upperBound.y - lowerBound.y;
-
190  return 2.0f * (wx + wy);
-
191  }
-
192 
-
194  void Combine(const b2AABB& aabb)
-
195  {
-
196  lowerBound = b2Min(lowerBound, aabb.lowerBound);
-
197  upperBound = b2Max(upperBound, aabb.upperBound);
-
198  }
-
199 
-
201  void Combine(const b2AABB& aabb1, const b2AABB& aabb2)
-
202  {
-
203  lowerBound = b2Min(aabb1.lowerBound, aabb2.lowerBound);
-
204  upperBound = b2Max(aabb1.upperBound, aabb2.upperBound);
-
205  }
-
206 
-
208  bool Contains(const b2AABB& aabb) const
-
209  {
-
210  bool result = true;
-
211  result = result && lowerBound.x <= aabb.lowerBound.x;
-
212  result = result && lowerBound.y <= aabb.lowerBound.y;
-
213  result = result && aabb.upperBound.x <= upperBound.x;
-
214  result = result && aabb.upperBound.y <= upperBound.y;
-
215  return result;
-
216  }
-
217 
-
218  bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input) const;
-
219 
- - -
222 };
-
223 
-
225 B2_API void b2CollideCircles(b2Manifold* manifold,
-
226  const b2CircleShape* circleA, const b2Transform& xfA,
-
227  const b2CircleShape* circleB, const b2Transform& xfB);
-
228 
-
230 B2_API void b2CollidePolygonAndCircle(b2Manifold* manifold,
-
231  const b2PolygonShape* polygonA, const b2Transform& xfA,
-
232  const b2CircleShape* circleB, const b2Transform& xfB);
-
233 
-
235 B2_API void b2CollidePolygons(b2Manifold* manifold,
-
236  const b2PolygonShape* polygonA, const b2Transform& xfA,
-
237  const b2PolygonShape* polygonB, const b2Transform& xfB);
-
238 
-
240 B2_API void b2CollideEdgeAndCircle(b2Manifold* manifold,
-
241  const b2EdgeShape* polygonA, const b2Transform& xfA,
-
242  const b2CircleShape* circleB, const b2Transform& xfB);
-
243 
-
245 B2_API void b2CollideEdgeAndPolygon(b2Manifold* manifold,
-
246  const b2EdgeShape* edgeA, const b2Transform& xfA,
-
247  const b2PolygonShape* circleB, const b2Transform& xfB);
-
248 
-
250 B2_API int32 b2ClipSegmentToLine(b2ClipVertex vOut[2], const b2ClipVertex vIn[2],
-
251  const b2Vec2& normal, float offset, int32 vertexIndexA);
-
252 
-
254 B2_API bool b2TestOverlap( const b2Shape* shapeA, int32 indexA,
-
255  const b2Shape* shapeB, int32 indexB,
-
256  const b2Transform& xfA, const b2Transform& xfB);
-
257 
-
258 // ---------------- Inline Functions ------------------------------------------
-
259 
-
260 inline bool b2AABB::IsValid() const
-
261 {
- -
263  bool valid = d.x >= 0.0f && d.y >= 0.0f;
-
264  valid = valid && lowerBound.IsValid() && upperBound.IsValid();
-
265  return valid;
-
266 }
-
267 
-
268 inline bool b2TestOverlap(const b2AABB& a, const b2AABB& b)
-
269 {
-
270  b2Vec2 d1, d2;
-
271  d1 = b.lowerBound - a.upperBound;
-
272  d2 = a.lowerBound - b.upperBound;
-
273 
-
274  if (d1.x > 0.0f || d1.y > 0.0f)
-
275  return false;
-
276 
-
277  if (d2.x > 0.0f || d2.y > 0.0f)
-
278  return false;
-
279 
-
280  return true;
-
281 }
-
282 
-
283 #endif
-
-
-
uint32 key
Used to quickly compare contact ids.
Definition: b2_collision.h:62
-
A 2D column vector.
Definition: b2_math.h:41
-
@ b2_addState
point was added in the update
Definition: b2_collision.h:135
-
b2Vec2 GetExtents() const
Get the extents of the AABB (half-widths).
Definition: b2_collision.h:180
-
@ b2_persistState
point persisted across the update
Definition: b2_collision.h:136
-
Definition: b2_edge_shape.h:32
-
float normalImpulse
the non-penetration impulse
Definition: b2_collision.h:78
-
b2Vec2 lowerBound
the lower vertex
Definition: b2_collision.h:220
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
float tangentImpulse
the friction impulse
Definition: b2_collision.h:79
-
Definition: b2_math.h:338
-
b2Vec2 GetCenter() const
Get the center of the AABB.
Definition: b2_collision.h:174
-
Definition: b2_collision.h:99
-
int32 pointCount
the number of manifold points
Definition: b2_collision.h:112
-
bool Contains(const b2AABB &aabb) const
Does this aabb contain the provided AABB.
Definition: b2_collision.h:208
-
b2PointState
This is used for determining the state of contact points.
Definition: b2_collision.h:132
-
Definition: b2_collision.h:75
-
This is used to compute the current state of a contact manifold.
Definition: b2_collision.h:116
-
Used for computing contact manifolds.
Definition: b2_collision.h:146
-
B2_API int32 b2ClipSegmentToLine(b2ClipVertex vOut[2], const b2ClipVertex vIn[2], const b2Vec2 &normal, float offset, int32 vertexIndexA)
Clipping for contact manifolds.
-
#define b2_maxManifoldPoints
Definition: b2_common.h:51
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
b2Vec2 localNormal
not use for Type::e_points
Definition: b2_collision.h:109
-
Contact ids to facilitate warm starting.
Definition: b2_collision.h:59
-
uint8 indexB
Feature index on shapeB.
Definition: b2_collision.h:53
-
B2_API void b2CollideEdgeAndCircle(b2Manifold *manifold, const b2EdgeShape *polygonA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB)
Compute the collision manifold between an edge and a circle.
-
b2ContactID id
uniquely identifies a contact point between two shapes
Definition: b2_collision.h:80
-
b2Vec2 localPoint
usage depends on manifold type
Definition: b2_collision.h:77
-
B2_API bool b2TestOverlap(const b2Shape *shapeA, int32 indexA, const b2Shape *shapeB, int32 indexB, const b2Transform &xfA, const b2Transform &xfB)
Determine if two generic shapes overlap.
-
B2_API void b2GetPointStates(b2PointState state1[b2_maxManifoldPoints], b2PointState state2[b2_maxManifoldPoints], const b2Manifold *manifold1, const b2Manifold *manifold2)
-
B2_API void b2CollideEdgeAndPolygon(b2Manifold *manifold, const b2EdgeShape *edgeA, const b2Transform &xfA, const b2PolygonShape *circleB, const b2Transform &xfB)
Compute the collision manifold between an edge and a polygon.
-
b2Vec2 upperBound
the upper vertex
Definition: b2_collision.h:221
-
Definition: b2_polygon_shape.h:32
-
void Combine(const b2AABB &aabb)
Combine an AABB into this one.
Definition: b2_collision.h:194
-
B2_API void b2CollidePolygons(b2Manifold *manifold, const b2PolygonShape *polygonA, const b2Transform &xfA, const b2PolygonShape *polygonB, const b2Transform &xfB)
Compute the collision manifold between two polygons.
-
uint8 typeA
The feature type on shapeA.
Definition: b2_collision.h:54
-
b2Vec2 normal
world vector pointing from A to B
Definition: b2_collision.h:126
-
B2_API void b2CollidePolygonAndCircle(b2Manifold *manifold, const b2PolygonShape *polygonA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB)
Compute the collision manifold between a polygon and a circle.
-
B2_API void b2CollideCircles(b2Manifold *manifold, const b2CircleShape *circleA, const b2Transform &xfA, const b2CircleShape *circleB, const b2Transform &xfB)
Compute the collision manifold between two circles.
-
uint8 indexA
Feature index on shapeA.
Definition: b2_collision.h:52
-
bool IsValid() const
Verify that the bounds are sorted.
Definition: b2_collision.h:260
-
b2Vec2 localPoint
usage depends on manifold type
Definition: b2_collision.h:110
-
Definition: b2_shape.h:48
-
float GetPerimeter() const
Get the perimeter length.
Definition: b2_collision.h:186
-
void Combine(const b2AABB &aabb1, const b2AABB &aabb2)
Combine two AABBs into this one.
Definition: b2_collision.h:201
-
Definition: b2_collision.h:161
-
@ b2_nullState
point does not exist
Definition: b2_collision.h:134
-
@ b2_removeState
point was removed in the update
Definition: b2_collision.h:137
-
uint8 typeB
The feature type on shapeB.
Definition: b2_collision.h:55
-
A solid circle shape.
Definition: b2_circle_shape.h:30
-
Definition: b2_collision.h:44
-
bool IsValid() const
Does this vector contain finite coordinates?
Definition: b2_math.h:117
- - - - diff --git a/documentation/b2__common_8h.html b/documentation/b2__common_8h.html deleted file mode 100644 index e689e2b..0000000 --- a/documentation/b2__common_8h.html +++ /dev/null @@ -1,381 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_common.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2_common.h File Reference
-
-
-
#include "b2_settings.h"
-#include <stddef.h>
-#include <assert.h>
-#include <float.h>
-
-

Go to the source code of this file.

- - - - -

-Classes

struct  b2Version
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Macros

-#define b2DEBUG
 
-#define B2_NOT_USED(x)   ((void)(x))
 
-#define b2Assert(A)   assert(A)
 
-#define b2_maxFloat   FLT_MAX
 
-#define b2_epsilon   FLT_EPSILON
 
-#define b2_pi   3.14159265359f
 
#define b2_maxManifoldPoints   2
 
#define b2_aabbExtension   (0.1f * b2_lengthUnitsPerMeter)
 
#define b2_aabbMultiplier   4.0f
 
#define b2_linearSlop   (0.005f * b2_lengthUnitsPerMeter)
 
#define b2_angularSlop   (2.0f / 180.0f * b2_pi)
 
#define b2_polygonRadius   (2.0f * b2_linearSlop)
 
-#define b2_maxSubSteps   8
 Maximum number of sub-steps per contact in continuous physics simulation.
 
-#define b2_maxTOIContacts   32
 Maximum number of contacts to be handled to solve a TOI impact.
 
#define b2_maxLinearCorrection   (0.2f * b2_lengthUnitsPerMeter)
 
#define b2_maxAngularCorrection   (8.0f / 180.0f * b2_pi)
 
#define b2_maxTranslation   (2.0f * b2_lengthUnitsPerMeter)
 
-#define b2_maxTranslationSquared   (b2_maxTranslation * b2_maxTranslation)
 
#define b2_maxRotation   (0.5f * b2_pi)
 
-#define b2_maxRotationSquared   (b2_maxRotation * b2_maxRotation)
 
#define b2_baumgarte   0.2f
 
-#define b2_toiBaumgarte   0.75f
 
-#define b2_timeToSleep   0.5f
 The time that a body must be still before it will go to sleep.
 
-#define b2_linearSleepTolerance   (0.01f * b2_lengthUnitsPerMeter)
 A body cannot sleep if its linear velocity is above this tolerance.
 
-#define b2_angularSleepTolerance   (2.0f / 180.0f * b2_pi)
 A body cannot sleep if its angular velocity is above this tolerance.
 
- - - - - - - - -

-Functions

-void b2OpenDump (const char *fileName)
 Dump to a file. Only one dump file allowed at a time.
 
-void b2Dump (const char *string,...)
 
-void b2CloseDump ()
 
- - - - -

-Variables

-B2_API b2Version b2_version
 Current version.
 
-

Detailed Description

-

Global tuning constants based on meters-kilograms-seconds (MKS) units.

-

Macro Definition Documentation

- -

◆ b2_aabbExtension

- -
-
- - - - -
#define b2_aabbExtension   (0.1f * b2_lengthUnitsPerMeter)
-
-

This is used to fatten AABBs in the dynamic tree. This allows proxies to move by a small amount without triggering a tree adjustment. This is in meters.

- -
-
- -

◆ b2_aabbMultiplier

- -
-
- - - - -
#define b2_aabbMultiplier   4.0f
-
-

This is used to fatten AABBs in the dynamic tree. This is used to predict the future position based on the current displacement. This is a dimensionless multiplier.

- -
-
- -

◆ b2_angularSlop

- -
-
- - - - -
#define b2_angularSlop   (2.0f / 180.0f * b2_pi)
-
-

A small angle used as a collision and constraint tolerance. Usually it is chosen to be numerically significant, but visually insignificant.

- -
-
- -

◆ b2_baumgarte

- -
-
- - - - -
#define b2_baumgarte   0.2f
-
-

This scale factor controls how fast overlap is resolved. Ideally this would be 1 so that overlap is removed in one time step. However using values close to 1 often lead to overshoot.

- -
-
- -

◆ b2_linearSlop

- -
-
- - - - -
#define b2_linearSlop   (0.005f * b2_lengthUnitsPerMeter)
-
-

A small length used as a collision and constraint tolerance. Usually it is chosen to be numerically significant, but visually insignificant. In meters.

- -
-
- -

◆ b2_maxAngularCorrection

- -
-
- - - - -
#define b2_maxAngularCorrection   (8.0f / 180.0f * b2_pi)
-
-

The maximum angular position correction used when solving constraints. This helps to prevent overshoot.

- -
-
- -

◆ b2_maxLinearCorrection

- -
-
- - - - -
#define b2_maxLinearCorrection   (0.2f * b2_lengthUnitsPerMeter)
-
-

The maximum linear position correction used when solving constraints. This helps to prevent overshoot. Meters.

- -
-
- -

◆ b2_maxManifoldPoints

- -
-
- - - - -
#define b2_maxManifoldPoints   2
-
-

The maximum number of contact points between two convex shapes. Do not change this value.

- -
-
- -

◆ b2_maxRotation

- -
-
- - - - -
#define b2_maxRotation   (0.5f * b2_pi)
-
-

The maximum angular velocity of a body. This limit is very large and is used to prevent numerical problems. You shouldn't need to adjust this.

- -
-
- -

◆ b2_maxTranslation

- -
-
- - - - -
#define b2_maxTranslation   (2.0f * b2_lengthUnitsPerMeter)
-
-

The maximum linear translation of a body per step. This limit is very large and is used to prevent numerical problems. You shouldn't need to adjust this. Meters.

- -
-
- -

◆ b2_polygonRadius

- -
-
- - - - -
#define b2_polygonRadius   (2.0f * b2_linearSlop)
-
-

The radius of the polygon/edge shape skin. This should not be modified. Making this smaller means polygons will have an insufficient buffer for continuous collision. Making it larger may create artifacts for vertex collision.

- -
-
-
-
- - - - diff --git a/documentation/b2__common_8h.js b/documentation/b2__common_8h.js deleted file mode 100644 index 635dcfc..0000000 --- a/documentation/b2__common_8h.js +++ /dev/null @@ -1,33 +0,0 @@ -var b2__common_8h = -[ - [ "b2Version", "structb2_version.html", "structb2_version" ], - [ "b2_aabbExtension", "b2__common_8h.html#adb86e231496fdd6ac7795ce58d40c870", null ], - [ "b2_aabbMultiplier", "b2__common_8h.html#a7d1bd1594f20601d4079bccbd0a6a03c", null ], - [ "b2_angularSleepTolerance", "b2__common_8h.html#a571f3e7c864aca14141b163205600eef", null ], - [ "b2_angularSlop", "b2__common_8h.html#a67810fb101bb7a7e0b3afc14845383ee", null ], - [ "b2_baumgarte", "b2__common_8h.html#a88e32539e0f9e69e3832e1321eba3caa", null ], - [ "b2_epsilon", "b2__common_8h.html#ae6bc48338c82daa4598d38f8ebc6f075", null ], - [ "b2_linearSleepTolerance", "b2__common_8h.html#a6d882c48142a8c73011b576e20dc6dd8", null ], - [ "b2_linearSlop", "b2__common_8h.html#a57268ade379c5c3373d0ff558b0350cf", null ], - [ "b2_maxAngularCorrection", "b2__common_8h.html#a823e4f9a6fa4b9de3c97da696571400a", null ], - [ "b2_maxFloat", "b2__common_8h.html#a034400dadc97431610fe4a0f38d5c1c7", null ], - [ "b2_maxLinearCorrection", "b2__common_8h.html#a23ab70e4809f5ee23abcd52018d5eb88", null ], - [ "b2_maxManifoldPoints", "b2__common_8h.html#aa5f44cc9edf711433dea2b2ec94f3c42", null ], - [ "b2_maxRotation", "b2__common_8h.html#a5808c5f1e946205d8f7458101ccc698e", null ], - [ "b2_maxRotationSquared", "b2__common_8h.html#ac0ea425673819f24093ef7875c1025dd", null ], - [ "b2_maxSubSteps", "b2__common_8h.html#ac1fd56e39ab8499f344b6398b7332e55", null ], - [ "b2_maxTOIContacts", "b2__common_8h.html#aad3a54bcae5f7ec0235963403c2fccc9", null ], - [ "b2_maxTranslation", "b2__common_8h.html#af2bad257bfbafed3665df3e243ba2b52", null ], - [ "b2_maxTranslationSquared", "b2__common_8h.html#a06db101442fde26e8ffb875af5c2f588", null ], - [ "B2_NOT_USED", "b2__common_8h.html#a24cdaa0e73463ad545524b9aee142b7b", null ], - [ "b2_pi", "b2__common_8h.html#a3f1872f3fc3c46abc809e7f7d467eb6c", null ], - [ "b2_polygonRadius", "b2__common_8h.html#afc0f934dabffb1e83e081249133ad860", null ], - [ "b2_timeToSleep", "b2__common_8h.html#ab021adb740e4a5e1f5f7d9913ed94781", null ], - [ "b2_toiBaumgarte", "b2__common_8h.html#a210f37bad1337ca3e28c26f0fe38cd03", null ], - [ "b2Assert", "b2__common_8h.html#ab3fe3791ea4d700d5cc1f8124d2edf33", null ], - [ "b2DEBUG", "b2__common_8h.html#a76c36ad7e53158b76b87f84d8260623a", null ], - [ "b2CloseDump", "b2__common_8h.html#abd646d0ec7f4ba3b2870f2855618191d", null ], - [ "b2Dump", "b2__common_8h.html#ace4f4330b566703b8885a970945ac7bc", null ], - [ "b2OpenDump", "b2__common_8h.html#ab6fcb96fe471342272c624bced36ac97", null ], - [ "b2_version", "b2__common_8h.html#aad172c83e254377c7b646ff0377a6d1a", null ] -]; \ No newline at end of file diff --git a/documentation/b2__common_8h_source.html b/documentation/b2__common_8h_source.html deleted file mode 100644 index a926195..0000000 --- a/documentation/b2__common_8h_source.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_common.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_common.h
-
-
-Go to the documentation of this file.
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_COMMON_H
-
24 #define B2_COMMON_H
-
25 
-
26 #include "b2_settings.h"
-
27 
-
28 #include <stddef.h>
-
29 #include <assert.h>
-
30 #include <float.h>
-
31 
-
32 #if !defined(NDEBUG)
-
33  #define b2DEBUG
-
34 #endif
-
35 
-
36 #define B2_NOT_USED(x) ((void)(x))
-
37 #define b2Assert(A) assert(A)
-
38 
-
39 #define b2_maxFloat FLT_MAX
-
40 #define b2_epsilon FLT_EPSILON
-
41 #define b2_pi 3.14159265359f
-
42 
-
46 
-
47 // Collision
-
48 
-
51 #define b2_maxManifoldPoints 2
-
52 
-
56 #define b2_aabbExtension (0.1f * b2_lengthUnitsPerMeter)
-
57 
-
61 #define b2_aabbMultiplier 4.0f
-
62 
-
65 #define b2_linearSlop (0.005f * b2_lengthUnitsPerMeter)
-
66 
-
69 #define b2_angularSlop (2.0f / 180.0f * b2_pi)
-
70 
-
74 #define b2_polygonRadius (2.0f * b2_linearSlop)
-
75 
-
77 #define b2_maxSubSteps 8
-
78 
-
79 
-
80 // Dynamics
-
81 
-
83 #define b2_maxTOIContacts 32
-
84 
-
87 #define b2_maxLinearCorrection (0.2f * b2_lengthUnitsPerMeter)
-
88 
-
91 #define b2_maxAngularCorrection (8.0f / 180.0f * b2_pi)
-
92 
-
95 #define b2_maxTranslation (2.0f * b2_lengthUnitsPerMeter)
-
96 #define b2_maxTranslationSquared (b2_maxTranslation * b2_maxTranslation)
-
97 
-
100 #define b2_maxRotation (0.5f * b2_pi)
-
101 #define b2_maxRotationSquared (b2_maxRotation * b2_maxRotation)
-
102 
-
106 #define b2_baumgarte 0.2f
-
107 #define b2_toiBaumgarte 0.75f
-
108 
-
109 
-
110 // Sleep
-
111 
-
113 #define b2_timeToSleep 0.5f
-
114 
-
116 #define b2_linearSleepTolerance (0.01f * b2_lengthUnitsPerMeter)
-
117 
-
119 #define b2_angularSleepTolerance (2.0f / 180.0f * b2_pi)
-
120 
-
122 void b2OpenDump(const char* fileName);
-
123 void b2Dump(const char* string, ...);
-
124 void b2CloseDump();
-
125 
-
128 struct b2Version
-
129 {
-
130  int32 major;
-
131  int32 minor;
-
132  int32 revision;
-
133 };
-
134 
-
136 extern B2_API b2Version b2_version;
-
137 
-
138 #endif
-
-
-
-
int32 minor
incremental changes
Definition: b2_common.h:131
-
B2_API b2Version b2_version
Current version.
-
int32 major
significant changes
Definition: b2_common.h:130
-
Definition: b2_common.h:128
-
void b2OpenDump(const char *fileName)
Dump to a file. Only one dump file allowed at a time.
-
int32 revision
bug fixes
Definition: b2_common.h:132
- - - - diff --git a/documentation/b2__contact_8h_source.html b/documentation/b2__contact_8h_source.html deleted file mode 100644 index 360bb18..0000000 --- a/documentation/b2__contact_8h_source.html +++ /dev/null @@ -1,494 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_contact.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_contact.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_CONTACT_H
-
24 #define B2_CONTACT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_collision.h"
-
28 #include "b2_fixture.h"
-
29 #include "b2_math.h"
-
30 #include "b2_shape.h"
-
31 
-
32 class b2Body;
-
33 class b2Contact;
-
34 class b2Fixture;
-
35 class b2World;
-
36 class b2BlockAllocator;
-
37 class b2StackAllocator;
-
38 class b2ContactListener;
-
39 
-
42 inline float b2MixFriction(float friction1, float friction2)
-
43 {
-
44  return b2Sqrt(friction1 * friction2);
-
45 }
-
46 
-
49 inline float b2MixRestitution(float restitution1, float restitution2)
-
50 {
-
51  return restitution1 > restitution2 ? restitution1 : restitution2;
-
52 }
-
53 
-
55 inline float b2MixRestitutionThreshold(float threshold1, float threshold2)
-
56 {
-
57  return threshold1 < threshold2 ? threshold1 : threshold2;
-
58 }
-
59 
-
60 typedef b2Contact* b2ContactCreateFcn( b2Fixture* fixtureA, int32 indexA,
-
61  b2Fixture* fixtureB, int32 indexB,
-
62  b2BlockAllocator* allocator);
-
63 typedef void b2ContactDestroyFcn(b2Contact* contact, b2BlockAllocator* allocator);
-
64 
-
65 struct B2_API b2ContactRegister
-
66 {
-
67  b2ContactCreateFcn* createFcn;
-
68  b2ContactDestroyFcn* destroyFcn;
-
69  bool primary;
-
70 };
-
71 
-
77 struct B2_API b2ContactEdge
-
78 {
- - - - -
83 };
-
84 
-
88 class B2_API b2Contact
-
89 {
-
90 public:
-
91 
-
94  b2Manifold* GetManifold();
-
95  const b2Manifold* GetManifold() const;
-
96 
-
98  void GetWorldManifold(b2WorldManifold* worldManifold) const;
-
99 
-
101  bool IsTouching() const;
-
102 
-
106  void SetEnabled(bool flag);
-
107 
-
109  bool IsEnabled() const;
-
110 
-
112  b2Contact* GetNext();
-
113  const b2Contact* GetNext() const;
-
114 
-
116  b2Fixture* GetFixtureA();
-
117  const b2Fixture* GetFixtureA() const;
-
118 
-
120  int32 GetChildIndexA() const;
-
121 
-
123  b2Fixture* GetFixtureB();
-
124  const b2Fixture* GetFixtureB() const;
-
125 
-
127  int32 GetChildIndexB() const;
-
128 
-
131  void SetFriction(float friction);
-
132 
-
134  float GetFriction() const;
-
135 
-
137  void ResetFriction();
-
138 
-
141  void SetRestitution(float restitution);
-
142 
-
144  float GetRestitution() const;
-
145 
-
147  void ResetRestitution();
-
148 
-
151  void SetRestitutionThreshold(float threshold);
-
152 
-
154  float GetRestitutionThreshold() const;
-
155 
-
157  void ResetRestitutionThreshold();
-
158 
-
160  void SetTangentSpeed(float speed);
-
161 
-
163  float GetTangentSpeed() const;
-
164 
-
166  virtual void Evaluate(b2Manifold* manifold, const b2Transform& xfA, const b2Transform& xfB) = 0;
-
167 
-
168 protected:
-
169  friend class b2ContactManager;
-
170  friend class b2World;
-
171  friend class b2ContactSolver;
-
172  friend class b2Body;
-
173  friend class b2Fixture;
-
174 
-
175  // Flags stored in m_flags
-
176  enum
-
177  {
-
178  // Used when crawling contact graph when forming islands.
-
179  e_islandFlag = 0x0001,
-
180 
-
181  // Set when the shapes are touching.
-
182  e_touchingFlag = 0x0002,
-
183 
-
184  // This contact can be disabled (by user)
-
185  e_enabledFlag = 0x0004,
-
186 
-
187  // This contact needs filtering because a fixture filter was changed.
-
188  e_filterFlag = 0x0008,
-
189 
-
190  // This bullet contact had a TOI event
-
191  e_bulletHitFlag = 0x0010,
-
192 
-
193  // This contact has a valid TOI in m_toi
-
194  e_toiFlag = 0x0020
-
195  };
-
196 
-
198  void FlagForFiltering();
-
199 
-
200  static void AddType(b2ContactCreateFcn* createFcn, b2ContactDestroyFcn* destroyFcn,
-
201  b2Shape::Type typeA, b2Shape::Type typeB);
-
202  static void InitializeRegisters();
-
203  static b2Contact* Create(b2Fixture* fixtureA, int32 indexA, b2Fixture* fixtureB, int32 indexB, b2BlockAllocator* allocator);
-
204  static void Destroy(b2Contact* contact, b2Shape::Type typeA, b2Shape::Type typeB, b2BlockAllocator* allocator);
-
205  static void Destroy(b2Contact* contact, b2BlockAllocator* allocator);
-
206 
-
207  b2Contact() : m_fixtureA(nullptr), m_fixtureB(nullptr) {}
-
208  b2Contact(b2Fixture* fixtureA, int32 indexA, b2Fixture* fixtureB, int32 indexB);
-
209  virtual ~b2Contact() {}
-
210 
-
211  void Update(b2ContactListener* listener);
-
212 
-
213  static b2ContactRegister s_registers[b2Shape::e_typeCount][b2Shape::e_typeCount];
-
214  static bool s_initialized;
-
215 
-
216  uint32 m_flags;
-
217 
-
218  // World pool and list pointers.
-
219  b2Contact* m_prev;
-
220  b2Contact* m_next;
-
221 
-
222  // Nodes for connecting bodies.
-
223  b2ContactEdge m_nodeA;
-
224  b2ContactEdge m_nodeB;
-
225 
-
226  b2Fixture* m_fixtureA;
-
227  b2Fixture* m_fixtureB;
-
228 
-
229  int32 m_indexA;
-
230  int32 m_indexB;
-
231 
-
232  b2Manifold m_manifold;
-
233 
-
234  int32 m_toiCount;
-
235  float m_toi;
-
236 
-
237  float m_friction;
-
238  float m_restitution;
-
239  float m_restitutionThreshold;
-
240 
-
241  float m_tangentSpeed;
-
242 };
-
243 
- -
245 {
-
246  return &m_manifold;
-
247 }
-
248 
-
249 inline const b2Manifold* b2Contact::GetManifold() const
-
250 {
-
251  return &m_manifold;
-
252 }
-
253 
-
254 inline void b2Contact::GetWorldManifold(b2WorldManifold* worldManifold) const
-
255 {
-
256  const b2Body* bodyA = m_fixtureA->GetBody();
-
257  const b2Body* bodyB = m_fixtureB->GetBody();
-
258  const b2Shape* shapeA = m_fixtureA->GetShape();
-
259  const b2Shape* shapeB = m_fixtureB->GetShape();
-
260 
-
261  worldManifold->Initialize(&m_manifold, bodyA->GetTransform(), shapeA->m_radius, bodyB->GetTransform(), shapeB->m_radius);
-
262 }
-
263 
-
264 inline void b2Contact::SetEnabled(bool flag)
-
265 {
-
266  if (flag)
-
267  {
-
268  m_flags |= e_enabledFlag;
-
269  }
-
270  else
-
271  {
-
272  m_flags &= ~e_enabledFlag;
-
273  }
-
274 }
-
275 
-
276 inline bool b2Contact::IsEnabled() const
-
277 {
-
278  return (m_flags & e_enabledFlag) == e_enabledFlag;
-
279 }
-
280 
-
281 inline bool b2Contact::IsTouching() const
-
282 {
-
283  return (m_flags & e_touchingFlag) == e_touchingFlag;
-
284 }
-
285 
- -
287 {
-
288  return m_next;
-
289 }
-
290 
-
291 inline const b2Contact* b2Contact::GetNext() const
-
292 {
-
293  return m_next;
-
294 }
-
295 
- -
297 {
-
298  return m_fixtureA;
-
299 }
-
300 
-
301 inline const b2Fixture* b2Contact::GetFixtureA() const
-
302 {
-
303  return m_fixtureA;
-
304 }
-
305 
- -
307 {
-
308  return m_fixtureB;
-
309 }
-
310 
-
311 inline int32 b2Contact::GetChildIndexA() const
-
312 {
-
313  return m_indexA;
-
314 }
-
315 
-
316 inline const b2Fixture* b2Contact::GetFixtureB() const
-
317 {
-
318  return m_fixtureB;
-
319 }
-
320 
-
321 inline int32 b2Contact::GetChildIndexB() const
-
322 {
-
323  return m_indexB;
-
324 }
-
325 
- -
327 {
-
328  m_flags |= e_filterFlag;
-
329 }
-
330 
-
331 inline void b2Contact::SetFriction(float friction)
-
332 {
-
333  m_friction = friction;
-
334 }
-
335 
-
336 inline float b2Contact::GetFriction() const
-
337 {
-
338  return m_friction;
-
339 }
-
340 
- -
342 {
-
343  m_friction = b2MixFriction(m_fixtureA->m_friction, m_fixtureB->m_friction);
-
344 }
-
345 
-
346 inline void b2Contact::SetRestitution(float restitution)
-
347 {
-
348  m_restitution = restitution;
-
349 }
-
350 
-
351 inline float b2Contact::GetRestitution() const
-
352 {
-
353  return m_restitution;
-
354 }
-
355 
- -
357 {
-
358  m_restitution = b2MixRestitution(m_fixtureA->m_restitution, m_fixtureB->m_restitution);
-
359 }
-
360 
-
361 inline void b2Contact::SetRestitutionThreshold(float threshold)
-
362 {
-
363  m_restitutionThreshold = threshold;
-
364 }
-
365 
- -
367 {
-
368  return m_restitutionThreshold;
-
369 }
-
370 
- -
372 {
-
373  m_restitutionThreshold = b2MixRestitutionThreshold(m_fixtureA->m_restitutionThreshold, m_fixtureB->m_restitutionThreshold);
-
374 }
-
375 
-
376 inline void b2Contact::SetTangentSpeed(float speed)
-
377 {
-
378  m_tangentSpeed = speed;
-
379 }
-
380 
-
381 inline float b2Contact::GetTangentSpeed() const
-
382 {
-
383  return m_tangentSpeed;
-
384 }
-
385 
-
386 #endif
-
-
-
b2Manifold * GetManifold()
Definition: b2_contact.h:244
-
void ResetRestitution()
Reset the restitution to the default value.
Definition: b2_contact.h:356
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
b2ContactEdge * next
the next contact edge in the body's contact list
Definition: b2_contact.h:82
-
Definition: b2_contact_manager.h:35
-
void ResetFriction()
Reset the friction mixture to the default value.
Definition: b2_contact.h:341
-
b2Shape * GetShape()
Definition: b2_fixture.h:258
-
const b2Transform & GetTransform() const
Definition: b2_body.h:479
-
float GetTangentSpeed() const
Get the desired tangent speed. In meters per second.
Definition: b2_contact.h:381
-
Definition: b2_world_callbacks.h:86
-
Definition: b2_math.h:338
-
void SetRestitution(float restitution)
Definition: b2_contact.h:346
-
Definition: b2_collision.h:99
-
float GetRestitutionThreshold() const
Get the restitution threshold.
Definition: b2_contact.h:366
-
float GetFriction() const
Get the friction.
Definition: b2_contact.h:336
-
bool IsTouching() const
Is this contact touching?
Definition: b2_contact.h:281
-
b2Body * other
provides quick access to the other body attached.
Definition: b2_contact.h:79
-
Definition: b2_stack_allocator.h:42
-
void SetRestitutionThreshold(float threshold)
Definition: b2_contact.h:361
-
int32 GetChildIndexB() const
Get the child primitive index for fixture B.
Definition: b2_contact.h:321
-
float m_radius
Definition: b2_shape.h:102
-
This is used to compute the current state of a contact manifold.
Definition: b2_collision.h:116
-
b2Fixture * GetFixtureB()
Get fixture B in this contact.
Definition: b2_contact.h:306
-
Definition: b2_fixture.h:116
-
void ResetRestitutionThreshold()
Reset the restitution threshold to the default value.
Definition: b2_contact.h:371
-
Definition: b2_block_allocator.h:37
-
-
void SetTangentSpeed(float speed)
Set the desired tangent speed for a conveyor belt behavior. In meters per second.
Definition: b2_contact.h:376
-
Definition: b2_contact.h:65
-
b2ContactEdge * prev
the previous contact edge in the body's contact list
Definition: b2_contact.h:81
-
Definition: b2_contact.h:88
-
bool IsEnabled() const
Has this contact been disabled?
Definition: b2_contact.h:276
-
Definition: b2_world.h:46
-
int32 GetChildIndexA() const
Get the child primitive index for fixture A.
Definition: b2_contact.h:311
-
void SetFriction(float friction)
Definition: b2_contact.h:331
-
void Initialize(const b2Manifold *manifold, const b2Transform &xfA, float radiusA, const b2Transform &xfB, float radiusB)
-
void FlagForFiltering()
Flag this contact for filtering. Filtering will occur the next time step.
Definition: b2_contact.h:326
-
b2Contact * contact
the contact
Definition: b2_contact.h:80
-
Definition: b2_shape.h:48
-
b2Contact * GetNext()
Get the next contact in the world's contact list.
Definition: b2_contact.h:286
-
Definition: b2_contact.h:77
-
void GetWorldManifold(b2WorldManifold *worldManifold) const
Get the world manifold.
Definition: b2_contact.h:254
-
b2Body * GetBody()
Definition: b2_fixture.h:283
-
b2Fixture * GetFixtureA()
Get fixture A in this contact.
Definition: b2_contact.h:296
-
float GetRestitution() const
Get the restitution.
Definition: b2_contact.h:351
-
void SetEnabled(bool flag)
Definition: b2_contact.h:264
- - - - diff --git a/documentation/b2__contact__manager_8h_source.html b/documentation/b2__contact__manager_8h_source.html deleted file mode 100644 index 5ea509b..0000000 --- a/documentation/b2__contact__manager_8h_source.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_contact_manager.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_contact_manager.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_CONTACT_MANAGER_H
-
24 #define B2_CONTACT_MANAGER_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_broad_phase.h"
-
28 
-
29 class b2Contact;
-
30 class b2ContactFilter;
-
31 class b2ContactListener;
-
32 class b2BlockAllocator;
-
33 
-
34 // Delegate of b2World.
-
35 class B2_API b2ContactManager
-
36 {
-
37 public:
- -
39 
-
40  // Broad-phase callback.
-
41  void AddPair(void* proxyUserDataA, void* proxyUserDataB);
-
42 
-
43  void FindNewContacts();
-
44 
-
45  void Destroy(b2Contact* c);
-
46 
-
47  void Collide();
-
48 
-
49  b2BroadPhase m_broadPhase;
-
50  b2Contact* m_contactList;
-
51  int32 m_contactCount;
-
52  b2ContactFilter* m_contactFilter;
-
53  b2ContactListener* m_contactListener;
-
54  b2BlockAllocator* m_allocator;
-
55 };
-
56 
-
57 #endif
-
-
-
Definition: b2_contact_manager.h:35
-
Definition: b2_world_callbacks.h:86
-
Definition: b2_block_allocator.h:37
-
Definition: b2_broad_phase.h:40
-
Definition: b2_contact.h:88
-
Definition: b2_world_callbacks.h:57
- - - - diff --git a/documentation/b2__distance_8h_source.html b/documentation/b2__distance_8h_source.html deleted file mode 100644 index 360d410..0000000 --- a/documentation/b2__distance_8h_source.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_distance.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_distance.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_DISTANCE_H
-
24 #define B2_DISTANCE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_math.h"
-
28 
-
29 class b2Shape;
-
30 
-
33 struct B2_API b2DistanceProxy
-
34 {
-
35  b2DistanceProxy() : m_vertices(nullptr), m_count(0), m_radius(0.0f) {}
-
36 
-
39  void Set(const b2Shape* shape, int32 index);
-
40 
-
43  void Set(const b2Vec2* vertices, int32 count, float radius);
-
44 
-
46  int32 GetSupport(const b2Vec2& d) const;
-
47 
-
49  const b2Vec2& GetSupportVertex(const b2Vec2& d) const;
-
50 
-
52  int32 GetVertexCount() const;
-
53 
-
55  const b2Vec2& GetVertex(int32 index) const;
-
56 
-
57  b2Vec2 m_buffer[2];
-
58  const b2Vec2* m_vertices;
-
59  int32 m_count;
-
60  float m_radius;
-
61 };
-
62 
-
65 struct B2_API b2SimplexCache
-
66 {
-
67  float metric;
-
68  uint16 count;
-
69  uint8 indexA[3];
-
70  uint8 indexB[3];
-
71 };
-
72 
-
76 struct B2_API b2DistanceInput
-
77 {
-
78  b2DistanceProxy proxyA;
-
79  b2DistanceProxy proxyB;
-
80  b2Transform transformA;
-
81  b2Transform transformB;
-
82  bool useRadii;
-
83 };
-
84 
-
86 struct B2_API b2DistanceOutput
-
87 {
- - -
90  float distance;
-
91  int32 iterations;
-
92 };
-
93 
-
97 B2_API void b2Distance(b2DistanceOutput* output,
-
98  b2SimplexCache* cache,
-
99  const b2DistanceInput* input);
-
100 
-
102 struct B2_API b2ShapeCastInput
-
103 {
-
104  b2DistanceProxy proxyA;
-
105  b2DistanceProxy proxyB;
-
106  b2Transform transformA;
-
107  b2Transform transformB;
-
108  b2Vec2 translationB;
-
109 };
-
110 
-
112 struct B2_API b2ShapeCastOutput
-
113 {
-
114  b2Vec2 point;
-
115  b2Vec2 normal;
-
116  float lambda;
-
117  int32 iterations;
-
118 };
-
119 
-
122 B2_API bool b2ShapeCast(b2ShapeCastOutput* output, const b2ShapeCastInput* input);
-
123 
-
125 
- -
127 {
-
128  return m_count;
-
129 }
-
130 
-
131 inline const b2Vec2& b2DistanceProxy::GetVertex(int32 index) const
-
132 {
-
133  b2Assert(0 <= index && index < m_count);
-
134  return m_vertices[index];
-
135 }
-
136 
-
137 inline int32 b2DistanceProxy::GetSupport(const b2Vec2& d) const
-
138 {
-
139  int32 bestIndex = 0;
-
140  float bestValue = b2Dot(m_vertices[0], d);
-
141  for (int32 i = 1; i < m_count; ++i)
-
142  {
-
143  float value = b2Dot(m_vertices[i], d);
-
144  if (value > bestValue)
-
145  {
-
146  bestIndex = i;
-
147  bestValue = value;
-
148  }
-
149  }
-
150 
-
151  return bestIndex;
-
152 }
-
153 
-
154 inline const b2Vec2& b2DistanceProxy::GetSupportVertex(const b2Vec2& d) const
-
155 {
-
156  int32 bestIndex = 0;
-
157  float bestValue = b2Dot(m_vertices[0], d);
-
158  for (int32 i = 1; i < m_count; ++i)
-
159  {
-
160  float value = b2Dot(m_vertices[i], d);
-
161  if (value > bestValue)
-
162  {
-
163  bestIndex = i;
-
164  bestValue = value;
-
165  }
-
166  }
-
167 
-
168  return m_vertices[bestIndex];
-
169 }
-
170 
-
171 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
int32 GetVertexCount() const
Get the vertex count.
Definition: b2_distance.h:126
-
Output for b2Distance.
Definition: b2_distance.h:86
-
Definition: b2_math.h:338
-
b2Vec2 pointA
closest point on shapeA
Definition: b2_distance.h:88
-
float metric
length or area
Definition: b2_distance.h:67
-
int32 GetSupport(const b2Vec2 &d) const
Get the supporting vertex index in the given direction.
Definition: b2_distance.h:137
-
const b2Vec2 & GetVertex(int32 index) const
Get a vertex by index. Used by b2Distance.
Definition: b2_distance.h:131
-
b2Vec2 pointB
closest point on shapeB
Definition: b2_distance.h:89
-
Definition: b2_distance.h:65
-
const b2Vec2 & GetSupportVertex(const b2Vec2 &d) const
Get the supporting vertex in the given direction.
Definition: b2_distance.h:154
-
Definition: b2_distance.h:76
-
Definition: b2_shape.h:48
-
Definition: b2_distance.h:33
-
int32 iterations
number of GJK iterations used
Definition: b2_distance.h:91
-
Input parameters for b2ShapeCast.
Definition: b2_distance.h:102
-
Output results for b2ShapeCast.
Definition: b2_distance.h:112
- - - - diff --git a/documentation/b2__distance__joint_8h_source.html b/documentation/b2__distance__joint_8h_source.html deleted file mode 100644 index 9f46070..0000000 --- a/documentation/b2__distance__joint_8h_source.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_distance_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_distance_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_DISTANCE_JOINT_H
-
24 #define B2_DISTANCE_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
33 struct B2_API b2DistanceJointDef : public b2JointDef
-
34 {
- -
36  {
-
37  type = e_distanceJoint;
-
38  localAnchorA.Set(0.0f, 0.0f);
-
39  localAnchorB.Set(0.0f, 0.0f);
-
40  length = 1.0f;
-
41  minLength = 0.0f;
-
42  maxLength = FLT_MAX;
-
43  stiffness = 0.0f;
-
44  damping = 0.0f;
-
45  }
-
46 
-
49  void Initialize(b2Body* bodyA, b2Body* bodyB,
-
50  const b2Vec2& anchorA, const b2Vec2& anchorB);
-
51 
- -
54 
- -
57 
-
59  float length;
-
60 
-
62  float minLength;
-
63 
-
65  float maxLength;
-
66 
-
68  float stiffness;
-
69 
-
71  float damping;
-
72 };
-
73 
-
76 class B2_API b2DistanceJoint : public b2Joint
-
77 {
-
78 public:
-
79 
-
80  b2Vec2 GetAnchorA() const override;
-
81  b2Vec2 GetAnchorB() const override;
-
82 
-
85  b2Vec2 GetReactionForce(float inv_dt) const override;
-
86 
-
89  float GetReactionTorque(float inv_dt) const override;
-
90 
-
92  const b2Vec2& GetLocalAnchorA() const { return m_localAnchorA; }
-
93 
-
95  const b2Vec2& GetLocalAnchorB() const { return m_localAnchorB; }
-
96 
-
98  float GetLength() const { return m_length; }
-
99 
-
102  float SetLength(float length);
-
103 
-
105  float GetMinLength() const { return m_minLength; }
-
106 
-
109  float SetMinLength(float minLength);
-
110 
-
112  float GetMaxLength() const { return m_maxLength; }
-
113 
-
116  float SetMaxLength(float maxLength);
-
117 
-
119  float GetCurrentLength() const;
-
120 
-
122  void SetStiffness(float stiffness) { m_stiffness = stiffness; }
-
123  float GetStiffness() const { return m_stiffness; }
-
124 
-
126  void SetDamping(float damping) { m_damping = damping; }
-
127  float GetDamping() const { return m_damping; }
-
128 
-
130  void Dump() override;
-
131 
-
133  void Draw(b2Draw* draw) const override;
-
134 
-
135 protected:
-
136 
-
137  friend class b2Joint;
-
138  b2DistanceJoint(const b2DistanceJointDef* data);
-
139 
-
140  void InitVelocityConstraints(const b2SolverData& data) override;
-
141  void SolveVelocityConstraints(const b2SolverData& data) override;
-
142  bool SolvePositionConstraints(const b2SolverData& data) override;
-
143 
-
144  float m_stiffness;
-
145  float m_damping;
-
146  float m_bias;
-
147  float m_length;
-
148  float m_minLength;
-
149  float m_maxLength;
-
150 
-
151  // Solver shared
-
152  b2Vec2 m_localAnchorA;
-
153  b2Vec2 m_localAnchorB;
-
154  float m_gamma;
-
155  float m_impulse;
-
156  float m_lowerImpulse;
-
157  float m_upperImpulse;
-
158 
-
159  // Solver temp
-
160  int32 m_indexA;
-
161  int32 m_indexB;
-
162  b2Vec2 m_u;
-
163  b2Vec2 m_rA;
-
164  b2Vec2 m_rB;
-
165  b2Vec2 m_localCenterA;
-
166  b2Vec2 m_localCenterB;
-
167  float m_currentLength;
-
168  float m_invMassA;
-
169  float m_invMassB;
-
170  float m_invIA;
-
171  float m_invIB;
-
172  float m_softMass;
-
173  float m_mass;
-
174 };
-
175 
-
176 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
float GetMaxLength() const
Get the maximum length.
Definition: b2_distance_joint.h:112
-
float minLength
Minimum length. Clamped to a stable minimum value.
Definition: b2_distance_joint.h:62
-
Definition: b2_distance_joint.h:76
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
const b2Vec2 & GetLocalAnchorA() const
The local anchor point relative to bodyA's origin.
Definition: b2_distance_joint.h:92
-
Definition: b2_draw.h:48
-
void SetDamping(float damping)
Set/get linear damping in N*s/m.
Definition: b2_distance_joint.h:126
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
const b2Vec2 & GetLocalAnchorB() const
The local anchor point relative to bodyB's origin.
Definition: b2_distance_joint.h:95
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_distance_joint.h:53
-
float damping
The linear damping in N*s/m.
Definition: b2_distance_joint.h:71
-
virtual void Draw(b2Draw *draw) const
Debug draw this joint.
-
float length
The rest length of this joint. Clamped to a stable minimum value.
Definition: b2_distance_joint.h:59
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
float stiffness
The linear stiffness in N/m.
Definition: b2_distance_joint.h:68
-
float GetLength() const
Get the rest length.
Definition: b2_distance_joint.h:98
-
Solver Data.
Definition: b2_time_step.h:67
-
float GetMinLength() const
Get the minimum length.
Definition: b2_distance_joint.h:105
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_distance_joint.h:56
-
void SetStiffness(float stiffness)
Set/get the linear stiffness in N/m.
Definition: b2_distance_joint.h:122
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
float maxLength
Maximum length. Must be greater than or equal to the minimum length.
Definition: b2_distance_joint.h:65
-
Definition: b2_distance_joint.h:33
- - - - diff --git a/documentation/b2__draw_8h_source.html b/documentation/b2__draw_8h_source.html deleted file mode 100644 index f2bfed7..0000000 --- a/documentation/b2__draw_8h_source.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_draw.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_draw.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_DRAW_H
-
24 #define B2_DRAW_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_math.h"
-
28 
-
30 struct B2_API b2Color
-
31 {
-
32  b2Color() {}
-
33  b2Color(float rIn, float gIn, float bIn, float aIn = 1.0f)
-
34  {
-
35  r = rIn; g = gIn; b = bIn; a = aIn;
-
36  }
-
37 
-
38  void Set(float rIn, float gIn, float bIn, float aIn = 1.0f)
-
39  {
-
40  r = rIn; g = gIn; b = bIn; a = aIn;
-
41  }
-
42 
-
43  float r, g, b, a;
-
44 };
-
45 
-
48 class B2_API b2Draw
-
49 {
-
50 public:
-
51  b2Draw();
-
52 
-
53  virtual ~b2Draw() {}
-
54 
-
55  enum
-
56  {
-
57  e_shapeBit = 0x0001,
-
58  e_jointBit = 0x0002,
-
59  e_aabbBit = 0x0004,
-
60  e_pairBit = 0x0008,
-
61  e_centerOfMassBit = 0x0010
-
62  };
-
63 
-
65  void SetFlags(uint32 flags);
-
66 
-
68  uint32 GetFlags() const;
-
69 
-
71  void AppendFlags(uint32 flags);
-
72 
-
74  void ClearFlags(uint32 flags);
-
75 
-
77  virtual void DrawPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color) = 0;
-
78 
-
80  virtual void DrawSolidPolygon(const b2Vec2* vertices, int32 vertexCount, const b2Color& color) = 0;
-
81 
-
83  virtual void DrawCircle(const b2Vec2& center, float radius, const b2Color& color) = 0;
-
84 
-
86  virtual void DrawSolidCircle(const b2Vec2& center, float radius, const b2Vec2& axis, const b2Color& color) = 0;
-
87 
-
89  virtual void DrawSegment(const b2Vec2& p1, const b2Vec2& p2, const b2Color& color) = 0;
-
90 
-
93  virtual void DrawTransform(const b2Transform& xf) = 0;
-
94 
-
96  virtual void DrawPoint(const b2Vec2& p, float size, const b2Color& color) = 0;
-
97 
-
98 protected:
-
99  uint32 m_drawFlags;
-
100 };
-
101 
-
102 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
Definition: b2_draw.h:48
-
Definition: b2_math.h:338
-
Color for debug drawing. Each value has the range [0,1].
Definition: b2_draw.h:30
- - - - diff --git a/documentation/b2__dynamic__tree_8h_source.html b/documentation/b2__dynamic__tree_8h_source.html deleted file mode 100644 index e986922..0000000 --- a/documentation/b2__dynamic__tree_8h_source.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_dynamic_tree.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_dynamic_tree.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_DYNAMIC_TREE_H
-
24 #define B2_DYNAMIC_TREE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_collision.h"
-
28 #include "b2_growable_stack.h"
-
29 
-
30 #define b2_nullNode (-1)
-
31 
-
33 struct B2_API b2TreeNode
-
34 {
-
35  bool IsLeaf() const
-
36  {
-
37  return child1 == b2_nullNode;
-
38  }
-
39 
- -
42 
-
43  void* userData;
-
44 
-
45  union
-
46  {
-
47  int32 parent;
-
48  int32 next;
-
49  };
-
50 
-
51  int32 child1;
-
52  int32 child2;
-
53 
-
54  // leaf = 0, free node = -1
-
55  int32 height;
-
56 
-
57  bool moved;
-
58 };
-
59 
-
68 class B2_API b2DynamicTree
-
69 {
-
70 public:
-
72  b2DynamicTree();
-
73 
-
75  ~b2DynamicTree();
-
76 
-
78  int32 CreateProxy(const b2AABB& aabb, void* userData);
-
79 
-
81  void DestroyProxy(int32 proxyId);
-
82 
-
87  bool MoveProxy(int32 proxyId, const b2AABB& aabb1, const b2Vec2& displacement);
-
88 
-
91  void* GetUserData(int32 proxyId) const;
-
92 
-
93  bool WasMoved(int32 proxyId) const;
-
94  void ClearMoved(int32 proxyId);
-
95 
-
97  const b2AABB& GetFatAABB(int32 proxyId) const;
-
98 
-
101  template <typename T>
-
102  void Query(T* callback, const b2AABB& aabb) const;
-
103 
-
111  template <typename T>
-
112  void RayCast(T* callback, const b2RayCastInput& input) const;
-
113 
-
115  void Validate() const;
-
116 
-
119  int32 GetHeight() const;
-
120 
-
123  int32 GetMaxBalance() const;
-
124 
-
126  float GetAreaRatio() const;
-
127 
-
129  void RebuildBottomUp();
-
130 
-
134  void ShiftOrigin(const b2Vec2& newOrigin);
-
135 
-
136 private:
-
137 
-
138  int32 AllocateNode();
-
139  void FreeNode(int32 node);
-
140 
-
141  void InsertLeaf(int32 node);
-
142  void RemoveLeaf(int32 node);
-
143 
-
144  int32 Balance(int32 index);
-
145 
-
146  int32 ComputeHeight() const;
-
147  int32 ComputeHeight(int32 nodeId) const;
-
148 
-
149  void ValidateStructure(int32 index) const;
-
150  void ValidateMetrics(int32 index) const;
-
151 
-
152  int32 m_root;
-
153 
-
154  b2TreeNode* m_nodes;
-
155  int32 m_nodeCount;
-
156  int32 m_nodeCapacity;
-
157 
-
158  int32 m_freeList;
-
159 
-
160  int32 m_insertionCount;
-
161 };
-
162 
-
163 inline void* b2DynamicTree::GetUserData(int32 proxyId) const
-
164 {
-
165  b2Assert(0 <= proxyId && proxyId < m_nodeCapacity);
-
166  return m_nodes[proxyId].userData;
-
167 }
-
168 
-
169 inline bool b2DynamicTree::WasMoved(int32 proxyId) const
-
170 {
-
171  b2Assert(0 <= proxyId && proxyId < m_nodeCapacity);
-
172  return m_nodes[proxyId].moved;
-
173 }
-
174 
-
175 inline void b2DynamicTree::ClearMoved(int32 proxyId)
-
176 {
-
177  b2Assert(0 <= proxyId && proxyId < m_nodeCapacity);
-
178  m_nodes[proxyId].moved = false;
-
179 }
-
180 
-
181 inline const b2AABB& b2DynamicTree::GetFatAABB(int32 proxyId) const
-
182 {
-
183  b2Assert(0 <= proxyId && proxyId < m_nodeCapacity);
-
184  return m_nodes[proxyId].aabb;
-
185 }
-
186 
-
187 template <typename T>
-
188 inline void b2DynamicTree::Query(T* callback, const b2AABB& aabb) const
-
189 {
- -
191  stack.Push(m_root);
-
192 
-
193  while (stack.GetCount() > 0)
-
194  {
-
195  int32 nodeId = stack.Pop();
-
196  if (nodeId == b2_nullNode)
-
197  {
-
198  continue;
-
199  }
-
200 
-
201  const b2TreeNode* node = m_nodes + nodeId;
-
202 
-
203  if (b2TestOverlap(node->aabb, aabb))
-
204  {
-
205  if (node->IsLeaf())
-
206  {
-
207  bool proceed = callback->QueryCallback(nodeId);
-
208  if (proceed == false)
-
209  {
-
210  return;
-
211  }
-
212  }
-
213  else
-
214  {
-
215  stack.Push(node->child1);
-
216  stack.Push(node->child2);
-
217  }
-
218  }
-
219  }
-
220 }
-
221 
-
222 template <typename T>
-
223 inline void b2DynamicTree::RayCast(T* callback, const b2RayCastInput& input) const
-
224 {
-
225  b2Vec2 p1 = input.p1;
-
226  b2Vec2 p2 = input.p2;
-
227  b2Vec2 r = p2 - p1;
-
228  b2Assert(r.LengthSquared() > 0.0f);
-
229  r.Normalize();
-
230 
-
231  // v is perpendicular to the segment.
-
232  b2Vec2 v = b2Cross(1.0f, r);
-
233  b2Vec2 abs_v = b2Abs(v);
-
234 
-
235  // Separating axis for segment (Gino, p80).
-
236  // |dot(v, p1 - c)| > dot(|v|, h)
-
237 
-
238  float maxFraction = input.maxFraction;
-
239 
-
240  // Build a bounding box for the segment.
-
241  b2AABB segmentAABB;
-
242  {
-
243  b2Vec2 t = p1 + maxFraction * (p2 - p1);
-
244  segmentAABB.lowerBound = b2Min(p1, t);
-
245  segmentAABB.upperBound = b2Max(p1, t);
-
246  }
-
247 
- -
249  stack.Push(m_root);
-
250 
-
251  while (stack.GetCount() > 0)
-
252  {
-
253  int32 nodeId = stack.Pop();
-
254  if (nodeId == b2_nullNode)
-
255  {
-
256  continue;
-
257  }
-
258 
-
259  const b2TreeNode* node = m_nodes + nodeId;
-
260 
-
261  if (b2TestOverlap(node->aabb, segmentAABB) == false)
-
262  {
-
263  continue;
-
264  }
-
265 
-
266  // Separating axis for segment (Gino, p80).
-
267  // |dot(v, p1 - c)| > dot(|v|, h)
-
268  b2Vec2 c = node->aabb.GetCenter();
-
269  b2Vec2 h = node->aabb.GetExtents();
-
270  float separation = b2Abs(b2Dot(v, p1 - c)) - b2Dot(abs_v, h);
-
271  if (separation > 0.0f)
-
272  {
-
273  continue;
-
274  }
-
275 
-
276  if (node->IsLeaf())
-
277  {
-
278  b2RayCastInput subInput;
-
279  subInput.p1 = input.p1;
-
280  subInput.p2 = input.p2;
-
281  subInput.maxFraction = maxFraction;
-
282 
-
283  float value = callback->RayCastCallback(subInput, nodeId);
-
284 
-
285  if (value == 0.0f)
-
286  {
-
287  // The client has terminated the ray cast.
-
288  return;
-
289  }
-
290 
-
291  if (value > 0.0f)
-
292  {
-
293  // Update segment bounding box.
-
294  maxFraction = value;
-
295  b2Vec2 t = p1 + maxFraction * (p2 - p1);
-
296  segmentAABB.lowerBound = b2Min(p1, t);
-
297  segmentAABB.upperBound = b2Max(p1, t);
-
298  }
-
299  }
-
300  else
-
301  {
-
302  stack.Push(node->child1);
-
303  stack.Push(node->child2);
-
304  }
-
305  }
-
306 }
-
307 
-
308 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
Definition: b2_dynamic_tree.h:68
-
b2Vec2 GetExtents() const
Get the extents of the AABB (half-widths).
Definition: b2_collision.h:180
-
const b2AABB & GetFatAABB(int32 proxyId) const
Get the fat AABB for a proxy.
Definition: b2_dynamic_tree.h:181
-
A node in the dynamic tree. The client does not interact with this directly.
Definition: b2_dynamic_tree.h:33
-
b2Vec2 lowerBound
the lower vertex
Definition: b2_collision.h:220
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
Definition: b2_growable_stack.h:34
-
b2Vec2 GetCenter() const
Get the center of the AABB.
Definition: b2_collision.h:174
-
void * GetUserData(int32 proxyId) const
Definition: b2_dynamic_tree.h:163
-
float Normalize()
Convert this vector into a unit vector. Returns the length.
Definition: b2_math.h:102
-
void RayCast(T *callback, const b2RayCastInput &input) const
Definition: b2_dynamic_tree.h:223
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
B2_API bool b2TestOverlap(const b2Shape *shapeA, int32 indexA, const b2Shape *shapeB, int32 indexB, const b2Transform &xfA, const b2Transform &xfB)
Determine if two generic shapes overlap.
-
-
b2Vec2 upperBound
the upper vertex
Definition: b2_collision.h:221
-
b2AABB aabb
Enlarged AABB.
Definition: b2_dynamic_tree.h:41
-
float LengthSquared() const
Definition: b2_math.h:96
-
void Query(T *callback, const b2AABB &aabb) const
Definition: b2_dynamic_tree.h:188
- - - - diff --git a/documentation/b2__edge__shape_8h_source.html b/documentation/b2__edge__shape_8h_source.html deleted file mode 100644 index 8ed8dc1..0000000 --- a/documentation/b2__edge__shape_8h_source.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_edge_shape.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_edge_shape.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_EDGE_SHAPE_H
-
24 #define B2_EDGE_SHAPE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_shape.h"
-
28 
-
32 class B2_API b2EdgeShape : public b2Shape
-
33 {
-
34 public:
-
35  b2EdgeShape();
-
36 
-
41  void SetOneSided(const b2Vec2& v0, const b2Vec2& v1,const b2Vec2& v2, const b2Vec2& v3);
-
42 
-
44  void SetTwoSided(const b2Vec2& v1, const b2Vec2& v2);
-
45 
-
47  b2Shape* Clone(b2BlockAllocator* allocator) const override;
-
48 
-
50  int32 GetChildCount() const override;
-
51 
-
53  bool TestPoint(const b2Transform& transform, const b2Vec2& p) const override;
-
54 
-
56  bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input,
-
57  const b2Transform& transform, int32 childIndex) const override;
-
58 
-
60  void ComputeAABB(b2AABB* aabb, const b2Transform& transform, int32 childIndex) const override;
-
61 
-
63  void ComputeMass(b2MassData* massData, float density) const override;
-
64 
-
66  b2Vec2 m_vertex1, m_vertex2;
-
67 
-
69  b2Vec2 m_vertex0, m_vertex3;
-
70 
-
72  bool m_oneSided;
-
73 };
-
74 
-
75 inline b2EdgeShape::b2EdgeShape()
-
76 {
-
77  m_type = e_edge;
- -
79  m_vertex0.x = 0.0f;
-
80  m_vertex0.y = 0.0f;
-
81  m_vertex3.x = 0.0f;
-
82  m_vertex3.y = 0.0f;
-
83  m_oneSided = false;
-
84 }
-
85 
-
86 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
virtual bool RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const =0
-
virtual int32 GetChildCount() const =0
Get the number of child primitives.
-
Definition: b2_edge_shape.h:32
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
Definition: b2_math.h:338
-
virtual void ComputeAABB(b2AABB *aabb, const b2Transform &xf, int32 childIndex) const =0
-
b2Vec2 m_vertex0
Optional adjacent vertices. These are used for smooth collision.
Definition: b2_edge_shape.h:69
-
bool m_oneSided
Uses m_vertex0 and m_vertex3 to create smooth collision.
Definition: b2_edge_shape.h:72
-
float m_radius
Definition: b2_shape.h:102
-
virtual void ComputeMass(b2MassData *massData, float density) const =0
-
b2Vec2 m_vertex1
These are the edge vertices.
Definition: b2_edge_shape.h:66
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
Definition: b2_block_allocator.h:37
-
#define b2_polygonRadius
Definition: b2_common.h:74
-
Definition: b2_shape.h:48
-
This holds the mass data computed for a shape.
Definition: b2_shape.h:33
-
virtual b2Shape * Clone(b2BlockAllocator *allocator) const =0
Clone the concrete shape using the provided allocator.
-
Definition: b2_collision.h:161
-
virtual bool TestPoint(const b2Transform &xf, const b2Vec2 &p) const =0
- - - - diff --git a/documentation/b2__fixture_8h_source.html b/documentation/b2__fixture_8h_source.html deleted file mode 100644 index c9c538a..0000000 --- a/documentation/b2__fixture_8h_source.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_fixture.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_fixture.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_FIXTURE_H
-
24 #define B2_FIXTURE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_body.h"
-
28 #include "b2_collision.h"
-
29 #include "b2_shape.h"
-
30 
-
31 class b2BlockAllocator;
-
32 class b2Body;
-
33 class b2BroadPhase;
-
34 class b2Fixture;
-
35 
-
37 struct B2_API b2Filter
-
38 {
-
39  b2Filter()
-
40  {
-
41  categoryBits = 0x0001;
-
42  maskBits = 0xFFFF;
-
43  groupIndex = 0;
-
44  }
-
45 
-
47  uint16 categoryBits;
-
48 
-
51  uint16 maskBits;
-
52 
-
56  int16 groupIndex;
-
57 };
-
58 
-
61 struct B2_API b2FixtureDef
-
62 {
- -
65  {
-
66  shape = nullptr;
-
67  friction = 0.2f;
-
68  restitution = 0.0f;
-
69  restitutionThreshold = 1.0f * b2_lengthUnitsPerMeter;
-
70  density = 0.0f;
-
71  isSensor = false;
-
72  }
-
73 
-
76  const b2Shape* shape;
-
77 
- -
80 
-
82  float friction;
-
83 
-
85  float restitution;
-
86 
- -
90 
-
92  float density;
-
93 
-
96  bool isSensor;
-
97 
- -
100 };
-
101 
-
103 struct B2_API b2FixtureProxy
-
104 {
-
105  b2AABB aabb;
-
106  b2Fixture* fixture;
-
107  int32 childIndex;
-
108  int32 proxyId;
-
109 };
-
110 
-
116 class B2_API b2Fixture
-
117 {
-
118 public:
-
121  b2Shape::Type GetType() const;
-
122 
-
126  b2Shape* GetShape();
-
127  const b2Shape* GetShape() const;
-
128 
-
130  void SetSensor(bool sensor);
-
131 
-
134  bool IsSensor() const;
-
135 
-
139  void SetFilterData(const b2Filter& filter);
-
140 
-
142  const b2Filter& GetFilterData() const;
-
143 
-
145  void Refilter();
-
146 
-
149  b2Body* GetBody();
-
150  const b2Body* GetBody() const;
-
151 
-
154  b2Fixture* GetNext();
-
155  const b2Fixture* GetNext() const;
-
156 
-
159  b2FixtureUserData& GetUserData();
-
160 
-
163  bool TestPoint(const b2Vec2& p) const;
-
164 
-
169  bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input, int32 childIndex) const;
-
170 
-
174  void GetMassData(b2MassData* massData) const;
-
175 
-
178  void SetDensity(float density);
-
179 
-
181  float GetDensity() const;
-
182 
-
184  float GetFriction() const;
-
185 
-
188  void SetFriction(float friction);
-
189 
-
191  float GetRestitution() const;
-
192 
-
195  void SetRestitution(float restitution);
-
196 
-
198  float GetRestitutionThreshold() const;
-
199 
-
202  void SetRestitutionThreshold(float threshold);
-
203 
-
207  const b2AABB& GetAABB(int32 childIndex) const;
-
208 
-
210  void Dump(int32 bodyIndex);
-
211 
-
212 protected:
-
213 
-
214  friend class b2Body;
-
215  friend class b2World;
-
216  friend class b2Contact;
-
217  friend class b2ContactManager;
-
218 
-
219  b2Fixture();
-
220 
-
221  // We need separation create/destroy functions from the constructor/destructor because
-
222  // the destructor cannot access the allocator (no destructor arguments allowed by C++).
-
223  void Create(b2BlockAllocator* allocator, b2Body* body, const b2FixtureDef* def);
-
224  void Destroy(b2BlockAllocator* allocator);
-
225 
-
226  // These support body activation/deactivation.
-
227  void CreateProxies(b2BroadPhase* broadPhase, const b2Transform& xf);
-
228  void DestroyProxies(b2BroadPhase* broadPhase);
-
229 
-
230  void Synchronize(b2BroadPhase* broadPhase, const b2Transform& xf1, const b2Transform& xf2);
-
231 
-
232  float m_density;
-
233 
-
234  b2Fixture* m_next;
-
235  b2Body* m_body;
-
236 
-
237  b2Shape* m_shape;
-
238 
-
239  float m_friction;
-
240  float m_restitution;
-
241  float m_restitutionThreshold;
-
242 
-
243  b2FixtureProxy* m_proxies;
-
244  int32 m_proxyCount;
-
245 
-
246  b2Filter m_filter;
-
247 
-
248  bool m_isSensor;
-
249 
-
250  b2FixtureUserData m_userData;
-
251 };
-
252 
-
253 inline b2Shape::Type b2Fixture::GetType() const
-
254 {
-
255  return m_shape->GetType();
-
256 }
-
257 
- -
259 {
-
260  return m_shape;
-
261 }
-
262 
-
263 inline const b2Shape* b2Fixture::GetShape() const
-
264 {
-
265  return m_shape;
-
266 }
-
267 
-
268 inline bool b2Fixture::IsSensor() const
-
269 {
-
270  return m_isSensor;
-
271 }
-
272 
-
273 inline const b2Filter& b2Fixture::GetFilterData() const
-
274 {
-
275  return m_filter;
-
276 }
-
277 
- -
279 {
-
280  return m_userData;
-
281 }
-
282 
- -
284 {
-
285  return m_body;
-
286 }
-
287 
-
288 inline const b2Body* b2Fixture::GetBody() const
-
289 {
-
290  return m_body;
-
291 }
-
292 
- -
294 {
-
295  return m_next;
-
296 }
-
297 
-
298 inline const b2Fixture* b2Fixture::GetNext() const
-
299 {
-
300  return m_next;
-
301 }
-
302 
-
303 inline void b2Fixture::SetDensity(float density)
-
304 {
-
305  b2Assert(b2IsValid(density) && density >= 0.0f);
-
306  m_density = density;
-
307 }
-
308 
-
309 inline float b2Fixture::GetDensity() const
-
310 {
-
311  return m_density;
-
312 }
-
313 
-
314 inline float b2Fixture::GetFriction() const
-
315 {
-
316  return m_friction;
-
317 }
-
318 
-
319 inline void b2Fixture::SetFriction(float friction)
-
320 {
-
321  m_friction = friction;
-
322 }
-
323 
-
324 inline float b2Fixture::GetRestitution() const
-
325 {
-
326  return m_restitution;
-
327 }
-
328 
-
329 inline void b2Fixture::SetRestitution(float restitution)
-
330 {
-
331  m_restitution = restitution;
-
332 }
-
333 
- -
335 {
-
336  return m_restitutionThreshold;
-
337 }
-
338 
-
339 inline void b2Fixture::SetRestitutionThreshold(float threshold)
-
340 {
-
341  m_restitutionThreshold = threshold;
-
342 }
-
343 
-
344 inline bool b2Fixture::TestPoint(const b2Vec2& p) const
-
345 {
-
346  return m_shape->TestPoint(m_body->GetTransform(), p);
-
347 }
-
348 
-
349 inline bool b2Fixture::RayCast(b2RayCastOutput* output, const b2RayCastInput& input, int32 childIndex) const
-
350 {
-
351  return m_shape->RayCast(output, input, m_body->GetTransform(), childIndex);
-
352 }
-
353 
-
354 inline void b2Fixture::GetMassData(b2MassData* massData) const
-
355 {
-
356  m_shape->ComputeMass(massData, m_density);
-
357 }
-
358 
-
359 inline const b2AABB& b2Fixture::GetAABB(int32 childIndex) const
-
360 {
-
361  b2Assert(0 <= childIndex && childIndex < m_proxyCount);
-
362  return m_proxies[childIndex].aabb;
-
363 }
-
364 
-
365 #endif
-
-
-
float GetRestitution() const
Get the coefficient of restitution.
Definition: b2_fixture.h:324
-
A 2D column vector.
Definition: b2_math.h:41
-
float restitution
The restitution (elasticity) usually in the range [0,1].
Definition: b2_fixture.h:85
-
float GetDensity() const
Get the density of this fixture.
Definition: b2_fixture.h:309
-
virtual bool RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const =0
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
Definition: b2_contact_manager.h:35
-
b2Shape::Type GetType() const
Definition: b2_fixture.h:253
-
void SetRestitutionThreshold(float threshold)
Definition: b2_fixture.h:339
-
b2Shape * GetShape()
Definition: b2_fixture.h:258
-
const b2Transform & GetTransform() const
Definition: b2_body.h:479
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
const b2Filter & GetFilterData() const
Get the contact filtering data.
Definition: b2_fixture.h:273
-
Definition: b2_math.h:338
-
b2Filter filter
Contact filtering data.
Definition: b2_fixture.h:99
-
float friction
The friction coefficient, usually in the range [0,1].
Definition: b2_fixture.h:82
-
bool RayCast(b2RayCastOutput *output, const b2RayCastInput &input, int32 childIndex) const
Definition: b2_fixture.h:349
-
uint16 categoryBits
The collision category bits. Normally you would just set one bit.
Definition: b2_fixture.h:47
-
const b2Shape * shape
Definition: b2_fixture.h:76
-
virtual void ComputeMass(b2MassData *massData, float density) const =0
-
const b2AABB & GetAABB(int32 childIndex) const
Definition: b2_fixture.h:359
-
Definition: b2_fixture.h:61
-
#define b2_lengthUnitsPerMeter
Define this macro in your build if you want to override settings.
Definition: b2_settings.h:49
-
void SetDensity(float density)
Definition: b2_fixture.h:303
-
Definition: b2_fixture.h:116
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
This proxy is used internally to connect fixtures to the broad-phase.
Definition: b2_fixture.h:103
-
bool IsSensor() const
Definition: b2_fixture.h:268
-
float restitutionThreshold
Definition: b2_fixture.h:89
-
int16 groupIndex
Definition: b2_fixture.h:56
-
bool TestPoint(const b2Vec2 &p) const
Definition: b2_fixture.h:344
-
Definition: b2_block_allocator.h:37
-
-
void SetFriction(float friction)
Definition: b2_fixture.h:319
-
Definition: b2_broad_phase.h:40
-
Definition: b2_contact.h:88
-
float GetRestitutionThreshold() const
Get the restitution velocity threshold.
Definition: b2_fixture.h:334
-
float density
The density, usually in kg/m^2.
Definition: b2_fixture.h:92
-
Definition: b2_world.h:46
-
b2FixtureUserData userData
Use this to store application specific fixture data.
Definition: b2_fixture.h:79
-
float GetFriction() const
Get the coefficient of friction.
Definition: b2_fixture.h:314
-
You can define this to inject whatever data you want in b2Fixture.
Definition: b2_settings.h:70
-
uint16 maskBits
Definition: b2_fixture.h:51
-
Definition: b2_shape.h:48
-
bool isSensor
Definition: b2_fixture.h:96
-
This holds the mass data computed for a shape.
Definition: b2_shape.h:33
-
void GetMassData(b2MassData *massData) const
Definition: b2_fixture.h:354
-
This holds contact filtering data.
Definition: b2_fixture.h:37
-
Definition: b2_collision.h:161
-
virtual bool TestPoint(const b2Transform &xf, const b2Vec2 &p) const =0
-
b2FixtureDef()
The constructor sets the default fixture definition values.
Definition: b2_fixture.h:64
-
b2Fixture * GetNext()
Definition: b2_fixture.h:293
-
void SetRestitution(float restitution)
Definition: b2_fixture.h:329
-
b2Body * GetBody()
Definition: b2_fixture.h:283
-
Type GetType() const
Definition: b2_shape.h:105
-
b2FixtureUserData & GetUserData()
Definition: b2_fixture.h:278
- - - - diff --git a/documentation/b2__friction__joint_8h_source.html b/documentation/b2__friction__joint_8h_source.html deleted file mode 100644 index 34d241a..0000000 --- a/documentation/b2__friction__joint_8h_source.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_friction_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_friction_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_FRICTION_JOINT_H
-
24 #define B2_FRICTION_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
30 struct B2_API b2FrictionJointDef : public b2JointDef
-
31 {
- -
33  {
-
34  type = e_frictionJoint;
-
35  localAnchorA.SetZero();
-
36  localAnchorB.SetZero();
-
37  maxForce = 0.0f;
-
38  maxTorque = 0.0f;
-
39  }
-
40 
-
43  void Initialize(b2Body* bodyA, b2Body* bodyB, const b2Vec2& anchor);
-
44 
- -
47 
- -
50 
-
52  float maxForce;
-
53 
-
55  float maxTorque;
-
56 };
-
57 
-
60 class B2_API b2FrictionJoint : public b2Joint
-
61 {
-
62 public:
-
63  b2Vec2 GetAnchorA() const override;
-
64  b2Vec2 GetAnchorB() const override;
-
65 
-
66  b2Vec2 GetReactionForce(float inv_dt) const override;
-
67  float GetReactionTorque(float inv_dt) const override;
-
68 
-
70  const b2Vec2& GetLocalAnchorA() const { return m_localAnchorA; }
-
71 
-
73  const b2Vec2& GetLocalAnchorB() const { return m_localAnchorB; }
-
74 
-
76  void SetMaxForce(float force);
-
77 
-
79  float GetMaxForce() const;
-
80 
-
82  void SetMaxTorque(float torque);
-
83 
-
85  float GetMaxTorque() const;
-
86 
-
88  void Dump() override;
-
89 
-
90 protected:
-
91 
-
92  friend class b2Joint;
-
93 
- -
95 
-
96  void InitVelocityConstraints(const b2SolverData& data) override;
-
97  void SolveVelocityConstraints(const b2SolverData& data) override;
-
98  bool SolvePositionConstraints(const b2SolverData& data) override;
-
99 
-
100  b2Vec2 m_localAnchorA;
-
101  b2Vec2 m_localAnchorB;
-
102 
-
103  // Solver shared
-
104  b2Vec2 m_linearImpulse;
-
105  float m_angularImpulse;
-
106  float m_maxForce;
-
107  float m_maxTorque;
-
108 
-
109  // Solver temp
-
110  int32 m_indexA;
-
111  int32 m_indexB;
-
112  b2Vec2 m_rA;
-
113  b2Vec2 m_rB;
-
114  b2Vec2 m_localCenterA;
-
115  b2Vec2 m_localCenterB;
-
116  float m_invMassA;
-
117  float m_invMassB;
-
118  float m_invIA;
-
119  float m_invIB;
-
120  b2Mat22 m_linearMass;
-
121  float m_angularMass;
-
122 };
-
123 
-
124 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
Definition: b2_friction_joint.h:60
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
float maxTorque
The maximum friction torque in N-m.
Definition: b2_friction_joint.h:55
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_friction_joint.h:46
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
float maxForce
The maximum friction force in N.
Definition: b2_friction_joint.h:52
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
const b2Vec2 & GetLocalAnchorA() const
The local anchor point relative to bodyA's origin.
Definition: b2_friction_joint.h:70
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_friction_joint.h:49
-
A 2-by-2 matrix. Stored in column-major order.
Definition: b2_math.h:171
-
Solver Data.
Definition: b2_time_step.h:67
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
Friction joint definition.
Definition: b2_friction_joint.h:30
-
const b2Vec2 & GetLocalAnchorB() const
The local anchor point relative to bodyB's origin.
Definition: b2_friction_joint.h:73
- - - - diff --git a/documentation/b2__gear__joint_8h_source.html b/documentation/b2__gear__joint_8h_source.html deleted file mode 100644 index 4710fe9..0000000 --- a/documentation/b2__gear__joint_8h_source.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_gear_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_gear_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_GEAR_JOINT_H
-
24 #define B2_GEAR_JOINT_H
-
25 
-
26 #include "b2_joint.h"
-
27 
-
31 struct B2_API b2GearJointDef : public b2JointDef
-
32 {
- -
34  {
-
35  type = e_gearJoint;
-
36  joint1 = nullptr;
-
37  joint2 = nullptr;
-
38  ratio = 1.0f;
-
39  }
-
40 
- -
43 
- -
46 
-
49  float ratio;
-
50 };
-
51 
-
61 class B2_API b2GearJoint : public b2Joint
-
62 {
-
63 public:
-
64  b2Vec2 GetAnchorA() const override;
-
65  b2Vec2 GetAnchorB() const override;
-
66 
-
67  b2Vec2 GetReactionForce(float inv_dt) const override;
-
68  float GetReactionTorque(float inv_dt) const override;
-
69 
-
71  b2Joint* GetJoint1() { return m_joint1; }
-
72 
-
74  b2Joint* GetJoint2() { return m_joint2; }
-
75 
-
77  void SetRatio(float ratio);
-
78  float GetRatio() const;
-
79 
-
81  void Dump() override;
-
82 
-
83 protected:
-
84 
-
85  friend class b2Joint;
-
86  b2GearJoint(const b2GearJointDef* data);
-
87 
-
88  void InitVelocityConstraints(const b2SolverData& data) override;
-
89  void SolveVelocityConstraints(const b2SolverData& data) override;
-
90  bool SolvePositionConstraints(const b2SolverData& data) override;
-
91 
-
92  b2Joint* m_joint1;
-
93  b2Joint* m_joint2;
-
94 
-
95  b2JointType m_typeA;
-
96  b2JointType m_typeB;
-
97 
-
98  // Body A is connected to body C
-
99  // Body B is connected to body D
-
100  b2Body* m_bodyC;
-
101  b2Body* m_bodyD;
-
102 
-
103  // Solver shared
-
104  b2Vec2 m_localAnchorA;
-
105  b2Vec2 m_localAnchorB;
-
106  b2Vec2 m_localAnchorC;
-
107  b2Vec2 m_localAnchorD;
-
108 
-
109  b2Vec2 m_localAxisC;
-
110  b2Vec2 m_localAxisD;
-
111 
-
112  float m_referenceAngleA;
-
113  float m_referenceAngleB;
-
114 
-
115  float m_constant;
-
116  float m_ratio;
-
117 
-
118  float m_impulse;
-
119 
-
120  // Solver temp
-
121  int32 m_indexA, m_indexB, m_indexC, m_indexD;
-
122  b2Vec2 m_lcA, m_lcB, m_lcC, m_lcD;
-
123  float m_mA, m_mB, m_mC, m_mD;
-
124  float m_iA, m_iB, m_iC, m_iD;
-
125  b2Vec2 m_JvAC, m_JvBD;
-
126  float m_JwA, m_JwB, m_JwC, m_JwD;
-
127  float m_mass;
-
128 };
-
129 
-
130 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
Definition: b2_gear_joint.h:31
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
b2Joint * joint2
The second revolute/prismatic joint attached to the gear joint.
Definition: b2_gear_joint.h:45
-
b2Joint * GetJoint1()
Get the first joint.
Definition: b2_gear_joint.h:71
-
b2Joint * GetJoint2()
Get the second joint.
Definition: b2_gear_joint.h:74
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
b2Joint * joint1
The first revolute/prismatic joint attached to the gear joint.
Definition: b2_gear_joint.h:42
-
Definition: b2_gear_joint.h:61
-
Solver Data.
Definition: b2_time_step.h:67
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
float ratio
Definition: b2_gear_joint.h:49
- - - - diff --git a/documentation/b2__growable__stack_8h_source.html b/documentation/b2__growable__stack_8h_source.html deleted file mode 100644 index 4f59903..0000000 --- a/documentation/b2__growable__stack_8h_source.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_growable_stack.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_growable_stack.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_GROWABLE_STACK_H
-
24 #define B2_GROWABLE_STACK_H
-
25 
-
26 #include <string.h>
-
27 
-
28 #include "b2_settings.h"
-
29 
-
33 template <typename T, int32 N>
- -
35 {
-
36 public:
- -
38  {
-
39  m_stack = m_array;
-
40  m_count = 0;
-
41  m_capacity = N;
-
42  }
-
43 
- -
45  {
-
46  if (m_stack != m_array)
-
47  {
-
48  b2Free(m_stack);
-
49  m_stack = nullptr;
-
50  }
-
51  }
-
52 
-
53  void Push(const T& element)
-
54  {
-
55  if (m_count == m_capacity)
-
56  {
-
57  T* old = m_stack;
-
58  m_capacity *= 2;
-
59  m_stack = (T*)b2Alloc(m_capacity * sizeof(T));
-
60  memcpy(m_stack, old, m_count * sizeof(T));
-
61  if (old != m_array)
-
62  {
-
63  b2Free(old);
-
64  }
-
65  }
-
66 
-
67  m_stack[m_count] = element;
-
68  ++m_count;
-
69  }
-
70 
-
71  T Pop()
-
72  {
-
73  b2Assert(m_count > 0);
-
74  --m_count;
-
75  return m_stack[m_count];
-
76  }
-
77 
-
78  int32 GetCount()
-
79  {
-
80  return m_count;
-
81  }
-
82 
-
83 private:
-
84  T* m_stack;
-
85  T m_array[N];
-
86  int32 m_count;
-
87  int32 m_capacity;
-
88 };
-
89 
-
90 
-
91 #endif
-
-
-
-
void * b2Alloc(int32 size)
Implement this function to use your own memory allocator.
Definition: b2_settings.h:100
-
Definition: b2_growable_stack.h:34
-
void b2Free(void *mem)
If you implement b2Alloc, you should also implement this function.
Definition: b2_settings.h:106
- - - - diff --git a/documentation/b2__joint_8h_source.html b/documentation/b2__joint_8h_source.html deleted file mode 100644 index a9faa4d..0000000 --- a/documentation/b2__joint_8h_source.html +++ /dev/null @@ -1,330 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_JOINT_H
-
24 #define B2_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_math.h"
-
28 
-
29 class b2Body;
-
30 class b2Draw;
-
31 class b2Joint;
-
32 struct b2SolverData;
-
33 class b2BlockAllocator;
-
34 
-
35 enum b2JointType
-
36 {
-
37  e_unknownJoint,
-
38  e_revoluteJoint,
-
39  e_prismaticJoint,
-
40  e_distanceJoint,
-
41  e_pulleyJoint,
-
42  e_mouseJoint,
-
43  e_gearJoint,
-
44  e_wheelJoint,
-
45  e_weldJoint,
-
46  e_frictionJoint,
-
47  e_ropeJoint,
-
48  e_motorJoint
-
49 };
-
50 
-
51 struct B2_API b2Jacobian
-
52 {
-
53  b2Vec2 linear;
-
54  float angularA;
-
55  float angularB;
-
56 };
-
57 
-
63 struct B2_API b2JointEdge
-
64 {
- - - - -
69 };
-
70 
-
72 struct B2_API b2JointDef
-
73 {
-
74  b2JointDef()
-
75  {
-
76  type = e_unknownJoint;
-
77  bodyA = nullptr;
-
78  bodyB = nullptr;
-
79  collideConnected = false;
-
80  }
-
81 
-
83  b2JointType type;
-
84 
- -
87 
- -
90 
- -
93 
- -
96 };
-
97 
-
99 B2_API void b2LinearStiffness(float& stiffness, float& damping,
-
100  float frequencyHertz, float dampingRatio,
-
101  const b2Body* bodyA, const b2Body* bodyB);
-
102 
-
104 B2_API void b2AngularStiffness(float& stiffness, float& damping,
-
105  float frequencyHertz, float dampingRatio,
-
106  const b2Body* bodyA, const b2Body* bodyB);
-
107 
-
110 class B2_API b2Joint
-
111 {
-
112 public:
-
113 
-
115  b2JointType GetType() const;
-
116 
-
118  b2Body* GetBodyA();
-
119 
-
121  b2Body* GetBodyB();
-
122 
-
124  virtual b2Vec2 GetAnchorA() const = 0;
-
125 
-
127  virtual b2Vec2 GetAnchorB() const = 0;
-
128 
-
130  virtual b2Vec2 GetReactionForce(float inv_dt) const = 0;
-
131 
-
133  virtual float GetReactionTorque(float inv_dt) const = 0;
-
134 
-
136  b2Joint* GetNext();
-
137  const b2Joint* GetNext() const;
-
138 
-
140  b2JointUserData& GetUserData();
-
141 
-
143  bool IsEnabled() const;
-
144 
-
148  bool GetCollideConnected() const;
-
149 
-
151  virtual void Dump() { b2Dump("// Dump is not supported for this joint type.\n"); }
-
152 
-
154  virtual void ShiftOrigin(const b2Vec2& newOrigin) { B2_NOT_USED(newOrigin); }
-
155 
-
157  virtual void Draw(b2Draw* draw) const;
-
158 
-
159 protected:
-
160  friend class b2World;
-
161  friend class b2Body;
-
162  friend class b2Island;
-
163  friend class b2GearJoint;
-
164 
-
165  static b2Joint* Create(const b2JointDef* def, b2BlockAllocator* allocator);
-
166  static void Destroy(b2Joint* joint, b2BlockAllocator* allocator);
-
167 
-
168  b2Joint(const b2JointDef* def);
-
169  virtual ~b2Joint() {}
-
170 
-
171  virtual void InitVelocityConstraints(const b2SolverData& data) = 0;
-
172  virtual void SolveVelocityConstraints(const b2SolverData& data) = 0;
-
173 
-
174  // This returns true if the position errors are within tolerance.
-
175  virtual bool SolvePositionConstraints(const b2SolverData& data) = 0;
-
176 
-
177  b2JointType m_type;
-
178  b2Joint* m_prev;
-
179  b2Joint* m_next;
-
180  b2JointEdge m_edgeA;
-
181  b2JointEdge m_edgeB;
-
182  b2Body* m_bodyA;
-
183  b2Body* m_bodyB;
-
184 
-
185  int32 m_index;
-
186 
-
187  bool m_islandFlag;
-
188  bool m_collideConnected;
-
189 
-
190  b2JointUserData m_userData;
-
191 };
-
192 
-
193 inline b2JointType b2Joint::GetType() const
-
194 {
-
195  return m_type;
-
196 }
-
197 
- -
199 {
-
200  return m_bodyA;
-
201 }
-
202 
- -
204 {
-
205  return m_bodyB;
-
206 }
-
207 
- -
209 {
-
210  return m_next;
-
211 }
-
212 
-
213 inline const b2Joint* b2Joint::GetNext() const
-
214 {
-
215  return m_next;
-
216 }
-
217 
- -
219 {
-
220  return m_userData;
-
221 }
-
222 
-
223 inline bool b2Joint::GetCollideConnected() const
-
224 {
-
225  return m_collideConnected;
-
226 }
-
227 
-
228 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
b2Body * GetBodyA()
Get the first body attached to this joint.
Definition: b2_joint.h:198
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition: b2_joint.h:95
-
b2Body * GetBodyB()
Get the second body attached to this joint.
Definition: b2_joint.h:203
-
Definition: b2_draw.h:48
-
b2Joint * joint
the joint
Definition: b2_joint.h:66
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
b2JointType type
The joint type is set automatically for concrete joint types.
Definition: b2_joint.h:83
-
b2JointType GetType() const
Get the type of the concrete joint.
Definition: b2_joint.h:193
-
bool GetCollideConnected() const
Definition: b2_joint.h:223
-
b2Body * bodyB
The second attached body.
Definition: b2_joint.h:92
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
Definition: b2_block_allocator.h:37
-
Definition: b2_joint.h:51
-
b2Joint * GetNext()
Get the next joint the world joint list.
Definition: b2_joint.h:208
-
virtual void ShiftOrigin(const b2Vec2 &newOrigin)
Shift the origin for any points stored in world coordinates.
Definition: b2_joint.h:154
-
Definition: b2_joint.h:63
-
b2JointEdge * prev
the previous joint edge in the body's joint list
Definition: b2_joint.h:67
-
Definition: b2_world.h:46
-
Definition: b2_gear_joint.h:61
-
Solver Data.
Definition: b2_time_step.h:67
-
b2JointEdge * next
the next joint edge in the body's joint list
Definition: b2_joint.h:68
-
b2JointUserData & GetUserData()
Get the user data pointer.
Definition: b2_joint.h:218
-
b2Body * other
provides quick access to the other body attached.
Definition: b2_joint.h:65
-
b2Body * bodyA
The first attached body.
Definition: b2_joint.h:89
-
Definition: b2_joint.h:110
-
b2JointUserData userData
Use this to attach application specific data to your joints.
Definition: b2_joint.h:86
-
You can define this to inject whatever data you want in b2Joint.
Definition: b2_settings.h:82
- - - - diff --git a/documentation/b2__math_8h_source.html b/documentation/b2__math_8h_source.html deleted file mode 100644 index 9596bab..0000000 --- a/documentation/b2__math_8h_source.html +++ /dev/null @@ -1,762 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_math.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_math.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_MATH_H
-
24 #define B2_MATH_H
-
25 
-
26 #include <math.h>
-
27 
-
28 #include "b2_api.h"
-
29 #include "b2_settings.h"
-
30 
-
32 inline bool b2IsValid(float x)
-
33 {
-
34  return isfinite(x);
-
35 }
-
36 
-
37 #define b2Sqrt(x) sqrtf(x)
-
38 #define b2Atan2(y, x) atan2f(y, x)
-
39 
-
41 struct B2_API b2Vec2
-
42 {
-
44  b2Vec2() {}
-
45 
-
47  b2Vec2(float xIn, float yIn) : x(xIn), y(yIn) {}
-
48 
-
50  void SetZero() { x = 0.0f; y = 0.0f; }
-
51 
-
53  void Set(float x_, float y_) { x = x_; y = y_; }
-
54 
-
56  b2Vec2 operator -() const { b2Vec2 v; v.Set(-x, -y); return v; }
-
57 
-
59  float operator () (int32 i) const
-
60  {
-
61  return (&x)[i];
-
62  }
-
63 
-
65  float& operator () (int32 i)
-
66  {
-
67  return (&x)[i];
-
68  }
-
69 
-
71  void operator += (const b2Vec2& v)
-
72  {
-
73  x += v.x; y += v.y;
-
74  }
-
75 
-
77  void operator -= (const b2Vec2& v)
-
78  {
-
79  x -= v.x; y -= v.y;
-
80  }
-
81 
-
83  void operator *= (float a)
-
84  {
-
85  x *= a; y *= a;
-
86  }
-
87 
-
89  float Length() const
-
90  {
-
91  return b2Sqrt(x * x + y * y);
-
92  }
-
93 
-
96  float LengthSquared() const
-
97  {
-
98  return x * x + y * y;
-
99  }
-
100 
-
102  float Normalize()
-
103  {
-
104  float length = Length();
-
105  if (length < b2_epsilon)
-
106  {
-
107  return 0.0f;
-
108  }
-
109  float invLength = 1.0f / length;
-
110  x *= invLength;
-
111  y *= invLength;
-
112 
-
113  return length;
-
114  }
-
115 
-
117  bool IsValid() const
-
118  {
-
119  return b2IsValid(x) && b2IsValid(y);
-
120  }
-
121 
-
123  b2Vec2 Skew() const
-
124  {
-
125  return b2Vec2(-y, x);
-
126  }
-
127 
-
128  float x, y;
-
129 };
-
130 
-
132 struct B2_API b2Vec3
-
133 {
-
135  b2Vec3() {}
-
136 
-
138  b2Vec3(float xIn, float yIn, float zIn) : x(xIn), y(yIn), z(zIn) {}
-
139 
-
141  void SetZero() { x = 0.0f; y = 0.0f; z = 0.0f; }
-
142 
-
144  void Set(float x_, float y_, float z_) { x = x_; y = y_; z = z_; }
-
145 
-
147  b2Vec3 operator -() const { b2Vec3 v; v.Set(-x, -y, -z); return v; }
-
148 
-
150  void operator += (const b2Vec3& v)
-
151  {
-
152  x += v.x; y += v.y; z += v.z;
-
153  }
-
154 
-
156  void operator -= (const b2Vec3& v)
-
157  {
-
158  x -= v.x; y -= v.y; z -= v.z;
-
159  }
-
160 
-
162  void operator *= (float s)
-
163  {
-
164  x *= s; y *= s; z *= s;
-
165  }
-
166 
-
167  float x, y, z;
-
168 };
-
169 
-
171 struct B2_API b2Mat22
-
172 {
-
174  b2Mat22() {}
-
175 
-
177  b2Mat22(const b2Vec2& c1, const b2Vec2& c2)
-
178  {
-
179  ex = c1;
-
180  ey = c2;
-
181  }
-
182 
-
184  b2Mat22(float a11, float a12, float a21, float a22)
-
185  {
-
186  ex.x = a11; ex.y = a21;
-
187  ey.x = a12; ey.y = a22;
-
188  }
-
189 
-
191  void Set(const b2Vec2& c1, const b2Vec2& c2)
-
192  {
-
193  ex = c1;
-
194  ey = c2;
-
195  }
-
196 
-
198  void SetIdentity()
-
199  {
-
200  ex.x = 1.0f; ey.x = 0.0f;
-
201  ex.y = 0.0f; ey.y = 1.0f;
-
202  }
-
203 
-
205  void SetZero()
-
206  {
-
207  ex.x = 0.0f; ey.x = 0.0f;
-
208  ex.y = 0.0f; ey.y = 0.0f;
-
209  }
-
210 
-
211  b2Mat22 GetInverse() const
-
212  {
-
213  float a = ex.x, b = ey.x, c = ex.y, d = ey.y;
-
214  b2Mat22 B;
-
215  float det = a * d - b * c;
-
216  if (det != 0.0f)
-
217  {
-
218  det = 1.0f / det;
-
219  }
-
220  B.ex.x = det * d; B.ey.x = -det * b;
-
221  B.ex.y = -det * c; B.ey.y = det * a;
-
222  return B;
-
223  }
-
224 
-
227  b2Vec2 Solve(const b2Vec2& b) const
-
228  {
-
229  float a11 = ex.x, a12 = ey.x, a21 = ex.y, a22 = ey.y;
-
230  float det = a11 * a22 - a12 * a21;
-
231  if (det != 0.0f)
-
232  {
-
233  det = 1.0f / det;
-
234  }
-
235  b2Vec2 x;
-
236  x.x = det * (a22 * b.x - a12 * b.y);
-
237  x.y = det * (a11 * b.y - a21 * b.x);
-
238  return x;
-
239  }
-
240 
-
241  b2Vec2 ex, ey;
-
242 };
-
243 
-
245 struct B2_API b2Mat33
-
246 {
-
248  b2Mat33() {}
-
249 
-
251  b2Mat33(const b2Vec3& c1, const b2Vec3& c2, const b2Vec3& c3)
-
252  {
-
253  ex = c1;
-
254  ey = c2;
-
255  ez = c3;
-
256  }
-
257 
-
259  void SetZero()
-
260  {
-
261  ex.SetZero();
-
262  ey.SetZero();
-
263  ez.SetZero();
-
264  }
-
265 
-
268  b2Vec3 Solve33(const b2Vec3& b) const;
-
269 
-
273  b2Vec2 Solve22(const b2Vec2& b) const;
-
274 
-
277  void GetInverse22(b2Mat33* M) const;
-
278 
-
281  void GetSymInverse33(b2Mat33* M) const;
-
282 
-
283  b2Vec3 ex, ey, ez;
-
284 };
-
285 
-
287 struct B2_API b2Rot
-
288 {
-
289  b2Rot() {}
-
290 
-
292  explicit b2Rot(float angle)
-
293  {
-
295  s = sinf(angle);
-
296  c = cosf(angle);
-
297  }
-
298 
-
300  void Set(float angle)
-
301  {
-
303  s = sinf(angle);
-
304  c = cosf(angle);
-
305  }
-
306 
-
308  void SetIdentity()
-
309  {
-
310  s = 0.0f;
-
311  c = 1.0f;
-
312  }
-
313 
-
315  float GetAngle() const
-
316  {
-
317  return b2Atan2(s, c);
-
318  }
-
319 
-
321  b2Vec2 GetXAxis() const
-
322  {
-
323  return b2Vec2(c, s);
-
324  }
-
325 
-
327  b2Vec2 GetYAxis() const
-
328  {
-
329  return b2Vec2(-s, c);
-
330  }
-
331 
-
333  float s, c;
-
334 };
-
335 
-
338 struct B2_API b2Transform
-
339 {
- -
342 
-
344  b2Transform(const b2Vec2& position, const b2Rot& rotation) : p(position), q(rotation) {}
-
345 
-
347  void SetIdentity()
-
348  {
-
349  p.SetZero();
-
350  q.SetIdentity();
-
351  }
-
352 
-
354  void Set(const b2Vec2& position, float angle)
-
355  {
-
356  p = position;
-
357  q.Set(angle);
-
358  }
-
359 
-
360  b2Vec2 p;
-
361  b2Rot q;
-
362 };
-
363 
-
368 struct B2_API b2Sweep
-
369 {
-
373  void GetTransform(b2Transform* transform, float beta) const;
-
374 
-
377  void Advance(float alpha);
-
378 
-
380  void Normalize();
-
381 
- -
383  b2Vec2 c0, c;
-
384  float a0, a;
-
385 
-
388  float alpha0;
-
389 };
-
390 
-
392 extern B2_API const b2Vec2 b2Vec2_zero;
-
393 
-
395 inline float b2Dot(const b2Vec2& a, const b2Vec2& b)
-
396 {
-
397  return a.x * b.x + a.y * b.y;
-
398 }
-
399 
-
401 inline float b2Cross(const b2Vec2& a, const b2Vec2& b)
-
402 {
-
403  return a.x * b.y - a.y * b.x;
-
404 }
-
405 
-
408 inline b2Vec2 b2Cross(const b2Vec2& a, float s)
-
409 {
-
410  return b2Vec2(s * a.y, -s * a.x);
-
411 }
-
412 
-
415 inline b2Vec2 b2Cross(float s, const b2Vec2& a)
-
416 {
-
417  return b2Vec2(-s * a.y, s * a.x);
-
418 }
-
419 
-
422 inline b2Vec2 b2Mul(const b2Mat22& A, const b2Vec2& v)
-
423 {
-
424  return b2Vec2(A.ex.x * v.x + A.ey.x * v.y, A.ex.y * v.x + A.ey.y * v.y);
-
425 }
-
426 
-
429 inline b2Vec2 b2MulT(const b2Mat22& A, const b2Vec2& v)
-
430 {
-
431  return b2Vec2(b2Dot(v, A.ex), b2Dot(v, A.ey));
-
432 }
-
433 
-
435 inline b2Vec2 operator + (const b2Vec2& a, const b2Vec2& b)
-
436 {
-
437  return b2Vec2(a.x + b.x, a.y + b.y);
-
438 }
-
439 
-
441 inline b2Vec2 operator - (const b2Vec2& a, const b2Vec2& b)
-
442 {
-
443  return b2Vec2(a.x - b.x, a.y - b.y);
-
444 }
-
445 
-
446 inline b2Vec2 operator * (float s, const b2Vec2& a)
-
447 {
-
448  return b2Vec2(s * a.x, s * a.y);
-
449 }
-
450 
-
451 inline bool operator == (const b2Vec2& a, const b2Vec2& b)
-
452 {
-
453  return a.x == b.x && a.y == b.y;
-
454 }
-
455 
-
456 inline bool operator != (const b2Vec2& a, const b2Vec2& b)
-
457 {
-
458  return a.x != b.x || a.y != b.y;
-
459 }
-
460 
-
461 inline float b2Distance(const b2Vec2& a, const b2Vec2& b)
-
462 {
-
463  b2Vec2 c = a - b;
-
464  return c.Length();
-
465 }
-
466 
-
467 inline float b2DistanceSquared(const b2Vec2& a, const b2Vec2& b)
-
468 {
-
469  b2Vec2 c = a - b;
-
470  return b2Dot(c, c);
-
471 }
-
472 
-
473 inline b2Vec3 operator * (float s, const b2Vec3& a)
-
474 {
-
475  return b2Vec3(s * a.x, s * a.y, s * a.z);
-
476 }
-
477 
-
479 inline b2Vec3 operator + (const b2Vec3& a, const b2Vec3& b)
-
480 {
-
481  return b2Vec3(a.x + b.x, a.y + b.y, a.z + b.z);
-
482 }
-
483 
-
485 inline b2Vec3 operator - (const b2Vec3& a, const b2Vec3& b)
-
486 {
-
487  return b2Vec3(a.x - b.x, a.y - b.y, a.z - b.z);
-
488 }
-
489 
-
491 inline float b2Dot(const b2Vec3& a, const b2Vec3& b)
-
492 {
-
493  return a.x * b.x + a.y * b.y + a.z * b.z;
-
494 }
-
495 
-
497 inline b2Vec3 b2Cross(const b2Vec3& a, const b2Vec3& b)
-
498 {
-
499  return b2Vec3(a.y * b.z - a.z * b.y, a.z * b.x - a.x * b.z, a.x * b.y - a.y * b.x);
-
500 }
-
501 
-
502 inline b2Mat22 operator + (const b2Mat22& A, const b2Mat22& B)
-
503 {
-
504  return b2Mat22(A.ex + B.ex, A.ey + B.ey);
-
505 }
-
506 
-
507 // A * B
-
508 inline b2Mat22 b2Mul(const b2Mat22& A, const b2Mat22& B)
-
509 {
-
510  return b2Mat22(b2Mul(A, B.ex), b2Mul(A, B.ey));
-
511 }
-
512 
-
513 // A^T * B
-
514 inline b2Mat22 b2MulT(const b2Mat22& A, const b2Mat22& B)
-
515 {
-
516  b2Vec2 c1(b2Dot(A.ex, B.ex), b2Dot(A.ey, B.ex));
-
517  b2Vec2 c2(b2Dot(A.ex, B.ey), b2Dot(A.ey, B.ey));
-
518  return b2Mat22(c1, c2);
-
519 }
-
520 
-
522 inline b2Vec3 b2Mul(const b2Mat33& A, const b2Vec3& v)
-
523 {
-
524  return v.x * A.ex + v.y * A.ey + v.z * A.ez;
-
525 }
-
526 
-
528 inline b2Vec2 b2Mul22(const b2Mat33& A, const b2Vec2& v)
-
529 {
-
530  return b2Vec2(A.ex.x * v.x + A.ey.x * v.y, A.ex.y * v.x + A.ey.y * v.y);
-
531 }
-
532 
-
534 inline b2Rot b2Mul(const b2Rot& q, const b2Rot& r)
-
535 {
-
536  // [qc -qs] * [rc -rs] = [qc*rc-qs*rs -qc*rs-qs*rc]
-
537  // [qs qc] [rs rc] [qs*rc+qc*rs -qs*rs+qc*rc]
-
538  // s = qs * rc + qc * rs
-
539  // c = qc * rc - qs * rs
-
540  b2Rot qr;
-
541  qr.s = q.s * r.c + q.c * r.s;
-
542  qr.c = q.c * r.c - q.s * r.s;
-
543  return qr;
-
544 }
-
545 
-
547 inline b2Rot b2MulT(const b2Rot& q, const b2Rot& r)
-
548 {
-
549  // [ qc qs] * [rc -rs] = [qc*rc+qs*rs -qc*rs+qs*rc]
-
550  // [-qs qc] [rs rc] [-qs*rc+qc*rs qs*rs+qc*rc]
-
551  // s = qc * rs - qs * rc
-
552  // c = qc * rc + qs * rs
-
553  b2Rot qr;
-
554  qr.s = q.c * r.s - q.s * r.c;
-
555  qr.c = q.c * r.c + q.s * r.s;
-
556  return qr;
-
557 }
-
558 
-
560 inline b2Vec2 b2Mul(const b2Rot& q, const b2Vec2& v)
-
561 {
-
562  return b2Vec2(q.c * v.x - q.s * v.y, q.s * v.x + q.c * v.y);
-
563 }
-
564 
-
566 inline b2Vec2 b2MulT(const b2Rot& q, const b2Vec2& v)
-
567 {
-
568  return b2Vec2(q.c * v.x + q.s * v.y, -q.s * v.x + q.c * v.y);
-
569 }
-
570 
-
571 inline b2Vec2 b2Mul(const b2Transform& T, const b2Vec2& v)
-
572 {
-
573  float x = (T.q.c * v.x - T.q.s * v.y) + T.p.x;
-
574  float y = (T.q.s * v.x + T.q.c * v.y) + T.p.y;
-
575 
-
576  return b2Vec2(x, y);
-
577 }
-
578 
-
579 inline b2Vec2 b2MulT(const b2Transform& T, const b2Vec2& v)
-
580 {
-
581  float px = v.x - T.p.x;
-
582  float py = v.y - T.p.y;
-
583  float x = (T.q.c * px + T.q.s * py);
-
584  float y = (-T.q.s * px + T.q.c * py);
-
585 
-
586  return b2Vec2(x, y);
-
587 }
-
588 
-
589 // v2 = A.q.Rot(B.q.Rot(v1) + B.p) + A.p
-
590 // = (A.q * B.q).Rot(v1) + A.q.Rot(B.p) + A.p
-
591 inline b2Transform b2Mul(const b2Transform& A, const b2Transform& B)
-
592 {
-
593  b2Transform C;
-
594  C.q = b2Mul(A.q, B.q);
-
595  C.p = b2Mul(A.q, B.p) + A.p;
-
596  return C;
-
597 }
-
598 
-
599 // v2 = A.q' * (B.q * v1 + B.p - A.p)
-
600 // = A.q' * B.q * v1 + A.q' * (B.p - A.p)
-
601 inline b2Transform b2MulT(const b2Transform& A, const b2Transform& B)
-
602 {
-
603  b2Transform C;
-
604  C.q = b2MulT(A.q, B.q);
-
605  C.p = b2MulT(A.q, B.p - A.p);
-
606  return C;
-
607 }
-
608 
-
609 template <typename T>
-
610 inline T b2Abs(T a)
-
611 {
-
612  return a > T(0) ? a : -a;
-
613 }
-
614 
-
615 inline b2Vec2 b2Abs(const b2Vec2& a)
-
616 {
-
617  return b2Vec2(b2Abs(a.x), b2Abs(a.y));
-
618 }
-
619 
-
620 inline b2Mat22 b2Abs(const b2Mat22& A)
-
621 {
-
622  return b2Mat22(b2Abs(A.ex), b2Abs(A.ey));
-
623 }
-
624 
-
625 template <typename T>
-
626 inline T b2Min(T a, T b)
-
627 {
-
628  return a < b ? a : b;
-
629 }
-
630 
-
631 inline b2Vec2 b2Min(const b2Vec2& a, const b2Vec2& b)
-
632 {
-
633  return b2Vec2(b2Min(a.x, b.x), b2Min(a.y, b.y));
-
634 }
-
635 
-
636 template <typename T>
-
637 inline T b2Max(T a, T b)
-
638 {
-
639  return a > b ? a : b;
-
640 }
-
641 
-
642 inline b2Vec2 b2Max(const b2Vec2& a, const b2Vec2& b)
-
643 {
-
644  return b2Vec2(b2Max(a.x, b.x), b2Max(a.y, b.y));
-
645 }
-
646 
-
647 template <typename T>
-
648 inline T b2Clamp(T a, T low, T high)
-
649 {
-
650  return b2Max(low, b2Min(a, high));
-
651 }
-
652 
-
653 inline b2Vec2 b2Clamp(const b2Vec2& a, const b2Vec2& low, const b2Vec2& high)
-
654 {
-
655  return b2Max(low, b2Min(a, high));
-
656 }
-
657 
-
658 template<typename T> inline void b2Swap(T& a, T& b)
-
659 {
-
660  T tmp = a;
-
661  a = b;
-
662  b = tmp;
-
663 }
-
664 
-
670 inline uint32 b2NextPowerOfTwo(uint32 x)
-
671 {
-
672  x |= (x >> 1);
-
673  x |= (x >> 2);
-
674  x |= (x >> 4);
-
675  x |= (x >> 8);
-
676  x |= (x >> 16);
-
677  return x + 1;
-
678 }
-
679 
-
680 inline bool b2IsPowerOfTwo(uint32 x)
-
681 {
-
682  bool result = x > 0 && (x & (x - 1)) == 0;
-
683  return result;
-
684 }
-
685 
-
686 // https://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
687 inline void b2Sweep::GetTransform(b2Transform* xf, float beta) const
-
688 {
-
689  xf->p = (1.0f - beta) * c0 + beta * c;
-
690  float angle = (1.0f - beta) * a0 + beta * a;
-
691  xf->q.Set(angle);
-
692 
-
693  // Shift to origin
-
694  xf->p -= b2Mul(xf->q, localCenter);
-
695 }
-
696 
-
697 inline void b2Sweep::Advance(float alpha)
-
698 {
-
699  b2Assert(alpha0 < 1.0f);
-
700  float beta = (alpha - alpha0) / (1.0f - alpha0);
-
701  c0 += beta * (c - c0);
-
702  a0 += beta * (a - a0);
-
703  alpha0 = alpha;
-
704 }
-
705 
-
707 inline void b2Sweep::Normalize()
-
708 {
-
709  float twoPi = 2.0f * b2_pi;
-
710  float d = twoPi * floorf(a0 / twoPi);
-
711  a0 -= d;
-
712  a -= d;
-
713 }
-
714 
-
715 #endif
-
-
-
b2Vec2 GetXAxis() const
Get the x-axis.
Definition: b2_math.h:321
-
A 2D column vector.
Definition: b2_math.h:41
-
b2Mat22(const b2Vec2 &c1, const b2Vec2 &c2)
Construct this matrix using columns.
Definition: b2_math.h:177
-
-
void Set(const b2Vec2 &position, float angle)
Set this based on the position and angle.
Definition: b2_math.h:354
-
b2Rot(float angle)
Initialize from an angle in radians.
Definition: b2_math.h:292
-
float alpha0
Definition: b2_math.h:388
-
b2Vec2 Solve(const b2Vec2 &b) const
Definition: b2_math.h:227
-
void SetZero()
Set this matrix to all zeros.
Definition: b2_math.h:259
-
Definition: b2_math.h:338
-
b2Transform(const b2Vec2 &position, const b2Rot &rotation)
Initialize using a position vector and a rotation.
Definition: b2_math.h:344
-
A 2D column vector with 3 elements.
Definition: b2_math.h:132
-
Definition: b2_math.h:368
-
A 3-by-3 matrix. Stored in column-major order.
Definition: b2_math.h:245
-
b2Vec2 c
center world positions
Definition: b2_math.h:383
-
void Set(const b2Vec2 &c1, const b2Vec2 &c2)
Initialize this matrix using columns.
Definition: b2_math.h:191
-
b2Mat33()
The default constructor does nothing (for performance).
Definition: b2_math.h:248
-
Rotation.
Definition: b2_math.h:287
-
void Set(float x_, float y_)
Set this vector to some specified coordinates.
Definition: b2_math.h:53
-
void Set(float x_, float y_, float z_)
Set this vector to some specified coordinates.
Definition: b2_math.h:144
-
float Normalize()
Convert this vector into a unit vector. Returns the length.
Definition: b2_math.h:102
-
void GetTransform(b2Transform *transform, float beta) const
Definition: b2_math.h:687
-
b2Vec3()
Default constructor does nothing (for performance).
Definition: b2_math.h:135
-
void SetIdentity()
Set this to the identity matrix.
Definition: b2_math.h:198
-
void SetIdentity()
Set this to the identity transform.
Definition: b2_math.h:347
-
b2Vec3(float xIn, float yIn, float zIn)
Construct using coordinates.
Definition: b2_math.h:138
-
void SetIdentity()
Set to the identity rotation.
Definition: b2_math.h:308
-
void Advance(float alpha)
Definition: b2_math.h:697
-
b2Mat22(float a11, float a12, float a21, float a22)
Construct this matrix using scalars.
Definition: b2_math.h:184
-
float Length() const
Get the length of this vector (the norm).
Definition: b2_math.h:89
-
b2Vec2()
Default constructor does nothing (for performance).
Definition: b2_math.h:44
-
A 2-by-2 matrix. Stored in column-major order.
Definition: b2_math.h:171
-
b2Transform()
The default constructor does nothing.
Definition: b2_math.h:341
-
void Set(float angle)
Set using an angle in radians.
Definition: b2_math.h:300
-
void SetZero()
Set this vector to all zeros.
Definition: b2_math.h:50
-
b2Vec2(float xIn, float yIn)
Construct using coordinates.
Definition: b2_math.h:47
-
float LengthSquared() const
Definition: b2_math.h:96
-
b2Mat33(const b2Vec3 &c1, const b2Vec3 &c2, const b2Vec3 &c3)
Construct this matrix using columns.
Definition: b2_math.h:251
-
void SetZero()
Set this vector to all zeros.
Definition: b2_math.h:141
-
float GetAngle() const
Get the angle in radians.
Definition: b2_math.h:315
-
float s
Sine and cosine.
Definition: b2_math.h:333
-
b2Mat22()
The default constructor does nothing (for performance).
Definition: b2_math.h:174
-
b2Vec2 localCenter
local center of mass position
Definition: b2_math.h:382
-
void Normalize()
Normalize the angles.
Definition: b2_math.h:707
-
void SetZero()
Set this matrix to all zeros.
Definition: b2_math.h:205
-
b2Vec2 Skew() const
Get the skew vector such that dot(skew_vec, other) == cross(vec, other)
Definition: b2_math.h:123
-
float a
world angles
Definition: b2_math.h:384
-
b2Vec2 GetYAxis() const
Get the u-axis.
Definition: b2_math.h:327
-
bool IsValid() const
Does this vector contain finite coordinates?
Definition: b2_math.h:117
- - - - diff --git a/documentation/b2__motor__joint_8h_source.html b/documentation/b2__motor__joint_8h_source.html deleted file mode 100644 index e123ebd..0000000 --- a/documentation/b2__motor__joint_8h_source.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_motor_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_motor_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_MOTOR_JOINT_H
-
24 #define B2_MOTOR_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
30 struct B2_API b2MotorJointDef : public b2JointDef
-
31 {
- -
33  {
-
34  type = e_motorJoint;
-
35  linearOffset.SetZero();
-
36  angularOffset = 0.0f;
-
37  maxForce = 1.0f;
-
38  maxTorque = 1.0f;
-
39  correctionFactor = 0.3f;
-
40  }
-
41 
-
43  void Initialize(b2Body* bodyA, b2Body* bodyB);
-
44 
- -
47 
- -
50 
-
52  float maxForce;
-
53 
-
55  float maxTorque;
-
56 
- -
59 };
-
60 
-
64 class B2_API b2MotorJoint : public b2Joint
-
65 {
-
66 public:
-
67  b2Vec2 GetAnchorA() const override;
-
68  b2Vec2 GetAnchorB() const override;
-
69 
-
70  b2Vec2 GetReactionForce(float inv_dt) const override;
-
71  float GetReactionTorque(float inv_dt) const override;
-
72 
-
74  void SetLinearOffset(const b2Vec2& linearOffset);
-
75  const b2Vec2& GetLinearOffset() const;
-
76 
-
78  void SetAngularOffset(float angularOffset);
-
79  float GetAngularOffset() const;
-
80 
-
82  void SetMaxForce(float force);
-
83 
-
85  float GetMaxForce() const;
-
86 
-
88  void SetMaxTorque(float torque);
-
89 
-
91  float GetMaxTorque() const;
-
92 
-
94  void SetCorrectionFactor(float factor);
-
95 
-
97  float GetCorrectionFactor() const;
-
98 
-
100  void Dump() override;
-
101 
-
102 protected:
-
103 
-
104  friend class b2Joint;
-
105 
-
106  b2MotorJoint(const b2MotorJointDef* def);
-
107 
-
108  void InitVelocityConstraints(const b2SolverData& data) override;
-
109  void SolveVelocityConstraints(const b2SolverData& data) override;
-
110  bool SolvePositionConstraints(const b2SolverData& data) override;
-
111 
-
112  // Solver shared
-
113  b2Vec2 m_linearOffset;
-
114  float m_angularOffset;
-
115  b2Vec2 m_linearImpulse;
-
116  float m_angularImpulse;
-
117  float m_maxForce;
-
118  float m_maxTorque;
-
119  float m_correctionFactor;
-
120 
-
121  // Solver temp
-
122  int32 m_indexA;
-
123  int32 m_indexB;
-
124  b2Vec2 m_rA;
-
125  b2Vec2 m_rB;
-
126  b2Vec2 m_localCenterA;
-
127  b2Vec2 m_localCenterB;
-
128  b2Vec2 m_linearError;
-
129  float m_angularError;
-
130  float m_invMassA;
-
131  float m_invMassB;
-
132  float m_invIA;
-
133  float m_invIB;
-
134  b2Mat22 m_linearMass;
-
135  float m_angularMass;
-
136 };
-
137 
-
138 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
Motor joint definition.
Definition: b2_motor_joint.h:30
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
float angularOffset
The bodyB angle minus bodyA angle in radians.
Definition: b2_motor_joint.h:49
-
Definition: b2_motor_joint.h:64
-
b2Vec2 linearOffset
Position of bodyB minus the position of bodyA, in bodyA's frame, in meters.
Definition: b2_motor_joint.h:46
-
float correctionFactor
Position correction factor in the range [0,1].
Definition: b2_motor_joint.h:58
-
A 2-by-2 matrix. Stored in column-major order.
Definition: b2_math.h:171
-
float maxForce
The maximum motor force in N.
Definition: b2_motor_joint.h:52
-
Solver Data.
Definition: b2_time_step.h:67
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
float maxTorque
The maximum motor torque in N-m.
Definition: b2_motor_joint.h:55
- - - - diff --git a/documentation/b2__mouse__joint_8h_source.html b/documentation/b2__mouse__joint_8h_source.html deleted file mode 100644 index e0af04f..0000000 --- a/documentation/b2__mouse__joint_8h_source.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_mouse_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_mouse_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_MOUSE_JOINT_H
-
24 #define B2_MOUSE_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
31 struct B2_API b2MouseJointDef : public b2JointDef
-
32 {
- -
34  {
-
35  type = e_mouseJoint;
-
36  target.Set(0.0f, 0.0f);
-
37  maxForce = 0.0f;
-
38  stiffness = 0.0f;
-
39  damping = 0.0f;
-
40  }
-
41 
- -
45 
-
49  float maxForce;
-
50 
-
52  float stiffness;
-
53 
-
55  float damping;
-
56 };
-
57 
-
65 class B2_API b2MouseJoint : public b2Joint
-
66 {
-
67 public:
-
68 
-
70  b2Vec2 GetAnchorA() const override;
-
71 
-
73  b2Vec2 GetAnchorB() const override;
-
74 
-
76  b2Vec2 GetReactionForce(float inv_dt) const override;
-
77 
-
79  float GetReactionTorque(float inv_dt) const override;
-
80 
-
82  void SetTarget(const b2Vec2& target);
-
83  const b2Vec2& GetTarget() const;
-
84 
-
86  void SetMaxForce(float force);
-
87  float GetMaxForce() const;
-
88 
-
90  void SetStiffness(float stiffness) { m_stiffness = stiffness; }
-
91  float GetStiffness() const { return m_stiffness; }
-
92 
-
94  void SetDamping(float damping) { m_damping = damping; }
-
95  float GetDamping() const { return m_damping; }
-
96 
-
98  void Dump() override { b2Log("Mouse joint dumping is not supported.\n"); }
-
99 
-
101  void ShiftOrigin(const b2Vec2& newOrigin) override;
-
102 
-
103 protected:
-
104  friend class b2Joint;
-
105 
-
106  b2MouseJoint(const b2MouseJointDef* def);
-
107 
-
108  void InitVelocityConstraints(const b2SolverData& data) override;
-
109  void SolveVelocityConstraints(const b2SolverData& data) override;
-
110  bool SolvePositionConstraints(const b2SolverData& data) override;
-
111 
-
112  b2Vec2 m_localAnchorB;
-
113  b2Vec2 m_targetA;
-
114  float m_stiffness;
-
115  float m_damping;
-
116  float m_beta;
-
117 
-
118  // Solver shared
-
119  b2Vec2 m_impulse;
-
120  float m_maxForce;
-
121  float m_gamma;
-
122 
-
123  // Solver temp
-
124  int32 m_indexA;
-
125  int32 m_indexB;
-
126  b2Vec2 m_rB;
-
127  b2Vec2 m_localCenterB;
-
128  float m_invMassB;
-
129  float m_invIB;
-
130  b2Mat22 m_mass;
-
131  b2Vec2 m_C;
-
132 };
-
133 
-
134 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
void b2Log(const char *string,...)
Implement this to use your own logging.
Definition: b2_settings.h:115
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
b2Vec2 target
Definition: b2_mouse_joint.h:44
-
void SetStiffness(float stiffness)
Set/get the linear stiffness in N/m.
Definition: b2_mouse_joint.h:90
-
void SetDamping(float damping)
Set/get linear damping in N*s/m.
Definition: b2_mouse_joint.h:94
-
void Dump() override
The mouse joint does not support dumping.
Definition: b2_mouse_joint.h:98
-
virtual void ShiftOrigin(const b2Vec2 &newOrigin)
Shift the origin for any points stored in world coordinates.
Definition: b2_joint.h:154
-
A 2-by-2 matrix. Stored in column-major order.
Definition: b2_math.h:171
-
Solver Data.
Definition: b2_time_step.h:67
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_mouse_joint.h:31
-
Definition: b2_mouse_joint.h:65
-
float maxForce
Definition: b2_mouse_joint.h:49
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
float damping
The linear damping in N*s/m.
Definition: b2_mouse_joint.h:55
-
float stiffness
The linear stiffness in N/m.
Definition: b2_mouse_joint.h:52
- - - - diff --git a/documentation/b2__polygon__shape_8h_source.html b/documentation/b2__polygon__shape_8h_source.html deleted file mode 100644 index 72d80c6..0000000 --- a/documentation/b2__polygon__shape_8h_source.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_polygon_shape.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_polygon_shape.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 #ifndef B2_POLYGON_SHAPE_H
-
23 #define B2_POLYGON_SHAPE_H
-
24 
-
25 #include "b2_api.h"
-
26 #include "b2_shape.h"
-
27 
-
32 class B2_API b2PolygonShape : public b2Shape
-
33 {
-
34 public:
- -
36 
-
38  b2Shape* Clone(b2BlockAllocator* allocator) const override;
-
39 
-
41  int32 GetChildCount() const override;
-
42 
-
48  void Set(const b2Vec2* points, int32 count);
-
49 
-
53  void SetAsBox(float hx, float hy);
-
54 
-
60  void SetAsBox(float hx, float hy, const b2Vec2& center, float angle);
-
61 
-
63  bool TestPoint(const b2Transform& transform, const b2Vec2& p) const override;
-
64 
-
68  bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input,
-
69  const b2Transform& transform, int32 childIndex) const override;
-
70 
-
72  void ComputeAABB(b2AABB* aabb, const b2Transform& transform, int32 childIndex) const override;
-
73 
-
75  void ComputeMass(b2MassData* massData, float density) const override;
-
76 
-
79  bool Validate() const;
-
80 
-
81  b2Vec2 m_centroid;
-
82  b2Vec2 m_vertices[b2_maxPolygonVertices];
-
83  b2Vec2 m_normals[b2_maxPolygonVertices];
-
84  int32 m_count;
-
85 };
-
86 
-
87 inline b2PolygonShape::b2PolygonShape()
-
88 {
-
89  m_type = e_polygon;
- -
91  m_count = 0;
-
92  m_centroid.SetZero();
-
93 }
-
94 
-
95 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
virtual bool RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const =0
-
virtual int32 GetChildCount() const =0
Get the number of child primitives.
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
Definition: b2_math.h:338
-
virtual void ComputeAABB(b2AABB *aabb, const b2Transform &xf, int32 childIndex) const =0
-
float m_radius
Definition: b2_shape.h:102
-
virtual void ComputeMass(b2MassData *massData, float density) const =0
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
Definition: b2_block_allocator.h:37
-
Definition: b2_polygon_shape.h:32
-
#define b2_polygonRadius
Definition: b2_common.h:74
-
Definition: b2_shape.h:48
-
This holds the mass data computed for a shape.
Definition: b2_shape.h:33
-
void SetZero()
Set this vector to all zeros.
Definition: b2_math.h:50
-
virtual b2Shape * Clone(b2BlockAllocator *allocator) const =0
Clone the concrete shape using the provided allocator.
-
Definition: b2_collision.h:161
-
virtual bool TestPoint(const b2Transform &xf, const b2Vec2 &p) const =0
-
#define b2_maxPolygonVertices
Definition: b2_settings.h:53
- - - - diff --git a/documentation/b2__prismatic__joint_8h_source.html b/documentation/b2__prismatic__joint_8h_source.html deleted file mode 100644 index 98c0dfe..0000000 --- a/documentation/b2__prismatic__joint_8h_source.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_prismatic_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_prismatic_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_PRISMATIC_JOINT_H
-
24 #define B2_PRISMATIC_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
35 struct B2_API b2PrismaticJointDef : public b2JointDef
-
36 {
- -
38  {
-
39  type = e_prismaticJoint;
-
40  localAnchorA.SetZero();
-
41  localAnchorB.SetZero();
-
42  localAxisA.Set(1.0f, 0.0f);
-
43  referenceAngle = 0.0f;
-
44  enableLimit = false;
-
45  lowerTranslation = 0.0f;
-
46  upperTranslation = 0.0f;
-
47  enableMotor = false;
-
48  maxMotorForce = 0.0f;
-
49  motorSpeed = 0.0f;
-
50  }
-
51 
-
54  void Initialize(b2Body* bodyA, b2Body* bodyB, const b2Vec2& anchor, const b2Vec2& axis);
-
55 
- -
58 
- -
61 
- -
64 
- -
67 
- -
70 
- -
73 
- -
76 
- -
79 
- -
82 
-
84  float motorSpeed;
-
85 };
-
86 
-
91 class B2_API b2PrismaticJoint : public b2Joint
-
92 {
-
93 public:
-
94  b2Vec2 GetAnchorA() const override;
-
95  b2Vec2 GetAnchorB() const override;
-
96 
-
97  b2Vec2 GetReactionForce(float inv_dt) const override;
-
98  float GetReactionTorque(float inv_dt) const override;
-
99 
-
101  const b2Vec2& GetLocalAnchorA() const { return m_localAnchorA; }
-
102 
-
104  const b2Vec2& GetLocalAnchorB() const { return m_localAnchorB; }
-
105 
-
107  const b2Vec2& GetLocalAxisA() const { return m_localXAxisA; }
-
108 
-
110  float GetReferenceAngle() const { return m_referenceAngle; }
-
111 
-
113  float GetJointTranslation() const;
-
114 
-
116  float GetJointSpeed() const;
-
117 
-
119  bool IsLimitEnabled() const;
-
120 
-
122  void EnableLimit(bool flag);
-
123 
-
125  float GetLowerLimit() const;
-
126 
-
128  float GetUpperLimit() const;
-
129 
-
131  void SetLimits(float lower, float upper);
-
132 
-
134  bool IsMotorEnabled() const;
-
135 
-
137  void EnableMotor(bool flag);
-
138 
-
140  void SetMotorSpeed(float speed);
-
141 
-
143  float GetMotorSpeed() const;
-
144 
-
146  void SetMaxMotorForce(float force);
-
147  float GetMaxMotorForce() const { return m_maxMotorForce; }
-
148 
-
150  float GetMotorForce(float inv_dt) const;
-
151 
-
153  void Dump() override;
-
154 
-
156  void Draw(b2Draw* draw) const override;
-
157 
-
158 protected:
-
159  friend class b2Joint;
-
160  friend class b2GearJoint;
- -
162 
-
163  void InitVelocityConstraints(const b2SolverData& data) override;
-
164  void SolveVelocityConstraints(const b2SolverData& data) override;
-
165  bool SolvePositionConstraints(const b2SolverData& data) override;
-
166 
-
167  b2Vec2 m_localAnchorA;
-
168  b2Vec2 m_localAnchorB;
-
169  b2Vec2 m_localXAxisA;
-
170  b2Vec2 m_localYAxisA;
-
171  float m_referenceAngle;
-
172  b2Vec2 m_impulse;
-
173  float m_motorImpulse;
-
174  float m_lowerImpulse;
-
175  float m_upperImpulse;
-
176  float m_lowerTranslation;
-
177  float m_upperTranslation;
-
178  float m_maxMotorForce;
-
179  float m_motorSpeed;
-
180  bool m_enableLimit;
-
181  bool m_enableMotor;
-
182 
-
183  // Solver temp
-
184  int32 m_indexA;
-
185  int32 m_indexB;
-
186  b2Vec2 m_localCenterA;
-
187  b2Vec2 m_localCenterB;
-
188  float m_invMassA;
-
189  float m_invMassB;
-
190  float m_invIA;
-
191  float m_invIB;
-
192  b2Vec2 m_axis, m_perp;
-
193  float m_s1, m_s2;
-
194  float m_a1, m_a2;
-
195  b2Mat22 m_K;
-
196  float m_translation;
-
197  float m_axialMass;
-
198 };
-
199 
- -
201 {
-
202  return m_motorSpeed;
-
203 }
-
204 
-
205 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
bool enableLimit
Enable/disable the joint limit.
Definition: b2_prismatic_joint.h:69
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
float referenceAngle
The constrained angle between the bodies: bodyB_angle - bodyA_angle.
Definition: b2_prismatic_joint.h:66
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
Definition: b2_draw.h:48
-
float GetMotorSpeed() const
Get the motor speed, usually in meters per second.
Definition: b2_prismatic_joint.h:200
-
bool enableMotor
Enable/disable the joint motor.
Definition: b2_prismatic_joint.h:78
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
Definition: b2_prismatic_joint.h:35
-
Definition: b2_prismatic_joint.h:91
-
virtual void Draw(b2Draw *draw) const
Debug draw this joint.
-
float motorSpeed
The desired motor speed in radians per second.
Definition: b2_prismatic_joint.h:84
-
b2Vec2 localAxisA
The local translation unit axis in bodyA.
Definition: b2_prismatic_joint.h:63
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_prismatic_joint.h:60
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
float maxMotorForce
The maximum motor torque, usually in N-m.
Definition: b2_prismatic_joint.h:81
-
const b2Vec2 & GetLocalAnchorA() const
The local anchor point relative to bodyA's origin.
Definition: b2_prismatic_joint.h:101
-
float lowerTranslation
The lower translation limit, usually in meters.
Definition: b2_prismatic_joint.h:72
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_prismatic_joint.h:57
-
Definition: b2_gear_joint.h:61
-
A 2-by-2 matrix. Stored in column-major order.
Definition: b2_math.h:171
-
Solver Data.
Definition: b2_time_step.h:67
-
const b2Vec2 & GetLocalAnchorB() const
The local anchor point relative to bodyB's origin.
Definition: b2_prismatic_joint.h:104
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
float upperTranslation
The upper translation limit, usually in meters.
Definition: b2_prismatic_joint.h:75
-
const b2Vec2 & GetLocalAxisA() const
The local joint axis relative to bodyA.
Definition: b2_prismatic_joint.h:107
-
float GetReferenceAngle() const
Get the reference angle.
Definition: b2_prismatic_joint.h:110
- - - - diff --git a/documentation/b2__pulley__joint_8h_source.html b/documentation/b2__pulley__joint_8h_source.html deleted file mode 100644 index 17dbab4..0000000 --- a/documentation/b2__pulley__joint_8h_source.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_pulley_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_pulley_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_PULLEY_JOINT_H
-
24 #define B2_PULLEY_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
29 const float b2_minPulleyLength = 2.0f;
-
30 
-
33 struct B2_API b2PulleyJointDef : public b2JointDef
-
34 {
- -
36  {
-
37  type = e_pulleyJoint;
-
38  groundAnchorA.Set(-1.0f, 1.0f);
-
39  groundAnchorB.Set(1.0f, 1.0f);
-
40  localAnchorA.Set(-1.0f, 0.0f);
-
41  localAnchorB.Set(1.0f, 0.0f);
-
42  lengthA = 0.0f;
-
43  lengthB = 0.0f;
-
44  ratio = 1.0f;
-
45  collideConnected = true;
-
46  }
-
47 
-
49  void Initialize(b2Body* bodyA, b2Body* bodyB,
-
50  const b2Vec2& groundAnchorA, const b2Vec2& groundAnchorB,
-
51  const b2Vec2& anchorA, const b2Vec2& anchorB,
-
52  float ratio);
-
53 
- -
56 
- -
59 
- -
62 
- -
65 
-
67  float lengthA;
-
68 
-
70  float lengthB;
-
71 
-
73  float ratio;
-
74 };
-
75 
-
84 class B2_API b2PulleyJoint : public b2Joint
-
85 {
-
86 public:
-
87  b2Vec2 GetAnchorA() const override;
-
88  b2Vec2 GetAnchorB() const override;
-
89 
-
90  b2Vec2 GetReactionForce(float inv_dt) const override;
-
91  float GetReactionTorque(float inv_dt) const override;
-
92 
-
94  b2Vec2 GetGroundAnchorA() const;
-
95 
-
97  b2Vec2 GetGroundAnchorB() const;
-
98 
-
100  float GetLengthA() const;
-
101 
-
103  float GetLengthB() const;
-
104 
-
106  float GetRatio() const;
-
107 
-
109  float GetCurrentLengthA() const;
-
110 
-
112  float GetCurrentLengthB() const;
-
113 
-
115  void Dump() override;
-
116 
-
118  void ShiftOrigin(const b2Vec2& newOrigin) override;
-
119 
-
120 protected:
-
121 
-
122  friend class b2Joint;
-
123  b2PulleyJoint(const b2PulleyJointDef* data);
-
124 
-
125  void InitVelocityConstraints(const b2SolverData& data) override;
-
126  void SolveVelocityConstraints(const b2SolverData& data) override;
-
127  bool SolvePositionConstraints(const b2SolverData& data) override;
-
128 
-
129  b2Vec2 m_groundAnchorA;
-
130  b2Vec2 m_groundAnchorB;
-
131  float m_lengthA;
-
132  float m_lengthB;
-
133 
-
134  // Solver shared
-
135  b2Vec2 m_localAnchorA;
-
136  b2Vec2 m_localAnchorB;
-
137  float m_constant;
-
138  float m_ratio;
-
139  float m_impulse;
-
140 
-
141  // Solver temp
-
142  int32 m_indexA;
-
143  int32 m_indexB;
-
144  b2Vec2 m_uA;
-
145  b2Vec2 m_uB;
-
146  b2Vec2 m_rA;
-
147  b2Vec2 m_rB;
-
148  b2Vec2 m_localCenterA;
-
149  b2Vec2 m_localCenterB;
-
150  float m_invMassA;
-
151  float m_invMassB;
-
152  float m_invIA;
-
153  float m_invIB;
-
154  float m_mass;
-
155 };
-
156 
-
157 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
b2Vec2 groundAnchorB
The second ground anchor in world coordinates. This point never moves.
Definition: b2_pulley_joint.h:58
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
float lengthB
The a reference length for the segment attached to bodyB.
Definition: b2_pulley_joint.h:70
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
Definition: b2_pulley_joint.h:33
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_pulley_joint.h:64
-
float ratio
The pulley ratio, used to simulate a block-and-tackle.
Definition: b2_pulley_joint.h:73
-
b2Vec2 groundAnchorA
The first ground anchor in world coordinates. This point never moves.
Definition: b2_pulley_joint.h:55
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
virtual void ShiftOrigin(const b2Vec2 &newOrigin)
Shift the origin for any points stored in world coordinates.
Definition: b2_joint.h:154
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_pulley_joint.h:61
-
Solver Data.
Definition: b2_time_step.h:67
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
float lengthA
The a reference length for the segment attached to bodyA.
Definition: b2_pulley_joint.h:67
-
Definition: b2_pulley_joint.h:84
- - - - diff --git a/documentation/b2__revolute__joint_8h_source.html b/documentation/b2__revolute__joint_8h_source.html deleted file mode 100644 index 901862c..0000000 --- a/documentation/b2__revolute__joint_8h_source.html +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_revolute_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_revolute_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_REVOLUTE_JOINT_H
-
24 #define B2_REVOLUTE_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
39 struct B2_API b2RevoluteJointDef : public b2JointDef
-
40 {
- -
42  {
-
43  type = e_revoluteJoint;
-
44  localAnchorA.Set(0.0f, 0.0f);
-
45  localAnchorB.Set(0.0f, 0.0f);
-
46  referenceAngle = 0.0f;
-
47  lowerAngle = 0.0f;
-
48  upperAngle = 0.0f;
-
49  maxMotorTorque = 0.0f;
-
50  motorSpeed = 0.0f;
-
51  enableLimit = false;
-
52  enableMotor = false;
-
53  }
-
54 
-
57  void Initialize(b2Body* bodyA, b2Body* bodyB, const b2Vec2& anchor);
-
58 
- -
61 
- -
64 
- -
67 
- -
70 
-
72  float lowerAngle;
-
73 
-
75  float upperAngle;
-
76 
- -
79 
-
81  float motorSpeed;
-
82 
- -
86 };
-
87 
-
94 class B2_API b2RevoluteJoint : public b2Joint
-
95 {
-
96 public:
-
97  b2Vec2 GetAnchorA() const override;
-
98  b2Vec2 GetAnchorB() const override;
-
99 
-
101  const b2Vec2& GetLocalAnchorA() const { return m_localAnchorA; }
-
102 
-
104  const b2Vec2& GetLocalAnchorB() const { return m_localAnchorB; }
-
105 
-
107  float GetReferenceAngle() const { return m_referenceAngle; }
-
108 
-
110  float GetJointAngle() const;
-
111 
-
113  float GetJointSpeed() const;
-
114 
-
116  bool IsLimitEnabled() const;
-
117 
-
119  void EnableLimit(bool flag);
-
120 
-
122  float GetLowerLimit() const;
-
123 
-
125  float GetUpperLimit() const;
-
126 
-
128  void SetLimits(float lower, float upper);
-
129 
-
131  bool IsMotorEnabled() const;
-
132 
-
134  void EnableMotor(bool flag);
-
135 
-
137  void SetMotorSpeed(float speed);
-
138 
-
140  float GetMotorSpeed() const;
-
141 
-
143  void SetMaxMotorTorque(float torque);
-
144  float GetMaxMotorTorque() const { return m_maxMotorTorque; }
-
145 
-
148  b2Vec2 GetReactionForce(float inv_dt) const override;
-
149 
-
152  float GetReactionTorque(float inv_dt) const override;
-
153 
-
156  float GetMotorTorque(float inv_dt) const;
-
157 
-
159  void Dump() override;
-
160 
-
162  void Draw(b2Draw* draw) const override;
-
163 
-
164 protected:
-
165 
-
166  friend class b2Joint;
-
167  friend class b2GearJoint;
-
168 
- -
170 
-
171  void InitVelocityConstraints(const b2SolverData& data) override;
-
172  void SolveVelocityConstraints(const b2SolverData& data) override;
-
173  bool SolvePositionConstraints(const b2SolverData& data) override;
-
174 
-
175  // Solver shared
-
176  b2Vec2 m_localAnchorA;
-
177  b2Vec2 m_localAnchorB;
-
178  b2Vec2 m_impulse;
-
179  float m_motorImpulse;
-
180  float m_lowerImpulse;
-
181  float m_upperImpulse;
-
182  bool m_enableMotor;
-
183  float m_maxMotorTorque;
-
184  float m_motorSpeed;
-
185  bool m_enableLimit;
-
186  float m_referenceAngle;
-
187  float m_lowerAngle;
-
188  float m_upperAngle;
-
189 
-
190  // Solver temp
-
191  int32 m_indexA;
-
192  int32 m_indexB;
-
193  b2Vec2 m_rA;
-
194  b2Vec2 m_rB;
-
195  b2Vec2 m_localCenterA;
-
196  b2Vec2 m_localCenterB;
-
197  float m_invMassA;
-
198  float m_invMassB;
-
199  float m_invIA;
-
200  float m_invIB;
-
201  b2Mat22 m_K;
-
202  float m_angle;
-
203  float m_axialMass;
-
204 };
-
205 
-
206 inline float b2RevoluteJoint::GetMotorSpeed() const
-
207 {
-
208  return m_motorSpeed;
-
209 }
-
210 
-
211 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
float GetReferenceAngle() const
Get the reference angle.
Definition: b2_revolute_joint.h:107
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
float upperAngle
The upper angle for the joint limit (radians).
Definition: b2_revolute_joint.h:75
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_revolute_joint.h:63
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_revolute_joint.h:60
-
bool enableMotor
A flag to enable the joint motor.
Definition: b2_revolute_joint.h:78
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
Definition: b2_draw.h:48
-
float GetMotorSpeed() const
Get the motor speed in radians per second.
Definition: b2_revolute_joint.h:206
-
float maxMotorTorque
Definition: b2_revolute_joint.h:85
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
bool enableLimit
A flag to enable joint limits.
Definition: b2_revolute_joint.h:69
-
virtual void Draw(b2Draw *draw) const
Debug draw this joint.
-
Definition: b2_revolute_joint.h:39
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
Definition: b2_revolute_joint.h:94
-
float motorSpeed
The desired motor speed. Usually in radians per second.
Definition: b2_revolute_joint.h:81
-
const b2Vec2 & GetLocalAnchorA() const
The local anchor point relative to bodyA's origin.
Definition: b2_revolute_joint.h:101
-
float referenceAngle
The bodyB angle minus bodyA angle in the reference state (radians).
Definition: b2_revolute_joint.h:66
-
Definition: b2_gear_joint.h:61
-
A 2-by-2 matrix. Stored in column-major order.
Definition: b2_math.h:171
-
Solver Data.
Definition: b2_time_step.h:67
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
float lowerAngle
The lower angle for the joint limit (radians).
Definition: b2_revolute_joint.h:72
-
const b2Vec2 & GetLocalAnchorB() const
The local anchor point relative to bodyB's origin.
Definition: b2_revolute_joint.h:104
- - - - diff --git a/documentation/b2__rope_8h_source.html b/documentation/b2__rope_8h_source.html deleted file mode 100644 index 4641965..0000000 --- a/documentation/b2__rope_8h_source.html +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_rope.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_rope.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_ROPE_H
-
24 #define B2_ROPE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_math.h"
-
28 
-
29 class b2Draw;
-
30 struct b2RopeStretch;
-
31 struct b2RopeBend;
-
32 
-
33 enum b2StretchingModel
-
34 {
-
35  b2_pbdStretchingModel,
-
36  b2_xpbdStretchingModel
-
37 };
-
38 
-
39 enum b2BendingModel
-
40 {
-
41  b2_springAngleBendingModel = 0,
-
42  b2_pbdAngleBendingModel,
-
43  b2_xpbdAngleBendingModel,
-
44  b2_pbdDistanceBendingModel,
-
45  b2_pbdHeightBendingModel,
-
46  b2_pbdTriangleBendingModel
-
47 };
-
48 
-
50 struct B2_API b2RopeTuning
-
51 {
-
52  b2RopeTuning()
-
53  {
-
54  stretchingModel = b2_pbdStretchingModel;
-
55  bendingModel = b2_pbdAngleBendingModel;
-
56  damping = 0.0f;
-
57  stretchStiffness = 1.0f;
-
58  bendStiffness = 0.5f;
-
59  bendHertz = 1.0f;
-
60  bendDamping = 0.0f;
-
61  isometric = false;
-
62  fixedEffectiveMass = false;
-
63  warmStart = false;
-
64  }
-
65 
-
66  b2StretchingModel stretchingModel;
-
67  b2BendingModel bendingModel;
-
68  float damping;
-
69  float stretchStiffness;
-
70  float stretchHertz;
-
71  float stretchDamping;
-
72  float bendStiffness;
-
73  float bendHertz;
-
74  float bendDamping;
-
75  bool isometric;
-
76  bool fixedEffectiveMass;
-
77  bool warmStart;
-
78 };
-
79 
-
81 struct B2_API b2RopeDef
-
82 {
-
83  b2RopeDef()
-
84  {
-
85  position.SetZero();
-
86  vertices = nullptr;
-
87  count = 0;
-
88  masses = nullptr;
-
89  gravity.SetZero();
-
90  }
-
91 
-
92  b2Vec2 position;
-
93  b2Vec2* vertices;
-
94  int32 count;
-
95  float* masses;
-
96  b2Vec2 gravity;
-
97  b2RopeTuning tuning;
-
98 };
-
99 
-
101 class B2_API b2Rope
-
102 {
-
103 public:
-
104  b2Rope();
-
105  ~b2Rope();
-
106 
-
108  void Create(const b2RopeDef& def);
-
109 
-
111  void SetTuning(const b2RopeTuning& tuning);
-
112 
-
114  void Step(float timeStep, int32 iterations, const b2Vec2& position);
-
115 
-
117  void Reset(const b2Vec2& position);
-
118 
-
120  void Draw(b2Draw* draw) const;
-
121 
-
122 private:
-
123 
-
124  void SolveStretch_PBD();
-
125  void SolveStretch_XPBD(float dt);
-
126  void SolveBend_PBD_Angle();
-
127  void SolveBend_XPBD_Angle(float dt);
-
128  void SolveBend_PBD_Distance();
-
129  void SolveBend_PBD_Height();
-
130  void SolveBend_PBD_Triangle();
-
131  void ApplyBendForces(float dt);
-
132 
-
133  b2Vec2 m_position;
-
134 
-
135  int32 m_count;
-
136  int32 m_stretchCount;
-
137  int32 m_bendCount;
-
138 
-
139  b2RopeStretch* m_stretchConstraints;
-
140  b2RopeBend* m_bendConstraints;
-
141 
-
142  b2Vec2* m_bindPositions;
-
143  b2Vec2* m_ps;
-
144  b2Vec2* m_p0s;
-
145  b2Vec2* m_vs;
-
146 
-
147  float* m_invMasses;
-
148  b2Vec2 m_gravity;
-
149 
-
150  b2RopeTuning m_tuning;
-
151 };
-
152 
-
153 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
Definition: b2_rope.h:81
-
Definition: b2_draw.h:48
-
Definition: b2_rope.h:50
-
Definition: b2_rope.h:101
- - - - diff --git a/documentation/b2__rope__joint_8h_source.html b/documentation/b2__rope__joint_8h_source.html deleted file mode 100644 index 30ee9d8..0000000 --- a/documentation/b2__rope__joint_8h_source.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_rope_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.0 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_rope_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_ROPE_JOINT_H
-
24 #define B2_ROPE_JOINT_H
-
25 
-
26 #include "b2_joint.h"
-
27 
-
32 struct b2RopeJointDef : public b2JointDef
-
33 {
- -
35  {
-
36  type = e_ropeJoint;
-
37  localAnchorA.Set(-1.0f, 0.0f);
-
38  localAnchorB.Set(1.0f, 0.0f);
-
39  maxLength = 0.0f;
-
40  }
-
41 
- -
44 
- -
47 
-
51  float maxLength;
-
52 };
-
53 
-
62 class b2RopeJoint : public b2Joint
-
63 {
-
64 public:
-
65  b2Vec2 GetAnchorA() const override;
-
66  b2Vec2 GetAnchorB() const override;
-
67 
-
68  b2Vec2 GetReactionForce(float inv_dt) const override;
-
69  float GetReactionTorque(float inv_dt) const override;
-
70 
-
72  const b2Vec2& GetLocalAnchorA() const { return m_localAnchorA; }
-
73 
-
75  const b2Vec2& GetLocalAnchorB() const { return m_localAnchorB; }
-
76 
-
78  void SetMaxLength(float length) { m_maxLength = length; }
-
79  float GetMaxLength() const;
-
80 
-
81  // Get current length
-
82  float GetLength() const;
-
83 
-
85  void Dump() override;
-
86 
-
87 protected:
-
88 
-
89  friend class b2Joint;
-
90  b2RopeJoint(const b2RopeJointDef* data);
-
91 
-
92  void InitVelocityConstraints(const b2SolverData& data) override;
-
93  void SolveVelocityConstraints(const b2SolverData& data) override;
-
94  bool SolvePositionConstraints(const b2SolverData& data) override;
-
95 
-
96  // Solver shared
-
97  b2Vec2 m_localAnchorA;
-
98  b2Vec2 m_localAnchorB;
-
99  float m_maxLength;
-
100  float m_length;
-
101  float m_impulse;
-
102 
-
103  // Solver temp
-
104  int32 m_indexA;
-
105  int32 m_indexB;
-
106  b2Vec2 m_u;
-
107  b2Vec2 m_rA;
-
108  b2Vec2 m_rB;
-
109  b2Vec2 m_localCenterA;
-
110  b2Vec2 m_localCenterB;
-
111  float m_invMassA;
-
112  float m_invMassB;
-
113  float m_invIA;
-
114  float m_invIB;
-
115  float m_mass;
-
116 };
-
117 
-
118 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:39
-
b2Vec2 GetReactionForce(float inv_dt) const override
Get the reaction force on bodyB at the joint anchor in Newtons.
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:71
-
const b2Vec2 & GetLocalAnchorB() const
The local anchor point relative to bodyB's origin.
Definition: b2_rope_joint.h:75
-
b2JointType type
The joint type is set automatically for concrete joint types.
Definition: b2_joint.h:83
-
const b2Vec2 & GetLocalAnchorA() const
The local anchor point relative to bodyA's origin.
Definition: b2_rope_joint.h:72
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_rope_joint.h:43
-
void Set(float x_, float y_)
Set this vector to some specified coordinates.
Definition: b2_math.h:51
-
b2Vec2 GetAnchorB() const override
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_rope_joint.h:32
-
void SetMaxLength(float length)
Set/Get the maximum length of the rope.
Definition: b2_rope_joint.h:78
-
Solver Data.
Definition: b2_time_step.h:66
-
Definition: b2_rope_joint.h:62
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_rope_joint.h:46
-
float maxLength
Definition: b2_rope_joint.h:51
-
b2Vec2 GetAnchorA() const override
Get the anchor point on bodyA in world coordinates.
-
Definition: b2_joint.h:110
-
float GetReactionTorque(float inv_dt) const override
Get the reaction torque on bodyB in N*m.
-
void Dump() override
Dump joint to dmLog.
- - - - diff --git a/documentation/b2__settings_8h.html b/documentation/b2__settings_8h.html deleted file mode 100644 index 118098f..0000000 --- a/documentation/b2__settings_8h.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_settings.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2_settings.h File Reference
-
-
-
#include "b2_types.h"
-#include "b2_api.h"
-#include <stdarg.h>
-#include <stdint.h>
-#include "b2_common.h"
-
-

Go to the source code of this file.

- - - - - - - - - - - -

-Classes

struct  b2BodyUserData
 You can define this to inject whatever data you want in b2Body. More...
 
struct  b2FixtureUserData
 You can define this to inject whatever data you want in b2Fixture. More...
 
struct  b2JointUserData
 You can define this to inject whatever data you want in b2Joint. More...
 
- - - - - - -

-Macros

#define b2_lengthUnitsPerMeter   1.0f
 Define this macro in your build if you want to override settings. More...
 
#define b2_maxPolygonVertices   8
 
- - - - - - - - - - - - - - - - - - -

-Functions

-B2_API void * b2Alloc_Default (int32 size)
 Default allocation functions.
 
-B2_API void b2Free_Default (void *mem)
 
-void * b2Alloc (int32 size)
 Implement this function to use your own memory allocator.
 
-void b2Free (void *mem)
 If you implement b2Alloc, you should also implement this function.
 
-B2_API void b2Log_Default (const char *string, va_list args)
 Default logging function.
 
-void b2Log (const char *string,...)
 Implement this to use your own logging.
 
-

Detailed Description

-

Settings that can be overriden for your application

-

Macro Definition Documentation

- -

◆ b2_lengthUnitsPerMeter

- -
-
- - - - -
#define b2_lengthUnitsPerMeter   1.0f
-
- -

Define this macro in your build if you want to override settings.

-

You can use this to change the length scale used by your game. For example for inches you could use 39.4.

- -
-
- -

◆ b2_maxPolygonVertices

- -
-
- - - - -
#define b2_maxPolygonVertices   8
-
-

The maximum number of vertices on a convex polygon. You cannot increase this too much because b2BlockAllocator has a maximum object size.

- -
-
-
-
- - - - diff --git a/documentation/b2__settings_8h.js b/documentation/b2__settings_8h.js deleted file mode 100644 index fedd908..0000000 --- a/documentation/b2__settings_8h.js +++ /dev/null @@ -1,14 +0,0 @@ -var b2__settings_8h = -[ - [ "b2BodyUserData", "structb2_body_user_data.html", "structb2_body_user_data" ], - [ "b2FixtureUserData", "structb2_fixture_user_data.html", "structb2_fixture_user_data" ], - [ "b2JointUserData", "structb2_joint_user_data.html", "structb2_joint_user_data" ], - [ "b2_lengthUnitsPerMeter", "b2__settings_8h.html#ac981dcccb9ee291352843a27af829c8c", null ], - [ "b2_maxPolygonVertices", "b2__settings_8h.html#a09d71ee1993bee28b5b2e6d893b41884", null ], - [ "b2Alloc", "b2__settings_8h.html#a2dca9b286e9b9d6d022055fd61534bd7", null ], - [ "b2Alloc_Default", "b2__settings_8h.html#a5358f4a0d6805d16f331270b6433410e", null ], - [ "b2Free", "b2__settings_8h.html#a50f4abf5edeabd0300946edbd542e24d", null ], - [ "b2Free_Default", "b2__settings_8h.html#ab15a8752359261c8440362a19de714a9", null ], - [ "b2Log", "b2__settings_8h.html#a9f10095d05c74eebfe535931c9061ab2", null ], - [ "b2Log_Default", "b2__settings_8h.html#a5bbb7f5988607acce4f0422a4683d824", null ] -]; \ No newline at end of file diff --git a/documentation/b2__settings_8h_source.html b/documentation/b2__settings_8h_source.html deleted file mode 100644 index 029499f..0000000 --- a/documentation/b2__settings_8h_source.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_settings.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_settings.h
-
-
-Go to the documentation of this file.
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_SETTINGS_H
-
24 #define B2_SETTINGS_H
-
25 
-
26 #include "b2_types.h"
-
27 #include "b2_api.h"
-
28 
-
32 
-
34 #ifdef B2_USER_SETTINGS
-
35 
-
38 #include "b2_user_settings.h"
-
39 
-
40 #else
-
41 
-
42 #include <stdarg.h>
-
43 #include <stdint.h>
-
44 
-
45 // Tunable Constants
-
46 
-
49 #define b2_lengthUnitsPerMeter 1.0f
-
50 
-
53 #define b2_maxPolygonVertices 8
-
54 
-
55 // User data
-
56 
-
58 struct B2_API b2BodyUserData
-
59 {
- -
61  {
-
62  pointer = 0;
-
63  }
-
64 
-
66  uintptr_t pointer;
-
67 };
-
68 
-
70 struct B2_API b2FixtureUserData
-
71 {
- -
73  {
-
74  pointer = 0;
-
75  }
-
76 
-
78  uintptr_t pointer;
-
79 };
-
80 
-
82 struct B2_API b2JointUserData
-
83 {
- -
85  {
-
86  pointer = 0;
-
87  }
-
88 
-
90  uintptr_t pointer;
-
91 };
-
92 
-
93 // Memory Allocation
-
94 
-
96 B2_API void* b2Alloc_Default(int32 size);
-
97 B2_API void b2Free_Default(void* mem);
-
98 
-
100 inline void* b2Alloc(int32 size)
-
101 {
-
102  return b2Alloc_Default(size);
-
103 }
-
104 
-
106 inline void b2Free(void* mem)
-
107 {
-
108  b2Free_Default(mem);
-
109 }
-
110 
-
112 B2_API void b2Log_Default(const char* string, va_list args);
-
113 
-
115 inline void b2Log(const char* string, ...)
-
116 {
-
117  va_list args;
-
118  va_start(args, string);
-
119  b2Log_Default(string, args);
-
120  va_end(args);
-
121 }
-
122 
-
123 #endif // B2_USER_SETTINGS
-
124 
-
125 #include "b2_common.h"
-
126 
-
127 #endif
-
-
-
B2_API void * b2Alloc_Default(int32 size)
Default allocation functions.
-
You can define this to inject whatever data you want in b2Body.
Definition: b2_settings.h:58
-
void * b2Alloc(int32 size)
Implement this function to use your own memory allocator.
Definition: b2_settings.h:100
-
B2_API void b2Log_Default(const char *string, va_list args)
Default logging function.
-
uintptr_t pointer
For legacy compatibility.
Definition: b2_settings.h:66
-
void b2Log(const char *string,...)
Implement this to use your own logging.
Definition: b2_settings.h:115
-
uintptr_t pointer
For legacy compatibility.
Definition: b2_settings.h:90
-
uintptr_t pointer
For legacy compatibility.
Definition: b2_settings.h:78
-
-
You can define this to inject whatever data you want in b2Fixture.
Definition: b2_settings.h:70
-
void b2Free(void *mem)
If you implement b2Alloc, you should also implement this function.
Definition: b2_settings.h:106
-
You can define this to inject whatever data you want in b2Joint.
Definition: b2_settings.h:82
- - - - diff --git a/documentation/b2__shape_8h_source.html b/documentation/b2__shape_8h_source.html deleted file mode 100644 index 1ab274a..0000000 --- a/documentation/b2__shape_8h_source.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_shape.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_shape.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_SHAPE_H
-
24 #define B2_SHAPE_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_math.h"
-
28 #include "b2_collision.h"
-
29 
-
30 class b2BlockAllocator;
-
31 
-
33 struct B2_API b2MassData
-
34 {
-
36  float mass;
-
37 
- -
40 
-
42  float I;
-
43 };
-
44 
-
48 class B2_API b2Shape
-
49 {
-
50 public:
-
51 
-
52  enum Type
-
53  {
-
54  e_circle = 0,
-
55  e_edge = 1,
-
56  e_polygon = 2,
-
57  e_chain = 3,
-
58  e_typeCount = 4
-
59  };
-
60 
-
61  virtual ~b2Shape() {}
-
62 
-
64  virtual b2Shape* Clone(b2BlockAllocator* allocator) const = 0;
-
65 
-
68  Type GetType() const;
-
69 
-
71  virtual int32 GetChildCount() const = 0;
-
72 
-
76  virtual bool TestPoint(const b2Transform& xf, const b2Vec2& p) const = 0;
-
77 
-
83  virtual bool RayCast(b2RayCastOutput* output, const b2RayCastInput& input,
-
84  const b2Transform& transform, int32 childIndex) const = 0;
-
85 
-
90  virtual void ComputeAABB(b2AABB* aabb, const b2Transform& xf, int32 childIndex) const = 0;
-
91 
-
96  virtual void ComputeMass(b2MassData* massData, float density) const = 0;
-
97 
-
98  Type m_type;
-
99 
-
102  float m_radius;
-
103 };
-
104 
-
105 inline b2Shape::Type b2Shape::GetType() const
-
106 {
-
107  return m_type;
-
108 }
-
109 
-
110 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
Definition: b2_math.h:338
-
float m_radius
Definition: b2_shape.h:102
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
Definition: b2_block_allocator.h:37
-
-
Definition: b2_shape.h:48
-
This holds the mass data computed for a shape.
Definition: b2_shape.h:33
-
b2Vec2 center
The position of the shape's centroid relative to the shape's origin.
Definition: b2_shape.h:39
-
float mass
The mass of the shape, usually in kilograms.
Definition: b2_shape.h:36
-
Definition: b2_collision.h:161
-
float I
The rotational inertia of the shape about the local origin.
Definition: b2_shape.h:42
-
Type GetType() const
Definition: b2_shape.h:105
- - - - diff --git a/documentation/b2__stack__allocator_8h_source.html b/documentation/b2__stack__allocator_8h_source.html deleted file mode 100644 index 9c56b50..0000000 --- a/documentation/b2__stack__allocator_8h_source.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_stack_allocator.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_stack_allocator.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_STACK_ALLOCATOR_H
-
24 #define B2_STACK_ALLOCATOR_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_settings.h"
-
28 
-
29 const int32 b2_stackSize = 100 * 1024; // 100k
-
30 const int32 b2_maxStackEntries = 32;
-
31 
-
32 struct B2_API b2StackEntry
-
33 {
-
34  char* data;
-
35  int32 size;
-
36  bool usedMalloc;
-
37 };
-
38 
-
39 // This is a stack allocator used for fast per step allocations.
-
40 // You must nest allocate/free pairs. The code will assert
-
41 // if you try to interleave multiple allocate/free pairs.
-
42 class B2_API b2StackAllocator
-
43 {
-
44 public:
- - -
47 
-
48  void* Allocate(int32 size);
-
49  void Free(void* p);
-
50 
-
51  int32 GetMaxAllocation() const;
-
52 
-
53 private:
-
54 
-
55  char m_data[b2_stackSize];
-
56  int32 m_index;
-
57 
-
58  int32 m_allocation;
-
59  int32 m_maxAllocation;
-
60 
-
61  b2StackEntry m_entries[b2_maxStackEntries];
-
62  int32 m_entryCount;
-
63 };
-
64 
-
65 #endif
-
-
-
-
Definition: b2_stack_allocator.h:42
-
Definition: b2_stack_allocator.h:32
- - - - diff --git a/documentation/b2__time__of__impact_8h_source.html b/documentation/b2__time__of__impact_8h_source.html deleted file mode 100644 index 77ee48f..0000000 --- a/documentation/b2__time__of__impact_8h_source.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_time_of_impact.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_time_of_impact.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_TIME_OF_IMPACT_H
-
24 #define B2_TIME_OF_IMPACT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_math.h"
-
28 #include "b2_distance.h"
-
29 
-
31 struct B2_API b2TOIInput
-
32 {
-
33  b2DistanceProxy proxyA;
-
34  b2DistanceProxy proxyB;
-
35  b2Sweep sweepA;
-
36  b2Sweep sweepB;
-
37  float tMax; // defines sweep interval [0, tMax]
-
38 };
-
39 
-
41 struct B2_API b2TOIOutput
-
42 {
-
43  enum State
-
44  {
-
45  e_unknown,
-
46  e_failed,
-
47  e_overlapped,
-
48  e_touching,
-
49  e_separated
-
50  };
-
51 
-
52  State state;
-
53  float t;
-
54 };
-
55 
-
61 B2_API void b2TimeOfImpact(b2TOIOutput* output, const b2TOIInput* input);
-
62 
-
63 #endif
-
-
-
Definition: b2_math.h:368
-
Input parameters for b2TimeOfImpact.
Definition: b2_time_of_impact.h:31
-
Output parameters for b2TimeOfImpact.
Definition: b2_time_of_impact.h:41
-
Definition: b2_distance.h:33
- - - - diff --git a/documentation/b2__time__step_8h_source.html b/documentation/b2__time__step_8h_source.html deleted file mode 100644 index fb19c3f..0000000 --- a/documentation/b2__time__step_8h_source.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_time_step.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_time_step.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 #ifndef B2_TIME_STEP_H
-
23 #define B2_TIME_STEP_H
-
24 
-
25 #include "b2_api.h"
-
26 #include "b2_math.h"
-
27 
-
29 struct B2_API b2Profile
-
30 {
-
31  float step;
-
32  float collide;
-
33  float solve;
-
34  float solveInit;
-
35  float solveVelocity;
-
36  float solvePosition;
-
37  float broadphase;
-
38  float solveTOI;
-
39 };
-
40 
-
42 struct B2_API b2TimeStep
-
43 {
-
44  float dt; // time step
-
45  float inv_dt; // inverse time step (0 if dt == 0).
-
46  float dtRatio; // dt * inv_dt0
-
47  int32 velocityIterations;
-
48  int32 positionIterations;
-
49  bool warmStarting;
-
50 };
-
51 
-
53 struct B2_API b2Position
-
54 {
-
55  b2Vec2 c;
-
56  float a;
-
57 };
-
58 
-
60 struct B2_API b2Velocity
-
61 {
-
62  b2Vec2 v;
-
63  float w;
-
64 };
-
65 
-
67 struct B2_API b2SolverData
-
68 {
-
69  b2TimeStep step;
-
70  b2Position* positions;
-
71  b2Velocity* velocities;
-
72 };
-
73 
-
74 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
This is an internal structure.
Definition: b2_time_step.h:42
-
Profiling data. Times are in milliseconds.
Definition: b2_time_step.h:29
-
This is an internal structure.
Definition: b2_time_step.h:53
-
This is an internal structure.
Definition: b2_time_step.h:60
-
Solver Data.
Definition: b2_time_step.h:67
- - - - diff --git a/documentation/b2__timer_8h_source.html b/documentation/b2__timer_8h_source.html deleted file mode 100644 index dd2590f..0000000 --- a/documentation/b2__timer_8h_source.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_timer.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_timer.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_TIMER_H
-
24 #define B2_TIMER_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_settings.h"
-
28 
-
31 class B2_API b2Timer
-
32 {
-
33 public:
-
34 
-
36  b2Timer();
-
37 
-
39  void Reset();
-
40 
-
42  float GetMilliseconds() const;
-
43 
-
44 private:
-
45 
-
46 #if defined(_WIN32)
-
47  double m_start;
-
48  static double s_invFrequency;
-
49 #elif defined(__linux__) || defined (__APPLE__)
-
50  unsigned long long m_start_sec;
-
51  unsigned long long m_start_usec;
-
52 #endif
-
53 };
-
54 
-
55 #endif
-
-
-
-
Definition: b2_timer.h:31
- - - - diff --git a/documentation/b2__types_8h_source.html b/documentation/b2__types_8h_source.html deleted file mode 100644 index a7303c3..0000000 --- a/documentation/b2__types_8h_source.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_types.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_types.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2020 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_TYPES_H
-
24 #define B2_TYPES_H
-
25 
-
26 typedef signed char int8;
-
27 typedef signed short int16;
-
28 typedef signed int int32;
-
29 typedef unsigned char uint8;
-
30 typedef unsigned short uint16;
-
31 typedef unsigned int uint32;
-
32 
-
33 #endif
-
-
- - - - diff --git a/documentation/b2__weld__joint_8h_source.html b/documentation/b2__weld__joint_8h_source.html deleted file mode 100644 index 2cac533..0000000 --- a/documentation/b2__weld__joint_8h_source.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_weld_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_weld_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_WELD_JOINT_H
-
24 #define B2_WELD_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
32 struct B2_API b2WeldJointDef : public b2JointDef
-
33 {
- -
35  {
-
36  type = e_weldJoint;
-
37  localAnchorA.Set(0.0f, 0.0f);
-
38  localAnchorB.Set(0.0f, 0.0f);
-
39  referenceAngle = 0.0f;
-
40  stiffness = 0.0f;
-
41  damping = 0.0f;
-
42  }
-
43 
-
48  void Initialize(b2Body* bodyA, b2Body* bodyB, const b2Vec2& anchor);
-
49 
- -
52 
- -
55 
- -
58 
-
61  float stiffness;
-
62 
-
64  float damping;
-
65 };
-
66 
-
69 class B2_API b2WeldJoint : public b2Joint
-
70 {
-
71 public:
-
72  b2Vec2 GetAnchorA() const override;
-
73  b2Vec2 GetAnchorB() const override;
-
74 
-
75  b2Vec2 GetReactionForce(float inv_dt) const override;
-
76  float GetReactionTorque(float inv_dt) const override;
-
77 
-
79  const b2Vec2& GetLocalAnchorA() const { return m_localAnchorA; }
-
80 
-
82  const b2Vec2& GetLocalAnchorB() const { return m_localAnchorB; }
-
83 
-
85  float GetReferenceAngle() const { return m_referenceAngle; }
-
86 
-
88  void SetStiffness(float hz) { m_stiffness = hz; }
-
89  float GetStiffness() const { return m_stiffness; }
-
90 
-
92  void SetDamping(float damping) { m_damping = damping; }
-
93  float GetDamping() const { return m_damping; }
-
94 
-
96  void Dump() override;
-
97 
-
98 protected:
-
99 
-
100  friend class b2Joint;
-
101 
-
102  b2WeldJoint(const b2WeldJointDef* def);
-
103 
-
104  void InitVelocityConstraints(const b2SolverData& data) override;
-
105  void SolveVelocityConstraints(const b2SolverData& data) override;
-
106  bool SolvePositionConstraints(const b2SolverData& data) override;
-
107 
-
108  float m_stiffness;
-
109  float m_damping;
-
110  float m_bias;
-
111 
-
112  // Solver shared
-
113  b2Vec2 m_localAnchorA;
-
114  b2Vec2 m_localAnchorB;
-
115  float m_referenceAngle;
-
116  float m_gamma;
-
117  b2Vec3 m_impulse;
-
118 
-
119  // Solver temp
-
120  int32 m_indexA;
-
121  int32 m_indexB;
-
122  b2Vec2 m_rA;
-
123  b2Vec2 m_rB;
-
124  b2Vec2 m_localCenterA;
-
125  b2Vec2 m_localCenterB;
-
126  float m_invMassA;
-
127  float m_invMassB;
-
128  float m_invIA;
-
129  float m_invIB;
-
130  b2Mat33 m_mass;
-
131 };
-
132 
-
133 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
float stiffness
Definition: b2_weld_joint.h:61
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
float GetReferenceAngle() const
Get the reference angle.
Definition: b2_weld_joint.h:85
-
float damping
The rotational damping in N*m*s.
Definition: b2_weld_joint.h:64
-
const b2Vec2 & GetLocalAnchorA() const
The local anchor point relative to bodyA's origin.
Definition: b2_weld_joint.h:79
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
A 2D column vector with 3 elements.
Definition: b2_math.h:132
-
void SetStiffness(float hz)
Set/get stiffness in N*m.
Definition: b2_weld_joint.h:88
-
void SetDamping(float damping)
Set/get damping in N*m*s.
Definition: b2_weld_joint.h:92
-
A 3-by-3 matrix. Stored in column-major order.
Definition: b2_math.h:245
-
Definition: b2_weld_joint.h:69
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_weld_joint.h:54
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
float referenceAngle
The bodyB angle minus bodyA angle in the reference state (radians).
Definition: b2_weld_joint.h:57
-
Definition: b2_weld_joint.h:32
-
Solver Data.
Definition: b2_time_step.h:67
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_weld_joint.h:51
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
Definition: b2_joint.h:110
-
const b2Vec2 & GetLocalAnchorB() const
The local anchor point relative to bodyB's origin.
Definition: b2_weld_joint.h:82
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
- - - - diff --git a/documentation/b2__wheel__joint_8h_source.html b/documentation/b2__wheel__joint_8h_source.html deleted file mode 100644 index 59b13ef..0000000 --- a/documentation/b2__wheel__joint_8h_source.html +++ /dev/null @@ -1,328 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_wheel_joint.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_wheel_joint.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_WHEEL_JOINT_H
-
24 #define B2_WHEEL_JOINT_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_joint.h"
-
28 
-
35 struct B2_API b2WheelJointDef : public b2JointDef
-
36 {
- -
38  {
-
39  type = e_wheelJoint;
-
40  localAnchorA.SetZero();
-
41  localAnchorB.SetZero();
-
42  localAxisA.Set(1.0f, 0.0f);
-
43  enableLimit = false;
-
44  lowerTranslation = 0.0f;
-
45  upperTranslation = 0.0f;
-
46  enableMotor = false;
-
47  maxMotorTorque = 0.0f;
-
48  motorSpeed = 0.0f;
-
49  stiffness = 0.0f;
-
50  damping = 0.0f;
-
51  }
-
52 
-
55  void Initialize(b2Body* bodyA, b2Body* bodyB, const b2Vec2& anchor, const b2Vec2& axis);
-
56 
- -
59 
- -
62 
- -
65 
- -
68 
- -
71 
- -
74 
- -
77 
- -
80 
-
82  float motorSpeed;
-
83 
-
85  float stiffness;
-
86 
-
88  float damping;
-
89 };
-
90 
-
95 class B2_API b2WheelJoint : public b2Joint
-
96 {
-
97 public:
-
98  b2Vec2 GetAnchorA() const override;
-
99  b2Vec2 GetAnchorB() const override;
-
100 
-
101  b2Vec2 GetReactionForce(float inv_dt) const override;
-
102  float GetReactionTorque(float inv_dt) const override;
-
103 
-
105  const b2Vec2& GetLocalAnchorA() const { return m_localAnchorA; }
-
106 
-
108  const b2Vec2& GetLocalAnchorB() const { return m_localAnchorB; }
-
109 
-
111  const b2Vec2& GetLocalAxisA() const { return m_localXAxisA; }
-
112 
-
114  float GetJointTranslation() const;
-
115 
-
117  float GetJointLinearSpeed() const;
-
118 
-
120  float GetJointAngle() const;
-
121 
-
123  float GetJointAngularSpeed() const;
-
124 
-
126  bool IsLimitEnabled() const;
-
127 
-
129  void EnableLimit(bool flag);
-
130 
-
132  float GetLowerLimit() const;
-
133 
-
135  float GetUpperLimit() const;
-
136 
-
138  void SetLimits(float lower, float upper);
-
139 
-
141  bool IsMotorEnabled() const;
-
142 
-
144  void EnableMotor(bool flag);
-
145 
-
147  void SetMotorSpeed(float speed);
-
148 
-
150  float GetMotorSpeed() const;
-
151 
-
153  void SetMaxMotorTorque(float torque);
-
154  float GetMaxMotorTorque() const;
-
155 
-
157  float GetMotorTorque(float inv_dt) const;
-
158 
-
160  void SetStiffness(float stiffness);
-
161  float GetStiffness() const;
-
162 
-
164  void SetDamping(float damping);
-
165  float GetDamping() const;
-
166 
-
168  void Dump() override;
-
169 
-
171  void Draw(b2Draw* draw) const override;
-
172 
-
173 protected:
-
174 
-
175  friend class b2Joint;
-
176  b2WheelJoint(const b2WheelJointDef* def);
-
177 
-
178  void InitVelocityConstraints(const b2SolverData& data) override;
-
179  void SolveVelocityConstraints(const b2SolverData& data) override;
-
180  bool SolvePositionConstraints(const b2SolverData& data) override;
-
181 
-
182  b2Vec2 m_localAnchorA;
-
183  b2Vec2 m_localAnchorB;
-
184  b2Vec2 m_localXAxisA;
-
185  b2Vec2 m_localYAxisA;
-
186 
-
187  float m_impulse;
-
188  float m_motorImpulse;
-
189  float m_springImpulse;
-
190 
-
191  float m_lowerImpulse;
-
192  float m_upperImpulse;
-
193  float m_translation;
-
194  float m_lowerTranslation;
-
195  float m_upperTranslation;
-
196 
-
197  float m_maxMotorTorque;
-
198  float m_motorSpeed;
-
199 
-
200  bool m_enableLimit;
-
201  bool m_enableMotor;
-
202 
-
203  float m_stiffness;
-
204  float m_damping;
-
205 
-
206  // Solver temp
-
207  int32 m_indexA;
-
208  int32 m_indexB;
-
209  b2Vec2 m_localCenterA;
-
210  b2Vec2 m_localCenterB;
-
211  float m_invMassA;
-
212  float m_invMassB;
-
213  float m_invIA;
-
214  float m_invIB;
-
215 
-
216  b2Vec2 m_ax, m_ay;
-
217  float m_sAx, m_sBx;
-
218  float m_sAy, m_sBy;
-
219 
-
220  float m_mass;
-
221  float m_motorMass;
-
222  float m_axialMass;
-
223  float m_springMass;
-
224 
-
225  float m_bias;
-
226  float m_gamma;
-
227 
-
228 };
-
229 
-
230 inline float b2WheelJoint::GetMotorSpeed() const
-
231 {
-
232  return m_motorSpeed;
-
233 }
-
234 
-
235 inline float b2WheelJoint::GetMaxMotorTorque() const
-
236 {
-
237  return m_maxMotorTorque;
-
238 }
-
239 
-
240 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
Definition: b2_draw.h:48
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition: b2_wheel_joint.h:61
-
float upperTranslation
The upper translation limit, usually in meters.
Definition: b2_wheel_joint.h:73
-
Definition: b2_wheel_joint.h:95
-
virtual void Draw(b2Draw *draw) const
Debug draw this joint.
-
float stiffness
Suspension stiffness. Typically in units N/m.
Definition: b2_wheel_joint.h:85
-
bool enableMotor
Enable/disable the joint motor.
Definition: b2_wheel_joint.h:76
-
float GetMotorSpeed() const
Get the motor speed, usually in radians per second.
Definition: b2_wheel_joint.h:230
-
virtual void Dump()
Dump this joint to the log file.
Definition: b2_joint.h:151
-
const b2Vec2 & GetLocalAxisA() const
The local joint axis relative to bodyA.
Definition: b2_wheel_joint.h:111
-
b2Vec2 localAxisA
The local translation axis in bodyA.
Definition: b2_wheel_joint.h:64
-
float damping
Suspension damping. Typically in units of N*s/m.
Definition: b2_wheel_joint.h:88
-
const b2Vec2 & GetLocalAnchorA() const
The local anchor point relative to bodyA's origin.
Definition: b2_wheel_joint.h:105
-
Definition: b2_wheel_joint.h:35
-
Solver Data.
Definition: b2_time_step.h:67
-
float maxMotorTorque
The maximum motor torque, usually in N-m.
Definition: b2_wheel_joint.h:79
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition: b2_wheel_joint.h:58
-
bool enableLimit
Enable/disable the joint limit.
Definition: b2_wheel_joint.h:67
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
float motorSpeed
The desired motor speed in radians per second.
Definition: b2_wheel_joint.h:82
-
Definition: b2_joint.h:110
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
float lowerTranslation
The lower translation limit, usually in meters.
Definition: b2_wheel_joint.h:70
-
const b2Vec2 & GetLocalAnchorB() const
The local anchor point relative to bodyB's origin.
Definition: b2_wheel_joint.h:108
- - - - diff --git a/documentation/b2__world_8h_source.html b/documentation/b2__world_8h_source.html deleted file mode 100644 index 9d11efc..0000000 --- a/documentation/b2__world_8h_source.html +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_world.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_world.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_WORLD_H
-
24 #define B2_WORLD_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_block_allocator.h"
-
28 #include "b2_contact_manager.h"
-
29 #include "b2_math.h"
-
30 #include "b2_stack_allocator.h"
-
31 #include "b2_time_step.h"
-
32 #include "b2_world_callbacks.h"
-
33 
-
34 struct b2AABB;
-
35 struct b2BodyDef;
-
36 struct b2Color;
-
37 struct b2JointDef;
-
38 class b2Body;
-
39 class b2Draw;
-
40 class b2Fixture;
-
41 class b2Joint;
-
42 
-
46 class B2_API b2World
-
47 {
-
48 public:
-
51  b2World(const b2Vec2& gravity);
-
52 
-
54  ~b2World();
-
55 
-
58  void SetDestructionListener(b2DestructionListener* listener);
-
59 
-
63  void SetContactFilter(b2ContactFilter* filter);
-
64 
-
67  void SetContactListener(b2ContactListener* listener);
-
68 
-
72  void SetDebugDraw(b2Draw* debugDraw);
-
73 
-
77  b2Body* CreateBody(const b2BodyDef* def);
-
78 
-
83  void DestroyBody(b2Body* body);
-
84 
-
88  b2Joint* CreateJoint(const b2JointDef* def);
-
89 
-
92  void DestroyJoint(b2Joint* joint);
-
93 
-
99  void Step( float timeStep,
-
100  int32 velocityIterations,
-
101  int32 positionIterations);
-
102 
-
110  void ClearForces();
-
111 
-
113  void DebugDraw();
-
114 
-
119  void QueryAABB(b2QueryCallback* callback, const b2AABB& aabb) const;
-
120 
-
127  void RayCast(b2RayCastCallback* callback, const b2Vec2& point1, const b2Vec2& point2) const;
-
128 
-
132  b2Body* GetBodyList();
-
133  const b2Body* GetBodyList() const;
-
134 
-
138  b2Joint* GetJointList();
-
139  const b2Joint* GetJointList() const;
-
140 
-
146  b2Contact* GetContactList();
-
147  const b2Contact* GetContactList() const;
-
148 
-
150  void SetAllowSleeping(bool flag);
-
151  bool GetAllowSleeping() const { return m_allowSleep; }
-
152 
-
154  void SetWarmStarting(bool flag) { m_warmStarting = flag; }
-
155  bool GetWarmStarting() const { return m_warmStarting; }
-
156 
-
158  void SetContinuousPhysics(bool flag) { m_continuousPhysics = flag; }
-
159  bool GetContinuousPhysics() const { return m_continuousPhysics; }
-
160 
-
162  void SetSubStepping(bool flag) { m_subStepping = flag; }
-
163  bool GetSubStepping() const { return m_subStepping; }
-
164 
-
166  int32 GetProxyCount() const;
-
167 
-
169  int32 GetBodyCount() const;
-
170 
-
172  int32 GetJointCount() const;
-
173 
-
175  int32 GetContactCount() const;
-
176 
-
178  int32 GetTreeHeight() const;
-
179 
-
181  int32 GetTreeBalance() const;
-
182 
-
185  float GetTreeQuality() const;
-
186 
-
188  void SetGravity(const b2Vec2& gravity);
-
189 
-
191  b2Vec2 GetGravity() const;
-
192 
-
194  bool IsLocked() const;
-
195 
-
197  void SetAutoClearForces(bool flag);
-
198 
-
200  bool GetAutoClearForces() const;
-
201 
-
205  void ShiftOrigin(const b2Vec2& newOrigin);
-
206 
-
208  const b2ContactManager& GetContactManager() const;
-
209 
-
211  const b2Profile& GetProfile() const;
-
212 
-
215  void Dump();
-
216 
-
217 private:
-
218 
-
219  friend class b2Body;
-
220  friend class b2Fixture;
-
221  friend class b2ContactManager;
-
222  friend class b2Controller;
-
223 
-
224  void Solve(const b2TimeStep& step);
-
225  void SolveTOI(const b2TimeStep& step);
-
226 
-
227  void DrawShape(b2Fixture* shape, const b2Transform& xf, const b2Color& color);
-
228 
-
229  b2BlockAllocator m_blockAllocator;
-
230  b2StackAllocator m_stackAllocator;
-
231 
-
232  b2ContactManager m_contactManager;
-
233 
-
234  b2Body* m_bodyList;
-
235  b2Joint* m_jointList;
-
236 
-
237  int32 m_bodyCount;
-
238  int32 m_jointCount;
-
239 
-
240  b2Vec2 m_gravity;
-
241  bool m_allowSleep;
-
242 
-
243  b2DestructionListener* m_destructionListener;
-
244  b2Draw* m_debugDraw;
-
245 
-
246  // This is used to compute the time step ratio to
-
247  // support a variable time step.
-
248  float m_inv_dt0;
-
249 
-
250  bool m_newContacts;
-
251  bool m_locked;
-
252  bool m_clearForces;
-
253 
-
254  // These are for debugging the solver.
-
255  bool m_warmStarting;
-
256  bool m_continuousPhysics;
-
257  bool m_subStepping;
-
258 
-
259  bool m_stepComplete;
-
260 
-
261  b2Profile m_profile;
-
262 };
-
263 
- -
265 {
-
266  return m_bodyList;
-
267 }
-
268 
-
269 inline const b2Body* b2World::GetBodyList() const
-
270 {
-
271  return m_bodyList;
-
272 }
-
273 
- -
275 {
-
276  return m_jointList;
-
277 }
-
278 
-
279 inline const b2Joint* b2World::GetJointList() const
-
280 {
-
281  return m_jointList;
-
282 }
-
283 
- -
285 {
-
286  return m_contactManager.m_contactList;
-
287 }
-
288 
-
289 inline const b2Contact* b2World::GetContactList() const
-
290 {
-
291  return m_contactManager.m_contactList;
-
292 }
-
293 
-
294 inline int32 b2World::GetBodyCount() const
-
295 {
-
296  return m_bodyCount;
-
297 }
-
298 
-
299 inline int32 b2World::GetJointCount() const
-
300 {
-
301  return m_jointCount;
-
302 }
-
303 
-
304 inline int32 b2World::GetContactCount() const
-
305 {
-
306  return m_contactManager.m_contactCount;
-
307 }
-
308 
-
309 inline void b2World::SetGravity(const b2Vec2& gravity)
-
310 {
-
311  m_gravity = gravity;
-
312 }
-
313 
- -
315 {
-
316  return m_gravity;
-
317 }
-
318 
-
319 inline bool b2World::IsLocked() const
-
320 {
-
321  return m_locked;
-
322 }
-
323 
-
324 inline void b2World::SetAutoClearForces(bool flag)
-
325 {
-
326  m_clearForces = flag;
-
327 }
-
328 
-
330 inline bool b2World::GetAutoClearForces() const
-
331 {
-
332  return m_clearForces;
-
333 }
-
334 
- -
336 {
-
337  return m_contactManager;
-
338 }
-
339 
-
340 inline const b2Profile& b2World::GetProfile() const
-
341 {
-
342  return m_profile;
-
343 }
-
344 
-
345 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
This is an internal structure.
Definition: b2_time_step.h:42
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
Definition: b2_contact_manager.h:35
-
int32 GetContactCount() const
Get the number of contacts (each may have 0 or more contact points).
Definition: b2_world.h:304
-
b2Body * GetBodyList()
Definition: b2_world.h:264
-
Profiling data. Times are in milliseconds.
Definition: b2_time_step.h:29
-
const b2ContactManager & GetContactManager() const
Get the contact manager for testing.
Definition: b2_world.h:335
-
Definition: b2_world_callbacks.h:86
-
Definition: b2_draw.h:48
-
Definition: b2_math.h:338
-
void SetWarmStarting(bool flag)
Enable/disable warm starting. For testing.
Definition: b2_world.h:154
-
Joint definitions are used to construct joints.
Definition: b2_joint.h:72
-
Definition: b2_world_callbacks.h:128
-
int32 GetBodyCount() const
Get the number of bodies.
Definition: b2_world.h:294
-
void SetGravity(const b2Vec2 &gravity)
Change the global gravity vector.
Definition: b2_world.h:309
-
Definition: b2_stack_allocator.h:42
-
b2Joint * GetJointList()
Definition: b2_world.h:274
-
int32 GetJointCount() const
Get the number of joints.
Definition: b2_world.h:299
-
Color for debug drawing. Each value has the range [0,1].
Definition: b2_draw.h:30
-
Definition: b2_fixture.h:116
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
void SetContinuousPhysics(bool flag)
Enable/disable continuous physics. For testing.
Definition: b2_world.h:158
-
void SetAutoClearForces(bool flag)
Set flag to control automatic clearing of forces after each time step.
Definition: b2_world.h:324
-
Definition: b2_block_allocator.h:37
-
Definition: b2_body.h:52
-
b2Contact * GetContactList()
Definition: b2_world.h:284
-
b2Vec2 GetGravity() const
Get the global gravity vector.
Definition: b2_world.h:314
-
Definition: b2_contact.h:88
-
void SetSubStepping(bool flag)
Enable/disable single stepped continuous physics. For testing.
Definition: b2_world.h:162
-
Definition: b2_world_callbacks.h:140
-
Definition: b2_world.h:46
-
Definition: b2_world_callbacks.h:57
-
const b2Profile & GetProfile() const
Get the current profile.
Definition: b2_world.h:340
-
Definition: b2_joint.h:110
-
bool GetAutoClearForces() const
Get the flag that controls automatic clearing of forces after each time step.
Definition: b2_world.h:330
-
Definition: b2_world_callbacks.h:41
-
bool IsLocked() const
Is the world locked (in the middle of a time step).
Definition: b2_world.h:319
- - - - diff --git a/documentation/b2__world__callbacks_8h_source.html b/documentation/b2__world__callbacks_8h_source.html deleted file mode 100644 index 270f618..0000000 --- a/documentation/b2__world__callbacks_8h_source.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/include/box2d/b2_world_callbacks.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2_world_callbacks.h
-
-
-
1 // MIT License
-
2 
-
3 // Copyright (c) 2019 Erin Catto
-
4 
-
5 // Permission is hereby granted, free of charge, to any person obtaining a copy
-
6 // of this software and associated documentation files (the "Software"), to deal
-
7 // in the Software without restriction, including without limitation the rights
-
8 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-
9 // copies of the Software, and to permit persons to whom the Software is
-
10 // furnished to do so, subject to the following conditions:
-
11 
-
12 // The above copyright notice and this permission notice shall be included in all
-
13 // copies or substantial portions of the Software.
-
14 
-
15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-
16 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-
17 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-
18 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-
19 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-
20 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-
21 // SOFTWARE.
-
22 
-
23 #ifndef B2_WORLD_CALLBACKS_H
-
24 #define B2_WORLD_CALLBACKS_H
-
25 
-
26 #include "b2_api.h"
-
27 #include "b2_settings.h"
-
28 
-
29 struct b2Vec2;
-
30 struct b2Transform;
-
31 class b2Fixture;
-
32 class b2Body;
-
33 class b2Joint;
-
34 class b2Contact;
-
35 struct b2ContactResult;
-
36 struct b2Manifold;
-
37 
- -
42 {
-
43 public:
-
44  virtual ~b2DestructionListener() {}
-
45 
-
48  virtual void SayGoodbye(b2Joint* joint) = 0;
-
49 
-
52  virtual void SayGoodbye(b2Fixture* fixture) = 0;
-
53 };
-
54 
-
57 class B2_API b2ContactFilter
-
58 {
-
59 public:
-
60  virtual ~b2ContactFilter() {}
-
61 
-
64  virtual bool ShouldCollide(b2Fixture* fixtureA, b2Fixture* fixtureB);
-
65 };
-
66 
-
70 struct B2_API b2ContactImpulse
-
71 {
-
72  float normalImpulses[b2_maxManifoldPoints];
-
73  float tangentImpulses[b2_maxManifoldPoints];
-
74  int32 count;
-
75 };
-
76 
-
86 class B2_API b2ContactListener
-
87 {
-
88 public:
-
89  virtual ~b2ContactListener() {}
-
90 
-
92  virtual void BeginContact(b2Contact* contact) { B2_NOT_USED(contact); }
-
93 
-
95  virtual void EndContact(b2Contact* contact) { B2_NOT_USED(contact); }
-
96 
-
107  virtual void PreSolve(b2Contact* contact, const b2Manifold* oldManifold)
-
108  {
-
109  B2_NOT_USED(contact);
-
110  B2_NOT_USED(oldManifold);
-
111  }
-
112 
-
119  virtual void PostSolve(b2Contact* contact, const b2ContactImpulse* impulse)
-
120  {
-
121  B2_NOT_USED(contact);
-
122  B2_NOT_USED(impulse);
-
123  }
-
124 };
-
125 
-
128 class B2_API b2QueryCallback
-
129 {
-
130 public:
-
131  virtual ~b2QueryCallback() {}
-
132 
-
135  virtual bool ReportFixture(b2Fixture* fixture) = 0;
-
136 };
-
137 
-
140 class B2_API b2RayCastCallback
-
141 {
-
142 public:
-
143  virtual ~b2RayCastCallback() {}
-
144 
-
157  virtual float ReportFixture( b2Fixture* fixture, const b2Vec2& point,
-
158  const b2Vec2& normal, float fraction) = 0;
-
159 };
-
160 
-
161 #endif
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
virtual void PreSolve(b2Contact *contact, const b2Manifold *oldManifold)
Definition: b2_world_callbacks.h:107
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
-
Definition: b2_world_callbacks.h:86
-
Definition: b2_math.h:338
-
virtual void BeginContact(b2Contact *contact)
Called when two fixtures begin to touch.
Definition: b2_world_callbacks.h:92
-
Definition: b2_collision.h:99
-
Definition: b2_world_callbacks.h:128
-
virtual void PostSolve(b2Contact *contact, const b2ContactImpulse *impulse)
Definition: b2_world_callbacks.h:119
-
#define b2_maxManifoldPoints
Definition: b2_common.h:51
-
virtual void EndContact(b2Contact *contact)
Called when two fixtures cease to touch.
Definition: b2_world_callbacks.h:95
-
Definition: b2_fixture.h:116
-
Definition: b2_world_callbacks.h:70
-
Definition: b2_contact.h:88
-
Definition: b2_world_callbacks.h:140
-
Definition: b2_world_callbacks.h:57
-
Definition: b2_joint.h:110
-
Definition: b2_world_callbacks.h:41
- - - - diff --git a/documentation/base_8h_source.html b/documentation/base_8h_source.html index 293f57c..fca2172 100644 --- a/documentation/base_8h_source.html +++ b/documentation/base_8h_source.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/bdwn.png b/documentation/bdwn.png deleted file mode 100644 index 940a0b9..0000000 Binary files a/documentation/bdwn.png and /dev/null differ diff --git a/documentation/box2d_8h_source.html b/documentation/box2d_8h_source.html index 855b26f..aa4dabd 100644 --- a/documentation/box2d_8h_source.html +++ b/documentation/box2d_8h_source.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
@@ -740,11 +740,11 @@
float b2DistanceJoint_GetDampingRatio(b2JointId jointId)
Get the spring damping ratio.
void b2DistanceJoint_SetMotorSpeed(b2JointId jointId, float motorSpeed)
Set the distance joint motor speed, typically in meters per second.
void b2DistanceJoint_EnableLimit(b2JointId jointId, bool enableLimit)
Enable joint limit.
-
Distance joint definition.
Definition types.h:472
-
Body events are buffered in the Box2D world and are available as event arrays after the time step is ...
Definition types.h:1006
-
The contact data for two shapes.
Definition types.h:1018
-
Contact events are buffered in the Box2D world and are available as event arrays after the time step ...
Definition types.h:964
-
Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays aft...
Definition types.h:907
+
Distance joint definition.
Definition types.h:473
+
Body events are buffered in the Box2D world and are available as event arrays after the time step is ...
Definition types.h:1007
+
The contact data for two shapes.
Definition types.h:1019
+
Contact events are buffered in the Box2D world and are available as event arrays after the time step ...
Definition types.h:965
+
Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays aft...
Definition types.h:908
A solid capsule can be viewed as two semicircles connected by a rectangle.
Definition collision.h:111
Low level ray-cast or shape-cast output data.
Definition collision.h:68
A solid circle.
Definition collision.h:100
@@ -757,7 +757,7 @@
Joint id references a joint instance. This should be treated as an opaque handle.
Definition id.h:61
Shape id references a shape instance. This should be treated as an opaque handle.
Definition id.h:53
World id references a world instance. This should be treated as an opaque handle.
Definition id.h:38
-
b2JointType
Joint type enumeration.
Definition types.h:454
+
b2JointType
Joint type enumeration.
Definition types.h:455
bool b2Joint_IsValid(b2JointId id)
Joint identifier validation. Provides validation for up to 64K allocations.
void b2Joint_SetUserData(b2JointId jointId, void *userData)
Set the user data on a joint.
void b2Joint_WakeBodies(b2JointId jointId)
Wake the bodies connect to this joint.
@@ -787,7 +787,7 @@
void b2MotorJoint_SetMaxForce(b2JointId jointId, float maxForce)
Set the motor joint maximum force, typically in newtons.
float b2MotorJoint_GetMaxForce(b2JointId jointId)
Get the motor joint maximum force, typically in newtons.
void b2MotorJoint_SetCorrectionFactor(b2JointId jointId, float correctionFactor)
Set the motor joint correction factor, typically in [0, 1].
-
A motor joint is used to control the relative motion between two bodies.
Definition types.h:535
+
A motor joint is used to control the relative motion between two bodies.
Definition types.h:536
float b2MouseJoint_GetMaxForce(b2JointId jointId)
Get the mouse joint maximum force, typically in newtons.
b2JointId b2CreateMouseJoint(b2WorldId worldId, const b2MouseJointDef *def)
Create a mouse joint.
void b2MouseJoint_SetMaxForce(b2JointId jointId, float maxForce)
Set the mouse joint maximum force, typically in newtons.
@@ -797,7 +797,7 @@
b2Vec2 b2MouseJoint_GetTarget(b2JointId jointId)
Get the mouse joint target.
float b2MouseJoint_GetSpringHertz(b2JointId jointId)
Get the mouse joint spring stiffness in Hertz.
void b2MouseJoint_SetTarget(b2JointId jointId, b2Vec2 target)
Set the mouse joint target.
-
A mouse joint is used to make a point on a body track a specified world point.
Definition types.h:577
+
A mouse joint is used to make a point on a body track a specified world point.
Definition types.h:578
float b2PrismaticJoint_GetMotorSpeed(b2JointId jointId)
Get the prismatic joint motor speed, typically in meters per second.
float b2PrismaticJoint_GetSpringHertz(b2JointId jointId)
Get the prismatic joint stiffness in Hertz.
float b2PrismaticJoint_GetMaxMotorForce(b2JointId jointId)
Get the prismatic joint maximum motor force, typically in newtons.
@@ -817,7 +817,7 @@
bool b2PrismaticJoint_IsLimitEnabled(b2JointId jointId)
Is the prismatic joint limit enabled?
float b2PrismaticJoint_GetLowerLimit(b2JointId jointId)
Get the prismatic joint lower limit.
float b2PrismaticJoint_GetSpringDampingRatio(b2JointId jointId)
Get the prismatic spring damping ratio (non-dimensional)
-
Prismatic joint definition.
Definition types.h:618
+
Prismatic joint definition.
Definition types.h:619
void b2RevoluteJoint_SetMaxMotorTorque(b2JointId jointId, float torque)
Set the revolute joint maximum motor torque, typically in newton-meters.
void b2RevoluteJoint_SetLimits(b2JointId jointId, float lower, float upper)
Set the revolute joint limits in radians.
float b2RevoluteJoint_GetSpringDampingRatio(b2JointId jointId)
Get the revolute joint spring damping ratio, non-dimensional.
@@ -837,7 +837,7 @@
float b2RevoluteJoint_GetUpperLimit(b2JointId jointId)
Get the revolute joint upper limit in radians.
void b2RevoluteJoint_SetMotorSpeed(b2JointId jointId, float motorSpeed)
Set the revolute joint motor speed in radians per second.
void b2RevoluteJoint_EnableSpring(b2JointId jointId, bool enableSpring)
Enable/disable the revolute joint spring.
-
Revolute joint definition.
Definition types.h:691
+
Revolute joint definition.
Definition types.h:692
b2BodyId b2Shape_GetBody(b2ShapeId shapeId)
Get the id of the body that a shape is attached to.
void b2Shape_SetFriction(b2ShapeId shapeId, float friction)
Set the friction on a shape.
b2Capsule b2Shape_GetCapsule(b2ShapeId shapeId)
Get a copy of the shape's capsule. Asserts the type is correct.
@@ -887,7 +887,7 @@
void b2Chain_SetFriction(b2ChainId chainId, float friction)
Set the chain friction.
void b2Shape_SetRestitution(b2ShapeId shapeId, float restitution)
Set the shape restitution (bounciness)
void b2Shape_EnablePreSolveEvents(b2ShapeId shapeId, bool flag)
Enable pre-solve contact events for this shape.
-
Used to create a chain of edges.
Definition types.h:372
+
Used to create a chain of edges.
Definition types.h:373
This is used to filter collision on shapes.
Definition types.h:224
The query filter is used to filter collisions between queries and shapes.
Definition types.h:266
Used to create a shape.
Definition types.h:308
@@ -900,7 +900,7 @@
float b2WeldJoint_GetAngularDampingRatio(b2JointId jointId)
Get the weld joint angular damping ratio, non-dimensional.
void b2WeldJoint_SetAngularHertz(b2JointId jointId, float hertz)
Set the weld joint angular stiffness in Hertz. 0 is rigid.
void b2WeldJoint_SetLinearHertz(b2JointId jointId, float hertz)
Set the weld joint linear stiffness in Hertz. 0 is rigid.
-
Weld joint definition.
Definition types.h:759
+
Weld joint definition.
Definition types.h:760
void b2WheelJoint_SetMaxMotorTorque(b2JointId jointId, float torque)
Set the wheel joint maximum motor torque, typically in newton-meters.
bool b2WheelJoint_IsSpringEnabled(b2JointId jointId)
Is the wheel joint spring enabled?
float b2WheelJoint_GetUpperLimit(b2JointId jointId)
Get the wheel joint upper limit.
@@ -920,14 +920,14 @@
void b2WheelJoint_SetSpringDampingRatio(b2JointId jointId, float dampingRatio)
Set the wheel joint damping ratio, non-dimensional.
void b2WheelJoint_SetMotorSpeed(b2JointId jointId, float motorSpeed)
Set the wheel joint motor speed in radians per second.
float b2WheelJoint_GetMaxMotorTorque(b2JointId jointId)
Get the wheel joint maximum motor torque, typically in newton-meters.
-
Wheel joint definition.
Definition types.h:809
+
Wheel joint definition.
Definition types.h:810
void b2World_Step(b2WorldId worldId, float timeStep, int subStepCount)
Simulate a world for one time step.
void b2World_Draw(b2WorldId worldId, b2DebugDraw *draw)
Call this to draw shapes and other debug draw data.
void b2World_SetContactTuning(b2WorldId worldId, float hertz, float dampingRatio, float pushVelocity)
Adjust contact tuning parameters.
b2RayResult b2World_CastRayClosest(b2WorldId worldId, b2Vec2 origin, b2Vec2 translation, b2QueryFilter filter)
Cast a ray into the world to collect the closest hit.
void b2World_CastCapsule(b2WorldId worldId, const b2Capsule *capsule, b2Transform originTransform, b2Vec2 translation, b2QueryFilter filter, b2CastResultFcn *fcn, void *context)
Cast a capsule through the world. Similar to a cast ray except that a capsule is cast instead of a po...
void b2World_CastPolygon(b2WorldId worldId, const b2Polygon *polygon, b2Transform originTransform, b2Vec2 translation, b2QueryFilter filter, b2CastResultFcn *fcn, void *context)
Cast a polygon through the world. Similar to a cast ray except that a polygon is cast instead of a po...
-
bool b2OverlapResultFcn(b2ShapeId shapeId, void *context)
Prototype callback for overlap queries.
Definition types.h:1059
+
bool b2OverlapResultFcn(b2ShapeId shapeId, void *context)
Prototype callback for overlap queries.
Definition types.h:1060
void b2World_CastCircle(b2WorldId worldId, const b2Circle *circle, b2Transform originTransform, b2Vec2 translation, b2QueryFilter filter, b2CastResultFcn *fcn, void *context)
Cast a circle through the world. Similar to a cast ray except that a circle is cast instead of a poin...
void b2World_EnableSleeping(b2WorldId worldId, bool flag)
Enable/disable sleep.
void b2World_DumpMemoryStats(b2WorldId worldId)
Dump memory stats to box2d_memory.txt.
@@ -945,20 +945,20 @@
void b2DestroyWorld(b2WorldId worldId)
Destroy a world.
void b2World_SetHitEventThreshold(b2WorldId worldId, float value)
Adjust the hit event threshold.
void b2World_Explode(b2WorldId worldId, b2Vec2 position, float radius, float impulse)
Apply a radial explosion.
-
bool b2PreSolveFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold *manifold, void *context)
Prototype for a pre-solve callback.
Definition types.h:1052
+
bool b2PreSolveFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold *manifold, void *context)
Prototype for a pre-solve callback.
Definition types.h:1053
void b2World_OverlapAABB(b2WorldId worldId, b2AABB aabb, b2QueryFilter filter, b2OverlapResultFcn *fcn, void *context)
Overlap test for all shapes that potentially overlap the provided AABB.
void b2World_CastRay(b2WorldId worldId, b2Vec2 origin, b2Vec2 translation, b2QueryFilter filter, b2CastResultFcn *fcn, void *context)
Cast a ray into the world to collect shapes in the path of the ray.
void b2World_SetRestitutionThreshold(b2WorldId worldId, float value)
Adjust the restitution threshold.
-
float b2CastResultFcn(b2ShapeId shapeId, b2Vec2 point, b2Vec2 normal, float fraction, void *context)
Prototype callback for ray casts.
Definition types.h:1076
+
float b2CastResultFcn(b2ShapeId shapeId, b2Vec2 point, b2Vec2 normal, float fraction, void *context)
Prototype callback for ray casts.
Definition types.h:1077
b2Counters b2World_GetCounters(b2WorldId worldId)
Get world counters and sizes.
b2BodyEvents b2World_GetBodyEvents(b2WorldId worldId)
Get the body events for the current time step. The event data is transient. Do not store a reference ...
void b2World_SetPreSolveCallback(b2WorldId worldId, b2PreSolveFcn *fcn, void *context)
Register the pre-solve callback. This is optional.
void b2World_OverlapPolygon(b2WorldId worldId, const b2Polygon *polygon, b2Transform transform, b2QueryFilter filter, b2OverlapResultFcn *fcn, void *context)
Overlap test for all shapes that overlap the provided polygon.
b2Vec2 b2World_GetGravity(b2WorldId worldId)
Get the gravity vector.
-
bool b2CustomFilterFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, void *context)
Prototype for a contact filter callback.
Definition types.h:1037
+
bool b2CustomFilterFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, void *context)
Prototype for a contact filter callback.
Definition types.h:1038
Result from b2World_RayCastClosest.
Definition types.h:53
World definition used to create a simulation world.
Definition types.h:65
-
This struct holds callbacks you can implement to draw a Box2D world.
Definition types.h:1245
+
This struct holds callbacks you can implement to draw a Box2D world.
Definition types.h:1246
diff --git a/documentation/classb2_block_allocator-members.html b/documentation/classb2_block_allocator-members.html deleted file mode 100644 index f738d39..0000000 --- a/documentation/classb2_block_allocator-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2BlockAllocator Member List
-
-
- -

This is the complete list of members for b2BlockAllocator, including all inherited members.

- - - - - - -
Allocate(int32 size)b2BlockAllocator
b2BlockAllocator() (defined in b2BlockAllocator)b2BlockAllocator
Clear() (defined in b2BlockAllocator)b2BlockAllocator
Free(void *p, int32 size)b2BlockAllocator
~b2BlockAllocator() (defined in b2BlockAllocator)b2BlockAllocator
-
- - - - diff --git a/documentation/classb2_block_allocator.html b/documentation/classb2_block_allocator.html deleted file mode 100644 index a4a055f..0000000 --- a/documentation/classb2_block_allocator.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Box2D: b2BlockAllocator Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2BlockAllocator Class Reference
-
-
- -

#include <b2_block_allocator.h>

- - - - - - - - - - -

-Public Member Functions

-void * Allocate (int32 size)
 Allocate memory. This will use b2Alloc if the size is larger than b2_maxBlockSize.
 
-void Free (void *p, int32 size)
 Free memory. This will use b2Free if the size is larger than b2_maxBlockSize.
 
-void Clear ()
 
-

Detailed Description

-

This is a small object allocator used for allocating small objects that persist for more than one time step. See: http://www.codeproject.com/useritems/Small_Block_Allocator.asp

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_block_allocator.js b/documentation/classb2_block_allocator.js deleted file mode 100644 index fa4b8c6..0000000 --- a/documentation/classb2_block_allocator.js +++ /dev/null @@ -1,8 +0,0 @@ -var classb2_block_allocator = -[ - [ "b2BlockAllocator", "classb2_block_allocator.html#aed5dab4fea4c2636724dac550105f8c1", null ], - [ "~b2BlockAllocator", "classb2_block_allocator.html#a4179da8aa8fc463cd06adeab926e9c89", null ], - [ "Allocate", "classb2_block_allocator.html#a60b4b07a234adfe19cd1279805ed6519", null ], - [ "Clear", "classb2_block_allocator.html#a3d3bac86217eba9d1eb6dff2acee0d77", null ], - [ "Free", "classb2_block_allocator.html#a945fdf86e260318b930a53dcc887ca8b", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_body-members.html b/documentation/classb2_body-members.html deleted file mode 100644 index 3b98a01..0000000 --- a/documentation/classb2_body-members.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Body Member List
-
-
- -

This is the complete list of members for b2Body, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ApplyAngularImpulse(float impulse, bool wake)b2Bodyinline
ApplyForce(const b2Vec2 &force, const b2Vec2 &point, bool wake)b2Bodyinline
ApplyForceToCenter(const b2Vec2 &force, bool wake)b2Bodyinline
ApplyLinearImpulse(const b2Vec2 &impulse, const b2Vec2 &point, bool wake)b2Bodyinline
ApplyLinearImpulseToCenter(const b2Vec2 &impulse, bool wake)b2Bodyinline
ApplyTorque(float torque, bool wake)b2Bodyinline
b2Contact (defined in b2Body)b2Bodyfriend
b2ContactManager (defined in b2Body)b2Bodyfriend
b2ContactSolver (defined in b2Body)b2Bodyfriend
b2DistanceJoint (defined in b2Body)b2Bodyfriend
b2FrictionJoint (defined in b2Body)b2Bodyfriend
b2GearJoint (defined in b2Body)b2Bodyfriend
b2Island (defined in b2Body)b2Bodyfriend
b2MotorJoint (defined in b2Body)b2Bodyfriend
b2MouseJoint (defined in b2Body)b2Bodyfriend
b2PrismaticJoint (defined in b2Body)b2Bodyfriend
b2PulleyJoint (defined in b2Body)b2Bodyfriend
b2RevoluteJoint (defined in b2Body)b2Bodyfriend
b2RopeJoint (defined in b2Body)b2Bodyfriend
b2WeldJoint (defined in b2Body)b2Bodyfriend
b2WheelJoint (defined in b2Body)b2Bodyfriend
b2World (defined in b2Body)b2Bodyfriend
CreateFixture(const b2FixtureDef *def)b2Body
CreateFixture(const b2Shape *shape, float density)b2Body
DestroyFixture(b2Fixture *fixture)b2Body
Dump()b2Body
GetAngle() constb2Bodyinline
GetAngularDamping() constb2Bodyinline
GetAngularVelocity() constb2Bodyinline
GetContactList()b2Bodyinline
GetContactList() const (defined in b2Body)b2Body
GetFixtureList()b2Bodyinline
GetFixtureList() const (defined in b2Body)b2Body
GetGravityScale() constb2Bodyinline
GetInertia() constb2Bodyinline
GetJointList()b2Bodyinline
GetJointList() const (defined in b2Body)b2Body
GetLinearDamping() constb2Bodyinline
GetLinearVelocity() constb2Bodyinline
GetLinearVelocityFromLocalPoint(const b2Vec2 &localPoint) constb2Bodyinline
GetLinearVelocityFromWorldPoint(const b2Vec2 &worldPoint) constb2Bodyinline
GetLocalCenter() constb2Bodyinline
GetLocalPoint(const b2Vec2 &worldPoint) constb2Bodyinline
GetLocalVector(const b2Vec2 &worldVector) constb2Bodyinline
GetMass() constb2Bodyinline
GetMassData(b2MassData *data) constb2Bodyinline
GetNext()b2Bodyinline
GetNext() const (defined in b2Body)b2Body
GetPosition() constb2Bodyinline
GetTransform() constb2Bodyinline
GetType() constb2Bodyinline
GetUserData()b2Bodyinline
GetWorld()b2Bodyinline
GetWorld() const (defined in b2Body)b2Body
GetWorldCenter() constb2Bodyinline
GetWorldPoint(const b2Vec2 &localPoint) constb2Bodyinline
GetWorldVector(const b2Vec2 &localVector) constb2Bodyinline
IsAwake() constb2Bodyinline
IsBullet() constb2Bodyinline
IsEnabled() constb2Bodyinline
IsFixedRotation() constb2Bodyinline
IsSleepingAllowed() constb2Bodyinline
ResetMassData()b2Body
SetAngularDamping(float angularDamping)b2Bodyinline
SetAngularVelocity(float omega)b2Bodyinline
SetAwake(bool flag)b2Bodyinline
SetBullet(bool flag)b2Bodyinline
SetEnabled(bool flag)b2Body
SetFixedRotation(bool flag)b2Body
SetGravityScale(float scale)b2Bodyinline
SetLinearDamping(float linearDamping)b2Bodyinline
SetLinearVelocity(const b2Vec2 &v)b2Bodyinline
SetMassData(const b2MassData *data)b2Body
SetSleepingAllowed(bool flag)b2Bodyinline
SetTransform(const b2Vec2 &position, float angle)b2Body
SetType(b2BodyType type)b2Body
SetUserData(void *data)b2Body
-
- - - - diff --git a/documentation/classb2_body.html b/documentation/classb2_body.html deleted file mode 100644 index 5f70168..0000000 --- a/documentation/classb2_body.html +++ /dev/null @@ -1,1400 +0,0 @@ - - - - - - - -Box2D: b2Body Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Body Class Reference
-
-
- -

A rigid body. These are created via b2World::CreateBody. - More...

- -

#include <b2_body.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

b2FixtureCreateFixture (const b2FixtureDef *def)
 
b2FixtureCreateFixture (const b2Shape *shape, float density)
 
void DestroyFixture (b2Fixture *fixture)
 
void SetTransform (const b2Vec2 &position, float angle)
 
const b2TransformGetTransform () const
 
const b2Vec2GetPosition () const
 
float GetAngle () const
 
-const b2Vec2GetWorldCenter () const
 Get the world position of the center of mass.
 
-const b2Vec2GetLocalCenter () const
 Get the local position of the center of mass.
 
void SetLinearVelocity (const b2Vec2 &v)
 
const b2Vec2GetLinearVelocity () const
 
void SetAngularVelocity (float omega)
 
float GetAngularVelocity () const
 
void ApplyForce (const b2Vec2 &force, const b2Vec2 &point, bool wake)
 
void ApplyForceToCenter (const b2Vec2 &force, bool wake)
 
void ApplyTorque (float torque, bool wake)
 
void ApplyLinearImpulse (const b2Vec2 &impulse, const b2Vec2 &point, bool wake)
 
void ApplyLinearImpulseToCenter (const b2Vec2 &impulse, bool wake)
 
void ApplyAngularImpulse (float impulse, bool wake)
 
float GetMass () const
 
float GetInertia () const
 
void GetMassData (b2MassData *data) const
 
void SetMassData (const b2MassData *data)
 
void ResetMassData ()
 
b2Vec2 GetWorldPoint (const b2Vec2 &localPoint) const
 
b2Vec2 GetWorldVector (const b2Vec2 &localVector) const
 
b2Vec2 GetLocalPoint (const b2Vec2 &worldPoint) const
 
b2Vec2 GetLocalVector (const b2Vec2 &worldVector) const
 
b2Vec2 GetLinearVelocityFromWorldPoint (const b2Vec2 &worldPoint) const
 
b2Vec2 GetLinearVelocityFromLocalPoint (const b2Vec2 &localPoint) const
 
-float GetLinearDamping () const
 Get the linear damping of the body.
 
-void SetLinearDamping (float linearDamping)
 Set the linear damping of the body.
 
-float GetAngularDamping () const
 Get the angular damping of the body.
 
-void SetAngularDamping (float angularDamping)
 Set the angular damping of the body.
 
-float GetGravityScale () const
 Get the gravity scale of the body.
 
-void SetGravityScale (float scale)
 Set the gravity scale of the body.
 
-void SetType (b2BodyType type)
 Set the type of this body. This may alter the mass and velocity.
 
-b2BodyType GetType () const
 Get the type of this body.
 
-void SetBullet (bool flag)
 Should this body be treated like a bullet for continuous collision detection?
 
-bool IsBullet () const
 Is this body treated like a bullet for continuous collision detection?
 
void SetSleepingAllowed (bool flag)
 
-bool IsSleepingAllowed () const
 Is this body allowed to sleep.
 
void SetAwake (bool flag)
 
bool IsAwake () const
 
void SetEnabled (bool flag)
 
-bool IsEnabled () const
 Get the active state of the body.
 
void SetFixedRotation (bool flag)
 
-bool IsFixedRotation () const
 Does this body have fixed rotation?
 
-b2FixtureGetFixtureList ()
 Get the list of all fixtures attached to this body.
 
-const b2FixtureGetFixtureList () const
 
-b2JointEdgeGetJointList ()
 Get the list of all joints attached to this body.
 
-const b2JointEdgeGetJointList () const
 
b2ContactEdgeGetContactList ()
 
-const b2ContactEdgeGetContactList () const
 
-b2BodyGetNext ()
 Get the next body in the world's body list.
 
-const b2BodyGetNext () const
 
-b2BodyUserDataGetUserData ()
 Get the user data pointer that was provided in the body definition.
 
-void SetUserData (void *data)
 Set the user data. Use this to store your application specific data.
 
-b2WorldGetWorld ()
 Get the parent world of this body.
 
-const b2WorldGetWorld () const
 
-void Dump ()
 Dump this body to a file.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Friends

-class b2World
 
-class b2Island
 
-class b2ContactManager
 
-class b2ContactSolver
 
-class b2Contact
 
-class b2DistanceJoint
 
-class b2FrictionJoint
 
-class b2GearJoint
 
-class b2MotorJoint
 
-class b2MouseJoint
 
-class b2PrismaticJoint
 
-class b2PulleyJoint
 
-class b2RevoluteJoint
 
-class b2RopeJoint
 
-class b2WeldJoint
 
-class b2WheelJoint
 
-

Detailed Description

-

A rigid body. These are created via b2World::CreateBody.

-

Member Function Documentation

- -

◆ ApplyAngularImpulse()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2Body::ApplyAngularImpulse (float impulse,
bool wake 
)
-
-inline
-
-

Apply an angular impulse.

Parameters
- - - -
impulsethe angular impulse in units of kg*m*m/s
wakealso wake up the body
-
-
- -
-
- -

◆ ApplyForce()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2Body::ApplyForce (const b2Vec2force,
const b2Vec2point,
bool wake 
)
-
-inline
-
-

Apply a force at a world point. If the force is not applied at the center of mass, it will generate a torque and affect the angular velocity. This wakes up the body.

Parameters
- - - - -
forcethe world force vector, usually in Newtons (N).
pointthe world position of the point of application.
wakealso wake up the body
-
-
- -
-
- -

◆ ApplyForceToCenter()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2Body::ApplyForceToCenter (const b2Vec2force,
bool wake 
)
-
-inline
-
-

Apply a force to the center of mass. This wakes up the body.

Parameters
- - - -
forcethe world force vector, usually in Newtons (N).
wakealso wake up the body
-
-
- -
-
- -

◆ ApplyLinearImpulse()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2Body::ApplyLinearImpulse (const b2Vec2impulse,
const b2Vec2point,
bool wake 
)
-
-inline
-
-

Apply an impulse at a point. This immediately modifies the velocity. It also modifies the angular velocity if the point of application is not at the center of mass. This wakes up the body.

Parameters
- - - - -
impulsethe world impulse vector, usually in N-seconds or kg-m/s.
pointthe world position of the point of application.
wakealso wake up the body
-
-
- -
-
- -

◆ ApplyLinearImpulseToCenter()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2Body::ApplyLinearImpulseToCenter (const b2Vec2impulse,
bool wake 
)
-
-inline
-
-

Apply an impulse to the center of mass. This immediately modifies the velocity.

Parameters
- - - -
impulsethe world impulse vector, usually in N-seconds or kg-m/s.
wakealso wake up the body
-
-
- -
-
- -

◆ ApplyTorque()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2Body::ApplyTorque (float torque,
bool wake 
)
-
-inline
-
-

Apply a torque. This affects the angular velocity without affecting the linear velocity of the center of mass.

Parameters
- - - -
torqueabout the z-axis (out of the screen), usually in N-m.
wakealso wake up the body
-
-
- -
-
- -

◆ CreateFixture() [1/2]

- -
-
- - - - - - - - -
b2Fixture* b2Body::CreateFixture (const b2FixtureDefdef)
-
-

Creates a fixture and attach it to this body. Use this function if you need to set some fixture parameters, like friction. Otherwise you can create the fixture directly from a shape. If the density is non-zero, this function automatically updates the mass of the body. Contacts are not created until the next time step.

Parameters
- - -
defthe fixture definition.
-
-
-
Warning
This function is locked during callbacks.
- -
-
- -

◆ CreateFixture() [2/2]

- -
-
- - - - - - - - - - - - - - - - - - -
b2Fixture* b2Body::CreateFixture (const b2Shapeshape,
float density 
)
-
-

Creates a fixture from a shape and attach it to this body. This is a convenience function. Use b2FixtureDef if you need to set parameters like friction, restitution, user data, or filtering. If the density is non-zero, this function automatically updates the mass of the body.

Parameters
- - - -
shapethe shape to be cloned.
densitythe shape density (set to zero for static bodies).
-
-
-
Warning
This function is locked during callbacks.
- -
-
- -

◆ DestroyFixture()

- -
-
- - - - - - - - -
void b2Body::DestroyFixture (b2Fixturefixture)
-
-

Destroy a fixture. This removes the fixture from the broad-phase and destroys all contacts associated with this fixture. This will automatically adjust the mass of the body if the body is dynamic and the fixture has positive density. All fixtures attached to a body are implicitly destroyed when the body is destroyed.

Parameters
- - -
fixturethe fixture to be removed.
-
-
-
Warning
This function is locked during callbacks.
- -
-
- -

◆ GetAngle()

- -
-
- - - - - -
- - - - - - - -
float b2Body::GetAngle () const
-
-inline
-
-

Get the angle in radians.

Returns
the current world rotation angle in radians.
- -
-
- -

◆ GetAngularVelocity()

- -
-
- - - - - -
- - - - - - - -
float b2Body::GetAngularVelocity () const
-
-inline
-
-

Get the angular velocity.

Returns
the angular velocity in radians/second.
- -
-
- -

◆ GetContactList()

- -
-
- - - - - -
- - - - - - - -
const b2ContactEdge * b2Body::GetContactList ()
-
-inline
-
-

Get the list of all contacts attached to this body.

Warning
this list changes during the time step and you may miss some collisions if you don't use b2ContactListener.
- -
-
- -

◆ GetInertia()

- -
-
- - - - - -
- - - - - - - -
float b2Body::GetInertia () const
-
-inline
-
-

Get the rotational inertia of the body about the local origin.

Returns
the rotational inertia, usually in kg-m^2.
- -
-
- -

◆ GetLinearVelocity()

- -
-
- - - - - -
- - - - - - - -
const b2Vec2 & b2Body::GetLinearVelocity () const
-
-inline
-
-

Get the linear velocity of the center of mass.

Returns
the linear velocity of the center of mass.
- -
-
- -

◆ GetLinearVelocityFromLocalPoint()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2Body::GetLinearVelocityFromLocalPoint (const b2Vec2localPoint) const
-
-inline
-
-

Get the world velocity of a local point.

Parameters
- - -
localPointa point in local coordinates.
-
-
-
Returns
the world velocity of a point.
- -
-
- -

◆ GetLinearVelocityFromWorldPoint()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2Body::GetLinearVelocityFromWorldPoint (const b2Vec2worldPoint) const
-
-inline
-
-

Get the world linear velocity of a world point attached to this body.

Parameters
- - -
worldPointa point in world coordinates.
-
-
-
Returns
the world velocity of a point.
- -
-
- -

◆ GetLocalPoint()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2Body::GetLocalPoint (const b2Vec2worldPoint) const
-
-inline
-
-

Gets a local point relative to the body's origin given a world point.

Parameters
- - -
worldPointa point in world coordinates.
-
-
-
Returns
the corresponding local point relative to the body's origin.
- -
-
- -

◆ GetLocalVector()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2Body::GetLocalVector (const b2Vec2worldVector) const
-
-inline
-
-

Gets a local vector given a world vector.

Parameters
- - -
worldVectora vector in world coordinates.
-
-
-
Returns
the corresponding local vector.
- -
-
- -

◆ GetMass()

- -
-
- - - - - -
- - - - - - - -
float b2Body::GetMass () const
-
-inline
-
-

Get the total mass of the body.

Returns
the mass, usually in kilograms (kg).
- -
-
- -

◆ GetMassData()

- -
-
- - - - - -
- - - - - - - - -
void b2Body::GetMassData (b2MassDatadata) const
-
-inline
-
-

Get the mass data of the body.

Returns
a struct containing the mass, inertia and center of the body.
- -
-
- -

◆ GetPosition()

- -
-
- - - - - -
- - - - - - - -
const b2Vec2 & b2Body::GetPosition () const
-
-inline
-
-

Get the world body origin position.

Returns
the world position of the body's origin.
- -
-
- -

◆ GetTransform()

- -
-
- - - - - -
- - - - - - - -
const b2Transform & b2Body::GetTransform () const
-
-inline
-
-

Get the body transform for the body's origin.

Returns
the world transform of the body's origin.
- -
-
- -

◆ GetWorldPoint()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2Body::GetWorldPoint (const b2Vec2localPoint) const
-
-inline
-
-

Get the world coordinates of a point given the local coordinates.

Parameters
- - -
localPointa point on the body measured relative the the body's origin.
-
-
-
Returns
the same point expressed in world coordinates.
- -
-
- -

◆ GetWorldVector()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2Body::GetWorldVector (const b2Vec2localVector) const
-
-inline
-
-

Get the world coordinates of a vector given the local coordinates.

Parameters
- - -
localVectora vector fixed in the body.
-
-
-
Returns
the same vector expressed in world coordinates.
- -
-
- -

◆ IsAwake()

- -
-
- - - - - -
- - - - - - - -
bool b2Body::IsAwake () const
-
-inline
-
-

Get the sleeping state of this body.

Returns
true if the body is awake.
- -
-
- -

◆ ResetMassData()

- -
-
- - - - - - - -
void b2Body::ResetMassData ()
-
-

This resets the mass properties to the sum of the mass properties of the fixtures. This normally does not need to be called unless you called SetMassData to override the mass and you later want to reset the mass.

- -
-
- -

◆ SetAngularVelocity()

- -
-
- - - - - -
- - - - - - - - -
void b2Body::SetAngularVelocity (float omega)
-
-inline
-
-

Set the angular velocity.

Parameters
- - -
omegathe new angular velocity in radians/second.
-
-
- -
-
- -

◆ SetAwake()

- -
-
- - - - - -
- - - - - - - - -
void b2Body::SetAwake (bool flag)
-
-inline
-
-

Set the sleep state of the body. A sleeping body has very low CPU cost.

Parameters
- - -
flagset to true to wake the body, false to put it to sleep.
-
-
- -
-
- -

◆ SetEnabled()

- -
-
- - - - - - - - -
void b2Body::SetEnabled (bool flag)
-
-

Allow a body to be disabled. A disabled body is not simulated and cannot be collided with or woken up. If you pass a flag of true, all fixtures will be added to the broad-phase. If you pass a flag of false, all fixtures will be removed from the broad-phase and all contacts will be destroyed. Fixtures and joints are otherwise unaffected. You may continue to create/destroy fixtures and joints on disabled bodies. Fixtures on a disabled body are implicitly disabled and will not participate in collisions, ray-casts, or queries. Joints connected to a disabled body are implicitly disabled. An diabled body is still owned by a b2World object and remains in the body list.

- -
-
- -

◆ SetFixedRotation()

- -
-
- - - - - - - - -
void b2Body::SetFixedRotation (bool flag)
-
-

Set this body to have fixed rotation. This causes the mass to be reset.

- -
-
- -

◆ SetLinearVelocity()

- -
-
- - - - - -
- - - - - - - - -
void b2Body::SetLinearVelocity (const b2Vec2v)
-
-inline
-
-

Set the linear velocity of the center of mass.

Parameters
- - -
vthe new linear velocity of the center of mass.
-
-
- -
-
- -

◆ SetMassData()

- -
-
- - - - - - - - -
void b2Body::SetMassData (const b2MassDatadata)
-
-

Set the mass properties to override the mass properties of the fixtures. Note that this changes the center of mass position. Note that creating or destroying fixtures can also alter the mass. This function has no effect if the body isn't dynamic.

Parameters
- - -
datathe mass properties.
-
-
- -
-
- -

◆ SetSleepingAllowed()

- -
-
- - - - - -
- - - - - - - - -
void b2Body::SetSleepingAllowed (bool flag)
-
-inline
-
-

You can disable sleeping on this body. If you disable sleeping, the body will be woken.

- -
-
- -

◆ SetTransform()

- -
-
- - - - - - - - - - - - - - - - - - -
void b2Body::SetTransform (const b2Vec2position,
float angle 
)
-
-

Set the position of the body's origin and rotation. Manipulating a body's transform may cause non-physical behavior. Note: contacts are updated on the next call to b2World::Step.

Parameters
- - - -
positionthe world position of the body's local origin.
anglethe world rotation in radians.
-
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_body.js b/documentation/classb2_body.js deleted file mode 100644 index 08dea8b..0000000 --- a/documentation/classb2_body.js +++ /dev/null @@ -1,80 +0,0 @@ -var classb2_body = -[ - [ "ApplyAngularImpulse", "classb2_body.html#a1a6e1eb0807a0bbe1da7b063c0d0ed42", null ], - [ "ApplyForce", "classb2_body.html#a942be8e1cd2bcd06f53c4638c45a9525", null ], - [ "ApplyForceToCenter", "classb2_body.html#abeba04911f7a2a141169bb06fe98d06a", null ], - [ "ApplyLinearImpulse", "classb2_body.html#a7f677e93efb3c4c065087aff317274a3", null ], - [ "ApplyLinearImpulseToCenter", "classb2_body.html#afa249d2fc11735985211e47c3d8e16fb", null ], - [ "ApplyTorque", "classb2_body.html#ad0156d7a74b15c87ca2793d69f45928f", null ], - [ "CreateFixture", "classb2_body.html#a40dda91b34418bb40e31e2db9b1b76a5", null ], - [ "CreateFixture", "classb2_body.html#a3587f472b121deadca4ecb770f518647", null ], - [ "DestroyFixture", "classb2_body.html#a856d1df86b7bded91f02d8cfcaea1c2f", null ], - [ "Dump", "classb2_body.html#ac9e482f7d9df92801c24e79a7e751d06", null ], - [ "GetAngle", "classb2_body.html#ab5d135ef592b5f11f4e8d3ffbd831ac5", null ], - [ "GetAngularDamping", "classb2_body.html#a18747d955ee0d0b15f1a9ac6519072c4", null ], - [ "GetAngularVelocity", "classb2_body.html#a74598dd867e9e658198363e51fd9fc09", null ], - [ "GetContactList", "classb2_body.html#ad20334ee2027b51c81d40614d62b6114", null ], - [ "GetContactList", "classb2_body.html#a74190d96a35a86d3f23dc1196fa2b11a", null ], - [ "GetFixtureList", "classb2_body.html#a51e648fae53a5985d92542a2f284c30b", null ], - [ "GetFixtureList", "classb2_body.html#a7472979d6cb440b0b02e251cdb9b5257", null ], - [ "GetGravityScale", "classb2_body.html#a8f07fc15b51ff436c5fac17fa3b0217d", null ], - [ "GetInertia", "classb2_body.html#aeb14368285d1956e61c4ecdf388e3fe8", null ], - [ "GetJointList", "classb2_body.html#aa265e145185e58ff310bf4498f682029", null ], - [ "GetJointList", "classb2_body.html#ad199b1c8c28e129afdd4a2975e9f9677", null ], - [ "GetLinearDamping", "classb2_body.html#a6bc2ee9d96ac58f48774ffd10fd45153", null ], - [ "GetLinearVelocity", "classb2_body.html#a8fcaf842141320701057f679dff90b89", null ], - [ "GetLinearVelocityFromLocalPoint", "classb2_body.html#a0ac0a4ad6ac3c7804652d9994239dcbd", null ], - [ "GetLinearVelocityFromWorldPoint", "classb2_body.html#a5bc9a483e5f59199daa1751786034c1d", null ], - [ "GetLocalCenter", "classb2_body.html#a60cc46fc46849b0d5e61a151b7c41269", null ], - [ "GetLocalPoint", "classb2_body.html#a0df8f4312ab23223489323326b2d763d", null ], - [ "GetLocalVector", "classb2_body.html#aed2f88179cedf4cdbdc47429ebe41288", null ], - [ "GetMass", "classb2_body.html#a885eff0655c0b7c4a8d44821c1e261c7", null ], - [ "GetMassData", "classb2_body.html#a5100927dbd39dd0addea79d5f323f3f1", null ], - [ "GetNext", "classb2_body.html#a43d77e8df9c04d259fb3a1088fee4c69", null ], - [ "GetNext", "classb2_body.html#ad14be276c67c93e1bc859df14057ab52", null ], - [ "GetPosition", "classb2_body.html#a7944dc953ac0cb1e00b32bc61b50e70d", null ], - [ "GetTransform", "classb2_body.html#afb316448e6e555ceb2df23ed216b2f53", null ], - [ "GetType", "classb2_body.html#a9c2234b5a5fff91305a65ecd0cf0ee59", null ], - [ "GetUserData", "classb2_body.html#a13eeec74f9c874f9dab25463b0c11717", null ], - [ "GetWorld", "classb2_body.html#a934fd329f6264cd55e58eab34baadb39", null ], - [ "GetWorld", "classb2_body.html#a5d818ba53f7434cf5f844cca54b0aec8", null ], - [ "GetWorldCenter", "classb2_body.html#a3e14cfe61c63913ef7b0f719f7145318", null ], - [ "GetWorldPoint", "classb2_body.html#a712b782c61963c6f07beca86acc631ae", null ], - [ "GetWorldVector", "classb2_body.html#ae8c434785b2a730f7c385e708b345bb6", null ], - [ "IsAwake", "classb2_body.html#a697f708427cdf7d31a626e80e694682c", null ], - [ "IsBullet", "classb2_body.html#ad99db1c7a19e8de333ff7f65b0b953f4", null ], - [ "IsEnabled", "classb2_body.html#a065ecdf30e8d27a0a1164f5fb1bfc99a", null ], - [ "IsFixedRotation", "classb2_body.html#a0920b7a770f7c876cf6d149e227036b5", null ], - [ "IsSleepingAllowed", "classb2_body.html#ac47251de3a8c0ccff620be7bd5ae696a", null ], - [ "ResetMassData", "classb2_body.html#a109d8567c6ae84c61fce2919fb209c63", null ], - [ "SetAngularDamping", "classb2_body.html#a7fad826a126e08bfbf40037fd8f21ba3", null ], - [ "SetAngularVelocity", "classb2_body.html#a1a8ff152b3a0189b391c9dd6b4c5f12c", null ], - [ "SetAwake", "classb2_body.html#ac72ed3df52a26c33db82252ab57399af", null ], - [ "SetBullet", "classb2_body.html#a3253af3725b8d6d63d8223bcd2ddab5c", null ], - [ "SetEnabled", "classb2_body.html#a06bd5b953ff991174fdbf801d52db177", null ], - [ "SetFixedRotation", "classb2_body.html#aff35078e2a221d2d05409674936cb8d2", null ], - [ "SetGravityScale", "classb2_body.html#a91e20c85857663ae4454c0173f06e1a6", null ], - [ "SetLinearDamping", "classb2_body.html#aa36fac8c5d7293d1a81405c147204d20", null ], - [ "SetLinearVelocity", "classb2_body.html#a832f3989a44f0d4782c80456832197ad", null ], - [ "SetMassData", "classb2_body.html#a58a641fedf8a81e1e26d09ec00a22fe2", null ], - [ "SetSleepingAllowed", "classb2_body.html#a229a6de228416203fecbf7a7544c33bb", null ], - [ "SetTransform", "classb2_body.html#abfe3e65202189e99f46b8688886eff86", null ], - [ "SetType", "classb2_body.html#a34ff1c84b10b74eb990749a025a1b1ad", null ], - [ "SetUserData", "classb2_body.html#a5553a5ecdfd2d7200ba2405ce6043f52", null ], - [ "b2Contact", "classb2_body.html#a6c4ac5df27ec498dd9e4281352b7a789", null ], - [ "b2ContactManager", "classb2_body.html#aece264d42f69aed410f5eb3beba6ddf2", null ], - [ "b2ContactSolver", "classb2_body.html#afb788a7ba90344f3ddbafff3de0465c4", null ], - [ "b2DistanceJoint", "classb2_body.html#ab574994230041b2ee9717de78866b74f", null ], - [ "b2FrictionJoint", "classb2_body.html#a00cce0630ae86cbf33214a6a7716b684", null ], - [ "b2GearJoint", "classb2_body.html#a13c275221e30bb485e17e4e04553cb71", null ], - [ "b2Island", "classb2_body.html#afc682950b8c4f251804fc1938663098b", null ], - [ "b2MotorJoint", "classb2_body.html#ac5b29e17373357870c7e1b8dd41c78d1", null ], - [ "b2MouseJoint", "classb2_body.html#af778d9e4de5da0fbcfada1615344cf86", null ], - [ "b2PrismaticJoint", "classb2_body.html#a78ff31fe08bbb0c83ad03ba6dfb9d78c", null ], - [ "b2PulleyJoint", "classb2_body.html#af7861e214216f26a70b7596130e0326f", null ], - [ "b2RevoluteJoint", "classb2_body.html#aa6afb0f5dc73f101a6fc3a3c63abedf8", null ], - [ "b2RopeJoint", "classb2_body.html#ab24edbcb929fa9bd24b92d6006c00ab2", null ], - [ "b2WeldJoint", "classb2_body.html#a9fafe51e7203fdb53358c75e1c41142b", null ], - [ "b2WheelJoint", "classb2_body.html#a715f06ed5bb576994cd50d0b99cc18ec", null ], - [ "b2World", "classb2_body.html#a4bd536c5a7c0587913765bbc2693ceea", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_broad_phase-members.html b/documentation/classb2_broad_phase-members.html deleted file mode 100644 index 636f73e..0000000 --- a/documentation/classb2_broad_phase-members.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2BroadPhase Member List
-
-
- -

This is the complete list of members for b2BroadPhase, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
b2BroadPhase() (defined in b2BroadPhase)b2BroadPhase
b2DynamicTree (defined in b2BroadPhase)b2BroadPhasefriend
CreateProxy(const b2AABB &aabb, void *userData)b2BroadPhase
DestroyProxy(int32 proxyId)b2BroadPhase
e_nullProxy enum value (defined in b2BroadPhase)b2BroadPhase
GetFatAABB(int32 proxyId) constb2BroadPhaseinline
GetProxyCount() constb2BroadPhaseinline
GetTreeBalance() constb2BroadPhaseinline
GetTreeHeight() constb2BroadPhaseinline
GetTreeQuality() constb2BroadPhaseinline
GetUserData(int32 proxyId) constb2BroadPhaseinline
MoveProxy(int32 proxyId, const b2AABB &aabb, const b2Vec2 &displacement)b2BroadPhase
Query(T *callback, const b2AABB &aabb) constb2BroadPhaseinline
RayCast(T *callback, const b2RayCastInput &input) constb2BroadPhaseinline
ShiftOrigin(const b2Vec2 &newOrigin)b2BroadPhaseinline
TestOverlap(int32 proxyIdA, int32 proxyIdB) constb2BroadPhaseinline
TouchProxy(int32 proxyId)b2BroadPhase
UpdatePairs(T *callback)b2BroadPhase
~b2BroadPhase() (defined in b2BroadPhase)b2BroadPhase
-
- - - - diff --git a/documentation/classb2_broad_phase.html b/documentation/classb2_broad_phase.html deleted file mode 100644 index 76ab18e..0000000 --- a/documentation/classb2_broad_phase.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - -Box2D: b2BroadPhase Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2BroadPhase Class Reference
-
-
- -

#include <b2_broad_phase.h>

- - - - -

-Public Types

enum  { e_nullProxy = -1 - }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

int32 CreateProxy (const b2AABB &aabb, void *userData)
 
-void DestroyProxy (int32 proxyId)
 Destroy a proxy. It is up to the client to remove any pairs.
 
void MoveProxy (int32 proxyId, const b2AABB &aabb, const b2Vec2 &displacement)
 
-void TouchProxy (int32 proxyId)
 Call to trigger a re-processing of it's pairs on the next call to UpdatePairs.
 
-const b2AABBGetFatAABB (int32 proxyId) const
 Get the fat AABB for a proxy.
 
-void * GetUserData (int32 proxyId) const
 Get user data from a proxy. Returns nullptr if the id is invalid.
 
-bool TestOverlap (int32 proxyIdA, int32 proxyIdB) const
 Test overlap of fat AABBs.
 
-int32 GetProxyCount () const
 Get the number of proxies.
 
-template<typename T >
void UpdatePairs (T *callback)
 Update the pairs. This results in pair callbacks. This can only add pairs.
 
template<typename T >
void Query (T *callback, const b2AABB &aabb) const
 
template<typename T >
void RayCast (T *callback, const b2RayCastInput &input) const
 
-int32 GetTreeHeight () const
 Get the height of the embedded tree.
 
-int32 GetTreeBalance () const
 Get the balance of the embedded tree.
 
-float GetTreeQuality () const
 Get the quality metric of the embedded tree.
 
void ShiftOrigin (const b2Vec2 &newOrigin)
 
- - - -

-Friends

-class b2DynamicTree
 
-

Detailed Description

-

The broad-phase is used for computing pairs and performing volume queries and ray casts. This broad-phase does not persist pairs. Instead, this reports potentially new pairs. It is up to the client to consume the new pairs and to track subsequent overlap.

-

Member Function Documentation

- -

◆ CreateProxy()

- -
-
- - - - - - - - - - - - - - - - - - -
int32 b2BroadPhase::CreateProxy (const b2AABBaabb,
void * userData 
)
-
-

Create a proxy with an initial AABB. Pairs are not reported until UpdatePairs is called.

- -
-
- -

◆ MoveProxy()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2BroadPhase::MoveProxy (int32 proxyId,
const b2AABBaabb,
const b2Vec2displacement 
)
-
-

Call MoveProxy as many times as you like, then when you are done call UpdatePairs to finalized the proxy pairs (for your time step).

- -
-
- -

◆ Query()

- -
-
-
-template<typename T >
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2BroadPhase::Query (T * callback,
const b2AABBaabb 
) const
-
-inline
-
-

Query an AABB for overlapping proxies. The callback class is called for each proxy that overlaps the supplied AABB.

- -
-
- -

◆ RayCast()

- -
-
-
-template<typename T >
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2BroadPhase::RayCast (T * callback,
const b2RayCastInputinput 
) const
-
-inline
-
-

Ray-cast against the proxies in the tree. This relies on the callback to perform a exact ray-cast in the case were the proxy contains a shape. The callback also performs the any collision filtering. This has performance roughly equal to k * log(n), where k is the number of collisions and n is the number of proxies in the tree.

Parameters
- - - -
inputthe ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
callbacka callback class that is called for each proxy that is hit by the ray.
-
-
- -
-
- -

◆ ShiftOrigin()

- -
-
- - - - - -
- - - - - - - - -
void b2BroadPhase::ShiftOrigin (const b2Vec2newOrigin)
-
-inline
-
-

Shift the world origin. Useful for large worlds. The shift formula is: position -= newOrigin

Parameters
- - -
newOriginthe new origin with respect to the old origin
-
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_broad_phase.js b/documentation/classb2_broad_phase.js deleted file mode 100644 index 904d156..0000000 --- a/documentation/classb2_broad_phase.js +++ /dev/null @@ -1,22 +0,0 @@ -var classb2_broad_phase = -[ - [ "e_nullProxy", "classb2_broad_phase.html#a24d2179b74d248dce1cb58d708183eafa8a4f9965a5b0bbb13a35c20a37fef0ad", null ], - [ "b2BroadPhase", "classb2_broad_phase.html#ac58820d4cb10df81a33923c7c75d8f85", null ], - [ "~b2BroadPhase", "classb2_broad_phase.html#a40cebf62f00ebfa7ca373ad96f76661f", null ], - [ "CreateProxy", "classb2_broad_phase.html#ae2f7af756bc55ece45221466c5af449c", null ], - [ "DestroyProxy", "classb2_broad_phase.html#a84f0fb227dc01a9b9baa55c7b8c68984", null ], - [ "GetFatAABB", "classb2_broad_phase.html#af5c47c036ca67d44676ea3cec73ae3d8", null ], - [ "GetProxyCount", "classb2_broad_phase.html#ab7a8c31223d8404b79f6c57e8fc69837", null ], - [ "GetTreeBalance", "classb2_broad_phase.html#a29612faf9f0191827440178629d5e887", null ], - [ "GetTreeHeight", "classb2_broad_phase.html#a868f95225d62c3ea79d231ed305253ea", null ], - [ "GetTreeQuality", "classb2_broad_phase.html#abd35a141e33777a6dd02c28004df7b95", null ], - [ "GetUserData", "classb2_broad_phase.html#a3b85893e3cf18b43087cb96b0b9076d1", null ], - [ "MoveProxy", "classb2_broad_phase.html#a01dc18a19c2b5d0cc1d9cd8c8554234c", null ], - [ "Query", "classb2_broad_phase.html#a187586ea98b9d16e5ef6e12fa31f8de2", null ], - [ "RayCast", "classb2_broad_phase.html#ae65392ea91c7d0839ed5312f78b2837a", null ], - [ "ShiftOrigin", "classb2_broad_phase.html#a410e6115e3d1b4fca61cfbf397767772", null ], - [ "TestOverlap", "classb2_broad_phase.html#a263cc21e2a3f1f892c20b048eca3cad6", null ], - [ "TouchProxy", "classb2_broad_phase.html#a67b296431ebbc7b44037f21d645d9166", null ], - [ "UpdatePairs", "classb2_broad_phase.html#a0a1acd693466b997700242ae00784c20", null ], - [ "b2DynamicTree", "classb2_broad_phase.html#afc450dc71ee33ab0c9e7f1c31d6f7f60", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_chain_shape-members.html b/documentation/classb2_chain_shape-members.html deleted file mode 100644 index 05a4462..0000000 --- a/documentation/classb2_chain_shape-members.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ChainShape Member List
-
-
- -

This is the complete list of members for b2ChainShape, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2ChainShape() (defined in b2ChainShape)b2ChainShapeinline
Clear()b2ChainShape
Clone(b2BlockAllocator *allocator) const overrideb2ChainShapevirtual
ComputeAABB(b2AABB *aabb, const b2Transform &transform, int32 childIndex) const overrideb2ChainShapevirtual
ComputeMass(b2MassData *massData, float density) const overrideb2ChainShapevirtual
CreateChain(const b2Vec2 *vertices, int32 count, const b2Vec2 &prevVertex, const b2Vec2 &nextVertex)b2ChainShape
CreateLoop(const b2Vec2 *vertices, int32 count)b2ChainShape
e_chain enum value (defined in b2Shape)b2Shape
e_circle enum value (defined in b2Shape)b2Shape
e_edge enum value (defined in b2Shape)b2Shape
e_polygon enum value (defined in b2Shape)b2Shape
e_typeCount enum value (defined in b2Shape)b2Shape
GetChildCount() const overrideb2ChainShapevirtual
GetChildEdge(b2EdgeShape *edge, int32 index) constb2ChainShape
GetType() constb2Shapeinline
m_countb2ChainShape
m_nextVertex (defined in b2ChainShape)b2ChainShape
m_prevVertex (defined in b2ChainShape)b2ChainShape
m_radiusb2Shape
m_type (defined in b2Shape)b2Shape
m_verticesb2ChainShape
RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const overrideb2ChainShapevirtual
TestPoint(const b2Transform &transform, const b2Vec2 &p) const overrideb2ChainShapevirtual
Type enum name (defined in b2Shape)b2Shape
~b2ChainShape()b2ChainShape
~b2Shape() (defined in b2Shape)b2Shapeinlinevirtual
-
- - - - diff --git a/documentation/classb2_chain_shape.html b/documentation/classb2_chain_shape.html deleted file mode 100644 index f07fcc3..0000000 --- a/documentation/classb2_chain_shape.html +++ /dev/null @@ -1,436 +0,0 @@ - - - - - - - -Box2D: b2ChainShape Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ChainShape Class Reference
-
-
- -

#include <b2_chain_shape.h>

-
-Inheritance diagram for b2ChainShape:
-
-
- - -b2Shape - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

~b2ChainShape ()
 The destructor frees the vertices using b2Free.
 
-void Clear ()
 Clear all data.
 
void CreateLoop (const b2Vec2 *vertices, int32 count)
 
void CreateChain (const b2Vec2 *vertices, int32 count, const b2Vec2 &prevVertex, const b2Vec2 &nextVertex)
 
-b2ShapeClone (b2BlockAllocator *allocator) const override
 Implement b2Shape. Vertices are cloned using b2Alloc.
 
int32 GetChildCount () const override
 
-void GetChildEdge (b2EdgeShape *edge, int32 index) const
 Get a child edge.
 
bool TestPoint (const b2Transform &transform, const b2Vec2 &p) const override
 
-bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const override
 Implement b2Shape.
 
void ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const override
 
void ComputeMass (b2MassData *massData, float density) const override
 
- Public Member Functions inherited from b2Shape
Type GetType () const
 
- - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2m_vertices
 The vertices. Owned by this class.
 
-int32 m_count
 The vertex count.
 
-b2Vec2 m_prevVertex
 
-b2Vec2 m_nextVertex
 
- Public Attributes inherited from b2Shape
-Type m_type
 
float m_radius
 
- - - - -

-Additional Inherited Members

- Public Types inherited from b2Shape
enum  Type {
-  e_circle = 0, -e_edge = 1, -e_polygon = 2, -e_chain = 3, -
-  e_typeCount = 4 -
- }
 
-

Detailed Description

-

A chain shape is a free form sequence of line segments. The chain has one-sided collision, with the surface normal pointing to the right of the edge. This provides a counter-clockwise winding like the polygon shape. Connectivity information is used to create smooth collisions.

Warning
the chain will not collide properly if there are self-intersections.
-

Member Function Documentation

- -

◆ ComputeAABB()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2ChainShape::ComputeAABB (b2AABBaabb,
const b2Transformtransform,
int32 childIndex 
) const
-
-overridevirtual
-
-
See also
b2Shape::ComputeAABB
- -

Implements b2Shape.

- -
-
- -

◆ ComputeMass()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2ChainShape::ComputeMass (b2MassDatamassData,
float density 
) const
-
-overridevirtual
-
-

Chains have zero mass.

See also
b2Shape::ComputeMass
- -

Implements b2Shape.

- -
-
- -

◆ CreateChain()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void b2ChainShape::CreateChain (const b2Vec2vertices,
int32 count,
const b2Vec2prevVertex,
const b2Vec2nextVertex 
)
-
-

Create a chain with ghost vertices to connect multiple chains together.

Parameters
- - - - - -
verticesan array of vertices, these are copied
countthe vertex count
prevVertexprevious vertex from chain that connects to the start
nextVertexnext vertex from chain that connects to the end
-
-
- -
-
- -

◆ CreateLoop()

- -
-
- - - - - - - - - - - - - - - - - - -
void b2ChainShape::CreateLoop (const b2Vec2vertices,
int32 count 
)
-
-

Create a loop. This automatically adjusts connectivity.

Parameters
- - - -
verticesan array of vertices, these are copied
countthe vertex count
-
-
- -
-
- -

◆ GetChildCount()

- -
-
- - - - - -
- - - - - - - -
int32 b2ChainShape::GetChildCount () const
-
-overridevirtual
-
-
See also
b2Shape::GetChildCount
- -

Implements b2Shape.

- -
-
- -

◆ TestPoint()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool b2ChainShape::TestPoint (const b2Transformtransform,
const b2Vec2p 
) const
-
-overridevirtual
-
-

This always return false.

See also
b2Shape::TestPoint
- -

Implements b2Shape.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_chain_shape.js b/documentation/classb2_chain_shape.js deleted file mode 100644 index 9e3d06c..0000000 --- a/documentation/classb2_chain_shape.js +++ /dev/null @@ -1,19 +0,0 @@ -var classb2_chain_shape = -[ - [ "b2ChainShape", "classb2_chain_shape.html#ac4fafbfed6f5894c9f8173d2a09a1fe7", null ], - [ "~b2ChainShape", "classb2_chain_shape.html#a8c032394f5a85e7fc425a437e7689a18", null ], - [ "Clear", "classb2_chain_shape.html#a434d4b61ab15726302ec5ad484011c33", null ], - [ "Clone", "classb2_chain_shape.html#a5916e4b5dd8edce3cf71ecfe775501e1", null ], - [ "ComputeAABB", "classb2_chain_shape.html#ae1d7470ce8d32e92d27c149ab45f5468", null ], - [ "ComputeMass", "classb2_chain_shape.html#a0f871ad5059ff9577ab2be7bb7521107", null ], - [ "CreateChain", "classb2_chain_shape.html#ad84a2fcd7aea6d8024759baa4275db9f", null ], - [ "CreateLoop", "classb2_chain_shape.html#ac257742a52cac391e25962a4c703fb06", null ], - [ "GetChildCount", "classb2_chain_shape.html#a4d4fd8f5386a30f35b10d1b2848dbe54", null ], - [ "GetChildEdge", "classb2_chain_shape.html#abfe7f836d3c32dc06b920df61a74f412", null ], - [ "RayCast", "classb2_chain_shape.html#add9e88f7f90b32ae75738cfb042ef532", null ], - [ "TestPoint", "classb2_chain_shape.html#afd03c8679f18f9962a6c76bde629c62a", null ], - [ "m_count", "classb2_chain_shape.html#ab2ad711781e6ac81179074e90e0e058b", null ], - [ "m_nextVertex", "classb2_chain_shape.html#af3716ef780dd5bcd905e350d8854aaa2", null ], - [ "m_prevVertex", "classb2_chain_shape.html#a3a42d4c6b2421bc5badda3b6164949cf", null ], - [ "m_vertices", "classb2_chain_shape.html#a481116a6886fb3880b13e55c966579da", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_chain_shape.png b/documentation/classb2_chain_shape.png deleted file mode 100644 index 81e04d9..0000000 Binary files a/documentation/classb2_chain_shape.png and /dev/null differ diff --git a/documentation/classb2_circle_shape-members.html b/documentation/classb2_circle_shape-members.html deleted file mode 100644 index 0ecfe1d..0000000 --- a/documentation/classb2_circle_shape-members.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2CircleShape Member List
-
-
- -

This is the complete list of members for b2CircleShape, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
b2CircleShape() (defined in b2CircleShape)b2CircleShapeinline
Clone(b2BlockAllocator *allocator) const overrideb2CircleShapevirtual
ComputeAABB(b2AABB *aabb, const b2Transform &transform, int32 childIndex) const overrideb2CircleShapevirtual
ComputeMass(b2MassData *massData, float density) const overrideb2CircleShapevirtual
e_chain enum value (defined in b2Shape)b2Shape
e_circle enum value (defined in b2Shape)b2Shape
e_edge enum value (defined in b2Shape)b2Shape
e_polygon enum value (defined in b2Shape)b2Shape
e_typeCount enum value (defined in b2Shape)b2Shape
GetChildCount() const overrideb2CircleShapevirtual
GetType() constb2Shapeinline
m_pb2CircleShape
m_radiusb2Shape
m_type (defined in b2Shape)b2Shape
RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const overrideb2CircleShapevirtual
TestPoint(const b2Transform &transform, const b2Vec2 &p) const overrideb2CircleShapevirtual
Type enum name (defined in b2Shape)b2Shape
~b2Shape() (defined in b2Shape)b2Shapeinlinevirtual
-
- - - - diff --git a/documentation/classb2_circle_shape.html b/documentation/classb2_circle_shape.html deleted file mode 100644 index 092f231..0000000 --- a/documentation/classb2_circle_shape.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - -Box2D: b2CircleShape Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2CircleShape Class Reference
-
-
- -

A solid circle shape. - More...

- -

#include <b2_circle_shape.h>

-
-Inheritance diagram for b2CircleShape:
-
-
- - -b2Shape - -
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2ShapeClone (b2BlockAllocator *allocator) const override
 Implement b2Shape.
 
int32 GetChildCount () const override
 
-bool TestPoint (const b2Transform &transform, const b2Vec2 &p) const override
 Implement b2Shape.
 
bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const override
 
void ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const override
 
void ComputeMass (b2MassData *massData, float density) const override
 
- Public Member Functions inherited from b2Shape
Type GetType () const
 
- - - - - - - - - -

-Public Attributes

-b2Vec2 m_p
 Position.
 
- Public Attributes inherited from b2Shape
-Type m_type
 
float m_radius
 
- - - - -

-Additional Inherited Members

- Public Types inherited from b2Shape
enum  Type {
-  e_circle = 0, -e_edge = 1, -e_polygon = 2, -e_chain = 3, -
-  e_typeCount = 4 -
- }
 
-

Detailed Description

-

A solid circle shape.

-

Member Function Documentation

- -

◆ ComputeAABB()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2CircleShape::ComputeAABB (b2AABBaabb,
const b2Transformtransform,
int32 childIndex 
) const
-
-overridevirtual
-
-
See also
b2Shape::ComputeAABB
- -

Implements b2Shape.

- -
-
- -

◆ ComputeMass()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2CircleShape::ComputeMass (b2MassDatamassData,
float density 
) const
-
-overridevirtual
-
-
See also
b2Shape::ComputeMass
- -

Implements b2Shape.

- -
-
- -

◆ GetChildCount()

- -
-
- - - - - -
- - - - - - - -
int32 b2CircleShape::GetChildCount () const
-
-overridevirtual
-
-
See also
b2Shape::GetChildCount
- -

Implements b2Shape.

- -
-
- -

◆ RayCast()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool b2CircleShape::RayCast (b2RayCastOutputoutput,
const b2RayCastInputinput,
const b2Transformtransform,
int32 childIndex 
) const
-
-overridevirtual
-
-

Implement b2Shape.

Note
because the circle is solid, rays that start inside do not hit because the normal is not defined.
- -

Implements b2Shape.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_circle_shape.js b/documentation/classb2_circle_shape.js deleted file mode 100644 index 54ab516..0000000 --- a/documentation/classb2_circle_shape.js +++ /dev/null @@ -1,11 +0,0 @@ -var classb2_circle_shape = -[ - [ "b2CircleShape", "classb2_circle_shape.html#a73bb9f0ea1c28d772db1192c52572018", null ], - [ "Clone", "classb2_circle_shape.html#a0910bc7335923aa4c525be26dfd6e720", null ], - [ "ComputeAABB", "classb2_circle_shape.html#af4a4ea78780af7a7ce40bf5d54affe83", null ], - [ "ComputeMass", "classb2_circle_shape.html#a2d367ead5cedca923eb47bcff24af019", null ], - [ "GetChildCount", "classb2_circle_shape.html#a552db3402aed5d12c3177981e5208065", null ], - [ "RayCast", "classb2_circle_shape.html#a442e847b9fc3d1344b02b48d490eb0c6", null ], - [ "TestPoint", "classb2_circle_shape.html#a84e22b3807e84b72f2981010fc197099", null ], - [ "m_p", "classb2_circle_shape.html#a190705618b2e65f636f1dc03c63640ff", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_circle_shape.png b/documentation/classb2_circle_shape.png deleted file mode 100644 index 76db435..0000000 Binary files a/documentation/classb2_circle_shape.png and /dev/null differ diff --git a/documentation/classb2_contact-members.html b/documentation/classb2_contact-members.html deleted file mode 100644 index b0ce22e..0000000 --- a/documentation/classb2_contact-members.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Contact Member List
-
-
- -

This is the complete list of members for b2Contact, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AddType(b2ContactCreateFcn *createFcn, b2ContactDestroyFcn *destroyFcn, b2Shape::Type typeA, b2Shape::Type typeB) (defined in b2Contact)b2Contactprotectedstatic
b2Body (defined in b2Contact)b2Contactfriend
b2Contact() (defined in b2Contact)b2Contactinlineprotected
b2Contact(b2Fixture *fixtureA, int32 indexA, b2Fixture *fixtureB, int32 indexB) (defined in b2Contact)b2Contactprotected
b2ContactManager (defined in b2Contact)b2Contactfriend
b2ContactSolver (defined in b2Contact)b2Contactfriend
b2Fixture (defined in b2Contact)b2Contactfriend
b2World (defined in b2Contact)b2Contactfriend
Create(b2Fixture *fixtureA, int32 indexA, b2Fixture *fixtureB, int32 indexB, b2BlockAllocator *allocator) (defined in b2Contact)b2Contactprotectedstatic
Destroy(b2Contact *contact, b2Shape::Type typeA, b2Shape::Type typeB, b2BlockAllocator *allocator) (defined in b2Contact)b2Contactprotectedstatic
Destroy(b2Contact *contact, b2BlockAllocator *allocator) (defined in b2Contact)b2Contactprotectedstatic
e_bulletHitFlag enum value (defined in b2Contact)b2Contactprotected
e_enabledFlag enum value (defined in b2Contact)b2Contactprotected
e_filterFlag enum value (defined in b2Contact)b2Contactprotected
e_islandFlag enum value (defined in b2Contact)b2Contactprotected
e_toiFlag enum value (defined in b2Contact)b2Contactprotected
e_touchingFlag enum value (defined in b2Contact)b2Contactprotected
Evaluate(b2Manifold *manifold, const b2Transform &xfA, const b2Transform &xfB)=0b2Contactpure virtual
FlagForFiltering()b2Contactinlineprotected
GetChildIndexA() constb2Contactinline
GetChildIndexB() constb2Contactinline
GetFixtureA()b2Contactinline
GetFixtureA() const (defined in b2Contact)b2Contact
GetFixtureB()b2Contactinline
GetFixtureB() const (defined in b2Contact)b2Contact
GetFriction() constb2Contactinline
GetManifold()b2Contactinline
GetManifold() const (defined in b2Contact)b2Contact
GetNext()b2Contactinline
GetNext() const (defined in b2Contact)b2Contact
GetRestitution() constb2Contactinline
GetRestitutionThreshold() constb2Contactinline
GetTangentSpeed() constb2Contactinline
GetWorldManifold(b2WorldManifold *worldManifold) constb2Contactinline
InitializeRegisters() (defined in b2Contact)b2Contactprotectedstatic
IsEnabled() constb2Contactinline
IsTouching() constb2Contactinline
m_fixtureA (defined in b2Contact)b2Contactprotected
m_fixtureB (defined in b2Contact)b2Contactprotected
m_flags (defined in b2Contact)b2Contactprotected
m_friction (defined in b2Contact)b2Contactprotected
m_indexA (defined in b2Contact)b2Contactprotected
m_indexB (defined in b2Contact)b2Contactprotected
m_manifold (defined in b2Contact)b2Contactprotected
m_next (defined in b2Contact)b2Contactprotected
m_nodeA (defined in b2Contact)b2Contactprotected
m_nodeB (defined in b2Contact)b2Contactprotected
m_prev (defined in b2Contact)b2Contactprotected
m_restitution (defined in b2Contact)b2Contactprotected
m_restitutionThreshold (defined in b2Contact)b2Contactprotected
m_tangentSpeed (defined in b2Contact)b2Contactprotected
m_toi (defined in b2Contact)b2Contactprotected
m_toiCount (defined in b2Contact)b2Contactprotected
ResetFriction()b2Contactinline
ResetRestitution()b2Contactinline
ResetRestitutionThreshold()b2Contactinline
s_initialized (defined in b2Contact)b2Contactprotectedstatic
s_registers (defined in b2Contact)b2Contactprotectedstatic
SetEnabled(bool flag)b2Contactinline
SetFriction(float friction)b2Contactinline
SetRestitution(float restitution)b2Contactinline
SetRestitutionThreshold(float threshold)b2Contactinline
SetTangentSpeed(float speed)b2Contactinline
Update(b2ContactListener *listener) (defined in b2Contact)b2Contactprotected
~b2Contact() (defined in b2Contact)b2Contactinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_contact.html b/documentation/classb2_contact.html deleted file mode 100644 index b430977..0000000 --- a/documentation/classb2_contact.html +++ /dev/null @@ -1,472 +0,0 @@ - - - - - - - -Box2D: b2Contact Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Contact Class Referenceabstract
-
-
- -

#include <b2_contact.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

b2ManifoldGetManifold ()
 
-const b2ManifoldGetManifold () const
 
-void GetWorldManifold (b2WorldManifold *worldManifold) const
 Get the world manifold.
 
-bool IsTouching () const
 Is this contact touching?
 
void SetEnabled (bool flag)
 
-bool IsEnabled () const
 Has this contact been disabled?
 
-b2ContactGetNext ()
 Get the next contact in the world's contact list.
 
-const b2ContactGetNext () const
 
-b2FixtureGetFixtureA ()
 Get fixture A in this contact.
 
-const b2FixtureGetFixtureA () const
 
-int32 GetChildIndexA () const
 Get the child primitive index for fixture A.
 
-b2FixtureGetFixtureB ()
 Get fixture B in this contact.
 
-const b2FixtureGetFixtureB () const
 
-int32 GetChildIndexB () const
 Get the child primitive index for fixture B.
 
void SetFriction (float friction)
 
-float GetFriction () const
 Get the friction.
 
-void ResetFriction ()
 Reset the friction mixture to the default value.
 
void SetRestitution (float restitution)
 
-float GetRestitution () const
 Get the restitution.
 
-void ResetRestitution ()
 Reset the restitution to the default value.
 
void SetRestitutionThreshold (float threshold)
 
-float GetRestitutionThreshold () const
 Get the restitution threshold.
 
-void ResetRestitutionThreshold ()
 Reset the restitution threshold to the default value.
 
-void SetTangentSpeed (float speed)
 Set the desired tangent speed for a conveyor belt behavior. In meters per second.
 
-float GetTangentSpeed () const
 Get the desired tangent speed. In meters per second.
 
-virtual void Evaluate (b2Manifold *manifold, const b2Transform &xfA, const b2Transform &xfB)=0
 Evaluate this contact with your own manifold and transforms.
 
- - - -

-Protected Types

enum  {
-  e_islandFlag = 0x0001, -e_touchingFlag = 0x0002, -e_enabledFlag = 0x0004, -e_filterFlag = 0x0008, -
-  e_bulletHitFlag = 0x0010, -e_toiFlag = 0x0020 -
- }
 
- - - - - - - - -

-Protected Member Functions

-void FlagForFiltering ()
 Flag this contact for filtering. Filtering will occur the next time step.
 
b2Contact (b2Fixture *fixtureA, int32 indexA, b2Fixture *fixtureB, int32 indexB)
 
-void Update (b2ContactListener *listener)
 
- - - - - - - - - - - -

-Static Protected Member Functions

-static void AddType (b2ContactCreateFcn *createFcn, b2ContactDestroyFcn *destroyFcn, b2Shape::Type typeA, b2Shape::Type typeB)
 
-static void InitializeRegisters ()
 
-static b2ContactCreate (b2Fixture *fixtureA, int32 indexA, b2Fixture *fixtureB, int32 indexB, b2BlockAllocator *allocator)
 
-static void Destroy (b2Contact *contact, b2Shape::Type typeA, b2Shape::Type typeB, b2BlockAllocator *allocator)
 
-static void Destroy (b2Contact *contact, b2BlockAllocator *allocator)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-uint32 m_flags
 
-b2Contactm_prev
 
-b2Contactm_next
 
-b2ContactEdge m_nodeA
 
-b2ContactEdge m_nodeB
 
-b2Fixturem_fixtureA
 
-b2Fixturem_fixtureB
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Manifold m_manifold
 
-int32 m_toiCount
 
-float m_toi
 
-float m_friction
 
-float m_restitution
 
-float m_restitutionThreshold
 
-float m_tangentSpeed
 
- - - - - -

-Static Protected Attributes

-static b2ContactRegister s_registers [b2Shape::e_typeCount][b2Shape::e_typeCount]
 
-static bool s_initialized
 
- - - - - - - - - - - -

-Friends

-class b2ContactManager
 
-class b2World
 
-class b2ContactSolver
 
-class b2Body
 
-class b2Fixture
 
-

Detailed Description

-

The class manages contact between two shapes. A contact exists for each overlapping AABB in the broad-phase (except if filtered). Therefore a contact object may exist that has no contact points.

-

Member Function Documentation

- -

◆ GetManifold()

- -
-
- - - - - -
- - - - - - - -
const b2Manifold * b2Contact::GetManifold ()
-
-inline
-
-

Get the contact manifold. Do not modify the manifold unless you understand the internals of Box2D.

- -
-
- -

◆ SetEnabled()

- -
-
- - - - - -
- - - - - - - - -
void b2Contact::SetEnabled (bool flag)
-
-inline
-
-

Enable/disable this contact. This can be used inside the pre-solve contact listener. The contact is only disabled for the current time step (or sub-step in continuous collisions).

- -
-
- -

◆ SetFriction()

- -
-
- - - - - -
- - - - - - - - -
void b2Contact::SetFriction (float friction)
-
-inline
-
-

Override the default friction mixture. You can call this in b2ContactListener::PreSolve. This value persists until set or reset.

- -
-
- -

◆ SetRestitution()

- -
-
- - - - - -
- - - - - - - - -
void b2Contact::SetRestitution (float restitution)
-
-inline
-
-

Override the default restitution mixture. You can call this in b2ContactListener::PreSolve. The value persists until you set or reset.

- -
-
- -

◆ SetRestitutionThreshold()

- -
-
- - - - - -
- - - - - - - - -
void b2Contact::SetRestitutionThreshold (float threshold)
-
-inline
-
-

Override the default restitution velocity threshold mixture. You can call this in b2ContactListener::PreSolve. The value persists until you set or reset.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_contact.js b/documentation/classb2_contact.js deleted file mode 100644 index eafd6de..0000000 --- a/documentation/classb2_contact.js +++ /dev/null @@ -1,61 +0,0 @@ -var classb2_contact = -[ - [ "e_islandFlag", "classb2_contact.html#a1bbb4ce251d70e0de4c0b8f117e11583aad83700b4de33a2e3133ea0d98aa1c8b", null ], - [ "e_touchingFlag", "classb2_contact.html#a1bbb4ce251d70e0de4c0b8f117e11583aff50bb5872ede1ef890c5b4d063c6378", null ], - [ "e_enabledFlag", "classb2_contact.html#a1bbb4ce251d70e0de4c0b8f117e11583a63ecc7ff371a26143b250e8f315576a7", null ], - [ "e_filterFlag", "classb2_contact.html#a1bbb4ce251d70e0de4c0b8f117e11583ab8e92ae0c3f97e9d95aedb30238e6817", null ], - [ "e_bulletHitFlag", "classb2_contact.html#a1bbb4ce251d70e0de4c0b8f117e11583aa3f6336608fedaf5a3edd8d7199af567", null ], - [ "e_toiFlag", "classb2_contact.html#a1bbb4ce251d70e0de4c0b8f117e11583affeff4bfd177073172521d6be7e202de", null ], - [ "b2Contact", "classb2_contact.html#a04b21bf6fcf41ba19866a2d57c4a2060", null ], - [ "b2Contact", "classb2_contact.html#a2d1c98399cef1eb95c6ee8aad8257f60", null ], - [ "~b2Contact", "classb2_contact.html#a37368b233a5ac0d698310b300426ce16", null ], - [ "Evaluate", "classb2_contact.html#ae3c2842e5325b2d4500f8ed1d4de2f72", null ], - [ "FlagForFiltering", "classb2_contact.html#a44a3d32149021269eb9dfd4015c98e0d", null ], - [ "GetChildIndexA", "classb2_contact.html#aa0b0739e6615ba8d38e9b5bd8761dc31", null ], - [ "GetChildIndexB", "classb2_contact.html#aab201068e7f2cc31c69b1f5c8471d672", null ], - [ "GetFixtureA", "classb2_contact.html#ab792662a3a2d2b47357d125f0564353c", null ], - [ "GetFixtureA", "classb2_contact.html#a6879ebaeaea6549d951f09fcebe8248a", null ], - [ "GetFixtureB", "classb2_contact.html#aa479e2c5e4a1c324ea215b755bdedecf", null ], - [ "GetFixtureB", "classb2_contact.html#a3944983c442bd957c1c0de0d11ae3211", null ], - [ "GetFriction", "classb2_contact.html#af1179718c7547a96bee7dc57fc553f38", null ], - [ "GetManifold", "classb2_contact.html#ae0710efc84b890c9ebfa4bf0208aff73", null ], - [ "GetManifold", "classb2_contact.html#a61c20f566cb4a25077a495e60b9ea10b", null ], - [ "GetNext", "classb2_contact.html#a609281d276c38146455774734ba8d83e", null ], - [ "GetNext", "classb2_contact.html#a5aee8ee4b446f160d87fb8a0e545107e", null ], - [ "GetRestitution", "classb2_contact.html#a94cbde7aa8fad9ed0f28b1d2c152208a", null ], - [ "GetRestitutionThreshold", "classb2_contact.html#a7c7ae870baa3dc346e0246658a2083e3", null ], - [ "GetTangentSpeed", "classb2_contact.html#ad054cbfd6f12ac351b80c2d4789dc6c7", null ], - [ "GetWorldManifold", "classb2_contact.html#a7f5645863f6197fa28cc1baafbd11255", null ], - [ "IsEnabled", "classb2_contact.html#af81964f40dce556efbc83ae760f166b0", null ], - [ "IsTouching", "classb2_contact.html#a681346f93e2a27403383775a752c06a0", null ], - [ "ResetFriction", "classb2_contact.html#ad66d9290da187cef4c9f48c5766d4460", null ], - [ "ResetRestitution", "classb2_contact.html#a243501bc5c146e9eb1296162d328aef1", null ], - [ "ResetRestitutionThreshold", "classb2_contact.html#ad62865984306890f8cb5369b08918c1c", null ], - [ "SetEnabled", "classb2_contact.html#a6edf582f8c161d6632854cddefe55a0c", null ], - [ "SetFriction", "classb2_contact.html#a6cac6c0db18a161a359d73672596b413", null ], - [ "SetRestitution", "classb2_contact.html#a685a1c4cfca30c379c402e20e04723b6", null ], - [ "SetRestitutionThreshold", "classb2_contact.html#ab39c848fdeb22d1de4c1c3561b8579bd", null ], - [ "SetTangentSpeed", "classb2_contact.html#ac58319a0fd072126191bd2bd31b6b3c3", null ], - [ "Update", "classb2_contact.html#a218a66a6c34e3de1c428aa73a0680dfe", null ], - [ "b2Body", "classb2_contact.html#a010ab52de250e5fe30a45d642f46405b", null ], - [ "b2ContactManager", "classb2_contact.html#aece264d42f69aed410f5eb3beba6ddf2", null ], - [ "b2ContactSolver", "classb2_contact.html#afb788a7ba90344f3ddbafff3de0465c4", null ], - [ "b2Fixture", "classb2_contact.html#afb35b0e61f6ee3cc516c40ea251f3236", null ], - [ "b2World", "classb2_contact.html#a4bd536c5a7c0587913765bbc2693ceea", null ], - [ "m_fixtureA", "classb2_contact.html#aec94bbbb8862f09365a5af99650b5be4", null ], - [ "m_fixtureB", "classb2_contact.html#a83b18f0da1cfeb2c9dccc6aabed881d3", null ], - [ "m_flags", "classb2_contact.html#a85d5408adcbf466bcb8f291aeb35bc3b", null ], - [ "m_friction", "classb2_contact.html#a11be069ca3e4224df44bf8e332665822", null ], - [ "m_indexA", "classb2_contact.html#ac69d3c8f18ac653cbff658a718ab9067", null ], - [ "m_indexB", "classb2_contact.html#aaaae6d149986c7267f3e28f0c58da8a0", null ], - [ "m_manifold", "classb2_contact.html#aebdc2c073d05ac8e544a591d2043b251", null ], - [ "m_next", "classb2_contact.html#a241fea000d26da8761b5520a9adcd87a", null ], - [ "m_nodeA", "classb2_contact.html#a5f5ce747bb04f48843eb07304d47faab", null ], - [ "m_nodeB", "classb2_contact.html#a4887c3acb8cb857e2bec659027539c7a", null ], - [ "m_prev", "classb2_contact.html#adf3a3450e0fa9cf6d11ca22467c2370b", null ], - [ "m_restitution", "classb2_contact.html#ace776817722a18427375faf9ae0804e0", null ], - [ "m_restitutionThreshold", "classb2_contact.html#aaa70eb713ae33d676d56eeb3d401caa9", null ], - [ "m_tangentSpeed", "classb2_contact.html#a01f420dc139cca8f73c0a6946eed6e83", null ], - [ "m_toi", "classb2_contact.html#a1fd49c17ce75b37b1eef378be0ac5f7c", null ], - [ "m_toiCount", "classb2_contact.html#afaa231f3e9a908154f9a32af456601b6", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_contact_filter-members.html b/documentation/classb2_contact_filter-members.html deleted file mode 100644 index 56b9803..0000000 --- a/documentation/classb2_contact_filter-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ContactFilter Member List
-
-
- -

This is the complete list of members for b2ContactFilter, including all inherited members.

- - - -
ShouldCollide(b2Fixture *fixtureA, b2Fixture *fixtureB)b2ContactFiltervirtual
~b2ContactFilter() (defined in b2ContactFilter)b2ContactFilterinlinevirtual
-
- - - - diff --git a/documentation/classb2_contact_filter.html b/documentation/classb2_contact_filter.html deleted file mode 100644 index 94175bf..0000000 --- a/documentation/classb2_contact_filter.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - -Box2D: b2ContactFilter Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ContactFilter Class Reference
-
-
- -

#include <b2_world_callbacks.h>

- - - - -

-Public Member Functions

virtual bool ShouldCollide (b2Fixture *fixtureA, b2Fixture *fixtureB)
 
-

Detailed Description

-

Implement this class to provide collision filtering. In other words, you can implement this class if you want finer control over contact creation.

-

Member Function Documentation

- -

◆ ShouldCollide()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual bool b2ContactFilter::ShouldCollide (b2FixturefixtureA,
b2FixturefixtureB 
)
-
-virtual
-
-

Return true if contact calculations should be performed between these two shapes.

Warning
for performance reasons this is only called when the AABBs begin to overlap.
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_contact_filter.js b/documentation/classb2_contact_filter.js deleted file mode 100644 index 51d4c2c..0000000 --- a/documentation/classb2_contact_filter.js +++ /dev/null @@ -1,5 +0,0 @@ -var classb2_contact_filter = -[ - [ "~b2ContactFilter", "classb2_contact_filter.html#a1a6f1ad4208624b180e4536ff4bc1d9c", null ], - [ "ShouldCollide", "classb2_contact_filter.html#a0e33d4fc90a9345160a07cc494b45ecd", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_contact_listener-members.html b/documentation/classb2_contact_listener-members.html deleted file mode 100644 index 3104053..0000000 --- a/documentation/classb2_contact_listener-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ContactListener Member List
-
-
- -

This is the complete list of members for b2ContactListener, including all inherited members.

- - - - - - -
BeginContact(b2Contact *contact)b2ContactListenerinlinevirtual
EndContact(b2Contact *contact)b2ContactListenerinlinevirtual
PostSolve(b2Contact *contact, const b2ContactImpulse *impulse)b2ContactListenerinlinevirtual
PreSolve(b2Contact *contact, const b2Manifold *oldManifold)b2ContactListenerinlinevirtual
~b2ContactListener() (defined in b2ContactListener)b2ContactListenerinlinevirtual
-
- - - - diff --git a/documentation/classb2_contact_listener.html b/documentation/classb2_contact_listener.html deleted file mode 100644 index 8ed6d5c..0000000 --- a/documentation/classb2_contact_listener.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - -Box2D: b2ContactListener Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ContactListener Class Reference
-
-
- -

#include <b2_world_callbacks.h>

- - - - - - - - - - - - -

-Public Member Functions

-virtual void BeginContact (b2Contact *contact)
 Called when two fixtures begin to touch.
 
-virtual void EndContact (b2Contact *contact)
 Called when two fixtures cease to touch.
 
virtual void PreSolve (b2Contact *contact, const b2Manifold *oldManifold)
 
virtual void PostSolve (b2Contact *contact, const b2ContactImpulse *impulse)
 
-

Detailed Description

-

Implement this class to get contact information. You can use these results for things like sounds and game logic. You can also get contact results by traversing the contact lists after the time step. However, you might miss some contacts because continuous physics leads to sub-stepping. Additionally you may receive multiple callbacks for the same contact in a single time step. You should strive to make your callbacks efficient because there may be many callbacks per time step.

Warning
You cannot create/destroy Box2D entities inside these callbacks.
-

Member Function Documentation

- -

◆ PostSolve()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual void b2ContactListener::PostSolve (b2Contactcontact,
const b2ContactImpulseimpulse 
)
-
-inlinevirtual
-
-

This lets you inspect a contact after the solver is finished. This is useful for inspecting impulses. Note: the contact manifold does not include time of impact impulses, which can be arbitrarily large if the sub-step is small. Hence the impulse is provided explicitly in a separate data structure. Note: this is only called for contacts that are touching, solid, and awake.

- -
-
- -

◆ PreSolve()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual void b2ContactListener::PreSolve (b2Contactcontact,
const b2ManifoldoldManifold 
)
-
-inlinevirtual
-
-

This is called after a contact is updated. This allows you to inspect a contact before it goes to the solver. If you are careful, you can modify the contact manifold (e.g. disable contact). A copy of the old manifold is provided so that you can detect changes. Note: this is called only for awake bodies. Note: this is called even when the number of contact points is zero. Note: this is not called for sensors. Note: if you set the number of contact points to zero, you will not get an EndContact callback. However, you may get a BeginContact callback the next step.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_contact_listener.js b/documentation/classb2_contact_listener.js deleted file mode 100644 index 31f1a43..0000000 --- a/documentation/classb2_contact_listener.js +++ /dev/null @@ -1,8 +0,0 @@ -var classb2_contact_listener = -[ - [ "~b2ContactListener", "classb2_contact_listener.html#ac823a8fc3da242814ee649c093c74e21", null ], - [ "BeginContact", "classb2_contact_listener.html#a35148fc56fb9eac12077200fbd928f65", null ], - [ "EndContact", "classb2_contact_listener.html#afb3059058e5c47903a3947c2eef5826b", null ], - [ "PostSolve", "classb2_contact_listener.html#acd58ec96f7569b95eec65b8ca3f8013d", null ], - [ "PreSolve", "classb2_contact_listener.html#a416f85eb45a1099053402b15a19a7de0", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_contact_manager-members.html b/documentation/classb2_contact_manager-members.html deleted file mode 100644 index 83a1d2c..0000000 --- a/documentation/classb2_contact_manager-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ContactManager Member List
-
-
- -

This is the complete list of members for b2ContactManager, including all inherited members.

- - - - - - - - - - - - -
AddPair(void *proxyUserDataA, void *proxyUserDataB) (defined in b2ContactManager)b2ContactManager
b2ContactManager() (defined in b2ContactManager)b2ContactManager
Collide() (defined in b2ContactManager)b2ContactManager
Destroy(b2Contact *c) (defined in b2ContactManager)b2ContactManager
FindNewContacts() (defined in b2ContactManager)b2ContactManager
m_allocator (defined in b2ContactManager)b2ContactManager
m_broadPhase (defined in b2ContactManager)b2ContactManager
m_contactCount (defined in b2ContactManager)b2ContactManager
m_contactFilter (defined in b2ContactManager)b2ContactManager
m_contactList (defined in b2ContactManager)b2ContactManager
m_contactListener (defined in b2ContactManager)b2ContactManager
-
- - - - diff --git a/documentation/classb2_contact_manager.html b/documentation/classb2_contact_manager.html deleted file mode 100644 index e970a32..0000000 --- a/documentation/classb2_contact_manager.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - -Box2D: b2ContactManager Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ContactManager Class Reference
-
-
- - - - - - - - - - -

-Public Member Functions

-void AddPair (void *proxyUserDataA, void *proxyUserDataB)
 
-void FindNewContacts ()
 
-void Destroy (b2Contact *c)
 
-void Collide ()
 
- - - - - - - - - - - - - -

-Public Attributes

-b2BroadPhase m_broadPhase
 
-b2Contactm_contactList
 
-int32 m_contactCount
 
-b2ContactFilterm_contactFilter
 
-b2ContactListenerm_contactListener
 
-b2BlockAllocatorm_allocator
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_contact_manager.js b/documentation/classb2_contact_manager.js deleted file mode 100644 index d6e8e56..0000000 --- a/documentation/classb2_contact_manager.js +++ /dev/null @@ -1,14 +0,0 @@ -var classb2_contact_manager = -[ - [ "b2ContactManager", "classb2_contact_manager.html#aec0a437c9d144fd976247a7acabb666d", null ], - [ "AddPair", "classb2_contact_manager.html#ae67a458b64b02bea19955c19cb1fd6f4", null ], - [ "Collide", "classb2_contact_manager.html#a3380f85adf40f542a7ad6f2e63a76ac6", null ], - [ "Destroy", "classb2_contact_manager.html#a0c331884df23a930837933fc77c9a99b", null ], - [ "FindNewContacts", "classb2_contact_manager.html#af72699f83d5a449251c9f93459e0cc40", null ], - [ "m_allocator", "classb2_contact_manager.html#a20c57f602aa349239df715de5294821d", null ], - [ "m_broadPhase", "classb2_contact_manager.html#af85a9c7b0fb138b9fb635dbcf3b0b482", null ], - [ "m_contactCount", "classb2_contact_manager.html#a115b2f9bf38ffd045b26ae91ea696288", null ], - [ "m_contactFilter", "classb2_contact_manager.html#accf0e9232b9eeff002220ecb8d37a17f", null ], - [ "m_contactList", "classb2_contact_manager.html#aaca5f490daffabd29f7ad809921224b3", null ], - [ "m_contactListener", "classb2_contact_manager.html#ac3565501f5ab42323050712b244bfe9a", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_destruction_listener-members.html b/documentation/classb2_destruction_listener-members.html deleted file mode 100644 index f344f45..0000000 --- a/documentation/classb2_destruction_listener-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2DestructionListener Member List
-
-
- -

This is the complete list of members for b2DestructionListener, including all inherited members.

- - - - -
SayGoodbye(b2Joint *joint)=0b2DestructionListenerpure virtual
SayGoodbye(b2Fixture *fixture)=0b2DestructionListenerpure virtual
~b2DestructionListener() (defined in b2DestructionListener)b2DestructionListenerinlinevirtual
-
- - - - diff --git a/documentation/classb2_destruction_listener.html b/documentation/classb2_destruction_listener.html deleted file mode 100644 index d6588c0..0000000 --- a/documentation/classb2_destruction_listener.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - -Box2D: b2DestructionListener Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2DestructionListener Class Referenceabstract
-
-
- -

#include <b2_world_callbacks.h>

- - - - - - -

-Public Member Functions

virtual void SayGoodbye (b2Joint *joint)=0
 
virtual void SayGoodbye (b2Fixture *fixture)=0
 
-

Detailed Description

-

Joints and fixtures are destroyed when their associated body is destroyed. Implement this listener so that you may nullify references to these joints and shapes.

-

Member Function Documentation

- -

◆ SayGoodbye() [1/2]

- -
-
- - - - - -
- - - - - - - - -
virtual void b2DestructionListener::SayGoodbye (b2Fixturefixture)
-
-pure virtual
-
-

Called when any fixture is about to be destroyed due to the destruction of its parent body.

- -
-
- -

◆ SayGoodbye() [2/2]

- -
-
- - - - - -
- - - - - - - - -
virtual void b2DestructionListener::SayGoodbye (b2Jointjoint)
-
-pure virtual
-
-

Called when any joint is about to be destroyed due to the destruction of one of its attached bodies.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_destruction_listener.js b/documentation/classb2_destruction_listener.js deleted file mode 100644 index e47267e..0000000 --- a/documentation/classb2_destruction_listener.js +++ /dev/null @@ -1,6 +0,0 @@ -var classb2_destruction_listener = -[ - [ "~b2DestructionListener", "classb2_destruction_listener.html#a7bfd35145aeb2b614f6bc529ba1500bf", null ], - [ "SayGoodbye", "classb2_destruction_listener.html#ab327c0073d162112c38d2fe8f8b9fce3", null ], - [ "SayGoodbye", "classb2_destruction_listener.html#a6cd15baa6e5c33118cf7173ab5bf6d58", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_distance_joint-members.html b/documentation/classb2_distance_joint-members.html deleted file mode 100644 index f2c5a1b..0000000 --- a/documentation/classb2_distance_joint-members.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2DistanceJoint Member List
-
-
- -

This is the complete list of members for b2DistanceJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2DistanceJoint(const b2DistanceJointDef *data) (defined in b2DistanceJoint)b2DistanceJointprotected
b2Joint (defined in b2DistanceJoint)b2DistanceJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) const overrideb2DistanceJointvirtual
Dump() overrideb2DistanceJointvirtual
GetAnchorA() const overrideb2DistanceJointvirtual
GetAnchorB() const overrideb2DistanceJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetCurrentLength() constb2DistanceJoint
GetDamping() const (defined in b2DistanceJoint)b2DistanceJointinline
GetLength() constb2DistanceJointinline
GetLocalAnchorA() constb2DistanceJointinline
GetLocalAnchorB() constb2DistanceJointinline
GetMaxLength() constb2DistanceJointinline
GetMinLength() constb2DistanceJointinline
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2DistanceJointvirtual
GetReactionTorque(float inv_dt) const overrideb2DistanceJointvirtual
GetStiffness() const (defined in b2DistanceJoint)b2DistanceJointinline
GetType() constb2Jointinline
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2DistanceJoint)b2DistanceJointprotectedvirtual
IsEnabled() constb2Joint
m_bias (defined in b2DistanceJoint)b2DistanceJointprotected
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_currentLength (defined in b2DistanceJoint)b2DistanceJointprotected
m_damping (defined in b2DistanceJoint)b2DistanceJointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_gamma (defined in b2DistanceJoint)b2DistanceJointprotected
m_impulse (defined in b2DistanceJoint)b2DistanceJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2DistanceJoint)b2DistanceJointprotected
m_indexB (defined in b2DistanceJoint)b2DistanceJointprotected
m_invIA (defined in b2DistanceJoint)b2DistanceJointprotected
m_invIB (defined in b2DistanceJoint)b2DistanceJointprotected
m_invMassA (defined in b2DistanceJoint)b2DistanceJointprotected
m_invMassB (defined in b2DistanceJoint)b2DistanceJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_length (defined in b2DistanceJoint)b2DistanceJointprotected
m_localAnchorA (defined in b2DistanceJoint)b2DistanceJointprotected
m_localAnchorB (defined in b2DistanceJoint)b2DistanceJointprotected
m_localCenterA (defined in b2DistanceJoint)b2DistanceJointprotected
m_localCenterB (defined in b2DistanceJoint)b2DistanceJointprotected
m_lowerImpulse (defined in b2DistanceJoint)b2DistanceJointprotected
m_mass (defined in b2DistanceJoint)b2DistanceJointprotected
m_maxLength (defined in b2DistanceJoint)b2DistanceJointprotected
m_minLength (defined in b2DistanceJoint)b2DistanceJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_rA (defined in b2DistanceJoint)b2DistanceJointprotected
m_rB (defined in b2DistanceJoint)b2DistanceJointprotected
m_softMass (defined in b2DistanceJoint)b2DistanceJointprotected
m_stiffness (defined in b2DistanceJoint)b2DistanceJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_u (defined in b2DistanceJoint)b2DistanceJointprotected
m_upperImpulse (defined in b2DistanceJoint)b2DistanceJointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetDamping(float damping)b2DistanceJointinline
SetLength(float length)b2DistanceJoint
SetMaxLength(float maxLength)b2DistanceJoint
SetMinLength(float minLength)b2DistanceJoint
SetStiffness(float stiffness)b2DistanceJointinline
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2DistanceJoint)b2DistanceJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2DistanceJoint)b2DistanceJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_distance_joint.html b/documentation/classb2_distance_joint.html deleted file mode 100644 index 3fdb1a6..0000000 --- a/documentation/classb2_distance_joint.html +++ /dev/null @@ -1,494 +0,0 @@ - - - - - - - -Box2D: b2DistanceJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2DistanceJoint Class Reference
-
-
- -

#include <b2_distance_joint.h>

-
-Inheritance diagram for b2DistanceJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
b2Vec2 GetReactionForce (float inv_dt) const override
 
float GetReactionTorque (float inv_dt) const override
 
-const b2Vec2GetLocalAnchorA () const
 The local anchor point relative to bodyA's origin.
 
-const b2Vec2GetLocalAnchorB () const
 The local anchor point relative to bodyB's origin.
 
-float GetLength () const
 Get the rest length.
 
float SetLength (float length)
 
-float GetMinLength () const
 Get the minimum length.
 
float SetMinLength (float minLength)
 
-float GetMaxLength () const
 Get the maximum length.
 
float SetMaxLength (float maxLength)
 
-float GetCurrentLength () const
 Get the current length.
 
-void SetStiffness (float stiffness)
 Set/get the linear stiffness in N/m.
 
-float GetStiffness () const
 
-void SetDamping (float damping)
 Set/get linear damping in N*s/m.
 
-float GetDamping () const
 
-void Dump () override
 Dump joint to dmLog.
 
-void Draw (b2Draw *draw) const override
 Debug draw this joint.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2DistanceJoint (const b2DistanceJointDef *data)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-float m_stiffness
 
-float m_damping
 
-float m_bias
 
-float m_length
 
-float m_minLength
 
-float m_maxLength
 
-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-float m_gamma
 
-float m_impulse
 
-float m_lowerImpulse
 
-float m_upperImpulse
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_u
 
-b2Vec2 m_rA
 
-b2Vec2 m_rB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-float m_currentLength
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-float m_softMass
 
-float m_mass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A distance joint constrains two points on two bodies to remain at a fixed distance from each other. You can view this as a massless, rigid rod.

-

Member Function Documentation

- -

◆ GetReactionForce()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2DistanceJoint::GetReactionForce (float inv_dt) const
-
-overridevirtual
-
-

Get the reaction force given the inverse time step. Unit is N.

- -

Implements b2Joint.

- -
-
- -

◆ GetReactionTorque()

- -
-
- - - - - -
- - - - - - - - -
float b2DistanceJoint::GetReactionTorque (float inv_dt) const
-
-overridevirtual
-
-

Get the reaction torque given the inverse time step. Unit is N*m. This is always zero for a distance joint.

- -

Implements b2Joint.

- -
-
- -

◆ SetLength()

- -
-
- - - - - - - - -
float b2DistanceJoint::SetLength (float length)
-
-

Set the rest length

Returns
clamped rest length
- -
-
- -

◆ SetMaxLength()

- -
-
- - - - - - - - -
float b2DistanceJoint::SetMaxLength (float maxLength)
-
-

Set the maximum length

Returns
the clamped maximum length
- -
-
- -

◆ SetMinLength()

- -
-
- - - - - - - - -
float b2DistanceJoint::SetMinLength (float minLength)
-
-

Set the minimum length

Returns
the clamped minimum length
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_distance_joint.js b/documentation/classb2_distance_joint.js deleted file mode 100644 index 691cc85..0000000 --- a/documentation/classb2_distance_joint.js +++ /dev/null @@ -1,53 +0,0 @@ -var classb2_distance_joint = -[ - [ "b2DistanceJoint", "classb2_distance_joint.html#ad2bb6de92a47868629a7397e23256454", null ], - [ "Draw", "classb2_distance_joint.html#a3fea9ac993635c52d3008cedf104e26b", null ], - [ "Dump", "classb2_distance_joint.html#a14589a4b69e19d441ff090ecfb8f4886", null ], - [ "GetAnchorA", "classb2_distance_joint.html#ae228d3ce27009acd8a20c2570fb1183c", null ], - [ "GetAnchorB", "classb2_distance_joint.html#a05bf71de10904c87e3a5295aa04a8aa6", null ], - [ "GetCurrentLength", "classb2_distance_joint.html#a3870962f440272ea05cf186e8d5dea26", null ], - [ "GetDamping", "classb2_distance_joint.html#ae78336829b06c0aec87eaa8f80ac7151", null ], - [ "GetLength", "classb2_distance_joint.html#a106df63b539c0eaf87a0896c9ffb7528", null ], - [ "GetLocalAnchorA", "classb2_distance_joint.html#aaa881128071c62f21898a75d5b20308a", null ], - [ "GetLocalAnchorB", "classb2_distance_joint.html#a214a1cca8854613d7401c9a5892a28c9", null ], - [ "GetMaxLength", "classb2_distance_joint.html#af8ba8ab35d2eab9fbe2c9fb980e04ac2", null ], - [ "GetMinLength", "classb2_distance_joint.html#af4f3c6312fcda2bee3f4ff3a1b698bbd", null ], - [ "GetReactionForce", "classb2_distance_joint.html#a9fe0a109f9472b3e8a7b95f85fb550b2", null ], - [ "GetReactionTorque", "classb2_distance_joint.html#afecdba9f4665d4d704202dc748d5a0c4", null ], - [ "GetStiffness", "classb2_distance_joint.html#adbd9b119e5aeaf7af901b8a8c4e22776", null ], - [ "InitVelocityConstraints", "classb2_distance_joint.html#abe956dd5951651b36321098416ad99fd", null ], - [ "SetDamping", "classb2_distance_joint.html#a4351bf0172499a882713637076b31481", null ], - [ "SetLength", "classb2_distance_joint.html#a3ab199174058e4a9fcb54c66dcbdda56", null ], - [ "SetMaxLength", "classb2_distance_joint.html#a12ce2326e74a3a2a49ebf4593bf5c7f6", null ], - [ "SetMinLength", "classb2_distance_joint.html#aa4f595e9561349b6214cc61564346f87", null ], - [ "SetStiffness", "classb2_distance_joint.html#a667de5de10fabc00c39900fba0e9b95e", null ], - [ "SolvePositionConstraints", "classb2_distance_joint.html#a431d12fac5ee9f6a5637321ee28119bc", null ], - [ "SolveVelocityConstraints", "classb2_distance_joint.html#ad42429151fb979a230f103d684d2a42c", null ], - [ "b2Joint", "classb2_distance_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_bias", "classb2_distance_joint.html#ab62b6fe45d736605adf482ac8c8a3625", null ], - [ "m_currentLength", "classb2_distance_joint.html#a6bdcd803f8d6ae94febe49a2a00ba695", null ], - [ "m_damping", "classb2_distance_joint.html#aeccc9ecaf4770f3b4769c478a20a7be6", null ], - [ "m_gamma", "classb2_distance_joint.html#af25a3fd9147531a929d0c9ab29472ae7", null ], - [ "m_impulse", "classb2_distance_joint.html#aa8d7984bfd75bc52df3df7b893cd55a9", null ], - [ "m_indexA", "classb2_distance_joint.html#abcae00902974ed826f70aa119c2fd9de", null ], - [ "m_indexB", "classb2_distance_joint.html#a465f7f1b609bcb37be732cde71b6d8c8", null ], - [ "m_invIA", "classb2_distance_joint.html#a89136365c540045a705c59e753415744", null ], - [ "m_invIB", "classb2_distance_joint.html#aa3a4c4af8d05a2e31c76e527617e3dc4", null ], - [ "m_invMassA", "classb2_distance_joint.html#ab866f83335635f7bf565a9b7a53926c7", null ], - [ "m_invMassB", "classb2_distance_joint.html#a4aa59995c74bd98b9187f30788e530df", null ], - [ "m_length", "classb2_distance_joint.html#a934ef8f3e98163c5d199c2e6a606c5d7", null ], - [ "m_localAnchorA", "classb2_distance_joint.html#a297938125dd60175ab07921d5ecc43a8", null ], - [ "m_localAnchorB", "classb2_distance_joint.html#ad4c94a5b939ca4c3244bbab8544b880e", null ], - [ "m_localCenterA", "classb2_distance_joint.html#a5793083e9ef396cf7a89d84481fe1308", null ], - [ "m_localCenterB", "classb2_distance_joint.html#a4fa600dec301992ad1f23aaf25d592a5", null ], - [ "m_lowerImpulse", "classb2_distance_joint.html#a713bb26771438e12810e105336dacc2b", null ], - [ "m_mass", "classb2_distance_joint.html#a8a7a5d5ec420974d4e7a80a5b1153d9b", null ], - [ "m_maxLength", "classb2_distance_joint.html#a9c25bdf2e9fc4bfece83f7f58601d1df", null ], - [ "m_minLength", "classb2_distance_joint.html#abf348947b84af5e0b0c8cc94a76e8c3b", null ], - [ "m_rA", "classb2_distance_joint.html#af046e84218d249f9234a16ecab95bac0", null ], - [ "m_rB", "classb2_distance_joint.html#a70eab22cb7abeb825744f5dc3befa63a", null ], - [ "m_softMass", "classb2_distance_joint.html#a1d3bb639c6f161042fd39f3d47b3c390", null ], - [ "m_stiffness", "classb2_distance_joint.html#a1cf7dc3ac3093115ab9495530377d85b", null ], - [ "m_u", "classb2_distance_joint.html#a78f45f86d3cf68701a0871e9de71fcd0", null ], - [ "m_upperImpulse", "classb2_distance_joint.html#a1ba3eba899916f964920d37275f8e147", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_distance_joint.png b/documentation/classb2_distance_joint.png deleted file mode 100644 index 622134f..0000000 Binary files a/documentation/classb2_distance_joint.png and /dev/null differ diff --git a/documentation/classb2_draw-members.html b/documentation/classb2_draw-members.html deleted file mode 100644 index b9634d9..0000000 --- a/documentation/classb2_draw-members.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Draw Member List
-
-
- -

This is the complete list of members for b2Draw, including all inherited members.

- - - - - - - - - - - - - - - - - - - - -
AppendFlags(uint32 flags)b2Draw
b2Draw() (defined in b2Draw)b2Draw
ClearFlags(uint32 flags)b2Draw
DrawCircle(const b2Vec2 &center, float radius, const b2Color &color)=0b2Drawpure virtual
DrawPoint(const b2Vec2 &p, float size, const b2Color &color)=0b2Drawpure virtual
DrawPolygon(const b2Vec2 *vertices, int32 vertexCount, const b2Color &color)=0b2Drawpure virtual
DrawSegment(const b2Vec2 &p1, const b2Vec2 &p2, const b2Color &color)=0b2Drawpure virtual
DrawSolidCircle(const b2Vec2 &center, float radius, const b2Vec2 &axis, const b2Color &color)=0b2Drawpure virtual
DrawSolidPolygon(const b2Vec2 *vertices, int32 vertexCount, const b2Color &color)=0b2Drawpure virtual
DrawTransform(const b2Transform &xf)=0b2Drawpure virtual
e_aabbBit enum valueb2Draw
e_centerOfMassBit enum valueb2Draw
e_jointBit enum valueb2Draw
e_pairBit enum valueb2Draw
e_shapeBit enum valueb2Draw
GetFlags() constb2Draw
m_drawFlags (defined in b2Draw)b2Drawprotected
SetFlags(uint32 flags)b2Draw
~b2Draw() (defined in b2Draw)b2Drawinlinevirtual
-
- - - - diff --git a/documentation/classb2_draw.html b/documentation/classb2_draw.html deleted file mode 100644 index e9e3aea..0000000 --- a/documentation/classb2_draw.html +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - -Box2D: b2Draw Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Draw Class Referenceabstract
-
-
- -

#include <b2_draw.h>

- - - - -

-Public Types

enum  {
-  e_shapeBit = 0x0001, -e_jointBit = 0x0002, -e_aabbBit = 0x0004, -e_pairBit = 0x0008, -
-  e_centerOfMassBit = 0x0010 -
- }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-void SetFlags (uint32 flags)
 Set the drawing flags.
 
-uint32 GetFlags () const
 Get the drawing flags.
 
-void AppendFlags (uint32 flags)
 Append flags to the current flags.
 
-void ClearFlags (uint32 flags)
 Clear flags from the current flags.
 
-virtual void DrawPolygon (const b2Vec2 *vertices, int32 vertexCount, const b2Color &color)=0
 Draw a closed polygon provided in CCW order.
 
-virtual void DrawSolidPolygon (const b2Vec2 *vertices, int32 vertexCount, const b2Color &color)=0
 Draw a solid closed polygon provided in CCW order.
 
-virtual void DrawCircle (const b2Vec2 &center, float radius, const b2Color &color)=0
 Draw a circle.
 
-virtual void DrawSolidCircle (const b2Vec2 &center, float radius, const b2Vec2 &axis, const b2Color &color)=0
 Draw a solid circle.
 
-virtual void DrawSegment (const b2Vec2 &p1, const b2Vec2 &p2, const b2Color &color)=0
 Draw a line segment.
 
virtual void DrawTransform (const b2Transform &xf)=0
 
-virtual void DrawPoint (const b2Vec2 &p, float size, const b2Color &color)=0
 Draw a point.
 
- - - -

-Protected Attributes

-uint32 m_drawFlags
 
-

Detailed Description

-

Implement and register this class with a b2World to provide debug drawing of physics entities in your game.

-

Member Enumeration Documentation

- -

◆ anonymous enum

- -
-
- - - - -
anonymous enum
-
- - - - - - -
Enumerator
e_shapeBit 

draw shapes

-
e_jointBit 

draw joint connections

-
e_aabbBit 

draw axis aligned bounding boxes

-
e_pairBit 

draw broad-phase pairs

-
e_centerOfMassBit 

draw center of mass frame

-
- -
-
-

Member Function Documentation

- -

◆ DrawTransform()

- -
-
- - - - - -
- - - - - - - - -
virtual void b2Draw::DrawTransform (const b2Transformxf)
-
-pure virtual
-
-

Draw a transform. Choose your own length scale.

Parameters
- - -
xfa transform.
-
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_draw.js b/documentation/classb2_draw.js deleted file mode 100644 index 475c020..0000000 --- a/documentation/classb2_draw.js +++ /dev/null @@ -1,22 +0,0 @@ -var classb2_draw = -[ - [ "e_shapeBit", "classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2a1c8964c4f1fdc39e98b58ac38ecda1f9", null ], - [ "e_jointBit", "classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2a241137a63679720c41a271c11681e2b3", null ], - [ "e_aabbBit", "classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2acdf1370108930182a45f39e7cc9b0cc7", null ], - [ "e_pairBit", "classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2ac86bb64ac65e555db28827407f2f2d43", null ], - [ "e_centerOfMassBit", "classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2a7f1494d816479c7d23997a6c292cd8b6", null ], - [ "b2Draw", "classb2_draw.html#a399975bcd0f9994d6a9d523d87f28fc8", null ], - [ "~b2Draw", "classb2_draw.html#ad5003ecc3b483f4e008422a0fe8b20ad", null ], - [ "AppendFlags", "classb2_draw.html#acc2fd4648ee0a65574770c64528f7166", null ], - [ "ClearFlags", "classb2_draw.html#afc240b71f4ba8c17440d6ed526d4e22e", null ], - [ "DrawCircle", "classb2_draw.html#ac9d2741c2c0eb82e420e5c7c6656bbed", null ], - [ "DrawPoint", "classb2_draw.html#a3202e73f617bd33d896d55f1d6464bc1", null ], - [ "DrawPolygon", "classb2_draw.html#acd5427d1d2e7d19f1b34ad3620134d28", null ], - [ "DrawSegment", "classb2_draw.html#a1de5aaf50db875d1c644c596832af57d", null ], - [ "DrawSolidCircle", "classb2_draw.html#a407abb3672d4cdc9fabcbe208b2ad517", null ], - [ "DrawSolidPolygon", "classb2_draw.html#a76f2d67de0781a32cab116278c5c9eea", null ], - [ "DrawTransform", "classb2_draw.html#ade698123482a491a7a61fa1fe4d3a4f4", null ], - [ "GetFlags", "classb2_draw.html#a10926d67ad6d3a2517197c4f10923700", null ], - [ "SetFlags", "classb2_draw.html#ac2bbe31595478690e44de4ff1e7f347e", null ], - [ "m_drawFlags", "classb2_draw.html#adfcd2e54ddaec6f0a111ec1a1cf8b9a0", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_dynamic_tree-members.html b/documentation/classb2_dynamic_tree-members.html deleted file mode 100644 index 0ca5cbc..0000000 --- a/documentation/classb2_dynamic_tree-members.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2DynamicTree Member List
-
-
- -

This is the complete list of members for b2DynamicTree, including all inherited members.

- - - - - - - - - - - - - - - - - - -
b2DynamicTree()b2DynamicTree
ClearMoved(int32 proxyId) (defined in b2DynamicTree)b2DynamicTreeinline
CreateProxy(const b2AABB &aabb, void *userData)b2DynamicTree
DestroyProxy(int32 proxyId)b2DynamicTree
GetAreaRatio() constb2DynamicTree
GetFatAABB(int32 proxyId) constb2DynamicTreeinline
GetHeight() constb2DynamicTree
GetMaxBalance() constb2DynamicTree
GetUserData(int32 proxyId) constb2DynamicTreeinline
MoveProxy(int32 proxyId, const b2AABB &aabb1, const b2Vec2 &displacement)b2DynamicTree
Query(T *callback, const b2AABB &aabb) constb2DynamicTreeinline
RayCast(T *callback, const b2RayCastInput &input) constb2DynamicTreeinline
RebuildBottomUp()b2DynamicTree
ShiftOrigin(const b2Vec2 &newOrigin)b2DynamicTree
Validate() constb2DynamicTree
WasMoved(int32 proxyId) const (defined in b2DynamicTree)b2DynamicTreeinline
~b2DynamicTree()b2DynamicTree
-
- - - - diff --git a/documentation/classb2_dynamic_tree.html b/documentation/classb2_dynamic_tree.html deleted file mode 100644 index 5a3a7ff..0000000 --- a/documentation/classb2_dynamic_tree.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - - - -Box2D: b2DynamicTree Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2DynamicTree Class Reference
-
-
- -

#include <b2_dynamic_tree.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

b2DynamicTree ()
 Constructing the tree initializes the node pool.
 
~b2DynamicTree ()
 Destroy the tree, freeing the node pool.
 
-int32 CreateProxy (const b2AABB &aabb, void *userData)
 Create a proxy. Provide a tight fitting AABB and a userData pointer.
 
-void DestroyProxy (int32 proxyId)
 Destroy a proxy. This asserts if the id is invalid.
 
bool MoveProxy (int32 proxyId, const b2AABB &aabb1, const b2Vec2 &displacement)
 
void * GetUserData (int32 proxyId) const
 
-bool WasMoved (int32 proxyId) const
 
-void ClearMoved (int32 proxyId)
 
-const b2AABBGetFatAABB (int32 proxyId) const
 Get the fat AABB for a proxy.
 
template<typename T >
void Query (T *callback, const b2AABB &aabb) const
 
template<typename T >
void RayCast (T *callback, const b2RayCastInput &input) const
 
-void Validate () const
 Validate this tree. For testing.
 
int32 GetHeight () const
 
int32 GetMaxBalance () const
 
-float GetAreaRatio () const
 Get the ratio of the sum of the node areas to the root area.
 
-void RebuildBottomUp ()
 Build an optimal tree. Very expensive. For testing.
 
void ShiftOrigin (const b2Vec2 &newOrigin)
 
-

Detailed Description

-

A dynamic AABB tree broad-phase, inspired by Nathanael Presson's btDbvt. A dynamic tree arranges data in a binary tree to accelerate queries such as volume queries and ray casts. Leafs are proxies with an AABB. In the tree we expand the proxy AABB by b2_fatAABBFactor so that the proxy AABB is bigger than the client object. This allows the client object to move by small amounts without triggering a tree update.

-

Nodes are pooled and relocatable, so we use node indices rather than pointers.

-

Member Function Documentation

- -

◆ GetHeight()

- -
-
- - - - - - - -
int32 b2DynamicTree::GetHeight () const
-
-

Compute the height of the binary tree in O(N) time. Should not be called often.

- -
-
- -

◆ GetMaxBalance()

- -
-
- - - - - - - -
int32 b2DynamicTree::GetMaxBalance () const
-
-

Get the maximum balance of an node in the tree. The balance is the difference in height of the two children of a node.

- -
-
- -

◆ GetUserData()

- -
-
- - - - - -
- - - - - - - - -
void * b2DynamicTree::GetUserData (int32 proxyId) const
-
-inline
-
-

Get proxy user data.

Returns
the proxy user data or 0 if the id is invalid.
- -
-
- -

◆ MoveProxy()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
bool b2DynamicTree::MoveProxy (int32 proxyId,
const b2AABBaabb1,
const b2Vec2displacement 
)
-
-

Move a proxy with a swepted AABB. If the proxy has moved outside of its fattened AABB, then the proxy is removed from the tree and re-inserted. Otherwise the function returns immediately.

Returns
true if the proxy was re-inserted.
- -
-
- -

◆ Query()

- -
-
-
-template<typename T >
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2DynamicTree::Query (T * callback,
const b2AABBaabb 
) const
-
-inline
-
-

Query an AABB for overlapping proxies. The callback class is called for each proxy that overlaps the supplied AABB.

- -
-
- -

◆ RayCast()

- -
-
-
-template<typename T >
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2DynamicTree::RayCast (T * callback,
const b2RayCastInputinput 
) const
-
-inline
-
-

Ray-cast against the proxies in the tree. This relies on the callback to perform a exact ray-cast in the case were the proxy contains a shape. The callback also performs the any collision filtering. This has performance roughly equal to k * log(n), where k is the number of collisions and n is the number of proxies in the tree.

Parameters
- - - -
inputthe ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
callbacka callback class that is called for each proxy that is hit by the ray.
-
-
- -
-
- -

◆ ShiftOrigin()

- -
-
- - - - - - - - -
void b2DynamicTree::ShiftOrigin (const b2Vec2newOrigin)
-
-

Shift the world origin. Useful for large worlds. The shift formula is: position -= newOrigin

Parameters
- - -
newOriginthe new origin with respect to the old origin
-
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_dynamic_tree.js b/documentation/classb2_dynamic_tree.js deleted file mode 100644 index 4f7355d..0000000 --- a/documentation/classb2_dynamic_tree.js +++ /dev/null @@ -1,20 +0,0 @@ -var classb2_dynamic_tree = -[ - [ "b2DynamicTree", "classb2_dynamic_tree.html#a8af64cf6a1566fa4c5b5c9683bd937d9", null ], - [ "~b2DynamicTree", "classb2_dynamic_tree.html#a9060565fc63b4dd87d9560775c076786", null ], - [ "ClearMoved", "classb2_dynamic_tree.html#a7a39e2e844d68e4a09771a60c47e3fed", null ], - [ "CreateProxy", "classb2_dynamic_tree.html#ae44676f12977dada46037da47fc7ffbf", null ], - [ "DestroyProxy", "classb2_dynamic_tree.html#a62aa451e7d7fe029818dd05f76ea9cdc", null ], - [ "GetAreaRatio", "classb2_dynamic_tree.html#a270c60a449c1cb2e1d0dd7bf2089e3fe", null ], - [ "GetFatAABB", "classb2_dynamic_tree.html#a655b9ddff43e4e0a34a372eddc03ecb9", null ], - [ "GetHeight", "classb2_dynamic_tree.html#ae3c7dc771d596f1f95fd3a3d7f2f3e97", null ], - [ "GetMaxBalance", "classb2_dynamic_tree.html#a3feab170229e0acd17f6a4ad3fca406e", null ], - [ "GetUserData", "classb2_dynamic_tree.html#aa8399f9440707780f267696098e8b920", null ], - [ "MoveProxy", "classb2_dynamic_tree.html#a7748252811f3c575015931399cbe4daa", null ], - [ "Query", "classb2_dynamic_tree.html#a324df3eb65dfc22d3dcdca387737b193", null ], - [ "RayCast", "classb2_dynamic_tree.html#aebd2dc6ee462e0cd0763a5f472243a13", null ], - [ "RebuildBottomUp", "classb2_dynamic_tree.html#abd146017cfec1cf5ea7b87331f30a3ff", null ], - [ "ShiftOrigin", "classb2_dynamic_tree.html#af37ddfed6a5da97d5a78b09918d19ceb", null ], - [ "Validate", "classb2_dynamic_tree.html#ae9b989f0c04e38f9c940623d4e1728b9", null ], - [ "WasMoved", "classb2_dynamic_tree.html#a150e4ee484eaa7a470844c93e2621920", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_edge_shape-members.html b/documentation/classb2_edge_shape-members.html deleted file mode 100644 index bab36e1..0000000 --- a/documentation/classb2_edge_shape-members.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2EdgeShape Member List
-
-
- -

This is the complete list of members for b2EdgeShape, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - -
b2EdgeShape() (defined in b2EdgeShape)b2EdgeShapeinline
Clone(b2BlockAllocator *allocator) const overrideb2EdgeShapevirtual
ComputeAABB(b2AABB *aabb, const b2Transform &transform, int32 childIndex) const overrideb2EdgeShapevirtual
ComputeMass(b2MassData *massData, float density) const overrideb2EdgeShapevirtual
e_chain enum value (defined in b2Shape)b2Shape
e_circle enum value (defined in b2Shape)b2Shape
e_edge enum value (defined in b2Shape)b2Shape
e_polygon enum value (defined in b2Shape)b2Shape
e_typeCount enum value (defined in b2Shape)b2Shape
GetChildCount() const overrideb2EdgeShapevirtual
GetType() constb2Shapeinline
m_oneSidedb2EdgeShape
m_radiusb2Shape
m_type (defined in b2Shape)b2Shape
m_vertex0b2EdgeShape
m_vertex1b2EdgeShape
m_vertex2 (defined in b2EdgeShape)b2EdgeShape
m_vertex3 (defined in b2EdgeShape)b2EdgeShape
RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const overrideb2EdgeShapevirtual
SetOneSided(const b2Vec2 &v0, const b2Vec2 &v1, const b2Vec2 &v2, const b2Vec2 &v3)b2EdgeShape
SetTwoSided(const b2Vec2 &v1, const b2Vec2 &v2)b2EdgeShape
TestPoint(const b2Transform &transform, const b2Vec2 &p) const overrideb2EdgeShapevirtual
Type enum name (defined in b2Shape)b2Shape
~b2Shape() (defined in b2Shape)b2Shapeinlinevirtual
-
- - - - diff --git a/documentation/classb2_edge_shape.html b/documentation/classb2_edge_shape.html deleted file mode 100644 index 657e4e9..0000000 --- a/documentation/classb2_edge_shape.html +++ /dev/null @@ -1,387 +0,0 @@ - - - - - - - -Box2D: b2EdgeShape Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2EdgeShape Class Reference
-
-
- -

#include <b2_edge_shape.h>

-
-Inheritance diagram for b2EdgeShape:
-
-
- - -b2Shape - -
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void SetOneSided (const b2Vec2 &v0, const b2Vec2 &v1, const b2Vec2 &v2, const b2Vec2 &v3)
 
-void SetTwoSided (const b2Vec2 &v1, const b2Vec2 &v2)
 Set this as an isolated edge. Collision is two-sided.
 
-b2ShapeClone (b2BlockAllocator *allocator) const override
 Implement b2Shape.
 
int32 GetChildCount () const override
 
bool TestPoint (const b2Transform &transform, const b2Vec2 &p) const override
 
-bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const override
 Implement b2Shape.
 
void ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const override
 
void ComputeMass (b2MassData *massData, float density) const override
 
- Public Member Functions inherited from b2Shape
Type GetType () const
 
- - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 m_vertex1
 These are the edge vertices.
 
-b2Vec2 m_vertex2
 
-b2Vec2 m_vertex0
 Optional adjacent vertices. These are used for smooth collision.
 
-b2Vec2 m_vertex3
 
-bool m_oneSided
 Uses m_vertex0 and m_vertex3 to create smooth collision.
 
- Public Attributes inherited from b2Shape
-Type m_type
 
float m_radius
 
- - - - -

-Additional Inherited Members

- Public Types inherited from b2Shape
enum  Type {
-  e_circle = 0, -e_edge = 1, -e_polygon = 2, -e_chain = 3, -
-  e_typeCount = 4 -
- }
 
-

Detailed Description

-

A line segment (edge) shape. These can be connected in chains or loops to other edge shapes. Edges created independently are two-sided and do no provide smooth movement across junctions.

-

Member Function Documentation

- -

◆ ComputeAABB()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2EdgeShape::ComputeAABB (b2AABBaabb,
const b2Transformtransform,
int32 childIndex 
) const
-
-overridevirtual
-
-
See also
b2Shape::ComputeAABB
- -

Implements b2Shape.

- -
-
- -

◆ ComputeMass()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2EdgeShape::ComputeMass (b2MassDatamassData,
float density 
) const
-
-overridevirtual
-
-
See also
b2Shape::ComputeMass
- -

Implements b2Shape.

- -
-
- -

◆ GetChildCount()

- -
-
- - - - - -
- - - - - - - -
int32 b2EdgeShape::GetChildCount () const
-
-overridevirtual
-
-
See also
b2Shape::GetChildCount
- -

Implements b2Shape.

- -
-
- -

◆ SetOneSided()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void b2EdgeShape::SetOneSided (const b2Vec2v0,
const b2Vec2v1,
const b2Vec2v2,
const b2Vec2v3 
)
-
-

Set this as a part of a sequence. Vertex v0 precedes the edge and vertex v3 follows. These extra vertices are used to provide smooth movement across junctions. This also makes the collision one-sided. The edge normal points to the right looking from v1 to v2.

- -
-
- -

◆ TestPoint()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool b2EdgeShape::TestPoint (const b2Transformtransform,
const b2Vec2p 
) const
-
-overridevirtual
-
-
See also
b2Shape::TestPoint
- -

Implements b2Shape.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_edge_shape.js b/documentation/classb2_edge_shape.js deleted file mode 100644 index 4cb4059..0000000 --- a/documentation/classb2_edge_shape.js +++ /dev/null @@ -1,17 +0,0 @@ -var classb2_edge_shape = -[ - [ "b2EdgeShape", "classb2_edge_shape.html#ab1a6b6e22c725215c3bbbe093a7d44c0", null ], - [ "Clone", "classb2_edge_shape.html#a99fd092e0f3a4074ad1fba1fa6023451", null ], - [ "ComputeAABB", "classb2_edge_shape.html#a238139ae1736b457d77443133ff16854", null ], - [ "ComputeMass", "classb2_edge_shape.html#a2873ebff00737e90ac5d8348c39a37c0", null ], - [ "GetChildCount", "classb2_edge_shape.html#ae9dcaa2f4b77fcf182d29159658da82a", null ], - [ "RayCast", "classb2_edge_shape.html#a192cf10bd556a5a90b29a2bcee2ddd75", null ], - [ "SetOneSided", "classb2_edge_shape.html#ad2b74e7d57e3144f09f8cd2dccdd21d9", null ], - [ "SetTwoSided", "classb2_edge_shape.html#ad2c40bb652b4ea1f087580b8c42fcdf2", null ], - [ "TestPoint", "classb2_edge_shape.html#a15151673cf9ad585779c70363425f470", null ], - [ "m_oneSided", "classb2_edge_shape.html#a954ce55a70f9cd10d6ad0e2073c5addc", null ], - [ "m_vertex0", "classb2_edge_shape.html#a907c9829484cc1ba7527ab368e9fdf93", null ], - [ "m_vertex1", "classb2_edge_shape.html#a916cf02a752ff1a70db35b2edaf19bb4", null ], - [ "m_vertex2", "classb2_edge_shape.html#aa218bfe2bf135e4e94028b29aaa32fce", null ], - [ "m_vertex3", "classb2_edge_shape.html#a7991fd8b38806a7785748cd991c18452", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_edge_shape.png b/documentation/classb2_edge_shape.png deleted file mode 100644 index 8ab971f..0000000 Binary files a/documentation/classb2_edge_shape.png and /dev/null differ diff --git a/documentation/classb2_fixture-members.html b/documentation/classb2_fixture-members.html deleted file mode 100644 index 7c93692..0000000 --- a/documentation/classb2_fixture-members.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Fixture Member List
-
-
- -

This is the complete list of members for b2Fixture, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Body (defined in b2Fixture)b2Fixturefriend
b2Contact (defined in b2Fixture)b2Fixturefriend
b2ContactManager (defined in b2Fixture)b2Fixturefriend
b2Fixture() (defined in b2Fixture)b2Fixtureprotected
b2World (defined in b2Fixture)b2Fixturefriend
Create(b2BlockAllocator *allocator, b2Body *body, const b2FixtureDef *def) (defined in b2Fixture)b2Fixtureprotected
CreateProxies(b2BroadPhase *broadPhase, const b2Transform &xf) (defined in b2Fixture)b2Fixtureprotected
Destroy(b2BlockAllocator *allocator) (defined in b2Fixture)b2Fixtureprotected
DestroyProxies(b2BroadPhase *broadPhase) (defined in b2Fixture)b2Fixtureprotected
Dump(int32 bodyIndex)b2Fixture
GetAABB(int32 childIndex) constb2Fixtureinline
GetBody()b2Fixtureinline
GetBody() const (defined in b2Fixture)b2Fixture
GetDensity() constb2Fixtureinline
GetFilterData() constb2Fixtureinline
GetFriction() constb2Fixtureinline
GetMassData(b2MassData *massData) constb2Fixtureinline
GetNext()b2Fixtureinline
GetNext() const (defined in b2Fixture)b2Fixture
GetRestitution() constb2Fixtureinline
GetRestitutionThreshold() constb2Fixtureinline
GetShape()b2Fixtureinline
GetShape() const (defined in b2Fixture)b2Fixture
GetType() constb2Fixtureinline
GetUserData()b2Fixtureinline
IsSensor() constb2Fixtureinline
m_body (defined in b2Fixture)b2Fixtureprotected
m_density (defined in b2Fixture)b2Fixtureprotected
m_filter (defined in b2Fixture)b2Fixtureprotected
m_friction (defined in b2Fixture)b2Fixtureprotected
m_isSensor (defined in b2Fixture)b2Fixtureprotected
m_next (defined in b2Fixture)b2Fixtureprotected
m_proxies (defined in b2Fixture)b2Fixtureprotected
m_proxyCount (defined in b2Fixture)b2Fixtureprotected
m_restitution (defined in b2Fixture)b2Fixtureprotected
m_restitutionThreshold (defined in b2Fixture)b2Fixtureprotected
m_shape (defined in b2Fixture)b2Fixtureprotected
m_userData (defined in b2Fixture)b2Fixtureprotected
RayCast(b2RayCastOutput *output, const b2RayCastInput &input, int32 childIndex) constb2Fixtureinline
Refilter()b2Fixture
SetDensity(float density)b2Fixtureinline
SetFilterData(const b2Filter &filter)b2Fixture
SetFriction(float friction)b2Fixtureinline
SetRestitution(float restitution)b2Fixtureinline
SetRestitutionThreshold(float threshold)b2Fixtureinline
SetSensor(bool sensor)b2Fixture
Synchronize(b2BroadPhase *broadPhase, const b2Transform &xf1, const b2Transform &xf2) (defined in b2Fixture)b2Fixtureprotected
TestPoint(const b2Vec2 &p) constb2Fixtureinline
-
- - - - diff --git a/documentation/classb2_fixture.html b/documentation/classb2_fixture.html deleted file mode 100644 index 0dbf647..0000000 --- a/documentation/classb2_fixture.html +++ /dev/null @@ -1,684 +0,0 @@ - - - - - - - -Box2D: b2Fixture Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Fixture Class Reference
-
-
- -

#include <b2_fixture.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

b2Shape::Type GetType () const
 
b2ShapeGetShape ()
 
-const b2ShapeGetShape () const
 
-void SetSensor (bool sensor)
 Set if this fixture is a sensor.
 
bool IsSensor () const
 
void SetFilterData (const b2Filter &filter)
 
-const b2FilterGetFilterData () const
 Get the contact filtering data.
 
-void Refilter ()
 Call this if you want to establish collision that was previously disabled by b2ContactFilter::ShouldCollide.
 
b2BodyGetBody ()
 
-const b2BodyGetBody () const
 
b2FixtureGetNext ()
 
-const b2FixtureGetNext () const
 
b2FixtureUserDataGetUserData ()
 
bool TestPoint (const b2Vec2 &p) const
 
bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input, int32 childIndex) const
 
void GetMassData (b2MassData *massData) const
 
void SetDensity (float density)
 
-float GetDensity () const
 Get the density of this fixture.
 
-float GetFriction () const
 Get the coefficient of friction.
 
void SetFriction (float friction)
 
-float GetRestitution () const
 Get the coefficient of restitution.
 
void SetRestitution (float restitution)
 
-float GetRestitutionThreshold () const
 Get the restitution velocity threshold.
 
void SetRestitutionThreshold (float threshold)
 
const b2AABBGetAABB (int32 childIndex) const
 
-void Dump (int32 bodyIndex)
 Dump this fixture to the log file.
 
- - - - - - - - - - - -

-Protected Member Functions

-void Create (b2BlockAllocator *allocator, b2Body *body, const b2FixtureDef *def)
 
-void Destroy (b2BlockAllocator *allocator)
 
-void CreateProxies (b2BroadPhase *broadPhase, const b2Transform &xf)
 
-void DestroyProxies (b2BroadPhase *broadPhase)
 
-void Synchronize (b2BroadPhase *broadPhase, const b2Transform &xf1, const b2Transform &xf2)
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-float m_density
 
-b2Fixturem_next
 
-b2Bodym_body
 
-b2Shapem_shape
 
-float m_friction
 
-float m_restitution
 
-float m_restitutionThreshold
 
-b2FixtureProxym_proxies
 
-int32 m_proxyCount
 
-b2Filter m_filter
 
-bool m_isSensor
 
-b2FixtureUserData m_userData
 
- - - - - - - - - -

-Friends

-class b2Body
 
-class b2World
 
-class b2Contact
 
-class b2ContactManager
 
-

Detailed Description

-

A fixture is used to attach a shape to a body for collision detection. A fixture inherits its transform from its parent. Fixtures hold additional non-geometric data such as friction, collision filters, etc. Fixtures are created via b2Body::CreateFixture.

Warning
you cannot reuse fixtures.
-

Member Function Documentation

- -

◆ GetAABB()

- -
-
- - - - - -
- - - - - - - - -
const b2AABB & b2Fixture::GetAABB (int32 childIndex) const
-
-inline
-
-

Get the fixture's AABB. This AABB may be enlarge and/or stale. If you need a more accurate AABB, compute it using the shape and the body transform.

- -
-
- -

◆ GetBody()

- -
-
- - - - - -
- - - - - - - -
const b2Body * b2Fixture::GetBody ()
-
-inline
-
-

Get the parent body of this fixture. This is nullptr if the fixture is not attached.

Returns
the parent body.
- -
-
- -

◆ GetMassData()

- -
-
- - - - - -
- - - - - - - - -
void b2Fixture::GetMassData (b2MassDatamassData) const
-
-inline
-
-

Get the mass data for this fixture. The mass data is based on the density and the shape. The rotational inertia is about the shape's origin. This operation may be expensive.

- -
-
- -

◆ GetNext()

- -
-
- - - - - -
- - - - - - - -
const b2Fixture * b2Fixture::GetNext ()
-
-inline
-
-

Get the next fixture in the parent body's fixture list.

Returns
the next shape.
- -
-
- -

◆ GetShape()

- -
-
- - - - - -
- - - - - - - -
const b2Shape * b2Fixture::GetShape ()
-
-inline
-
-

Get the child shape. You can modify the child shape, however you should not change the number of vertices because this will crash some collision caching mechanisms. Manipulating the shape may lead to non-physical behavior.

- -
-
- -

◆ GetType()

- -
-
- - - - - -
- - - - - - - -
b2Shape::Type b2Fixture::GetType () const
-
-inline
-
-

Get the type of the child shape. You can use this to down cast to the concrete shape.

Returns
the shape type.
- -
-
- -

◆ GetUserData()

- -
-
- - - - - -
- - - - - - - -
b2FixtureUserData & b2Fixture::GetUserData ()
-
-inline
-
-

Get the user data that was assigned in the fixture definition. Use this to store your application specific data.

- -
-
- -

◆ IsSensor()

- -
-
- - - - - -
- - - - - - - -
bool b2Fixture::IsSensor () const
-
-inline
-
-

Is this fixture a sensor (non-solid)?

Returns
the true if the shape is a sensor.
- -
-
- -

◆ RayCast()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
bool b2Fixture::RayCast (b2RayCastOutputoutput,
const b2RayCastInputinput,
int32 childIndex 
) const
-
-inline
-
-

Cast a ray against this shape.

Parameters
- - - - -
outputthe ray-cast results.
inputthe ray-cast input parameters.
childIndexthe child shape index (e.g. edge index)
-
-
- -
-
- -

◆ SetDensity()

- -
-
- - - - - -
- - - - - - - - -
void b2Fixture::SetDensity (float density)
-
-inline
-
-

Set the density of this fixture. This will not automatically adjust the mass of the body. You must call b2Body::ResetMassData to update the body's mass.

- -
-
- -

◆ SetFilterData()

- -
-
- - - - - - - - -
void b2Fixture::SetFilterData (const b2Filterfilter)
-
-

Set the contact filtering data. This will not update contacts until the next time step when either parent body is active and awake. This automatically calls Refilter.

- -
-
- -

◆ SetFriction()

- -
-
- - - - - -
- - - - - - - - -
void b2Fixture::SetFriction (float friction)
-
-inline
-
-

Set the coefficient of friction. This will not change the friction of existing contacts.

- -
-
- -

◆ SetRestitution()

- -
-
- - - - - -
- - - - - - - - -
void b2Fixture::SetRestitution (float restitution)
-
-inline
-
-

Set the coefficient of restitution. This will not change the restitution of existing contacts.

- -
-
- -

◆ SetRestitutionThreshold()

- -
-
- - - - - -
- - - - - - - - -
void b2Fixture::SetRestitutionThreshold (float threshold)
-
-inline
-
-

Set the restitution threshold. This will not change the restitution threshold of existing contacts.

- -
-
- -

◆ TestPoint()

- -
-
- - - - - -
- - - - - - - - -
bool b2Fixture::TestPoint (const b2Vec2p) const
-
-inline
-
-

Test a point for containment in this fixture.

Parameters
- - -
pa point in world coordinates.
-
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_fixture.js b/documentation/classb2_fixture.js deleted file mode 100644 index 2fb112d..0000000 --- a/documentation/classb2_fixture.js +++ /dev/null @@ -1,51 +0,0 @@ -var classb2_fixture = -[ - [ "b2Fixture", "classb2_fixture.html#a02e11d3783af2168ac1cf8e9e9055c67", null ], - [ "Create", "classb2_fixture.html#a1f465f3656f098eebfcbc6edf7a9239a", null ], - [ "CreateProxies", "classb2_fixture.html#a670f1f687521666da6e92885754970b7", null ], - [ "Destroy", "classb2_fixture.html#a279301181668f724c027020a654efe42", null ], - [ "DestroyProxies", "classb2_fixture.html#a1def068c9ce09e2ebcccc556951b7979", null ], - [ "Dump", "classb2_fixture.html#a57485e73a2063060e320c7176676cd5e", null ], - [ "GetAABB", "classb2_fixture.html#a158574dc389fec83a05b09ab715c4474", null ], - [ "GetBody", "classb2_fixture.html#a8685b558c360c86cdd53931dc0d96dfb", null ], - [ "GetBody", "classb2_fixture.html#a43009e5d38cd9853f1539cd1c39f0e98", null ], - [ "GetDensity", "classb2_fixture.html#adf764a37ac8dbf39029bb062afca651a", null ], - [ "GetFilterData", "classb2_fixture.html#ad956250d9f684a407992ec178320127e", null ], - [ "GetFriction", "classb2_fixture.html#a44ac72b400bde646b73542f64131d158", null ], - [ "GetMassData", "classb2_fixture.html#a4532a12e848c5ceb5a3b94cf45b7cbad", null ], - [ "GetNext", "classb2_fixture.html#a53808c75e490b053d3a0de6b2fe30ab8", null ], - [ "GetNext", "classb2_fixture.html#a1c1ec15bdbc4e8efc1892b6bbf6c4ebf", null ], - [ "GetRestitution", "classb2_fixture.html#a50f89dfa96a456ca28b03e418e8dee3f", null ], - [ "GetRestitutionThreshold", "classb2_fixture.html#a3fb3768555b29d85e40f5c4ddedbf348", null ], - [ "GetShape", "classb2_fixture.html#a9951f54d1d2a5afe22d731045a48e486", null ], - [ "GetShape", "classb2_fixture.html#a22a332c3be988a5f864904d3634c34c6", null ], - [ "GetType", "classb2_fixture.html#a7a566c1e3b768f6a72ebc3b758aad70e", null ], - [ "GetUserData", "classb2_fixture.html#af42d4b917097c6300012f63410a985dc", null ], - [ "IsSensor", "classb2_fixture.html#aedd23d27ff7ce2d53b6c5b7a878a35d3", null ], - [ "RayCast", "classb2_fixture.html#aaaafd69aa3e1a922acc4b9d7fb49170a", null ], - [ "Refilter", "classb2_fixture.html#a45d3320f94811d67383c48466165fa26", null ], - [ "SetDensity", "classb2_fixture.html#a6c303a123f83b90650da822ad6f291ec", null ], - [ "SetFilterData", "classb2_fixture.html#a2c5e0d12c174927a4ad550459be334ad", null ], - [ "SetFriction", "classb2_fixture.html#a097aa48046dd2686db47b7ab8e2cde92", null ], - [ "SetRestitution", "classb2_fixture.html#abd9d4c46a54febb1b06cedc8f9b88b26", null ], - [ "SetRestitutionThreshold", "classb2_fixture.html#a50231620388dd3e0eddce81af516a6cc", null ], - [ "SetSensor", "classb2_fixture.html#a6198a81dcee0fe814d730383ebfa7038", null ], - [ "Synchronize", "classb2_fixture.html#ac8fd15bfd9a3a7ba05f3831e6f598908", null ], - [ "TestPoint", "classb2_fixture.html#aa56d3ca04a5d0478c6477876cd480cc6", null ], - [ "b2Body", "classb2_fixture.html#a010ab52de250e5fe30a45d642f46405b", null ], - [ "b2Contact", "classb2_fixture.html#a6c4ac5df27ec498dd9e4281352b7a789", null ], - [ "b2ContactManager", "classb2_fixture.html#aece264d42f69aed410f5eb3beba6ddf2", null ], - [ "b2World", "classb2_fixture.html#a4bd536c5a7c0587913765bbc2693ceea", null ], - [ "m_body", "classb2_fixture.html#a480026124a6b7e88f2ed89832a08d191", null ], - [ "m_density", "classb2_fixture.html#af9cce4a191fea99292e0e12702d0d3bf", null ], - [ "m_filter", "classb2_fixture.html#a33b66959856506a6d27b32dad0e284c7", null ], - [ "m_friction", "classb2_fixture.html#a4349e7124ff53caf748c608f6463fc32", null ], - [ "m_isSensor", "classb2_fixture.html#a4b6b47a8de6d37acf9b980b33b22f634", null ], - [ "m_next", "classb2_fixture.html#ac5c9fbdf66290e2608db1ffcea2316b0", null ], - [ "m_proxies", "classb2_fixture.html#a0056031e2b2b53e6a4c0ef7a0c87821a", null ], - [ "m_proxyCount", "classb2_fixture.html#aae71b4a0071346aba2eb6f4a764785a4", null ], - [ "m_restitution", "classb2_fixture.html#a45894817f4d754a8c5acf2fb72822e53", null ], - [ "m_restitutionThreshold", "classb2_fixture.html#a393eca3e917f0911302a593f5aa6cb04", null ], - [ "m_shape", "classb2_fixture.html#a54fa48dfc8b70a435c8f17f8b7720828", null ], - [ "m_userData", "classb2_fixture.html#acc2b349c36b4cc7e06024ce805ece672", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_friction_joint-members.html b/documentation/classb2_friction_joint-members.html deleted file mode 100644 index f59d1a3..0000000 --- a/documentation/classb2_friction_joint-members.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2FrictionJoint Member List
-
-
- -

This is the complete list of members for b2FrictionJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2FrictionJoint(const b2FrictionJointDef *def) (defined in b2FrictionJoint)b2FrictionJointprotected
b2Joint (defined in b2FrictionJoint)b2FrictionJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) constb2Jointvirtual
Dump() overrideb2FrictionJointvirtual
GetAnchorA() const overrideb2FrictionJointvirtual
GetAnchorB() const overrideb2FrictionJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetLocalAnchorA() constb2FrictionJointinline
GetLocalAnchorB() constb2FrictionJointinline
GetMaxForce() constb2FrictionJoint
GetMaxTorque() constb2FrictionJoint
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2FrictionJointvirtual
GetReactionTorque(float inv_dt) const overrideb2FrictionJointvirtual
GetType() constb2Jointinline
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2FrictionJoint)b2FrictionJointprotectedvirtual
IsEnabled() constb2Joint
m_angularImpulse (defined in b2FrictionJoint)b2FrictionJointprotected
m_angularMass (defined in b2FrictionJoint)b2FrictionJointprotected
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2FrictionJoint)b2FrictionJointprotected
m_indexB (defined in b2FrictionJoint)b2FrictionJointprotected
m_invIA (defined in b2FrictionJoint)b2FrictionJointprotected
m_invIB (defined in b2FrictionJoint)b2FrictionJointprotected
m_invMassA (defined in b2FrictionJoint)b2FrictionJointprotected
m_invMassB (defined in b2FrictionJoint)b2FrictionJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_linearImpulse (defined in b2FrictionJoint)b2FrictionJointprotected
m_linearMass (defined in b2FrictionJoint)b2FrictionJointprotected
m_localAnchorA (defined in b2FrictionJoint)b2FrictionJointprotected
m_localAnchorB (defined in b2FrictionJoint)b2FrictionJointprotected
m_localCenterA (defined in b2FrictionJoint)b2FrictionJointprotected
m_localCenterB (defined in b2FrictionJoint)b2FrictionJointprotected
m_maxForce (defined in b2FrictionJoint)b2FrictionJointprotected
m_maxTorque (defined in b2FrictionJoint)b2FrictionJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_rA (defined in b2FrictionJoint)b2FrictionJointprotected
m_rB (defined in b2FrictionJoint)b2FrictionJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetMaxForce(float force)b2FrictionJoint
SetMaxTorque(float torque)b2FrictionJoint
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2FrictionJoint)b2FrictionJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2FrictionJoint)b2FrictionJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_friction_joint.html b/documentation/classb2_friction_joint.html deleted file mode 100644 index b1ba7e0..0000000 --- a/documentation/classb2_friction_joint.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - -Box2D: b2FrictionJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2FrictionJoint Class Reference
-
-
- -

#include <b2_friction_joint.h>

-
-Inheritance diagram for b2FrictionJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-float GetReactionTorque (float inv_dt) const override
 Get the reaction torque on bodyB in N*m.
 
-const b2Vec2GetLocalAnchorA () const
 The local anchor point relative to bodyA's origin.
 
-const b2Vec2GetLocalAnchorB () const
 The local anchor point relative to bodyB's origin.
 
-void SetMaxForce (float force)
 Set the maximum friction force in N.
 
-float GetMaxForce () const
 Get the maximum friction force in N.
 
-void SetMaxTorque (float torque)
 Set the maximum friction torque in N*m.
 
-float GetMaxTorque () const
 Get the maximum friction torque in N*m.
 
-void Dump () override
 Dump joint to dmLog.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
-virtual void Draw (b2Draw *draw) const
 Debug draw this joint.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2FrictionJoint (const b2FrictionJointDef *def)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-b2Vec2 m_linearImpulse
 
-float m_angularImpulse
 
-float m_maxForce
 
-float m_maxTorque
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_rA
 
-b2Vec2 m_rB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-b2Mat22 m_linearMass
 
-float m_angularMass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

Friction joint. This is used for top-down friction. It provides 2D translational friction and angular friction.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_friction_joint.js b/documentation/classb2_friction_joint.js deleted file mode 100644 index ce1c089..0000000 --- a/documentation/classb2_friction_joint.js +++ /dev/null @@ -1,37 +0,0 @@ -var classb2_friction_joint = -[ - [ "b2FrictionJoint", "classb2_friction_joint.html#a7413c5f289257f0e993b7e750fe95b99", null ], - [ "Dump", "classb2_friction_joint.html#a934a3ce5bda09bc07111c1dd4e192406", null ], - [ "GetAnchorA", "classb2_friction_joint.html#a8e0bf2e9eba24f326d060789fedc7278", null ], - [ "GetAnchorB", "classb2_friction_joint.html#af5a025b64221aafa98393d47d8414328", null ], - [ "GetLocalAnchorA", "classb2_friction_joint.html#a34023581ada2b4fba11e058695b49dd7", null ], - [ "GetLocalAnchorB", "classb2_friction_joint.html#a44fab4532f7c4aad9d833f009caac586", null ], - [ "GetMaxForce", "classb2_friction_joint.html#a6f05f6a65ce7a62cd96ba04d06ce34d2", null ], - [ "GetMaxTorque", "classb2_friction_joint.html#a53d81e82c633b9be1223200f6df60e69", null ], - [ "GetReactionForce", "classb2_friction_joint.html#ac04ce66163ed256d72c38e289f94c768", null ], - [ "GetReactionTorque", "classb2_friction_joint.html#a048b773f56e987a6aa030b61b33e5a85", null ], - [ "InitVelocityConstraints", "classb2_friction_joint.html#afce4006666e83c50d2017b5ff5e7ca2d", null ], - [ "SetMaxForce", "classb2_friction_joint.html#ab0cbe3ff75cb072187950923e7e023a9", null ], - [ "SetMaxTorque", "classb2_friction_joint.html#a909cf64070371f60bc856d2c8eca2c49", null ], - [ "SolvePositionConstraints", "classb2_friction_joint.html#a4e4b64b634299136bc2c7096d5c28aa8", null ], - [ "SolveVelocityConstraints", "classb2_friction_joint.html#a49109c1785d949e99a809a8c297abf13", null ], - [ "b2Joint", "classb2_friction_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_angularImpulse", "classb2_friction_joint.html#a84d02d2733d5600d94c7ccd68d2df439", null ], - [ "m_angularMass", "classb2_friction_joint.html#a753ab9e929ef5648302571e47c87af38", null ], - [ "m_indexA", "classb2_friction_joint.html#a069c815e1cdf78160cb96b4b0047f64e", null ], - [ "m_indexB", "classb2_friction_joint.html#a378198c55100884de4587cb9ab22128f", null ], - [ "m_invIA", "classb2_friction_joint.html#afc8e9bc8c7e8e25df192984a78d8f1db", null ], - [ "m_invIB", "classb2_friction_joint.html#a4465a4ebb6e0386ba4fc21447fb17107", null ], - [ "m_invMassA", "classb2_friction_joint.html#a7cf080cd1314d1d30da886dbed49673f", null ], - [ "m_invMassB", "classb2_friction_joint.html#a3ab18e67a5646df2c6cb1cbcac42b2eb", null ], - [ "m_linearImpulse", "classb2_friction_joint.html#ad4f8286af03b0f37a9eec7e9884d7e26", null ], - [ "m_linearMass", "classb2_friction_joint.html#aa49bf4b20865a4976c3fae8398191182", null ], - [ "m_localAnchorA", "classb2_friction_joint.html#a8842818b75319de1e4f3ec70d784dce1", null ], - [ "m_localAnchorB", "classb2_friction_joint.html#aa5920c253c6564bfd04a11e767f2e2db", null ], - [ "m_localCenterA", "classb2_friction_joint.html#af732965abe1f29f7469e1ea17506218c", null ], - [ "m_localCenterB", "classb2_friction_joint.html#a55739866c1f3423caf2116e0a869ec45", null ], - [ "m_maxForce", "classb2_friction_joint.html#a6d3f99cfeada6b383abfc4ee4f5166eb", null ], - [ "m_maxTorque", "classb2_friction_joint.html#aa231d6ff89b388f590a89751d708f644", null ], - [ "m_rA", "classb2_friction_joint.html#aa02b166017af5893b6b49b56dc96c70a", null ], - [ "m_rB", "classb2_friction_joint.html#a99b95a2dbfb119cbccccb137748aca44", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_friction_joint.png b/documentation/classb2_friction_joint.png deleted file mode 100644 index ce40f94..0000000 Binary files a/documentation/classb2_friction_joint.png and /dev/null differ diff --git a/documentation/classb2_gear_joint-members.html b/documentation/classb2_gear_joint-members.html deleted file mode 100644 index 885b40f..0000000 --- a/documentation/classb2_gear_joint-members.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2GearJoint Member List
-
-
- -

This is the complete list of members for b2GearJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2GearJoint(const b2GearJointDef *data) (defined in b2GearJoint)b2GearJointprotected
b2Joint (defined in b2GearJoint)b2GearJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) constb2Jointvirtual
Dump() overrideb2GearJointvirtual
GetAnchorA() const overrideb2GearJointvirtual
GetAnchorB() const overrideb2GearJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetJoint1()b2GearJointinline
GetJoint2()b2GearJointinline
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetRatio() const (defined in b2GearJoint)b2GearJoint
GetReactionForce(float inv_dt) const overrideb2GearJointvirtual
GetReactionTorque(float inv_dt) const overrideb2GearJointvirtual
GetType() constb2Jointinline
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2GearJoint)b2GearJointprotectedvirtual
IsEnabled() constb2Joint
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_bodyC (defined in b2GearJoint)b2GearJointprotected
m_bodyD (defined in b2GearJoint)b2GearJointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_constant (defined in b2GearJoint)b2GearJointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_iA (defined in b2GearJoint)b2GearJointprotected
m_iB (defined in b2GearJoint)b2GearJointprotected
m_iC (defined in b2GearJoint)b2GearJointprotected
m_iD (defined in b2GearJoint)b2GearJointprotected
m_impulse (defined in b2GearJoint)b2GearJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2GearJoint)b2GearJointprotected
m_indexB (defined in b2GearJoint)b2GearJointprotected
m_indexC (defined in b2GearJoint)b2GearJointprotected
m_indexD (defined in b2GearJoint)b2GearJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_joint1 (defined in b2GearJoint)b2GearJointprotected
m_joint2 (defined in b2GearJoint)b2GearJointprotected
m_JvAC (defined in b2GearJoint)b2GearJointprotected
m_JvBD (defined in b2GearJoint)b2GearJointprotected
m_JwA (defined in b2GearJoint)b2GearJointprotected
m_JwB (defined in b2GearJoint)b2GearJointprotected
m_JwC (defined in b2GearJoint)b2GearJointprotected
m_JwD (defined in b2GearJoint)b2GearJointprotected
m_lcA (defined in b2GearJoint)b2GearJointprotected
m_lcB (defined in b2GearJoint)b2GearJointprotected
m_lcC (defined in b2GearJoint)b2GearJointprotected
m_lcD (defined in b2GearJoint)b2GearJointprotected
m_localAnchorA (defined in b2GearJoint)b2GearJointprotected
m_localAnchorB (defined in b2GearJoint)b2GearJointprotected
m_localAnchorC (defined in b2GearJoint)b2GearJointprotected
m_localAnchorD (defined in b2GearJoint)b2GearJointprotected
m_localAxisC (defined in b2GearJoint)b2GearJointprotected
m_localAxisD (defined in b2GearJoint)b2GearJointprotected
m_mA (defined in b2GearJoint)b2GearJointprotected
m_mass (defined in b2GearJoint)b2GearJointprotected
m_mB (defined in b2GearJoint)b2GearJointprotected
m_mC (defined in b2GearJoint)b2GearJointprotected
m_mD (defined in b2GearJoint)b2GearJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_ratio (defined in b2GearJoint)b2GearJointprotected
m_referenceAngleA (defined in b2GearJoint)b2GearJointprotected
m_referenceAngleB (defined in b2GearJoint)b2GearJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_typeA (defined in b2GearJoint)b2GearJointprotected
m_typeB (defined in b2GearJoint)b2GearJointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetRatio(float ratio)b2GearJoint
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2GearJoint)b2GearJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2GearJoint)b2GearJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_gear_joint.html b/documentation/classb2_gear_joint.html deleted file mode 100644 index 1e2778a..0000000 --- a/documentation/classb2_gear_joint.html +++ /dev/null @@ -1,395 +0,0 @@ - - - - - - - -Box2D: b2GearJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2GearJoint Class Reference
-
-
- -

#include <b2_gear_joint.h>

-
-Inheritance diagram for b2GearJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-float GetReactionTorque (float inv_dt) const override
 Get the reaction torque on bodyB in N*m.
 
-b2JointGetJoint1 ()
 Get the first joint.
 
-b2JointGetJoint2 ()
 Get the second joint.
 
-void SetRatio (float ratio)
 Set/Get the gear ratio.
 
-float GetRatio () const
 
-void Dump () override
 Dump joint to dmLog.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
-virtual void Draw (b2Draw *draw) const
 Debug draw this joint.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2GearJoint (const b2GearJointDef *data)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Jointm_joint1
 
-b2Jointm_joint2
 
-b2JointType m_typeA
 
-b2JointType m_typeB
 
-b2Bodym_bodyC
 
-b2Bodym_bodyD
 
-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-b2Vec2 m_localAnchorC
 
-b2Vec2 m_localAnchorD
 
-b2Vec2 m_localAxisC
 
-b2Vec2 m_localAxisD
 
-float m_referenceAngleA
 
-float m_referenceAngleB
 
-float m_constant
 
-float m_ratio
 
-float m_impulse
 
-int32 m_indexA
 
-int32 m_indexB
 
-int32 m_indexC
 
-int32 m_indexD
 
-b2Vec2 m_lcA
 
-b2Vec2 m_lcB
 
-b2Vec2 m_lcC
 
-b2Vec2 m_lcD
 
-float m_mA
 
-float m_mB
 
-float m_mC
 
-float m_mD
 
-float m_iA
 
-float m_iB
 
-float m_iC
 
-float m_iD
 
-b2Vec2 m_JvAC
 
-b2Vec2 m_JvBD
 
-float m_JwA
 
-float m_JwB
 
-float m_JwC
 
-float m_JwD
 
-float m_mass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A gear joint is used to connect two joints together. Either joint can be a revolute or prismatic joint. You specify a gear ratio to bind the motions together: coordinate1 + ratio * coordinate2 = constant The ratio can be negative or positive. If one joint is a revolute joint and the other joint is a prismatic joint, then the ratio will have units of length or units of 1/length.

Warning
You have to manually destroy the gear joint if joint1 or joint2 is destroyed.
-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_gear_joint.js b/documentation/classb2_gear_joint.js deleted file mode 100644 index 3e3344b..0000000 --- a/documentation/classb2_gear_joint.js +++ /dev/null @@ -1,57 +0,0 @@ -var classb2_gear_joint = -[ - [ "b2GearJoint", "classb2_gear_joint.html#a4b247c79e74cb1e5b906527fe7d151ce", null ], - [ "Dump", "classb2_gear_joint.html#a40ca34a7853db14d3978c0b18598dd8d", null ], - [ "GetAnchorA", "classb2_gear_joint.html#a2928d2e9eac9137808537faa9b30a649", null ], - [ "GetAnchorB", "classb2_gear_joint.html#a3d24a3265e64f36017404a36abcb7889", null ], - [ "GetJoint1", "classb2_gear_joint.html#acd3fb38982319f387d1eb7aeddd5311f", null ], - [ "GetJoint2", "classb2_gear_joint.html#af1673b8edd80f3ae3b868c3a18b7b058", null ], - [ "GetRatio", "classb2_gear_joint.html#aacd68a79b2e2401bc1271b6eda1342d7", null ], - [ "GetReactionForce", "classb2_gear_joint.html#a3d097b44e5a5f4a22f815ed4c5bc4f93", null ], - [ "GetReactionTorque", "classb2_gear_joint.html#aa3e41e7fe095d561986c75da66eb9147", null ], - [ "InitVelocityConstraints", "classb2_gear_joint.html#ac3c76db6940bcb4c94d564960b9c57ab", null ], - [ "SetRatio", "classb2_gear_joint.html#afba67bc47667ac37db4de7819f306821", null ], - [ "SolvePositionConstraints", "classb2_gear_joint.html#a85633bbab3c4b4cb862bccce7e0253c2", null ], - [ "SolveVelocityConstraints", "classb2_gear_joint.html#a25ff465354108f5ae2b60fb9f7836820", null ], - [ "b2Joint", "classb2_gear_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_bodyC", "classb2_gear_joint.html#a07e5f85b71bf335552835989dc013fe6", null ], - [ "m_bodyD", "classb2_gear_joint.html#ad3a1795c11b652b4b2f8bfc3ed96cb0b", null ], - [ "m_constant", "classb2_gear_joint.html#a601a984f6ef510340b5ac81810a243eb", null ], - [ "m_iA", "classb2_gear_joint.html#a2d05e0346234eb600e491f98f0d1117c", null ], - [ "m_iB", "classb2_gear_joint.html#a1932b210c9e540e9f5b831670e87cfeb", null ], - [ "m_iC", "classb2_gear_joint.html#afb4a0cce74f67d259c39a20620677be6", null ], - [ "m_iD", "classb2_gear_joint.html#ad99ca0d69086f507f0af33ed782031ad", null ], - [ "m_impulse", "classb2_gear_joint.html#a04b4d568b139b8a9f271f3ebfd0d4bbe", null ], - [ "m_indexA", "classb2_gear_joint.html#adb00e71e60a222e432b57c95c38b8bd7", null ], - [ "m_indexB", "classb2_gear_joint.html#a5cf185f4e4b5d5e1780ba2c085ec2e6e", null ], - [ "m_indexC", "classb2_gear_joint.html#a46528e9a9a33a4d67dd5b2abb3d1dec5", null ], - [ "m_indexD", "classb2_gear_joint.html#a068be34dbdf39ac59c7a5bb7777d550f", null ], - [ "m_joint1", "classb2_gear_joint.html#a7694fc4574c774c22a8c202e0d49fd84", null ], - [ "m_joint2", "classb2_gear_joint.html#a94290117dd4f2467eee49ecc150b9eb6", null ], - [ "m_JvAC", "classb2_gear_joint.html#a23eb9f668936f931d40f930e085dd5a0", null ], - [ "m_JvBD", "classb2_gear_joint.html#ab00b00c061d8b9e461f76ac4d72aac8c", null ], - [ "m_JwA", "classb2_gear_joint.html#a72b117a07e8a592ed45618fbb1532c05", null ], - [ "m_JwB", "classb2_gear_joint.html#a9435a12970dba2121ca4b92728da6029", null ], - [ "m_JwC", "classb2_gear_joint.html#af5b6900fc49d1522a496513b61488aae", null ], - [ "m_JwD", "classb2_gear_joint.html#a4ff9230891fcd182272515ebe8ede48a", null ], - [ "m_lcA", "classb2_gear_joint.html#afb46a5545846cc085f2aad02a05acc86", null ], - [ "m_lcB", "classb2_gear_joint.html#a4f933756b7e6b9ec060b105d0fb6689b", null ], - [ "m_lcC", "classb2_gear_joint.html#a9eaca477247eb71dae06f12842bc636d", null ], - [ "m_lcD", "classb2_gear_joint.html#a21c4c7aa8c0ba7ccf9d4f786a31e5553", null ], - [ "m_localAnchorA", "classb2_gear_joint.html#acac78f2e3730fda540d1c7a74889bfc5", null ], - [ "m_localAnchorB", "classb2_gear_joint.html#a864c3d4d7944f72783a073993530d9fd", null ], - [ "m_localAnchorC", "classb2_gear_joint.html#a9361797683a30e70afd5b8690fe47ba3", null ], - [ "m_localAnchorD", "classb2_gear_joint.html#abdd5be52535b5b56e44fc27832d057d2", null ], - [ "m_localAxisC", "classb2_gear_joint.html#a52ae3b3a06ad9dae6b3201404784cc18", null ], - [ "m_localAxisD", "classb2_gear_joint.html#a49cc9f1b74793dce3311cf7a35a8aee1", null ], - [ "m_mA", "classb2_gear_joint.html#a84da6ad10c91c69cbec8ce2addd98963", null ], - [ "m_mass", "classb2_gear_joint.html#a91f085d8bbdb2f1a1a935a53825a0fe9", null ], - [ "m_mB", "classb2_gear_joint.html#af791d4358f15ee1bb7780ec5e50e1638", null ], - [ "m_mC", "classb2_gear_joint.html#a97a51d5a50472e23c1ee6fe92e849dfa", null ], - [ "m_mD", "classb2_gear_joint.html#ad81185d9a1b8150e9bc680c348dc59ab", null ], - [ "m_ratio", "classb2_gear_joint.html#a20e250d0ad5b1f93db7feef9be8dac9d", null ], - [ "m_referenceAngleA", "classb2_gear_joint.html#ad0b9359c132c9b7f7cc98047884a5b95", null ], - [ "m_referenceAngleB", "classb2_gear_joint.html#af31488fa5ae33a13a7e33dcc0b827e06", null ], - [ "m_typeA", "classb2_gear_joint.html#a0819b72c766d69cb1995f6cca4e98853", null ], - [ "m_typeB", "classb2_gear_joint.html#a03e1959e04a361db79ae5da5ba76379e", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_gear_joint.png b/documentation/classb2_gear_joint.png deleted file mode 100644 index c11b5b6..0000000 Binary files a/documentation/classb2_gear_joint.png and /dev/null differ diff --git a/documentation/classb2_growable_stack-members.html b/documentation/classb2_growable_stack-members.html deleted file mode 100644 index bab5ab4..0000000 --- a/documentation/classb2_growable_stack-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2GrowableStack< T, N > Member List
-
-
- -

This is the complete list of members for b2GrowableStack< T, N >, including all inherited members.

- - - - - - -
b2GrowableStack() (defined in b2GrowableStack< T, N >)b2GrowableStack< T, N >inline
GetCount() (defined in b2GrowableStack< T, N >)b2GrowableStack< T, N >inline
Pop() (defined in b2GrowableStack< T, N >)b2GrowableStack< T, N >inline
Push(const T &element) (defined in b2GrowableStack< T, N >)b2GrowableStack< T, N >inline
~b2GrowableStack() (defined in b2GrowableStack< T, N >)b2GrowableStack< T, N >inline
-
- - - - diff --git a/documentation/classb2_growable_stack.html b/documentation/classb2_growable_stack.html deleted file mode 100644 index e050a85..0000000 --- a/documentation/classb2_growable_stack.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Box2D: b2GrowableStack< T, N > Class Template Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2GrowableStack< T, N > Class Template Reference
-
-
- -

#include <b2_growable_stack.h>

- - - - - - - - -

-Public Member Functions

-void Push (const T &element)
 
-T Pop ()
 
-int32 GetCount ()
 
-

Detailed Description

-

template<typename T, int32 N>
-class b2GrowableStack< T, N >

- -

This is a growable LIFO stack with an initial capacity of N. If the stack size exceeds the initial capacity, the heap is used to increase the size of the stack.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_growable_stack.js b/documentation/classb2_growable_stack.js deleted file mode 100644 index 8acbf2c..0000000 --- a/documentation/classb2_growable_stack.js +++ /dev/null @@ -1,8 +0,0 @@ -var classb2_growable_stack = -[ - [ "b2GrowableStack", "classb2_growable_stack.html#a8f2117cda895db13b9fed3f01e2d305d", null ], - [ "~b2GrowableStack", "classb2_growable_stack.html#a2b6265f7eef3e4be55b64db1f0cef4fd", null ], - [ "GetCount", "classb2_growable_stack.html#a3049e76ba7182b988450bfe94d30d5aa", null ], - [ "Pop", "classb2_growable_stack.html#a53e53dcd6bff8308405a881f02957bc8", null ], - [ "Push", "classb2_growable_stack.html#a23661327d64ff72d1ec8d6bcdb6d8992", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_joint-members.html b/documentation/classb2_joint-members.html deleted file mode 100644 index 9b88e27..0000000 --- a/documentation/classb2_joint-members.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Joint Member List
-
-
- -

This is the complete list of members for b2Joint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Body (defined in b2Joint)b2Jointfriend
b2GearJoint (defined in b2Joint)b2Jointfriend
b2Island (defined in b2Joint)b2Jointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2World (defined in b2Joint)b2Jointfriend
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) constb2Jointvirtual
Dump()b2Jointinlinevirtual
GetAnchorA() const =0b2Jointpure virtual
GetAnchorB() const =0b2Jointpure virtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const =0b2Jointpure virtual
GetReactionTorque(float inv_dt) const =0b2Jointpure virtual
GetType() constb2Jointinline
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data)=0 (defined in b2Joint)b2Jointprotectedpure virtual
IsEnabled() constb2Joint
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_index (defined in b2Joint)b2Jointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_type (defined in b2Joint)b2Jointprotected
m_userData (defined in b2Joint)b2Jointprotected
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data)=0 (defined in b2Joint)b2Jointprotectedpure virtual
SolveVelocityConstraints(const b2SolverData &data)=0 (defined in b2Joint)b2Jointprotectedpure virtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_joint.html b/documentation/classb2_joint.html deleted file mode 100644 index 28facbc..0000000 --- a/documentation/classb2_joint.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - -Box2D: b2Joint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Joint Class Referenceabstract
-
-
- -

#include <b2_joint.h>

-
-Inheritance diagram for b2Joint:
-
-
- - -b2DistanceJoint -b2FrictionJoint -b2GearJoint -b2MotorJoint -b2MouseJoint -b2PrismaticJoint -b2PulleyJoint -b2RevoluteJoint -b2WeldJoint -b2WheelJoint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-virtual b2Vec2 GetAnchorA () const =0
 Get the anchor point on bodyA in world coordinates.
 
-virtual b2Vec2 GetAnchorB () const =0
 Get the anchor point on bodyB in world coordinates.
 
-virtual b2Vec2 GetReactionForce (float inv_dt) const =0
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-virtual float GetReactionTorque (float inv_dt) const =0
 Get the reaction torque on bodyB in N*m.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void Dump ()
 Dump this joint to the log file.
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
-virtual void Draw (b2Draw *draw) const
 Debug draw this joint.
 
- - - - - - - - - -

-Protected Member Functions

b2Joint (const b2JointDef *def)
 
-virtual void InitVelocityConstraints (const b2SolverData &data)=0
 
-virtual void SolveVelocityConstraints (const b2SolverData &data)=0
 
-virtual bool SolvePositionConstraints (const b2SolverData &data)=0
 
- - - - - -

-Static Protected Member Functions

-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - - - - - - - -

-Friends

-class b2World
 
-class b2Body
 
-class b2Island
 
-class b2GearJoint
 
-

Detailed Description

-

The base joint class. Joints are used to constraint two bodies together in various fashions. Some joints also feature limits and motors.

-

Member Function Documentation

- -

◆ GetCollideConnected()

- -
-
- - - - - -
- - - - - - - -
bool b2Joint::GetCollideConnected () const
-
-inline
-
-

Get collide connected. Note: modifying the collide connect flag won't work correctly because the flag is only checked when fixture AABBs begin to overlap.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_joint.js b/documentation/classb2_joint.js deleted file mode 100644 index b587905..0000000 --- a/documentation/classb2_joint.js +++ /dev/null @@ -1,38 +0,0 @@ -var classb2_joint = -[ - [ "b2Joint", "classb2_joint.html#a8d6cce91546335fe95325d5e29c06a19", null ], - [ "~b2Joint", "classb2_joint.html#ab44cde7b81c3e77540400e0da90d6ceb", null ], - [ "Draw", "classb2_joint.html#aea86b65244fc81ea1511d462b36ffbe4", null ], - [ "Dump", "classb2_joint.html#abd35e7316017ad9a40d5dbf9b5ba3f36", null ], - [ "GetAnchorA", "classb2_joint.html#abe46ca3aad5db73909a9b5a7b2117447", null ], - [ "GetAnchorB", "classb2_joint.html#a88e947c65d4ea26fe539f02a8cb7f7a9", null ], - [ "GetBodyA", "classb2_joint.html#a2ed5eca3dbdce48665c14452b280613f", null ], - [ "GetBodyB", "classb2_joint.html#a700b3d4c87f34f456151b9598e4641a0", null ], - [ "GetCollideConnected", "classb2_joint.html#a48492903df96c8a7b8cad8ed826f8cb0", null ], - [ "GetNext", "classb2_joint.html#a08b1258326a45a37c67c8fc3c8731b0e", null ], - [ "GetNext", "classb2_joint.html#a6879beaffb647784ceffdeedba69085d", null ], - [ "GetReactionForce", "classb2_joint.html#ad9f0c84f0292ab17cbdb6435c7a039b9", null ], - [ "GetReactionTorque", "classb2_joint.html#aeda5032fc551df6f488355d459ae60ef", null ], - [ "GetType", "classb2_joint.html#ac56eef62fe1ac7c9e5e21a79fb035255", null ], - [ "GetUserData", "classb2_joint.html#ab31c3a0c5a494d21b1ca134d609ca8ab", null ], - [ "InitVelocityConstraints", "classb2_joint.html#a599c013de5514e02684b958b31dd76a4", null ], - [ "IsEnabled", "classb2_joint.html#ad8afc5c7b8b325e982e75fe35730253d", null ], - [ "ShiftOrigin", "classb2_joint.html#a7804f649e993dc0fd9ae47fde5601f90", null ], - [ "SolvePositionConstraints", "classb2_joint.html#af767ac9aa494bd15cdf83dfe3e487d9c", null ], - [ "SolveVelocityConstraints", "classb2_joint.html#ad302c8d02efcfe934158de0dc429348d", null ], - [ "b2Body", "classb2_joint.html#a010ab52de250e5fe30a45d642f46405b", null ], - [ "b2GearJoint", "classb2_joint.html#a13c275221e30bb485e17e4e04553cb71", null ], - [ "b2Island", "classb2_joint.html#afc682950b8c4f251804fc1938663098b", null ], - [ "b2World", "classb2_joint.html#a4bd536c5a7c0587913765bbc2693ceea", null ], - [ "m_bodyA", "classb2_joint.html#abaebb784a51abb7d66de302ba07a4467", null ], - [ "m_bodyB", "classb2_joint.html#a1fd77fcbcb8a8a3729c7dc5b790d7200", null ], - [ "m_collideConnected", "classb2_joint.html#ac1a93c14c8dd666bb487db6c98daad33", null ], - [ "m_edgeA", "classb2_joint.html#a406ea423db1fe6484408d73df647f7b2", null ], - [ "m_edgeB", "classb2_joint.html#a1041219dcd353ea815ebd78f904af547", null ], - [ "m_index", "classb2_joint.html#ae207295484bc040b6b52d96d63f1369f", null ], - [ "m_islandFlag", "classb2_joint.html#a777e45428d9a74d626f4afa1b45e1975", null ], - [ "m_next", "classb2_joint.html#aad16778ba9c51cebb767ff7df6ed80b5", null ], - [ "m_prev", "classb2_joint.html#a940166e7b5d87cec1ad0603e0388854a", null ], - [ "m_type", "classb2_joint.html#a3fd3f2532d108d81df81427815210a59", null ], - [ "m_userData", "classb2_joint.html#ad2db2113956e7de6f74a18e5692b3786", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_joint.png b/documentation/classb2_joint.png deleted file mode 100644 index 9ea6987..0000000 Binary files a/documentation/classb2_joint.png and /dev/null differ diff --git a/documentation/classb2_motor_joint-members.html b/documentation/classb2_motor_joint-members.html deleted file mode 100644 index b0400e9..0000000 --- a/documentation/classb2_motor_joint-members.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2MotorJoint Member List
-
-
- -

This is the complete list of members for b2MotorJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Joint (defined in b2MotorJoint)b2MotorJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2MotorJoint(const b2MotorJointDef *def) (defined in b2MotorJoint)b2MotorJointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) constb2Jointvirtual
Dump() overrideb2MotorJointvirtual
GetAnchorA() const overrideb2MotorJointvirtual
GetAnchorB() const overrideb2MotorJointvirtual
GetAngularOffset() const (defined in b2MotorJoint)b2MotorJoint
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetCorrectionFactor() constb2MotorJoint
GetLinearOffset() const (defined in b2MotorJoint)b2MotorJoint
GetMaxForce() constb2MotorJoint
GetMaxTorque() constb2MotorJoint
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2MotorJointvirtual
GetReactionTorque(float inv_dt) const overrideb2MotorJointvirtual
GetType() constb2Jointinline
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2MotorJoint)b2MotorJointprotectedvirtual
IsEnabled() constb2Joint
m_angularError (defined in b2MotorJoint)b2MotorJointprotected
m_angularImpulse (defined in b2MotorJoint)b2MotorJointprotected
m_angularMass (defined in b2MotorJoint)b2MotorJointprotected
m_angularOffset (defined in b2MotorJoint)b2MotorJointprotected
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_correctionFactor (defined in b2MotorJoint)b2MotorJointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2MotorJoint)b2MotorJointprotected
m_indexB (defined in b2MotorJoint)b2MotorJointprotected
m_invIA (defined in b2MotorJoint)b2MotorJointprotected
m_invIB (defined in b2MotorJoint)b2MotorJointprotected
m_invMassA (defined in b2MotorJoint)b2MotorJointprotected
m_invMassB (defined in b2MotorJoint)b2MotorJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_linearError (defined in b2MotorJoint)b2MotorJointprotected
m_linearImpulse (defined in b2MotorJoint)b2MotorJointprotected
m_linearMass (defined in b2MotorJoint)b2MotorJointprotected
m_linearOffset (defined in b2MotorJoint)b2MotorJointprotected
m_localCenterA (defined in b2MotorJoint)b2MotorJointprotected
m_localCenterB (defined in b2MotorJoint)b2MotorJointprotected
m_maxForce (defined in b2MotorJoint)b2MotorJointprotected
m_maxTorque (defined in b2MotorJoint)b2MotorJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_rA (defined in b2MotorJoint)b2MotorJointprotected
m_rB (defined in b2MotorJoint)b2MotorJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetAngularOffset(float angularOffset)b2MotorJoint
SetCorrectionFactor(float factor)b2MotorJoint
SetLinearOffset(const b2Vec2 &linearOffset)b2MotorJoint
SetMaxForce(float force)b2MotorJoint
SetMaxTorque(float torque)b2MotorJoint
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2MotorJoint)b2MotorJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2MotorJoint)b2MotorJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_motor_joint.html b/documentation/classb2_motor_joint.html deleted file mode 100644 index 1ce6d7c..0000000 --- a/documentation/classb2_motor_joint.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - - -Box2D: b2MotorJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2MotorJoint Class Reference
-
-
- -

#include <b2_motor_joint.h>

-
-Inheritance diagram for b2MotorJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-float GetReactionTorque (float inv_dt) const override
 Get the reaction torque on bodyB in N*m.
 
-void SetLinearOffset (const b2Vec2 &linearOffset)
 Set/get the target linear offset, in frame A, in meters.
 
-const b2Vec2GetLinearOffset () const
 
-void SetAngularOffset (float angularOffset)
 Set/get the target angular offset, in radians.
 
-float GetAngularOffset () const
 
-void SetMaxForce (float force)
 Set the maximum friction force in N.
 
-float GetMaxForce () const
 Get the maximum friction force in N.
 
-void SetMaxTorque (float torque)
 Set the maximum friction torque in N*m.
 
-float GetMaxTorque () const
 Get the maximum friction torque in N*m.
 
-void SetCorrectionFactor (float factor)
 Set the position correction factor in the range [0,1].
 
-float GetCorrectionFactor () const
 Get the position correction factor in the range [0,1].
 
-void Dump () override
 Dump to b2Log.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
-virtual void Draw (b2Draw *draw) const
 Debug draw this joint.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2MotorJoint (const b2MotorJointDef *def)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Vec2 m_linearOffset
 
-float m_angularOffset
 
-b2Vec2 m_linearImpulse
 
-float m_angularImpulse
 
-float m_maxForce
 
-float m_maxTorque
 
-float m_correctionFactor
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_rA
 
-b2Vec2 m_rB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-b2Vec2 m_linearError
 
-float m_angularError
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-b2Mat22 m_linearMass
 
-float m_angularMass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A motor joint is used to control the relative motion between two bodies. A typical usage is to control the movement of a dynamic body with respect to the ground.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_motor_joint.js b/documentation/classb2_motor_joint.js deleted file mode 100644 index f3ffdd3..0000000 --- a/documentation/classb2_motor_joint.js +++ /dev/null @@ -1,44 +0,0 @@ -var classb2_motor_joint = -[ - [ "b2MotorJoint", "classb2_motor_joint.html#ac0c56b069910915e1ceef3b89c035833", null ], - [ "Dump", "classb2_motor_joint.html#abb67754f39b4747ae07af5cb5b348836", null ], - [ "GetAnchorA", "classb2_motor_joint.html#a58adfab0fe79d254347a367341b0963a", null ], - [ "GetAnchorB", "classb2_motor_joint.html#a5d563fd070f7b6cfe8db6f83e1bebbcd", null ], - [ "GetAngularOffset", "classb2_motor_joint.html#a3ee1b96733af21700c35579de1a556f9", null ], - [ "GetCorrectionFactor", "classb2_motor_joint.html#a827da80c693304040cb171369af7d9ba", null ], - [ "GetLinearOffset", "classb2_motor_joint.html#a21a2e1b6484194dc2c5cf3037404bc6d", null ], - [ "GetMaxForce", "classb2_motor_joint.html#a2d20421e4336350007db42caa9887101", null ], - [ "GetMaxTorque", "classb2_motor_joint.html#aa8276f00dc2e32a0d7de6de2022e9ffa", null ], - [ "GetReactionForce", "classb2_motor_joint.html#a5dd26e48d7820619bdf149e08ea49bcb", null ], - [ "GetReactionTorque", "classb2_motor_joint.html#a5735431a7c29ca105ec2fb6bd6548d0e", null ], - [ "InitVelocityConstraints", "classb2_motor_joint.html#aeffac9d1e3940c362962319d1bdb3f22", null ], - [ "SetAngularOffset", "classb2_motor_joint.html#aa9042733cfcac2acbc529c2fd60b15f5", null ], - [ "SetCorrectionFactor", "classb2_motor_joint.html#a4fb5a4ee4d16bae6be450979bf3d388b", null ], - [ "SetLinearOffset", "classb2_motor_joint.html#a99254b5fc9ed9f2d0fdccada513000c3", null ], - [ "SetMaxForce", "classb2_motor_joint.html#aa3c2b0b06eda7fd50b8a0188d04714e0", null ], - [ "SetMaxTorque", "classb2_motor_joint.html#a73ef23148813ca3b30e1d52d8faa43a9", null ], - [ "SolvePositionConstraints", "classb2_motor_joint.html#a4e56455ab7e90f82fc1f463efc9b59de", null ], - [ "SolveVelocityConstraints", "classb2_motor_joint.html#a620c75b301aeab409f9d50a041a80fb8", null ], - [ "b2Joint", "classb2_motor_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_angularError", "classb2_motor_joint.html#a9e525c7ee8fd735e2e12025791581cf6", null ], - [ "m_angularImpulse", "classb2_motor_joint.html#ab19a9b01b371e93806ad71b19fd439f8", null ], - [ "m_angularMass", "classb2_motor_joint.html#adc0309560f4883fba8b9a55a29198056", null ], - [ "m_angularOffset", "classb2_motor_joint.html#ad4e94ac665fd5ea958f5bb7d314d5b7e", null ], - [ "m_correctionFactor", "classb2_motor_joint.html#a5b20a1762b7167ac82ab585eaedd050c", null ], - [ "m_indexA", "classb2_motor_joint.html#afdd9d0ebe37506dd8509ed2392fa1f56", null ], - [ "m_indexB", "classb2_motor_joint.html#a51525d3f5af31dcede8e641943fe86b3", null ], - [ "m_invIA", "classb2_motor_joint.html#a69f726324adf8fd596a2102bdc202aec", null ], - [ "m_invIB", "classb2_motor_joint.html#ab4d176989f1b011baf160d53f70a7b99", null ], - [ "m_invMassA", "classb2_motor_joint.html#ad69dbe78f50353baf23466a6dfee2c0b", null ], - [ "m_invMassB", "classb2_motor_joint.html#a632ca501bfb5ebab3ab01ca047dc6feb", null ], - [ "m_linearError", "classb2_motor_joint.html#a21d38a7fedf735aca7d36d1ec033337e", null ], - [ "m_linearImpulse", "classb2_motor_joint.html#a5aba4dbf8cccc33a1cc20f7a503b51f5", null ], - [ "m_linearMass", "classb2_motor_joint.html#a89503b91fd38d332304092661aafd2c0", null ], - [ "m_linearOffset", "classb2_motor_joint.html#a6e8db2001da3a9b2926a41451f28f73b", null ], - [ "m_localCenterA", "classb2_motor_joint.html#a42f50bbd4b5821164c9777903c83a723", null ], - [ "m_localCenterB", "classb2_motor_joint.html#a8ba1cf76d5cbc10bf6ff9b7685ebc20d", null ], - [ "m_maxForce", "classb2_motor_joint.html#a9ecf7202f8978c2c8fa4690435393b07", null ], - [ "m_maxTorque", "classb2_motor_joint.html#a00dbcbdc092c523706fcdddfe84a9d73", null ], - [ "m_rA", "classb2_motor_joint.html#a0340ef47abad9882a271be45df15d3ed", null ], - [ "m_rB", "classb2_motor_joint.html#a85c605b404e4b087e2932fdf23b447d5", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_motor_joint.png b/documentation/classb2_motor_joint.png deleted file mode 100644 index c820c9c..0000000 Binary files a/documentation/classb2_motor_joint.png and /dev/null differ diff --git a/documentation/classb2_mouse_joint-members.html b/documentation/classb2_mouse_joint-members.html deleted file mode 100644 index 54fdd97..0000000 --- a/documentation/classb2_mouse_joint-members.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2MouseJoint Member List
-
-
- -

This is the complete list of members for b2MouseJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Joint (defined in b2MouseJoint)b2MouseJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2MouseJoint(const b2MouseJointDef *def) (defined in b2MouseJoint)b2MouseJointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) constb2Jointvirtual
Dump() overrideb2MouseJointinlinevirtual
GetAnchorA() const overrideb2MouseJointvirtual
GetAnchorB() const overrideb2MouseJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetDamping() const (defined in b2MouseJoint)b2MouseJointinline
GetMaxForce() const (defined in b2MouseJoint)b2MouseJoint
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2MouseJointvirtual
GetReactionTorque(float inv_dt) const overrideb2MouseJointvirtual
GetStiffness() const (defined in b2MouseJoint)b2MouseJointinline
GetTarget() const (defined in b2MouseJoint)b2MouseJoint
GetType() constb2Jointinline
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2MouseJoint)b2MouseJointprotectedvirtual
IsEnabled() constb2Joint
m_beta (defined in b2MouseJoint)b2MouseJointprotected
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_C (defined in b2MouseJoint)b2MouseJointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_damping (defined in b2MouseJoint)b2MouseJointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_gamma (defined in b2MouseJoint)b2MouseJointprotected
m_impulse (defined in b2MouseJoint)b2MouseJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2MouseJoint)b2MouseJointprotected
m_indexB (defined in b2MouseJoint)b2MouseJointprotected
m_invIB (defined in b2MouseJoint)b2MouseJointprotected
m_invMassB (defined in b2MouseJoint)b2MouseJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_localAnchorB (defined in b2MouseJoint)b2MouseJointprotected
m_localCenterB (defined in b2MouseJoint)b2MouseJointprotected
m_mass (defined in b2MouseJoint)b2MouseJointprotected
m_maxForce (defined in b2MouseJoint)b2MouseJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_rB (defined in b2MouseJoint)b2MouseJointprotected
m_stiffness (defined in b2MouseJoint)b2MouseJointprotected
m_targetA (defined in b2MouseJoint)b2MouseJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetDamping(float damping)b2MouseJointinline
SetMaxForce(float force)b2MouseJoint
SetStiffness(float stiffness)b2MouseJointinline
SetTarget(const b2Vec2 &target)b2MouseJoint
ShiftOrigin(const b2Vec2 &newOrigin) overrideb2MouseJointvirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2MouseJoint)b2MouseJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2MouseJoint)b2MouseJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_mouse_joint.html b/documentation/classb2_mouse_joint.html deleted file mode 100644 index be98b39..0000000 --- a/documentation/classb2_mouse_joint.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - -Box2D: b2MouseJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2MouseJoint Class Reference
-
-
- -

#include <b2_mouse_joint.h>

-
-Inheritance diagram for b2MouseJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Implements b2Joint.
 
-b2Vec2 GetAnchorB () const override
 Implements b2Joint.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Implements b2Joint.
 
-float GetReactionTorque (float inv_dt) const override
 Implements b2Joint.
 
-void SetTarget (const b2Vec2 &target)
 Use this to update the target point.
 
-const b2Vec2GetTarget () const
 
-void SetMaxForce (float force)
 Set/get the maximum force in Newtons.
 
-float GetMaxForce () const
 
-void SetStiffness (float stiffness)
 Set/get the linear stiffness in N/m.
 
-float GetStiffness () const
 
-void SetDamping (float damping)
 Set/get linear damping in N*s/m.
 
-float GetDamping () const
 
-void Dump () override
 The mouse joint does not support dumping.
 
-void ShiftOrigin (const b2Vec2 &newOrigin) override
 Implement b2Joint::ShiftOrigin.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void Draw (b2Draw *draw) const
 Debug draw this joint.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2MouseJoint (const b2MouseJointDef *def)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Vec2 m_localAnchorB
 
-b2Vec2 m_targetA
 
-float m_stiffness
 
-float m_damping
 
-float m_beta
 
-b2Vec2 m_impulse
 
-float m_maxForce
 
-float m_gamma
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_rB
 
-b2Vec2 m_localCenterB
 
-float m_invMassB
 
-float m_invIB
 
-b2Mat22 m_mass
 
-b2Vec2 m_C
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A mouse joint is used to make a point on a body track a specified world point. This a soft constraint with a maximum force. This allows the constraint to stretch and without applying huge forces. NOTE: this joint is not documented in the manual because it was developed to be used in the testbed. If you want to learn how to use the mouse joint, look at the testbed.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_mouse_joint.js b/documentation/classb2_mouse_joint.js deleted file mode 100644 index 2785f7c..0000000 --- a/documentation/classb2_mouse_joint.js +++ /dev/null @@ -1,38 +0,0 @@ -var classb2_mouse_joint = -[ - [ "b2MouseJoint", "classb2_mouse_joint.html#ad147d7989d884952c3389f7e5e3acf68", null ], - [ "Dump", "classb2_mouse_joint.html#aea1ff1e5b71ba5630875585cab1e2a96", null ], - [ "GetAnchorA", "classb2_mouse_joint.html#a3c42531ac763bca3658a987d0ac7d2c4", null ], - [ "GetAnchorB", "classb2_mouse_joint.html#adecfaff123ba199f9fc80be7fcb74af2", null ], - [ "GetDamping", "classb2_mouse_joint.html#a51884de2ca1953069485cfd9141ad3d3", null ], - [ "GetMaxForce", "classb2_mouse_joint.html#a51c8f72494ab2314cbd15b5dc02fdeac", null ], - [ "GetReactionForce", "classb2_mouse_joint.html#a7a244f07ad43ab09cc55b62e0fb3df6e", null ], - [ "GetReactionTorque", "classb2_mouse_joint.html#a4eb8a3682f405c47431ced0bfbb09211", null ], - [ "GetStiffness", "classb2_mouse_joint.html#afad33615896fd89d51124794d3ee1bab", null ], - [ "GetTarget", "classb2_mouse_joint.html#a519a578a2683d8f016612329a00a9db5", null ], - [ "InitVelocityConstraints", "classb2_mouse_joint.html#a02c342a98cfa5687de2bd3dba7c700b1", null ], - [ "SetDamping", "classb2_mouse_joint.html#a1d04f5a481c764596c39bc5e967ea2b8", null ], - [ "SetMaxForce", "classb2_mouse_joint.html#ac6a661049f97830f0fa05f0241a3b775", null ], - [ "SetStiffness", "classb2_mouse_joint.html#adb9628ad6cb8da4a1bbcb84455066106", null ], - [ "SetTarget", "classb2_mouse_joint.html#a96f34c1c990407eddbadf07ae359b1f3", null ], - [ "ShiftOrigin", "classb2_mouse_joint.html#a9b1b2671837495be175e496afb622904", null ], - [ "SolvePositionConstraints", "classb2_mouse_joint.html#a13f9ec996eff59c15e6330a8c3f5ba9f", null ], - [ "SolveVelocityConstraints", "classb2_mouse_joint.html#a9256297320a1a67e9dc49b70f4798dd8", null ], - [ "b2Joint", "classb2_mouse_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_beta", "classb2_mouse_joint.html#af668eaeca3c14bc93b9ca92b89cc5287", null ], - [ "m_C", "classb2_mouse_joint.html#a7ea02e17cdde70717e84bf44614275fb", null ], - [ "m_damping", "classb2_mouse_joint.html#a7d1a29d9db6ee52cad191535e265db4d", null ], - [ "m_gamma", "classb2_mouse_joint.html#a228cd382d1d06814caad879cd0c8b651", null ], - [ "m_impulse", "classb2_mouse_joint.html#ae35319e2e64dbf3c48dd20fe8c031ebd", null ], - [ "m_indexA", "classb2_mouse_joint.html#ae6f4a011469a55cd2c61e8338fbd4994", null ], - [ "m_indexB", "classb2_mouse_joint.html#a5b2c7802674942419c89f140c7db85b3", null ], - [ "m_invIB", "classb2_mouse_joint.html#a66c21343b6ab8f7a0c45731f874b1da4", null ], - [ "m_invMassB", "classb2_mouse_joint.html#a97390c38c34667fb455179ddaa544640", null ], - [ "m_localAnchorB", "classb2_mouse_joint.html#a11564027dbf4ecbe593d6b8c3b634ea8", null ], - [ "m_localCenterB", "classb2_mouse_joint.html#ad9947876df55f4b4e7d435941234e22e", null ], - [ "m_mass", "classb2_mouse_joint.html#a628b7a7a2cd2b50313daea30baf47c4e", null ], - [ "m_maxForce", "classb2_mouse_joint.html#aadfb62e55e047276b59c117b0760dca2", null ], - [ "m_rB", "classb2_mouse_joint.html#a00510096c1433e6d7e671cf5bbb1c118", null ], - [ "m_stiffness", "classb2_mouse_joint.html#a6ea8110187e0585f6a4943fbc643ab0a", null ], - [ "m_targetA", "classb2_mouse_joint.html#a4196e32b3b8dfca298e37b7787245c6f", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_mouse_joint.png b/documentation/classb2_mouse_joint.png deleted file mode 100644 index a55e5d6..0000000 Binary files a/documentation/classb2_mouse_joint.png and /dev/null differ diff --git a/documentation/classb2_polygon_shape-members.html b/documentation/classb2_polygon_shape-members.html deleted file mode 100644 index 4875f03..0000000 --- a/documentation/classb2_polygon_shape-members.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2PolygonShape Member List
-
-
- -

This is the complete list of members for b2PolygonShape, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
b2PolygonShape() (defined in b2PolygonShape)b2PolygonShapeinline
Clone(b2BlockAllocator *allocator) const overrideb2PolygonShapevirtual
ComputeAABB(b2AABB *aabb, const b2Transform &transform, int32 childIndex) const overrideb2PolygonShapevirtual
ComputeMass(b2MassData *massData, float density) const overrideb2PolygonShapevirtual
e_chain enum value (defined in b2Shape)b2Shape
e_circle enum value (defined in b2Shape)b2Shape
e_edge enum value (defined in b2Shape)b2Shape
e_polygon enum value (defined in b2Shape)b2Shape
e_typeCount enum value (defined in b2Shape)b2Shape
GetChildCount() const overrideb2PolygonShapevirtual
GetType() constb2Shapeinline
m_centroid (defined in b2PolygonShape)b2PolygonShape
m_count (defined in b2PolygonShape)b2PolygonShape
m_normals (defined in b2PolygonShape)b2PolygonShape
m_radiusb2Shape
m_type (defined in b2Shape)b2Shape
m_vertices (defined in b2PolygonShape)b2PolygonShape
RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const overrideb2PolygonShapevirtual
Set(const b2Vec2 *points, int32 count)b2PolygonShape
SetAsBox(float hx, float hy)b2PolygonShape
SetAsBox(float hx, float hy, const b2Vec2 &center, float angle)b2PolygonShape
TestPoint(const b2Transform &transform, const b2Vec2 &p) const overrideb2PolygonShapevirtual
Type enum name (defined in b2Shape)b2Shape
Validate() constb2PolygonShape
~b2Shape() (defined in b2Shape)b2Shapeinlinevirtual
-
- - - - diff --git a/documentation/classb2_polygon_shape.html b/documentation/classb2_polygon_shape.html deleted file mode 100644 index d2dfeb2..0000000 --- a/documentation/classb2_polygon_shape.html +++ /dev/null @@ -1,524 +0,0 @@ - - - - - - - -Box2D: b2PolygonShape Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2PolygonShape Class Reference
-
-
- -

#include <b2_polygon_shape.h>

-
-Inheritance diagram for b2PolygonShape:
-
-
- - -b2Shape - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2ShapeClone (b2BlockAllocator *allocator) const override
 Implement b2Shape.
 
int32 GetChildCount () const override
 
void Set (const b2Vec2 *points, int32 count)
 
void SetAsBox (float hx, float hy)
 
void SetAsBox (float hx, float hy, const b2Vec2 &center, float angle)
 
bool TestPoint (const b2Transform &transform, const b2Vec2 &p) const override
 
bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const override
 
void ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const override
 
void ComputeMass (b2MassData *massData, float density) const override
 
bool Validate () const
 
- Public Member Functions inherited from b2Shape
Type GetType () const
 
- - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 m_centroid
 
-b2Vec2 m_vertices [b2_maxPolygonVertices]
 
-b2Vec2 m_normals [b2_maxPolygonVertices]
 
-int32 m_count
 
- Public Attributes inherited from b2Shape
-Type m_type
 
float m_radius
 
- - - - -

-Additional Inherited Members

- Public Types inherited from b2Shape
enum  Type {
-  e_circle = 0, -e_edge = 1, -e_polygon = 2, -e_chain = 3, -
-  e_typeCount = 4 -
- }
 
-

Detailed Description

-

A solid convex polygon. It is assumed that the interior of the polygon is to the left of each edge. Polygons have a maximum number of vertices equal to b2_maxPolygonVertices. In most cases you should not need many vertices for a convex polygon.

-

Member Function Documentation

- -

◆ ComputeAABB()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2PolygonShape::ComputeAABB (b2AABBaabb,
const b2Transformtransform,
int32 childIndex 
) const
-
-overridevirtual
-
-
See also
b2Shape::ComputeAABB
- -

Implements b2Shape.

- -
-
- -

◆ ComputeMass()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2PolygonShape::ComputeMass (b2MassDatamassData,
float density 
) const
-
-overridevirtual
-
-
See also
b2Shape::ComputeMass
- -

Implements b2Shape.

- -
-
- -

◆ GetChildCount()

- -
-
- - - - - -
- - - - - - - -
int32 b2PolygonShape::GetChildCount () const
-
-overridevirtual
-
-
See also
b2Shape::GetChildCount
- -

Implements b2Shape.

- -
-
- -

◆ RayCast()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
bool b2PolygonShape::RayCast (b2RayCastOutputoutput,
const b2RayCastInputinput,
const b2Transformtransform,
int32 childIndex 
) const
-
-overridevirtual
-
-

Implement b2Shape.

Note
because the polygon is solid, rays that start inside do not hit because the normal is not defined.
- -

Implements b2Shape.

- -
-
- -

◆ Set()

- -
-
- - - - - - - - - - - - - - - - - - -
void b2PolygonShape::Set (const b2Vec2points,
int32 count 
)
-
-

Create a convex hull from the given array of local points. The count must be in the range [3, b2_maxPolygonVertices].

Warning
the points may be re-ordered, even if they form a convex polygon
-
-collinear points are handled but not removed. Collinear points may lead to poor stacking behavior.
- -
-
- -

◆ SetAsBox() [1/2]

- -
-
- - - - - - - - - - - - - - - - - - -
void b2PolygonShape::SetAsBox (float hx,
float hy 
)
-
-

Build vertices to represent an axis-aligned box centered on the local origin.

Parameters
- - - -
hxthe half-width.
hythe half-height.
-
-
- -
-
- -

◆ SetAsBox() [2/2]

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void b2PolygonShape::SetAsBox (float hx,
float hy,
const b2Vec2center,
float angle 
)
-
-

Build vertices to represent an oriented box.

Parameters
- - - - - -
hxthe half-width.
hythe half-height.
centerthe center of the box in local coordinates.
anglethe rotation of the box in local coordinates.
-
-
- -
-
- -

◆ TestPoint()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
bool b2PolygonShape::TestPoint (const b2Transformtransform,
const b2Vec2p 
) const
-
-overridevirtual
-
-
See also
b2Shape::TestPoint
- -

Implements b2Shape.

- -
-
- -

◆ Validate()

- -
-
- - - - - - - -
bool b2PolygonShape::Validate () const
-
-

Validate convexity. This is a very time consuming operation.

Returns
true if valid
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_polygon_shape.js b/documentation/classb2_polygon_shape.js deleted file mode 100644 index b32ee0b..0000000 --- a/documentation/classb2_polygon_shape.js +++ /dev/null @@ -1,18 +0,0 @@ -var classb2_polygon_shape = -[ - [ "b2PolygonShape", "classb2_polygon_shape.html#a76d778e6b374e4d22167a609dc0333a4", null ], - [ "Clone", "classb2_polygon_shape.html#ab3409517e0e6ae926998f78238a38954", null ], - [ "ComputeAABB", "classb2_polygon_shape.html#ae9bcc185caf4a030003cefc4576e4717", null ], - [ "ComputeMass", "classb2_polygon_shape.html#ab9b7bf3fb10c6995b6ac3648919dfd36", null ], - [ "GetChildCount", "classb2_polygon_shape.html#aa8bb0d5a88624104425cdee0b2f4427a", null ], - [ "RayCast", "classb2_polygon_shape.html#a41f20072763688f1745f12f67f40e904", null ], - [ "Set", "classb2_polygon_shape.html#a4d7b35550509f570814b97325a68966b", null ], - [ "SetAsBox", "classb2_polygon_shape.html#ae356d825f51f7b827edb0c71fec781f8", null ], - [ "SetAsBox", "classb2_polygon_shape.html#af80eb52027ffe85dd4d0a3110eae9d1b", null ], - [ "TestPoint", "classb2_polygon_shape.html#a129c4ac76727fe02724f675e3fef7fe5", null ], - [ "Validate", "classb2_polygon_shape.html#a135f4c20e17f10479e08f7befbd4d1f0", null ], - [ "m_centroid", "classb2_polygon_shape.html#ae8f5bd2f13f1e9b741c33350ba19cd9f", null ], - [ "m_count", "classb2_polygon_shape.html#a2c8cfdc15267f282e66f7bda7369b79f", null ], - [ "m_normals", "classb2_polygon_shape.html#a97cdcec277321c62ecdf93cb649958ce", null ], - [ "m_vertices", "classb2_polygon_shape.html#a11ee5c107660be5da25f0e164aaccd53", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_polygon_shape.png b/documentation/classb2_polygon_shape.png deleted file mode 100644 index ac32d23..0000000 Binary files a/documentation/classb2_polygon_shape.png and /dev/null differ diff --git a/documentation/classb2_prismatic_joint-members.html b/documentation/classb2_prismatic_joint-members.html deleted file mode 100644 index c205d34..0000000 --- a/documentation/classb2_prismatic_joint-members.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2PrismaticJoint Member List
-
-
- -

This is the complete list of members for b2PrismaticJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2GearJoint (defined in b2PrismaticJoint)b2PrismaticJointfriend
b2Joint (defined in b2PrismaticJoint)b2PrismaticJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2PrismaticJoint(const b2PrismaticJointDef *def) (defined in b2PrismaticJoint)b2PrismaticJointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) const overrideb2PrismaticJointvirtual
Dump() overrideb2PrismaticJointvirtual
EnableLimit(bool flag)b2PrismaticJoint
EnableMotor(bool flag)b2PrismaticJoint
GetAnchorA() const overrideb2PrismaticJointvirtual
GetAnchorB() const overrideb2PrismaticJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetJointSpeed() constb2PrismaticJoint
GetJointTranslation() constb2PrismaticJoint
GetLocalAnchorA() constb2PrismaticJointinline
GetLocalAnchorB() constb2PrismaticJointinline
GetLocalAxisA() constb2PrismaticJointinline
GetLowerLimit() constb2PrismaticJoint
GetMaxMotorForce() const (defined in b2PrismaticJoint)b2PrismaticJointinline
GetMotorForce(float inv_dt) constb2PrismaticJoint
GetMotorSpeed() constb2PrismaticJointinline
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2PrismaticJointvirtual
GetReactionTorque(float inv_dt) const overrideb2PrismaticJointvirtual
GetReferenceAngle() constb2PrismaticJointinline
GetType() constb2Jointinline
GetUpperLimit() constb2PrismaticJoint
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2PrismaticJoint)b2PrismaticJointprotectedvirtual
IsEnabled() constb2Joint
IsLimitEnabled() constb2PrismaticJoint
IsMotorEnabled() constb2PrismaticJoint
m_a1 (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_a2 (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_axialMass (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_axis (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_enableLimit (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_enableMotor (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_impulse (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_indexB (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_invIA (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_invIB (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_invMassA (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_invMassB (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_K (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_localAnchorA (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_localAnchorB (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_localCenterA (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_localCenterB (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_localXAxisA (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_localYAxisA (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_lowerImpulse (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_lowerTranslation (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_maxMotorForce (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_motorImpulse (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_motorSpeed (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_perp (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_referenceAngle (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_s1 (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_s2 (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_translation (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_upperImpulse (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_upperTranslation (defined in b2PrismaticJoint)b2PrismaticJointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetLimits(float lower, float upper)b2PrismaticJoint
SetMaxMotorForce(float force)b2PrismaticJoint
SetMotorSpeed(float speed)b2PrismaticJoint
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2PrismaticJoint)b2PrismaticJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2PrismaticJoint)b2PrismaticJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_prismatic_joint.html b/documentation/classb2_prismatic_joint.html deleted file mode 100644 index e61fa8c..0000000 --- a/documentation/classb2_prismatic_joint.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - -Box2D: b2PrismaticJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2PrismaticJoint Class Reference
-
-
- -

#include <b2_prismatic_joint.h>

-
-Inheritance diagram for b2PrismaticJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-float GetReactionTorque (float inv_dt) const override
 Get the reaction torque on bodyB in N*m.
 
-const b2Vec2GetLocalAnchorA () const
 The local anchor point relative to bodyA's origin.
 
-const b2Vec2GetLocalAnchorB () const
 The local anchor point relative to bodyB's origin.
 
-const b2Vec2GetLocalAxisA () const
 The local joint axis relative to bodyA.
 
-float GetReferenceAngle () const
 Get the reference angle.
 
-float GetJointTranslation () const
 Get the current joint translation, usually in meters.
 
-float GetJointSpeed () const
 Get the current joint translation speed, usually in meters per second.
 
-bool IsLimitEnabled () const
 Is the joint limit enabled?
 
-void EnableLimit (bool flag)
 Enable/disable the joint limit.
 
-float GetLowerLimit () const
 Get the lower joint limit, usually in meters.
 
-float GetUpperLimit () const
 Get the upper joint limit, usually in meters.
 
-void SetLimits (float lower, float upper)
 Set the joint limits, usually in meters.
 
-bool IsMotorEnabled () const
 Is the joint motor enabled?
 
-void EnableMotor (bool flag)
 Enable/disable the joint motor.
 
-void SetMotorSpeed (float speed)
 Set the motor speed, usually in meters per second.
 
-float GetMotorSpeed () const
 Get the motor speed, usually in meters per second.
 
-void SetMaxMotorForce (float force)
 Set the maximum motor force, usually in N.
 
-float GetMaxMotorForce () const
 
-float GetMotorForce (float inv_dt) const
 Get the current motor force given the inverse time step, usually in N.
 
-void Dump () override
 Dump to b2Log.
 
-void Draw (b2Draw *draw) const override
 Debug draw this joint.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2PrismaticJoint (const b2PrismaticJointDef *def)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-b2Vec2 m_localXAxisA
 
-b2Vec2 m_localYAxisA
 
-float m_referenceAngle
 
-b2Vec2 m_impulse
 
-float m_motorImpulse
 
-float m_lowerImpulse
 
-float m_upperImpulse
 
-float m_lowerTranslation
 
-float m_upperTranslation
 
-float m_maxMotorForce
 
-float m_motorSpeed
 
-bool m_enableLimit
 
-bool m_enableMotor
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-b2Vec2 m_axis
 
-b2Vec2 m_perp
 
-float m_s1
 
-float m_s2
 
-float m_a1
 
-float m_a2
 
-b2Mat22 m_K
 
-float m_translation
 
-float m_axialMass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - - - -

-Friends

-class b2Joint
 
-class b2GearJoint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A prismatic joint. This joint provides one degree of freedom: translation along an axis fixed in bodyA. Relative rotation is prevented. You can use a joint limit to restrict the range of motion and a joint motor to drive the motion or to model joint friction.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_prismatic_joint.js b/documentation/classb2_prismatic_joint.js deleted file mode 100644 index 4b62788..0000000 --- a/documentation/classb2_prismatic_joint.js +++ /dev/null @@ -1,65 +0,0 @@ -var classb2_prismatic_joint = -[ - [ "b2PrismaticJoint", "classb2_prismatic_joint.html#ab1586a2334f7e32137fbd7f807e249ca", null ], - [ "Draw", "classb2_prismatic_joint.html#a36d9629a8ac5f10d51af72977672d802", null ], - [ "Dump", "classb2_prismatic_joint.html#a843ddb0f912085f3deb3ee7320d7ddc7", null ], - [ "EnableLimit", "classb2_prismatic_joint.html#a6d419afe7bd4b0e36d2e4607df7f79f2", null ], - [ "EnableMotor", "classb2_prismatic_joint.html#a4a7fd079de49f7ed5aa4a5d8d90be2a2", null ], - [ "GetAnchorA", "classb2_prismatic_joint.html#abb6649d2a18abb209f68d5255cd6c606", null ], - [ "GetAnchorB", "classb2_prismatic_joint.html#a7e1d328bfd05895fd228c07bac41b9e5", null ], - [ "GetJointSpeed", "classb2_prismatic_joint.html#a8a485e77f09e2c2d664b832941b4e0ab", null ], - [ "GetJointTranslation", "classb2_prismatic_joint.html#afac0f3a0d2ad169428c3c78b20575bad", null ], - [ "GetLocalAnchorA", "classb2_prismatic_joint.html#a0a4812486867f4c7507bb8c29e860997", null ], - [ "GetLocalAnchorB", "classb2_prismatic_joint.html#ab9c2a0fbf075454320e87648750668b0", null ], - [ "GetLocalAxisA", "classb2_prismatic_joint.html#a54d51d09f3c327c5c4238e054e2a3a76", null ], - [ "GetLowerLimit", "classb2_prismatic_joint.html#aab4719f61c3ad092890608156a635e84", null ], - [ "GetMaxMotorForce", "classb2_prismatic_joint.html#ad70ba2b1c0cf4645e4454562b9944078", null ], - [ "GetMotorForce", "classb2_prismatic_joint.html#a74de30b8ac04a879ccaebe69dffd1095", null ], - [ "GetMotorSpeed", "classb2_prismatic_joint.html#a1135c06e3047fe90b09efcb3268c781e", null ], - [ "GetReactionForce", "classb2_prismatic_joint.html#a2012f13891e6703c3c1262c8a5b87344", null ], - [ "GetReactionTorque", "classb2_prismatic_joint.html#a0d5958f2a8f0ab7562b18ef7f3c898b1", null ], - [ "GetReferenceAngle", "classb2_prismatic_joint.html#a2b29bdf26fd584ce0aaedd0015878cb3", null ], - [ "GetUpperLimit", "classb2_prismatic_joint.html#a7137a9fb5fa5a161a248abfb2eba022d", null ], - [ "InitVelocityConstraints", "classb2_prismatic_joint.html#a840e9885d49bf621c46df79733df21dc", null ], - [ "IsLimitEnabled", "classb2_prismatic_joint.html#a22e2442a17832f718447c63c9c6263c8", null ], - [ "IsMotorEnabled", "classb2_prismatic_joint.html#a06492dabf33439efdebceb29899c7fc9", null ], - [ "SetLimits", "classb2_prismatic_joint.html#a1f066e458852ee0728330d9413e57003", null ], - [ "SetMaxMotorForce", "classb2_prismatic_joint.html#a94ce7073bb3c8098a7fef85f3bceb11d", null ], - [ "SetMotorSpeed", "classb2_prismatic_joint.html#aa2274e38ed0d6667cc2dd7f769bbdc02", null ], - [ "SolvePositionConstraints", "classb2_prismatic_joint.html#ac841608a56e83f709e08b805ed8c92e3", null ], - [ "SolveVelocityConstraints", "classb2_prismatic_joint.html#a028c0ca03ca8437606d1175ca8de63d6", null ], - [ "b2GearJoint", "classb2_prismatic_joint.html#a13c275221e30bb485e17e4e04553cb71", null ], - [ "b2Joint", "classb2_prismatic_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_a1", "classb2_prismatic_joint.html#a70ee9a42aee5c88b3e650194ec9e23fc", null ], - [ "m_a2", "classb2_prismatic_joint.html#a6cce050e7462ef4f117ef1d90906b138", null ], - [ "m_axialMass", "classb2_prismatic_joint.html#a61a8058d21a0ea42bf5402995c5c0acc", null ], - [ "m_axis", "classb2_prismatic_joint.html#af487c98feb16d19d5d1b320ad2aefb49", null ], - [ "m_enableLimit", "classb2_prismatic_joint.html#ace469adee4132fb1de01fe5ab3d26389", null ], - [ "m_enableMotor", "classb2_prismatic_joint.html#af36c993314f8ae833f5f3b3aebd66497", null ], - [ "m_impulse", "classb2_prismatic_joint.html#a4a347fcb1b248bc02684e5a55757cc46", null ], - [ "m_indexA", "classb2_prismatic_joint.html#a2cd142bc49ea7eb475e0811f11932e64", null ], - [ "m_indexB", "classb2_prismatic_joint.html#a6a555684a2112f2a2f4f0ab91a2b5ed4", null ], - [ "m_invIA", "classb2_prismatic_joint.html#af4b43c4be320435123579600cc83393f", null ], - [ "m_invIB", "classb2_prismatic_joint.html#abf06c44d3d61974db73984d3ee50fd79", null ], - [ "m_invMassA", "classb2_prismatic_joint.html#a6717bb5668a0620de5974ba117bee53d", null ], - [ "m_invMassB", "classb2_prismatic_joint.html#a3b874ddb75e65a1eed34f3e2eafd2884", null ], - [ "m_K", "classb2_prismatic_joint.html#a2f07317904c17e947c3ba2bde2fadb3e", null ], - [ "m_localAnchorA", "classb2_prismatic_joint.html#aeec29d80cc57252702fd645c31ca7889", null ], - [ "m_localAnchorB", "classb2_prismatic_joint.html#ae9cb63f225e4b4dcc287ab475868d044", null ], - [ "m_localCenterA", "classb2_prismatic_joint.html#ad705cb8cdc92f23185e8f3af728bf0bb", null ], - [ "m_localCenterB", "classb2_prismatic_joint.html#afd0f5412cb44f84a30224fbfedf7af84", null ], - [ "m_localXAxisA", "classb2_prismatic_joint.html#ab68f8bb2a8012e4646dc274db1723fbf", null ], - [ "m_localYAxisA", "classb2_prismatic_joint.html#a6885a7d60a2596883660183bcf721ea9", null ], - [ "m_lowerImpulse", "classb2_prismatic_joint.html#a716bd5ea1b6745a95def00605b701faf", null ], - [ "m_lowerTranslation", "classb2_prismatic_joint.html#a0932421f5d2eff34f714a3ed8f30712f", null ], - [ "m_maxMotorForce", "classb2_prismatic_joint.html#a8597d870455eb0d7a394684d489cbd70", null ], - [ "m_motorImpulse", "classb2_prismatic_joint.html#a82d4ccbb97d1862bfa7c076addf42d9a", null ], - [ "m_motorSpeed", "classb2_prismatic_joint.html#a2bc1af3feec40da71e33234075b7ce02", null ], - [ "m_perp", "classb2_prismatic_joint.html#a560f7177fbc3db1916e076a755b406e5", null ], - [ "m_referenceAngle", "classb2_prismatic_joint.html#af4899b245976a48a0906328fd8570d19", null ], - [ "m_s1", "classb2_prismatic_joint.html#ad1117642fbdcac770916122c1f33f9f5", null ], - [ "m_s2", "classb2_prismatic_joint.html#ac4ad85abea74d878d62e4fb4154357cd", null ], - [ "m_translation", "classb2_prismatic_joint.html#a8c802f17939795ee281b8c0cc2365172", null ], - [ "m_upperImpulse", "classb2_prismatic_joint.html#a5fdc463f41ebfc4e2f322db71ef594ff", null ], - [ "m_upperTranslation", "classb2_prismatic_joint.html#a66243820cadc463ab2f59d2252510ec9", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_prismatic_joint.png b/documentation/classb2_prismatic_joint.png deleted file mode 100644 index ac021fd..0000000 Binary files a/documentation/classb2_prismatic_joint.png and /dev/null differ diff --git a/documentation/classb2_pulley_joint-members.html b/documentation/classb2_pulley_joint-members.html deleted file mode 100644 index eaf9a73..0000000 --- a/documentation/classb2_pulley_joint-members.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2PulleyJoint Member List
-
-
- -

This is the complete list of members for b2PulleyJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Joint (defined in b2PulleyJoint)b2PulleyJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2PulleyJoint(const b2PulleyJointDef *data) (defined in b2PulleyJoint)b2PulleyJointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) constb2Jointvirtual
Dump() overrideb2PulleyJointvirtual
GetAnchorA() const overrideb2PulleyJointvirtual
GetAnchorB() const overrideb2PulleyJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetCurrentLengthA() constb2PulleyJoint
GetCurrentLengthB() constb2PulleyJoint
GetGroundAnchorA() constb2PulleyJoint
GetGroundAnchorB() constb2PulleyJoint
GetLengthA() constb2PulleyJoint
GetLengthB() constb2PulleyJoint
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetRatio() constb2PulleyJoint
GetReactionForce(float inv_dt) const overrideb2PulleyJointvirtual
GetReactionTorque(float inv_dt) const overrideb2PulleyJointvirtual
GetType() constb2Jointinline
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2PulleyJoint)b2PulleyJointprotectedvirtual
IsEnabled() constb2Joint
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_constant (defined in b2PulleyJoint)b2PulleyJointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_groundAnchorA (defined in b2PulleyJoint)b2PulleyJointprotected
m_groundAnchorB (defined in b2PulleyJoint)b2PulleyJointprotected
m_impulse (defined in b2PulleyJoint)b2PulleyJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2PulleyJoint)b2PulleyJointprotected
m_indexB (defined in b2PulleyJoint)b2PulleyJointprotected
m_invIA (defined in b2PulleyJoint)b2PulleyJointprotected
m_invIB (defined in b2PulleyJoint)b2PulleyJointprotected
m_invMassA (defined in b2PulleyJoint)b2PulleyJointprotected
m_invMassB (defined in b2PulleyJoint)b2PulleyJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_lengthA (defined in b2PulleyJoint)b2PulleyJointprotected
m_lengthB (defined in b2PulleyJoint)b2PulleyJointprotected
m_localAnchorA (defined in b2PulleyJoint)b2PulleyJointprotected
m_localAnchorB (defined in b2PulleyJoint)b2PulleyJointprotected
m_localCenterA (defined in b2PulleyJoint)b2PulleyJointprotected
m_localCenterB (defined in b2PulleyJoint)b2PulleyJointprotected
m_mass (defined in b2PulleyJoint)b2PulleyJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_rA (defined in b2PulleyJoint)b2PulleyJointprotected
m_ratio (defined in b2PulleyJoint)b2PulleyJointprotected
m_rB (defined in b2PulleyJoint)b2PulleyJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_uA (defined in b2PulleyJoint)b2PulleyJointprotected
m_uB (defined in b2PulleyJoint)b2PulleyJointprotected
m_userData (defined in b2Joint)b2Jointprotected
ShiftOrigin(const b2Vec2 &newOrigin) overrideb2PulleyJointvirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2PulleyJoint)b2PulleyJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2PulleyJoint)b2PulleyJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_pulley_joint.html b/documentation/classb2_pulley_joint.html deleted file mode 100644 index d76a485..0000000 --- a/documentation/classb2_pulley_joint.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - - -Box2D: b2PulleyJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2PulleyJoint Class Reference
-
-
- -

#include <b2_pulley_joint.h>

-
-Inheritance diagram for b2PulleyJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-float GetReactionTorque (float inv_dt) const override
 Get the reaction torque on bodyB in N*m.
 
-b2Vec2 GetGroundAnchorA () const
 Get the first ground anchor.
 
-b2Vec2 GetGroundAnchorB () const
 Get the second ground anchor.
 
-float GetLengthA () const
 Get the current length of the segment attached to bodyA.
 
-float GetLengthB () const
 Get the current length of the segment attached to bodyB.
 
-float GetRatio () const
 Get the pulley ratio.
 
-float GetCurrentLengthA () const
 Get the current length of the segment attached to bodyA.
 
-float GetCurrentLengthB () const
 Get the current length of the segment attached to bodyB.
 
-void Dump () override
 Dump joint to dmLog.
 
-void ShiftOrigin (const b2Vec2 &newOrigin) override
 Implement b2Joint::ShiftOrigin.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void Draw (b2Draw *draw) const
 Debug draw this joint.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2PulleyJoint (const b2PulleyJointDef *data)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Vec2 m_groundAnchorA
 
-b2Vec2 m_groundAnchorB
 
-float m_lengthA
 
-float m_lengthB
 
-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-float m_constant
 
-float m_ratio
 
-float m_impulse
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_uA
 
-b2Vec2 m_uB
 
-b2Vec2 m_rA
 
-b2Vec2 m_rB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-float m_mass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

The pulley joint is connected to two bodies and two fixed ground points. The pulley supports a ratio such that: length1 + ratio * length2 <= constant Yes, the force transmitted is scaled by the ratio. Warning: the pulley joint can get a bit squirrelly by itself. They often work better when combined with prismatic joints. You should also cover the the anchor points with static shapes to prevent one side from going to zero length.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_pulley_joint.js b/documentation/classb2_pulley_joint.js deleted file mode 100644 index 0a511fa..0000000 --- a/documentation/classb2_pulley_joint.js +++ /dev/null @@ -1,43 +0,0 @@ -var classb2_pulley_joint = -[ - [ "b2PulleyJoint", "classb2_pulley_joint.html#aca1b8dc6fb05c134ccbc0423674c1867", null ], - [ "Dump", "classb2_pulley_joint.html#a51b3fa745fc43f806cee1328099b4623", null ], - [ "GetAnchorA", "classb2_pulley_joint.html#af7167643e6d72d879eea619a368194c1", null ], - [ "GetAnchorB", "classb2_pulley_joint.html#aee56f103c1d1d30fcbd3a8570e321ba9", null ], - [ "GetCurrentLengthA", "classb2_pulley_joint.html#af3e0e1a4947fd249664c13aa1894c2f1", null ], - [ "GetCurrentLengthB", "classb2_pulley_joint.html#aa3f0de16bc3df6e5995ef1e10657a653", null ], - [ "GetGroundAnchorA", "classb2_pulley_joint.html#a082db0a3ab20f682b9c7d5f41f0cc79e", null ], - [ "GetGroundAnchorB", "classb2_pulley_joint.html#afb105270ab46c3fc3f862cab6e127971", null ], - [ "GetLengthA", "classb2_pulley_joint.html#aed605418a26209780fd124becc4873f3", null ], - [ "GetLengthB", "classb2_pulley_joint.html#a1b9c9c48decdce1d07a829d165fdb7f2", null ], - [ "GetRatio", "classb2_pulley_joint.html#a472c1a4a487ea5b5b13d11c7d529a90a", null ], - [ "GetReactionForce", "classb2_pulley_joint.html#a7266fcd14aaf4ca6c95a8960290e8ffd", null ], - [ "GetReactionTorque", "classb2_pulley_joint.html#aa3dcfe5c7b9585645ef26ba0188e7ef5", null ], - [ "InitVelocityConstraints", "classb2_pulley_joint.html#a1826611f1dfe6284c3ce3afdab875e94", null ], - [ "ShiftOrigin", "classb2_pulley_joint.html#a5a9e626c758380fe565837bedb3dc018", null ], - [ "SolvePositionConstraints", "classb2_pulley_joint.html#ac3d5f78f3bdd248ca368add8f21b7e95", null ], - [ "SolveVelocityConstraints", "classb2_pulley_joint.html#a80de874e392a8238fd2e965f5080222b", null ], - [ "b2Joint", "classb2_pulley_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_constant", "classb2_pulley_joint.html#a11c3fc05d3b07a8a061d56719d7a0260", null ], - [ "m_groundAnchorA", "classb2_pulley_joint.html#a13456d1c62a4e96e8247988152be4166", null ], - [ "m_groundAnchorB", "classb2_pulley_joint.html#a9cc8195bf4e2d53606db0b49d9fc1cbc", null ], - [ "m_impulse", "classb2_pulley_joint.html#a34f2cd00c7f61b96aff04e062a411327", null ], - [ "m_indexA", "classb2_pulley_joint.html#a6ef68a1d29ef264d4c2ab2d363d9eb97", null ], - [ "m_indexB", "classb2_pulley_joint.html#acbeb702d3db8a9560d9d1d57ebb1e7f2", null ], - [ "m_invIA", "classb2_pulley_joint.html#a16d28974073bf8bd03dd635c47e1e8e8", null ], - [ "m_invIB", "classb2_pulley_joint.html#a09eabdebb3a8a854d31cfcce3b24bf0d", null ], - [ "m_invMassA", "classb2_pulley_joint.html#ab60cd7bd6868aacd6c97c1cc59699801", null ], - [ "m_invMassB", "classb2_pulley_joint.html#adccfa76e4b6f0a73a8eaa39081bd765e", null ], - [ "m_lengthA", "classb2_pulley_joint.html#a7cda7fbb25c3e3bb12a136c968053ad0", null ], - [ "m_lengthB", "classb2_pulley_joint.html#a8565e70aa9be21745687df2a09b775ff", null ], - [ "m_localAnchorA", "classb2_pulley_joint.html#a58cb3464ba25236e316b35d66e92366f", null ], - [ "m_localAnchorB", "classb2_pulley_joint.html#af643cf90fb22709fe410164d8a46ea50", null ], - [ "m_localCenterA", "classb2_pulley_joint.html#a82741929b0aa083f520a3d7f9ef675bb", null ], - [ "m_localCenterB", "classb2_pulley_joint.html#abd382cd6772fa3be1958c4845369f6c3", null ], - [ "m_mass", "classb2_pulley_joint.html#a28f8200a79b8e8da4db3c2dd4001acdd", null ], - [ "m_rA", "classb2_pulley_joint.html#a4ebd669d4856b0c6d1d6f76d7a9eae2d", null ], - [ "m_ratio", "classb2_pulley_joint.html#abb8ddfde62381cfa0d7e803ffcd19b34", null ], - [ "m_rB", "classb2_pulley_joint.html#a6be5e9ad2eeaee5cf25e1df61d923a58", null ], - [ "m_uA", "classb2_pulley_joint.html#a8b49167603509d296aa8d04e46b13658", null ], - [ "m_uB", "classb2_pulley_joint.html#a1354dfebc4658560b9d7e4b447b1dd5e", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_pulley_joint.png b/documentation/classb2_pulley_joint.png deleted file mode 100644 index 774785e..0000000 Binary files a/documentation/classb2_pulley_joint.png and /dev/null differ diff --git a/documentation/classb2_query_callback-members.html b/documentation/classb2_query_callback-members.html deleted file mode 100644 index 00ba7f5..0000000 --- a/documentation/classb2_query_callback-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2QueryCallback Member List
-
-
- -

This is the complete list of members for b2QueryCallback, including all inherited members.

- - - -
ReportFixture(b2Fixture *fixture)=0b2QueryCallbackpure virtual
~b2QueryCallback() (defined in b2QueryCallback)b2QueryCallbackinlinevirtual
-
- - - - diff --git a/documentation/classb2_query_callback.html b/documentation/classb2_query_callback.html deleted file mode 100644 index 7f41a5d..0000000 --- a/documentation/classb2_query_callback.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - -Box2D: b2QueryCallback Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2QueryCallback Class Referenceabstract
-
-
- -

#include <b2_world_callbacks.h>

- - - - -

-Public Member Functions

virtual bool ReportFixture (b2Fixture *fixture)=0
 
-

Detailed Description

-

Callback class for AABB queries. See b2World::Query

-

Member Function Documentation

- -

◆ ReportFixture()

- -
-
- - - - - -
- - - - - - - - -
virtual bool b2QueryCallback::ReportFixture (b2Fixturefixture)
-
-pure virtual
-
-

Called for each fixture found in the query AABB.

Returns
false to terminate the query.
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_query_callback.js b/documentation/classb2_query_callback.js deleted file mode 100644 index 23c5ca8..0000000 --- a/documentation/classb2_query_callback.js +++ /dev/null @@ -1,5 +0,0 @@ -var classb2_query_callback = -[ - [ "~b2QueryCallback", "classb2_query_callback.html#a8749b2ff1ab37e3d47e2b162749dbd52", null ], - [ "ReportFixture", "classb2_query_callback.html#a187dd04dd0f5164fb05c2ce2cbfd9ee5", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_ray_cast_callback-members.html b/documentation/classb2_ray_cast_callback-members.html deleted file mode 100644 index 1ee303e..0000000 --- a/documentation/classb2_ray_cast_callback-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2RayCastCallback Member List
-
-
- -

This is the complete list of members for b2RayCastCallback, including all inherited members.

- - - -
ReportFixture(b2Fixture *fixture, const b2Vec2 &point, const b2Vec2 &normal, float fraction)=0b2RayCastCallbackpure virtual
~b2RayCastCallback() (defined in b2RayCastCallback)b2RayCastCallbackinlinevirtual
-
- - - - diff --git a/documentation/classb2_ray_cast_callback.html b/documentation/classb2_ray_cast_callback.html deleted file mode 100644 index 69d33b3..0000000 --- a/documentation/classb2_ray_cast_callback.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - -Box2D: b2RayCastCallback Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RayCastCallback Class Referenceabstract
-
-
- -

#include <b2_world_callbacks.h>

- - - - -

-Public Member Functions

virtual float ReportFixture (b2Fixture *fixture, const b2Vec2 &point, const b2Vec2 &normal, float fraction)=0
 
-

Detailed Description

-

Callback class for ray casts. See b2World::RayCast

-

Member Function Documentation

- -

◆ ReportFixture()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
virtual float b2RayCastCallback::ReportFixture (b2Fixturefixture,
const b2Vec2point,
const b2Vec2normal,
float fraction 
)
-
-pure virtual
-
-

Called for each fixture found in the query. You control how the ray cast proceeds by returning a float: return -1: ignore this fixture and continue return 0: terminate the ray cast return fraction: clip the ray to this point return 1: don't clip the ray and continue

Parameters
- - - - - -
fixturethe fixture hit by the ray
pointthe point of initial intersection
normalthe normal vector at the point of intersection
fractionthe fraction along the ray at the point of intersection
-
-
-
Returns
-1 to filter, 0 to terminate, fraction to clip the ray for closest hit, 1 to continue
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_ray_cast_callback.js b/documentation/classb2_ray_cast_callback.js deleted file mode 100644 index 4afd182..0000000 --- a/documentation/classb2_ray_cast_callback.js +++ /dev/null @@ -1,5 +0,0 @@ -var classb2_ray_cast_callback = -[ - [ "~b2RayCastCallback", "classb2_ray_cast_callback.html#a8d7bab364f08f8ab122b59560355a739", null ], - [ "ReportFixture", "classb2_ray_cast_callback.html#ae0a13ab4fe2f4a7b501445af1a01ebb1", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_revolute_joint-members.html b/documentation/classb2_revolute_joint-members.html deleted file mode 100644 index 4f7ab04..0000000 --- a/documentation/classb2_revolute_joint-members.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2RevoluteJoint Member List
-
-
- -

This is the complete list of members for b2RevoluteJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2GearJoint (defined in b2RevoluteJoint)b2RevoluteJointfriend
b2Joint (defined in b2RevoluteJoint)b2RevoluteJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2RevoluteJoint(const b2RevoluteJointDef *def) (defined in b2RevoluteJoint)b2RevoluteJointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) const overrideb2RevoluteJointvirtual
Dump() overrideb2RevoluteJointvirtual
EnableLimit(bool flag)b2RevoluteJoint
EnableMotor(bool flag)b2RevoluteJoint
GetAnchorA() const overrideb2RevoluteJointvirtual
GetAnchorB() const overrideb2RevoluteJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetJointAngle() constb2RevoluteJoint
GetJointSpeed() constb2RevoluteJoint
GetLocalAnchorA() constb2RevoluteJointinline
GetLocalAnchorB() constb2RevoluteJointinline
GetLowerLimit() constb2RevoluteJoint
GetMaxMotorTorque() const (defined in b2RevoluteJoint)b2RevoluteJointinline
GetMotorSpeed() constb2RevoluteJointinline
GetMotorTorque(float inv_dt) constb2RevoluteJoint
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2RevoluteJointvirtual
GetReactionTorque(float inv_dt) const overrideb2RevoluteJointvirtual
GetReferenceAngle() constb2RevoluteJointinline
GetType() constb2Jointinline
GetUpperLimit() constb2RevoluteJoint
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2RevoluteJoint)b2RevoluteJointprotectedvirtual
IsEnabled() constb2Joint
IsLimitEnabled() constb2RevoluteJoint
IsMotorEnabled() constb2RevoluteJoint
m_angle (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_axialMass (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_enableLimit (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_enableMotor (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_impulse (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_indexB (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_invIA (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_invIB (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_invMassA (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_invMassB (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_K (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_localAnchorA (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_localAnchorB (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_localCenterA (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_localCenterB (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_lowerAngle (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_lowerImpulse (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_maxMotorTorque (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_motorImpulse (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_motorSpeed (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_rA (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_rB (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_referenceAngle (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_upperAngle (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_upperImpulse (defined in b2RevoluteJoint)b2RevoluteJointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetLimits(float lower, float upper)b2RevoluteJoint
SetMaxMotorTorque(float torque)b2RevoluteJoint
SetMotorSpeed(float speed)b2RevoluteJoint
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2RevoluteJoint)b2RevoluteJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2RevoluteJoint)b2RevoluteJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_revolute_joint.html b/documentation/classb2_revolute_joint.html deleted file mode 100644 index 6bbf98e..0000000 --- a/documentation/classb2_revolute_joint.html +++ /dev/null @@ -1,480 +0,0 @@ - - - - - - - -Box2D: b2RevoluteJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RevoluteJoint Class Reference
-
-
- -

#include <b2_revolute_joint.h>

-
-Inheritance diagram for b2RevoluteJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-const b2Vec2GetLocalAnchorA () const
 The local anchor point relative to bodyA's origin.
 
-const b2Vec2GetLocalAnchorB () const
 The local anchor point relative to bodyB's origin.
 
-float GetReferenceAngle () const
 Get the reference angle.
 
-float GetJointAngle () const
 Get the current joint angle in radians.
 
-float GetJointSpeed () const
 Get the current joint angle speed in radians per second.
 
-bool IsLimitEnabled () const
 Is the joint limit enabled?
 
-void EnableLimit (bool flag)
 Enable/disable the joint limit.
 
-float GetLowerLimit () const
 Get the lower joint limit in radians.
 
-float GetUpperLimit () const
 Get the upper joint limit in radians.
 
-void SetLimits (float lower, float upper)
 Set the joint limits in radians.
 
-bool IsMotorEnabled () const
 Is the joint motor enabled?
 
-void EnableMotor (bool flag)
 Enable/disable the joint motor.
 
-void SetMotorSpeed (float speed)
 Set the motor speed in radians per second.
 
-float GetMotorSpeed () const
 Get the motor speed in radians per second.
 
-void SetMaxMotorTorque (float torque)
 Set the maximum motor torque, usually in N-m.
 
-float GetMaxMotorTorque () const
 
b2Vec2 GetReactionForce (float inv_dt) const override
 
float GetReactionTorque (float inv_dt) const override
 
float GetMotorTorque (float inv_dt) const
 
-void Dump () override
 Dump to b2Log.
 
-void Draw (b2Draw *draw) const override
 Debug draw this joint.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2RevoluteJoint (const b2RevoluteJointDef *def)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-b2Vec2 m_impulse
 
-float m_motorImpulse
 
-float m_lowerImpulse
 
-float m_upperImpulse
 
-bool m_enableMotor
 
-float m_maxMotorTorque
 
-float m_motorSpeed
 
-bool m_enableLimit
 
-float m_referenceAngle
 
-float m_lowerAngle
 
-float m_upperAngle
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_rA
 
-b2Vec2 m_rB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-b2Mat22 m_K
 
-float m_angle
 
-float m_axialMass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - - - -

-Friends

-class b2Joint
 
-class b2GearJoint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A revolute joint constrains two bodies to share a common point while they are free to rotate about the point. The relative rotation about the shared point is the joint angle. You can limit the relative rotation with a joint limit that specifies a lower and upper angle. You can use a motor to drive the relative rotation about the shared point. A maximum motor torque is provided so that infinite forces are not generated.

-

Member Function Documentation

- -

◆ GetMotorTorque()

- -
-
- - - - - - - - -
float b2RevoluteJoint::GetMotorTorque (float inv_dt) const
-
-

Get the current motor torque given the inverse time step. Unit is N*m.

- -
-
- -

◆ GetReactionForce()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2RevoluteJoint::GetReactionForce (float inv_dt) const
-
-overridevirtual
-
-

Get the reaction force given the inverse time step. Unit is N.

- -

Implements b2Joint.

- -
-
- -

◆ GetReactionTorque()

- -
-
- - - - - -
- - - - - - - - -
float b2RevoluteJoint::GetReactionTorque (float inv_dt) const
-
-overridevirtual
-
-

Get the reaction torque due to the joint limit given the inverse time step. Unit is N*m.

- -

Implements b2Joint.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_revolute_joint.js b/documentation/classb2_revolute_joint.js deleted file mode 100644 index d8fc0db..0000000 --- a/documentation/classb2_revolute_joint.js +++ /dev/null @@ -1,58 +0,0 @@ -var classb2_revolute_joint = -[ - [ "b2RevoluteJoint", "classb2_revolute_joint.html#a2571c1438e909fb3518de6f88bb29e01", null ], - [ "Draw", "classb2_revolute_joint.html#adaa2a3c758243f39a97c43f7a2acc23e", null ], - [ "Dump", "classb2_revolute_joint.html#a408badabe21b169412a5c4a2f36bbbd8", null ], - [ "EnableLimit", "classb2_revolute_joint.html#a56bdfdd04e906e52d0258f6a481b9093", null ], - [ "EnableMotor", "classb2_revolute_joint.html#a80ed5a07d9a0e07d010808a73ffae6ff", null ], - [ "GetAnchorA", "classb2_revolute_joint.html#a9878591c460a4e1575f8a77c237608ae", null ], - [ "GetAnchorB", "classb2_revolute_joint.html#aa30a5d414b2ff699cc17567ff6e53e6b", null ], - [ "GetJointAngle", "classb2_revolute_joint.html#a23d6b56b7dbbfec7c7ef61aad4419d82", null ], - [ "GetJointSpeed", "classb2_revolute_joint.html#a7cfe4867f184afead2b1cefce02a85c3", null ], - [ "GetLocalAnchorA", "classb2_revolute_joint.html#af8cefd09d50a4e349613722809b8c823", null ], - [ "GetLocalAnchorB", "classb2_revolute_joint.html#ac58e115df370181adc1ea1c486d84dc6", null ], - [ "GetLowerLimit", "classb2_revolute_joint.html#afb2fed2c431754d2ae187dc79ee762c1", null ], - [ "GetMaxMotorTorque", "classb2_revolute_joint.html#a12fb8a7dfe5369f7dea157697276c4e5", null ], - [ "GetMotorSpeed", "classb2_revolute_joint.html#a67d84b190f845da4c70b6cbf57bb7afc", null ], - [ "GetMotorTorque", "classb2_revolute_joint.html#a571a5d4411e3944174d776abc6c51a1e", null ], - [ "GetReactionForce", "classb2_revolute_joint.html#a79a4a55ee3e70e47d06a72c052ed684c", null ], - [ "GetReactionTorque", "classb2_revolute_joint.html#abf81881ef8a6ba2743d387d9175490fe", null ], - [ "GetReferenceAngle", "classb2_revolute_joint.html#a818b019d11494450eb603c745620ccf0", null ], - [ "GetUpperLimit", "classb2_revolute_joint.html#a5232a0d859e8f14bf4bc008a542f58da", null ], - [ "InitVelocityConstraints", "classb2_revolute_joint.html#a5ddddb865cc297c66721ae443bfb40a4", null ], - [ "IsLimitEnabled", "classb2_revolute_joint.html#a84ff9c4f82b3e7d27a4390164f81f3ab", null ], - [ "IsMotorEnabled", "classb2_revolute_joint.html#a37d5744e89991ebe01b974c4d15a21b5", null ], - [ "SetLimits", "classb2_revolute_joint.html#aea6f893b0b0b5295837e6a10aa723582", null ], - [ "SetMaxMotorTorque", "classb2_revolute_joint.html#a7cbdee0fa268aa82eff39a2e8a7bc19b", null ], - [ "SetMotorSpeed", "classb2_revolute_joint.html#a67735e2a230dc4e8a1c438aeb3fad9bc", null ], - [ "SolvePositionConstraints", "classb2_revolute_joint.html#a01cab9d9609926a6debcd457bb8068f2", null ], - [ "SolveVelocityConstraints", "classb2_revolute_joint.html#a8eee8e87c79588ff041f1382b7fcbcd4", null ], - [ "b2GearJoint", "classb2_revolute_joint.html#a13c275221e30bb485e17e4e04553cb71", null ], - [ "b2Joint", "classb2_revolute_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_angle", "classb2_revolute_joint.html#ade96c90116b13fd7a19f980e7758d1df", null ], - [ "m_axialMass", "classb2_revolute_joint.html#a131e3e610941686cdd62a39825f61a46", null ], - [ "m_enableLimit", "classb2_revolute_joint.html#adb179e134ac49c612201caa20340e090", null ], - [ "m_enableMotor", "classb2_revolute_joint.html#a8fcdcbfc9fd51e8b5dc98ed8ea652e13", null ], - [ "m_impulse", "classb2_revolute_joint.html#a7e8cdf942be7837c67382b619f9ebc4d", null ], - [ "m_indexA", "classb2_revolute_joint.html#a2bdab138718ea7ccab67a37d0499286d", null ], - [ "m_indexB", "classb2_revolute_joint.html#acbf266a053a6f3071bfdd53e0e6b3df8", null ], - [ "m_invIA", "classb2_revolute_joint.html#a75293176ee2924014c9a0a9a6f41980d", null ], - [ "m_invIB", "classb2_revolute_joint.html#a1ffe5c7739413a2d20cb6f380e174320", null ], - [ "m_invMassA", "classb2_revolute_joint.html#a828aba31e1a342672cd62dba69d54e37", null ], - [ "m_invMassB", "classb2_revolute_joint.html#a15fb5e63ad8f3361d9cf8fbf3477f1dd", null ], - [ "m_K", "classb2_revolute_joint.html#a0bad1c3167e4239a53dc146c48580efa", null ], - [ "m_localAnchorA", "classb2_revolute_joint.html#ad4ce801fa7bdd408b41310793e6b37f8", null ], - [ "m_localAnchorB", "classb2_revolute_joint.html#ae206b6bcc7b6527d7d18f239d20a7ae9", null ], - [ "m_localCenterA", "classb2_revolute_joint.html#a70e2a385d097053453b4099094eb1154", null ], - [ "m_localCenterB", "classb2_revolute_joint.html#a322ec1f7c33a358db73b53ec58e3356b", null ], - [ "m_lowerAngle", "classb2_revolute_joint.html#a2ad30c91e843015b58a10f7189d18ded", null ], - [ "m_lowerImpulse", "classb2_revolute_joint.html#a7c2aa5c79961b980d3fe41efd27a561e", null ], - [ "m_maxMotorTorque", "classb2_revolute_joint.html#a48ba131d11f0504ec5784458f7c16eaf", null ], - [ "m_motorImpulse", "classb2_revolute_joint.html#ae137757f09cde1592f0025eb9bc6b74b", null ], - [ "m_motorSpeed", "classb2_revolute_joint.html#acb14ba6c79db1c72a7f212344b34500a", null ], - [ "m_rA", "classb2_revolute_joint.html#a6e33bbf932ce95efe072326199fa30f3", null ], - [ "m_rB", "classb2_revolute_joint.html#afd72e453f92aa3214701a201c8f9dfe9", null ], - [ "m_referenceAngle", "classb2_revolute_joint.html#ab66628c8d831291f11412a4814de7aac", null ], - [ "m_upperAngle", "classb2_revolute_joint.html#a5c6f4ce759b87ebd4d63326e89d52e0f", null ], - [ "m_upperImpulse", "classb2_revolute_joint.html#a837bb75e4cba595cfe1fc05547bc0aef", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_revolute_joint.png b/documentation/classb2_revolute_joint.png deleted file mode 100644 index 11f1bc3..0000000 Binary files a/documentation/classb2_revolute_joint.png and /dev/null differ diff --git a/documentation/classb2_rope-members.html b/documentation/classb2_rope-members.html deleted file mode 100644 index 8f546df..0000000 --- a/documentation/classb2_rope-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Rope Member List
-
-
- -

This is the complete list of members for b2Rope, including all inherited members.

- - - - - - - - -
b2Rope() (defined in b2Rope)b2Rope
Create(const b2RopeDef &def) (defined in b2Rope)b2Rope
Draw(b2Draw *draw) const (defined in b2Rope)b2Rope
Reset(const b2Vec2 &position) (defined in b2Rope)b2Rope
SetTuning(const b2RopeTuning &tuning) (defined in b2Rope)b2Rope
Step(float timeStep, int32 iterations, const b2Vec2 &position) (defined in b2Rope)b2Rope
~b2Rope() (defined in b2Rope)b2Rope
-
- - - - diff --git a/documentation/classb2_rope.html b/documentation/classb2_rope.html deleted file mode 100644 index 6217392..0000000 --- a/documentation/classb2_rope.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Box2D: b2Rope Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Rope Class Reference
-
-
- - - - - - - - - - - - -

-Public Member Functions

-void Create (const b2RopeDef &def)
 
-void SetTuning (const b2RopeTuning &tuning)
 
-void Step (float timeStep, int32 iterations, const b2Vec2 &position)
 
-void Reset (const b2Vec2 &position)
 
-void Draw (b2Draw *draw) const
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_rope.js b/documentation/classb2_rope.js deleted file mode 100644 index 9f44138..0000000 --- a/documentation/classb2_rope.js +++ /dev/null @@ -1,10 +0,0 @@ -var classb2_rope = -[ - [ "b2Rope", "classb2_rope.html#af293e6b3cb801f4ecd66553e3cc0a09e", null ], - [ "~b2Rope", "classb2_rope.html#ae18c8d8cf4c4647ca69cfc2cba1e4146", null ], - [ "Create", "classb2_rope.html#a54b2b71fc5d10fcf4dba34781cc3eb58", null ], - [ "Draw", "classb2_rope.html#a9545f16b4ed203890a290d58ba56255c", null ], - [ "Reset", "classb2_rope.html#a9fac9ff9d2e69af4615226b483f541cb", null ], - [ "SetTuning", "classb2_rope.html#a2bb167d349d90fee592a7988ee6c310d", null ], - [ "Step", "classb2_rope.html#a0c04982c59547ea69f21fca93b3bc833", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_rope_joint-members.html b/documentation/classb2_rope_joint-members.html deleted file mode 100644 index bfef505..0000000 --- a/documentation/classb2_rope_joint-members.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.0 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2RopeJoint Member List
-
-
- -

This is the complete list of members for b2RopeJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Joint (defined in b2RopeJoint)b2RopeJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2RopeJoint(const b2RopeJointDef *data) (defined in b2RopeJoint)b2RopeJointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) constb2Jointvirtual
Dump() overrideb2RopeJointvirtual
GetAnchorA() const overrideb2RopeJointvirtual
GetAnchorB() const overrideb2RopeJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetLength() const (defined in b2RopeJoint)b2RopeJoint
GetLocalAnchorA() constb2RopeJointinline
GetLocalAnchorB() constb2RopeJointinline
GetMaxLength() const (defined in b2RopeJoint)b2RopeJoint
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2RopeJointvirtual
GetReactionTorque(float inv_dt) const overrideb2RopeJointvirtual
GetType() constb2Jointinline
GetUserData() constb2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2RopeJoint)b2RopeJointprotectedvirtual
IsEnabled() constb2Joint
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_impulse (defined in b2RopeJoint)b2RopeJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2RopeJoint)b2RopeJointprotected
m_indexB (defined in b2RopeJoint)b2RopeJointprotected
m_invIA (defined in b2RopeJoint)b2RopeJointprotected
m_invIB (defined in b2RopeJoint)b2RopeJointprotected
m_invMassA (defined in b2RopeJoint)b2RopeJointprotected
m_invMassB (defined in b2RopeJoint)b2RopeJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_length (defined in b2RopeJoint)b2RopeJointprotected
m_localAnchorA (defined in b2RopeJoint)b2RopeJointprotected
m_localAnchorB (defined in b2RopeJoint)b2RopeJointprotected
m_localCenterA (defined in b2RopeJoint)b2RopeJointprotected
m_localCenterB (defined in b2RopeJoint)b2RopeJointprotected
m_mass (defined in b2RopeJoint)b2RopeJointprotected
m_maxLength (defined in b2RopeJoint)b2RopeJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_rA (defined in b2RopeJoint)b2RopeJointprotected
m_rB (defined in b2RopeJoint)b2RopeJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_u (defined in b2RopeJoint)b2RopeJointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetMaxLength(float length)b2RopeJointinline
SetUserData(void *data)b2Jointinline
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2RopeJoint)b2RopeJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2RopeJoint)b2RopeJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_rope_joint.html b/documentation/classb2_rope_joint.html deleted file mode 100644 index 6cbc835..0000000 --- a/documentation/classb2_rope_joint.html +++ /dev/null @@ -1,333 +0,0 @@ - - - - - - - -Box2D: b2RopeJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.0 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RopeJoint Class Reference
-
-
- -

#include <b2_rope_joint.h>

-
-Inheritance diagram for b2RopeJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-float GetReactionTorque (float inv_dt) const override
 Get the reaction torque on bodyB in N*m.
 
-const b2Vec2GetLocalAnchorA () const
 The local anchor point relative to bodyA's origin.
 
-const b2Vec2GetLocalAnchorB () const
 The local anchor point relative to bodyB's origin.
 
-void SetMaxLength (float length)
 Set/Get the maximum length of the rope.
 
-float GetMaxLength () const
 
-float GetLength () const
 
-void Dump () override
 Dump joint to dmLog.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-void * GetUserData () const
 Get the user data pointer.
 
-void SetUserData (void *data)
 Set the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
-virtual void Draw (b2Draw *draw) const
 Debug draw this joint.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2RopeJoint (const b2RopeJointDef *data)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-float m_maxLength
 
-float m_length
 
-float m_impulse
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_u
 
-b2Vec2 m_rA
 
-b2Vec2 m_rB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-float m_mass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-void * m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A rope joint enforces a maximum distance between two points on two bodies. It has no other effect. Warning: if you attempt to change the maximum length during the simulation you will get some non-physical behavior. A model that would allow you to dynamically modify the length would have some sponginess, so I chose not to implement it that way. See b2DistanceJoint if you want to dynamically control length.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_rope_joint.js b/documentation/classb2_rope_joint.js deleted file mode 100644 index bd13c9b..0000000 --- a/documentation/classb2_rope_joint.js +++ /dev/null @@ -1,35 +0,0 @@ -var classb2_rope_joint = -[ - [ "b2RopeJoint", "classb2_rope_joint.html#a3f69f238616d8dc622d9448f81e14e53", null ], - [ "Dump", "classb2_rope_joint.html#a0028d3d3710bf1a9a905e9b55a4f37c5", null ], - [ "GetAnchorA", "classb2_rope_joint.html#a5757fdeb008bf1bbe15348e80aab9402", null ], - [ "GetAnchorB", "classb2_rope_joint.html#a5e1d615b5cff50b367a74e109184e5d5", null ], - [ "GetLength", "classb2_rope_joint.html#acbbca758a5930f30a1085017ceb8c06b", null ], - [ "GetLocalAnchorA", "classb2_rope_joint.html#a5fb600991e676e61e266ecb99448bb86", null ], - [ "GetLocalAnchorB", "classb2_rope_joint.html#a8a9b925c7ffa11d331ba369cc9fe2ac5", null ], - [ "GetMaxLength", "classb2_rope_joint.html#a21b60f4f5fa165adc3b027fec759c9b8", null ], - [ "GetReactionForce", "classb2_rope_joint.html#ad7891edfc6b48270372b35b7fc9e509f", null ], - [ "GetReactionTorque", "classb2_rope_joint.html#a88d6fa015712aa14fbb981c053493082", null ], - [ "InitVelocityConstraints", "classb2_rope_joint.html#a8a9bd57a12aaf38b529ae626e714e1e8", null ], - [ "SetMaxLength", "classb2_rope_joint.html#ab08a9ee55c152c927d3e9ca00bf47169", null ], - [ "SolvePositionConstraints", "classb2_rope_joint.html#a2fcbda6d472c660aa01793c798a8f92e", null ], - [ "SolveVelocityConstraints", "classb2_rope_joint.html#a08bf8f6cffe281a9f58ee469f99bf5b1", null ], - [ "b2Joint", "classb2_rope_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_impulse", "classb2_rope_joint.html#aa54c285f70723202b42c64a60b9eaa1e", null ], - [ "m_indexA", "classb2_rope_joint.html#a34875f5852d011dab695613a23adca08", null ], - [ "m_indexB", "classb2_rope_joint.html#aa67100c069a1a273314dfa55c9063fc7", null ], - [ "m_invIA", "classb2_rope_joint.html#a32ec9cf5a5172e0c384ae62d1d9843c8", null ], - [ "m_invIB", "classb2_rope_joint.html#a5a32efccd986f3b043ae669920a8522f", null ], - [ "m_invMassA", "classb2_rope_joint.html#a6d6b258303230c6ddc89016dc6386bc3", null ], - [ "m_invMassB", "classb2_rope_joint.html#a999dc94483b46effedac483edcce6d78", null ], - [ "m_length", "classb2_rope_joint.html#ae794a0c7ac12ed50a372a5b43d44654a", null ], - [ "m_localAnchorA", "classb2_rope_joint.html#a43640240dc39c912ea1cc6e1ae9fa614", null ], - [ "m_localAnchorB", "classb2_rope_joint.html#a57dfab74bae88c2c3284ed640825c959", null ], - [ "m_localCenterA", "classb2_rope_joint.html#a15ff1472deb6405c9886a40ee99efcef", null ], - [ "m_localCenterB", "classb2_rope_joint.html#a2b3b1ac9ae9e3e68b2550809ec178877", null ], - [ "m_mass", "classb2_rope_joint.html#a9f8a59fe873bbac0881d47f618869379", null ], - [ "m_maxLength", "classb2_rope_joint.html#afa86c63b4a42fcd14f2762e4ac6b5028", null ], - [ "m_rA", "classb2_rope_joint.html#af8ae48af2656b1e605a099b8f4aa82b0", null ], - [ "m_rB", "classb2_rope_joint.html#ae577e49beef03d266ff4c54e852b4f41", null ], - [ "m_u", "classb2_rope_joint.html#ae95185c5ad4c119a9893294491ba1609", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_rope_joint.png b/documentation/classb2_rope_joint.png deleted file mode 100644 index 0e9ba3f..0000000 Binary files a/documentation/classb2_rope_joint.png and /dev/null differ diff --git a/documentation/classb2_shape-members.html b/documentation/classb2_shape-members.html deleted file mode 100644 index e8ba6b1..0000000 --- a/documentation/classb2_shape-members.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Shape Member List
-
-
- -

This is the complete list of members for b2Shape, including all inherited members.

- - - - - - - - - - - - - - - - - -
Clone(b2BlockAllocator *allocator) const =0b2Shapepure virtual
ComputeAABB(b2AABB *aabb, const b2Transform &xf, int32 childIndex) const =0b2Shapepure virtual
ComputeMass(b2MassData *massData, float density) const =0b2Shapepure virtual
e_chain enum value (defined in b2Shape)b2Shape
e_circle enum value (defined in b2Shape)b2Shape
e_edge enum value (defined in b2Shape)b2Shape
e_polygon enum value (defined in b2Shape)b2Shape
e_typeCount enum value (defined in b2Shape)b2Shape
GetChildCount() const =0b2Shapepure virtual
GetType() constb2Shapeinline
m_radiusb2Shape
m_type (defined in b2Shape)b2Shape
RayCast(b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const =0b2Shapepure virtual
TestPoint(const b2Transform &xf, const b2Vec2 &p) const =0b2Shapepure virtual
Type enum name (defined in b2Shape)b2Shape
~b2Shape() (defined in b2Shape)b2Shapeinlinevirtual
-
- - - - diff --git a/documentation/classb2_shape.html b/documentation/classb2_shape.html deleted file mode 100644 index e134bcf..0000000 --- a/documentation/classb2_shape.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - -Box2D: b2Shape Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Shape Class Referenceabstract
-
-
- -

#include <b2_shape.h>

-
-Inheritance diagram for b2Shape:
-
-
- - -b2ChainShape -b2CircleShape -b2EdgeShape -b2PolygonShape - -
- - - - -

-Public Types

enum  Type {
-  e_circle = 0, -e_edge = 1, -e_polygon = 2, -e_chain = 3, -
-  e_typeCount = 4 -
- }
 
- - - - - - - - - - - - - - - - - -

-Public Member Functions

-virtual b2ShapeClone (b2BlockAllocator *allocator) const =0
 Clone the concrete shape using the provided allocator.
 
Type GetType () const
 
-virtual int32 GetChildCount () const =0
 Get the number of child primitives.
 
virtual bool TestPoint (const b2Transform &xf, const b2Vec2 &p) const =0
 
virtual bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const =0
 
virtual void ComputeAABB (b2AABB *aabb, const b2Transform &xf, int32 childIndex) const =0
 
virtual void ComputeMass (b2MassData *massData, float density) const =0
 
- - - - - -

-Public Attributes

-Type m_type
 
float m_radius
 
-

Detailed Description

-

A shape is used for collision detection. You can create a shape however you like. Shapes used for simulation in b2World are created automatically when a b2Fixture is created. Shapes may encapsulate a one or more child shapes.

-

Member Function Documentation

- -

◆ ComputeAABB()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
virtual void b2Shape::ComputeAABB (b2AABBaabb,
const b2Transformxf,
int32 childIndex 
) const
-
-pure virtual
-
-

Given a transform, compute the associated axis aligned bounding box for a child shape.

Parameters
- - - - -
aabbreturns the axis aligned box.
xfthe world transform of the shape.
childIndexthe child shape
-
-
- -

Implemented in b2ChainShape, b2PolygonShape, b2EdgeShape, and b2CircleShape.

- -
-
- -

◆ ComputeMass()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual void b2Shape::ComputeMass (b2MassDatamassData,
float density 
) const
-
-pure virtual
-
-

Compute the mass properties of this shape using its dimensions and density. The inertia tensor is computed about the local origin.

Parameters
- - - -
massDatareturns the mass data for this shape.
densitythe density in kilograms per meter squared.
-
-
- -

Implemented in b2ChainShape, b2PolygonShape, b2EdgeShape, and b2CircleShape.

- -
-
- -

◆ GetType()

- -
-
- - - - - -
- - - - - - - -
b2Shape::Type b2Shape::GetType () const
-
-inline
-
-

Get the type of this shape. You can use this to down cast to the concrete shape.

Returns
the shape type.
- -
-
- -

◆ RayCast()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
virtual bool b2Shape::RayCast (b2RayCastOutputoutput,
const b2RayCastInputinput,
const b2Transformtransform,
int32 childIndex 
) const
-
-pure virtual
-
-

Cast a ray against a child shape.

Parameters
- - - - - -
outputthe ray-cast results.
inputthe ray-cast input parameters.
transformthe transform to be applied to the shape.
childIndexthe child shape index
-
-
- -

Implemented in b2ChainShape, b2PolygonShape, b2EdgeShape, and b2CircleShape.

- -
-
- -

◆ TestPoint()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
virtual bool b2Shape::TestPoint (const b2Transformxf,
const b2Vec2p 
) const
-
-pure virtual
-
-

Test a point for containment in this shape. This only works for convex shapes.

Parameters
- - - -
xfthe shape world transform.
pa point in world coordinates.
-
-
- -

Implemented in b2ChainShape, b2PolygonShape, b2EdgeShape, and b2CircleShape.

- -
-
-

Member Data Documentation

- -

◆ m_radius

- -
-
- - - - -
float b2Shape::m_radius
-
-

Radius of a shape. For polygonal shapes this must be b2_polygonRadius. There is no support for making rounded polygons.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_shape.js b/documentation/classb2_shape.js deleted file mode 100644 index c9ac8a6..0000000 --- a/documentation/classb2_shape.js +++ /dev/null @@ -1,20 +0,0 @@ -var classb2_shape = -[ - [ "Type", "classb2_shape.html#a4c1f3a9ad6b3150bb90ad9018ca4b1e0", [ - [ "e_circle", "classb2_shape.html#a4c1f3a9ad6b3150bb90ad9018ca4b1e0a09ab906cedd1b94ebb6fedb29dace063", null ], - [ "e_edge", "classb2_shape.html#a4c1f3a9ad6b3150bb90ad9018ca4b1e0a707a159824d438c541a452382c0daced", null ], - [ "e_polygon", "classb2_shape.html#a4c1f3a9ad6b3150bb90ad9018ca4b1e0a08afe1f3d5964062239783063a3a671f", null ], - [ "e_chain", "classb2_shape.html#a4c1f3a9ad6b3150bb90ad9018ca4b1e0a3649c133fa23d5af940705432e9170f2", null ], - [ "e_typeCount", "classb2_shape.html#a4c1f3a9ad6b3150bb90ad9018ca4b1e0aad7c674a33e8ca4ee9b717f226553596", null ] - ] ], - [ "~b2Shape", "classb2_shape.html#a7c14c5dcf134d22e0b5790518632d05a", null ], - [ "Clone", "classb2_shape.html#a4716243454bb9cf7c7ee1d9cb23ae634", null ], - [ "ComputeAABB", "classb2_shape.html#a88e9807fab0c8ca9a98d8926e50a1411", null ], - [ "ComputeMass", "classb2_shape.html#a1b9497fd7951fa995df6fe00bcf8581b", null ], - [ "GetChildCount", "classb2_shape.html#a05a3c445017d96df9238ceefe6ce37ab", null ], - [ "GetType", "classb2_shape.html#a600cceee6186d81bb1b8ab142324bba6", null ], - [ "RayCast", "classb2_shape.html#aee53a926f4fe64cd03693f6211ef6335", null ], - [ "TestPoint", "classb2_shape.html#a6ac968e403e2d93e8ae46d728a2e50fa", null ], - [ "m_radius", "classb2_shape.html#af145c8df4c0ffb5780b40cf8e4d64c9c", null ], - [ "m_type", "classb2_shape.html#adb051791133b24f53c6e9a565a7b7bbb", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_shape.png b/documentation/classb2_shape.png deleted file mode 100644 index e1af003..0000000 Binary files a/documentation/classb2_shape.png and /dev/null differ diff --git a/documentation/classb2_stack_allocator-members.html b/documentation/classb2_stack_allocator-members.html deleted file mode 100644 index 7011844..0000000 --- a/documentation/classb2_stack_allocator-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2StackAllocator Member List
-
-
- -

This is the complete list of members for b2StackAllocator, including all inherited members.

- - - - - - -
Allocate(int32 size) (defined in b2StackAllocator)b2StackAllocator
b2StackAllocator() (defined in b2StackAllocator)b2StackAllocator
Free(void *p) (defined in b2StackAllocator)b2StackAllocator
GetMaxAllocation() const (defined in b2StackAllocator)b2StackAllocator
~b2StackAllocator() (defined in b2StackAllocator)b2StackAllocator
-
- - - - diff --git a/documentation/classb2_stack_allocator.html b/documentation/classb2_stack_allocator.html deleted file mode 100644 index 2c63e34..0000000 --- a/documentation/classb2_stack_allocator.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Box2D: b2StackAllocator Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2StackAllocator Class Reference
-
-
- - - - - - - - -

-Public Member Functions

-void * Allocate (int32 size)
 
-void Free (void *p)
 
-int32 GetMaxAllocation () const
 
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_stack_allocator.js b/documentation/classb2_stack_allocator.js deleted file mode 100644 index 0cec380..0000000 --- a/documentation/classb2_stack_allocator.js +++ /dev/null @@ -1,8 +0,0 @@ -var classb2_stack_allocator = -[ - [ "b2StackAllocator", "classb2_stack_allocator.html#a00f8771300fe1efeb6fbaab489a8dd0a", null ], - [ "~b2StackAllocator", "classb2_stack_allocator.html#a9f9bd23569d3521316d2f00b1de454b2", null ], - [ "Allocate", "classb2_stack_allocator.html#a3319923944404ab8bad447db0e00d391", null ], - [ "Free", "classb2_stack_allocator.html#a3a4384cf5f467828db3022985673db66", null ], - [ "GetMaxAllocation", "classb2_stack_allocator.html#a9670b9ce67f939004f227d1be883404f", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_timer-members.html b/documentation/classb2_timer-members.html deleted file mode 100644 index 43303fe..0000000 --- a/documentation/classb2_timer-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Timer Member List
-
-
- -

This is the complete list of members for b2Timer, including all inherited members.

- - - - -
b2Timer()b2Timer
GetMilliseconds() constb2Timer
Reset()b2Timer
-
- - - - diff --git a/documentation/classb2_timer.html b/documentation/classb2_timer.html deleted file mode 100644 index 0edf2df..0000000 --- a/documentation/classb2_timer.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Box2D: b2Timer Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Timer Class Reference
-
-
- -

#include <b2_timer.h>

- - - - - - - - - - - -

-Public Member Functions

b2Timer ()
 Constructor.
 
-void Reset ()
 Reset the timer.
 
-float GetMilliseconds () const
 Get the time since construction or the last reset.
 
-

Detailed Description

-

Timer for profiling. This has platform specific code and may not work on every platform.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_timer.js b/documentation/classb2_timer.js deleted file mode 100644 index bf2d3c1..0000000 --- a/documentation/classb2_timer.js +++ /dev/null @@ -1,6 +0,0 @@ -var classb2_timer = -[ - [ "b2Timer", "classb2_timer.html#afcc159032a8edeaa9febdf2b6cbd49a5", null ], - [ "GetMilliseconds", "classb2_timer.html#a2b31785590ab43123553a20cefc31319", null ], - [ "Reset", "classb2_timer.html#a367388794588e9283600437be82f2889", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_weld_joint-members.html b/documentation/classb2_weld_joint-members.html deleted file mode 100644 index d413f3e..0000000 --- a/documentation/classb2_weld_joint-members.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2WeldJoint Member List
-
-
- -

This is the complete list of members for b2WeldJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Joint (defined in b2WeldJoint)b2WeldJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2WeldJoint(const b2WeldJointDef *def) (defined in b2WeldJoint)b2WeldJointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) constb2Jointvirtual
Dump() overrideb2WeldJointvirtual
GetAnchorA() const overrideb2WeldJointvirtual
GetAnchorB() const overrideb2WeldJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetDamping() const (defined in b2WeldJoint)b2WeldJointinline
GetLocalAnchorA() constb2WeldJointinline
GetLocalAnchorB() constb2WeldJointinline
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2WeldJointvirtual
GetReactionTorque(float inv_dt) const overrideb2WeldJointvirtual
GetReferenceAngle() constb2WeldJointinline
GetStiffness() const (defined in b2WeldJoint)b2WeldJointinline
GetType() constb2Jointinline
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2WeldJoint)b2WeldJointprotectedvirtual
IsEnabled() constb2Joint
m_bias (defined in b2WeldJoint)b2WeldJointprotected
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_damping (defined in b2WeldJoint)b2WeldJointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_gamma (defined in b2WeldJoint)b2WeldJointprotected
m_impulse (defined in b2WeldJoint)b2WeldJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2WeldJoint)b2WeldJointprotected
m_indexB (defined in b2WeldJoint)b2WeldJointprotected
m_invIA (defined in b2WeldJoint)b2WeldJointprotected
m_invIB (defined in b2WeldJoint)b2WeldJointprotected
m_invMassA (defined in b2WeldJoint)b2WeldJointprotected
m_invMassB (defined in b2WeldJoint)b2WeldJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_localAnchorA (defined in b2WeldJoint)b2WeldJointprotected
m_localAnchorB (defined in b2WeldJoint)b2WeldJointprotected
m_localCenterA (defined in b2WeldJoint)b2WeldJointprotected
m_localCenterB (defined in b2WeldJoint)b2WeldJointprotected
m_mass (defined in b2WeldJoint)b2WeldJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_rA (defined in b2WeldJoint)b2WeldJointprotected
m_rB (defined in b2WeldJoint)b2WeldJointprotected
m_referenceAngle (defined in b2WeldJoint)b2WeldJointprotected
m_stiffness (defined in b2WeldJoint)b2WeldJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetDamping(float damping)b2WeldJointinline
SetStiffness(float hz)b2WeldJointinline
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2WeldJoint)b2WeldJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2WeldJoint)b2WeldJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_weld_joint.html b/documentation/classb2_weld_joint.html deleted file mode 100644 index e3e33f9..0000000 --- a/documentation/classb2_weld_joint.html +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - -Box2D: b2WeldJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2WeldJoint Class Reference
-
-
- -

#include <b2_weld_joint.h>

-
-Inheritance diagram for b2WeldJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-float GetReactionTorque (float inv_dt) const override
 Get the reaction torque on bodyB in N*m.
 
-const b2Vec2GetLocalAnchorA () const
 The local anchor point relative to bodyA's origin.
 
-const b2Vec2GetLocalAnchorB () const
 The local anchor point relative to bodyB's origin.
 
-float GetReferenceAngle () const
 Get the reference angle.
 
-void SetStiffness (float hz)
 Set/get stiffness in N*m.
 
-float GetStiffness () const
 
-void SetDamping (float damping)
 Set/get damping in N*m*s.
 
-float GetDamping () const
 
-void Dump () override
 Dump to b2Log.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
-virtual void Draw (b2Draw *draw) const
 Debug draw this joint.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2WeldJoint (const b2WeldJointDef *def)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-float m_stiffness
 
-float m_damping
 
-float m_bias
 
-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-float m_referenceAngle
 
-float m_gamma
 
-b2Vec3 m_impulse
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_rA
 
-b2Vec2 m_rB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-b2Mat33 m_mass
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A weld joint essentially glues two bodies together. A weld joint may distort somewhat because the island constraint solver is approximate.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_weld_joint.js b/documentation/classb2_weld_joint.js deleted file mode 100644 index ec3f1cd..0000000 --- a/documentation/classb2_weld_joint.js +++ /dev/null @@ -1,39 +0,0 @@ -var classb2_weld_joint = -[ - [ "b2WeldJoint", "classb2_weld_joint.html#a84dbb52e983d9039eab6ad64ae62d8eb", null ], - [ "Dump", "classb2_weld_joint.html#a59de1cad3229b41886bc23c4d6216e2f", null ], - [ "GetAnchorA", "classb2_weld_joint.html#ac675d0b09a4d9567d85bcba8821785bc", null ], - [ "GetAnchorB", "classb2_weld_joint.html#ac97596e42af760d0a035b15213d3341a", null ], - [ "GetDamping", "classb2_weld_joint.html#aa9e321f4ed4ba92e552679681a393277", null ], - [ "GetLocalAnchorA", "classb2_weld_joint.html#af3a42eee31a74fe895b07fa694dc4ae5", null ], - [ "GetLocalAnchorB", "classb2_weld_joint.html#ac0c5e6a53b120f0302d2c6d267d40147", null ], - [ "GetReactionForce", "classb2_weld_joint.html#aeb4ef1d32a18f00b8137f6018194ca1c", null ], - [ "GetReactionTorque", "classb2_weld_joint.html#a7239dacdc5f5098df6e32961c16cfb25", null ], - [ "GetReferenceAngle", "classb2_weld_joint.html#ac7f218b7b727f81167835ba92acb7f95", null ], - [ "GetStiffness", "classb2_weld_joint.html#a36a376bca52c8968af2e98073488a433", null ], - [ "InitVelocityConstraints", "classb2_weld_joint.html#afb54f848fe19f33555f01594e3e4f410", null ], - [ "SetDamping", "classb2_weld_joint.html#a091b5363ad3826c4d21f42a395d76a6f", null ], - [ "SetStiffness", "classb2_weld_joint.html#a3ed0dbef228a57b8f5cdce3f4ec7277f", null ], - [ "SolvePositionConstraints", "classb2_weld_joint.html#a068ae45ce6577e27669121032c277015", null ], - [ "SolveVelocityConstraints", "classb2_weld_joint.html#a0367580735b117dcf9a4292df4daf883", null ], - [ "b2Joint", "classb2_weld_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_bias", "classb2_weld_joint.html#a27288760540ebcf14e75fa38345d23cd", null ], - [ "m_damping", "classb2_weld_joint.html#a32801289f037ecf46e5b9058ad6064a0", null ], - [ "m_gamma", "classb2_weld_joint.html#ab53375529056e7e88371410a49e82cae", null ], - [ "m_impulse", "classb2_weld_joint.html#a47db737b0d94628e7839718cf91cf762", null ], - [ "m_indexA", "classb2_weld_joint.html#a4a3aa65b0a4669478db292f6765b03dd", null ], - [ "m_indexB", "classb2_weld_joint.html#a6e2aa1c13e8c96d9bbbdc6aae6b8e342", null ], - [ "m_invIA", "classb2_weld_joint.html#a57de128539f9e5322cbe5f563e73d83b", null ], - [ "m_invIB", "classb2_weld_joint.html#aba35c987a9b431f25b3f0add0fc3a81c", null ], - [ "m_invMassA", "classb2_weld_joint.html#ae1aa18151e692919c159264502134eea", null ], - [ "m_invMassB", "classb2_weld_joint.html#ac8cd68b4e35915b178d0ca1525047968", null ], - [ "m_localAnchorA", "classb2_weld_joint.html#a572689c5f8c3df6902d64c56a2bb88f2", null ], - [ "m_localAnchorB", "classb2_weld_joint.html#a39854cb14c83f88ec65d232b08e70704", null ], - [ "m_localCenterA", "classb2_weld_joint.html#a18360f1e82a3a4e4fdfb3e6cba85160c", null ], - [ "m_localCenterB", "classb2_weld_joint.html#a71281fbd18892e3f9653490bf85a844a", null ], - [ "m_mass", "classb2_weld_joint.html#ad07c6f68bd3ee2d62e4a8d656d526cf3", null ], - [ "m_rA", "classb2_weld_joint.html#abfbbe893b469c6855b297bdd768ba6fe", null ], - [ "m_rB", "classb2_weld_joint.html#a2a2af228eb5c2cd38e8baf77098cc3b0", null ], - [ "m_referenceAngle", "classb2_weld_joint.html#af2bdc6e8175a04e36946b975e80e67da", null ], - [ "m_stiffness", "classb2_weld_joint.html#aef00719765d0d9c267c8d1595a6e7a90", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_weld_joint.png b/documentation/classb2_weld_joint.png deleted file mode 100644 index ff245cb..0000000 Binary files a/documentation/classb2_weld_joint.png and /dev/null differ diff --git a/documentation/classb2_wheel_joint-members.html b/documentation/classb2_wheel_joint-members.html deleted file mode 100644 index 3024695..0000000 --- a/documentation/classb2_wheel_joint-members.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2WheelJoint Member List
-
-
- -

This is the complete list of members for b2WheelJoint, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Joint (defined in b2WheelJoint)b2WheelJointfriend
b2Joint(const b2JointDef *def) (defined in b2Joint)b2Jointprotected
b2WheelJoint(const b2WheelJointDef *def) (defined in b2WheelJoint)b2WheelJointprotected
Create(const b2JointDef *def, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Destroy(b2Joint *joint, b2BlockAllocator *allocator) (defined in b2Joint)b2Jointprotectedstatic
Draw(b2Draw *draw) const overrideb2WheelJointvirtual
Dump() overrideb2WheelJointvirtual
EnableLimit(bool flag)b2WheelJoint
EnableMotor(bool flag)b2WheelJoint
GetAnchorA() const overrideb2WheelJointvirtual
GetAnchorB() const overrideb2WheelJointvirtual
GetBodyA()b2Jointinline
GetBodyB()b2Jointinline
GetCollideConnected() constb2Jointinline
GetDamping() const (defined in b2WheelJoint)b2WheelJoint
GetJointAngle() constb2WheelJoint
GetJointAngularSpeed() constb2WheelJoint
GetJointLinearSpeed() constb2WheelJoint
GetJointTranslation() constb2WheelJoint
GetLocalAnchorA() constb2WheelJointinline
GetLocalAnchorB() constb2WheelJointinline
GetLocalAxisA() constb2WheelJointinline
GetLowerLimit() constb2WheelJoint
GetMaxMotorTorque() const (defined in b2WheelJoint)b2WheelJointinline
GetMotorSpeed() constb2WheelJointinline
GetMotorTorque(float inv_dt) constb2WheelJoint
GetNext()b2Jointinline
GetNext() const (defined in b2Joint)b2Joint
GetReactionForce(float inv_dt) const overrideb2WheelJointvirtual
GetReactionTorque(float inv_dt) const overrideb2WheelJointvirtual
GetStiffness() const (defined in b2WheelJoint)b2WheelJoint
GetType() constb2Jointinline
GetUpperLimit() constb2WheelJoint
GetUserData()b2Jointinline
InitVelocityConstraints(const b2SolverData &data) override (defined in b2WheelJoint)b2WheelJointprotectedvirtual
IsEnabled() constb2Joint
IsLimitEnabled() constb2WheelJoint
IsMotorEnabled() constb2WheelJoint
m_ax (defined in b2WheelJoint)b2WheelJointprotected
m_axialMass (defined in b2WheelJoint)b2WheelJointprotected
m_ay (defined in b2WheelJoint)b2WheelJointprotected
m_bias (defined in b2WheelJoint)b2WheelJointprotected
m_bodyA (defined in b2Joint)b2Jointprotected
m_bodyB (defined in b2Joint)b2Jointprotected
m_collideConnected (defined in b2Joint)b2Jointprotected
m_damping (defined in b2WheelJoint)b2WheelJointprotected
m_edgeA (defined in b2Joint)b2Jointprotected
m_edgeB (defined in b2Joint)b2Jointprotected
m_enableLimit (defined in b2WheelJoint)b2WheelJointprotected
m_enableMotor (defined in b2WheelJoint)b2WheelJointprotected
m_gamma (defined in b2WheelJoint)b2WheelJointprotected
m_impulse (defined in b2WheelJoint)b2WheelJointprotected
m_index (defined in b2Joint)b2Jointprotected
m_indexA (defined in b2WheelJoint)b2WheelJointprotected
m_indexB (defined in b2WheelJoint)b2WheelJointprotected
m_invIA (defined in b2WheelJoint)b2WheelJointprotected
m_invIB (defined in b2WheelJoint)b2WheelJointprotected
m_invMassA (defined in b2WheelJoint)b2WheelJointprotected
m_invMassB (defined in b2WheelJoint)b2WheelJointprotected
m_islandFlag (defined in b2Joint)b2Jointprotected
m_localAnchorA (defined in b2WheelJoint)b2WheelJointprotected
m_localAnchorB (defined in b2WheelJoint)b2WheelJointprotected
m_localCenterA (defined in b2WheelJoint)b2WheelJointprotected
m_localCenterB (defined in b2WheelJoint)b2WheelJointprotected
m_localXAxisA (defined in b2WheelJoint)b2WheelJointprotected
m_localYAxisA (defined in b2WheelJoint)b2WheelJointprotected
m_lowerImpulse (defined in b2WheelJoint)b2WheelJointprotected
m_lowerTranslation (defined in b2WheelJoint)b2WheelJointprotected
m_mass (defined in b2WheelJoint)b2WheelJointprotected
m_maxMotorTorque (defined in b2WheelJoint)b2WheelJointprotected
m_motorImpulse (defined in b2WheelJoint)b2WheelJointprotected
m_motorMass (defined in b2WheelJoint)b2WheelJointprotected
m_motorSpeed (defined in b2WheelJoint)b2WheelJointprotected
m_next (defined in b2Joint)b2Jointprotected
m_prev (defined in b2Joint)b2Jointprotected
m_sAx (defined in b2WheelJoint)b2WheelJointprotected
m_sAy (defined in b2WheelJoint)b2WheelJointprotected
m_sBx (defined in b2WheelJoint)b2WheelJointprotected
m_sBy (defined in b2WheelJoint)b2WheelJointprotected
m_springImpulse (defined in b2WheelJoint)b2WheelJointprotected
m_springMass (defined in b2WheelJoint)b2WheelJointprotected
m_stiffness (defined in b2WheelJoint)b2WheelJointprotected
m_translation (defined in b2WheelJoint)b2WheelJointprotected
m_type (defined in b2Joint)b2Jointprotected
m_upperImpulse (defined in b2WheelJoint)b2WheelJointprotected
m_upperTranslation (defined in b2WheelJoint)b2WheelJointprotected
m_userData (defined in b2Joint)b2Jointprotected
SetDamping(float damping)b2WheelJoint
SetLimits(float lower, float upper)b2WheelJoint
SetMaxMotorTorque(float torque)b2WheelJoint
SetMotorSpeed(float speed)b2WheelJoint
SetStiffness(float stiffness)b2WheelJoint
ShiftOrigin(const b2Vec2 &newOrigin)b2Jointinlinevirtual
SolvePositionConstraints(const b2SolverData &data) override (defined in b2WheelJoint)b2WheelJointprotectedvirtual
SolveVelocityConstraints(const b2SolverData &data) override (defined in b2WheelJoint)b2WheelJointprotectedvirtual
~b2Joint() (defined in b2Joint)b2Jointinlineprotectedvirtual
-
- - - - diff --git a/documentation/classb2_wheel_joint.html b/documentation/classb2_wheel_joint.html deleted file mode 100644 index fbaefa0..0000000 --- a/documentation/classb2_wheel_joint.html +++ /dev/null @@ -1,463 +0,0 @@ - - - - - - - -Box2D: b2WheelJoint Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2WheelJoint Class Reference
-
-
- -

#include <b2_wheel_joint.h>

-
-Inheritance diagram for b2WheelJoint:
-
-
- - -b2Joint - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-b2Vec2 GetAnchorA () const override
 Get the anchor point on bodyA in world coordinates.
 
-b2Vec2 GetAnchorB () const override
 Get the anchor point on bodyB in world coordinates.
 
-b2Vec2 GetReactionForce (float inv_dt) const override
 Get the reaction force on bodyB at the joint anchor in Newtons.
 
-float GetReactionTorque (float inv_dt) const override
 Get the reaction torque on bodyB in N*m.
 
-const b2Vec2GetLocalAnchorA () const
 The local anchor point relative to bodyA's origin.
 
-const b2Vec2GetLocalAnchorB () const
 The local anchor point relative to bodyB's origin.
 
-const b2Vec2GetLocalAxisA () const
 The local joint axis relative to bodyA.
 
-float GetJointTranslation () const
 Get the current joint translation, usually in meters.
 
-float GetJointLinearSpeed () const
 Get the current joint linear speed, usually in meters per second.
 
-float GetJointAngle () const
 Get the current joint angle in radians.
 
-float GetJointAngularSpeed () const
 Get the current joint angular speed in radians per second.
 
-bool IsLimitEnabled () const
 Is the joint limit enabled?
 
-void EnableLimit (bool flag)
 Enable/disable the joint translation limit.
 
-float GetLowerLimit () const
 Get the lower joint translation limit, usually in meters.
 
-float GetUpperLimit () const
 Get the upper joint translation limit, usually in meters.
 
-void SetLimits (float lower, float upper)
 Set the joint translation limits, usually in meters.
 
-bool IsMotorEnabled () const
 Is the joint motor enabled?
 
-void EnableMotor (bool flag)
 Enable/disable the joint motor.
 
-void SetMotorSpeed (float speed)
 Set the motor speed, usually in radians per second.
 
-float GetMotorSpeed () const
 Get the motor speed, usually in radians per second.
 
-void SetMaxMotorTorque (float torque)
 Set/Get the maximum motor force, usually in N-m.
 
-float GetMaxMotorTorque () const
 
-float GetMotorTorque (float inv_dt) const
 Get the current motor torque given the inverse time step, usually in N-m.
 
-void SetStiffness (float stiffness)
 Access spring stiffness.
 
-float GetStiffness () const
 
-void SetDamping (float damping)
 Access damping.
 
-float GetDamping () const
 
-void Dump () override
 Dump to b2Log.
 
-void Draw (b2Draw *draw) const override
 Debug draw this joint.
 
- Public Member Functions inherited from b2Joint
-b2JointType GetType () const
 Get the type of the concrete joint.
 
-b2BodyGetBodyA ()
 Get the first body attached to this joint.
 
-b2BodyGetBodyB ()
 Get the second body attached to this joint.
 
-b2JointGetNext ()
 Get the next joint the world joint list.
 
-const b2JointGetNext () const
 
-b2JointUserDataGetUserData ()
 Get the user data pointer.
 
-bool IsEnabled () const
 Short-cut function to determine if either body is enabled.
 
bool GetCollideConnected () const
 
-virtual void ShiftOrigin (const b2Vec2 &newOrigin)
 Shift the origin for any points stored in world coordinates.
 
- - - - - - - - - - - - -

-Protected Member Functions

b2WheelJoint (const b2WheelJointDef *def)
 
-void InitVelocityConstraints (const b2SolverData &data) override
 
-void SolveVelocityConstraints (const b2SolverData &data) override
 
-bool SolvePositionConstraints (const b2SolverData &data) override
 
- Protected Member Functions inherited from b2Joint
b2Joint (const b2JointDef *def)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Protected Attributes

-b2Vec2 m_localAnchorA
 
-b2Vec2 m_localAnchorB
 
-b2Vec2 m_localXAxisA
 
-b2Vec2 m_localYAxisA
 
-float m_impulse
 
-float m_motorImpulse
 
-float m_springImpulse
 
-float m_lowerImpulse
 
-float m_upperImpulse
 
-float m_translation
 
-float m_lowerTranslation
 
-float m_upperTranslation
 
-float m_maxMotorTorque
 
-float m_motorSpeed
 
-bool m_enableLimit
 
-bool m_enableMotor
 
-float m_stiffness
 
-float m_damping
 
-int32 m_indexA
 
-int32 m_indexB
 
-b2Vec2 m_localCenterA
 
-b2Vec2 m_localCenterB
 
-float m_invMassA
 
-float m_invMassB
 
-float m_invIA
 
-float m_invIB
 
-b2Vec2 m_ax
 
-b2Vec2 m_ay
 
-float m_sAx
 
-float m_sBx
 
-float m_sAy
 
-float m_sBy
 
-float m_mass
 
-float m_motorMass
 
-float m_axialMass
 
-float m_springMass
 
-float m_bias
 
-float m_gamma
 
- Protected Attributes inherited from b2Joint
-b2JointType m_type
 
-b2Jointm_prev
 
-b2Jointm_next
 
-b2JointEdge m_edgeA
 
-b2JointEdge m_edgeB
 
-b2Bodym_bodyA
 
-b2Bodym_bodyB
 
-int32 m_index
 
-bool m_islandFlag
 
-bool m_collideConnected
 
-b2JointUserData m_userData
 
- - - -

-Friends

-class b2Joint
 
- - - - - - -

-Additional Inherited Members

- Static Protected Member Functions inherited from b2Joint
-static b2JointCreate (const b2JointDef *def, b2BlockAllocator *allocator)
 
-static void Destroy (b2Joint *joint, b2BlockAllocator *allocator)
 
-

Detailed Description

-

A wheel joint. This joint provides two degrees of freedom: translation along an axis fixed in bodyA and rotation in the plane. In other words, it is a point to line constraint with a rotational motor and a linear spring/damper. The spring/damper is initialized upon creation. This joint is designed for vehicle suspensions.

-

The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_wheel_joint.js b/documentation/classb2_wheel_joint.js deleted file mode 100644 index 454aa53..0000000 --- a/documentation/classb2_wheel_joint.js +++ /dev/null @@ -1,75 +0,0 @@ -var classb2_wheel_joint = -[ - [ "b2WheelJoint", "classb2_wheel_joint.html#a9c8bbb1068ddb46d074fe91802dd6a39", null ], - [ "Draw", "classb2_wheel_joint.html#a259eee444cf0bd720960b72a628db3fe", null ], - [ "Dump", "classb2_wheel_joint.html#a8295644bd733c28c8c9fa6390a367f3f", null ], - [ "EnableLimit", "classb2_wheel_joint.html#a73e40351f5f42cf2de7235524bf1afad", null ], - [ "EnableMotor", "classb2_wheel_joint.html#a7a832d814bdda135a78fad41ba671da6", null ], - [ "GetAnchorA", "classb2_wheel_joint.html#a43a301e48ba486278932c82d3a98abd8", null ], - [ "GetAnchorB", "classb2_wheel_joint.html#a62f450ad368793c3cde36404a39775e0", null ], - [ "GetDamping", "classb2_wheel_joint.html#a97c018b84b00bf210f53b00cccf91e73", null ], - [ "GetJointAngle", "classb2_wheel_joint.html#a18d00b2e7a7837c00795ea295a484cba", null ], - [ "GetJointAngularSpeed", "classb2_wheel_joint.html#a4678f47b5875e76989e0531115fd3784", null ], - [ "GetJointLinearSpeed", "classb2_wheel_joint.html#adf275d41c2deee038c6e574a96482828", null ], - [ "GetJointTranslation", "classb2_wheel_joint.html#a7bfbe118654808ef258000f21cfd69ff", null ], - [ "GetLocalAnchorA", "classb2_wheel_joint.html#aaf132c39227962a0b0788558e7dd6662", null ], - [ "GetLocalAnchorB", "classb2_wheel_joint.html#a78c56833f42bfc61998aa5ea8c876f3e", null ], - [ "GetLocalAxisA", "classb2_wheel_joint.html#a86bf4dbf356f9095c05d62313810e602", null ], - [ "GetLowerLimit", "classb2_wheel_joint.html#a6022fc9b4b2b57ded45b45df94f14503", null ], - [ "GetMaxMotorTorque", "classb2_wheel_joint.html#a4e72d5d155796df5796f5b89e8fe6084", null ], - [ "GetMotorSpeed", "classb2_wheel_joint.html#a6d757bbcef609f4a496b71c89046663b", null ], - [ "GetMotorTorque", "classb2_wheel_joint.html#a6272c7afa6a27cc7c2ec8c531d279070", null ], - [ "GetReactionForce", "classb2_wheel_joint.html#af60590d061d9c47e1f30c6d96a667ff4", null ], - [ "GetReactionTorque", "classb2_wheel_joint.html#a2dc2734c5df3b381163b2ae25779f665", null ], - [ "GetStiffness", "classb2_wheel_joint.html#ad824cd8f3627b772ff6cb817ad8467f1", null ], - [ "GetUpperLimit", "classb2_wheel_joint.html#ae095bf76b791e44736d3dfebcaf0bbe6", null ], - [ "InitVelocityConstraints", "classb2_wheel_joint.html#a557c58a58cdf75d5b2c14c7f75a37575", null ], - [ "IsLimitEnabled", "classb2_wheel_joint.html#a8d94a1a2fe588fa5f4905334d4456ffd", null ], - [ "IsMotorEnabled", "classb2_wheel_joint.html#aef7948a18ec2784397a1d3745824cd78", null ], - [ "SetDamping", "classb2_wheel_joint.html#a8ef2ae12739ddd92e765cc0419395d3a", null ], - [ "SetLimits", "classb2_wheel_joint.html#ad57816ee69ab15373aedd1079d97d926", null ], - [ "SetMaxMotorTorque", "classb2_wheel_joint.html#adf5fb5c84056f595636bbc86ec974749", null ], - [ "SetMotorSpeed", "classb2_wheel_joint.html#aa4ec3bc7ea7b5c977ccab10593176594", null ], - [ "SetStiffness", "classb2_wheel_joint.html#a2ed4f65494d59e65b2319b840ef3a503", null ], - [ "SolvePositionConstraints", "classb2_wheel_joint.html#addbe70ee831954312bc31dee1d52311f", null ], - [ "SolveVelocityConstraints", "classb2_wheel_joint.html#afbda202bc67d58cac38e3c5b138b93f7", null ], - [ "b2Joint", "classb2_wheel_joint.html#a54ade8ed3d794298108d7f4c4e4793fa", null ], - [ "m_ax", "classb2_wheel_joint.html#ae91286452d1941d4bed387bd7ee187c8", null ], - [ "m_axialMass", "classb2_wheel_joint.html#a4bc6451513f917d811a17ca2ea151360", null ], - [ "m_ay", "classb2_wheel_joint.html#a2f3b7d45948c68e5c5dd8636ed8a8db1", null ], - [ "m_bias", "classb2_wheel_joint.html#ae57ab9dd290899a85a7b542a9b50d0a6", null ], - [ "m_damping", "classb2_wheel_joint.html#ab0be04517d42694148508b5b113d3021", null ], - [ "m_enableLimit", "classb2_wheel_joint.html#a3537b79a595e16c17cea7f4e26233dfc", null ], - [ "m_enableMotor", "classb2_wheel_joint.html#a46dae5c1e2630430ce7cf00dbccee8a1", null ], - [ "m_gamma", "classb2_wheel_joint.html#a100ac311e80aa5ff9b7064692acda4c3", null ], - [ "m_impulse", "classb2_wheel_joint.html#aa2c70a57ec23571116d6a52378121675", null ], - [ "m_indexA", "classb2_wheel_joint.html#a0924e1788c097b3b05eac9cd53d1d997", null ], - [ "m_indexB", "classb2_wheel_joint.html#a76d74ec2f2bf7c941076c0e224c2a9e9", null ], - [ "m_invIA", "classb2_wheel_joint.html#adf71e8d760c8b078f675721bad6c1eb2", null ], - [ "m_invIB", "classb2_wheel_joint.html#acda21e3ff328afdef91c73bb688057e5", null ], - [ "m_invMassA", "classb2_wheel_joint.html#ad621724a9029047eaca9258fd568c438", null ], - [ "m_invMassB", "classb2_wheel_joint.html#a456826f865e07f0e9598e7ed0e31eb2b", null ], - [ "m_localAnchorA", "classb2_wheel_joint.html#a9911353143312dc352928a80c63813c8", null ], - [ "m_localAnchorB", "classb2_wheel_joint.html#a1bc3fa1a0bad5eb2cc7b9962976c1d29", null ], - [ "m_localCenterA", "classb2_wheel_joint.html#a60c54ed81993fd710b9499f2d6bcc274", null ], - [ "m_localCenterB", "classb2_wheel_joint.html#a7631ce1cbb3b7f33d304eb87a5413277", null ], - [ "m_localXAxisA", "classb2_wheel_joint.html#ae1cadd777bdffbb726b15c438e081c21", null ], - [ "m_localYAxisA", "classb2_wheel_joint.html#a5e9566b969c24428d32ff2069d4180e3", null ], - [ "m_lowerImpulse", "classb2_wheel_joint.html#ac8f916664bc596fcf9389501296c19f5", null ], - [ "m_lowerTranslation", "classb2_wheel_joint.html#a60f41c5474bbbf5e9165a023bab3315d", null ], - [ "m_mass", "classb2_wheel_joint.html#a91fe65c9a973bbb487188ba616874e23", null ], - [ "m_maxMotorTorque", "classb2_wheel_joint.html#acb5b6c606d5e04594efa9b14d3f67e23", null ], - [ "m_motorImpulse", "classb2_wheel_joint.html#a65b0508273184d77f01aa74446f35cec", null ], - [ "m_motorMass", "classb2_wheel_joint.html#af32c68091dd11d62ef3d65d01a002be4", null ], - [ "m_motorSpeed", "classb2_wheel_joint.html#a9bee31a371d78f5a3626f284dd0ae2ee", null ], - [ "m_sAx", "classb2_wheel_joint.html#a01efd864e072ff5b1d83045dbeb8bb38", null ], - [ "m_sAy", "classb2_wheel_joint.html#a7e10d63cca94c7bc10a3c3bb0a349b07", null ], - [ "m_sBx", "classb2_wheel_joint.html#ae511a5d94cece34118045381d422a8d2", null ], - [ "m_sBy", "classb2_wheel_joint.html#a52e6a5058ad3ad2f3ed17ee8215fa0c3", null ], - [ "m_springImpulse", "classb2_wheel_joint.html#a7abe8ef5be5a93075fe70c22f02e864d", null ], - [ "m_springMass", "classb2_wheel_joint.html#ad6d3aea7a5ecbcc9b45aa93874a458cc", null ], - [ "m_stiffness", "classb2_wheel_joint.html#aa999e96246e90f28e21d3c6ce4910ce8", null ], - [ "m_translation", "classb2_wheel_joint.html#aa3d7baf130a0b05f527da341e07a21c0", null ], - [ "m_upperImpulse", "classb2_wheel_joint.html#a360b13cec7c327fadb419f24ad4773fa", null ], - [ "m_upperTranslation", "classb2_wheel_joint.html#afed11a00418da7f35060a40985a14651", null ] -]; \ No newline at end of file diff --git a/documentation/classb2_wheel_joint.png b/documentation/classb2_wheel_joint.png deleted file mode 100644 index f34fde2..0000000 Binary files a/documentation/classb2_wheel_joint.png and /dev/null differ diff --git a/documentation/classb2_world-members.html b/documentation/classb2_world-members.html deleted file mode 100644 index 4025b35..0000000 --- a/documentation/classb2_world-members.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2World Member List
-
-
- -

This is the complete list of members for b2World, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
b2Body (defined in b2World)b2Worldfriend
b2ContactManager (defined in b2World)b2Worldfriend
b2Controller (defined in b2World)b2Worldfriend
b2Fixture (defined in b2World)b2Worldfriend
b2World(const b2Vec2 &gravity)b2World
ClearForces()b2World
CreateBody(const b2BodyDef *def)b2World
CreateJoint(const b2JointDef *def)b2World
DebugDraw()b2World
DestroyBody(b2Body *body)b2World
DestroyJoint(b2Joint *joint)b2World
Dump()b2World
GetAllowSleeping() const (defined in b2World)b2Worldinline
GetAutoClearForces() constb2Worldinline
GetBodyCount() constb2Worldinline
GetBodyList()b2Worldinline
GetBodyList() const (defined in b2World)b2World
GetContactCount() constb2Worldinline
GetContactList()b2Worldinline
GetContactList() const (defined in b2World)b2World
GetContactManager() constb2Worldinline
GetContinuousPhysics() const (defined in b2World)b2Worldinline
GetGravity() constb2Worldinline
GetJointCount() constb2Worldinline
GetJointList()b2Worldinline
GetJointList() const (defined in b2World)b2World
GetProfile() constb2Worldinline
GetProxyCount() constb2World
GetSubStepping() const (defined in b2World)b2Worldinline
GetTreeBalance() constb2World
GetTreeHeight() constb2World
GetTreeQuality() constb2World
GetWarmStarting() const (defined in b2World)b2Worldinline
IsLocked() constb2Worldinline
QueryAABB(b2QueryCallback *callback, const b2AABB &aabb) constb2World
RayCast(b2RayCastCallback *callback, const b2Vec2 &point1, const b2Vec2 &point2) constb2World
SetAllowSleeping(bool flag)b2World
SetAutoClearForces(bool flag)b2Worldinline
SetContactFilter(b2ContactFilter *filter)b2World
SetContactListener(b2ContactListener *listener)b2World
SetContinuousPhysics(bool flag)b2Worldinline
SetDebugDraw(b2Draw *debugDraw)b2World
SetDestructionListener(b2DestructionListener *listener)b2World
SetGravity(const b2Vec2 &gravity)b2Worldinline
SetSubStepping(bool flag)b2Worldinline
SetWarmStarting(bool flag)b2Worldinline
ShiftOrigin(const b2Vec2 &newOrigin)b2World
Step(float timeStep, int32 velocityIterations, int32 positionIterations)b2World
~b2World()b2World
-
- - - - diff --git a/documentation/classb2_world.html b/documentation/classb2_world.html deleted file mode 100644 index d9a3d5b..0000000 --- a/documentation/classb2_world.html +++ /dev/null @@ -1,725 +0,0 @@ - - - - - - - -Box2D: b2World Class Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2World Class Reference
-
-
- -

#include <b2_world.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 b2World (const b2Vec2 &gravity)
 
~b2World ()
 Destruct the world. All physics entities are destroyed and all heap memory is released.
 
void SetDestructionListener (b2DestructionListener *listener)
 
void SetContactFilter (b2ContactFilter *filter)
 
void SetContactListener (b2ContactListener *listener)
 
void SetDebugDraw (b2Draw *debugDraw)
 
b2BodyCreateBody (const b2BodyDef *def)
 
void DestroyBody (b2Body *body)
 
b2JointCreateJoint (const b2JointDef *def)
 
void DestroyJoint (b2Joint *joint)
 
void Step (float timeStep, int32 velocityIterations, int32 positionIterations)
 
void ClearForces ()
 
-void DebugDraw ()
 Call this to draw shapes and other debug draw data. This is intentionally non-const.
 
void QueryAABB (b2QueryCallback *callback, const b2AABB &aabb) const
 
void RayCast (b2RayCastCallback *callback, const b2Vec2 &point1, const b2Vec2 &point2) const
 
b2BodyGetBodyList ()
 
-const b2BodyGetBodyList () const
 
b2JointGetJointList ()
 
-const b2JointGetJointList () const
 
b2ContactGetContactList ()
 
-const b2ContactGetContactList () const
 
-void SetAllowSleeping (bool flag)
 Enable/disable sleep.
 
-bool GetAllowSleeping () const
 
-void SetWarmStarting (bool flag)
 Enable/disable warm starting. For testing.
 
-bool GetWarmStarting () const
 
-void SetContinuousPhysics (bool flag)
 Enable/disable continuous physics. For testing.
 
-bool GetContinuousPhysics () const
 
-void SetSubStepping (bool flag)
 Enable/disable single stepped continuous physics. For testing.
 
-bool GetSubStepping () const
 
-int32 GetProxyCount () const
 Get the number of broad-phase proxies.
 
-int32 GetBodyCount () const
 Get the number of bodies.
 
-int32 GetJointCount () const
 Get the number of joints.
 
-int32 GetContactCount () const
 Get the number of contacts (each may have 0 or more contact points).
 
-int32 GetTreeHeight () const
 Get the height of the dynamic tree.
 
-int32 GetTreeBalance () const
 Get the balance of the dynamic tree.
 
float GetTreeQuality () const
 
-void SetGravity (const b2Vec2 &gravity)
 Change the global gravity vector.
 
-b2Vec2 GetGravity () const
 Get the global gravity vector.
 
-bool IsLocked () const
 Is the world locked (in the middle of a time step).
 
-void SetAutoClearForces (bool flag)
 Set flag to control automatic clearing of forces after each time step.
 
-bool GetAutoClearForces () const
 Get the flag that controls automatic clearing of forces after each time step.
 
void ShiftOrigin (const b2Vec2 &newOrigin)
 
-const b2ContactManagerGetContactManager () const
 Get the contact manager for testing.
 
-const b2ProfileGetProfile () const
 Get the current profile.
 
void Dump ()
 
- - - - - - - - - -

-Friends

-class b2Body
 
-class b2Fixture
 
-class b2ContactManager
 
-class b2Controller
 
-

Detailed Description

-

The world class manages all physics entities, dynamic simulation, and asynchronous queries. The world also contains efficient memory management facilities.

-

Constructor & Destructor Documentation

- -

◆ b2World()

- -
-
- - - - - - - - -
b2World::b2World (const b2Vec2gravity)
-
-

Construct a world object.

Parameters
- - -
gravitythe world gravity vector.
-
-
- -
-
-

Member Function Documentation

- -

◆ ClearForces()

- -
-
- - - - - - - -
void b2World::ClearForces ()
-
-

Manually clear the force buffer on all bodies. By default, forces are cleared automatically after each call to Step. The default behavior is modified by calling SetAutoClearForces. The purpose of this function is to support sub-stepping. Sub-stepping is often used to maintain a fixed sized time step under a variable frame-rate. When you perform sub-stepping you will disable auto clearing of forces and instead call ClearForces after all sub-steps are complete in one pass of your game loop.

See also
SetAutoClearForces
- -
-
- -

◆ CreateBody()

- -
-
- - - - - - - - -
b2Body* b2World::CreateBody (const b2BodyDefdef)
-
-

Create a rigid body given a definition. No reference to the definition is retained.

Warning
This function is locked during callbacks.
- -
-
- -

◆ CreateJoint()

- -
-
- - - - - - - - -
b2Joint* b2World::CreateJoint (const b2JointDefdef)
-
-

Create a joint to constrain bodies together. No reference to the definition is retained. This may cause the connected bodies to cease colliding.

Warning
This function is locked during callbacks.
- -
-
- -

◆ DestroyBody()

- -
-
- - - - - - - - -
void b2World::DestroyBody (b2Bodybody)
-
-

Destroy a rigid body given a definition. No reference to the definition is retained. This function is locked during callbacks.

Warning
This automatically deletes all associated shapes and joints.
-
-This function is locked during callbacks.
- -
-
- -

◆ DestroyJoint()

- -
-
- - - - - - - - -
void b2World::DestroyJoint (b2Jointjoint)
-
-

Destroy a joint. This may cause the connected bodies to begin colliding.

Warning
This function is locked during callbacks.
- -
-
- -

◆ Dump()

- -
-
- - - - - - - -
void b2World::Dump ()
-
-

Dump the world into the log file.

Warning
this should be called outside of a time step.
- -
-
- -

◆ GetBodyList()

- -
-
- - - - - -
- - - - - - - -
const b2Body * b2World::GetBodyList ()
-
-inline
-
-

Get the world body list. With the returned body, use b2Body::GetNext to get the next body in the world list. A nullptr body indicates the end of the list.

Returns
the head of the world body list.
- -
-
- -

◆ GetContactList()

- -
-
- - - - - -
- - - - - - - -
const b2Contact * b2World::GetContactList ()
-
-inline
-
-

Get the world contact list. With the returned contact, use b2Contact::GetNext to get the next contact in the world list. A nullptr contact indicates the end of the list.

Returns
the head of the world contact list.
-
Warning
contacts are created and destroyed in the middle of a time step. Use b2ContactListener to avoid missing contacts.
- -
-
- -

◆ GetJointList()

- -
-
- - - - - -
- - - - - - - -
const b2Joint * b2World::GetJointList ()
-
-inline
-
-

Get the world joint list. With the returned joint, use b2Joint::GetNext to get the next joint in the world list. A nullptr joint indicates the end of the list.

Returns
the head of the world joint list.
- -
-
- -

◆ GetTreeQuality()

- -
-
- - - - - - - -
float b2World::GetTreeQuality () const
-
-

Get the quality metric of the dynamic tree. The smaller the better. The minimum is 1.

- -
-
- -

◆ QueryAABB()

- -
-
- - - - - - - - - - - - - - - - - - -
void b2World::QueryAABB (b2QueryCallbackcallback,
const b2AABBaabb 
) const
-
-

Query the world for all fixtures that potentially overlap the provided AABB.

Parameters
- - - -
callbacka user implemented callback class.
aabbthe query box.
-
-
- -
-
- -

◆ RayCast()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2World::RayCast (b2RayCastCallbackcallback,
const b2Vec2point1,
const b2Vec2point2 
) const
-
-

Ray-cast the world for all fixtures in the path of the ray. Your callback controls whether you get the closest point, any point, or n-points. The ray-cast ignores shapes that contain the starting point.

Parameters
- - - - -
callbacka user implemented callback class.
point1the ray starting point
point2the ray ending point
-
-
- -
-
- -

◆ SetContactFilter()

- -
-
- - - - - - - - -
void b2World::SetContactFilter (b2ContactFilterfilter)
-
-

Register a contact filter to provide specific control over collision. Otherwise the default filter is used (b2_defaultFilter). The listener is owned by you and must remain in scope.

- -
-
- -

◆ SetContactListener()

- -
-
- - - - - - - - -
void b2World::SetContactListener (b2ContactListenerlistener)
-
-

Register a contact event listener. The listener is owned by you and must remain in scope.

- -
-
- -

◆ SetDebugDraw()

- -
-
- - - - - - - - -
void b2World::SetDebugDraw (b2DrawdebugDraw)
-
-

Register a routine for debug drawing. The debug draw functions are called inside with b2World::DebugDraw method. The debug draw object is owned by you and must remain in scope.

- -
-
- -

◆ SetDestructionListener()

- -
-
- - - - - - - - -
void b2World::SetDestructionListener (b2DestructionListenerlistener)
-
-

Register a destruction listener. The listener is owned by you and must remain in scope.

- -
-
- -

◆ ShiftOrigin()

- -
-
- - - - - - - - -
void b2World::ShiftOrigin (const b2Vec2newOrigin)
-
-

Shift the world origin. Useful for large worlds. The body shift formula is: position -= newOrigin

Parameters
- - -
newOriginthe new origin with respect to the old origin
-
-
- -
-
- -

◆ Step()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2World::Step (float timeStep,
int32 velocityIterations,
int32 positionIterations 
)
-
-

Take a time step. This performs collision detection, integration, and constraint solution.

Parameters
- - - - -
timeStepthe amount of time to simulate, this should not vary.
velocityIterationsfor the velocity constraint solver.
positionIterationsfor the position constraint solver.
-
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - - diff --git a/documentation/classb2_world.js b/documentation/classb2_world.js deleted file mode 100644 index aa1851b..0000000 --- a/documentation/classb2_world.js +++ /dev/null @@ -1,52 +0,0 @@ -var classb2_world = -[ - [ "b2World", "classb2_world.html#aeccc87fd9e36702c821a8244ca7cd875", null ], - [ "~b2World", "classb2_world.html#a5250ae4487475c33ccefdead07c768c8", null ], - [ "ClearForces", "classb2_world.html#ac082ab4c4ad0b1c5ec4674315eeec643", null ], - [ "CreateBody", "classb2_world.html#a9323d553e4c132b26d8741b457d7c034", null ], - [ "CreateJoint", "classb2_world.html#a8a408c367fe133530f3e577c667d1efd", null ], - [ "DebugDraw", "classb2_world.html#aa4a3a2958e46bfe9deb78a9dcd425f05", null ], - [ "DestroyBody", "classb2_world.html#ad52231ad7a9556ef5735ac79cbcd8fcf", null ], - [ "DestroyJoint", "classb2_world.html#add5942aef171e54cfa384c8975746dca", null ], - [ "Dump", "classb2_world.html#a73c1fec260d460514edd335d4c235893", null ], - [ "GetAllowSleeping", "classb2_world.html#a3d7ce9b87a54fb4f84433f6223d81175", null ], - [ "GetAutoClearForces", "classb2_world.html#ae1fa8272edf37a4e2a7be08f6e0a8cc6", null ], - [ "GetBodyCount", "classb2_world.html#a41c8b37baf5165c06932e8f08eb758de", null ], - [ "GetBodyList", "classb2_world.html#aed0f868df48cb46342fa19e62d9bc00d", null ], - [ "GetBodyList", "classb2_world.html#a8033d2e069bfe34ce1e385955e99a695", null ], - [ "GetContactCount", "classb2_world.html#aa47375fc3ca9f09d0350c61cfeabcee9", null ], - [ "GetContactList", "classb2_world.html#aee1a9c154690729a62774bde656bfc74", null ], - [ "GetContactList", "classb2_world.html#a06ab0b6ea2e1786954001639e7fda2bc", null ], - [ "GetContactManager", "classb2_world.html#a3d321151cd851d39bdc8fe52a5be426c", null ], - [ "GetContinuousPhysics", "classb2_world.html#afec853cfec7a8bbffc20d4acc99963e7", null ], - [ "GetGravity", "classb2_world.html#abd41cdde8eaa3d1c58d2f00eaf688ec3", null ], - [ "GetJointCount", "classb2_world.html#a98bd6ca53dbc376f210beced33901934", null ], - [ "GetJointList", "classb2_world.html#af4cc9c1787e8d540a7497fa45669e3cd", null ], - [ "GetJointList", "classb2_world.html#ab1ea85a2a61befbbb17fe762475cedf9", null ], - [ "GetProfile", "classb2_world.html#aec4fb0a888e69e0db7f37a4921761711", null ], - [ "GetProxyCount", "classb2_world.html#a088742d580bfc42531790ea8747bb8f8", null ], - [ "GetSubStepping", "classb2_world.html#aa41f23e3e12f82ce229ce644ecdac28b", null ], - [ "GetTreeBalance", "classb2_world.html#aaca027331f06d93d978b44e065873f80", null ], - [ "GetTreeHeight", "classb2_world.html#abc99b2beb6ba79ac6c80f33bac264b52", null ], - [ "GetTreeQuality", "classb2_world.html#a86edb8ba7c800b57977227d8ed5406cb", null ], - [ "GetWarmStarting", "classb2_world.html#af23e93dbf44ebfc3c7ce9dfdc00b8ff7", null ], - [ "IsLocked", "classb2_world.html#a71ca09a3082945a7e77f3f39fb021237", null ], - [ "QueryAABB", "classb2_world.html#ad169fae775be1e1f16386f7587786fa8", null ], - [ "RayCast", "classb2_world.html#aa9955d94a254253997daaf16ce77bab6", null ], - [ "SetAllowSleeping", "classb2_world.html#a6755872564fc3db70c69d2b9d349fa33", null ], - [ "SetAutoClearForces", "classb2_world.html#aa2bced28ddef5bbb00ed5666e5e9f620", null ], - [ "SetContactFilter", "classb2_world.html#a85e6e1e911c7d6366f8c7d57a12b72ff", null ], - [ "SetContactListener", "classb2_world.html#a614549967fb8a1584b61c11e2d553d42", null ], - [ "SetContinuousPhysics", "classb2_world.html#a536dd9181c2e20096073e3cfe2c8530a", null ], - [ "SetDebugDraw", "classb2_world.html#a6976d2c67400df03c0d44174ffcfb7ee", null ], - [ "SetDestructionListener", "classb2_world.html#ae377f2dd5512ada7d27f4ad3541c75bf", null ], - [ "SetGravity", "classb2_world.html#aeafa43d6580e1dddb0675e672ca2375c", null ], - [ "SetSubStepping", "classb2_world.html#ae8aacc78ea4753075067daff51b61778", null ], - [ "SetWarmStarting", "classb2_world.html#a8e8c12142e8c4884a18787926a261359", null ], - [ "ShiftOrigin", "classb2_world.html#afc33e20e64252c5be115216051408047", null ], - [ "Step", "classb2_world.html#a82c081319af9a47e282dde807e4cd7b8", null ], - [ "b2Body", "classb2_world.html#a010ab52de250e5fe30a45d642f46405b", null ], - [ "b2ContactManager", "classb2_world.html#aece264d42f69aed410f5eb3beba6ddf2", null ], - [ "b2Controller", "classb2_world.html#ad0171f9dac44cc7aae065c618c0d165b", null ], - [ "b2Fixture", "classb2_world.html#afb35b0e61f6ee3cc516c40ea251f3236", null ] -]; \ No newline at end of file diff --git a/documentation/classes.html b/documentation/classes.html index 513bdaa..ccd3fca 100644 --- a/documentation/classes.html +++ b/documentation/classes.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/collision_8h_source.html b/documentation/collision_8h_source.html index 3fb7bfb..5276765 100644 --- a/documentation/collision_8h_source.html +++ b/documentation/collision_8h_source.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/convex_concave.gif b/documentation/convex_concave.gif deleted file mode 100644 index feefdf0..0000000 Binary files a/documentation/convex_concave.gif and /dev/null differ diff --git a/documentation/debug_draw.png b/documentation/debug_draw.png deleted file mode 100644 index 8b4d56f..0000000 Binary files a/documentation/debug_draw.png and /dev/null differ diff --git a/documentation/dir_49e56c817e5e54854c35e136979f97ca.html b/documentation/dir_49e56c817e5e54854c35e136979f97ca.html deleted file mode 100644 index 127b9a4..0000000 --- a/documentation/dir_49e56c817e5e54854c35e136979f97ca.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Box2D: D:/GitHub/box2d/docs Directory Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
docs Directory Reference
-
-
-
-
- - - - diff --git a/documentation/dir_91a7119247d4f5b2b45acab156855f16.html b/documentation/dir_91a7119247d4f5b2b45acab156855f16.html index 382ed59..66a5395 100644 --- a/documentation/dir_91a7119247d4f5b2b45acab156855f16.html +++ b/documentation/dir_91a7119247d4f5b2b45acab156855f16.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/dir_d44c64559bbebec7f509842c48db8b23.html b/documentation/dir_d44c64559bbebec7f509842c48db8b23.html index a1f8a16..562255b 100644 --- a/documentation/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/documentation/dir_d44c64559bbebec7f509842c48db8b23.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/distance_joint.gif b/documentation/distance_joint.gif deleted file mode 100644 index 3fd44a4..0000000 Binary files a/documentation/distance_joint.gif and /dev/null differ diff --git a/documentation/doc.png b/documentation/doc.png deleted file mode 100644 index 17edabf..0000000 Binary files a/documentation/doc.png and /dev/null differ diff --git a/documentation/doxygen.png b/documentation/doxygen.png deleted file mode 100644 index 3ff17d8..0000000 Binary files a/documentation/doxygen.png and /dev/null differ diff --git a/documentation/files.html b/documentation/files.html index b42ca7d..6709d85 100644 --- a/documentation/files.html +++ b/documentation/files.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/folderclosed.png b/documentation/folderclosed.png deleted file mode 100644 index bb8ab35..0000000 Binary files a/documentation/folderclosed.png and /dev/null differ diff --git a/documentation/folderopen.png b/documentation/folderopen.png deleted file mode 100644 index d6c7f67..0000000 Binary files a/documentation/folderopen.png and /dev/null differ diff --git a/documentation/functions.html b/documentation/functions.html index 7185826..5bb40d4 100644 --- a/documentation/functions.html +++ b/documentation/functions.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_b.html b/documentation/functions_b.html index 4513f11..a3d0914 100644 --- a/documentation/functions_b.html +++ b/documentation/functions_b.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_c.html b/documentation/functions_c.html index 80a8c96..bdd1db0 100644 --- a/documentation/functions_c.html +++ b/documentation/functions_c.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_d.html b/documentation/functions_d.html index 84e628d..fc6d1f7 100644 --- a/documentation/functions_d.html +++ b/documentation/functions_d.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_e.html b/documentation/functions_e.html index 834fcb9..1d59c80 100644 --- a/documentation/functions_e.html +++ b/documentation/functions_e.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_eval.html b/documentation/functions_eval.html deleted file mode 100644 index 6c0f364..0000000 --- a/documentation/functions_eval.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Box2D: Class Members - Enumerator - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/documentation/functions_f.html b/documentation/functions_f.html index 002173c..04816c2 100644 --- a/documentation/functions_f.html +++ b/documentation/functions_f.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_func.html b/documentation/functions_func.html deleted file mode 100644 index 8bee96e..0000000 --- a/documentation/functions_func.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- a -

-
-
- - - - diff --git a/documentation/functions_func.js b/documentation/functions_func.js deleted file mode 100644 index cd75c57..0000000 --- a/documentation/functions_func.js +++ /dev/null @@ -1,23 +0,0 @@ -var functions_func = -[ - [ "a", "functions_func.html", null ], - [ "b", "functions_func_b.html", null ], - [ "c", "functions_func_c.html", null ], - [ "d", "functions_func_d.html", null ], - [ "e", "functions_func_e.html", null ], - [ "f", "functions_func_f.html", null ], - [ "g", "functions_func_g.html", null ], - [ "i", "functions_func_i.html", null ], - [ "l", "functions_func_l.html", null ], - [ "m", "functions_func_m.html", null ], - [ "n", "functions_func_n.html", null ], - [ "o", "functions_func_o.html", null ], - [ "p", "functions_func_p.html", null ], - [ "q", "functions_func_q.html", null ], - [ "r", "functions_func_r.html", null ], - [ "s", "functions_func_s.html", null ], - [ "t", "functions_func_t.html", null ], - [ "u", "functions_func_u.html", null ], - [ "v", "functions_func_v.html", null ], - [ "~", "functions_func_~.html", null ] -]; \ No newline at end of file diff --git a/documentation/functions_func_b.html b/documentation/functions_func_b.html deleted file mode 100644 index 6811dee..0000000 --- a/documentation/functions_func_b.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- b -

-
-
- - - - diff --git a/documentation/functions_func_c.html b/documentation/functions_func_c.html deleted file mode 100644 index 0e80c63..0000000 --- a/documentation/functions_func_c.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- c -

-
-
- - - - diff --git a/documentation/functions_func_d.html b/documentation/functions_func_d.html deleted file mode 100644 index 92c8d92..0000000 --- a/documentation/functions_func_d.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- d -

-
-
- - - - diff --git a/documentation/functions_func_e.html b/documentation/functions_func_e.html deleted file mode 100644 index 29065b5..0000000 --- a/documentation/functions_func_e.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- e -

-
-
- - - - diff --git a/documentation/functions_func_f.html b/documentation/functions_func_f.html deleted file mode 100644 index d875bb0..0000000 --- a/documentation/functions_func_f.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- f -

-
-
- - - - diff --git a/documentation/functions_func_g.html b/documentation/functions_func_g.html deleted file mode 100644 index a8a3d16..0000000 --- a/documentation/functions_func_g.html +++ /dev/null @@ -1,522 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- g -

-
-
- - - - diff --git a/documentation/functions_func_i.html b/documentation/functions_func_i.html deleted file mode 100644 index 4c6963a..0000000 --- a/documentation/functions_func_i.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- i -

-
-
- - - - diff --git a/documentation/functions_func_l.html b/documentation/functions_func_l.html deleted file mode 100644 index e6a49ed..0000000 --- a/documentation/functions_func_l.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- l -

-
-
- - - - diff --git a/documentation/functions_func_m.html b/documentation/functions_func_m.html deleted file mode 100644 index 542e719..0000000 --- a/documentation/functions_func_m.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- m -

-
-
- - - - diff --git a/documentation/functions_func_n.html b/documentation/functions_func_n.html deleted file mode 100644 index 7d02770..0000000 --- a/documentation/functions_func_n.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- n -

-
-
- - - - diff --git a/documentation/functions_func_o.html b/documentation/functions_func_o.html deleted file mode 100644 index 2384102..0000000 --- a/documentation/functions_func_o.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- o -

-
-
- - - - diff --git a/documentation/functions_func_p.html b/documentation/functions_func_p.html deleted file mode 100644 index 0e679b7..0000000 --- a/documentation/functions_func_p.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- p -

-
-
- - - - diff --git a/documentation/functions_func_q.html b/documentation/functions_func_q.html deleted file mode 100644 index 49aca49..0000000 --- a/documentation/functions_func_q.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- q -

-
-
- - - - diff --git a/documentation/functions_func_r.html b/documentation/functions_func_r.html deleted file mode 100644 index 99650e3..0000000 --- a/documentation/functions_func_r.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- r -

-
-
- - - - diff --git a/documentation/functions_func_s.html b/documentation/functions_func_s.html deleted file mode 100644 index 91d9c82..0000000 --- a/documentation/functions_func_s.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- s -

-
-
- - - - diff --git a/documentation/functions_func_t.html b/documentation/functions_func_t.html deleted file mode 100644 index 34fb204..0000000 --- a/documentation/functions_func_t.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- t -

-
-
- - - - diff --git a/documentation/functions_func_u.html b/documentation/functions_func_u.html deleted file mode 100644 index 0800419..0000000 --- a/documentation/functions_func_u.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- u -

-
-
- - - - diff --git a/documentation/functions_func_v.html b/documentation/functions_func_v.html deleted file mode 100644 index 73b7a61..0000000 --- a/documentation/functions_func_v.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- v -

-
-
- - - - diff --git a/documentation/functions_func_~.html b/documentation/functions_func_~.html deleted file mode 100644 index a7d42aa..0000000 --- a/documentation/functions_func_~.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Box2D: Class Members - Functions - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- ~ -

-
-
- - - - diff --git a/documentation/functions_g.html b/documentation/functions_g.html index f84a4ef..16fb1b7 100644 --- a/documentation/functions_g.html +++ b/documentation/functions_g.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_h.html b/documentation/functions_h.html index f0f0009..cb6cd47 100644 --- a/documentation/functions_h.html +++ b/documentation/functions_h.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_i.html b/documentation/functions_i.html index 53163be..8eb7cbd 100644 --- a/documentation/functions_i.html +++ b/documentation/functions_i.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_j.html b/documentation/functions_j.html index dbe07dd..cd4834a 100644 --- a/documentation/functions_j.html +++ b/documentation/functions_j.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_k.html b/documentation/functions_k.html deleted file mode 100644 index 89db0aa..0000000 --- a/documentation/functions_k.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Box2D: Class Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- k -

-
-
- - - - diff --git a/documentation/functions_l.html b/documentation/functions_l.html index 8a9d67e..de01a45 100644 --- a/documentation/functions_l.html +++ b/documentation/functions_l.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_m.html b/documentation/functions_m.html index 95484d8..f161e9a 100644 --- a/documentation/functions_m.html +++ b/documentation/functions_m.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_n.html b/documentation/functions_n.html index dd3398d..a7fb506 100644 --- a/documentation/functions_n.html +++ b/documentation/functions_n.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_o.html b/documentation/functions_o.html index cb5ee6b..e411245 100644 --- a/documentation/functions_o.html +++ b/documentation/functions_o.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_p.html b/documentation/functions_p.html index 5b2cee8..bd76dc6 100644 --- a/documentation/functions_p.html +++ b/documentation/functions_p.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_q.html b/documentation/functions_q.html index 78c3004..4b71bb7 100644 --- a/documentation/functions_q.html +++ b/documentation/functions_q.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_r.html b/documentation/functions_r.html index 090e750..04ff3b9 100644 --- a/documentation/functions_r.html +++ b/documentation/functions_r.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_s.html b/documentation/functions_s.html index e5152e5..72b3804 100644 --- a/documentation/functions_s.html +++ b/documentation/functions_s.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_t.html b/documentation/functions_t.html index 11a33af..20bbad3 100644 --- a/documentation/functions_t.html +++ b/documentation/functions_t.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_u.html b/documentation/functions_u.html index e214b76..13f6c15 100644 --- a/documentation/functions_u.html +++ b/documentation/functions_u.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_v.html b/documentation/functions_v.html index dd05426..137bd48 100644 --- a/documentation/functions_v.html +++ b/documentation/functions_v.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars.html b/documentation/functions_vars.html index a751938..6fa8c9f 100644 --- a/documentation/functions_vars.html +++ b/documentation/functions_vars.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_b.html b/documentation/functions_vars_b.html index 2df3a8c..4ff801b 100644 --- a/documentation/functions_vars_b.html +++ b/documentation/functions_vars_b.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_c.html b/documentation/functions_vars_c.html index 73cd4ca..167a129 100644 --- a/documentation/functions_vars_c.html +++ b/documentation/functions_vars_c.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_d.html b/documentation/functions_vars_d.html index 8f3d52e..da2bbf1 100644 --- a/documentation/functions_vars_d.html +++ b/documentation/functions_vars_d.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_e.html b/documentation/functions_vars_e.html index 295aa88..455f4ae 100644 --- a/documentation/functions_vars_e.html +++ b/documentation/functions_vars_e.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_f.html b/documentation/functions_vars_f.html index 2d7a619..fc113ab 100644 --- a/documentation/functions_vars_f.html +++ b/documentation/functions_vars_f.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_g.html b/documentation/functions_vars_g.html index 1fb330d..35c2878 100644 --- a/documentation/functions_vars_g.html +++ b/documentation/functions_vars_g.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_h.html b/documentation/functions_vars_h.html index 122bebd..76ecaf3 100644 --- a/documentation/functions_vars_h.html +++ b/documentation/functions_vars_h.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_i.html b/documentation/functions_vars_i.html index ebb754c..4f8daf5 100644 --- a/documentation/functions_vars_i.html +++ b/documentation/functions_vars_i.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_j.html b/documentation/functions_vars_j.html index 39e3f3c..7ac5c16 100644 --- a/documentation/functions_vars_j.html +++ b/documentation/functions_vars_j.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_l.html b/documentation/functions_vars_l.html index fbdb056..958b150 100644 --- a/documentation/functions_vars_l.html +++ b/documentation/functions_vars_l.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_m.html b/documentation/functions_vars_m.html index 384e46e..a7a983a 100644 --- a/documentation/functions_vars_m.html +++ b/documentation/functions_vars_m.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_n.html b/documentation/functions_vars_n.html index dd56a50..b5dc716 100644 --- a/documentation/functions_vars_n.html +++ b/documentation/functions_vars_n.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_o.html b/documentation/functions_vars_o.html index 95d731d..25c04fa 100644 --- a/documentation/functions_vars_o.html +++ b/documentation/functions_vars_o.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_p.html b/documentation/functions_vars_p.html index d46284f..636f4d6 100644 --- a/documentation/functions_vars_p.html +++ b/documentation/functions_vars_p.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_q.html b/documentation/functions_vars_q.html index 52a6b17..65d6d95 100644 --- a/documentation/functions_vars_q.html +++ b/documentation/functions_vars_q.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_r.html b/documentation/functions_vars_r.html index 20afe89..ffdc5a2 100644 --- a/documentation/functions_vars_r.html +++ b/documentation/functions_vars_r.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_s.html b/documentation/functions_vars_s.html index 0bb047a..8f306f6 100644 --- a/documentation/functions_vars_s.html +++ b/documentation/functions_vars_s.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_t.html b/documentation/functions_vars_t.html index a4f6e59..a49a571 100644 --- a/documentation/functions_vars_t.html +++ b/documentation/functions_vars_t.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_u.html b/documentation/functions_vars_u.html index c172c7a..bdda70b 100644 --- a/documentation/functions_vars_u.html +++ b/documentation/functions_vars_u.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_v.html b/documentation/functions_vars_v.html index ebfc142..0a141cd 100644 --- a/documentation/functions_vars_v.html +++ b/documentation/functions_vars_v.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_w.html b/documentation/functions_vars_w.html index f18708e..602ef2f 100644 --- a/documentation/functions_vars_w.html +++ b/documentation/functions_vars_w.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_vars_x.html b/documentation/functions_vars_x.html index d5067c6..cfead1b 100644 --- a/documentation/functions_vars_x.html +++ b/documentation/functions_vars_x.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_w.html b/documentation/functions_w.html index d5a97a6..4abcab3 100644 --- a/documentation/functions_w.html +++ b/documentation/functions_w.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_x.html b/documentation/functions_x.html index bee6098..4f6674f 100644 --- a/documentation/functions_x.html +++ b/documentation/functions_x.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/functions_~.html b/documentation/functions_~.html deleted file mode 100644 index e22c745..0000000 --- a/documentation/functions_~.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Box2D: Class Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- ~ -

-
-
- - - - diff --git a/documentation/gear_joint.gif b/documentation/gear_joint.gif deleted file mode 100644 index 9737d7d..0000000 Binary files a/documentation/gear_joint.gif and /dev/null differ diff --git a/documentation/globals.html b/documentation/globals.html deleted file mode 100644 index 7ccdacc..0000000 --- a/documentation/globals.html +++ /dev/null @@ -1,217 +0,0 @@ - - - - - - - -Box2D: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all documented file members with links to the documentation:
- -

- b -

-
-
- - - - diff --git a/documentation/globals_defs.html b/documentation/globals_defs.html deleted file mode 100644 index c5a91ae..0000000 --- a/documentation/globals_defs.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - - -Box2D: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/documentation/globals_enum.html b/documentation/globals_enum.html deleted file mode 100644 index 834e36b..0000000 --- a/documentation/globals_enum.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Box2D: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/documentation/globals_eval.html b/documentation/globals_eval.html deleted file mode 100644 index a078e18..0000000 --- a/documentation/globals_eval.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Box2D: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/documentation/globals_func.html b/documentation/globals_func.html deleted file mode 100644 index e1ce407..0000000 --- a/documentation/globals_func.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -Box2D: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/documentation/globals_vars.html b/documentation/globals_vars.html deleted file mode 100644 index 6779413..0000000 --- a/documentation/globals_vars.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - -Box2D: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/documentation/graph_legend.html b/documentation/graph_legend.html index 44ec1de..16c34e1 100644 --- a/documentation/graph_legend.html +++ b/documentation/graph_legend.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__base.html b/documentation/group__base.html index b16dff4..b5b9f4a 100644 --- a/documentation/group__base.html +++ b/documentation/group__base.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__body.html b/documentation/group__body.html index 573bb37..fa58049 100644 --- a/documentation/group__body.html +++ b/documentation/group__body.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__collision.html b/documentation/group__collision.html index 1bc1202..9280b94 100644 --- a/documentation/group__collision.html +++ b/documentation/group__collision.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__distance.html b/documentation/group__distance.html index 7c9c255..2702e82 100644 --- a/documentation/group__distance.html +++ b/documentation/group__distance.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__distance__joint.html b/documentation/group__distance__joint.html index 79c1859..f52c3f0 100644 --- a/documentation/group__distance__joint.html +++ b/documentation/group__distance__joint.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__events.html b/documentation/group__events.html index c13ecfb..5e13b29 100644 --- a/documentation/group__events.html +++ b/documentation/group__events.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__geometry.html b/documentation/group__geometry.html index 207bb95..b5afbc1 100644 --- a/documentation/group__geometry.html +++ b/documentation/group__geometry.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__id.html b/documentation/group__id.html index ca9a999..463c4a5 100644 --- a/documentation/group__id.html +++ b/documentation/group__id.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__joint.html b/documentation/group__joint.html index 12f0163..8dac745 100644 --- a/documentation/group__joint.html +++ b/documentation/group__joint.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__math.html b/documentation/group__math.html index bd0c511..29862de 100644 --- a/documentation/group__math.html +++ b/documentation/group__math.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__math__cpp.html b/documentation/group__math__cpp.html index 10d1664..462c563 100644 --- a/documentation/group__math__cpp.html +++ b/documentation/group__math__cpp.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__motor__joint.html b/documentation/group__motor__joint.html index d32c05b..c390d5a 100644 --- a/documentation/group__motor__joint.html +++ b/documentation/group__motor__joint.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__mouse__joint.html b/documentation/group__mouse__joint.html index c6ad32c..dfb4001 100644 --- a/documentation/group__mouse__joint.html +++ b/documentation/group__mouse__joint.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__prismatic__joint.html b/documentation/group__prismatic__joint.html index b51a361..b272190 100644 --- a/documentation/group__prismatic__joint.html +++ b/documentation/group__prismatic__joint.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__revolute__joint.html b/documentation/group__revolute__joint.html index 1232771..9734c15 100644 --- a/documentation/group__revolute__joint.html +++ b/documentation/group__revolute__joint.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__shape.html b/documentation/group__shape.html index 65d95e3..47c6106 100644 --- a/documentation/group__shape.html +++ b/documentation/group__shape.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
@@ -492,7 +492,7 @@

χ forceContactCreation -Normally shapes on static bodies don't invoke contact creation when they are added to the world.

This overrides that behavior and causes contact creation. This significantly slows down static body creation which can be important when there are many static shapes.

+Normally shapes on static bodies don't invoke contact creation when they are added to the world.

This overrides that behavior and causes contact creation. This significantly slows down static body creation which can be important when there are many static shapes. This is implicitly always true for sensors.

float diff --git a/documentation/group__tree.html b/documentation/group__tree.html index 2deb7c0..8780109 100644 --- a/documentation/group__tree.html +++ b/documentation/group__tree.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__weld__joint.html b/documentation/group__weld__joint.html index d2d07b8..d897c37 100644 --- a/documentation/group__weld__joint.html +++ b/documentation/group__weld__joint.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__wheel__joint.html b/documentation/group__wheel__joint.html index b45e18b..62c9f21 100644 --- a/documentation/group__wheel__joint.html +++ b/documentation/group__wheel__joint.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/group__world.html b/documentation/group__world.html index cc97e1d..5b6182d 100644 --- a/documentation/group__world.html +++ b/documentation/group__world.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/hello.html b/documentation/hello.html index 07daf29..35e2473 100644 --- a/documentation/hello.html +++ b/documentation/hello.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/hierarchy.html b/documentation/hierarchy.html deleted file mode 100644 index a3523b0..0000000 --- a/documentation/hierarchy.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - -Box2D: Class Hierarchy - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Class Hierarchy
-
-
-
This inheritance list is sorted roughly, but not completely, alphabetically:
-
[detail level 12]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Cb2AABBAn axis aligned bounding box
 Cb2BlockAllocator
 Cb2BodyA rigid body. These are created via b2World::CreateBody
 Cb2BodyDef
 Cb2BodyUserDataYou can define this to inject whatever data you want in b2Body
 Cb2BroadPhase
 Cb2ClipVertexUsed for computing contact manifolds
 Cb2ColorColor for debug drawing. Each value has the range [0,1]
 Cb2Contact
 Cb2ContactEdge
 Cb2ContactFeature
 Cb2ContactFilter
 Cb2ContactIDContact ids to facilitate warm starting
 Cb2ContactImpulse
 Cb2ContactListener
 Cb2ContactManager
 Cb2ContactRegister
 Cb2DestructionListener
 Cb2DistanceInput
 Cb2DistanceOutputOutput for b2Distance
 Cb2DistanceProxy
 Cb2Draw
 Cb2DynamicTree
 Cb2FilterThis holds contact filtering data
 Cb2Fixture
 Cb2FixtureDef
 Cb2FixtureProxyThis proxy is used internally to connect fixtures to the broad-phase
 Cb2FixtureUserDataYou can define this to inject whatever data you want in b2Fixture
 Cb2GrowableStack< T, N >
 Cb2Jacobian
 Cb2Joint
 Cb2DistanceJoint
 Cb2FrictionJoint
 Cb2GearJoint
 Cb2MotorJoint
 Cb2MouseJoint
 Cb2PrismaticJoint
 Cb2PulleyJoint
 Cb2RevoluteJoint
 Cb2WeldJoint
 Cb2WheelJoint
 Cb2JointDefJoint definitions are used to construct joints
 Cb2DistanceJointDef
 Cb2FrictionJointDefFriction joint definition
 Cb2GearJointDef
 Cb2MotorJointDefMotor joint definition
 Cb2MouseJointDef
 Cb2PrismaticJointDef
 Cb2PulleyJointDef
 Cb2RevoluteJointDef
 Cb2WeldJointDef
 Cb2WheelJointDef
 Cb2JointEdge
 Cb2JointUserDataYou can define this to inject whatever data you want in b2Joint
 Cb2Manifold
 Cb2ManifoldPoint
 Cb2MassDataThis holds the mass data computed for a shape
 Cb2Mat22A 2-by-2 matrix. Stored in column-major order
 Cb2Mat33A 3-by-3 matrix. Stored in column-major order
 Cb2Pair
 Cb2PositionThis is an internal structure
 Cb2ProfileProfiling data. Times are in milliseconds
 Cb2QueryCallback
 Cb2RayCastCallback
 Cb2RayCastInputRay-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1)
 Cb2RayCastOutput
 Cb2Rope
 Cb2RopeDef
 Cb2RopeTuning
 Cb2RotRotation
 Cb2Shape
 Cb2ChainShape
 Cb2CircleShapeA solid circle shape
 Cb2EdgeShape
 Cb2PolygonShape
 Cb2ShapeCastInputInput parameters for b2ShapeCast
 Cb2ShapeCastOutputOutput results for b2ShapeCast
 Cb2SimplexCache
 Cb2SolverDataSolver Data
 Cb2StackAllocator
 Cb2StackEntry
 Cb2Sweep
 Cb2Timer
 Cb2TimeStepThis is an internal structure
 Cb2TOIInputInput parameters for b2TimeOfImpact
 Cb2TOIOutputOutput parameters for b2TimeOfImpact
 Cb2Transform
 Cb2TreeNodeA node in the dynamic tree. The client does not interact with this directly
 Cb2Vec2A 2D column vector
 Cb2Vec3A 2D column vector with 3 elements
 Cb2VelocityThis is an internal structure
 Cb2Version
 Cb2World
 Cb2WorldManifoldThis is used to compute the current state of a contact manifold
-
-
-
- - - - diff --git a/documentation/hierarchy.js b/documentation/hierarchy.js deleted file mode 100644 index 0fd9656..0000000 --- a/documentation/hierarchy.js +++ /dev/null @@ -1,100 +0,0 @@ -var hierarchy = -[ - [ "b2AABB", "structb2_a_a_b_b.html", null ], - [ "b2BlockAllocator", "classb2_block_allocator.html", null ], - [ "b2Body", "classb2_body.html", null ], - [ "b2BodyDef", "structb2_body_def.html", null ], - [ "b2BodyUserData", "structb2_body_user_data.html", null ], - [ "b2BroadPhase", "classb2_broad_phase.html", null ], - [ "b2ClipVertex", "structb2_clip_vertex.html", null ], - [ "b2Color", "structb2_color.html", null ], - [ "b2Contact", "classb2_contact.html", null ], - [ "b2ContactEdge", "structb2_contact_edge.html", null ], - [ "b2ContactFeature", "structb2_contact_feature.html", null ], - [ "b2ContactFilter", "classb2_contact_filter.html", null ], - [ "b2ContactID", "unionb2_contact_i_d.html", null ], - [ "b2ContactImpulse", "structb2_contact_impulse.html", null ], - [ "b2ContactListener", "classb2_contact_listener.html", null ], - [ "b2ContactManager", "classb2_contact_manager.html", null ], - [ "b2ContactRegister", "structb2_contact_register.html", null ], - [ "b2DestructionListener", "classb2_destruction_listener.html", null ], - [ "b2DistanceInput", "structb2_distance_input.html", null ], - [ "b2DistanceOutput", "structb2_distance_output.html", null ], - [ "b2DistanceProxy", "structb2_distance_proxy.html", null ], - [ "b2Draw", "classb2_draw.html", null ], - [ "b2DynamicTree", "classb2_dynamic_tree.html", null ], - [ "b2Filter", "structb2_filter.html", null ], - [ "b2Fixture", "classb2_fixture.html", null ], - [ "b2FixtureDef", "structb2_fixture_def.html", null ], - [ "b2FixtureProxy", "structb2_fixture_proxy.html", null ], - [ "b2FixtureUserData", "structb2_fixture_user_data.html", null ], - [ "b2GrowableStack< T, N >", "classb2_growable_stack.html", null ], - [ "b2Jacobian", "structb2_jacobian.html", null ], - [ "b2Joint", "classb2_joint.html", [ - [ "b2DistanceJoint", "classb2_distance_joint.html", null ], - [ "b2FrictionJoint", "classb2_friction_joint.html", null ], - [ "b2GearJoint", "classb2_gear_joint.html", null ], - [ "b2MotorJoint", "classb2_motor_joint.html", null ], - [ "b2MouseJoint", "classb2_mouse_joint.html", null ], - [ "b2PrismaticJoint", "classb2_prismatic_joint.html", null ], - [ "b2PulleyJoint", "classb2_pulley_joint.html", null ], - [ "b2RevoluteJoint", "classb2_revolute_joint.html", null ], - [ "b2WeldJoint", "classb2_weld_joint.html", null ], - [ "b2WheelJoint", "classb2_wheel_joint.html", null ] - ] ], - [ "b2JointDef", "structb2_joint_def.html", [ - [ "b2DistanceJointDef", "structb2_distance_joint_def.html", null ], - [ "b2FrictionJointDef", "structb2_friction_joint_def.html", null ], - [ "b2GearJointDef", "structb2_gear_joint_def.html", null ], - [ "b2MotorJointDef", "structb2_motor_joint_def.html", null ], - [ "b2MouseJointDef", "structb2_mouse_joint_def.html", null ], - [ "b2PrismaticJointDef", "structb2_prismatic_joint_def.html", null ], - [ "b2PulleyJointDef", "structb2_pulley_joint_def.html", null ], - [ "b2RevoluteJointDef", "structb2_revolute_joint_def.html", null ], - [ "b2WeldJointDef", "structb2_weld_joint_def.html", null ], - [ "b2WheelJointDef", "structb2_wheel_joint_def.html", null ] - ] ], - [ "b2JointEdge", "structb2_joint_edge.html", null ], - [ "b2JointUserData", "structb2_joint_user_data.html", null ], - [ "b2Manifold", "structb2_manifold.html", null ], - [ "b2ManifoldPoint", "structb2_manifold_point.html", null ], - [ "b2MassData", "structb2_mass_data.html", null ], - [ "b2Mat22", "structb2_mat22.html", null ], - [ "b2Mat33", "structb2_mat33.html", null ], - [ "b2Pair", "structb2_pair.html", null ], - [ "b2Position", "structb2_position.html", null ], - [ "b2Profile", "structb2_profile.html", null ], - [ "b2QueryCallback", "classb2_query_callback.html", null ], - [ "b2RayCastCallback", "classb2_ray_cast_callback.html", null ], - [ "b2RayCastInput", "structb2_ray_cast_input.html", null ], - [ "b2RayCastOutput", "structb2_ray_cast_output.html", null ], - [ "b2Rope", "classb2_rope.html", null ], - [ "b2RopeDef", "structb2_rope_def.html", null ], - [ "b2RopeTuning", "structb2_rope_tuning.html", null ], - [ "b2Rot", "structb2_rot.html", null ], - [ "b2Shape", "classb2_shape.html", [ - [ "b2ChainShape", "classb2_chain_shape.html", null ], - [ "b2CircleShape", "classb2_circle_shape.html", null ], - [ "b2EdgeShape", "classb2_edge_shape.html", null ], - [ "b2PolygonShape", "classb2_polygon_shape.html", null ] - ] ], - [ "b2ShapeCastInput", "structb2_shape_cast_input.html", null ], - [ "b2ShapeCastOutput", "structb2_shape_cast_output.html", null ], - [ "b2SimplexCache", "structb2_simplex_cache.html", null ], - [ "b2SolverData", "structb2_solver_data.html", null ], - [ "b2StackAllocator", "classb2_stack_allocator.html", null ], - [ "b2StackEntry", "structb2_stack_entry.html", null ], - [ "b2Sweep", "structb2_sweep.html", null ], - [ "b2Timer", "classb2_timer.html", null ], - [ "b2TimeStep", "structb2_time_step.html", null ], - [ "b2TOIInput", "structb2_t_o_i_input.html", null ], - [ "b2TOIOutput", "structb2_t_o_i_output.html", null ], - [ "b2Transform", "structb2_transform.html", null ], - [ "b2TreeNode", "structb2_tree_node.html", null ], - [ "b2Vec2", "structb2_vec2.html", null ], - [ "b2Vec3", "structb2_vec3.html", null ], - [ "b2Velocity", "structb2_velocity.html", null ], - [ "b2Version", "structb2_version.html", null ], - [ "b2World", "classb2_world.html", null ], - [ "b2WorldManifold", "structb2_world_manifold.html", null ] -]; \ No newline at end of file diff --git a/documentation/id_8h_source.html b/documentation/id_8h_source.html index 6f576f0..9d3d653 100644 --- a/documentation/id_8h_source.html +++ b/documentation/id_8h_source.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/index.html b/documentation/index.html index 68d9cb8..b20eb29 100644 --- a/documentation/index.html +++ b/documentation/index.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/math__functions_8h_source.html b/documentation/math__functions_8h_source.html index 7f1d98b..76841a6 100644 --- a/documentation/math__functions_8h_source.html +++ b/documentation/math__functions_8h_source.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/md__d_1__git_hub_box2d_docs__f_a_q.html b/documentation/md__d_1__git_hub_box2d_docs__f_a_q.html deleted file mode 100644 index 36dec4d..0000000 --- a/documentation/md__d_1__git_hub_box2d_docs__f_a_q.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - -Box2D: FAQ - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
FAQ
-
-
-

-What is Box2D?

-

Box2D is a feature rich 2D rigid body physics engine, written in C++ by Erin Catto. It has been used in many games, including Crayon Physics Deluxe, winner of the 2008 Independant Game Festival Grand Prize.

-

Box2D uses the MIT license license and can be used free of charge.

-

-What platforms does Box2D support?

-

Box2D is developed on Windows using Visual C++. Ports are also available for Flash, Java, C#, Python.

-

Erin Catto maintains the C++ version, but provides no support for other languages. Other languages are supported by the community and possibly by the authors of those ports.

-

-Who makes it?

-

Erin Catto is the driving force behind Box2D, with various others supporting the ports. Box2D is an open source project, and accepts community feedback.

-

-How do I get help?

-

You should read the documentation and the rest of this FAQ first. Also, you should study the examples included in the source distribution. Then you can visit the subreddit to ask any remaining questions.

-

Please to not PM or email Erin Catto for support. It is best to ask questions in the forum so that everyone can benefit from the discussion.

-

-Documentation

-

-Why isn't feature foo documented?

-

If you grab the latest code from the git master branch you will likely find features that are not documented in the manual. New features are added to the manual after they are mature and a new point release is imminent. However, all major features added to Box2D are accompanied by example code in the testbed to test the feature and show the intended usage.

-

-Prerequisites

-

-Programming

-

You should have a working knowledge of C++ before you use Box2D. You should understand classes, inheritance, and pointers. There are plenty of resources on the web for learning C++. You should also understand your development environment: compilation, linking, and debugging.

-

-Math and Physics

-

You should have a basic knowledge of rigid bodies, force, torque, and impulses. If you come across a math or physics concept you don't understand, please read about it on Wikipedia. Visit this page if you want a deeper knowledge of the algorithms used in Box2D.

-

-API

-

-What units does Box2D use?

-

Box2D is tuned for meters-kilograms-seconds (MKS). Your moving objects should be between 0.1 - 10 meters. Do not use pixels as units! You will get a jittery simulation.

-

-How do I convert pixels to meters?

-

Suppose you have a sprite for a character that is 100x100 pixels. You decide to use a scaling factor that is 0.01. This will make the character physics box 1m x 1m. So go make a physics box that is 1x1. Now suppose the character starts out at pixel coordinate (345,679). So position the physics box at (3.45,6.79). Now simulate the physics world. Suppose the character physics box moves to (2.31,4.98), so move your character sprite to pixel coordinates (231,498). Now the only tricky part is choosing a scaling factor. This really depends on your game. You should try to get your moving objects in the range 0.1 - 10 meters, with 1 meter being the sweet spot.

-

-Why don't you use this awesome C++ feature?

-

Box2D is designed to be portable, so I try to keep the C++ usage simple. Also, I don't use the STL (except sort) or other libraries to keep the dependencies low. I keep template usage low and don't use name spaces. Remember, just because a C++ feature exists, that doesn't mean you need to use it.

-

The many ports of Box2D to other languages platforms shows that this strategy has been successful.

-

-Can I use Box2D in a DLL?

-

Box2D was not designed to be used in a DLL. You may have to change how static data is used to make this work.

-

-Is Box2D thread-safe?

-

No. Box2D will likely never be thread-safe. Box2D has a large API and trying to make such an API thread-safe would have a large performance and complexity impact.

-

-Build Issues

-

-Why doesn't my code compile and/or link?

-

There are many reasons why a build can go bad. Here are a few that have come up:

-
    -
  • Using old Box2D headers with new code
  • -
  • Not linking the Box2D library with your application
  • -
  • Using old project files that don't include some new source files
  • -
-

-Rendering

-

-What are Box2D's rendering capabilities?

-

Box2D is only a physics engine. How you draw stuff is up to you.

-

-But the Testbed draws stuff

-

Visualization is very important for debugging collision and physics. I wrote the test bed to help me test Box2D and give you examples of how to use Box2D. The TestBed is not part of the Box2D library.

-

-How do I draw shapes?

-

Drawing shapes is not supported and shape internal data is likely to change. Instead you should implement the b2DebugDraw interface.

-

-Accuracy

-

Box2D uses approximate methods for a few reasons.

-
    -
  • Performance
  • -
  • Some differential equations don't have known solutions
  • -
  • Some constraints cannot be determined uniquely
  • -
-

What this means is that constraints are not perfectly rigid and sometimes you will see some bounce even when the restitution is zero. Box2D uses Gauss-Seidel to approximately solve constraints. Box2D also uses Semi-implicit Euler to approximately solve the differential equations. Box2D also does not have exact collision. Polygons are covered with a thin skin (around 0.5cm thick) to avoid numerical problems. This can sometimes lead to unexpected contact normals. Also, some shapes may begin to overlap and then be pushed apart by the solver.

-

-Making Games

-

-Worms Clones

-

Making a worms clone requires arbitrarily destructible terrain. This is beyond the scope of Box2D, so you will have to figure out how to do this on your own.

-

-Tile Based Environment

-

Using many boxes for your terrain may not work well because box-like characters can get snagged on internal corners. A future update to Box2D should allow for smooth motion over edge chains. In general you should avoid using a rectangular character because collision tolerances will still lead to undesirable snagging.

-

-Asteroid Type Coordinate Systems

-

Box2D does not have any support for coordinate frame wrapping. You would likely need to customize Box2D for this purpose. You may need to use a different broad-phase for this to work.

-

-Determinism

-

-Is Box2D deterministic?

-

For the same input, and same binary, Box2D will reproduce any simulation. Box2D does not use any random numbers nor base any computation on random events (such as timers, etc).

-

However, people often want more stringent determinism. People often want to know if Box2D can produce identical results on different binaries and on different platforms. The answer is no. The reason for this answer has to do with how floating point math is implemented in many compilers and processors. I recommend reading this article if you are curious: http://www.yosefk.com/blog/consistency-how-to-defeat-the-purpose-of-ieee-floating-point.html

-

-But I really want determinism

-

This naturally leads to the question of fixed-point math. Box2D does not support fixed-point math. In the past Box2D was ported to the NDS in fixed-point and apparently it worked okay. Fixed-point math is slower and more tedious to develop, so I have chosen not to use fixed-point for the development of Box2D.

-

-Why is the restitution/friction mixing inaccurate?

-

A physically correct restitution value must be measured in experiments. But as soon as you change the geometry from the experiment then the value is wrong. Next, adding simultaneous collision makes the answer worse. We've been down this road before.

-

So the question of accuracy has been answered: failure.

-

The only remaining question is how do we make it convenient. On this opinions may vary.

-

b2Settings is just that. Settings you can adjust if you know what you are doing.

-

-What are the biggest mistakes made by new users?

-
    -
  • Using pixels for length instead of meters.
  • -
  • Expecting Box2D to give pixel perfect results.
  • -
  • Using b2Polygon to create concave polygons.
  • -
  • Testing their code in release mode.
  • -
  • Not learning C++ before using Box2D.
  • -
  • Not reading this FAQ. :)
  • -
-
-
-
- - - - diff --git a/documentation/md__d_1__git_hub_box2d_docs_collision.html b/documentation/md__d_1__git_hub_box2d_docs_collision.html deleted file mode 100644 index 062a64b..0000000 --- a/documentation/md__d_1__git_hub_box2d_docs_collision.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - - - -Box2D: Collision Module - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Collision Module
-
-
-

The Collision module contains shapes and functions that operate on them. The module also contains a dynamic tree and broad-phase to acceleration collision processing of large systems.

-

The collision module is designed to be usable outside of the dynamic system. For example, you can use the dynamic tree for other aspects of your game besides physics.

-

However, the main purpose of Box2D is to provide a rigid body physics engine, so the using the collision module by itself may feel limited for some applications. Likewise, I will not make a strong effort to document it or polish the APIs.

-

-Shapes

-

Shapes describe collision geometry and may be used independently of physics simulation. At a minimum, you should understand how to create shapes that can be later attached to rigid bodies.

-

Box2D shapes implement the b2Shape base class. The base class defines functions to:

    -
  • Test a point for overlap with the shape.
  • -
  • Perform a ray cast against the shape.
  • -
  • Compute the shape's AABB.
  • -
  • Compute the mass properties of the shape.
  • -
-

In addition, each shape has a type member and a radius. The radius even applies to polygons, as discussed below.

-

Keep in mind that a shape does not know about bodies and stand apart from the dynamics system. Shapes are stored in a compact form that is optimized for size and performance. As such, shapes are not easily moved around. You have to manually set the shape vertex positions to move a shape. However, when a shape is attached to a body using a fixture, the shapes move rigidly with the host body. In summary:

    -
  • When a shape is not attached to a body, you can view it's vertices as being expressed in world-space.
  • -
  • When a shape is attached to a body, you can view it's vertices as being expressed in local coordinates.
  • -
-

-Circle Shapes

-

Circle shapes have a position and radius. Circles are solid. You cannot make a hollow circle using the circle shape.

-
-
circle.m_p.Set(2.0f, 3.0f);
-
circle.m_radius = 0.5f;
-

-Polygon Shapes

-

Polygon shapes are solid convex polygons. A polygon is convex when all line segments connecting two points in the interior do not cross any edge of the polygon. Polygons are solid and never hollow. A polygon must have 3 or more vertices.

-
- -
-Convex and Concave Polygons
-

Polygons vertices are stored with a counter clockwise winding (CCW). We must be careful because the notion of CCW is with respect to a right-handed coordinate system with the z-axis pointing out of the plane. This might turn out to be clockwise on your screen, depending on your coordinate system conventions.

-
- -
-Polygon Winding Order
-

The polygon members are public, but you should use initialization functions to create a polygon. The initialization functions create normal vectors and perform validation.

-

You can create a polygon shape by passing in a vertex array. The maximal size of the array is controlled by b2_maxPolygonVertices which has a default value of 8. This is sufficient to describe most convex polygons.

-

The b2PolygonShape::Set function automatically computes the convex hull and establishes the proper winding order. This function is fast when the number of vertices is low. If you increase b2_maxPolygonVertices, then the convex hull computation might become slow. Also note that the convex hull function may eliminate and/or re-order the points you provide. Vertices that are closer than b2_linearSlop may be merged.

-
// This defines a triangle in CCW order.
-
b2Vec2 vertices[3];
-
vertices[0].Set(0.0f, 0.0f);
-
vertices[1].Set(1.0f, 0.0f);
-
vertices[2].Set(0.0f, 1.0f);
-
-
int32 count = 3;
- -
polygon.Set(vertices, count);
-

The polygon shape has some convenience functions to create boxes.

-
void SetAsBox(float hx, float hy);
-
void SetAsBox(float hx, float hy, const b2Vec2& center, float angle);
-

Polygons inherit a radius from b2Shape. The radius creates a skin around the polygon. The skin is used in stacking scenarios to keep polygons slightly separated. This allows continuous collision to work against the core polygon.

-
- -
-Polygon Skin
-

The polygon skin helps prevent tunneling by keeping the polygons separated. This results in small gaps between the shapes. Your visual representation can be larger than the polygon to hide any gaps.

-
- -
-Skin Collision
-

Not that polygon skin is only provided to help with continuous collision. The purpose is not to simulate rounded polygons.

-

-Edge Shapes

-

Edge shapes are line segments. These are provided to assist in making a free-form static environment for your game. A major limitation of edge shapes is that they can collide with circles and polygons but not with themselves. The collision algorithms used by Box2D require that at least one of two colliding shapes have volume. Edge shapes have no volume, so edge-edge collision is not possible.

-
// This an edge shape.
-
b2Vec2 v1(0.0f, 0.0f);
-
b2Vec2 v2(1.0f, 0.0f);
-
- -
edge.SetTwoSided(v1, v2);
-

In many cases a game environment is constructed by connecting several edge shapes end-to-end. This can give rise to an unexpected artifact when a polygon slides along the chain of edges. In the figure below we see a box colliding with an internal vertex. These ghost collisions are caused when the polygon collides with an internal vertex generating an internal collision normal.

-
- -
-Ghost Collision
-

If edge1 did not exist this collision would seem fine. With edge1 present, the internal collision seems like a bug. But normally when Box2D collides two shapes, it views them in isolation.

-

Fortunately, the edge shape provides a mechanism for eliminating ghost collisions by storing the adjacent ghost vertices. Box2D uses these ghost vertices to prevent internal collisions.

-
- -
-Ghost Vertices
-

The Box2D algorithm for dealing with ghost collisions only supports one-sided collision. The front face is to the right when looking from the first vertex towards the second vertex. This matches the CCW winding order used by polygons.

-
// This is an edge shape with ghost vertices.
-
b2Vec2 v0(1.7f, 0.0f);
-
b2Vec2 v1(1.0f, 0.25f);
-
b2Vec2 v2(0.0f, 0.0f);
-
b2Vec2 v3(-1.7f, 0.4f);
-
- -
edge.SetOneSided(v0, v1, v2, v3);
-

In general stitching edges together this way is a bit wasteful and tedious. This brings us to chain shapes.

-

-Chain Shapes

-

The chain shape provides an efficient way to connect many edges together to construct your static game worlds. Chain shapes automatically eliminate ghost collisions and provide one-sided collision. The collision is one-sided to eliminate ghost collisions.

-

If you don't care about ghost collisions, you can just create a bunch of two-sided edge shapes. The efficiency is similar.

-

The simplest way to use chain shapes is to create loops. Simply provide an array of vertices.

-
b2Vec2 vs[4];
-
vs[0].Set(1.7f, 0.0f);
-
vs[1].Set(1.0f, 0.25f);
-
vs[2].Set(0.0f, 0.0f);
-
vs[3].Set(-1.7f, 0.4f);
-
- -
chain.CreateLoop(vs, 4);
-

The edge normal depends on the winding order. A counter-clockwise winding order orients the normal outwards and a clockwise winding order orients the normal inwards.

-
- -
-Chain Shape Outwards Loop
-
- -
-Chain Shape Inwards Loop
-

You may have a scrolling game world and would like to connect several chains together. You can connect chains together using ghost vertices, like we did with b2EdgeShape.

-
- -
-Chain Shape
-
b2ChainShape::CreateChain(const b2Vec2* vertices, int32 count,
-
const b2Vec2& prevVertex, const b2Vec2& nextVertex);
-

Self-intersection of chain shapes is not supported. It might work, it might not. The code that prevents ghost collisions assumes there are no self-intersections of the chain. Also, very close vertices can cause problems. Make sure all your edges are longer than b2_linearSlop (5mm).

-
- -
-Self Intersection is Bad
-

Each edge in the chain is treated as a child shape and can be accessed by index. When a chain shape is connected to a body, each edge gets its own bounding box in the broad-phase collision tree.

-
// Visit each child edge.
-
for (int32 i = 0; i \< chain.GetChildCount(); ++i)
-
{
- -
chain.GetChildEdge(&edge, i);
-
-
...
-
}
-

-Geometric Queries

-

You can perform a couple geometric queries on a single shape.

-

-Shape Point Test

-

You can test a point for overlap with a shape. You provide a transform for the shape and a world point.

-
b2Transform transform;
-
transform.SetIdentity();
-
b2Vec2 point(5.0f, 2.0f);
-
-
bool hit = shape->TestPoint(transform, point);
-

Edge and chain shapes always return false, even if the chain is a loop.

-

-Shape Ray Cast

-

You can cast a ray at a shape to get the point of first intersection and normal vector. A child index is included for chain shapes because the ray cast will only check a single edge at a time.

-
-

Caution: No hit will register if the ray starts inside a convex shape like a circle or polygon. This is consistent with Box2D treating convex shapes as solid.

-

-
-
b2Transfrom transform;
-
transform.SetIdentity();
-
- -
input.p1.Set(0.0f, 0.0f);
-
input.p2.Set(1.0f, 0.0f);
-
input.maxFraction = 1.0f;
-
int32 childIndex = 0;
-
- -
bool hit = shape->RayCast(&output, input, transform, childIndex);
-
-
if (hit)
-
{
-
b2Vec2 hitPoint = input.p1 + output.fraction * (input.p2 -- input.p1);
-
...
-
}
-

-Pairwise Functions

-

The Collision module contains functions that take a pair of shapes and compute some results. These include:

    -
  • Overlap
  • -
  • Contact manifolds
  • -
  • Distance
  • -
  • Time of impact
  • -
-

-Overlap

-

You can test two shapes for overlap using this function:

-
b2Transform xfA = ..., xfB = ...;
-
bool overlap = b2TestOverlap(shapeA, indexA, shapeB, indexB, xfA, xfB);
-

Again you must provide child indices to for the case of chain shapes.

-

-Contact Manifolds

-

Box2D has functions to compute contact points for overlapping shapes. If we consider circle-circle or circle-polygon, we can only get one contact point and normal. In the case of polygon-polygon we can get two points. These points share the same normal vector so Box2D groups them into a manifold structure. The contact solver takes advantage of this to improve stacking stability.

-
- -
-Contact Manifold
-

Normally you don't need to compute contact manifolds directly, however you will likely use the results produced in the simulation.

-

The b2Manifold structure holds a normal vector and up to two contact points. The normal and points are held in local coordinates. As a convenience for the contact solver, each point stores the normal and tangential (friction) impulses.

-

The data stored in b2Manifold is optimized for internal use. If you need this data, it is usually best to use the b2WorldManifold structure to generate the world coordinates of the contact normal and points. You need to provide a b2Manifold and the shape transforms and radii.

-
b2WorldManifold worldManifold;
-
worldManifold.Initialize(&manifold, transformA, shapeA.m_radius,
-
transformB, shapeB.m_radius);
-
-
for (int32 i = 0; i \< manifold.pointCount; ++i)
-
{
-
b2Vec2 point = worldManifold.points[i];
-
...
-
}
-

Notice that the world manifold uses the point count from the original manifold.

-

During simulation shapes may move and the manifolds may change. Points may be added or removed. You can detect this using b2GetPointStates.

-
b2PointState state1[2], state2[2];
-
b2GetPointStates(state1, state2, &manifold1, &manifold2);
-
-
if (state1[0] == b2_removeState)
-
{
-
// process event
-
}
-

-Distance

-

The b2Distance function can be used to compute the distance between two shapes. The distance function needs both shapes to be converted into a b2DistanceProxy. There is also some caching used to warm start the distance function for repeated calls.

-
- -
-Distance Function
-

-Time of Impact

-

If two shapes are moving fast, they may tunnel through each other in a single time step.

-
- -
-Tunneling
-

The b2TimeOfImpact function is used to determine the time when two moving shapes collide. This is called the time of impact (TOI). The main purpose of b2TimeOfImpact is for tunnel prevention. In particular, it is designed to prevent moving objects from tunneling outside of static level geometry.

-

This function accounts for rotation and translation of both shapes, however if the rotations are large enough, then the function may miss a collision. However the function will still report a non-overlapped time and will capture all translational collisions.

-

The time of impact function identities an initial separating axis and ensures the shapes do not cross on that axis. This might miss collisions that are clear at the final positions. While this approach may miss some collisions, it is very fast and adequate for tunnel prevention.

-
- -
-Captured Collision
-
- -
-Missed Collision
-

It is difficult to put a restriction on the rotation magnitude. There may be cases where collisions are missed for small rotations. Normally, these missed rotational collisions should not harm game play. They tend to be glancing collisions.

-

The function requires two shapes (converted to b2DistanceProxy) and two b2Sweep structures. The sweep structure defines the initial and final transforms of the shapes.

-

You can use fixed rotations to perform a shape cast. In this case, the time of impact function will not miss any collisions.

-

-Dynamic Tree

-

The b2DynamicTree class is used by Box2D to organize large numbers of shapes efficiently. The class does not know about shapes. Instead it operates on axis-aligned bounding boxes (AABBs) with user data pointers.

-

The dynamic tree is a hierarchical AABB tree. Each internal node in the tree has two children. A leaf node is a single user AABB. The tree uses rotations to keep the tree balanced, even in the case of degenerate input.

-

The tree structure allows for efficient ray casts and region queries. For example, you may have hundreds of shapes in your scene. You could perform a ray cast against the scene in a brute force manner by ray casting each shape. This would be inefficient because it does not take advantage of shapes being spread out. Instead, you can maintain a dynamic tree and perform ray casts against the tree. This traverses the ray through the tree skipping large numbers of shapes.

-

A region query uses the tree to find all leaf AABBs that overlap a query AABB. This is faster than a brute force approach because many shapes can be skipped.

-
- -
-Raycast
-
- -
-Overlap Test
-

Normally you will not use the dynamic tree directly. Rather you will go through the b2World class for ray casts and region queries. If you plan to instantiate your own dynamic tree, you can learn how to use it by looking at how Box2D uses it.

-

-Broad-phase

-

Collision processing in a physics step can be divided into narrow-phase and broad-phase. In the narrow-phase we compute contact points between pairs of shapes. Imagine we have N shapes. Using brute force, we would need to perform the narrow-phase for N*N/2 pairs.

-

The b2BroadPhase class reduces this load by using a dynamic tree for pair management. This greatly reduces the number of narrow-phase calls.

-

Normally you do not interact with the broad-phase directly. Instead, Box2D creates and manages a broad-phase internally. Also, b2BroadPhase is designed with Box2D's simulation loop in mind, so it is likely not suited for other use cases.

-
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
Definition: b2_edge_shape.h:32
-
Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).
Definition: b2_collision.h:153
-
Definition: b2_math.h:338
-
void Set(const b2Vec2 *points, int32 count)
-
float m_radius
Definition: b2_shape.h:102
-
b2PointState
This is used for determining the state of contact points.
Definition: b2_collision.h:132
-
void Set(float x_, float y_)
Set this vector to some specified coordinates.
Definition: b2_math.h:53
-
Definition: b2_chain_shape.h:36
-
This is used to compute the current state of a contact manifold.
Definition: b2_collision.h:116
-
void SetIdentity()
Set this to the identity transform.
Definition: b2_math.h:347
-
b2Vec2 m_p
Position.
Definition: b2_circle_shape.h:57
-
B2_API bool b2TestOverlap(const b2Shape *shapeA, int32 indexA, const b2Shape *shapeB, int32 indexB, const b2Transform &xfA, const b2Transform &xfB)
Determine if two generic shapes overlap.
-
B2_API void b2GetPointStates(b2PointState state1[b2_maxManifoldPoints], b2PointState state2[b2_maxManifoldPoints], const b2Manifold *manifold1, const b2Manifold *manifold2)
-
Definition: b2_polygon_shape.h:32
-
void CreateLoop(const b2Vec2 *vertices, int32 count)
-
void Initialize(const b2Manifold *manifold, const b2Transform &xfA, float radiusA, const b2Transform &xfB, float radiusB)
-
void GetChildEdge(b2EdgeShape *edge, int32 index) const
Get a child edge.
-
void SetTwoSided(const b2Vec2 &v1, const b2Vec2 &v2)
Set this as an isolated edge. Collision is two-sided.
-
void CreateChain(const b2Vec2 *vertices, int32 count, const b2Vec2 &prevVertex, const b2Vec2 &nextVertex)
-
int32 GetChildCount() const override
-
Definition: b2_collision.h:161
-
b2Vec2 points[b2_maxManifoldPoints]
world contact point (point of intersection)
Definition: b2_collision.h:127
-
@ b2_removeState
point was removed in the update
Definition: b2_collision.h:137
-
A solid circle shape.
Definition: b2_circle_shape.h:30
-
void SetOneSided(const b2Vec2 &v0, const b2Vec2 &v1, const b2Vec2 &v2, const b2Vec2 &v3)
- - - - diff --git a/documentation/md__d_1__git_hub_box2d_docs_common.html b/documentation/md__d_1__git_hub_box2d_docs_common.html deleted file mode 100644 index cc20d2c..0000000 --- a/documentation/md__d_1__git_hub_box2d_docs_common.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - - - -Box2D: Common Module - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Common Module
-
-
-

The Common module contains settings, memory management, and vector math.

-

-Settings

-

The header b2Settings.h contains:

    -
  • Types such as int32 and float
  • -
  • Constants
  • -
  • Allocation wrappers
  • -
  • The version number
  • -
-

-Types

-

Box2D defines various types such as int8, etc. to make it easy to determine the size of structures.

-

-Constants

-

Box2D defines several constants. These are all documented in b2Settings.h. Normally you do not need to adjust these constants.

-

Box2D uses floating point math for collision and simulation. Due to round-off error some numerical tolerances are defined. Some tolerances are absolute and some are relative. Absolute tolerances use MKS units.

-

-Allocation wrappers

-

The settings file defines b2Alloc and b2Free for large allocations. You may forward these calls to your own memory management system.

-

-Version

-

The b2Version structure holds the current version so you can query this at run-time.

-

-Memory Management

-

A large number of the decisions about the design of Box2D were based on the need for quick and efficient use of memory. In this section I will discuss how and why Box2D allocates memory.

-

Box2D tends to allocate a large number of small objects (around 50-300 bytes). Using the system heap through malloc or new for small objects is inefficient and can cause fragmentation. Many of these small objects may have a short life span, such as contacts, but can persist for several time steps. So we need an allocator that can efficiently provide heap memory for these objects.

-

Box2D's solution is to use a small object allocator (SOA) called b2BlockAllocator. The SOA keeps a number of growable pools of varying sizes. When a request is made for memory, the SOA returns a block of memory that best fits the requested size. When a block is freed, it is returned to the pool. Both of these operations are fast and cause little heap traffic.

-

Since Box2D uses a SOA, you should never new or malloc a body, fixture, or joint. However, you do have to allocate a b2World on your own. The b2World class provides factories for you to create bodies, fixtures, and joints. This allows Box2D to use the SOA and hide the gory details from you. Never, call delete or free on a body, fixture, or joint.

-

While executing a time step, Box2D needs some temporary workspace memory. For this, it uses a stack allocator called b2StackAllocator to avoid per-step heap allocations. You don't need to interact with the stack allocator, but it's good to know it's there.

-

-Math

-

Box2D includes a simple small vector and matrix module. This has been designed to suit the internal needs of Box2D and the API. All the members are exposed, so you may use them freely in your application.

-

The math library is kept simple to make Box2D easy to port and maintain.

-
-
-
- - - - diff --git a/documentation/md__d_1__git_hub_box2d_docs_dynamics.html b/documentation/md__d_1__git_hub_box2d_docs_dynamics.html deleted file mode 100644 index 2aa799a..0000000 --- a/documentation/md__d_1__git_hub_box2d_docs_dynamics.html +++ /dev/null @@ -1,1099 +0,0 @@ - - - - - - - -Box2D: Dynamics Module - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Dynamics Module
-
-
-

The Dynamics module is the most complex part of Box2D and is the part you likely interact with the most. The Dynamics module sits on top of the Common and Collision modules, so you should be somewhat familiar with those by now.

-

The Dynamics module contains:

    -
  • fixture class
  • -
  • rigid body class
  • -
  • contact class
  • -
  • joint classes
  • -
  • world class
  • -
  • listener classes
  • -
-

There are many dependencies between these classes so it is difficult to describe one class without referring to another. In the following, you may see some references to classes that have not been described yet. Therefore, you may want to quickly skim this chapter before reading it closely.

-

The dynamics module is covered in the following chapters.

-

-Bodies

-

Bodies have position and velocity. You can apply forces, torques, and impulses to bodies. Bodies can be static, kinematic, or dynamic. Here are the body type definitions:

-

-b2_staticBody

-

A static body does not move under simulation and behaves as if it has infinite mass. Internally, Box2D stores zero for the mass and the inverse mass. Static bodies can be moved manually by the user. A static body has zero velocity. Static bodies do not collide with other static or kinematic bodies.

-

-b2_kinematicBody

-

A kinematic body moves under simulation according to its velocity. Kinematic bodies do not respond to forces. They can be moved manually by the user, but normally a kinematic body is moved by setting its velocity. A kinematic body behaves as if it has infinite mass, however, Box2D stores zero for the mass and the inverse mass. Kinematic bodies do not collide with other kinematic or static bodies.

-

-b2_dynamicBody

-

A dynamic body is fully simulated. They can be moved manually by the user, but normally they move according to forces. A dynamic body can collide with all body types. A dynamic body always has finite, non-zero mass. If you try to set the mass of a dynamic body to zero, it will automatically acquire a mass of one kilogram and it won't rotate.

-

Bodies are the backbone for fixtures (shapes). Bodies carry fixtures and move them around in the world. Bodies are always rigid bodies in Box2D. That means that two fixtures attached to the same rigid body never move relative to each other and fixtures attached to the same body don't collide.

-

Fixtures have collision geometry and density. Normally, bodies acquire their mass properties from the fixtures. However, you can override the mass properties after a body is constructed.

-

You usually keep pointers to all the bodies you create. This way you can query the body positions to update the positions of your graphical entities. You should also keep body pointers so you can destroy them when you are done with them.

-

-Body Definition

-

Before a body is created you must create a body definition (b2BodyDef). The body definition holds the data needed to create and initialize a body.

-

Box2D copies the data out of the body definition; it does not keep a pointer to the body definition. This means you can recycle a body definition to create multiple bodies.

-

Let's go over some of the key members of the body definition.

-

-Body Type

-

As discussed at the beginning of this chapter, there are three different body types: static, kinematic, and dynamic. You should establish the body type at creation because changing the body type later is expensive.

-
b2BodyDef bodyDef;
-
bodyDef.type = b2_dynamicBody;
-

Setting the body type is mandatory.

-

-Position and Angle

-

The body definition gives you the chance to initialize the position of the body on creation. This has far better performance than creating the body at the world origin and then moving the body.

-
-

Caution: Do not create a body at the origin and then move it. If you create several bodies at the origin, then performance will suffer.

-
-

A body has two main points of interest. The first point is the body's origin. Fixtures and joints are attached relative to the body's origin. The second point of interest is the center of mass. The center of mass is determined from mass distribution of the attached shapes or is explicitly set with b2MassData. Much of Box2D's internal computations use the center of mass position. For example b2Body stores the linear velocity for the center of mass.

-

When you are building the body definition, you may not know where the center of mass is located. Therefore you specify the position of the body's origin. You may also specify the body's angle in radians, which is not affected by the position of the center of mass. If you later change the mass properties of the body, then the center of mass may move on the body, but the origin position does not change and the attached shapes and joints do not move.

-
b2BodyDef bodyDef;
-
bodyDef.position.Set(0.0f, 2.0f); // the body's origin position.
-
bodyDef.angle = 0.25f * b2_pi; // the body's angle in radians.
-

A rigid body is also a frame of reference. You can define fixtures and joints in that frame. Those fixtures and joint anchors never move in the local frame of the body.

-

-Damping

-

Damping is used to reduce the world velocity of bodies. Damping is different than friction because friction only occurs with contact. Damping is not a replacement for friction and the two effects should be used together.

-

Damping parameters should be between 0 and infinity, with 0 meaning no damping, and infinity meaning full damping. Normally you will use a damping value between 0 and 0.1. I generally do not use linear damping because it makes bodies look like they are floating.

-
b2BodyDef bodyDef;
-
bodyDef.linearDamping = 0.0f;
-
bodyDef.angularDamping = 0.01f;
-

Damping is approximated for stability and performance. At small damping values the damping effect is mostly independent of the time step. At larger damping values, the damping effect will vary with the time step. This is not an issue if you use a fixed time step (recommended).

-

-Gravity Scale

-

You can use the gravity scale to adjust the gravity on a single body. Be careful though, increased gravity can decrease stability.

-
// Set the gravity scale to zero so this body will float
-
b2BodyDef bodyDef;
-
bodyDef.gravityScale = 0.0f;
-

-Sleep Parameters

-

What does sleep mean? Well it is expensive to simulate bodies, so the less we have to simulate the better. When a body comes to rest we would like to stop simulating it.

-

When Box2D determines that a body (or group of bodies) has come to rest, the body enters a sleep state which has very little CPU overhead. If a body is awake and collides with a sleeping body, then the sleeping body wakes up. Bodies will also wake up if a joint or contact attached to them is destroyed. You can also wake a body manually.

-

The body definition lets you specify whether a body can sleep and whether a body is created sleeping.

-
b2BodyDef bodyDef;
-
bodyDef.allowSleep = true;
-
bodyDef.awake = true;
-

-Fixed Rotation

-

You may want a rigid body, such as a character, to have a fixed rotation. Such a body should not rotate, even under load. You can use the fixed rotation setting to achieve this:

-
b2BodyDef bodyDef;
-
bodyDef.fixedRotation = true;
-

The fixed rotation flag causes the rotational inertia and its inverse to be set to zero.

-

-Bullets

-

Game simulation usually generates a sequence of images that are played at some frame rate. This is called discrete simulation. In discrete simulation, rigid bodies can move by a large amount in one time step. If a physics engine doesn't account for the large motion, you may see some objects incorrectly pass through each other. This effect is called tunneling.

-

By default, Box2D uses continuous collision detection (CCD) to prevent dynamic bodies from tunneling through static bodies. This is done by sweeping shapes from their old position to their new positions. The engine looks for new collisions during the sweep and computes the time of impact (TOI) for these collisions. Bodies are moved to their first TOI and then the solver performs a sub-step to complete the full time step. There may be additional TOI events within a sub-step.

-

Normally CCD is not used between dynamic bodies. This is done to keep performance reasonable. In some game scenarios you need dynamic bodies to use CCD. For example, you may want to shoot a high speed bullet at a stack of dynamic bricks. Without CCD, the bullet might tunnel through the bricks.

-

Fast moving objects in Box2D can be labeled as bullets. Bullets will perform CCD with both static and dynamic bodies. You should decide what bodies should be bullets based on your game design. If you decide a body should be treated as a bullet, use the following setting.

-
b2BodyDef bodyDef;
-
bodyDef.bullet = true;
-

The bullet flag only affects dynamic bodies.

-

-Activation

-

You may wish a body to be created but not participate in collision or dynamics. This state is similar to sleeping except the body will not be woken by other bodies and the body's fixtures will not be placed in the broad-phase. This means the body will not participate in collisions, ray casts, etc.

-

You can create a body in an inactive state and later re-activate it.

-
b2BodyDef bodyDef;
-
bodyDef.active = true;
-

Joints may be connected to inactive bodies. These joints will not be simulated. You should be careful when you activate a body that its joints are not distorted.

-

Note that activating a body is almost as expensive as creating the body from scratch. So you should not use activation for streaming worlds. Use creation/destruction for streaming worlds to save memory.

-

-User Data

-

User data is a void pointer. This gives you a hook to link your application objects to bodies. You should be consistent to use the same object type for all body user data.

-
b2BodyDef bodyDef;
-
bodyDef.userData.pointer = reinterpret_cast<uintptr_t>(&myActor);
-

-Body Factory

-

Bodies are created and destroyed using a body factory provided by the world class. This lets the world create the body with an efficient allocator and add the body to the world data structure.

-
b2World* myWorld;
-
b2Body* dynamicBody = myWorld->CreateBody(&bodyDef);
-
-
// ... do stuff ...
-
-
myWorld->DestroyBody(dynamicBody);
-
dynamicBody = nullptr;
-
-

Caution: You should never use new or malloc to create a body. The world won't know about the body and the body won't be properly initialized.

-
-

Box2D does not keep a reference to the body definition or any of the data it holds (except user data pointers). So you can create temporary body definitions and reuse the same body definitions.

-

Box2D allows you to avoid destroying bodies by deleting your b2World object, which does all the cleanup work for you. However, you should be mindful to nullify body pointers that you keep in your game engine.

-

When you destroy a body, the attached fixtures and joints are automatically destroyed. This has important implications for how you manage shape and joint pointers.

-

-Using a Body

-

After creating a body, there are many operations you can perform on the body. These include setting mass properties, accessing position and velocity, applying forces, and transforming points and vectors.

-

-Mass Data

-

A body has mass (scalar), center of mass (2-vector), and rotational inertia (scalar). For static bodies, the mass and rotational inertia are set to zero. When a body has fixed rotation, its rotational inertia is zero.

-

Normally the mass properties of a body are established automatically when fixtures are added to the body. You can also adjust the mass of a body at run-time. This is usually done when you have special game scenarios that require altering the mass.

-
void b2Body::SetMassData(const b2MassData* data);
-

After setting a body's mass directly, you may wish to revert to the natural mass dictated by the fixtures. You can do this with:

-

The body's mass data is available through the following functions:

-
float b2Body::GetMass() const;
-
float b2Body::GetInertia() const;
- -
void b2Body::GetMassData(b2MassData* data) const;
-

-State Information

-

There are many aspects to the body's state. You can access this state data efficiently through the following functions:

-
void b2Body::SetType(b2BodyType type);
-
b2BodyType b2Body::GetType();
-
void b2Body::SetBullet(bool flag);
-
bool b2Body::IsBullet() const;
- - -
void b2Body::SetAwake(bool flag);
-
bool b2Body::IsAwake() const;
-
void b2Body::SetEnabled(bool flag);
-
bool b2Body::IsEnabled() const;
-
void b2Body::SetFixedRotation(bool flag);
- -

-Position and Velocity

-

You can access the position and rotation of a body. This is common when rendering your associated game actor. You can also set the position, although this is less common since you will normally use Box2D to simulate movement.

-
bool b2Body::SetTransform(const b2Vec2& position, float angle);
- -
const b2Vec2& b2Body::GetPosition() const;
-
float b2Body::GetAngle() const;
-

You can access the center of mass position in local and world coordinates. Much of the internal simulation in Box2D uses the center of mass. However, you should normally not need to access it. Instead you will usually work with the body transform. For example, you may have a body that is square. The body origin might be a corner of the square, while the center of mass is located at the center of the square.

-
- -

You can access the linear and angular velocity. The linear velocity is for the center of mass. Therefore, the linear velocity may change if the mass properties change.

-

-Forces and Impulses

-

You can apply forces, torques, and impulses to a body. When you apply a force or an impulse, you provide a world point where the load is applied. This often results in a torque about the center of mass.

-
void b2Body::ApplyForce(const b2Vec2& force, const b2Vec2& point);
-
void b2Body::ApplyTorque(float torque);
-
void b2Body::ApplyLinearImpulse(const b2Vec2& impulse, const b2Vec2& point);
-
void b2Body::ApplyAngularImpulse(float impulse);
-

Applying a force, torque, or impulse wakes the body. Sometimes this is undesirable. For example, you may be applying a steady force and want to allow the body to sleep to improve performance. In this case you can use the following code.

-
if (myBody->IsAwake() == true)
-
{
-
myBody->ApplyForce(myForce, myPoint);
-
}
-

-Coordinate Transformations

-

The body class has some utility functions to help you transform points and vectors between local and world space. If you don't understand these concepts, please read "Essential Mathematics for Games and Interactive Applications" by Jim Van Verth and Lars Bishop. These functions are efficient (when inlined).

-
b2Vec2 b2Body::GetWorldPoint(const b2Vec2& localPoint);
-
b2Vec2 b2Body::GetWorldVector(const b2Vec2& localVector);
-
b2Vec2 b2Body::GetLocalPoint(const b2Vec2& worldPoint);
-
b2Vec2 b2Body::GetLocalVector(const b2Vec2& worldVector);
-

-Acessing Fixtures, Joints, and Contacts

-

You can iterate over a body's fixtures. This is mainly useful if you need to access the fixture's user data.

-
for (b2Fixture* f = body->GetFixtureList(); f; f = f->GetNext())
-
{
-
MyFixtureData* data = (MyFixtureData*)f->GetUserData();
-
// do something with data ...
-
}
-

You can similarly iterate over the body's joint list.

-

The body also provides a list of associated contacts. You can use this to get information about the current contacts. Be careful, because the contact list may not contain all the contacts that existed during the previous time step.

-

-Fixtures

-

Recall that shapes don't know about bodies and may be used independently of the physics simulation. Therefore Box2D provides the b2Fixture class to attach shapes to bodies. A body may have zero or more fixtures. A body with multiple fixtures is sometimes called a compound body.

-

Fixtures hold the following:

    -
  • a single shape
  • -
  • broad-phase proxies
  • -
  • density, friction, and restitution
  • -
  • collision filtering flags
  • -
  • back pointer to the parent body
  • -
  • user data
  • -
  • sensor flag
  • -
-

These are described in the following sections.

-

-Fixture Creation

-

Fixtures are created by initializing a fixture definition and then passing the definition to the parent body.

-
b2Body* myBody;
-
b2FixtureDef fixtureDef;
-
fixtureDef.shape = &myShape;
-
fixtureDef.density = 1.0f;
-
b2Fixture* myFixture = myBody->CreateFixture(&fixtureDef);
-

This creates the fixture and attaches it to the body. You do not need to store the fixture pointer since the fixture will automatically be destroyed when the parent body is destroyed. You can create multiple fixtures on a single body.

-

You can destroy a fixture on the parent body. You may do this to model a breakable object. Otherwise you can just leave the fixture alone and let the body destruction take care of destroying the attached fixtures.

-
myBody->DestroyFixture(myFixture);
-

-Density

-

The fixture density is used to compute the mass properties of the parent body. The density can be zero or positive. You should generally use similar densities for all your fixtures. This will improve stacking stability.

-

The mass of a body is not adjusted when you set the density. You must call ResetMassData for this to occur.

-
b2Fixture* fixture;
-
fixture->SetDensity(5.0f);
- -
body->ResetMassData();
-

-Friction

-

Friction is used to make objects slide along each other realistically. Box2D supports static and dynamic friction, but uses the same parameter for both. Friction is simulated accurately in Box2D and the friction strength is proportional to the normal force (this is called Coulomb friction). The friction parameter is usually set between 0 and 1, but can be any non-negative value. A friction value of 0 turns off friction and a value of 1 makes the friction strong. When the friction force is computed between two shapes, Box2D must combine the friction parameters of the two parent fixtures. This is done with the geometric mean:

-
b2Fixture* fixtureA;
-
b2Fixture* fixtureB;
-
float friction;
-
friction = sqrtf(fixtureA->friction * fixtureB->friction);
-

So if one fixture has zero friction then the contact will have zero friction.

-

You can override the default mixed friction using b2Contact::SetFriction. This is usually done in the b2ContactListener callback.

-

-Restitution

-

Restitution is used to make objects bounce. The restitution value is usually set to be between 0 and 1. Consider dropping a ball on a table. A value of zero means the ball won't bounce. This is called an inelastic collision. A value of one means the ball's velocity will be exactly reflected. This is called a perfectly elastic collision. Restitution is combined using the following formula.

-
b2Fixture* fixtureA;
-
b2Fixture* fixtureB;
-
float restitution;
-
restitution = b2Max(fixtureA->restitution, fixtureB->restitution);
-

Restitution is combined this way so that you can have a bouncy super ball without having a bouncy floor.

-

You can override the default mixed restitution using b2Contact::SetRestitution. This is usually done in the b2ContactListener callback.

-

When a shape develops multiple contacts, restitution is simulated approximately. This is because Box2D uses an iterative solver. Box2D also uses inelastic collisions when the collision velocity is small. This is done to prevent jitter. See b2_velocityThreshold.

-

-Filtering

-

Collision filtering allows you to prevent collision between fixtures. For example, say you make a character that rides a bicycle. You want the bicycle to collide with the terrain and the character to collide with the terrain, but you don't want the character to collide with the bicycle (because they must overlap). Box2D supports such collision filtering using categories and groups.

-

Box2D supports 16 collision categories. For each fixture you can specify which category it belongs to. You also specify what other categories this fixture can collide with. For example, you could specify in a multiplayer game that all players don't collide with each other and monsters don't collide with each other, but players and monsters should collide. This is done with masking bits. For example:

-
b2FixtureDef playerFixtureDef, monsterFixtureDef;
-
playerFixtureDef.filter.categoryBits = 0x0002;
-
monsterFixtureDef.filter.categoryBits = 0x0004;
-
playerFixtureDef.filter.maskBits = 0x0004;
-
monsterFixtureDef.filter.maskBits = 0x0002;
-

Here is the rule for a collision to occur:

-
uint16 catA = fixtureA.filter.categoryBits;
-
uint16 maskA = fixtureA.filter.maskBits;
-
uint16 catB = fixtureB.filter.categoryBits;
-
uint16 maskB = fixtureB.filter.maskBits;
-
-
if ((catA & maskB) != 0 && (catB & maskA) != 0)
-
{
-
// fixtures can collide
-
}
-

Collision groups let you specify an integral group index. You can have all fixtures with the same group index always collide (positive index) or never collide (negative index). Group indices are usually used for things that are somehow related, like the parts of a bicycle. In the following example, fixture1 and fixture2 always collide, but fixture3 and fixture4 never collide.

-
fixture1Def.filter.groupIndex = 2;
-
fixture2Def.filter.groupIndex = 2;
-
fixture3Def.filter.groupIndex = -8;
-
fixture4Def.filter.groupIndex = -8;
-

Collisions between fixtures of different group indices are filtered according the category and mask bits. In other words, group filtering has higher precedence than category filtering.

-

Note that additional collision filtering occurs in Box2D. Here is a list:

    -
  • A fixture on a static body can only collide with a dynamic body.
  • -
  • A fixture on a kinematic body can only collide with a dynamic body.
  • -
  • Fixtures on the same body never collide with each other.
  • -
  • You can optionally enable/disable collision between fixtures on bodies connected by a joint.
  • -
-

Sometimes you might need to change collision filtering after a fixture has already been created. You can get and set the b2Filter structure on an existing fixture using b2Fixture::GetFilterData and b2Fixture::SetFilterData. Note that changing the filter data will not add or remove contacts until the next time step (see the World class).

-

-Sensors

-

Sometimes game logic needs to know when two fixtures overlap yet there should be no collision response. This is done by using sensors. A sensor is a fixture that detects collision but does not produce a response.

-

You can flag any fixture as being a sensor. Sensors may be static, kinematic, or dynamic. Remember that you may have multiple fixtures per body and you can have any mix of sensors and solid fixtures. Also, sensors only form contacts when at least one body is dynamic, so you will not get a contact for kinematic versus kinematic, kinematic versus static, or static versus static.

-

Sensors do not generate contact points. There are two ways to get the state of a sensor:

    -
  1. b2Contact::IsTouching
  2. -
  3. b2ContactListener::BeginContact and b2ContactListener::EndContact
  4. -
-

-Joints

-

Joints are used to constrain bodies to the world or to each other. Typical examples in games include ragdolls, teeters, and pulleys. Joints can be combined in many different ways to create interesting motions.

-

Some joints provide limits so you can control the range of motion. Some joint provide motors which can be used to drive the joint at a prescribed speed until a prescribed force/torque is exceeded.

-

Joint motors can be used in many ways. You can use motors to control position by specifying a joint velocity that is proportional to the difference between the actual and desired position. You can also use motors to simulate joint friction: set the joint velocity to zero and provide a small, but significant maximum motor force/torque. Then the motor will attempt to keep the joint from moving until the load becomes too strong.

-

-Joint Definition

-

Each joint type has a definition that derives from b2JointDef. All joints are connected between two different bodies. One body may static. Joints between static and/or kinematic bodies are allowed, but have no effect and use some processing time.

-

You can specify user data for any joint type and you can provide a flag to prevent the attached bodies from colliding with each other. This is actually the default behavior and you must set the collideConnected Boolean to allow collision between to connected bodies.

-

Many joint definitions require that you provide some geometric data. Often a joint will be defined by anchor points. These are points fixed in the attached bodies. Box2D requires these points to be specified in local coordinates. This way the joint can be specified even when the current body transforms violate the joint constraint --- a common occurrence when a game is saved and reloaded. Additionally, some joint definitions need to know the default relative angle between the bodies. This is necessary to constrain rotation correctly.

-

Initializing the geometric data can be tedious, so many joints have initialization functions that use the current body transforms to remove much of the work. However, these initialization functions should usually only be used for prototyping. Production code should define the geometry directly. This will make joint behavior more robust.

-

The rest of the joint definition data depends on the joint type. We cover these now.

-

-Joint Factory

-

Joints are created and destroyed using the world factory methods. This brings up an old issue:

-
-

Caution: Don't try to create a joint on the stack or on the heap using new or malloc. You must create and destroy bodies and joints using the create and destroy methods of the b2World class.

-
-

Here's an example of the lifetime of a revolute joint:

-
b2World* myWorld;
- -
jointDef.bodyA = myBodyA;
-
jointDef.bodyB = myBodyB;
-
jointDef.anchorPoint = myBodyA->GetCenterPosition();
-
-
b2RevoluteJoint* joint = (b2RevoluteJoint*)myWorld->CreateJoint(&jointDef);
-
-
// ... do stuff ...
-
-
myWorld->DestroyJoint(joint);
-
joint = nullptr;
-

It is always good to nullify your pointer after they are destroyed. This will make the program crash in a controlled manner if you try to reuse the pointer.

-

The lifetime of a joint is not simple. Heed this warning well:

-
-

Caution: Joints are destroyed when an attached body is destroyed.

-
-

This precaution is not always necessary. You may organize your game engine so that joints are always destroyed before the attached bodies. In this case you don't need to implement the listener class. See the section on Implicit Destruction for details.

-

-Using Joints

-

Many simulations create the joints and don't access them again until they are destroyed. However, there is a lot of useful data contained in joints that you can use to create a rich simulation.

-

First of all, you can get the bodies, anchor points, and user data from a joint.

-

All joints have a reaction force and torque. This the reaction force applied to body 2 at the anchor point. You can use reaction forces to break joints or trigger other game events. These functions may do some computations, so don't call them if you don't need the result.

-

-Distance Joint

-

One of the simplest joint is a distance joint which says that the distance between two points on two bodies must be constant. When you specify a distance joint the two bodies should already be in place. Then you specify the two anchor points in world coordinates. The first anchor point is connected to body 1, and the second anchor point is connected to body 2. These points imply the length of the distance constraint.

-
- -
-Distance Joint
-

Here is an example of a distance joint definition. In this case we decide to allow the bodies to collide.

-
-
jointDef.Initialize(myBodyA, myBodyB, worldAnchorOnBodyA,
-
worldAnchorOnBodyB);
-
jointDef.collideConnected = true;
-

The distance joint can also be made soft, like a spring-damper connection. See the Web example in the testbed to see how this behaves.

-

Softness is achieved by tuning two constants in the definition: stiffness and damping. It can be non-intuitive setting these values directly since they have units in terms on Newtons. Box2D provides and API to compute these values in terms of frequency and damping ratio.

void b2LinearStiffness(float& stiffness, float& damping,
-
float frequencyHertz, float dampingRatio,
-
const b2Body* bodyA, const b2Body* bodyB);
-

Think of the frequency as the frequency of a harmonic oscillator (like a guitar string). The frequency is specified in Hertz. Typically the frequency should be less than a half the frequency of the time step. So if you are using a 60Hz time step, the frequency of the distance joint should be less than 30Hz. The reason is related to the Nyquist frequency.

-

The damping ratio is non-dimensional and is typically between 0 and 1, but can be larger. At 1, the damping is critical (all oscillations should vanish).

-
float frequencyHz = 4.0f;
-
float dampingRatio = 0.5f;
-
b2LinearStiffness(jointDef.stiffness, jointDef.damping, frequencyHz, dampingRatio, jointDef.bodyA, jointDef.bodyB);
-

It is also possible to define a minimum and maximum length for the distance joint. See b2DistanceJointDef for details.

-

-Revolute Joint

-

A revolute joint forces two bodies to share a common anchor point, often called a hinge point. The revolute joint has a single degree of freedom: the relative rotation of the two bodies. This is called the joint angle.

-
- -
-Revolute Joint
-

To specify a revolute you need to provide two bodies and a single anchor point in world space. The initialization function assumes that the bodies are already in the correct position.

-

In this example, two bodies are connected by a revolute joint at the first body's center of mass.

-
-
jointDef.Initialize(myBodyA, myBodyB, myBodyA->GetWorldCenter());
-

The revolute joint angle is positive when bodyB rotates CCW about the angle point. Like all angles in Box2D, the revolute angle is measured in radians. By convention the revolute joint angle is zero when the joint is created using Initialize(), regardless of the current rotation of the two bodies.

-

In some cases you might wish to control the joint angle. For this, the revolute joint can optionally simulate a joint limit and/or a motor.

-

A joint limit forces the joint angle to remain between a lower and upper bound. The limit will apply as much torque as needed to make this happen. The limit range should include zero, otherwise the joint will lurch when the simulation begins.

-

A joint motor allows you to specify the joint speed (the time derivative of the angle). The speed can be negative or positive. A motor can have infinite force, but this is usually not desirable. Recall the eternal question:

-
-

What happens when an irresistible force meets an immovable object?

-
-

I can tell you it's not pretty. So you can provide a maximum torque for the joint motor. The joint motor will maintain the specified speed unless the required torque exceeds the specified maximum. When the maximum torque is exceeded, the joint will slow down and can even reverse.

-

You can use a joint motor to simulate joint friction. Just set the joint speed to zero, and set the maximum torque to some small, but significant value. The motor will try to prevent the joint from rotating, but will yield to a significant load.

-

Here's a revision of the revolute joint definition above; this time the joint has a limit and a motor enabled. The motor is setup to simulate joint friction.

-
-
jointDef.Initialize(bodyA, bodyB, myBodyA->GetWorldCenter());
-
jointDef.lowerAngle = -0.5f * b2_pi; // -90 degrees
-
jointDef.upperAngle = 0.25f * b2_pi; // 45 degrees
-
jointDef.enableLimit = true;
-
jointDef.maxMotorTorque = 10.0f;
-
jointDef.motorSpeed = 0.0f;
-
jointDef.enableMotor = true;
-

You can access a revolute joint's angle, speed, and motor torque.

-

You also update the motor parameters each step.

-
- -

Joint motors have some interesting abilities. You can update the joint speed every time step so you can make the joint move back-and-forth like a sine-wave or according to whatever function you want.

-
// ... Game Loop Begin ...
-
-
myJoint->SetMotorSpeed(cosf(0.5f * time));
-
-
// ... Game Loop End ...
-

You can also use joint motors to track a desired joint angle. For example:

-
// ... Game Loop Begin ...
-
-
float angleError = myJoint->GetJointAngle() - angleTarget;
-
float gain = 0.1f;
-
myJoint->SetMotorSpeed(-gain * angleError);
-
-
// ... Game Loop End ...
-

Generally your gain parameter should not be too large. Otherwise your joint may become unstable.

-

-Prismatic Joint

-

A prismatic joint allows for relative translation of two bodies along a specified axis. A prismatic joint prevents relative rotation. Therefore, a prismatic joint has a single degree of freedom.

-
- -
-Prismatic Joint
-

The prismatic joint definition is similar to the revolute joint description; just substitute translation for angle and force for torque. Using this analogy provides an example prismatic joint definition with a joint limit and a friction motor:

-
-
b2Vec2 worldAxis(1.0f, 0.0f);
-
jointDef.Initialize(myBodyA, myBodyB, myBodyA->GetWorldCenter(), worldAxis);
-
jointDef.lowerTranslation = -5.0f;
-
jointDef.upperTranslation = 2.5f;
-
jointDef.enableLimit = true;
-
jointDef.maxMotorForce = 1.0f;
-
jointDef.motorSpeed = 0.0f;
-
jointDef.enableMotor = true;
-

The revolute joint has an implicit axis coming out of the screen. The prismatic joint needs an explicit axis parallel to the screen. This axis is fixed in the two bodies and follows their motion.

-

Like the revolute joint, the prismatic joint translation is zero when the joint is created using Initialize(). So be sure zero is between your lower and upper translation limits.

-

Using a prismatic joint is similar to using a revolute joint. Here are the relevant member functions:

-
float PrismaticJoint::GetJointTranslation() const;
-
float PrismaticJoint::GetJointSpeed() const;
-
float PrismaticJoint::GetMotorForce() const;
-
void PrismaticJoint::SetMotorSpeed(float speed);
-
void PrismaticJoint::SetMotorForce(float force);
-

-Pulley Joint

-

A pulley is used to create an idealized pulley. The pulley connects two bodies to ground and to each other. As one body goes up, the other goes down. The total length of the pulley rope is conserved according to the initial configuration.

-
length1 + length2 == constant
-

You can supply a ratio that simulates a block and tackle. This causes one side of the pulley to extend faster than the other. At the same time the constraint force is smaller on one side than the other. You can use this to create mechanical leverage.

-
length1 + ratio * length2 == constant
-

For example, if the ratio is 2, then length1 will vary at twice the rate of length2. Also the force in the rope attached to body1 will have half the constraint force as the rope attached to body2.

-
- -
-Pulley Joint
-

Pulleys can be troublesome when one side is fully extended. The rope on the other side will have zero length. At this point the constraint equations become singular (bad). You should configure collision shapes to prevent this.

-

Here is an example pulley definition:

-
b2Vec2 anchor1 = myBody1->GetWorldCenter();
-
b2Vec2 anchor2 = myBody2->GetWorldCenter();
-
-
b2Vec2 groundAnchor1(p1.x, p1.y + 10.0f);
-
b2Vec2 groundAnchor2(p2.x, p2.y + 12.0f);
-
-
float ratio = 1.0f;
-
- -
jointDef.Initialize(myBody1, myBody2, groundAnchor1, groundAnchor2, anchor1, anchor2, ratio);
-

Pulley joints provide the current lengths.

-
float PulleyJoint::GetLengthA() const;
-
float PulleyJoint::GetLengthB() const;
-

-Gear Joint

-

If you want to create a sophisticated mechanical contraption you might want to use gears. In principle you can create gears in Box2D by using compound shapes to model gear teeth. This is not very efficient and might be tedious to author. You also have to be careful to line up the gears so the teeth mesh smoothly. Box2D has a simpler method of creating gears: the gear joint.

-
- -
-Gear Joint
-

The gear joint can only connect revolute and/or prismatic joints.

-

Like the pulley ratio, you can specify a gear ratio. However, in this case the gear ratio can be negative. Also keep in mind that when one joint is a revolute joint (angular) and the other joint is prismatic (translation), and then the gear ratio will have units of length or one over length.

-
coordinate1 + ratio * coordinate2 == constant
-

Here is an example gear joint. The bodies myBodyA and myBodyB are any bodies from the two joints, as long as they are not the same bodies.

-
b2GearJointDef jointDef;
-
jointDef.bodyA = myBodyA;
-
jointDef.bodyB = myBodyB;
-
jointDef.joint1 = myRevoluteJoint;
-
jointDef.joint2 = myPrismaticJoint;
-
jointDef.ratio = 2.0f * b2_pi / myLength;
-

Note that the gear joint depends on two other joints. This creates a fragile situation. What happens if those joints are deleted?

-
-

Caution: Always delete gear joints before the revolute/prismatic joints on the gears. Otherwise your code will crash in a bad way due to the orphaned joint pointers in the gear joint. You should also delete the gear joint before you delete any of the bodies involved.

-
-

-Mouse Joint

-

The mouse joint is used in the testbed to manipulate bodies with the mouse. It attempts to drive a point on a body towards the current position of the cursor. There is no restriction on rotation.

-

The mouse joint definition has a target point, maximum force, frequency, and damping ratio. The target point initially coincides with the body's anchor point. The maximum force is used to prevent violent reactions when multiple dynamic bodies interact. You can make this as large as you like. The frequency and damping ratio are used to create a spring/damper effect similar to the distance joint.

-

Many users have tried to adapt the mouse joint for game play. Users often want to achieve precise positioning and instantaneous response. The mouse joint doesn't work very well in that context. You may wish to consider using kinematic bodies instead.

-

-Wheel Joint

-

The wheel joint restricts a point on bodyB to a line on bodyA. The wheel joint also provides a suspension spring. See b2WheelJoint.h and Car.h for details.

-
- -
-Wheel Joint
-

-Weld Joint

-

The weld joint attempts to constrain all relative motion between two bodies. See the Cantilever.h in the testbed to see how the weld joint behaves.

-

It is tempting to use the weld joint to define breakable structures. However, the Box2D solver is iterative so the joints are a bit soft. So chains of bodies connected by weld joints will flex.

-

Instead it is better to create breakable bodies starting with a single body with multiple fixtures. When the body breaks, you can destroy a fixture and recreate it on a new body. See the Breakable example in the testbed.

-

-Rope Joint

-

The rope joint restricts the maximum distance between two points. This can be useful to prevent chains of bodies from stretching, even under high load. See b2RopeJoint.h and rope_joint.cpp for details.

-

-Friction Joint

-

The friction joint is used for top-down friction. The joint provides 2D translational friction and angular friction. See b2FrictionJoint.h and apply_force.cpp for details.

-

-Motor Joint

-

A motor joint lets you control the motion of a body by specifying target position and rotation offsets. You can set the maximum motor force and torque that will be applied to reach the target position and rotation. If the body is blocked, it will stop and the contact forces will be proportional the maximum motor force and torque. See b2MotorJoint and motor_joint.cpp for details.

-

-Wheel Joint

-

The wheel joint is designed specifically for vehicles. It provides a translation and rotation. The translation has a spring and damper to simulate the vehicle suspension. The rotation allows the wheel to rotate. You can specify an rotational motor to drive the wheel and to apply braking. See b2WheelJoint, wheel_joint.cpp, and car.cpp for details.

-

-Contacts

-

Contacts are objects created by Box2D to manage collision between two fixtures. If the fixture has children, such as a chain shape, then a contact exists for each relevant child. There are different kinds of contacts, derived from b2Contact, for managing contact between different kinds of fixtures. For example there is a contact class for managing polygon-polygon collision and another contact class for managing circle-circle collision.

-

Here is some terminology associated with contacts.

-

-contact point

-

A contact point is a point where two shapes touch. Box2D approximates contact with a small number of points.

-

-contact normal

-

A contact normal is a unit vector that points from one shape to another. By convention, the normal points from fixtureA to fixtureB.

-

-contact separation

-

Separation is the opposite of penetration. Separation is negative when shapes overlap. It is possible that future versions of Box2D will create contact points with positive separation, so you may want to check the sign when contact points are reported.

-

-contact manifold

-

Contact between two convex polygons may generate up to 2 contact points. Both of these points use the same normal, so they are grouped into a contact manifold, which is an approximation of a continuous region of contact.

-

-normal impulse

-

The normal force is the force applied at a contact point to prevent the shapes from penetrating. For convenience, Box2D works with impulses. The normal impulse is just the normal force multiplied by the time step.

-

-tangent impulse

-

The tangent force is generated at a contact point to simulate friction. For convenience, this is stored as an impulse.

-

-contact ids

-

Box2D tries to re-use the contact force results from a time step as the initial guess for the next time step. Box2D uses contact ids to match contact points across time steps. The ids contain geometric features indices that help to distinguish one contact point from another.

-

Contacts are created when two fixture's AABBs overlap. Sometimes collision filtering will prevent the creation of contacts. Contacts are destroyed with the AABBs cease to overlap.

-

So you might gather that there may be contacts created for fixtures that are not touching (just their AABBs). Well, this is correct. It's a "chicken or egg" problem. We don't know if we need a contact object until one is created to analyze the collision. We could delete the contact right away if the shapes are not touching, or we can just wait until the AABBs stop overlapping. Box2D takes the latter approach because it lets the system cache information to improve performance.

-

-Contact Class

-

As mentioned before, the contact class is created and destroyed by Box2D. Contact objects are not created by the user. However, you are able to access the contact class and interact with it.

-

You can access the raw contact manifold:

-

You can potentially modify the manifold, but this is generally not supported and is for advanced usage.

-

There is a helper function to get the b2WorldManifold:

-
void b2Contact::GetWorldManifold(b2WorldManifold* worldManifold) const;
-

This uses the current positions of the bodies to compute world positions of the contact points.

-

Sensors do not create manifolds, so for them use:

-
bool touching = sensorContact->IsTouching();
-

This function also works for non-sensors.

-

You can get the fixtures from a contact. From those you can get the bodies.

-
b2Fixture* fixtureA = myContact->GetFixtureA();
-
b2Body* bodyA = fixtureA->GetBody();
-
MyActor* actorA = (MyActor*)bodyA->GetUserData().pointer;
-

You can disable a contact. This only works inside the b2ContactListener::PreSolve event, discussed below.

-

-Accessing Contacts

-

You can get access to contacts in several ways. You can access the contacts directly on the world and body structures. You can also implement a contact listener.

-

You can iterate over all contacts in the world:

-
for (b2Contact* c = myWorld->GetContactList(); c; c = c->GetNext())
-
{
-
// process c
-
}
-

You can also iterate over all the contacts on a body. These are stored in a graph using a contact edge structure.

-
for (b2ContactEdge* ce = myBody->GetContactList(); ce; ce = ce->next)
-
{
-
b2Contact* c = ce->contact;
-
// process c
-
}
-

You can also access contacts using the contact listener that is described below.

-
-

Caution: Accessing contacts off b2World and b2Body may miss some transient contacts that occur in the middle of the time step. Use b2ContactListener to get the most accurate results.

-
-

-Contact Listener

-

You can receive contact data by implementing b2ContactListener. The contact listener supports several events: begin, end, pre-solve, and post-solve.

-
class MyContactListener : public b2ContactListener
-
{
-
public:
-
-
void BeginContact(b2Contact* contact)
-
{ /* handle begin event */ }
-
-
void EndContact(b2Contact* contact)
-
{ /* handle end event */ }
-
-
void PreSolve(b2Contact* contact, const b2Manifold* oldManifold)
-
{ /* handle pre-solve event */ }
-
-
void PostSolve(b2Contact* contact, const b2ContactImpulse* impulse)
-
{ /* handle post-solve event */ }
-
};
-
-

Caution: Do not keep a reference to the pointers sent to b2ContactListener. Instead make a deep copy of the contact point data into your own buffer. The example below shows one way of doing this.

-
-

At run-time you can create an instance of the listener and register it with b2World::SetContactListener. Be sure your listener remains in scope while the world object exists.

-

-Begin Contact Event

-

This is called when two fixtures begin to overlap. This is called for sensors and non-sensors. This event can only occur inside the time step.

-

-End Contact Event

-

This is called when two fixtures cease to overlap. This is called for sensors and non-sensors. This may be called when a body is destroyed, so this event can occur outside the time step.

-

-Pre-Solve Event

-

This is called after collision detection, but before collision resolution. This gives you a chance to disable the contact based on the current configuration. For example, you can implement a one-sided platform using this callback and calling b2Contact::SetEnabled(false). The contact will be re-enabled each time through collision processing, so you will need to disable the contact every time-step. The pre-solve event may be fired multiple times per time step per contact due to continuous collision detection.

-
void PreSolve(b2Contact* contact, const b2Manifold* oldManifold)
-
{
-
b2WorldManifold worldManifold;
-
contact->GetWorldManifold(&worldManifold);
-
if (worldManifold.normal.y < -0.5f)
-
{
-
contact->SetEnabled(false);
-
}
-
}
-

The pre-solve event is also a good place to determine the point state and the approach velocity of collisions.

-
void PreSolve(b2Contact* contact, const b2Manifold* oldManifold)
-
{
-
b2WorldManifold worldManifold;
-
contact->GetWorldManifold(&worldManifold);
-
-
b2PointState state1[2], state2[2];
-
b2GetPointStates(state1, state2, oldManifold, contact->GetManifold());
-
-
if (state2[0] == b2_addState)
-
{
-
const b2Body* bodyA = contact->GetFixtureA()->GetBody();
-
const b2Body* bodyB = contact->GetFixtureB()->GetBody();
-
b2Vec2 point = worldManifold.points[0];
- - -
-
float approachVelocity = b2Dot(vB -- vA, worldManifold.normal);
-
-
if (approachVelocity > 1.0f)
-
{
-
MyPlayCollisionSound();
-
}
-
}
-
}
-

-Post-Solve Event

-

The post solve event is where you can gather collision impulse results. If you don't care about the impulses, you should probably just implement the pre-solve event.

-

It is tempting to implement game logic that alters the physics world inside a contact callback. For example, you may have a collision that applies damage and try to destroy the associated actor and its rigid body. However, Box2D does not allow you to alter the physics world inside a callback because you might destroy objects that Box2D is currently processing, leading to orphaned pointers.

-

The recommended practice for processing contact points is to buffer all contact data that you care about and process it after the time step. You should always process the contact points immediately after the time step; otherwise some other client code might alter the physics world, invalidating the contact buffer. When you process the contact buffer you can alter the physics world, but you still need to be careful that you don't orphan pointers stored in the contact point buffer. The testbed has example contact point processing that is safe from orphaned pointers.

-

This code from the CollisionProcessing test shows how to handle orphaned bodies when processing the contact buffer. Here is an excerpt. Be sure to read the comments in the listing. This code assumes that all contact points have been buffered in the b2ContactPoint array m_points.

-
// We are going to destroy some bodies according to contact
-
// points. We must buffer the bodies that should be destroyed
-
// because they may belong to multiple contact points.
-
const int32 k_maxNuke = 6;
-
b2Body* nuke[k_maxNuke];
-
int32 nukeCount = 0;
-
-
// Traverse the contact buffer. Destroy bodies that
-
// are touching heavier bodies.
-
for (int32 i = 0; i < m_pointCount; ++i)
-
{
-
ContactPoint* point = m_points + i;
-
b2Body* bodyA = point->fixtureA->GetBody();
-
b2Body* bodyB = point->FixtureB->GetBody();
-
float massA = bodyA->GetMass();
-
float massB = bodyB->GetMass();
-
-
if (massA > 0.0f && massB > 0.0f)
-
{
-
if (massB > massA)
-
{
-
nuke[nukeCount++] = bodyA;
-
}
-
else
-
{
-
nuke[nukeCount++] = bodyB;
-
}
-
-
if (nukeCount == k_maxNuke)
-
{
-
break;
-
}
-
}
-
}
-
-
// Sort the nuke array to group duplicates.
-
std::sort(nuke, nuke + nukeCount);
-
-
// Destroy the bodies, skipping duplicates.
-
int32 i = 0;
-
while (i < nukeCount)
-
{
-
b2Body* b = nuke[i++];
-
while (i < nukeCount && nuke[i] == b)
-
{
-
++i;
-
}
-
-
m_world->DestroyBody(b);
-
}
-

-Contact Filtering

-

Often in a game you don't want all objects to collide. For example, you may want to create a door that only certain characters can pass through. This is called contact filtering, because some interactions are filtered out.

-

Box2D allows you to achieve custom contact filtering by implementing a b2ContactFilter class. This class requires you to implement a ShouldCollide function that receives two b2Shape pointers. Your function returns true if the shapes should collide.

-

The default implementation of ShouldCollide uses the b2FilterData defined in Chapter 6, Fixtures.

-
-
{
-
const b2Filter& filterA = fixtureA->GetFilterData();
-
const b2Filter& filterB = fixtureB->GetFilterData();
-
-
if (filterA.groupIndex == filterB.groupIndex && filterA.groupIndex != 0)
-
{
-
return filterA.groupIndex > 0;
-
}
-
-
bool collideA = (filterA.maskBits & filterB.categoryBits) != 0;
-
bool collideB = (filterA.categoryBits & filterB.maskBits) != 0
-
bool collide = collideA && collideB;
-
return collide;
-
}
-

At run-time you can create an instance of your contact filter and register it with b2World::SetContactFilter. Make sure your filter stays in scope while the world exists.

-
MyContactFilter filter;
-
world->SetContactFilter(&filter);
-
// filter remains in scope ...
-

-World

-

The b2World class contains the bodies and joints. It manages all aspects of the simulation and allows for asynchronous queries (like AABB queries and ray-casts). Much of your interactions with Box2D will be with a b2World object.

-

-Creating and Destroying a World

-

Creating a world is fairly simple. You just need to provide a gravity vector and a Boolean indicating if bodies can sleep. Usually you will create and destroy a world using new and delete.

-
b2World* myWorld = new b2World(gravity, doSleep);
-
-
// ... do stuff ...
-
-
delete myWorld;
-

-Using a World

-

The world class contains factories for creating and destroying bodies and joints. These factories are discussed later in the sections on bodies and joints. There are some other interactions with b2World that I will cover now.

-

-Simulation

-

The world class is used to drive the simulation. You specify a time step and a velocity and position iteration count. For example:

-
float timeStep = 1.0f / 60.f;
-
int32 velocityIterations = 10;
-
int32 positionIterations = 8;
-
myWorld->Step(timeStep, velocityIterations, positionIterations);
-

After the time step you can examine your bodies and joints for information. Most likely you will grab the position off the bodies so that you can update your actors and render them. You can perform the time step anywhere in your game loop, but you should be aware of the order of things. For example, you must create bodies before the time step if you want to get collision results for the new bodies in that frame.

-

As I discussed above in the HelloWorld tutorial, you should use a fixed time step. By using a larger time step you can improve performance in low frame rate scenarios. But generally you should use a time step no larger than 1/30 seconds. A time step of 1/60 seconds will usually deliver a high quality simulation.

-

The iteration count controls how many times the constraint solver sweeps over all the contacts and joints in the world. More iteration always yields a better simulation. But don't trade a small time step for a large iteration count. 60Hz and 10 iterations is far better than 30Hz and 20 iterations.

-

After stepping, you should clear any forces you have applied to your bodies. This is done with the command b2World::ClearForces. This lets you take multiple sub-steps with the same force field.

-
myWorld->ClearForces();
-

-Exploring the World

-

The world is a container for bodies, contacts, and joints. You can grab the body, contact, and joint lists off the world and iterate over them. For example, this code wakes up all the bodies in the world:

-
for (b2Body* b = myWorld->GetBodyList(); b; b = b->GetNext())
-
{
-
b->SetAwake(true);
-
}
-

Unfortunately real programs can be more complicated. For example, the following code is broken:

-
for (b2Body* b = myWorld->GetBodyList(); b; b = b->GetNext())
-
{
-
GameActor* myActor = (GameActor*)b->GetUserData().pointer;
-
if (myActor->IsDead())
-
{
-
myWorld->DestroyBody(b); // ERROR: now GetNext returns garbage.
-
}
-
}
-

Everything goes ok until a body is destroyed. Once a body is destroyed, its next pointer becomes invalid. So the call to b2Body::GetNext() will return garbage. The solution to this is to copy the next pointer before destroying the body.

-
b2Body* node = myWorld->GetBodyList();
-
while (node)
-
{
-
b2Body* b = node;
-
node = node->GetNext();
-
-
GameActor* myActor = (GameActor*)b->GetUserData().pointer;
-
if (myActor->IsDead())
-
{
-
myWorld->DestroyBody(b);
-
}
-
}
-

This safely destroys the current body. However, you may want to call a game function that may destroy multiple bodies. In this case you need to be very careful. The solution is application specific, but for convenience I'll show one method of solving the problem.

-
b2Body* node = myWorld->GetBodyList();
-
while (node)
-
{
-
b2Body* b = node;
-
node = node->GetNext();
-
-
GameActor* myActor = (GameActor*)b->GetUserData().pointer;
-
if (myActor->IsDead())
-
{
-
bool otherBodiesDestroyed = GameCrazyBodyDestroyer(b);
-
if (otherBodiesDestroyed)
-
{
-
node = myWorld->GetBodyList();
-
}
-
}
-
}
-

Obviously to make this work, GameCrazyBodyDestroyer must be honest about what it has destroyed.

-

-AABB Queries

-

Sometimes you want to determine all the shapes in a region. The b2World class has a fast log(N) method for this using the broad-phase data structure. You provide an AABB in world coordinates and an implementation of b2QueryCallback. The world calls your class with each fixture whose AABB overlaps the query AABB. Return true to continue the query, otherwise return false. For example, the following code finds all the fixtures that potentially intersect a specified AABB and wakes up all of the associated bodies.

-
class MyQueryCallback : public b2QueryCallback
-
{
-
public:
-
bool ReportFixture(b2Fixture* fixture)
-
{
-
b2Body* body = fixture->GetBody();
-
body->SetAwake(true);
-
-
// Return true to continue the query.
-
return true;
-
}
-
};
-
-
// Elsewhere ...
-
MyQueryCallback callback;
-
b2AABB aabb;
-
-
aabb.lowerBound.Set(-1.0f, -1.0f);
-
aabb.upperBound.Set(1.0f, 1.0f);
-
myWorld->Query(&callback, aabb);
-

You cannot make any assumptions about the order of the callbacks.

-

-Ray Casts

-

You can use ray casts to do line-of-sight checks, fire guns, etc. You perform a ray cast by implementing a callback class and providing the start and end points. The world class calls your class with each fixture hit by the ray. Your callback is provided with the fixture, the point of intersection, the unit normal vector, and the fractional distance along the ray. You cannot make any assumptions about the order of the callbacks.

-

You control the continuation of the ray cast by returning a fraction. Returning a fraction of zero indicates the ray cast should be terminated. A fraction of one indicates the ray cast should continue as if no hit occurred. If you return the fraction from the argument list, the ray will be clipped to the current intersection point. So you can ray cast any shape, ray cast all shapes, or ray cast the closest shape by returning the appropriate fraction.

-

You may also return of fraction of -1 to filter the fixture. Then the ray cast will proceed as if the fixture does not exist.

-

Here is an example:

-
// This class captures the closest hit shape.
-
class MyRayCastCallback : public b2RayCastCallback
-
{
-
public:
-
MyRayCastCallback()
-
{
-
m_fixture = NULL;
-
}
-
-
float ReportFixture(b2Fixture* fixture, const b2Vec2& point,
-
const b2Vec2& normal, float fraction)
-
{
-
m_fixture = fixture;
-
m_point = point;
-
m_normal = normal;
-
m_fraction = fraction;
-
return fraction;
-
}
-
-
b2Fixture* m_fixture;
-
b2Vec2 m_point;
-
b2Vec2 m_normal;
-
float m_fraction;
-
};
-
-
// Elsewhere ...
-
MyRayCastCallback callback;
-
b2Vec2 point1(-1.0f, 0.0f);
-
b2Vec2 point2(3.0f, 1.0f);
-
myWorld->RayCast(&callback, point1, point2);
-
-

Caution: Due to round-off errors, ray casts can sneak through small cracks between polygons in your static environment. If this is not acceptable in your application, trying slightly overlapping your polygons.

-
-
-
-
-
void ClearForces()
-
b2Joint * CreateJoint(const b2JointDef *def)
-
b2Manifold * GetManifold()
Definition: b2_contact.h:244
-
A 2D column vector.
Definition: b2_math.h:41
-
bool enableLimit
Enable/disable the joint limit.
Definition: b2_prismatic_joint.h:69
-
@ b2_addState
point was added in the update
Definition: b2_collision.h:135
-
virtual void PreSolve(b2Contact *contact, const b2Manifold *oldManifold)
Definition: b2_world_callbacks.h:107
-
bool IsAwake() const
Definition: b2_body.h:661
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
float linearDamping
Definition: b2_body.h:93
-
b2ContactEdge * next
the next contact edge in the body's contact list
Definition: b2_contact.h:82
-
float upperAngle
The upper angle for the joint limit (radians).
Definition: b2_revolute_joint.h:75
-
void GetMassData(b2MassData *data) const
Definition: b2_body.h:554
-
void SetBullet(bool flag)
Should this body be treated like a bullet for continuous collision detection?
Definition: b2_body.h:621
-
void SetTransform(const b2Vec2 &position, float angle)
-
b2Fixture * GetFixtureList()
Get the list of all fixtures attached to this body.
Definition: b2_body.h:694
-
b2Body * GetBodyA()
Get the first body attached to this joint.
Definition: b2_joint.h:198
-
virtual bool ShouldCollide(b2Fixture *fixtureA, b2Fixture *fixtureB)
-
b2Vec2 lowerBound
the lower vertex
Definition: b2_collision.h:220
-
b2Body * GetBodyList()
Definition: b2_world.h:264
-
b2Vec2 GetLocalPoint(const b2Vec2 &worldPoint) const
Definition: b2_body.h:571
-
virtual b2Vec2 GetReactionForce(float inv_dt) const =0
Get the reaction force on bodyB at the joint anchor in Newtons.
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition: b2_joint.h:95
-
const b2Transform & GetTransform() const
Definition: b2_body.h:479
-
Definition: b2_gear_joint.h:31
-
uintptr_t pointer
For legacy compatibility.
Definition: b2_settings.h:66
-
bool enableMotor
A flag to enable the joint motor.
Definition: b2_revolute_joint.h:78
-
const b2Filter & GetFilterData() const
Get the contact filtering data.
Definition: b2_fixture.h:273
-
virtual b2Vec2 GetAnchorA() const =0
Get the anchor point on bodyA in world coordinates.
-
void Initialize(b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor)
-
b2Body * CreateBody(const b2BodyDef *def)
-
Definition: b2_world_callbacks.h:86
-
b2Body * GetBodyB()
Get the second body attached to this joint.
Definition: b2_joint.h:203
-
void DestroyBody(b2Body *body)
-
Definition: b2_math.h:338
-
b2BodyType GetType() const
Get the type of this body.
Definition: b2_body.h:474
-
virtual void BeginContact(b2Contact *contact)
Called when two fixtures begin to touch.
Definition: b2_world_callbacks.h:92
-
bool enableMotor
Enable/disable the joint motor.
Definition: b2_prismatic_joint.h:78
-
float maxMotorTorque
Definition: b2_revolute_joint.h:85
-
b2Vec2 GetWorldPoint(const b2Vec2 &localPoint) const
Definition: b2_body.h:561
-
virtual float ReportFixture(b2Fixture *fixture, const b2Vec2 &point, const b2Vec2 &normal, float fraction)=0
-
Definition: b2_pulley_joint.h:33
-
b2Body * GetNext()
Get the next body in the world's body list.
Definition: b2_body.h:724
-
Definition: b2_collision.h:99
-
Definition: b2_world_callbacks.h:128
-
b2BodyUserData & GetUserData()
Get the user data pointer that was provided in the body definition.
Definition: b2_body.h:734
-
Definition: b2_prismatic_joint.h:35
-
void SetMaxMotorTorque(float torque)
Set the maximum motor torque, usually in N-m.
-
b2Vec2 GetLinearVelocityFromWorldPoint(const b2Vec2 &worldPoint) const
Definition: b2_body.h:581
-
b2Filter filter
Contact filtering data.
Definition: b2_fixture.h:99
-
float gravityScale
Scale the gravity applied to this body.
Definition: b2_body.h:124
-
bool fixedRotation
Should this body be prevented from rotating? Useful for characters.
Definition: b2_body.h:109
-
b2Joint * joint2
The second revolute/prismatic joint attached to the gear joint.
Definition: b2_gear_joint.h:45
-
void SetType(b2BodyType type)
Set the type of this body. This may alter the mass and velocity.
-
float angularDamping
Definition: b2_body.h:99
-
void Initialize(b2Body *bodyA, b2Body *bodyB, const b2Vec2 &groundAnchorA, const b2Vec2 &groundAnchorB, const b2Vec2 &anchorA, const b2Vec2 &anchorB, float ratio)
Initialize the bodies, anchors, lengths, max lengths, and ratio using the world anchors.
-
b2Vec2 GetLocalVector(const b2Vec2 &worldVector) const
Definition: b2_body.h:576
-
float angle
The world angle of the body in radians.
Definition: b2_body.h:81
-
uint16 categoryBits
The collision category bits. Normally you would just set one bit.
Definition: b2_fixture.h:47
-
bool enableLimit
A flag to enable joint limits.
Definition: b2_revolute_joint.h:69
-
float GetInertia() const
Definition: b2_body.h:549
-
float damping
The linear damping in N*s/m.
Definition: b2_distance_joint.h:71
-
const b2Shape * shape
Definition: b2_fixture.h:76
-
b2PointState
This is used for determining the state of contact points.
Definition: b2_collision.h:132
-
void ApplyAngularImpulse(float impulse, bool wake)
Definition: b2_body.h:836
-
void SetSleepingAllowed(bool flag)
Definition: b2_body.h:676
-
void Set(float x_, float y_)
Set this vector to some specified coordinates.
Definition: b2_math.h:53
-
void DestroyJoint(b2Joint *joint)
-
bool IsBullet() const
Is this body treated like a bullet for continuous collision detection?
Definition: b2_body.h:633
-
bool IsSleepingAllowed() const
Is this body allowed to sleep.
Definition: b2_body.h:689
-
b2Fixture * CreateFixture(const b2FixtureDef *def)
-
Definition: b2_fixture.h:61
-
This is used to compute the current state of a contact manifold.
Definition: b2_collision.h:116
-
float motorSpeed
The desired motor speed in radians per second.
Definition: b2_prismatic_joint.h:84
-
b2Vec2 GetWorldVector(const b2Vec2 &localVector) const
Definition: b2_body.h:566
-
virtual void PostSolve(b2Contact *contact, const b2ContactImpulse *impulse)
Definition: b2_world_callbacks.h:119
-
b2Body * bodyB
The second attached body.
Definition: b2_joint.h:92
-
b2BodyType type
Definition: b2_body.h:74
-
void SetDensity(float density)
Definition: b2_fixture.h:303
-
virtual void EndContact(b2Contact *contact)
Called when two fixtures cease to touch.
Definition: b2_world_callbacks.h:95
-
b2Fixture * GetFixtureB()
Get fixture B in this contact.
Definition: b2_contact.h:306
-
Definition: b2_fixture.h:116
-
Definition: b2_revolute_joint.h:39
-
An axis aligned bounding box.
Definition: b2_collision.h:168
-
bool bullet
Definition: b2_body.h:115
-
virtual bool ReportFixture(b2Fixture *fixture)=0
-
Definition: b2_revolute_joint.h:94
-
const b2Vec2 & GetWorldCenter() const
Get the world position of the center of mass.
Definition: b2_body.h:494
-
float GetAngle() const
Definition: b2_body.h:489
-
bool awake
Is this body initially awake or sleeping?
Definition: b2_body.h:106
-
bool allowSleep
Definition: b2_body.h:103
-
float motorSpeed
The desired motor speed. Usually in radians per second.
Definition: b2_revolute_joint.h:81
-
int16 groupIndex
Definition: b2_fixture.h:56
-
b2BodyUserData userData
Use this to store application specific body data.
Definition: b2_body.h:121
-
b2Joint * joint1
The first revolute/prismatic joint attached to the gear joint.
Definition: b2_gear_joint.h:42
-
Definition: b2_body.h:52
-
float maxMotorForce
The maximum motor torque, usually in N-m.
Definition: b2_prismatic_joint.h:81
-
float stiffness
The linear stiffness in N/m.
Definition: b2_distance_joint.h:68
-
b2Contact * GetContactList()
Definition: b2_world.h:284
-
Definition: b2_world_callbacks.h:70
-
B2_API void b2GetPointStates(b2PointState state1[b2_maxManifoldPoints], b2PointState state2[b2_maxManifoldPoints], const b2Manifold *manifold1, const b2Manifold *manifold2)
-
b2Vec2 upperBound
the upper vertex
Definition: b2_collision.h:221
-
bool IsEnabled() const
Get the active state of the body.
Definition: b2_body.h:666
-
void RayCast(b2RayCastCallback *callback, const b2Vec2 &point1, const b2Vec2 &point2) const
-
void SetEnabled(bool flag)
-
Definition: b2_contact.h:88
-
b2ContactEdge * GetContactList()
Definition: b2_body.h:714
-
b2Vec2 normal
world vector pointing from A to B
Definition: b2_collision.h:126
-
float GetMass() const
Definition: b2_body.h:544
-
float lowerTranslation
The lower translation limit, usually in meters.
Definition: b2_prismatic_joint.h:72
-
float density
The density, usually in kg/m^2.
Definition: b2_fixture.h:92
-
void DestroyFixture(b2Fixture *fixture)
-
Definition: b2_world_callbacks.h:140
-
Definition: b2_world.h:46
-
bool IsFixedRotation() const
Does this body have fixed rotation?
Definition: b2_body.h:671
-
float GetMotorTorque(float inv_dt) const
-
void ApplyLinearImpulse(const b2Vec2 &impulse, const b2Vec2 &point, bool wake)
Definition: b2_body.h:797
-
float GetJointSpeed() const
Get the current joint angle speed in radians per second.
-
void Initialize(b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor, const b2Vec2 &axis)
-
uint16 maskBits
Definition: b2_fixture.h:51
-
This holds the mass data computed for a shape.
Definition: b2_shape.h:33
-
b2JointUserData & GetUserData()
Get the user data pointer.
Definition: b2_joint.h:218
-
b2Contact * GetNext()
Get the next contact in the world's contact list.
Definition: b2_contact.h:286
-
void SetAwake(bool flag)
Definition: b2_body.h:638
-
virtual b2Vec2 GetAnchorB() const =0
Get the anchor point on bodyB in world coordinates.
-
void SetMassData(const b2MassData *data)
-
void ApplyTorque(float torque, bool wake)
Definition: b2_body.h:778
-
void SetFixedRotation(bool flag)
-
void SetMotorSpeed(float speed)
Set the motor speed in radians per second.
-
b2Body * bodyA
The first attached body.
Definition: b2_joint.h:89
-
const b2Vec2 & GetLocalCenter() const
Get the local position of the center of mass.
Definition: b2_body.h:499
-
This holds contact filtering data.
Definition: b2_fixture.h:37
-
void ResetMassData()
-
virtual float GetReactionTorque(float inv_dt) const =0
Get the reaction torque on bodyB in N*m.
-
const b2Vec2 & GetPosition() const
Definition: b2_body.h:484
-
float GetJointAngle() const
Get the current joint angle in radians.
-
Definition: b2_contact.h:77
-
b2Fixture * GetNext()
Definition: b2_fixture.h:293
-
void Step(float timeStep, int32 velocityIterations, int32 positionIterations)
-
b2Vec2 points[b2_maxManifoldPoints]
world contact point (point of intersection)
Definition: b2_collision.h:127
-
float upperTranslation
The upper translation limit, usually in meters.
Definition: b2_prismatic_joint.h:75
-
void ApplyForce(const b2Vec2 &force, const b2Vec2 &point, bool wake)
Definition: b2_body.h:739
-
void GetWorldManifold(b2WorldManifold *worldManifold) const
Get the world manifold.
Definition: b2_contact.h:254
-
b2Body * GetBody()
Definition: b2_fixture.h:283
-
float lowerAngle
The lower angle for the joint limit (radians).
Definition: b2_revolute_joint.h:72
-
b2Fixture * GetFixtureA()
Get fixture A in this contact.
Definition: b2_contact.h:296
-
float ratio
Definition: b2_gear_joint.h:49
-
void SetEnabled(bool flag)
Definition: b2_contact.h:264
-
b2Vec2 position
Definition: b2_body.h:78
-
Definition: b2_distance_joint.h:33
-
void Initialize(b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchorA, const b2Vec2 &anchorB)
- - - - diff --git a/documentation/md__d_1__git_hub_box2d_docs_hello.html b/documentation/md__d_1__git_hub_box2d_docs_hello.html deleted file mode 100644 index 12f67be..0000000 --- a/documentation/md__d_1__git_hub_box2d_docs_hello.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - -Box2D: Hello Box2D - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Hello Box2D
-
-
-

In the distribution of Box2D is a Hello World project. The program creates a large ground box and a small dynamic box. This code does not contain any graphics. All you will see is text output in the console of the box's position over time.

-

This is a good example of how to get up and running with Box2D.

-

-Creating a World

-

Every Box2D program begins with the creation of a b2World object. b2World is the physics hub that manages memory, objects, and simulation. You can allocate the physics world on the stack, heap, or data section.

-

It is easy to create a Box2D world. First, we define the gravity vector.

-
b2Vec2 gravity(0.0f, -10.0f);
-

Now we create the world object. Note that we are creating the world on the stack, so the world must remain in scope.

-
b2World world(gravity);
-

So now we have our physics world, let's start adding some stuff to it.

-

-Creating a Ground Box

-

Bodies are built using the following steps:

    -
  1. Define a body with position, damping, etc.
  2. -
  3. Use the world object to create the body.
  4. -
  5. Define fixtures with a shape, friction, density, etc.
  6. -
  7. Create fixtures on the body.
  8. -
-

For step 1 we create the ground body. For this we need a body definition. With the body definition we specify the initial position of the ground body.

-
b2BodyDef groundBodyDef;
-
groundBodyDef.position.Set(0.0f, -10.0f);
-

For step 2 the body definition is passed to the world object to create the ground body. The world object does not keep a reference to the body definition. Bodies are static by default. Static bodies don't collide with other static bodies and are immovable.

-
b2Body* groundBody = world.CreateBody(&groundBodyDef);
-

For step 3 we create a ground polygon. We use the SetAsBox shortcut to form the ground polygon into a box shape, with the box centered on the origin of the parent body.

-
b2PolygonShape groundBox;
-
groundBox.SetAsBox(50.0f, 10.0f);
-

The SetAsBox function takes the half-**width** and half-**height** (extents). So in this case the ground box is 100 units wide (x-axis) and 20 units tall (y-axis). Box2D is tuned for meters, kilograms, and seconds. So you can consider the extents to be in meters. Box2D generally works best when objects are the size of typical real world objects. For example, a barrel is about 1 meter tall. Due to the limitations of floating point arithmetic, using Box2D to model the movement of glaciers or dust particles is not a good idea.

-

We finish the ground body in step 4 by creating the shape fixture. For this step we have a shortcut. We do not have a need to alter the default fixture material properties, so we can pass the shape directly to the body without creating a fixture definition. Later we will see how to use a fixture definition for customized material properties. The second parameter is the shape density in kilograms per meter squared. A static body has zero mass by definition, so the density is not used in this case.

-
groundBody->CreateFixture(&groundBox, 0.0f);
-

Box2D does not keep a reference to the shape. It clones the data into a new b2Shape object.

-

Note that every fixture must have a parent body, even fixtures that are static. However, you can attach all static fixtures to a single static body.

-

When you attach a shape to a body using a fixture, the shape's coordinates become local to the body. So when the body moves, so does the shape. A fixture's world transform is inherited from the parent body. A fixture does not have a transform independent of the body. So we don't move a shape around on the body. Moving or modifying a shape that is on a body is not supported. The reason is simple: a body with morphing shapes is not a rigid body, but Box2D is a rigid body engine. Many of the assumptions made in Box2D are based on the rigid body model. If this is violated many things will break

-

-Creating a Dynamic Body

-

So now we have a ground body. We can use the same technique to create a dynamic body. The main difference, besides dimensions, is that we must establish the dynamic body's mass properties.

-

First we create the body using CreateBody. By default bodies are static, so we should set the b2BodyType at construction time to make the body dynamic.

-
b2BodyDef bodyDef;
-
bodyDef.type = b2_dynamicBody;
-
bodyDef.position.Set(0.0f, 4.0f);
-
b2Body* body = world.CreateBody(&bodyDef);
-
-

Caution: You must set the body type to b2_dynamicBody if you want the body to move in response to forces.

-
-

Next we create and attach a polygon shape using a fixture definition. First we create a box shape:

-
b2PolygonShape dynamicBox;
-
dynamicBox.SetAsBox(1.0f, 1.0f);
-

Next we create a fixture definition using the box. Notice that we set density to 1. The default density is zero. Also, the friction on the shape is set to 0.3.

-
b2FixtureDef fixtureDef;
-
fixtureDef.shape = &dynamicBox;
-
fixtureDef.density = 1.0f;
-
fixtureDef.friction = 0.3f;
-
-

Caution: A dynamic body should have at least one fixture with a non-zero density. Otherwise you will get strange behavior.

-
-

Using the fixture definition we can now create the fixture. This automatically updates the mass of the body. You can add as many fixtures as you like to a body. Each one contributes to the total mass.

-
body->CreateFixture(&fixtureDef);
-

That's it for initialization. We are now ready to begin simulating.

-

-Simulating the World

-

So we have initialized the ground box and a dynamic box. Now we are ready to set Newton loose to do his thing. We just have a couple more issues to consider.

-

Box2D uses a computational algorithm called an integrator. Integrators simulate the physics equations at discrete points of time. This goes along with the traditional game loop where we essentially have a flip book of movement on the screen. So we need to pick a time step for Box2D. Generally physics engines for games like a time step at least as fast as 60Hz or 1/60 seconds. You can get away with larger time steps, but you will have to be more careful about setting up the definitions for your world. We also don't like the time step to change much. A variable time step produces variable results, which makes it difficult to debug. So don't tie the time step to your frame rate (unless you really, really have to). Without further ado, here is the time step.

-
float timeStep = 1.0f / 60.0f;
-

In addition to the integrator, Box2D also uses a larger bit of code called a constraint solver. The constraint solver solves all the constraints in the simulation, one at a time. A single constraint can be solved perfectly. However, when we solve one constraint, we slightly disrupt other constraints. To get a good solution, we need to iterate over all constraints a number of times.

-

There are two phases in the constraint solver: a velocity phase and a position phase. In the velocity phase the solver computes the impulses necessary for the bodies to move correctly. In the position phase the solver adjusts the positions of the bodies to reduce overlap and joint detachment. Each phase has its own iteration count. In addition, the position phase may exit iterations early if the errors are small.

-

The suggested iteration count for Box2D is 8 for velocity and 3 for position. You can tune this number to your liking, just keep in mind that this has a trade-off between performance and accuracy. Using fewer iterations increases performance but accuracy suffers. Likewise, using more iterations decreases performance but improves the quality of your simulation. For this simple example, we don't need much iteration. Here are our chosen iteration counts.

-
int32 velocityIterations = 6;
-
int32 positionIterations = 2;
-

Note that the time step and the iteration count are completely unrelated. An iteration is not a sub-step. One solver iteration is a single pass over all the constraints within a time step. You can have multiple passes over the constraints within a single time step.

-

We are now ready to begin the simulation loop. In your game the simulation loop can be merged with your game loop. In each pass through your game loop you call b2World::Step. Just one call is usually enough, depending on your frame rate and your physics time step.

-

The Hello World program was designed to be simple, so it has no graphical output. The code prints out the position and rotation of the dynamic body. Here is the simulation loop that simulates 60 time steps for a total of 1 second of simulated time.

-
for (int32 i = 0; i < 60; ++i)
-
{
-
world.Step(timeStep, velocityIterations, positionIterations);
-
b2Vec2 position = body->GetPosition();
-
float angle = body->GetAngle();
-
printf("%4.2f %4.2f %4.2f\n", position.x, position.y, angle);
-
}
-

The output shows the box falling and landing on the ground box. Your output should look like this:

-
0.00 4.00 0.00
-
0.00 3.99 0.00
-
0.00 3.98 0.00
-
...
-
0.00 1.25 0.00
-
0.00 1.13 0.00
-
0.00 1.01 0.00
-

-Cleanup

-

When a world leaves scope or is deleted by calling delete on a pointer, all the memory reserved for bodies, fixtures, and joints is freed. This is done to improve performance and make your life easier. However, you will need to nullify any body, fixture, or joint pointers you have because they will become invalid.

-
-
-
-
A 2D column vector.
Definition: b2_math.h:41
-
A rigid body. These are created via b2World::CreateBody.
Definition: b2_body.h:128
-
void SetAsBox(float hx, float hy)
-
float friction
The friction coefficient, usually in the range [0,1].
Definition: b2_fixture.h:82
-
const b2Shape * shape
Definition: b2_fixture.h:76
-
void Set(float x_, float y_)
Set this vector to some specified coordinates.
Definition: b2_math.h:53
-
b2Fixture * CreateFixture(const b2FixtureDef *def)
-
Definition: b2_fixture.h:61
-
b2BodyType type
Definition: b2_body.h:74
-
float GetAngle() const
Definition: b2_body.h:489
-
Definition: b2_body.h:52
-
Definition: b2_polygon_shape.h:32
-
float density
The density, usually in kg/m^2.
Definition: b2_fixture.h:92
-
Definition: b2_world.h:46
-
const b2Vec2 & GetPosition() const
Definition: b2_body.h:484
-
b2Vec2 position
Definition: b2_body.h:78
- - - - diff --git a/documentation/md__d_1__git_hub_box2d_docs_loose_ends.html b/documentation/md__d_1__git_hub_box2d_docs_loose_ends.html deleted file mode 100644 index 6d8d3d7..0000000 --- a/documentation/md__d_1__git_hub_box2d_docs_loose_ends.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - -Box2D: Loose Ends - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Loose Ends
-
-
-

-User Data

-

The b2Fixture, b2Body, and b2Joint classes allow you to attach user data as a uintptr_t. This is handy when you are examining Box2D data structures and you want to determine how they relate to the objects in your game engine.

-

For example, it is typical to attach an actor pointer to the rigid body on that actor. This sets up a circular reference. If you have the actor, you can get the body. If you have the body, you can get the actor.

-
GameActor* actor = GameCreateActor();
-
b2BodyDef bodyDef;
-
bodyDef.userData.pointer = reinterpret_cast<uintptr_t>(actor);
-
actor->body = myWorld->CreateBody(&bodyDef);
-

You can also use this to hold an integral value rather than a pointer.

-

Here are some examples of cases where you would need the user data:

    -
  • Applying damage to an actor using a collision result.
  • -
  • Playing a scripted event if the player is inside an axis-aligned box.
  • -
  • Accessing a game structure when Box2D notifies you that a joint is going to be destroyed.
  • -
-

Keep in mind that user data is optional and you can put anything in it. However, you should be consistent. For example, if you want to store an actor pointer on one body, you should keep an actor pointer on all bodies. Don't store an actor pointer on one body, and a foo pointer on another body. Casting an actor pointer to a foo pointer may lead to a crash.

-

User data pointers are 0 by default.

-

For fixtures you might consider defining a user data structure that lets you store game specific information, such as material type, effects hooks, sound hooks, etc.

-
struct FixtureUserData
-
{
-
int materialIndex;
-
// ...
-
};
-
-
FixtureUserData myData = new FixtureUserData;
-
myData->materialIndex = 2;
-
-
b2FixtureDef fixtureDef;
-
fixtureDef.shape = &someShape;
-
fixtureDef.userData.pointer = reinterpret_cast<uintptr_t>(myData);
-
-
b2Fixture* fixture = body->CreateFixture(&fixtureDef);
-
// ...
-
-
delete fixture->GetUserData();
-
body->DestroyFixture(fixture);
-

-Custom User Data

-

You can define custom data structures that are embedded in the Box2D data structures. This is done by defining B2_USER_SETTINGS and providing the file b2_user_settings.h. See b2_settings.h for details.

-

-Implicit Destruction

-

Box2D doesn't use reference counting. So if you destroy a body it is really gone. Accessing a pointer to a destroyed body has undefined behavior. In other words, your program will likely crash and burn. To help fix these problems, the debug build memory manager fills destroyed entities with FDFDFDFD. This can help find problems more easily in some cases.

-

If you destroy a Box2D entity, it is up to you to make sure you remove all references to the destroyed object. This is easy if you only have a single reference to the entity. If you have multiple references, you might consider implementing a handle class to wrap the raw pointer.

-

Often when using Box2D you will create and destroy many bodies, shapes, and joints. Managing these entities is somewhat automated by Box2D. If you destroy a body then all associated shapes and joints are automatically destroyed. This is called implicit destruction.

-

When you destroy a body, all its attached shapes, joints, and contacts are destroyed. This is called implicit destruction. Any body connected to one of those joints and/or contacts is woken. This process is usually convenient. However, you must be aware of one crucial issue:

-
-

Caution: When a body is destroyed, all fixtures and joints attached to the body are automatically destroyed. You must nullify any pointers you have to those shapes and joints. Otherwise, your program will die horribly if you try to access or destroy those shapes or joints later.

-
-

To help you nullify your joint pointers, Box2D provides a listener class named b2DestructionListener that you can implement and provide to your world object. Then the world object will notify you when a joint is going to be implicitly destroyed

-

Note that there no notification when a joint or fixture is explicitly destroyed. In this case ownership is clear and you can perform the necessary cleanup on the spot. If you like, you can call your own implementation of b2DestructionListener to keep cleanup code centralized.

-

Implicit destruction is a great convenience in many cases. It can also make your program fall apart. You may store pointers to shapes and joints somewhere in your code. These pointers become orphaned when an associated body is destroyed. The situation becomes worse when you consider that joints are often created by a part of the code unrelated to management of the associated body. For example, the testbed creates a b2MouseJoint for interactive manipulation of bodies on the screen.

-

Box2D provides a callback mechanism to inform your application when implicit destruction occurs. This gives your application a chance to nullify the orphaned pointers. This callback mechanism is described later in this manual.

-

You can implement a b2DestructionListener that allows b2World to inform you when a shape or joint is implicitly destroyed because an associated body was destroyed. This will help prevent your code from accessing orphaned pointers.

-
class MyDestructionListener : public b2DestructionListener
-
{
-
void SayGoodbye(b2Joint* joint)
-
{
-
// remove all references to joint.
-
}
-
};
-

You can then register an instance of your destruction listener with your world object. You should do this during world initialization.

-
myWorld->SetListener(myDestructionListener);
-

-Pixels and Coordinate Systems

-

Recall that Box2D uses MKS (meters, kilograms, and seconds) units and radians for angles. You may have trouble working with meters because your game is expressed in terms of pixels. To deal with this in the testbed I have the whole game work in meters and just use an OpenGL viewport transformation to scale the world into screen space.

-
float lowerX = -25.0f, upperX = 25.0f, lowerY = -5.0f, upperY = 25.0f;
-
gluOrtho2D(lowerX, upperX, lowerY, upperY);
-

If your game must work in pixel units then you should convert your length units from pixels to meters when passing values from Box2D. Likewise you should convert the values received from Box2D from meters to pixels. This will improve the stability of the physics simulation.

-

You have to come up with a reasonable conversion factor. I suggest making this choice based on the size of your characters. Suppose you have determined to use 50 pixels per meter (because your character is 75 pixels tall). Then you can convert from pixels to meters using these formulas:

-
xMeters = 0.02f * xPixels;
-
yMeters = 0.02f * yPixels;
-

In reverse:

-
xPixels = 50.0f * xMeters;
-
yPixels = 50.0f * yMeters;
-

You should consider using MKS units in your game code and just convert to pixels when you render. This will simplify your game logic and reduce the chance for errors since the rendering conversion can be isolated to a small amount of code.

-

If you use a conversion factor, you should try tweaking it globally to make sure nothing breaks. You can also try adjusting it to improve stability.

-

-Debug Drawing

-

You can implement the b2DebugDraw class to get detailed drawing of the physics world. Here are the available entities:

    -
  • shape outlines
  • -
  • joint connectivity
  • -
  • broad-phase axis-aligned bounding boxes (AABBs)
  • -
  • center of mass
  • -
-
- -
-Debug Draw
-

This is the preferred method of drawing these physics entities, rather than accessing the data directly. The reason is that much of the necessary data is internal and subject to change.

-

The testbed draws physics entities using the debug draw facility and the contact listener, so it serves as the primary example of how to implement debug drawing as well as how to draw contact points.

-

-Limitations

-

Box2D uses several approximations to simulate rigid body physics efficiently. This brings some limitations.

-

Here are the current limitations:

    -
  1. Stacking heavy bodies on top of much lighter bodies is not stable. Stability degrades as the mass ratio passes 10:1.
  2. -
  3. Chains of bodies connected by joints may stretch if a lighter body is supporting a heavier body. For example, a wrecking ball connect to a chain of light weight bodies may not be stable. Stability degrades as the mass ratio passes 10:1.
  4. -
  5. There is typically around 0.5cm of slop in shape versus shape collision.
  6. -
  7. Continuous collision does not handle joints. So you may see joint stretching on fast moving objects.
  8. -
  9. Box2D uses the symplectic Euler integration scheme. It does not reproduce parabolic motion of projectiles and has only first-order accuracy. However it is fast and has good stability.
  10. -
  11. Box2D uses an iterative solver to provide real-time performance. You will not get precisely rigid collisions or pixel perfect accuracy. Increasing the iterations will improve accuracy.
  12. -
-
-
-
-
uintptr_t pointer
For legacy compatibility.
Definition: b2_settings.h:66
-
b2Body * CreateBody(const b2BodyDef *def)
-
const b2Shape * shape
Definition: b2_fixture.h:76
-
virtual void SayGoodbye(b2Joint *joint)=0
-
b2Fixture * CreateFixture(const b2FixtureDef *def)
-
Definition: b2_fixture.h:61
-
Definition: b2_fixture.h:116
-
uintptr_t pointer
For legacy compatibility.
Definition: b2_settings.h:78
-
b2BodyUserData userData
Use this to store application specific body data.
Definition: b2_body.h:121
-
Definition: b2_body.h:52
-
void DestroyFixture(b2Fixture *fixture)
-
b2FixtureUserData userData
Use this to store application specific fixture data.
Definition: b2_fixture.h:79
-
Definition: b2_joint.h:110
-
Definition: b2_world_callbacks.h:41
-
b2FixtureUserData & GetUserData()
Definition: b2_fixture.h:278
- - - - diff --git a/documentation/md__d_1__git_hub_box2d_docs_references.html b/documentation/md__d_1__git_hub_box2d_docs_references.html deleted file mode 100644 index 6826d45..0000000 --- a/documentation/md__d_1__git_hub_box2d_docs_references.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: References - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
References
-
-
-
    -
  • Erin Catto's Publications
  • -
  • Collision Detection in Interactive 3D Environments, Gino van den Bergen, 2004
  • -
  • Real-Time Collision Detection, Christer Ericson, 2005
  • -
-
-
-
- - - - diff --git a/documentation/md__d_1__git_hub_box2d_docs_testbed.html b/documentation/md__d_1__git_hub_box2d_docs_testbed.html deleted file mode 100644 index 91c7bc8..0000000 --- a/documentation/md__d_1__git_hub_box2d_docs_testbed.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Box2D: Testbed - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Testbed
-
-
-

Once you have conquered the HelloWorld example, you should start looking at Box2D's testbed. The testbed is a testing framework and demo environment. Here are some of the features:

    -
  • Camera with pan and zoom.
  • -
  • Mouse picking of shapes attached to dynamic bodies.
  • -
  • Extensible set of tests.
  • -
  • GUI for selecting tests, parameter tuning, and debug drawing options.
  • -
  • Pause and single step simulation.
  • -
  • Text rendering.
  • -
-
- -
-Box2D Testbed
-

The testbed has many examples of Box2D usage in the test cases and the framework itself. I encourage you to explore and tinker with the testbed as you learn Box2D.

-

Note: the testbed is written using GLFW and imgui. The testbed is not part of the Box2D library. The Box2D library is agnostic about rendering. As shown by the HelloWorld example, you don't need a renderer to use Box2D.

-
-
-
- - - - diff --git a/documentation/md_collision.html b/documentation/md_collision.html index 455f2f7..8f0aede 100644 --- a/documentation/md_collision.html +++ b/documentation/md_collision.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/md_faq.html b/documentation/md_faq.html index 8f414aa..edadc3b 100644 --- a/documentation/md_faq.html +++ b/documentation/md_faq.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
@@ -109,15 +109,15 @@

What is Box2D?

-

Box2D is a feature rich 2D rigid body physics engine, written in C11 by Erin Catto. It has been used in many games and in many game engines.

+

Box2D is a feature rich 2D rigid body physics engine, written in C17 by Erin Catto. It has been used in many games and in many game engines.

Box2D uses the MIT license license and can be used free of charge. Credit should be included if possible. Support is appreciated. You may use the Box2D logo.

What platforms does Box2D support?

-

Box2D is developed using C11. Ports and bindings are likely available for most languages and platforms.

-

Erin Catto maintains the C11 version, but provides no support for other languages. Other languages are supported by the community and possibly by the authors of those ports.

+

Box2D is developed using C17. Ports and bindings are likely available for most languages and platforms.

+

Erin Catto maintains the C17 version, but provides no support for other languages. Other languages are supported by the community and possibly by the authors of those ports.

Who makes it?

-

Erin Catto is the creator and sole contributor of the C11 version of Box2D, with various others supporting the ports. Box2D is an open source project, and accepts community feedback.

+

Erin Catto is the creator and sole contributor of the C17 version of Box2D, with various others supporting the ports. Box2D is an open source project, and accepts community feedback.

How do I get help?

You should read the documentation and the rest of this FAQ first. Also, you should study the examples included in the source distribution. Then you can visit the Discord to ask any remaining questions.

@@ -147,7 +147,7 @@

This repo shows how to convert meters to pixels.

Why don't you use this awesome language?

-

Box2D is designed to be portable and easy to wrap with other languages, so I decided to use C11. I used C11 to get support for atomics.

+

Box2D is designed to be portable and easy to wrap with other languages, so I decided to use C17. I used C17 to get support for atomics.

Can I use Box2D in a DLL?

Yes. See the CMake option BUILD_SHARED_LIBS.

diff --git a/documentation/md_foundation.html b/documentation/md_foundation.html index fd21128..9e0928c 100644 --- a/documentation/md_foundation.html +++ b/documentation/md_foundation.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/md_loose__ends.html b/documentation/md_loose__ends.html index 88f4a98..88a64bd 100644 --- a/documentation/md_loose__ends.html +++ b/documentation/md_loose__ends.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/md_migration.html b/documentation/md_migration.html index ecd1569..17aa6e5 100644 --- a/documentation/md_migration.html +++ b/documentation/md_migration.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
@@ -235,11 +235,11 @@

chainDef.loop = true;
b2ChainId chainId = b2CreateChain(bodyId, &chainDef);
Chain id references a chain instances. This should be treated as an opaque handle.
Definition id.h:69
-
const b2Vec2 * points
An array of at least 4 points. These are cloned and may be temporary.
Definition types.h:377
-
int32_t count
The point count, must be 4 or more.
Definition types.h:380
+
const b2Vec2 * points
An array of at least 4 points. These are cloned and may be temporary.
Definition types.h:378
+
int32_t count
The point count, must be 4 or more.
Definition types.h:381
b2ChainDef b2DefaultChainDef(void)
Use this to initialize your chain definition.
b2ChainId b2CreateChain(b2BodyId bodyId, const b2ChainDef *def)
Chain Shape.
-
Used to create a chain of edges.
Definition types.h:372
+
Used to create a chain of edges.
Definition types.h:373

Since chains are their own concept now, they get their own identifier, b2ChainId. You can view chains as macro objects, they create many b2SmoothSegment shapes internally. Normally you don't interact with these. However they are returned from queries. You can use b2Shape_GetParentChain() to get the b2ChainId for a smooth segment that you get from a query.

‍DO NOT destroy or modify a b2SmoothSegment that belongs to a chain shape directly

@@ -257,13 +257,13 @@

jointDef.enableLimit = true;:
b2RevolutionJoint* joint = (b2RevoluteJoint*)world->CreateJoint(&jointDef);
#define b2_pi
https://en.wikipedia.org/wiki/Pi
Definition math_functions.h:18
-
float lowerAngle
The lower angle for the joint limit in radians.
Definition types.h:721
-
bool enableLimit
A flag to enable joint limits.
Definition types.h:718
-
float motorSpeed
The desired motor speed in radians per second.
Definition types.h:733
-
float upperAngle
The upper angle for the joint limit in radians.
Definition types.h:724
-
bool enableMotor
A flag to enable the joint motor.
Definition types.h:727
-
float maxMotorTorque
The maximum motor torque, typically in newton-meters.
Definition types.h:730
-
Revolute joint definition.
Definition types.h:691
+
float lowerAngle
The lower angle for the joint limit in radians.
Definition types.h:722
+
bool enableLimit
A flag to enable joint limits.
Definition types.h:719
+
float motorSpeed
The desired motor speed in radians per second.
Definition types.h:734
+
float upperAngle
The upper angle for the joint limit in radians.
Definition types.h:725
+
bool enableMotor
A flag to enable the joint motor.
Definition types.h:728
+
float maxMotorTorque
The maximum motor torque, typically in newton-meters.
Definition types.h:731
+
Revolute joint definition.
Definition types.h:692

Version 3.0:

b2Vec2 pivot = {-10.0f, 20.5f};
jointDef.bodyIdA = groundId;
@@ -279,10 +279,10 @@

b2JointId jointId = b2CreateRevoluteJoint(worldId, &jointDef);
b2Vec2 b2Body_GetLocalPoint(b2BodyId bodyId, b2Vec2 worldPoint)
Get a local point on a body given a world point.
Joint id references a joint instance. This should be treated as an opaque handle.
Definition id.h:61
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:702
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:699
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:693
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:696
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:703
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:700
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:694
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:697
b2RevoluteJointDef b2DefaultRevoluteJointDef(void)
Use this to initialize your joint definition.
b2JointId b2CreateRevoluteJoint(b2WorldId worldId, const b2RevoluteJointDef *def)
Create a revolute joint.

Some of the joints have more options now. Check the code comments and samples for details.

@@ -307,7 +307,7 @@

Therefore all callbacks except PreSolve have been removed. Instead you can now access all events and contact data after the time step. Version 3.0 no longer uses collision sub-stepping for continuous collision. This means all contacts data are valid at the end of the time step. Just keep in mind that Box2D computes contact points at the beginning of the time step, so the contact points apply to the previous position of the body.

Here is how you access contact data in v3.0:

b2ContactEvents contactEvents = b2World_GetContactEvents(worldId);
-
Contact events are buffered in the Box2D world and are available as event arrays after the time step ...
Definition types.h:964
+
Contact events are buffered in the Box2D world and are available as event arrays after the time step ...
Definition types.h:965
b2ContactEvents b2World_GetContactEvents(b2WorldId worldId)
Get contact events for this current time step. The event data is transient. Do not store a reference ...

The contact events structure has begin and end events:

typedef struct b2ContactEvents
{
@@ -318,21 +318,21 @@

int endCount;
int hitCount;
-
b2ContactBeginTouchEvent * beginEvents
Array of begin touch events.
Definition types.h:966
-
int32_t endCount
Number of end touch events.
Definition types.h:978
-
b2ContactHitEvent * hitEvents
Array of hit events.
Definition types.h:972
-
int32_t beginCount
Number of begin touch events.
Definition types.h:975
-
b2ContactEndTouchEvent * endEvents
Array of end touch events.
Definition types.h:969
-
int32_t hitCount
Number of hit events.
Definition types.h:981
-
A begin touch event is generated when two shapes begin touching.
Definition types.h:923
-
An end touch event is generated when two shapes stop touching.
Definition types.h:933
-
A hit touch event is generated when two shapes collide with a speed faster than the hit speed thresho...
Definition types.h:943
+
b2ContactBeginTouchEvent * beginEvents
Array of begin touch events.
Definition types.h:967
+
int32_t endCount
Number of end touch events.
Definition types.h:979
+
b2ContactHitEvent * hitEvents
Array of hit events.
Definition types.h:973
+
int32_t beginCount
Number of begin touch events.
Definition types.h:976
+
b2ContactEndTouchEvent * endEvents
Array of end touch events.
Definition types.h:970
+
int32_t hitCount
Number of hit events.
Definition types.h:982
+
A begin touch event is generated when two shapes begin touching.
Definition types.h:924
+
An end touch event is generated when two shapes stop touching.
Definition types.h:934
+
A hit touch event is generated when two shapes collide with a speed faster than the hit speed thresho...
Definition types.h:944

You can loop through these events after the time step. These events are in deterministic order, even with multithreading. See the sample_events.cpp file for examples.

You may not want Box2D to save all contact events, so you can disable them for a given shape using enableContactEvents on b2ShapeDef.

If you want to access persistent contacts, you can get the data from bodies or shapes.

b2ContactData contactData[10];
int count = b2Body_GetContactData(bodyId, contactData, 10);
int b2Body_GetContactData(b2BodyId bodyId, b2ContactData *contactData, int capacity)
Get the touching contact data for a body.
-
The contact data for two shapes.
Definition types.h:1018
+
The contact data for two shapes.
Definition types.h:1019
b2ContactData contactData[10];
int count = b2Shape_GetContactData(shapeId, contactData, 10);
int b2Shape_GetContactData(b2ShapeId shapeId, b2ContactData *contactData, int capacity)
Get the touching contact data for a shape. The provided shapeId will be either shapeIdA or shapeIdB o...
@@ -340,7 +340,7 @@

Pre-solve contact modification is available using a callback.

typedef bool b2PreSolveFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold* manifold, void* context);
void b2World_SetPreSolveCallback(b2WorldId worldId, b2PreSolveFcn* fcn, void* context);
A contact manifold describes the contact points between colliding shapes.
Definition collision.h:513
-
bool b2PreSolveFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold *manifold, void *context)
Prototype for a pre-solve callback.
Definition types.h:1052
+
bool b2PreSolveFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold *manifold, void *context)
Prototype for a pre-solve callback.
Definition types.h:1053
void b2World_SetPreSolveCallback(b2WorldId worldId, b2PreSolveFcn *fcn, void *context)
Register the pre-solve callback. This is optional.

You can define a pre-solve callback and register that with the world. You can also provide a context variable that will be passed back to your callback. This is not enough to get a pre-solve callback. You also need to enable it on your shape using enablePreSolveEvents in b2ShapeDef. This is false by default.

@@ -349,7 +349,7 @@

Sensors

In v2.4 sensor events were mixed in with contact events. I have split them up to make user code simpler.

-
Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays aft...
Definition types.h:907
+
Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays aft...
Definition types.h:908
b2SensorEvents b2World_GetSensorEvents(b2WorldId worldId)
Get sensor events for the current time step. The event data is transient. Do not store a reference to...

Note that contact data on bodies and shapes have no information about sensors. That data only has touching contacts.

Sensor events are available to all shapes on dynamic bodies except chains. You can disable them using enableSensorEvents on b2ShapeDef.

diff --git a/documentation/md_reading.html b/documentation/md_reading.html index e8144fd..1b17f3d 100644 --- a/documentation/md_reading.html +++ b/documentation/md_reading.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/md_simulation.html b/documentation/md_simulation.html index 3b714b1..9f65f42 100644 --- a/documentation/md_simulation.html +++ b/documentation/md_simulation.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
@@ -477,10 +477,10 @@

SleepGameObject(gameObject);
}
}
-
int32_t moveCount
Number of move events.
Definition types.h:1011
-
b2BodyMoveEvent * moveEvents
Array of move events.
Definition types.h:1008
-
Body events are buffered in the Box2D world and are available as event arrays after the time step is ...
Definition types.h:1006
-
Body move events triggered when a body moves.
Definition types.h:995
+
int32_t moveCount
Number of move events.
Definition types.h:1012
+
b2BodyMoveEvent * moveEvents
Array of move events.
Definition types.h:1009
+
Body events are buffered in the Box2D world and are available as event arrays after the time step is ...
Definition types.h:1007
+
Body move events triggered when a body moves.
Definition types.h:996
b2BodyEvents b2World_GetBodyEvents(b2WorldId worldId)
Get the body events for the current time step. The event data is transient. Do not store a reference ...

The body event also indicates if the body fell asleep this time step. This might be useful to optimize your application.

@@ -607,12 +607,12 @@

// Nullify id for safety
myChainId = b2_nullChainId;
Chain id references a chain instances. This should be treated as an opaque handle.
Definition id.h:69
-
const b2Vec2 * points
An array of at least 4 points. These are cloned and may be temporary.
Definition types.h:377
-
int32_t count
The point count, must be 4 or more.
Definition types.h:380
+
const b2Vec2 * points
An array of at least 4 points. These are cloned and may be temporary.
Definition types.h:378
+
int32_t count
The point count, must be 4 or more.
Definition types.h:381
b2ChainDef b2DefaultChainDef(void)
Use this to initialize your chain definition.
void b2DestroyChain(b2ChainId chainId)
Destroy a chain shape.
b2ChainId b2CreateChain(b2BodyId bodyId, const b2ChainDef *def)
Chain Shape.
-
Used to create a chain of edges.
Definition types.h:372
+
Used to create a chain of edges.
Definition types.h:373

The segment normal depends on the winding order. A counter-clockwise winding order orients the normal outwards and a clockwise winding order orients the normal inwards.

@@ -688,7 +688,7 @@

int shapeContactCount = b2Shape_GetContactData(myShapeId, contactData, 10);
int bodyContactCount = b2Body_GetContactData(myBodyId, contactData, 10);
int b2Body_GetContactData(b2BodyId bodyId, b2ContactData *contactData, int capacity)
Get the touching contact data for a body.
-
The contact data for two shapes.
Definition types.h:1018
+
The contact data for two shapes.
Definition types.h:1019
int b2Shape_GetContactData(b2ShapeId shapeId, b2ContactData *contactData, int capacity)
Get the touching contact data for a shape. The provided shapeId will be either shapeIdA or shapeIdB o...

b2ContactData contains the two shape ids and the manifold.

for (int i = 0; i < bodyContactCount; ++i)
@@ -708,11 +708,11 @@

void* myUserData = b2Shape_GetUserData(beginTouch->visitorShapeId);
// process begin event
}
-
int32_t beginCount
The number of begin touch events.
Definition types.h:915
-
b2ShapeId visitorShapeId
The id of the dynamic shape that began touching the sensor shape.
Definition types.h:890
-
b2SensorBeginTouchEvent * beginEvents
Array of sensor begin touch events.
Definition types.h:909
-
A begin touch event is generated when a shape starts to overlap a sensor shape.
Definition types.h:885
-
Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays aft...
Definition types.h:907
+
int32_t beginCount
The number of begin touch events.
Definition types.h:916
+
b2ShapeId visitorShapeId
The id of the dynamic shape that began touching the sensor shape.
Definition types.h:891
+
b2SensorBeginTouchEvent * beginEvents
Array of sensor begin touch events.
Definition types.h:910
+
A begin touch event is generated when a shape starts to overlap a sensor shape.
Definition types.h:886
+
Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays aft...
Definition types.h:908
void * b2Shape_GetUserData(b2ShapeId shapeId)
Get the user data for a shape.
b2SensorEvents b2World_GetSensorEvents(b2WorldId worldId)
Get sensor events for the current time step. The event data is transient. Do not store a reference to...

And there are events when a shape stops overlapping with a sensor.

@@ -722,10 +722,10 @@

void* myUserData = b2Shape_GetUserData(endTouch->visitorShapeId);
// process end event
}
-
b2SensorEndTouchEvent * endEvents
Array of sensor end touch events.
Definition types.h:912
-
int32_t endCount
The number of end touch events.
Definition types.h:918
-
b2ShapeId visitorShapeId
The id of the dynamic shape that stopped touching the sensor shape.
Definition types.h:900
-
An end touch event is generated when a shape stops overlapping a sensor shape.
Definition types.h:895
+
b2SensorEndTouchEvent * endEvents
Array of sensor end touch events.
Definition types.h:913
+
int32_t endCount
The number of end touch events.
Definition types.h:919
+
b2ShapeId visitorShapeId
The id of the dynamic shape that stopped touching the sensor shape.
Definition types.h:901
+
An end touch event is generated when a shape stops overlapping a sensor shape.
Definition types.h:896

You will not get end events if a shape is destroyed. Sensor events should be processed after the world step and before other game logic. This should help you avoid processing stale data.

Sensor events are only enabled for a non-sensor shape if b2ShapeDef::enableSensorEvents is true.

@@ -733,7 +733,7 @@

Contact events are available after each world step. Like sensor events these should be retrieved and processed before performing other game logic. Otherwise you may be accessing orphaned/invalid data.

You can access all contact events in a single data structure. This is much more efficient than using functions like b2Body_GetContactData().

b2ContactEvents contactEvents = b2World_GetContactEvents(myWorldId);
-
Contact events are buffered in the Box2D world and are available as event arrays after the time step ...
Definition types.h:964
+
Contact events are buffered in the Box2D world and are available as event arrays after the time step ...
Definition types.h:965
b2ContactEvents b2World_GetContactEvents(b2WorldId worldId)
Get contact events for this current time step. The event data is transient. Do not store a reference ...

None of this data applies to sensors. All events involve at least one dynamic body.

There are three kinds of contact events:

    @@ -749,22 +749,22 @@

    b2ContactBeginTouchEvent* beginEvent = contactEvents.beginEvents + i;
    ShapesStartTouching(beginEvent->shapeIdA, beginEvent->shapeIdB);
    }
    -
    b2ContactBeginTouchEvent * beginEvents
    Array of begin touch events.
    Definition types.h:966
    -
    b2ShapeId shapeIdA
    Id of the first shape.
    Definition types.h:925
    -
    b2ShapeId shapeIdB
    Id of the second shape.
    Definition types.h:928
    -
    int32_t beginCount
    Number of begin touch events.
    Definition types.h:975
    -
    A begin touch event is generated when two shapes begin touching.
    Definition types.h:923
    +
    b2ContactBeginTouchEvent * beginEvents
    Array of begin touch events.
    Definition types.h:967
    +
    b2ShapeId shapeIdA
    Id of the first shape.
    Definition types.h:926
    +
    b2ShapeId shapeIdB
    Id of the second shape.
    Definition types.h:929
    +
    int32_t beginCount
    Number of begin touch events.
    Definition types.h:976
    +
    A begin touch event is generated when two shapes begin touching.
    Definition types.h:924

b2ContactEndTouchEvent is recorded when two shapes stop touching. These only contain the two shape ids.

for (int i = 0; i < contactEvents.endCount; ++i)
{
b2ContactEndTouchEvent* endEvent = contactEvents.endEvents + i;
ShapesStopTouching(endEvent->shapeIdA, endEvent->shapeIdB);
}
-
b2ShapeId shapeIdB
Id of the second shape.
Definition types.h:938
-
int32_t endCount
Number of end touch events.
Definition types.h:978
-
b2ShapeId shapeIdA
Id of the first shape.
Definition types.h:935
-
b2ContactEndTouchEvent * endEvents
Array of end touch events.
Definition types.h:969
-
An end touch event is generated when two shapes stop touching.
Definition types.h:933
+
b2ShapeId shapeIdB
Id of the second shape.
Definition types.h:939
+
int32_t endCount
Number of end touch events.
Definition types.h:979
+
b2ShapeId shapeIdA
Id of the first shape.
Definition types.h:936
+
b2ContactEndTouchEvent * endEvents
Array of end touch events.
Definition types.h:970
+
An end touch event is generated when two shapes stop touching.
Definition types.h:934

The end touch events are not generated when you destroy a shape or the body that owns it.

Shapes only generate begin and end touch events if b2ShapeDef::enableContactEvents is true.

@@ -778,10 +778,10 @@

// play sound
}
}
-
float approachSpeed
The speed the shapes are approaching. Always positive. Typically in meters per second.
Definition types.h:957
-
b2ContactHitEvent * hitEvents
Array of hit events.
Definition types.h:972
-
int32_t hitCount
Number of hit events.
Definition types.h:981
-
A hit touch event is generated when two shapes collide with a speed faster than the hit speed thresho...
Definition types.h:943
+
float approachSpeed
The speed the shapes are approaching. Always positive. Typically in meters per second.
Definition types.h:958
+
b2ContactHitEvent * hitEvents
Array of hit events.
Definition types.h:973
+
int32_t hitCount
Number of hit events.
Definition types.h:982
+
A hit touch event is generated when two shapes collide with a speed faster than the hit speed thresho...
Definition types.h:944

Shapes only generate hit events if b2ShapeDef::enableHitEvents is true. I recommend you only enable this for shapes that need hit events because it creates some overhead. Box2D also only reports hit events that have an approach speed larger than b2WorldDef::hitEventThreshold.

Contact Filtering

@@ -854,13 +854,13 @@

myJointId = b2_nullJointId;
Joint id references a joint instance. This should be treated as an opaque handle.
Definition id.h:61
void b2DestroyJoint(b2JointId jointId)
Destroy a joint.
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:702
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:699
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:693
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:696
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:703
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:700
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:694
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:697
b2RevoluteJointDef b2DefaultRevoluteJointDef(void)
Use this to initialize your joint definition.
b2JointId b2CreateRevoluteJoint(b2WorldId worldId, const b2RevoluteJointDef *def)
Create a revolute joint.
-
Revolute joint definition.
Definition types.h:691
+
Revolute joint definition.
Definition types.h:692

It is always good to nullify your ids after they are destroyed.

Joint lifetime is related to body lifetime. Joints cannot exist detached from a body. So when a body is destroyed, all joints attached to that body are automatically destroyed. This means you need to be careful to avoid using joint ids when the attached body was destroyed. Box2D will assert if you use a dangling joint id.

@@ -883,7 +883,7 @@

b2Vec2 localAnchorA = b2Joint_GetLocalAnchorA(myJointId);
b2Vec2 localAnchorB = b2Joint_GetLocalAnchorB(myJointId);
void* myUserData = b2Joint_GetUserData(myJointId);
-
b2JointType
Joint type enumeration.
Definition types.h:454
+
b2JointType
Joint type enumeration.
Definition types.h:455
b2BodyId b2Joint_GetBodyA(b2JointId jointId)
Get body A id on a joint.
void * b2Joint_GetUserData(b2JointId jointId)
Get the user data on a joint.
b2Vec2 b2Joint_GetLocalAnchorA(b2JointId jointId)
Get the local anchor on bodyA.
@@ -915,23 +915,23 @@

jointDef.collideConnected = true;
b2JointId myJointId = b2CreateDistanceJoint(myWorldId, &jointDef);
-
float length
The rest length of this joint. Clamped to a stable minimum value.
Definition types.h:486
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:480
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:517
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:483
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:477
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:474
+
float length
The rest length of this joint. Clamped to a stable minimum value.
Definition types.h:487
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:481
+
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:518
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:484
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:478
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:475
b2DistanceJointDef b2DefaultDistanceJointDef(void)
Use this to initialize your joint definition.
b2JointId b2CreateDistanceJoint(b2WorldId worldId, const b2DistanceJointDef *def)
Create a distance joint.
-
Distance joint definition.
Definition types.h:472
+
Distance joint definition.
Definition types.h:473
float b2Distance(b2Vec2 a, b2Vec2 b)
Get the distance between two points.
Definition math_functions.h:251

The distance joint can also be made soft, like a spring-damper connection. Softness is achieved by enabling the spring and tuning two values in the definition: Hertz and damping ratio.

jointDef.enableSpring = true;
jointDef.hertz = 2.0f;
jointDef.dampingRatio = 0.5f;
-
float dampingRatio
The spring linear damping ratio, non-dimensional.
Definition types.h:496
-
bool enableSpring
Enable the distance constraint to behave like a spring.
Definition types.h:490
-
float hertz
The spring linear stiffness Hertz, cycles per second.
Definition types.h:493
+
float dampingRatio
The spring linear damping ratio, non-dimensional.
Definition types.h:497
+
bool enableSpring
Enable the distance constraint to behave like a spring.
Definition types.h:491
+
float hertz
The spring linear stiffness Hertz, cycles per second.
Definition types.h:494

The hertz is the frequency of a harmonic oscillator (like a guitar string). Typically the frequency should be less than a half the frequency of the time step. So if you are using a 60Hz time step, the frequency of the distance joint should be less than 30Hz. The reason is related to the Nyquist frequency.

The damping ratio controls how fast the oscillations dissipate. A damping ratio of one is critical damping and prevents oscillation.

It is also possible to define a minimum and maximum length for the distance joint. You can even motorize the distance joint to adjust its length dynamically. See b2DistanceJointDef and the DistanceJoint sample for details.

@@ -973,9 +973,9 @@

jointDef.maxMotorTorque = 10.0f;
jointDef.motorSpeed = 0.0f;
jointDef.enableMotor = true;
-
bool enableLimit
Enable/disable the joint limit.
Definition types.h:499
-
bool enableMotor
Enable/disable the joint motor.
Definition types.h:508
-
float motorSpeed
The desired motor speed, usually in meters per second.
Definition types.h:514
+
bool enableLimit
Enable/disable the joint limit.
Definition types.h:500
+
bool enableMotor
Enable/disable the joint motor.
Definition types.h:509
+
float motorSpeed
The desired motor speed, usually in meters per second.
Definition types.h:515

You can access a revolute joint's angle, speed, and motor torque.

float angleInRadians = b2RevoluteJoint_GetAngle(myJointId);
float speed = b2RevoluteJoint_GetMotorSpeed(myJointId);
@@ -1026,18 +1026,18 @@

jointDef.maxMotorForce = 1.0f;
jointDef.motorSpeed = 0.0f;
jointDef.enableMotor = true;
-
float lowerTranslation
The lower translation limit.
Definition types.h:650
-
bool enableMotor
Enable/disable the joint motor.
Definition types.h:656
-
float motorSpeed
The desired motor speed, typically in meters per second.
Definition types.h:662
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:629
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:620
-
float upperTranslation
The upper translation limit.
Definition types.h:653
-
bool enableLimit
Enable/disable the joint limit.
Definition types.h:647
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:626
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:623
-
b2Vec2 localAxisA
The local translation unit axis in bodyA.
Definition types.h:632
-
float maxMotorForce
The maximum motor force, typically in newtons.
Definition types.h:659
-
Prismatic joint definition.
Definition types.h:618
+
float lowerTranslation
The lower translation limit.
Definition types.h:651
+
bool enableMotor
Enable/disable the joint motor.
Definition types.h:657
+
float motorSpeed
The desired motor speed, typically in meters per second.
Definition types.h:663
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:630
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:621
+
float upperTranslation
The upper translation limit.
Definition types.h:654
+
bool enableLimit
Enable/disable the joint limit.
Definition types.h:648
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:627
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:624
+
b2Vec2 localAxisA
The local translation unit axis in bodyA.
Definition types.h:633
+
float maxMotorForce
The maximum motor force, typically in newtons.
Definition types.h:660
+
Prismatic joint definition.
Definition types.h:619

The revolute joint has an implicit axis coming out of the screen. The prismatic joint needs an explicit axis parallel to the screen. This axis is fixed in body A.

The prismatic joint translation is zero when the anchor points overlap. I recommend to have the prismatic anchor points close to the center of mass of the two bodies. This will improve joint stiffness.

Using a prismatic joint is similar to using a revolute joint. Here are the relevant member functions:

diff --git a/documentation/modules.svg b/documentation/modules.svg deleted file mode 100644 index 08200be..0000000 --- a/documentation/modules.svg +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - Common - Collision - - Dynamics - - - - - diff --git a/documentation/navtreeindex5.js b/documentation/navtreeindex5.js deleted file mode 100644 index bdfb073..0000000 --- a/documentation/navtreeindex5.js +++ /dev/null @@ -1,253 +0,0 @@ -var NAVTREEINDEX5 = -{ -"md__d_1__git_hub_box2d_docs_dynamics.html#autotoc_md97":[5,3], -"md__d_1__git_hub_box2d_docs_dynamics.html#autotoc_md98":[13,0], -"md__d_1__git_hub_box2d_docs_dynamics.html#autotoc_md99":[13,1], -"md__d_1__git_hub_box2d_docs_hello.html":[1], -"md__d_1__git_hub_box2d_docs_hello.html#autotoc_md21":[1,0], -"md__d_1__git_hub_box2d_docs_hello.html#autotoc_md22":[1,1], -"md__d_1__git_hub_box2d_docs_hello.html#autotoc_md23":[1,2], -"md__d_1__git_hub_box2d_docs_hello.html#autotoc_md24":[1,3], -"md__d_1__git_hub_box2d_docs_hello.html#autotoc_md25":[1,4], -"md__d_1__git_hub_box2d_docs_loose_ends.html":[6], -"md__d_1__git_hub_box2d_docs_loose_ends.html#autotoc_md121":[6,0], -"md__d_1__git_hub_box2d_docs_loose_ends.html#autotoc_md122":[6,1], -"md__d_1__git_hub_box2d_docs_loose_ends.html#autotoc_md123":[6,2], -"md__d_1__git_hub_box2d_docs_loose_ends.html#autotoc_md124":[6,3], -"md__d_1__git_hub_box2d_docs_loose_ends.html#autotoc_md125":[6,4], -"md__d_1__git_hub_box2d_docs_loose_ends.html#autotoc_md126":[6,5], -"md__d_1__git_hub_box2d_docs_references.html":[7], -"md__d_1__git_hub_box2d_docs_testbed.html":[2], -"pages.html":[], -"structb2_a_a_b_b.html":[9,0,0], -"structb2_a_a_b_b.html#a1a99ebbc150518667f24c853a5b6168b":[9,0,0,5], -"structb2_a_a_b_b.html#a2a4f550a18d2a0895fbc5c4d3ec17d22":[9,0,0,4], -"structb2_a_a_b_b.html#a2c4051e79001a3166cc7f8ad811137fe":[9,0,0,3], -"structb2_a_a_b_b.html#a34b9c7d824df845c10caa9c12ae90452":[9,0,0,1], -"structb2_a_a_b_b.html#a70bb45c086fcc2d7ee8694deb386070e":[9,0,0,6], -"structb2_a_a_b_b.html#ab94b68fbad8348b22b0522469b11bdb5":[9,0,0,8], -"structb2_a_a_b_b.html#acf98175d3a53bca755d5c4852fa85a00":[9,0,0,2], -"structb2_a_a_b_b.html#ad4a8ec483ba13a2c02918b01d058a18f":[9,0,0,9], -"structb2_a_a_b_b.html#ad551edba62d2ad6094672a9ba3e26496":[9,0,0,0], -"structb2_a_a_b_b.html#af6a8b26716ec07d326e5ce95556e8c7e":[9,0,0,7], -"structb2_body_def.html":[9,0,3], -"structb2_body_def.html#a0765068172e521ed63cb34084c59c003":[9,0,3,1], -"structb2_body_def.html#a17a8102638aac41e7ab94278651a45bd":[9,0,3,5], -"structb2_body_def.html#a25fa5aa78d93159c344241af95bec2bf":[9,0,3,11], -"structb2_body_def.html#a273a51c57440a8884de5939d76b6e3ea":[9,0,3,8], -"structb2_body_def.html#a30e30e3af5977a325a918b848f774fb0":[9,0,3,7], -"structb2_body_def.html#a680cadc09ad6cf4b3366cbf0914c648b":[9,0,3,12], -"structb2_body_def.html#a7c0047c9a98a1d20614eeddcdbce7586":[9,0,3,6], -"structb2_body_def.html#a87bee47596b3b3eced0d9dd1f4c18fee":[9,0,3,0], -"structb2_body_def.html#a89cc3ad1873908042b002147b3861381":[9,0,3,13], -"structb2_body_def.html#a973e312d5d95d2cd53c335ac3994d3ec":[9,0,3,10], -"structb2_body_def.html#aa1dff31771e6b9c4f041869693571d7f":[9,0,3,4], -"structb2_body_def.html#ab92ebd313164742c001724c6d00d5497":[9,0,3,2], -"structb2_body_def.html#ac9e6956338f4bd35c162bf1ac8deddd6":[9,0,3,9], -"structb2_body_def.html#ae913ce354e5602ddafecd5999c2db170":[9,0,3,14], -"structb2_body_def.html#afc1f985f274c93ac99b4dea71e1d77cc":[9,0,3,3], -"structb2_body_user_data.html":[9,0,4], -"structb2_body_user_data.html#acc592c3f586d4bd7bcf1ed02b876abcf":[9,0,4,0], -"structb2_body_user_data.html#ae23e3ff9873138240adc85619ba38fb6":[9,0,4,1], -"structb2_clip_vertex.html":[9,0,8], -"structb2_clip_vertex.html#a6c8d8e4c0667755d5295a9c0d91d5b87":[9,0,8,1], -"structb2_clip_vertex.html#ac0f6d48eafc40a665bc18d4aa821689d":[9,0,8,0], -"structb2_color.html":[9,0,9], -"structb2_color.html#a422cd1408fe28b3a51e9fc10767b5fe4":[9,0,9,6], -"structb2_color.html#a5237647aaf3b5d72e6e4d935d71d5bfb":[9,0,9,4], -"structb2_color.html#aab8716defcdf745729d1164cd8b08437":[9,0,9,0], -"structb2_color.html#aaee21f8d6d183f2706185f06be043d87":[9,0,9,2], -"structb2_color.html#ac8afa9ae5ee0916b1ba74cc4d0c73a32":[9,0,9,5], -"structb2_color.html#ad0b8325cf66220fbdc9035069266c597":[9,0,9,3], -"structb2_color.html#ae95ab55c05480f35c324705c3ed5a4fa":[9,0,9,1], -"structb2_contact_edge.html":[9,0,11], -"structb2_contact_edge.html#a2fbfaffa0dfdf715fd1a709cff939dee":[9,0,11,0], -"structb2_contact_edge.html#a606dfacb78dc5c51672e4d7449006b8c":[9,0,11,3], -"structb2_contact_edge.html#a69015fc22e064eac04ed74f27a13ae78":[9,0,11,2], -"structb2_contact_edge.html#a9af32b3cfadf35a927f4dffcf6338a6d":[9,0,11,1], -"structb2_contact_feature.html":[9,0,12], -"structb2_contact_feature.html#a29fb037bd886215d2ddd6e68148ac154":[9,0,12,0], -"structb2_contact_feature.html#a29fb037bd886215d2ddd6e68148ac154a175f380cac64d8475b95c0d5ad6ef55c":[9,0,12,0,1], -"structb2_contact_feature.html#a29fb037bd886215d2ddd6e68148ac154aa95b71c62e0571ed761fb1f86e344d87":[9,0,12,0,0], -"structb2_contact_feature.html#a3361b651f0a88fb60ec6aba9f4921cc2":[9,0,12,3], -"structb2_contact_feature.html#a833bc746e7cb5e3cd458f1c0809101d0":[9,0,12,1], -"structb2_contact_feature.html#abb74afd6ee5b60834a3f8e2616182bdf":[9,0,12,4], -"structb2_contact_feature.html#ad96712b6a0cc1f4b22b85b5948eab81d":[9,0,12,2], -"structb2_contact_impulse.html":[9,0,15], -"structb2_contact_impulse.html#a1e47e368c2c4e7dc882e7577ee45b829":[9,0,15,2], -"structb2_contact_impulse.html#a258e094ab0d769971f40d6c144420bf7":[9,0,15,0], -"structb2_contact_impulse.html#af003693bfcc2b2f5d299c8da5b366af3":[9,0,15,1], -"structb2_contact_register.html":[9,0,18], -"structb2_contact_register.html#a43f2d79909505b785b9034b21a56525e":[9,0,18,2], -"structb2_contact_register.html#a95862aec746f5fd6ffa00a6729dec61f":[9,0,18,1], -"structb2_contact_register.html#ae065de11ab2f164bd1b8e3a461b41824":[9,0,18,0], -"structb2_distance_input.html":[9,0,20], -"structb2_distance_input.html#a0889c2f7120ba521d6e40e2a22834ddb":[9,0,20,2], -"structb2_distance_input.html#a47352d7c5b3db80b2fb8cf338f1c1895":[9,0,20,3], -"structb2_distance_input.html#a84d378f4f0e2f06fbe03d413e9dfbbd9":[9,0,20,0], -"structb2_distance_input.html#ab72a770be4a91997d00112409de5fea7":[9,0,20,4], -"structb2_distance_input.html#ad08521a9cdf9d418ececfd44de83a5d3":[9,0,20,1], -"structb2_distance_joint_def.html":[9,0,22], -"structb2_distance_joint_def.html#a001acbbd67326ab5e5d5ec6dc64faf78":[9,0,22,3], -"structb2_distance_joint_def.html#a15c7a75fa277e2056bf1b44198658518":[9,0,22,4], -"structb2_distance_joint_def.html#a3c8995be726238eee084af750442255c":[9,0,22,5], -"structb2_distance_joint_def.html#a858640393f567a2aca1b40cbe534b4e2":[9,0,22,8], -"structb2_distance_joint_def.html#a91529f9af7d7881ac71cd96737b65cd9":[9,0,22,7], -"structb2_distance_joint_def.html#a91925a15ed268144ddc9df04f935801c":[9,0,22,0], -"structb2_distance_joint_def.html#a99788a534638cc28cd1e44e0036503f0":[9,0,22,1], -"structb2_distance_joint_def.html#aa488d9b1f5300e795587b844b6db0d98":[9,0,22,2], -"structb2_distance_joint_def.html#ace0033f63ca1cbede5e415e72f6c0698":[9,0,22,6], -"structb2_distance_output.html":[9,0,23], -"structb2_distance_output.html#a32e1ffb8d8ebeec15bc66b0388ad6a1f":[9,0,23,0], -"structb2_distance_output.html#a7e0f1f44a64e596dc7d37570c69eefce":[9,0,23,2], -"structb2_distance_output.html#aa85beca17337a506cd4a924d0c6f92cc":[9,0,23,3], -"structb2_distance_output.html#ae2d4c84dd3d05ea4f4d20c91099ec8d5":[9,0,23,1], -"structb2_distance_proxy.html":[9,0,24], -"structb2_distance_proxy.html#a245993f09e9f3d3f374bb95041acf822":[9,0,24,2], -"structb2_distance_proxy.html#a39de286cc0c1e829adfacfa0061b04f2":[9,0,24,1], -"structb2_distance_proxy.html#a3fc5ebfa3d34ac66390b88f9277fb330":[9,0,24,7], -"structb2_distance_proxy.html#a55c8e00251b21baf36bc0e88b4ec834d":[9,0,24,9], -"structb2_distance_proxy.html#a5cd9ba137f6ed9ab73648e5151692fbb":[9,0,24,6], -"structb2_distance_proxy.html#a80a59a9c9e952482a8fc6db4b883365d":[9,0,24,5], -"structb2_distance_proxy.html#a9073b2c680d3fee6399f15be79ad144a":[9,0,24,3], -"structb2_distance_proxy.html#a99c461f28d484429dac8f14b58f63d89":[9,0,24,4], -"structb2_distance_proxy.html#abaf1495b8214b74d944b57170a762f32":[9,0,24,10], -"structb2_distance_proxy.html#ae36efab1361bb1f94e32f9b956c6f1b3":[9,0,24,8], -"structb2_distance_proxy.html#ae3b74189ecd4d85b078a9386274dd9b6":[9,0,24,0], -"structb2_filter.html":[9,0,28], -"structb2_filter.html#a368907397168d39af8b4fc5201d50bba":[9,0,28,1], -"structb2_filter.html#a533cccf85e3ba3d9e3700d73b819f6e2":[9,0,28,3], -"structb2_filter.html#a572a8f4a1672f6d5d71123a35e872950":[9,0,28,2], -"structb2_filter.html#aeb3c0a8af990a7a3f06ae18312be50d4":[9,0,28,0], -"structb2_fixture_def.html":[9,0,30], -"structb2_fixture_def.html#a13799607109ebee16538facf1f0e1701":[9,0,30,3], -"structb2_fixture_def.html#a1e41753d89abf3443e7897e2498a3240":[9,0,30,7], -"structb2_fixture_def.html#a386a1e68b7bebb7d1de64332d3bf34ce":[9,0,30,1], -"structb2_fixture_def.html#a480da3de55f826e8df9e7d2c0f7e911f":[9,0,30,8], -"structb2_fixture_def.html#a4c3e493a13d11ab27fcc2eee9f52fd61":[9,0,30,2], -"structb2_fixture_def.html#a87e1f5db5b7164fc7198e18a02ee6e36":[9,0,30,5], -"structb2_fixture_def.html#aa34ba06bcf0d6d981931a83cf124a602":[9,0,30,0], -"structb2_fixture_def.html#ac8cfcc6208663c92861eaab3b3fdc57e":[9,0,30,4], -"structb2_fixture_def.html#ad56b10047e9c1b3bb317e7e5249f030c":[9,0,30,6], -"structb2_fixture_proxy.html":[9,0,31], -"structb2_fixture_proxy.html#a2edb15552cf71f48dacc3608bb134166":[9,0,31,1], -"structb2_fixture_proxy.html#a3a0842dc9699c25658548c2005d0ef62":[9,0,31,2], -"structb2_fixture_proxy.html#aa0ca7e71341368fe6c6913fb39c7283b":[9,0,31,3], -"structb2_fixture_proxy.html#ad8950f61ce28cfa5b676065d4d843da7":[9,0,31,0], -"structb2_fixture_user_data.html":[9,0,32], -"structb2_fixture_user_data.html#a7de93df0f0e8a734795b04b7255f55a8":[9,0,32,1], -"structb2_fixture_user_data.html#abf240412b23254d682a2fc51984950ca":[9,0,32,0], -"structb2_friction_joint_def.html":[9,0,34], -"structb2_friction_joint_def.html#a00b246e60ae282a956a42b662993e92a":[9,0,34,2], -"structb2_friction_joint_def.html#a40c1092cc8b3b348cdf2f8d445e835e6":[9,0,34,0], -"structb2_friction_joint_def.html#ab481751b52e3c4a9b11592b4bb248928":[9,0,34,4], -"structb2_friction_joint_def.html#ad3a5caf9f40f632e996c2b0717ba0948":[9,0,34,5], -"structb2_friction_joint_def.html#ad6d5a5614a7ac77b13e53fda3e32ed05":[9,0,34,3], -"structb2_friction_joint_def.html#aee104f2aeb34dec4e17e3c52a98f7915":[9,0,34,1], -"structb2_gear_joint_def.html":[9,0,36], -"structb2_gear_joint_def.html#a2e9309a9065ff59704a09b198e57c876":[9,0,36,0], -"structb2_gear_joint_def.html#a73cf056fe40e63355073a01b097f4c82":[9,0,36,2], -"structb2_gear_joint_def.html#adb8dc3bcfa6e5149ba71630251edca22":[9,0,36,3], -"structb2_gear_joint_def.html#ae42d33b54291a9e256f3810926883473":[9,0,36,1], -"structb2_jacobian.html":[9,0,38], -"structb2_jacobian.html#a4d0d1467fbb7d33b4e1b17678b8dce5f":[9,0,38,1], -"structb2_jacobian.html#a9337787b34812d371eea4b4bd0d906bf":[9,0,38,0], -"structb2_jacobian.html#aa63199b443d411972b9cb6aac6c7cb34":[9,0,38,2], -"structb2_joint_def.html":[9,0,40], -"structb2_joint_def.html#a1fdb44829d4fd13c72edb1daacb72f89":[9,0,40,0], -"structb2_joint_def.html#a470f2879b24adb05facbd49f338856fb":[9,0,40,4], -"structb2_joint_def.html#a78ae1ebbdd3d9b9a6b409c0b05096ded":[9,0,40,5], -"structb2_joint_def.html#a8cd54c93da396be75a9788f2c6897f05":[9,0,40,1], -"structb2_joint_def.html#aa4f4dee2fbcd12187b19506b60e68e3d":[9,0,40,2], -"structb2_joint_def.html#aef099a1f89b64e230173b6016848ea9b":[9,0,40,3], -"structb2_joint_edge.html":[9,0,41], -"structb2_joint_edge.html#a3d17286bc697bb620ee151e4cd07438c":[9,0,41,1], -"structb2_joint_edge.html#a64aef21fb91211871de8796baecccb95":[9,0,41,2], -"structb2_joint_edge.html#ab5bac5d495af1280c50271f56a221503":[9,0,41,0], -"structb2_joint_edge.html#acc3621e38d9664db2805e0fc29d71335":[9,0,41,3], -"structb2_joint_user_data.html":[9,0,42], -"structb2_joint_user_data.html#a1aa036ecc13e8f99e35e961fd39fdc97":[9,0,42,1], -"structb2_joint_user_data.html#ac685ff1a24056ab17df7ac7135029aff":[9,0,42,0], -"structb2_manifold.html":[9,0,43], -"structb2_manifold.html#a3604e9fef2a03347c5649c71a9fd4c79":[9,0,43,1], -"structb2_manifold.html#a4cb6ceba7105513b1e5bd6dbf0cce168":[9,0,43,5], -"structb2_manifold.html#a8825cea31b27dbbaf22c13c3070870d5":[9,0,43,2], -"structb2_manifold.html#aa9c347e2ff2e27ee820a926efbb33e12":[9,0,43,0], -"structb2_manifold.html#aa9c347e2ff2e27ee820a926efbb33e12a08643d45b9a9e499dfc774d2cafb8fd2":[9,0,43,0,2], -"structb2_manifold.html#aa9c347e2ff2e27ee820a926efbb33e12a42af1689472a0f5c7797ef196b9a666b":[9,0,43,0,1], -"structb2_manifold.html#aa9c347e2ff2e27ee820a926efbb33e12a8263240a3d2b01ca3c19dff3f5fad008":[9,0,43,0,0], -"structb2_manifold.html#ab8021128e9792cc7391a8804ea02173d":[9,0,43,4], -"structb2_manifold.html#abf59ff6fa36bed34b0242ad54951a696":[9,0,43,3], -"structb2_manifold_point.html":[9,0,44], -"structb2_manifold_point.html#a09176fb626391441d9335af818ce51f2":[9,0,44,2], -"structb2_manifold_point.html#a15021bfbefe740207617baf5ba41a74b":[9,0,44,3], -"structb2_manifold_point.html#ab3616990e7d1644deeeb691246094bfa":[9,0,44,1], -"structb2_manifold_point.html#afa7ec272b2b27abe129540f8fbe57fc5":[9,0,44,0], -"structb2_mass_data.html":[9,0,45], -"structb2_mass_data.html#a1d59bebc7030c4dded0c2febc57ebdd7":[9,0,45,0], -"structb2_mass_data.html#a28306cd337e0a58f07ad21648367e35b":[9,0,45,2], -"structb2_mass_data.html#aea3213483fc61bb84e84c869875732a0":[9,0,45,1], -"structb2_mat22.html":[9,0,46], -"structb2_mat22.html#a1a5d89430e2ac3cb71ff57347f54f2f3":[9,0,46,2], -"structb2_mat22.html#a3313c8d135c01fbf74e7fea31f1ea4c1":[9,0,46,7], -"structb2_mat22.html#a7192f063b771ac9ded060e41df890509":[9,0,46,5], -"structb2_mat22.html#aaeae95f61cf3171ffb94703980e3594b":[9,0,46,6], -"structb2_mat22.html#abaffa5fc1d401ea36415acffa6205689":[9,0,46,8], -"structb2_mat22.html#abd674c6d92e26962977f34bcd92ff24d":[9,0,46,1], -"structb2_mat22.html#ac3e10f6d457c8dab9062ba378f66bc4d":[9,0,46,0], -"structb2_mat22.html#ad0b0676deea081b761c67be48e0ac850":[9,0,46,3], -"structb2_mat22.html#aed3bee1de38a0b3f36e21c90faa24112":[9,0,46,4], -"structb2_mat22.html#af19db58941d2cd146325ef3191b776fd":[9,0,46,9], -"structb2_mat33.html":[9,0,47], -"structb2_mat33.html#a132f00e6550d1e19c75fb60ce1229638":[9,0,47,7], -"structb2_mat33.html#a1f4d7ddf1c8a202fc08ec64dfe191463":[9,0,47,0], -"structb2_mat33.html#a2620944663233096d3b82bc4b1a991e9":[9,0,47,3], -"structb2_mat33.html#a2ce48f409ba5951a04da821dada9e285":[9,0,47,6], -"structb2_mat33.html#a36d99a037008776c8d09fe0aeb5c759c":[9,0,47,1], -"structb2_mat33.html#a42fc6953b025e1c8b59717d0ee7accde":[9,0,47,4], -"structb2_mat33.html#aa020bfd08e28c4cecda303ba335fe517":[9,0,47,2], -"structb2_mat33.html#ababc69c718c73a04a651f7a6a981ecf4":[9,0,47,8], -"structb2_mat33.html#acdf892aab7e26283f8aa600ade91dcef":[9,0,47,5], -"structb2_mat33.html#ae700fc46f679b4ef211a2517005b0557":[9,0,47,9], -"structb2_motor_joint_def.html":[9,0,49], -"structb2_motor_joint_def.html#a0048cc0264f23707214ad96273c5fc0d":[9,0,49,5], -"structb2_motor_joint_def.html#a2844c52e534602bae52c4531bdf49c26":[9,0,49,3], -"structb2_motor_joint_def.html#a2c957cffc2af66c6c8077c069b906bc4":[9,0,49,4], -"structb2_motor_joint_def.html#a2ecc5d74b75bd20b27d2a0d28ad1bd76":[9,0,49,2], -"structb2_motor_joint_def.html#a70c6d6e66090cef696f401df8ce89898":[9,0,49,0], -"structb2_motor_joint_def.html#a90eb924b6e04da8d75d9cefad0655960":[9,0,49,1], -"structb2_motor_joint_def.html#acfeb8b3e2275da2f8f4365c1848e5385":[9,0,49,6], -"structb2_mouse_joint_def.html":[9,0,51], -"structb2_mouse_joint_def.html#a0887471452796ff614965a7518e1f5aa":[9,0,51,1], -"structb2_mouse_joint_def.html#a6ae811967747e4d1752b571c894c1ba7":[9,0,51,2], -"structb2_mouse_joint_def.html#aa1b76f72df9aca8d42bdc3e9922e310a":[9,0,51,4], -"structb2_mouse_joint_def.html#ac367e7d89eadeeac53473f248f4dcdf7":[9,0,51,0], -"structb2_mouse_joint_def.html#ae44cee9f187989e20dfa4346970391ce":[9,0,51,3], -"structb2_pair.html":[9,0,52], -"structb2_pair.html#abae3df5e877cf0c4611334e3eec4b84c":[9,0,52,0], -"structb2_pair.html#af2bd888ccb34535ab9126497349da749":[9,0,52,1], -"structb2_position.html":[9,0,54], -"structb2_position.html#a2bd754e583c250f7ecdc5f50c9e9d0bd":[9,0,54,0], -"structb2_position.html#a64b6d764d272385f84e4cac5ceb5af27":[9,0,54,1], -"structb2_prismatic_joint_def.html":[9,0,56], -"structb2_prismatic_joint_def.html#a4ad5f83296c7be60f1b0ecd5a442f8dc":[9,0,56,7], -"structb2_prismatic_joint_def.html#a58ac79a54a8110d3a745e1d6d36990dc":[9,0,56,3], -"structb2_prismatic_joint_def.html#a58c40902a70a31bf4f6e17f3d4c7413a":[9,0,56,9], -"structb2_prismatic_joint_def.html#a5acc1f2f14d1b659fc9d804ab1baf4a3":[9,0,56,5], -"structb2_prismatic_joint_def.html#a7606811782ccef96beeccbc0b56eaf34":[9,0,56,11], -"structb2_prismatic_joint_def.html#aa61a03b68caac62a5cf66354f6756eae":[9,0,56,2], -"structb2_prismatic_joint_def.html#abb51df8daff7a55f47adc83e4f7fa5b9":[9,0,56,4], -"structb2_prismatic_joint_def.html#abdfbcaa344eeebd0c0bf07e1030bc285":[9,0,56,10], -"structb2_prismatic_joint_def.html#ae60043bc22b077e8c59ab248dc34652f":[9,0,56,1], -"structb2_prismatic_joint_def.html#aed2cd56b9d870058413f9bd33ee915b9":[9,0,56,0], -"structb2_prismatic_joint_def.html#af36fdbcedca5a392a2649cd235c42676":[9,0,56,6], -"structb2_prismatic_joint_def.html#af7bb74b4f5188352c704d9822fb20d5a":[9,0,56,8], -"structb2_profile.html":[9,0,57], -"structb2_profile.html#a0979e064312ed8925524e91f1281bc42":[9,0,57,1], -"structb2_profile.html#a2a298f6bd1393201ddcf73b1d5895fdc":[9,0,57,7], -"structb2_profile.html#a3eae533b54120f67eded45189a2b8fd1":[9,0,57,4], -"structb2_profile.html#a6602b842b1aaec7c806fd747bc46c776":[9,0,57,2], -"structb2_profile.html#aabec27f37e180c3d1b5acb7278685c89":[9,0,57,0], -"structb2_profile.html#ac89fb41a9d5169573c03936f49224cf9":[9,0,57,5], -"structb2_profile.html#af22046f92b4be25ae9ff00156189f68d":[9,0,57,3] -}; diff --git a/documentation/navtreeindex6.js b/documentation/navtreeindex6.js deleted file mode 100644 index 8ccf537..0000000 --- a/documentation/navtreeindex6.js +++ /dev/null @@ -1,205 +0,0 @@ -var NAVTREEINDEX6 = -{ -"structb2_profile.html#af632bd1e0b258b622ae86b1eec3b3bd0":[9,0,57,6], -"structb2_pulley_joint_def.html":[9,0,59], -"structb2_pulley_joint_def.html#a173782e8ef86e9e4b4c53b60f5b1b4d9":[9,0,59,8], -"structb2_pulley_joint_def.html#a2b6b3838cfacf564fffafab3e83d1320":[9,0,59,4], -"structb2_pulley_joint_def.html#a2ec809343365486cd04bea67b12c4b74":[9,0,59,5], -"structb2_pulley_joint_def.html#aa412b9f3bffd1fb69ace14f9b3e03b82":[9,0,59,3], -"structb2_pulley_joint_def.html#aae77c020ce4629ab9e03560e28aa853d":[9,0,59,2], -"structb2_pulley_joint_def.html#ab006bb8b7ea6bea6e0fd8cbaaacb33b0":[9,0,59,0], -"structb2_pulley_joint_def.html#ad7677a4ad02a6e7cb8699fc5012eac3e":[9,0,59,6], -"structb2_pulley_joint_def.html#ae2dae1dd8369da56efd96226a0fb99a2":[9,0,59,1], -"structb2_pulley_joint_def.html#aed3f9c9f5f4145ceb32e7e164de73144":[9,0,59,7], -"structb2_ray_cast_input.html":[9,0,62], -"structb2_ray_cast_input.html#a7254a7062422833b1124fa464ab4caf3":[9,0,62,1], -"structb2_ray_cast_input.html#a850102c843469781a3a627c871043d0b":[9,0,62,2], -"structb2_ray_cast_input.html#ae845282b02a2a8cd5c8187f8ca719627":[9,0,62,0], -"structb2_ray_cast_output.html":[9,0,63], -"structb2_ray_cast_output.html#a7d89f293c3c618f36005955ceacc60fa":[9,0,63,0], -"structb2_ray_cast_output.html#aa9bbfe75afa23c21e85cb1bd3736529b":[9,0,63,1], -"structb2_revolute_joint_def.html":[9,0,65], -"structb2_revolute_joint_def.html#a20296c13c3102d03eb8787e463ff63d1":[9,0,65,0], -"structb2_revolute_joint_def.html#a27e17792157fff2aedcabb4b98d96f24":[9,0,65,6], -"structb2_revolute_joint_def.html#a2eaefc5fc5caf879cfd59ebcd852b756":[9,0,65,2], -"structb2_revolute_joint_def.html#a2ef3e7869ceacdf7212cf813fcc18074":[9,0,65,8], -"structb2_revolute_joint_def.html#a3f33bc1d9f6c22043a5ff2f1d89f04e0":[9,0,65,5], -"structb2_revolute_joint_def.html#a59d3a65db0f9ddde1416afa1f9b635a2":[9,0,65,10], -"structb2_revolute_joint_def.html#a6401b2a663533415d032a525e4fa2806":[9,0,65,1], -"structb2_revolute_joint_def.html#a76337d07aa63232a7b20d50decc862ae":[9,0,65,4], -"structb2_revolute_joint_def.html#a7d70409545eecd92b84b3d55724019e1":[9,0,65,9], -"structb2_revolute_joint_def.html#aa94d9e66be9f03818d0cfbd9c70b2996":[9,0,65,3], -"structb2_revolute_joint_def.html#af059ed0a6290622637814d5003739082":[9,0,65,7], -"structb2_rope_def.html":[9,0,67], -"structb2_rope_def.html#a0c75d4289a807e31f32dc43a2276671f":[9,0,67,1], -"structb2_rope_def.html#a180ccb1c45c5e979e08ce6d0484638fd":[9,0,67,0], -"structb2_rope_def.html#a3b14fdb5c9fa565fc6a817212a35b4e2":[9,0,67,3], -"structb2_rope_def.html#a76749fd9067a03af7a475eca07b710b3":[9,0,67,5], -"structb2_rope_def.html#a90d98969150047662ce835ec1670fb32":[9,0,67,2], -"structb2_rope_def.html#ae18ad98b9796c505ae62ce58fa2f7051":[9,0,67,6], -"structb2_rope_def.html#af9f6c80648c5678383137a1b38061f8b":[9,0,67,4], -"structb2_rope_tuning.html":[9,0,68], -"structb2_rope_tuning.html#a367cef87611572ed56c2a5f036877588":[9,0,68,7], -"structb2_rope_tuning.html#a3809a5967f1f684dbd8f9e37610f3c3e":[9,0,68,6], -"structb2_rope_tuning.html#a436710445402bdef2636e571104927b3":[9,0,68,4], -"structb2_rope_tuning.html#a5116eea155bd005537a17bc3852c2ceb":[9,0,68,8], -"structb2_rope_tuning.html#a74a341f139b19aeec78c856e44e8f6b1":[9,0,68,10], -"structb2_rope_tuning.html#a9670c23a46a43b81353ec7aa5aac8fc0":[9,0,68,12], -"structb2_rope_tuning.html#ab2cce3e543adf1c539c27391e33a91f4":[9,0,68,3], -"structb2_rope_tuning.html#ab7444b8ef6be5286ac7a34552dded1fa":[9,0,68,11], -"structb2_rope_tuning.html#aba3f9d247339684608ec0b9ab2413dc5":[9,0,68,9], -"structb2_rope_tuning.html#acf03028dd7a64644a817a3fc885be584":[9,0,68,5], -"structb2_rope_tuning.html#ae2ce4a37e471174882da15b771339fb8":[9,0,68,1], -"structb2_rope_tuning.html#aedf0982d715ad0a7b54eecca3a685b36":[9,0,68,2], -"structb2_rope_tuning.html#af027abf245a89b456ec8823d5e4a0f49":[9,0,68,0], -"structb2_rot.html":[9,0,69], -"structb2_rot.html#a0f889d93df2c1b57415c148943fc8d41":[9,0,69,7], -"structb2_rot.html#a16a35e0f8e38c2855d528ca0ae044bf3":[9,0,69,5], -"structb2_rot.html#a481158564d4e66b742b591cd68575dda":[9,0,69,8], -"structb2_rot.html#a7db29fc002fc40827446bd2608d38f3a":[9,0,69,2], -"structb2_rot.html#a7f534cb7ece8d325662d7d0e27d4f617":[9,0,69,6], -"structb2_rot.html#a8cabd61f7e293b67748640fa5aa19841":[9,0,69,0], -"structb2_rot.html#a952a5555c1f68ce3e39ac992fcf4eba9":[9,0,69,3], -"structb2_rot.html#aaebeb46656eb895a9c376c54579cecfb":[9,0,69,1], -"structb2_rot.html#ab057c4e9dc821099949391a6ded36dd6":[9,0,69,4], -"structb2_shape_cast_input.html":[9,0,71], -"structb2_shape_cast_input.html#a36d39b94a45503d3d6e71798346ea8d4":[9,0,71,0], -"structb2_shape_cast_input.html#a6e9bb5155a3484d722db155593878ecb":[9,0,71,1], -"structb2_shape_cast_input.html#a817359ad6acc1931a7e657605d593c51":[9,0,71,3], -"structb2_shape_cast_input.html#ab3d7478f4c4028bb919fda87fd08a9a8":[9,0,71,4], -"structb2_shape_cast_input.html#acc829c2d81e7b7363f8c3b4daa433db1":[9,0,71,2], -"structb2_shape_cast_output.html":[9,0,72], -"structb2_shape_cast_output.html#a06ee8768ab225444be7b7c43a38d7924":[9,0,72,0], -"structb2_shape_cast_output.html#a5565d41ded672d5c70c5374408144434":[9,0,72,3], -"structb2_shape_cast_output.html#aaf13d43e95b681103d125157a083be88":[9,0,72,2], -"structb2_shape_cast_output.html#aba784a19f9e73fb8abf38c75f13fc48e":[9,0,72,1], -"structb2_simplex_cache.html":[9,0,73], -"structb2_simplex_cache.html#a5ef63839988cc06210ae76bcef96f56c":[9,0,73,0], -"structb2_simplex_cache.html#a700adfcbce992d5efcadf62490f3100e":[9,0,73,3], -"structb2_simplex_cache.html#ab574159e69dda7e14ead8de848ca6b67":[9,0,73,1], -"structb2_simplex_cache.html#ab7586465ee2c5f7c3bdd8f80d5e256a7":[9,0,73,2], -"structb2_solver_data.html":[9,0,74], -"structb2_solver_data.html#a1072627a3e962a8bc7088657a512191c":[9,0,74,2], -"structb2_solver_data.html#a5eb6ee68b42d96164579a4a0df8be04b":[9,0,74,0], -"structb2_solver_data.html#a99998296de1b4f128c396def56392eea":[9,0,74,1], -"structb2_stack_entry.html":[9,0,76], -"structb2_stack_entry.html#a581b5e4699bb66a28ec0727497a4e478":[9,0,76,2], -"structb2_stack_entry.html#a910c62f05317f8906224b2569e0cb344":[9,0,76,1], -"structb2_stack_entry.html#af98aedeec2c20af0b7d3508a687ddd86":[9,0,76,0], -"structb2_sweep.html":[9,0,77], -"structb2_sweep.html#a16dacd7188f3c7b2adef3242012587d8":[9,0,77,7], -"structb2_sweep.html#a1b5402e01b92cc82473389fc6f0375c3":[9,0,77,6], -"structb2_sweep.html#a4252f7b2f4c5fe4c6fb9c611704c6298":[9,0,77,0], -"structb2_sweep.html#a4bcc302cf78771896d6256fc53f2f8be":[9,0,77,8], -"structb2_sweep.html#aa25e4a38f95ead2bf40f8e229872ead3":[9,0,77,4], -"structb2_sweep.html#abe0aef7b6e9abcf39757c613a37173fc":[9,0,77,3], -"structb2_sweep.html#ac3d40511e86ab6dba3fc6c2fc872a363":[9,0,77,1], -"structb2_sweep.html#ad66a3086bc7656df9cf7454013a2f61b":[9,0,77,2], -"structb2_sweep.html#af284c234d58bd026efd63254700accae":[9,0,77,5], -"structb2_t_o_i_input.html":[9,0,80], -"structb2_t_o_i_input.html#a5c5fb931435d92ac2d2080552400cd57":[9,0,80,0], -"structb2_t_o_i_input.html#a7f4e614d1c574006402e9610c984a93f":[9,0,80,1], -"structb2_t_o_i_input.html#a9471e4b475a1bbf0dcf1ebec6b67cbd4":[9,0,80,4], -"structb2_t_o_i_input.html#adf63a4b9969aa839c2d520bf6d76148a":[9,0,80,2], -"structb2_t_o_i_input.html#af506b6adc7eca852f08460ec76c7b9a7":[9,0,80,3], -"structb2_t_o_i_output.html":[9,0,81], -"structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959a":[9,0,81,0], -"structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aa305f55a9143e09cf416f6a994c786c84":[9,0,81,0,2], -"structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aa4d4178a0a0f89410d1b6b3a49f0c08d9":[9,0,81,0,3], -"structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aab73a45bbab8c3b7d82a6b43ec66ff3c5":[9,0,81,0,0], -"structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aac25604b5e961c2f50353d0c5114b0f2f":[9,0,81,0,1], -"structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aad8752c7cabc15b4522bd97e99acf66d1":[9,0,81,0,4], -"structb2_t_o_i_output.html#a1861be19f1e72c6f8103061ae7901488":[9,0,81,2], -"structb2_t_o_i_output.html#aaacbf28f437b965ffecabf1407a77915":[9,0,81,1], -"structb2_time_step.html":[9,0,79], -"structb2_time_step.html#a36196cdfc71e726d7ed08ca73e2e62e4":[9,0,79,0], -"structb2_time_step.html#a389cad0308d55b5f3e8b5d434b01e2d4":[9,0,79,1], -"structb2_time_step.html#a9795ece2eb17e13c2dadff487dffe853":[9,0,79,2], -"structb2_time_step.html#a9f2a0ccd8029681f254003b66f201ce1":[9,0,79,4], -"structb2_time_step.html#ab7938eec17a1a3d7961d8364e150f1be":[9,0,79,3], -"structb2_time_step.html#add80f7f86c84f005ad817f0313df3f32":[9,0,79,5], -"structb2_transform.html":[9,0,82], -"structb2_transform.html#a765a2e5c692a2e1d05c7a5441019373d":[9,0,82,0], -"structb2_transform.html#a79d07c5469f6ee6e2d99d80827b6038f":[9,0,82,2], -"structb2_transform.html#a823e190e4810e35e8100f4414d0bef62":[9,0,82,1], -"structb2_transform.html#a9eeeb643a016c29a4d389e480ba6c628":[9,0,82,4], -"structb2_transform.html#ae4aaac23f32686e165138c4e5dc4ce85":[9,0,82,5], -"structb2_transform.html#af92af4ec6833552b1b22a6ca6d4f5644":[9,0,82,3], -"structb2_tree_node.html":[9,0,83], -"structb2_tree_node.html#a3a320f2afc7d223e92ee3629602be5ca":[9,0,83,2], -"structb2_tree_node.html#a540267ce6fa890822f1eea2d1967f646":[9,0,83,0], -"structb2_tree_node.html#a5cef5935aeac831fcacd53e4d01e4027":[9,0,83,5], -"structb2_tree_node.html#a67ac768e9227b165198d3d4e2299f9b3":[9,0,83,6], -"structb2_tree_node.html#a6d293fa25192db51808ebec05ee7e56e":[9,0,83,7], -"structb2_tree_node.html#a798f1a594b33c713be45e76e79912239":[9,0,83,1], -"structb2_tree_node.html#aa6774ce329715b20d8b7cc8b6e3d50bc":[9,0,83,3], -"structb2_tree_node.html#acd183ac94a8d44195c787111be4c22e2":[9,0,83,4], -"structb2_tree_node.html#aff77b3eb48326aca1b0762f5c45e56e7":[9,0,83,8], -"structb2_vec2.html":[9,0,84], -"structb2_vec2.html#a3bbbbf0925b982a044fef8b3517a61c7":[9,0,84,16], -"structb2_vec2.html#a45b516a561fc43409194fc183c1feb68":[9,0,84,8], -"structb2_vec2.html#a590789342e22ac1e7f9c1a63a2778b6d":[9,0,84,9], -"structb2_vec2.html#a5c6cbe27cfb29c6dbb29b9a3285b88d0":[9,0,84,13], -"structb2_vec2.html#a6a45b081724bb89b6cfe3d21ee7d98b7":[9,0,84,7], -"structb2_vec2.html#a6b48cab4695a979ae40b7613aedc8b17":[9,0,84,11], -"structb2_vec2.html#a6cb15514ea571b4ddf73b6829551a127":[9,0,84,10], -"structb2_vec2.html#a78f0e635a664a563dd9246397d5f6e7e":[9,0,84,12], -"structb2_vec2.html#a7922601d8b8ad0550c2082ebaf74c78a":[9,0,84,15], -"structb2_vec2.html#a84f3b0f645f5e6fc6e4a36772a506903":[9,0,84,3], -"structb2_vec2.html#a9171b31deb83af96872f99689939a12f":[9,0,84,0], -"structb2_vec2.html#aaf36e082a20368b24edb635511872a74":[9,0,84,14], -"structb2_vec2.html#ab1e279a69f5c3e7e83c3a51e3b2339c0":[9,0,84,1], -"structb2_vec2.html#abad59bf9a0269f02cda9dc919592c0ee":[9,0,84,2], -"structb2_vec2.html#adb7d6b9fdf5b0e5b74fd347ec0b98575":[9,0,84,4], -"structb2_vec2.html#ae0128c95454ebf5dfe152c5644f06d21":[9,0,84,5], -"structb2_vec2.html#aedbd9f04609149375add7dea10759669":[9,0,84,6], -"structb2_vec3.html":[9,0,85], -"structb2_vec3.html#a2aaeed3f5308aad85d19c5f0efc72641":[9,0,85,3], -"structb2_vec3.html#a2edd53a381be4b6ebb35ff784422538a":[9,0,85,10], -"structb2_vec3.html#a396e2b5b3c53a502859ff80544c27db8":[9,0,85,4], -"structb2_vec3.html#a5a459ed49f1910a347ca247f848a2dd8":[9,0,85,7], -"structb2_vec3.html#a6aea565ecdaa8ef250004e289a2a6008":[9,0,85,9], -"structb2_vec3.html#a837423f66d6fb72d815e7390c09938b9":[9,0,85,0], -"structb2_vec3.html#a9e5b535548e1c5dfc0dc258d08f5ca32":[9,0,85,5], -"structb2_vec3.html#aa775073da7fc5db39460b692819b8d9f":[9,0,85,1], -"structb2_vec3.html#aa8bc525b92ce1716c257925fd62a6789":[9,0,85,8], -"structb2_vec3.html#abac600f1ab36d68f152bfb35f61c74c6":[9,0,85,6], -"structb2_vec3.html#af3e82a3f544c89c52817b6a5d30c73d5":[9,0,85,2], -"structb2_velocity.html":[9,0,86], -"structb2_velocity.html#a73b92ceff532491e71b9dbc53eecaa70":[9,0,86,0], -"structb2_velocity.html#ad5fbf32fa038657264120879a65bd1c3":[9,0,86,1], -"structb2_version.html":[9,0,87], -"structb2_version.html#a115b8797a6e0b8e53f54502bd20d89da":[9,0,87,1], -"structb2_version.html#a395cfe1434e348115d2ead3d72b88847":[9,0,87,2], -"structb2_version.html#a720da8e346364d1cb34d176125380b44":[9,0,87,0], -"structb2_weld_joint_def.html":[9,0,89], -"structb2_weld_joint_def.html#a18f4a2f33109edc37a3a977c6296bc31":[9,0,89,0], -"structb2_weld_joint_def.html#a3b04af6164bb32efc3f5cf3e8d2b7109":[9,0,89,3], -"structb2_weld_joint_def.html#a528262b92dac10de37411ad8c5637149":[9,0,89,4], -"structb2_weld_joint_def.html#a59dcfbbd7c8d4421b3c621946ab4ec7d":[9,0,89,2], -"structb2_weld_joint_def.html#a88841acce3b4e88fb33997a2f9eedb52":[9,0,89,5], -"structb2_weld_joint_def.html#a9f6592c2a7eba6ce6e07e40c4e82aab5":[9,0,89,1], -"structb2_weld_joint_def.html#aeb881c0408c9674b2a1869b491fdc6a0":[9,0,89,6], -"structb2_wheel_joint_def.html":[9,0,91], -"structb2_wheel_joint_def.html#a3afc5f07648a13caedc9ca3f223a556f":[9,0,91,10], -"structb2_wheel_joint_def.html#a3d46200f4f5342a46f5ef79f6a059d28":[9,0,91,3], -"structb2_wheel_joint_def.html#a3da0f9e8e69eb228c6b24b851802da88":[9,0,91,0], -"structb2_wheel_joint_def.html#a4a93efb807f7ab44d51941748b42f038":[9,0,91,11], -"structb2_wheel_joint_def.html#a63cf58bd91517985d824cd983d3c7b94":[9,0,91,12], -"structb2_wheel_joint_def.html#a74d5dd6cf83e7984e599da98500fd949":[9,0,91,8], -"structb2_wheel_joint_def.html#a88ba0f7108076b9d7ced68425be95c27":[9,0,91,6], -"structb2_wheel_joint_def.html#a8e7193d6c34c784ffd71e79d3a70acc6":[9,0,91,4], -"structb2_wheel_joint_def.html#a9429d2273bfdd8bdc0db416e73b89ae4":[9,0,91,5], -"structb2_wheel_joint_def.html#abfef1664c79bc98b782cc8035931aad0":[9,0,91,2], -"structb2_wheel_joint_def.html#ac2f848b113782cf594f7fe28aaeb7a97":[9,0,91,9], -"structb2_wheel_joint_def.html#ad635ee7b77b50037dc0e021a0f5c93a6":[9,0,91,7], -"structb2_wheel_joint_def.html#af26887092d36c3cd03898401a38783e2":[9,0,91,1], -"structb2_world_manifold.html":[9,0,93], -"structb2_world_manifold.html#a0bbe5473b313e7cc590ffd80ae4b4616":[9,0,93,3], -"structb2_world_manifold.html#a205cd53748c5ee68f0958af96f45f5a4":[9,0,93,0], -"structb2_world_manifold.html#acf8de61b73d9784d16f7d0e824ce44bf":[9,0,93,1], -"structb2_world_manifold.html#af15e84b90f102c0ac433be2d63604021":[9,0,93,2], -"unionb2_contact_i_d.html":[9,0,14], -"unionb2_contact_i_d.html#a04c04f8fdcb799b33552d01b3aa3f245":[9,0,14,1], -"unionb2_contact_i_d.html#a58b6732f909bc760f75e7aff3cd4be08":[9,0,14,0] -}; diff --git a/documentation/pages.html b/documentation/pages.html index c330046..dcf15bd 100644 --- a/documentation/pages.html +++ b/documentation/pages.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/prismatic_joint.gif b/documentation/prismatic_joint.gif deleted file mode 100644 index ac2037f..0000000 Binary files a/documentation/prismatic_joint.gif and /dev/null differ diff --git a/documentation/pulley_joint.gif b/documentation/pulley_joint.gif deleted file mode 100644 index ad8d4fb..0000000 Binary files a/documentation/pulley_joint.gif and /dev/null differ diff --git a/documentation/revolute_joint.gif b/documentation/revolute_joint.gif deleted file mode 100644 index 39b74e2..0000000 Binary files a/documentation/revolute_joint.gif and /dev/null differ diff --git a/documentation/samples.html b/documentation/samples.html index abb04fd..dfbcbc8 100644 --- a/documentation/samples.html +++ b/documentation/samples.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/search/all_0.html b/documentation/search/all_0.html deleted file mode 100644 index 26dd244..0000000 --- a/documentation/search/all_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_1.html b/documentation/search/all_1.html deleted file mode 100644 index 8eb215b..0000000 --- a/documentation/search/all_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_10.html b/documentation/search/all_10.html deleted file mode 100644 index 6fd3a4a..0000000 --- a/documentation/search/all_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_11.html b/documentation/search/all_11.html deleted file mode 100644 index f78343b..0000000 --- a/documentation/search/all_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_12.html b/documentation/search/all_12.html deleted file mode 100644 index dd9ff1d..0000000 --- a/documentation/search/all_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_13.html b/documentation/search/all_13.html deleted file mode 100644 index 2611a10..0000000 --- a/documentation/search/all_13.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_14.html b/documentation/search/all_14.html deleted file mode 100644 index 72d12e9..0000000 --- a/documentation/search/all_14.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_15.html b/documentation/search/all_15.html deleted file mode 100644 index 767aec3..0000000 --- a/documentation/search/all_15.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_16.html b/documentation/search/all_16.html deleted file mode 100644 index 7bd7afe..0000000 --- a/documentation/search/all_16.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_2.html b/documentation/search/all_2.html deleted file mode 100644 index b26d916..0000000 --- a/documentation/search/all_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_3.html b/documentation/search/all_3.html deleted file mode 100644 index b61b96f..0000000 --- a/documentation/search/all_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_4.html b/documentation/search/all_4.html deleted file mode 100644 index 06de155..0000000 --- a/documentation/search/all_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_5.html b/documentation/search/all_5.html deleted file mode 100644 index 2544c4e..0000000 --- a/documentation/search/all_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_6.html b/documentation/search/all_6.html deleted file mode 100644 index 43f14ea..0000000 --- a/documentation/search/all_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_7.html b/documentation/search/all_7.html deleted file mode 100644 index af52f82..0000000 --- a/documentation/search/all_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_8.html b/documentation/search/all_8.html deleted file mode 100644 index cf2b5df..0000000 --- a/documentation/search/all_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_9.html b/documentation/search/all_9.html deleted file mode 100644 index 690785a..0000000 --- a/documentation/search/all_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_a.html b/documentation/search/all_a.html deleted file mode 100644 index f2f3d3a..0000000 --- a/documentation/search/all_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_b.html b/documentation/search/all_b.html deleted file mode 100644 index 14f3403..0000000 --- a/documentation/search/all_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_c.html b/documentation/search/all_c.html deleted file mode 100644 index da60ab8..0000000 --- a/documentation/search/all_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_d.html b/documentation/search/all_d.html deleted file mode 100644 index bc376fe..0000000 --- a/documentation/search/all_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_e.html b/documentation/search/all_e.html deleted file mode 100644 index 2e3c74d..0000000 --- a/documentation/search/all_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/all_f.html b/documentation/search/all_f.html deleted file mode 100644 index 246f8ab..0000000 --- a/documentation/search/all_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/classes_0.html b/documentation/search/classes_0.html deleted file mode 100644 index f7e4c14..0000000 --- a/documentation/search/classes_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/close.png b/documentation/search/close.png deleted file mode 100644 index 9342d3d..0000000 Binary files a/documentation/search/close.png and /dev/null differ diff --git a/documentation/search/defines_0.html b/documentation/search/defines_0.html deleted file mode 100644 index 2deb369..0000000 --- a/documentation/search/defines_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/defines_0.js b/documentation/search/defines_0.js deleted file mode 100644 index 748381f..0000000 --- a/documentation/search/defines_0.js +++ /dev/null @@ -1,21 +0,0 @@ -var searchData= -[ - ['b2_5faabbextension_998',['b2_aabbExtension',['../b2__common_8h.html#adb86e231496fdd6ac7795ce58d40c870',1,'b2_common.h']]], - ['b2_5faabbmultiplier_999',['b2_aabbMultiplier',['../b2__common_8h.html#a7d1bd1594f20601d4079bccbd0a6a03c',1,'b2_common.h']]], - ['b2_5fangularsleeptolerance_1000',['b2_angularSleepTolerance',['../b2__common_8h.html#a571f3e7c864aca14141b163205600eef',1,'b2_common.h']]], - ['b2_5fangularslop_1001',['b2_angularSlop',['../b2__common_8h.html#a67810fb101bb7a7e0b3afc14845383ee',1,'b2_common.h']]], - ['b2_5fbaumgarte_1002',['b2_baumgarte',['../b2__common_8h.html#a88e32539e0f9e69e3832e1321eba3caa',1,'b2_common.h']]], - ['b2_5flengthunitspermeter_1003',['b2_lengthUnitsPerMeter',['../b2__settings_8h.html#ac981dcccb9ee291352843a27af829c8c',1,'b2_settings.h']]], - ['b2_5flinearsleeptolerance_1004',['b2_linearSleepTolerance',['../b2__common_8h.html#a6d882c48142a8c73011b576e20dc6dd8',1,'b2_common.h']]], - ['b2_5flinearslop_1005',['b2_linearSlop',['../b2__common_8h.html#a57268ade379c5c3373d0ff558b0350cf',1,'b2_common.h']]], - ['b2_5fmaxangularcorrection_1006',['b2_maxAngularCorrection',['../b2__common_8h.html#a823e4f9a6fa4b9de3c97da696571400a',1,'b2_common.h']]], - ['b2_5fmaxlinearcorrection_1007',['b2_maxLinearCorrection',['../b2__common_8h.html#a23ab70e4809f5ee23abcd52018d5eb88',1,'b2_common.h']]], - ['b2_5fmaxmanifoldpoints_1008',['b2_maxManifoldPoints',['../b2__common_8h.html#aa5f44cc9edf711433dea2b2ec94f3c42',1,'b2_common.h']]], - ['b2_5fmaxpolygonvertices_1009',['b2_maxPolygonVertices',['../b2__settings_8h.html#a09d71ee1993bee28b5b2e6d893b41884',1,'b2_settings.h']]], - ['b2_5fmaxrotation_1010',['b2_maxRotation',['../b2__common_8h.html#a5808c5f1e946205d8f7458101ccc698e',1,'b2_common.h']]], - ['b2_5fmaxsubsteps_1011',['b2_maxSubSteps',['../b2__common_8h.html#ac1fd56e39ab8499f344b6398b7332e55',1,'b2_common.h']]], - ['b2_5fmaxtoicontacts_1012',['b2_maxTOIContacts',['../b2__common_8h.html#aad3a54bcae5f7ec0235963403c2fccc9',1,'b2_common.h']]], - ['b2_5fmaxtranslation_1013',['b2_maxTranslation',['../b2__common_8h.html#af2bad257bfbafed3665df3e243ba2b52',1,'b2_common.h']]], - ['b2_5fpolygonradius_1014',['b2_polygonRadius',['../b2__common_8h.html#afc0f934dabffb1e83e081249133ad860',1,'b2_common.h']]], - ['b2_5ftimetosleep_1015',['b2_timeToSleep',['../b2__common_8h.html#ab021adb740e4a5e1f5f7d9913ed94781',1,'b2_common.h']]] -]; diff --git a/documentation/search/enums_0.html b/documentation/search/enums_0.html deleted file mode 100644 index 9669700..0000000 --- a/documentation/search/enums_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/enumvalues_0.html b/documentation/search/enumvalues_0.html deleted file mode 100644 index 9286248..0000000 --- a/documentation/search/enumvalues_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/enumvalues_1.html b/documentation/search/enumvalues_1.html deleted file mode 100644 index e22a79f..0000000 --- a/documentation/search/enumvalues_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/enumvalues_1.js b/documentation/search/enumvalues_1.js deleted file mode 100644 index e86bcad..0000000 --- a/documentation/search/enumvalues_1.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['e_5faabbbit_993',['e_aabbBit',['../classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2acdf1370108930182a45f39e7cc9b0cc7',1,'b2Draw']]], - ['e_5fcenterofmassbit_994',['e_centerOfMassBit',['../classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2a7f1494d816479c7d23997a6c292cd8b6',1,'b2Draw']]], - ['e_5fjointbit_995',['e_jointBit',['../classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2a241137a63679720c41a271c11681e2b3',1,'b2Draw']]], - ['e_5fpairbit_996',['e_pairBit',['../classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2ac86bb64ac65e555db28827407f2f2d43',1,'b2Draw']]], - ['e_5fshapebit_997',['e_shapeBit',['../classb2_draw.html#ae23c5d6c4f5230621f736593469cf7f2a1c8964c4f1fdc39e98b58ac38ecda1f9',1,'b2Draw']]] -]; diff --git a/documentation/search/files_0.html b/documentation/search/files_0.html deleted file mode 100644 index 737608e..0000000 --- a/documentation/search/files_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/files_0.js b/documentation/search/files_0.js deleted file mode 100644 index 9364492..0000000 --- a/documentation/search/files_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['b2_5fcollision_2eh_599',['b2_collision.h',['../b2__collision_8h.html',1,'']]], - ['b2_5fcommon_2eh_600',['b2_common.h',['../b2__common_8h.html',1,'']]], - ['b2_5fsettings_2eh_601',['b2_settings.h',['../b2__settings_8h.html',1,'']]] -]; diff --git a/documentation/search/functions_0.html b/documentation/search/functions_0.html deleted file mode 100644 index e17c711..0000000 --- a/documentation/search/functions_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_1.html b/documentation/search/functions_1.html deleted file mode 100644 index 0ddac0a..0000000 --- a/documentation/search/functions_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_1.js b/documentation/search/functions_1.js deleted file mode 100644 index fc73297..0000000 --- a/documentation/search/functions_1.js +++ /dev/null @@ -1,29 +0,0 @@ -var searchData= -[ - ['b2alloc_611',['b2Alloc',['../b2__settings_8h.html#a2dca9b286e9b9d6d022055fd61534bd7',1,'b2_settings.h']]], - ['b2alloc_5fdefault_612',['b2Alloc_Default',['../b2__settings_8h.html#a5358f4a0d6805d16f331270b6433410e',1,'b2_settings.h']]], - ['b2bodydef_613',['b2BodyDef',['../structb2_body_def.html#a87bee47596b3b3eced0d9dd1f4c18fee',1,'b2BodyDef']]], - ['b2clipsegmenttoline_614',['b2ClipSegmentToLine',['../b2__collision_8h.html#ae3cb294fe9a7fc7468af0890098db22c',1,'b2_collision.h']]], - ['b2collidecircles_615',['b2CollideCircles',['../b2__collision_8h.html#a07097764ce44f2f56363665e174e6a99',1,'b2_collision.h']]], - ['b2collideedgeandcircle_616',['b2CollideEdgeAndCircle',['../b2__collision_8h.html#a178f4de7a4c22aafc58f087ca44ba244',1,'b2_collision.h']]], - ['b2collideedgeandpolygon_617',['b2CollideEdgeAndPolygon',['../b2__collision_8h.html#a0ac33feb3d8d7bc13f56c5d729ab29a0',1,'b2_collision.h']]], - ['b2collidepolygonandcircle_618',['b2CollidePolygonAndCircle',['../b2__collision_8h.html#a2ac0c6b0178c2af3c07a0bc18bdbbcab',1,'b2_collision.h']]], - ['b2collidepolygons_619',['b2CollidePolygons',['../b2__collision_8h.html#aba296a9e3c99f43e4f27aeeadc3a7a9b',1,'b2_collision.h']]], - ['b2dynamictree_620',['b2DynamicTree',['../classb2_dynamic_tree.html#a8af64cf6a1566fa4c5b5c9683bd937d9',1,'b2DynamicTree']]], - ['b2fixturedef_621',['b2FixtureDef',['../structb2_fixture_def.html#aa34ba06bcf0d6d981931a83cf124a602',1,'b2FixtureDef']]], - ['b2free_622',['b2Free',['../b2__settings_8h.html#a50f4abf5edeabd0300946edbd542e24d',1,'b2_settings.h']]], - ['b2getpointstates_623',['b2GetPointStates',['../b2__collision_8h.html#a04288250049cbfc7d1a860e7c60e55e9',1,'b2_collision.h']]], - ['b2log_624',['b2Log',['../b2__settings_8h.html#a9f10095d05c74eebfe535931c9061ab2',1,'b2_settings.h']]], - ['b2log_5fdefault_625',['b2Log_Default',['../b2__settings_8h.html#a5bbb7f5988607acce4f0422a4683d824',1,'b2_settings.h']]], - ['b2mat22_626',['b2Mat22',['../structb2_mat22.html#ac3e10f6d457c8dab9062ba378f66bc4d',1,'b2Mat22::b2Mat22()'],['../structb2_mat22.html#abd674c6d92e26962977f34bcd92ff24d',1,'b2Mat22::b2Mat22(const b2Vec2 &c1, const b2Vec2 &c2)'],['../structb2_mat22.html#a1a5d89430e2ac3cb71ff57347f54f2f3',1,'b2Mat22::b2Mat22(float a11, float a12, float a21, float a22)']]], - ['b2mat33_627',['b2Mat33',['../structb2_mat33.html#a1f4d7ddf1c8a202fc08ec64dfe191463',1,'b2Mat33::b2Mat33()'],['../structb2_mat33.html#a36d99a037008776c8d09fe0aeb5c759c',1,'b2Mat33::b2Mat33(const b2Vec3 &c1, const b2Vec3 &c2, const b2Vec3 &c3)']]], - ['b2opendump_628',['b2OpenDump',['../b2__common_8h.html#ab6fcb96fe471342272c624bced36ac97',1,'b2_common.h']]], - ['b2rot_629',['b2Rot',['../structb2_rot.html#aaebeb46656eb895a9c376c54579cecfb',1,'b2Rot']]], - ['b2testoverlap_630',['b2TestOverlap',['../b2__collision_8h.html#a769992d82855399cf20721cd6b411fe7',1,'b2_collision.h']]], - ['b2timer_631',['b2Timer',['../classb2_timer.html#afcc159032a8edeaa9febdf2b6cbd49a5',1,'b2Timer']]], - ['b2transform_632',['b2Transform',['../structb2_transform.html#a765a2e5c692a2e1d05c7a5441019373d',1,'b2Transform::b2Transform()'],['../structb2_transform.html#a823e190e4810e35e8100f4414d0bef62',1,'b2Transform::b2Transform(const b2Vec2 &position, const b2Rot &rotation)']]], - ['b2vec2_633',['b2Vec2',['../structb2_vec2.html#a9171b31deb83af96872f99689939a12f',1,'b2Vec2::b2Vec2()'],['../structb2_vec2.html#ab1e279a69f5c3e7e83c3a51e3b2339c0',1,'b2Vec2::b2Vec2(float xIn, float yIn)']]], - ['b2vec3_634',['b2Vec3',['../structb2_vec3.html#a837423f66d6fb72d815e7390c09938b9',1,'b2Vec3::b2Vec3()'],['../structb2_vec3.html#aa775073da7fc5db39460b692819b8d9f',1,'b2Vec3::b2Vec3(float xIn, float yIn, float zIn)']]], - ['b2world_635',['b2World',['../classb2_world.html#aeccc87fd9e36702c821a8244ca7cd875',1,'b2World']]], - ['begincontact_636',['BeginContact',['../classb2_contact_listener.html#a35148fc56fb9eac12077200fbd928f65',1,'b2ContactListener']]] -]; diff --git a/documentation/search/functions_10.html b/documentation/search/functions_10.html deleted file mode 100644 index 09422e1..0000000 --- a/documentation/search/functions_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_10.js b/documentation/search/functions_10.js deleted file mode 100644 index 834a271..0000000 --- a/documentation/search/functions_10.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['testoverlap_876',['TestOverlap',['../classb2_broad_phase.html#a263cc21e2a3f1f892c20b048eca3cad6',1,'b2BroadPhase']]], - ['testpoint_877',['TestPoint',['../classb2_chain_shape.html#afd03c8679f18f9962a6c76bde629c62a',1,'b2ChainShape::TestPoint()'],['../classb2_circle_shape.html#a84e22b3807e84b72f2981010fc197099',1,'b2CircleShape::TestPoint()'],['../classb2_edge_shape.html#a15151673cf9ad585779c70363425f470',1,'b2EdgeShape::TestPoint()'],['../classb2_fixture.html#aa56d3ca04a5d0478c6477876cd480cc6',1,'b2Fixture::TestPoint()'],['../classb2_polygon_shape.html#a129c4ac76727fe02724f675e3fef7fe5',1,'b2PolygonShape::TestPoint()'],['../classb2_shape.html#a6ac968e403e2d93e8ae46d728a2e50fa',1,'b2Shape::TestPoint()']]], - ['touchproxy_878',['TouchProxy',['../classb2_broad_phase.html#a67b296431ebbc7b44037f21d645d9166',1,'b2BroadPhase']]] -]; diff --git a/documentation/search/functions_11.html b/documentation/search/functions_11.html deleted file mode 100644 index 1cde7b4..0000000 --- a/documentation/search/functions_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_11.js b/documentation/search/functions_11.js deleted file mode 100644 index 2992323..0000000 --- a/documentation/search/functions_11.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['updatepairs_879',['UpdatePairs',['../classb2_broad_phase.html#a0a1acd693466b997700242ae00784c20',1,'b2BroadPhase']]] -]; diff --git a/documentation/search/functions_12.html b/documentation/search/functions_12.html deleted file mode 100644 index 48e5915..0000000 --- a/documentation/search/functions_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_12.js b/documentation/search/functions_12.js deleted file mode 100644 index 5bddfab..0000000 --- a/documentation/search/functions_12.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['validate_880',['Validate',['../classb2_dynamic_tree.html#ae9b989f0c04e38f9c940623d4e1728b9',1,'b2DynamicTree::Validate()'],['../classb2_polygon_shape.html#a135f4c20e17f10479e08f7befbd4d1f0',1,'b2PolygonShape::Validate()']]] -]; diff --git a/documentation/search/functions_13.html b/documentation/search/functions_13.html deleted file mode 100644 index f1fc553..0000000 --- a/documentation/search/functions_13.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_13.js b/documentation/search/functions_13.js deleted file mode 100644 index 89d0a92..0000000 --- a/documentation/search/functions_13.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['_7eb2chainshape_881',['~b2ChainShape',['../classb2_chain_shape.html#a8c032394f5a85e7fc425a437e7689a18',1,'b2ChainShape']]], - ['_7eb2dynamictree_882',['~b2DynamicTree',['../classb2_dynamic_tree.html#a9060565fc63b4dd87d9560775c076786',1,'b2DynamicTree']]], - ['_7eb2world_883',['~b2World',['../classb2_world.html#a5250ae4487475c33ccefdead07c768c8',1,'b2World']]] -]; diff --git a/documentation/search/functions_2.html b/documentation/search/functions_2.html deleted file mode 100644 index 2737c5a..0000000 --- a/documentation/search/functions_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_2.js b/documentation/search/functions_2.js deleted file mode 100644 index 049f99e..0000000 --- a/documentation/search/functions_2.js +++ /dev/null @@ -1,17 +0,0 @@ -var searchData= -[ - ['clear_637',['Clear',['../classb2_chain_shape.html#a434d4b61ab15726302ec5ad484011c33',1,'b2ChainShape']]], - ['clearflags_638',['ClearFlags',['../classb2_draw.html#afc240b71f4ba8c17440d6ed526d4e22e',1,'b2Draw']]], - ['clearforces_639',['ClearForces',['../classb2_world.html#ac082ab4c4ad0b1c5ec4674315eeec643',1,'b2World']]], - ['clone_640',['Clone',['../classb2_chain_shape.html#a5916e4b5dd8edce3cf71ecfe775501e1',1,'b2ChainShape::Clone()'],['../classb2_circle_shape.html#a0910bc7335923aa4c525be26dfd6e720',1,'b2CircleShape::Clone()'],['../classb2_edge_shape.html#a99fd092e0f3a4074ad1fba1fa6023451',1,'b2EdgeShape::Clone()'],['../classb2_polygon_shape.html#ab3409517e0e6ae926998f78238a38954',1,'b2PolygonShape::Clone()'],['../classb2_shape.html#a4716243454bb9cf7c7ee1d9cb23ae634',1,'b2Shape::Clone()']]], - ['combine_641',['Combine',['../structb2_a_a_b_b.html#ad551edba62d2ad6094672a9ba3e26496',1,'b2AABB::Combine(const b2AABB &aabb)'],['../structb2_a_a_b_b.html#a34b9c7d824df845c10caa9c12ae90452',1,'b2AABB::Combine(const b2AABB &aabb1, const b2AABB &aabb2)']]], - ['computeaabb_642',['ComputeAABB',['../classb2_chain_shape.html#ae1d7470ce8d32e92d27c149ab45f5468',1,'b2ChainShape::ComputeAABB()'],['../classb2_circle_shape.html#af4a4ea78780af7a7ce40bf5d54affe83',1,'b2CircleShape::ComputeAABB()'],['../classb2_edge_shape.html#a238139ae1736b457d77443133ff16854',1,'b2EdgeShape::ComputeAABB()'],['../classb2_polygon_shape.html#ae9bcc185caf4a030003cefc4576e4717',1,'b2PolygonShape::ComputeAABB()'],['../classb2_shape.html#a88e9807fab0c8ca9a98d8926e50a1411',1,'b2Shape::ComputeAABB()']]], - ['computemass_643',['ComputeMass',['../classb2_chain_shape.html#a0f871ad5059ff9577ab2be7bb7521107',1,'b2ChainShape::ComputeMass()'],['../classb2_circle_shape.html#a2d367ead5cedca923eb47bcff24af019',1,'b2CircleShape::ComputeMass()'],['../classb2_edge_shape.html#a2873ebff00737e90ac5d8348c39a37c0',1,'b2EdgeShape::ComputeMass()'],['../classb2_polygon_shape.html#ab9b7bf3fb10c6995b6ac3648919dfd36',1,'b2PolygonShape::ComputeMass()'],['../classb2_shape.html#a1b9497fd7951fa995df6fe00bcf8581b',1,'b2Shape::ComputeMass()']]], - ['contains_644',['Contains',['../structb2_a_a_b_b.html#acf98175d3a53bca755d5c4852fa85a00',1,'b2AABB']]], - ['createbody_645',['CreateBody',['../classb2_world.html#a9323d553e4c132b26d8741b457d7c034',1,'b2World']]], - ['createchain_646',['CreateChain',['../classb2_chain_shape.html#ad84a2fcd7aea6d8024759baa4275db9f',1,'b2ChainShape']]], - ['createfixture_647',['CreateFixture',['../classb2_body.html#a40dda91b34418bb40e31e2db9b1b76a5',1,'b2Body::CreateFixture(const b2FixtureDef *def)'],['../classb2_body.html#a3587f472b121deadca4ecb770f518647',1,'b2Body::CreateFixture(const b2Shape *shape, float density)']]], - ['createjoint_648',['CreateJoint',['../classb2_world.html#a8a408c367fe133530f3e577c667d1efd',1,'b2World']]], - ['createloop_649',['CreateLoop',['../classb2_chain_shape.html#ac257742a52cac391e25962a4c703fb06',1,'b2ChainShape']]], - ['createproxy_650',['CreateProxy',['../classb2_broad_phase.html#ae2f7af756bc55ece45221466c5af449c',1,'b2BroadPhase::CreateProxy()'],['../classb2_dynamic_tree.html#ae44676f12977dada46037da47fc7ffbf',1,'b2DynamicTree::CreateProxy()']]] -]; diff --git a/documentation/search/functions_3.html b/documentation/search/functions_3.html deleted file mode 100644 index 6da86e7..0000000 --- a/documentation/search/functions_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_3.js b/documentation/search/functions_3.js deleted file mode 100644 index c696db7..0000000 --- a/documentation/search/functions_3.js +++ /dev/null @@ -1,17 +0,0 @@ -var searchData= -[ - ['debugdraw_651',['DebugDraw',['../classb2_world.html#aa4a3a2958e46bfe9deb78a9dcd425f05',1,'b2World']]], - ['destroybody_652',['DestroyBody',['../classb2_world.html#ad52231ad7a9556ef5735ac79cbcd8fcf',1,'b2World']]], - ['destroyfixture_653',['DestroyFixture',['../classb2_body.html#a856d1df86b7bded91f02d8cfcaea1c2f',1,'b2Body']]], - ['destroyjoint_654',['DestroyJoint',['../classb2_world.html#add5942aef171e54cfa384c8975746dca',1,'b2World']]], - ['destroyproxy_655',['DestroyProxy',['../classb2_broad_phase.html#a84f0fb227dc01a9b9baa55c7b8c68984',1,'b2BroadPhase::DestroyProxy()'],['../classb2_dynamic_tree.html#a62aa451e7d7fe029818dd05f76ea9cdc',1,'b2DynamicTree::DestroyProxy()']]], - ['draw_656',['Draw',['../classb2_distance_joint.html#a3fea9ac993635c52d3008cedf104e26b',1,'b2DistanceJoint::Draw()'],['../classb2_joint.html#aea86b65244fc81ea1511d462b36ffbe4',1,'b2Joint::Draw()'],['../classb2_prismatic_joint.html#a36d9629a8ac5f10d51af72977672d802',1,'b2PrismaticJoint::Draw()'],['../classb2_revolute_joint.html#adaa2a3c758243f39a97c43f7a2acc23e',1,'b2RevoluteJoint::Draw()'],['../classb2_wheel_joint.html#a259eee444cf0bd720960b72a628db3fe',1,'b2WheelJoint::Draw()']]], - ['drawcircle_657',['DrawCircle',['../classb2_draw.html#ac9d2741c2c0eb82e420e5c7c6656bbed',1,'b2Draw']]], - ['drawpoint_658',['DrawPoint',['../classb2_draw.html#a3202e73f617bd33d896d55f1d6464bc1',1,'b2Draw']]], - ['drawpolygon_659',['DrawPolygon',['../classb2_draw.html#acd5427d1d2e7d19f1b34ad3620134d28',1,'b2Draw']]], - ['drawsegment_660',['DrawSegment',['../classb2_draw.html#a1de5aaf50db875d1c644c596832af57d',1,'b2Draw']]], - ['drawsolidcircle_661',['DrawSolidCircle',['../classb2_draw.html#a407abb3672d4cdc9fabcbe208b2ad517',1,'b2Draw']]], - ['drawsolidpolygon_662',['DrawSolidPolygon',['../classb2_draw.html#a76f2d67de0781a32cab116278c5c9eea',1,'b2Draw']]], - ['drawtransform_663',['DrawTransform',['../classb2_draw.html#ade698123482a491a7a61fa1fe4d3a4f4',1,'b2Draw']]], - ['dump_664',['Dump',['../classb2_body.html#ac9e482f7d9df92801c24e79a7e751d06',1,'b2Body::Dump()'],['../classb2_distance_joint.html#a14589a4b69e19d441ff090ecfb8f4886',1,'b2DistanceJoint::Dump()'],['../classb2_fixture.html#a57485e73a2063060e320c7176676cd5e',1,'b2Fixture::Dump()'],['../classb2_friction_joint.html#a934a3ce5bda09bc07111c1dd4e192406',1,'b2FrictionJoint::Dump()'],['../classb2_gear_joint.html#a40ca34a7853db14d3978c0b18598dd8d',1,'b2GearJoint::Dump()'],['../classb2_joint.html#abd35e7316017ad9a40d5dbf9b5ba3f36',1,'b2Joint::Dump()'],['../classb2_motor_joint.html#abb67754f39b4747ae07af5cb5b348836',1,'b2MotorJoint::Dump()'],['../classb2_mouse_joint.html#aea1ff1e5b71ba5630875585cab1e2a96',1,'b2MouseJoint::Dump()'],['../classb2_prismatic_joint.html#a843ddb0f912085f3deb3ee7320d7ddc7',1,'b2PrismaticJoint::Dump()'],['../classb2_pulley_joint.html#a51b3fa745fc43f806cee1328099b4623',1,'b2PulleyJoint::Dump()'],['../classb2_revolute_joint.html#a408badabe21b169412a5c4a2f36bbbd8',1,'b2RevoluteJoint::Dump()'],['../classb2_weld_joint.html#a59de1cad3229b41886bc23c4d6216e2f',1,'b2WeldJoint::Dump()'],['../classb2_wheel_joint.html#a8295644bd733c28c8c9fa6390a367f3f',1,'b2WheelJoint::Dump()'],['../classb2_world.html#a73c1fec260d460514edd335d4c235893',1,'b2World::Dump()']]] -]; diff --git a/documentation/search/functions_4.html b/documentation/search/functions_4.html deleted file mode 100644 index 911304e..0000000 --- a/documentation/search/functions_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_4.js b/documentation/search/functions_4.js deleted file mode 100644 index 85ee284..0000000 --- a/documentation/search/functions_4.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['enablelimit_665',['EnableLimit',['../classb2_prismatic_joint.html#a6d419afe7bd4b0e36d2e4607df7f79f2',1,'b2PrismaticJoint::EnableLimit()'],['../classb2_revolute_joint.html#a56bdfdd04e906e52d0258f6a481b9093',1,'b2RevoluteJoint::EnableLimit()'],['../classb2_wheel_joint.html#a73e40351f5f42cf2de7235524bf1afad',1,'b2WheelJoint::EnableLimit()']]], - ['enablemotor_666',['EnableMotor',['../classb2_prismatic_joint.html#a4a7fd079de49f7ed5aa4a5d8d90be2a2',1,'b2PrismaticJoint::EnableMotor()'],['../classb2_revolute_joint.html#a80ed5a07d9a0e07d010808a73ffae6ff',1,'b2RevoluteJoint::EnableMotor()'],['../classb2_wheel_joint.html#a7a832d814bdda135a78fad41ba671da6',1,'b2WheelJoint::EnableMotor()']]], - ['endcontact_667',['EndContact',['../classb2_contact_listener.html#afb3059058e5c47903a3947c2eef5826b',1,'b2ContactListener']]], - ['evaluate_668',['Evaluate',['../classb2_contact.html#ae3c2842e5325b2d4500f8ed1d4de2f72',1,'b2Contact']]] -]; diff --git a/documentation/search/functions_5.html b/documentation/search/functions_5.html deleted file mode 100644 index 61b920d..0000000 --- a/documentation/search/functions_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_5.js b/documentation/search/functions_5.js deleted file mode 100644 index af05507..0000000 --- a/documentation/search/functions_5.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['flagforfiltering_669',['FlagForFiltering',['../classb2_contact.html#a44a3d32149021269eb9dfd4015c98e0d',1,'b2Contact']]], - ['free_670',['Free',['../classb2_block_allocator.html#a945fdf86e260318b930a53dcc887ca8b',1,'b2BlockAllocator']]] -]; diff --git a/documentation/search/functions_6.html b/documentation/search/functions_6.html deleted file mode 100644 index dc70a4a..0000000 --- a/documentation/search/functions_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_6.js b/documentation/search/functions_6.js deleted file mode 100644 index b324d7c..0000000 --- a/documentation/search/functions_6.js +++ /dev/null @@ -1,112 +0,0 @@ -var searchData= -[ - ['getaabb_671',['GetAABB',['../classb2_fixture.html#a158574dc389fec83a05b09ab715c4474',1,'b2Fixture']]], - ['getanchora_672',['GetAnchorA',['../classb2_distance_joint.html#ae228d3ce27009acd8a20c2570fb1183c',1,'b2DistanceJoint::GetAnchorA()'],['../classb2_friction_joint.html#a8e0bf2e9eba24f326d060789fedc7278',1,'b2FrictionJoint::GetAnchorA()'],['../classb2_gear_joint.html#a2928d2e9eac9137808537faa9b30a649',1,'b2GearJoint::GetAnchorA()'],['../classb2_joint.html#abe46ca3aad5db73909a9b5a7b2117447',1,'b2Joint::GetAnchorA()'],['../classb2_motor_joint.html#a58adfab0fe79d254347a367341b0963a',1,'b2MotorJoint::GetAnchorA()'],['../classb2_mouse_joint.html#a3c42531ac763bca3658a987d0ac7d2c4',1,'b2MouseJoint::GetAnchorA()'],['../classb2_prismatic_joint.html#abb6649d2a18abb209f68d5255cd6c606',1,'b2PrismaticJoint::GetAnchorA()'],['../classb2_pulley_joint.html#af7167643e6d72d879eea619a368194c1',1,'b2PulleyJoint::GetAnchorA()'],['../classb2_revolute_joint.html#a9878591c460a4e1575f8a77c237608ae',1,'b2RevoluteJoint::GetAnchorA()'],['../classb2_weld_joint.html#ac675d0b09a4d9567d85bcba8821785bc',1,'b2WeldJoint::GetAnchorA()'],['../classb2_wheel_joint.html#a43a301e48ba486278932c82d3a98abd8',1,'b2WheelJoint::GetAnchorA()']]], - ['getanchorb_673',['GetAnchorB',['../classb2_distance_joint.html#a05bf71de10904c87e3a5295aa04a8aa6',1,'b2DistanceJoint::GetAnchorB()'],['../classb2_friction_joint.html#af5a025b64221aafa98393d47d8414328',1,'b2FrictionJoint::GetAnchorB()'],['../classb2_gear_joint.html#a3d24a3265e64f36017404a36abcb7889',1,'b2GearJoint::GetAnchorB()'],['../classb2_joint.html#a88e947c65d4ea26fe539f02a8cb7f7a9',1,'b2Joint::GetAnchorB()'],['../classb2_motor_joint.html#a5d563fd070f7b6cfe8db6f83e1bebbcd',1,'b2MotorJoint::GetAnchorB()'],['../classb2_mouse_joint.html#adecfaff123ba199f9fc80be7fcb74af2',1,'b2MouseJoint::GetAnchorB()'],['../classb2_prismatic_joint.html#a7e1d328bfd05895fd228c07bac41b9e5',1,'b2PrismaticJoint::GetAnchorB()'],['../classb2_pulley_joint.html#aee56f103c1d1d30fcbd3a8570e321ba9',1,'b2PulleyJoint::GetAnchorB()'],['../classb2_revolute_joint.html#aa30a5d414b2ff699cc17567ff6e53e6b',1,'b2RevoluteJoint::GetAnchorB()'],['../classb2_weld_joint.html#ac97596e42af760d0a035b15213d3341a',1,'b2WeldJoint::GetAnchorB()'],['../classb2_wheel_joint.html#a62f450ad368793c3cde36404a39775e0',1,'b2WheelJoint::GetAnchorB()']]], - ['getangle_674',['GetAngle',['../classb2_body.html#ab5d135ef592b5f11f4e8d3ffbd831ac5',1,'b2Body::GetAngle()'],['../structb2_rot.html#a7db29fc002fc40827446bd2608d38f3a',1,'b2Rot::GetAngle()']]], - ['getangulardamping_675',['GetAngularDamping',['../classb2_body.html#a18747d955ee0d0b15f1a9ac6519072c4',1,'b2Body']]], - ['getangularvelocity_676',['GetAngularVelocity',['../classb2_body.html#a74598dd867e9e658198363e51fd9fc09',1,'b2Body']]], - ['getarearatio_677',['GetAreaRatio',['../classb2_dynamic_tree.html#a270c60a449c1cb2e1d0dd7bf2089e3fe',1,'b2DynamicTree']]], - ['getautoclearforces_678',['GetAutoClearForces',['../classb2_world.html#ae1fa8272edf37a4e2a7be08f6e0a8cc6',1,'b2World']]], - ['getbody_679',['GetBody',['../classb2_fixture.html#a8685b558c360c86cdd53931dc0d96dfb',1,'b2Fixture']]], - ['getbodya_680',['GetBodyA',['../classb2_joint.html#a2ed5eca3dbdce48665c14452b280613f',1,'b2Joint']]], - ['getbodyb_681',['GetBodyB',['../classb2_joint.html#a700b3d4c87f34f456151b9598e4641a0',1,'b2Joint']]], - ['getbodycount_682',['GetBodyCount',['../classb2_world.html#a41c8b37baf5165c06932e8f08eb758de',1,'b2World']]], - ['getbodylist_683',['GetBodyList',['../classb2_world.html#aed0f868df48cb46342fa19e62d9bc00d',1,'b2World']]], - ['getcenter_684',['GetCenter',['../structb2_a_a_b_b.html#a2c4051e79001a3166cc7f8ad811137fe',1,'b2AABB']]], - ['getchildcount_685',['GetChildCount',['../classb2_chain_shape.html#a4d4fd8f5386a30f35b10d1b2848dbe54',1,'b2ChainShape::GetChildCount()'],['../classb2_circle_shape.html#a552db3402aed5d12c3177981e5208065',1,'b2CircleShape::GetChildCount()'],['../classb2_edge_shape.html#ae9dcaa2f4b77fcf182d29159658da82a',1,'b2EdgeShape::GetChildCount()'],['../classb2_polygon_shape.html#aa8bb0d5a88624104425cdee0b2f4427a',1,'b2PolygonShape::GetChildCount()'],['../classb2_shape.html#a05a3c445017d96df9238ceefe6ce37ab',1,'b2Shape::GetChildCount()']]], - ['getchildedge_686',['GetChildEdge',['../classb2_chain_shape.html#abfe7f836d3c32dc06b920df61a74f412',1,'b2ChainShape']]], - ['getchildindexa_687',['GetChildIndexA',['../classb2_contact.html#aa0b0739e6615ba8d38e9b5bd8761dc31',1,'b2Contact']]], - ['getchildindexb_688',['GetChildIndexB',['../classb2_contact.html#aab201068e7f2cc31c69b1f5c8471d672',1,'b2Contact']]], - ['getcollideconnected_689',['GetCollideConnected',['../classb2_joint.html#a48492903df96c8a7b8cad8ed826f8cb0',1,'b2Joint']]], - ['getcontactcount_690',['GetContactCount',['../classb2_world.html#aa47375fc3ca9f09d0350c61cfeabcee9',1,'b2World']]], - ['getcontactlist_691',['GetContactList',['../classb2_body.html#ad20334ee2027b51c81d40614d62b6114',1,'b2Body::GetContactList()'],['../classb2_world.html#aee1a9c154690729a62774bde656bfc74',1,'b2World::GetContactList()']]], - ['getcontactmanager_692',['GetContactManager',['../classb2_world.html#a3d321151cd851d39bdc8fe52a5be426c',1,'b2World']]], - ['getcorrectionfactor_693',['GetCorrectionFactor',['../classb2_motor_joint.html#a827da80c693304040cb171369af7d9ba',1,'b2MotorJoint']]], - ['getcurrentlength_694',['GetCurrentLength',['../classb2_distance_joint.html#a3870962f440272ea05cf186e8d5dea26',1,'b2DistanceJoint']]], - ['getcurrentlengtha_695',['GetCurrentLengthA',['../classb2_pulley_joint.html#af3e0e1a4947fd249664c13aa1894c2f1',1,'b2PulleyJoint']]], - ['getcurrentlengthb_696',['GetCurrentLengthB',['../classb2_pulley_joint.html#aa3f0de16bc3df6e5995ef1e10657a653',1,'b2PulleyJoint']]], - ['getdensity_697',['GetDensity',['../classb2_fixture.html#adf764a37ac8dbf39029bb062afca651a',1,'b2Fixture']]], - ['getextents_698',['GetExtents',['../structb2_a_a_b_b.html#a2a4f550a18d2a0895fbc5c4d3ec17d22',1,'b2AABB']]], - ['getfataabb_699',['GetFatAABB',['../classb2_broad_phase.html#af5c47c036ca67d44676ea3cec73ae3d8',1,'b2BroadPhase::GetFatAABB()'],['../classb2_dynamic_tree.html#a655b9ddff43e4e0a34a372eddc03ecb9',1,'b2DynamicTree::GetFatAABB()']]], - ['getfilterdata_700',['GetFilterData',['../classb2_fixture.html#ad956250d9f684a407992ec178320127e',1,'b2Fixture']]], - ['getfixturea_701',['GetFixtureA',['../classb2_contact.html#ab792662a3a2d2b47357d125f0564353c',1,'b2Contact']]], - ['getfixtureb_702',['GetFixtureB',['../classb2_contact.html#aa479e2c5e4a1c324ea215b755bdedecf',1,'b2Contact']]], - ['getfixturelist_703',['GetFixtureList',['../classb2_body.html#a51e648fae53a5985d92542a2f284c30b',1,'b2Body']]], - ['getflags_704',['GetFlags',['../classb2_draw.html#a10926d67ad6d3a2517197c4f10923700',1,'b2Draw']]], - ['getfriction_705',['GetFriction',['../classb2_contact.html#af1179718c7547a96bee7dc57fc553f38',1,'b2Contact::GetFriction()'],['../classb2_fixture.html#a44ac72b400bde646b73542f64131d158',1,'b2Fixture::GetFriction()']]], - ['getgravity_706',['GetGravity',['../classb2_world.html#abd41cdde8eaa3d1c58d2f00eaf688ec3',1,'b2World']]], - ['getgravityscale_707',['GetGravityScale',['../classb2_body.html#a8f07fc15b51ff436c5fac17fa3b0217d',1,'b2Body']]], - ['getgroundanchora_708',['GetGroundAnchorA',['../classb2_pulley_joint.html#a082db0a3ab20f682b9c7d5f41f0cc79e',1,'b2PulleyJoint']]], - ['getgroundanchorb_709',['GetGroundAnchorB',['../classb2_pulley_joint.html#afb105270ab46c3fc3f862cab6e127971',1,'b2PulleyJoint']]], - ['getheight_710',['GetHeight',['../classb2_dynamic_tree.html#ae3c7dc771d596f1f95fd3a3d7f2f3e97',1,'b2DynamicTree']]], - ['getinertia_711',['GetInertia',['../classb2_body.html#aeb14368285d1956e61c4ecdf388e3fe8',1,'b2Body']]], - ['getinverse22_712',['GetInverse22',['../structb2_mat33.html#aa020bfd08e28c4cecda303ba335fe517',1,'b2Mat33']]], - ['getjoint1_713',['GetJoint1',['../classb2_gear_joint.html#acd3fb38982319f387d1eb7aeddd5311f',1,'b2GearJoint']]], - ['getjoint2_714',['GetJoint2',['../classb2_gear_joint.html#af1673b8edd80f3ae3b868c3a18b7b058',1,'b2GearJoint']]], - ['getjointangle_715',['GetJointAngle',['../classb2_revolute_joint.html#a23d6b56b7dbbfec7c7ef61aad4419d82',1,'b2RevoluteJoint::GetJointAngle()'],['../classb2_wheel_joint.html#a18d00b2e7a7837c00795ea295a484cba',1,'b2WheelJoint::GetJointAngle()']]], - ['getjointangularspeed_716',['GetJointAngularSpeed',['../classb2_wheel_joint.html#a4678f47b5875e76989e0531115fd3784',1,'b2WheelJoint']]], - ['getjointcount_717',['GetJointCount',['../classb2_world.html#a98bd6ca53dbc376f210beced33901934',1,'b2World']]], - ['getjointlinearspeed_718',['GetJointLinearSpeed',['../classb2_wheel_joint.html#adf275d41c2deee038c6e574a96482828',1,'b2WheelJoint']]], - ['getjointlist_719',['GetJointList',['../classb2_body.html#aa265e145185e58ff310bf4498f682029',1,'b2Body::GetJointList()'],['../classb2_world.html#af4cc9c1787e8d540a7497fa45669e3cd',1,'b2World::GetJointList()']]], - ['getjointspeed_720',['GetJointSpeed',['../classb2_prismatic_joint.html#a8a485e77f09e2c2d664b832941b4e0ab',1,'b2PrismaticJoint::GetJointSpeed()'],['../classb2_revolute_joint.html#a7cfe4867f184afead2b1cefce02a85c3',1,'b2RevoluteJoint::GetJointSpeed()']]], - ['getjointtranslation_721',['GetJointTranslation',['../classb2_prismatic_joint.html#afac0f3a0d2ad169428c3c78b20575bad',1,'b2PrismaticJoint::GetJointTranslation()'],['../classb2_wheel_joint.html#a7bfbe118654808ef258000f21cfd69ff',1,'b2WheelJoint::GetJointTranslation()']]], - ['getlength_722',['GetLength',['../classb2_distance_joint.html#a106df63b539c0eaf87a0896c9ffb7528',1,'b2DistanceJoint']]], - ['getlengtha_723',['GetLengthA',['../classb2_pulley_joint.html#aed605418a26209780fd124becc4873f3',1,'b2PulleyJoint']]], - ['getlengthb_724',['GetLengthB',['../classb2_pulley_joint.html#a1b9c9c48decdce1d07a829d165fdb7f2',1,'b2PulleyJoint']]], - ['getlineardamping_725',['GetLinearDamping',['../classb2_body.html#a6bc2ee9d96ac58f48774ffd10fd45153',1,'b2Body']]], - ['getlinearvelocity_726',['GetLinearVelocity',['../classb2_body.html#a8fcaf842141320701057f679dff90b89',1,'b2Body']]], - ['getlinearvelocityfromlocalpoint_727',['GetLinearVelocityFromLocalPoint',['../classb2_body.html#a0ac0a4ad6ac3c7804652d9994239dcbd',1,'b2Body']]], - ['getlinearvelocityfromworldpoint_728',['GetLinearVelocityFromWorldPoint',['../classb2_body.html#a5bc9a483e5f59199daa1751786034c1d',1,'b2Body']]], - ['getlocalanchora_729',['GetLocalAnchorA',['../classb2_distance_joint.html#aaa881128071c62f21898a75d5b20308a',1,'b2DistanceJoint::GetLocalAnchorA()'],['../classb2_friction_joint.html#a34023581ada2b4fba11e058695b49dd7',1,'b2FrictionJoint::GetLocalAnchorA()'],['../classb2_prismatic_joint.html#a0a4812486867f4c7507bb8c29e860997',1,'b2PrismaticJoint::GetLocalAnchorA()'],['../classb2_revolute_joint.html#af8cefd09d50a4e349613722809b8c823',1,'b2RevoluteJoint::GetLocalAnchorA()'],['../classb2_weld_joint.html#af3a42eee31a74fe895b07fa694dc4ae5',1,'b2WeldJoint::GetLocalAnchorA()'],['../classb2_wheel_joint.html#aaf132c39227962a0b0788558e7dd6662',1,'b2WheelJoint::GetLocalAnchorA()']]], - ['getlocalanchorb_730',['GetLocalAnchorB',['../classb2_distance_joint.html#a214a1cca8854613d7401c9a5892a28c9',1,'b2DistanceJoint::GetLocalAnchorB()'],['../classb2_friction_joint.html#a44fab4532f7c4aad9d833f009caac586',1,'b2FrictionJoint::GetLocalAnchorB()'],['../classb2_prismatic_joint.html#ab9c2a0fbf075454320e87648750668b0',1,'b2PrismaticJoint::GetLocalAnchorB()'],['../classb2_revolute_joint.html#ac58e115df370181adc1ea1c486d84dc6',1,'b2RevoluteJoint::GetLocalAnchorB()'],['../classb2_weld_joint.html#ac0c5e6a53b120f0302d2c6d267d40147',1,'b2WeldJoint::GetLocalAnchorB()'],['../classb2_wheel_joint.html#a78c56833f42bfc61998aa5ea8c876f3e',1,'b2WheelJoint::GetLocalAnchorB()']]], - ['getlocalaxisa_731',['GetLocalAxisA',['../classb2_prismatic_joint.html#a54d51d09f3c327c5c4238e054e2a3a76',1,'b2PrismaticJoint::GetLocalAxisA()'],['../classb2_wheel_joint.html#a86bf4dbf356f9095c05d62313810e602',1,'b2WheelJoint::GetLocalAxisA()']]], - ['getlocalcenter_732',['GetLocalCenter',['../classb2_body.html#a60cc46fc46849b0d5e61a151b7c41269',1,'b2Body']]], - ['getlocalpoint_733',['GetLocalPoint',['../classb2_body.html#a0df8f4312ab23223489323326b2d763d',1,'b2Body']]], - ['getlocalvector_734',['GetLocalVector',['../classb2_body.html#aed2f88179cedf4cdbdc47429ebe41288',1,'b2Body']]], - ['getlowerlimit_735',['GetLowerLimit',['../classb2_prismatic_joint.html#aab4719f61c3ad092890608156a635e84',1,'b2PrismaticJoint::GetLowerLimit()'],['../classb2_revolute_joint.html#afb2fed2c431754d2ae187dc79ee762c1',1,'b2RevoluteJoint::GetLowerLimit()'],['../classb2_wheel_joint.html#a6022fc9b4b2b57ded45b45df94f14503',1,'b2WheelJoint::GetLowerLimit()']]], - ['getmanifold_736',['GetManifold',['../classb2_contact.html#ae0710efc84b890c9ebfa4bf0208aff73',1,'b2Contact']]], - ['getmass_737',['GetMass',['../classb2_body.html#a885eff0655c0b7c4a8d44821c1e261c7',1,'b2Body']]], - ['getmassdata_738',['GetMassData',['../classb2_body.html#a5100927dbd39dd0addea79d5f323f3f1',1,'b2Body::GetMassData()'],['../classb2_fixture.html#a4532a12e848c5ceb5a3b94cf45b7cbad',1,'b2Fixture::GetMassData()']]], - ['getmaxbalance_739',['GetMaxBalance',['../classb2_dynamic_tree.html#a3feab170229e0acd17f6a4ad3fca406e',1,'b2DynamicTree']]], - ['getmaxforce_740',['GetMaxForce',['../classb2_friction_joint.html#a6f05f6a65ce7a62cd96ba04d06ce34d2',1,'b2FrictionJoint::GetMaxForce()'],['../classb2_motor_joint.html#a2d20421e4336350007db42caa9887101',1,'b2MotorJoint::GetMaxForce()']]], - ['getmaxlength_741',['GetMaxLength',['../classb2_distance_joint.html#af8ba8ab35d2eab9fbe2c9fb980e04ac2',1,'b2DistanceJoint']]], - ['getmaxtorque_742',['GetMaxTorque',['../classb2_friction_joint.html#a53d81e82c633b9be1223200f6df60e69',1,'b2FrictionJoint::GetMaxTorque()'],['../classb2_motor_joint.html#aa8276f00dc2e32a0d7de6de2022e9ffa',1,'b2MotorJoint::GetMaxTorque()']]], - ['getmilliseconds_743',['GetMilliseconds',['../classb2_timer.html#a2b31785590ab43123553a20cefc31319',1,'b2Timer']]], - ['getminlength_744',['GetMinLength',['../classb2_distance_joint.html#af4f3c6312fcda2bee3f4ff3a1b698bbd',1,'b2DistanceJoint']]], - ['getmotorforce_745',['GetMotorForce',['../classb2_prismatic_joint.html#a74de30b8ac04a879ccaebe69dffd1095',1,'b2PrismaticJoint']]], - ['getmotorspeed_746',['GetMotorSpeed',['../classb2_prismatic_joint.html#a1135c06e3047fe90b09efcb3268c781e',1,'b2PrismaticJoint::GetMotorSpeed()'],['../classb2_revolute_joint.html#a67d84b190f845da4c70b6cbf57bb7afc',1,'b2RevoluteJoint::GetMotorSpeed()'],['../classb2_wheel_joint.html#a6d757bbcef609f4a496b71c89046663b',1,'b2WheelJoint::GetMotorSpeed()']]], - ['getmotortorque_747',['GetMotorTorque',['../classb2_revolute_joint.html#a571a5d4411e3944174d776abc6c51a1e',1,'b2RevoluteJoint::GetMotorTorque()'],['../classb2_wheel_joint.html#a6272c7afa6a27cc7c2ec8c531d279070',1,'b2WheelJoint::GetMotorTorque()']]], - ['getnext_748',['GetNext',['../classb2_body.html#a43d77e8df9c04d259fb3a1088fee4c69',1,'b2Body::GetNext()'],['../classb2_contact.html#a609281d276c38146455774734ba8d83e',1,'b2Contact::GetNext()'],['../classb2_fixture.html#a53808c75e490b053d3a0de6b2fe30ab8',1,'b2Fixture::GetNext()'],['../classb2_joint.html#a08b1258326a45a37c67c8fc3c8731b0e',1,'b2Joint::GetNext()']]], - ['getperimeter_749',['GetPerimeter',['../structb2_a_a_b_b.html#a1a99ebbc150518667f24c853a5b6168b',1,'b2AABB']]], - ['getposition_750',['GetPosition',['../classb2_body.html#a7944dc953ac0cb1e00b32bc61b50e70d',1,'b2Body']]], - ['getprofile_751',['GetProfile',['../classb2_world.html#aec4fb0a888e69e0db7f37a4921761711',1,'b2World']]], - ['getproxycount_752',['GetProxyCount',['../classb2_broad_phase.html#ab7a8c31223d8404b79f6c57e8fc69837',1,'b2BroadPhase::GetProxyCount()'],['../classb2_world.html#a088742d580bfc42531790ea8747bb8f8',1,'b2World::GetProxyCount()']]], - ['getratio_753',['GetRatio',['../classb2_pulley_joint.html#a472c1a4a487ea5b5b13d11c7d529a90a',1,'b2PulleyJoint']]], - ['getreactionforce_754',['GetReactionForce',['../classb2_distance_joint.html#a9fe0a109f9472b3e8a7b95f85fb550b2',1,'b2DistanceJoint::GetReactionForce()'],['../classb2_friction_joint.html#ac04ce66163ed256d72c38e289f94c768',1,'b2FrictionJoint::GetReactionForce()'],['../classb2_gear_joint.html#a3d097b44e5a5f4a22f815ed4c5bc4f93',1,'b2GearJoint::GetReactionForce()'],['../classb2_joint.html#ad9f0c84f0292ab17cbdb6435c7a039b9',1,'b2Joint::GetReactionForce()'],['../classb2_motor_joint.html#a5dd26e48d7820619bdf149e08ea49bcb',1,'b2MotorJoint::GetReactionForce()'],['../classb2_mouse_joint.html#a7a244f07ad43ab09cc55b62e0fb3df6e',1,'b2MouseJoint::GetReactionForce()'],['../classb2_prismatic_joint.html#a2012f13891e6703c3c1262c8a5b87344',1,'b2PrismaticJoint::GetReactionForce()'],['../classb2_pulley_joint.html#a7266fcd14aaf4ca6c95a8960290e8ffd',1,'b2PulleyJoint::GetReactionForce()'],['../classb2_revolute_joint.html#a79a4a55ee3e70e47d06a72c052ed684c',1,'b2RevoluteJoint::GetReactionForce()'],['../classb2_weld_joint.html#aeb4ef1d32a18f00b8137f6018194ca1c',1,'b2WeldJoint::GetReactionForce()'],['../classb2_wheel_joint.html#af60590d061d9c47e1f30c6d96a667ff4',1,'b2WheelJoint::GetReactionForce()']]], - ['getreactiontorque_755',['GetReactionTorque',['../classb2_distance_joint.html#afecdba9f4665d4d704202dc748d5a0c4',1,'b2DistanceJoint::GetReactionTorque()'],['../classb2_friction_joint.html#a048b773f56e987a6aa030b61b33e5a85',1,'b2FrictionJoint::GetReactionTorque()'],['../classb2_gear_joint.html#aa3e41e7fe095d561986c75da66eb9147',1,'b2GearJoint::GetReactionTorque()'],['../classb2_joint.html#aeda5032fc551df6f488355d459ae60ef',1,'b2Joint::GetReactionTorque()'],['../classb2_motor_joint.html#a5735431a7c29ca105ec2fb6bd6548d0e',1,'b2MotorJoint::GetReactionTorque()'],['../classb2_mouse_joint.html#a4eb8a3682f405c47431ced0bfbb09211',1,'b2MouseJoint::GetReactionTorque()'],['../classb2_prismatic_joint.html#a0d5958f2a8f0ab7562b18ef7f3c898b1',1,'b2PrismaticJoint::GetReactionTorque()'],['../classb2_pulley_joint.html#aa3dcfe5c7b9585645ef26ba0188e7ef5',1,'b2PulleyJoint::GetReactionTorque()'],['../classb2_revolute_joint.html#abf81881ef8a6ba2743d387d9175490fe',1,'b2RevoluteJoint::GetReactionTorque()'],['../classb2_weld_joint.html#a7239dacdc5f5098df6e32961c16cfb25',1,'b2WeldJoint::GetReactionTorque()'],['../classb2_wheel_joint.html#a2dc2734c5df3b381163b2ae25779f665',1,'b2WheelJoint::GetReactionTorque()']]], - ['getreferenceangle_756',['GetReferenceAngle',['../classb2_prismatic_joint.html#a2b29bdf26fd584ce0aaedd0015878cb3',1,'b2PrismaticJoint::GetReferenceAngle()'],['../classb2_revolute_joint.html#a818b019d11494450eb603c745620ccf0',1,'b2RevoluteJoint::GetReferenceAngle()'],['../classb2_weld_joint.html#ac7f218b7b727f81167835ba92acb7f95',1,'b2WeldJoint::GetReferenceAngle()']]], - ['getrestitution_757',['GetRestitution',['../classb2_contact.html#a94cbde7aa8fad9ed0f28b1d2c152208a',1,'b2Contact::GetRestitution()'],['../classb2_fixture.html#a50f89dfa96a456ca28b03e418e8dee3f',1,'b2Fixture::GetRestitution()']]], - ['getrestitutionthreshold_758',['GetRestitutionThreshold',['../classb2_contact.html#a7c7ae870baa3dc346e0246658a2083e3',1,'b2Contact::GetRestitutionThreshold()'],['../classb2_fixture.html#a3fb3768555b29d85e40f5c4ddedbf348',1,'b2Fixture::GetRestitutionThreshold()']]], - ['getshape_759',['GetShape',['../classb2_fixture.html#a9951f54d1d2a5afe22d731045a48e486',1,'b2Fixture']]], - ['getsupport_760',['GetSupport',['../structb2_distance_proxy.html#a39de286cc0c1e829adfacfa0061b04f2',1,'b2DistanceProxy']]], - ['getsupportvertex_761',['GetSupportVertex',['../structb2_distance_proxy.html#a245993f09e9f3d3f374bb95041acf822',1,'b2DistanceProxy']]], - ['getsyminverse33_762',['GetSymInverse33',['../structb2_mat33.html#a2620944663233096d3b82bc4b1a991e9',1,'b2Mat33']]], - ['gettangentspeed_763',['GetTangentSpeed',['../classb2_contact.html#ad054cbfd6f12ac351b80c2d4789dc6c7',1,'b2Contact']]], - ['gettransform_764',['GetTransform',['../classb2_body.html#afb316448e6e555ceb2df23ed216b2f53',1,'b2Body::GetTransform()'],['../structb2_sweep.html#ac3d40511e86ab6dba3fc6c2fc872a363',1,'b2Sweep::GetTransform()']]], - ['gettreebalance_765',['GetTreeBalance',['../classb2_broad_phase.html#a29612faf9f0191827440178629d5e887',1,'b2BroadPhase::GetTreeBalance()'],['../classb2_world.html#aaca027331f06d93d978b44e065873f80',1,'b2World::GetTreeBalance()']]], - ['gettreeheight_766',['GetTreeHeight',['../classb2_broad_phase.html#a868f95225d62c3ea79d231ed305253ea',1,'b2BroadPhase::GetTreeHeight()'],['../classb2_world.html#abc99b2beb6ba79ac6c80f33bac264b52',1,'b2World::GetTreeHeight()']]], - ['gettreequality_767',['GetTreeQuality',['../classb2_broad_phase.html#abd35a141e33777a6dd02c28004df7b95',1,'b2BroadPhase::GetTreeQuality()'],['../classb2_world.html#a86edb8ba7c800b57977227d8ed5406cb',1,'b2World::GetTreeQuality()']]], - ['gettype_768',['GetType',['../classb2_body.html#a9c2234b5a5fff91305a65ecd0cf0ee59',1,'b2Body::GetType()'],['../classb2_fixture.html#a7a566c1e3b768f6a72ebc3b758aad70e',1,'b2Fixture::GetType()'],['../classb2_joint.html#ac56eef62fe1ac7c9e5e21a79fb035255',1,'b2Joint::GetType()'],['../classb2_shape.html#a600cceee6186d81bb1b8ab142324bba6',1,'b2Shape::GetType()']]], - ['getupperlimit_769',['GetUpperLimit',['../classb2_prismatic_joint.html#a7137a9fb5fa5a161a248abfb2eba022d',1,'b2PrismaticJoint::GetUpperLimit()'],['../classb2_revolute_joint.html#a5232a0d859e8f14bf4bc008a542f58da',1,'b2RevoluteJoint::GetUpperLimit()'],['../classb2_wheel_joint.html#ae095bf76b791e44736d3dfebcaf0bbe6',1,'b2WheelJoint::GetUpperLimit()']]], - ['getuserdata_770',['GetUserData',['../classb2_body.html#a13eeec74f9c874f9dab25463b0c11717',1,'b2Body::GetUserData()'],['../classb2_broad_phase.html#a3b85893e3cf18b43087cb96b0b9076d1',1,'b2BroadPhase::GetUserData()'],['../classb2_dynamic_tree.html#aa8399f9440707780f267696098e8b920',1,'b2DynamicTree::GetUserData()'],['../classb2_fixture.html#af42d4b917097c6300012f63410a985dc',1,'b2Fixture::GetUserData()'],['../classb2_joint.html#ab31c3a0c5a494d21b1ca134d609ca8ab',1,'b2Joint::GetUserData()']]], - ['getvertex_771',['GetVertex',['../structb2_distance_proxy.html#a9073b2c680d3fee6399f15be79ad144a',1,'b2DistanceProxy']]], - ['getvertexcount_772',['GetVertexCount',['../structb2_distance_proxy.html#a99c461f28d484429dac8f14b58f63d89',1,'b2DistanceProxy']]], - ['getworld_773',['GetWorld',['../classb2_body.html#a934fd329f6264cd55e58eab34baadb39',1,'b2Body']]], - ['getworldcenter_774',['GetWorldCenter',['../classb2_body.html#a3e14cfe61c63913ef7b0f719f7145318',1,'b2Body']]], - ['getworldmanifold_775',['GetWorldManifold',['../classb2_contact.html#a7f5645863f6197fa28cc1baafbd11255',1,'b2Contact']]], - ['getworldpoint_776',['GetWorldPoint',['../classb2_body.html#a712b782c61963c6f07beca86acc631ae',1,'b2Body']]], - ['getworldvector_777',['GetWorldVector',['../classb2_body.html#ae8c434785b2a730f7c385e708b345bb6',1,'b2Body']]], - ['getxaxis_778',['GetXAxis',['../structb2_rot.html#a952a5555c1f68ce3e39ac992fcf4eba9',1,'b2Rot']]], - ['getyaxis_779',['GetYAxis',['../structb2_rot.html#ab057c4e9dc821099949391a6ded36dd6',1,'b2Rot']]] -]; diff --git a/documentation/search/functions_7.html b/documentation/search/functions_7.html deleted file mode 100644 index 7de3106..0000000 --- a/documentation/search/functions_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_7.js b/documentation/search/functions_7.js deleted file mode 100644 index 21b9566..0000000 --- a/documentation/search/functions_7.js +++ /dev/null @@ -1,15 +0,0 @@ -var searchData= -[ - ['initialize_780',['Initialize',['../structb2_world_manifold.html#a205cd53748c5ee68f0958af96f45f5a4',1,'b2WorldManifold::Initialize()'],['../structb2_distance_joint_def.html#a99788a534638cc28cd1e44e0036503f0',1,'b2DistanceJointDef::Initialize()'],['../structb2_friction_joint_def.html#aee104f2aeb34dec4e17e3c52a98f7915',1,'b2FrictionJointDef::Initialize()'],['../structb2_motor_joint_def.html#a90eb924b6e04da8d75d9cefad0655960',1,'b2MotorJointDef::Initialize()'],['../structb2_prismatic_joint_def.html#ae60043bc22b077e8c59ab248dc34652f',1,'b2PrismaticJointDef::Initialize()'],['../structb2_pulley_joint_def.html#ae2dae1dd8369da56efd96226a0fb99a2',1,'b2PulleyJointDef::Initialize()'],['../structb2_revolute_joint_def.html#a6401b2a663533415d032a525e4fa2806',1,'b2RevoluteJointDef::Initialize()'],['../structb2_weld_joint_def.html#a9f6592c2a7eba6ce6e07e40c4e82aab5',1,'b2WeldJointDef::Initialize()'],['../structb2_wheel_joint_def.html#af26887092d36c3cd03898401a38783e2',1,'b2WheelJointDef::Initialize()']]], - ['isawake_781',['IsAwake',['../classb2_body.html#a697f708427cdf7d31a626e80e694682c',1,'b2Body']]], - ['isbullet_782',['IsBullet',['../classb2_body.html#ad99db1c7a19e8de333ff7f65b0b953f4',1,'b2Body']]], - ['isenabled_783',['IsEnabled',['../classb2_body.html#a065ecdf30e8d27a0a1164f5fb1bfc99a',1,'b2Body::IsEnabled()'],['../classb2_contact.html#af81964f40dce556efbc83ae760f166b0',1,'b2Contact::IsEnabled()'],['../classb2_joint.html#ad8afc5c7b8b325e982e75fe35730253d',1,'b2Joint::IsEnabled()']]], - ['isfixedrotation_784',['IsFixedRotation',['../classb2_body.html#a0920b7a770f7c876cf6d149e227036b5',1,'b2Body']]], - ['islimitenabled_785',['IsLimitEnabled',['../classb2_prismatic_joint.html#a22e2442a17832f718447c63c9c6263c8',1,'b2PrismaticJoint::IsLimitEnabled()'],['../classb2_revolute_joint.html#a84ff9c4f82b3e7d27a4390164f81f3ab',1,'b2RevoluteJoint::IsLimitEnabled()'],['../classb2_wheel_joint.html#a8d94a1a2fe588fa5f4905334d4456ffd',1,'b2WheelJoint::IsLimitEnabled()']]], - ['islocked_786',['IsLocked',['../classb2_world.html#a71ca09a3082945a7e77f3f39fb021237',1,'b2World']]], - ['ismotorenabled_787',['IsMotorEnabled',['../classb2_prismatic_joint.html#a06492dabf33439efdebceb29899c7fc9',1,'b2PrismaticJoint::IsMotorEnabled()'],['../classb2_revolute_joint.html#a37d5744e89991ebe01b974c4d15a21b5',1,'b2RevoluteJoint::IsMotorEnabled()'],['../classb2_wheel_joint.html#aef7948a18ec2784397a1d3745824cd78',1,'b2WheelJoint::IsMotorEnabled()']]], - ['issensor_788',['IsSensor',['../classb2_fixture.html#aedd23d27ff7ce2d53b6c5b7a878a35d3',1,'b2Fixture']]], - ['issleepingallowed_789',['IsSleepingAllowed',['../classb2_body.html#ac47251de3a8c0ccff620be7bd5ae696a',1,'b2Body']]], - ['istouching_790',['IsTouching',['../classb2_contact.html#a681346f93e2a27403383775a752c06a0',1,'b2Contact']]], - ['isvalid_791',['IsValid',['../structb2_a_a_b_b.html#a70bb45c086fcc2d7ee8694deb386070e',1,'b2AABB::IsValid()'],['../structb2_vec2.html#abad59bf9a0269f02cda9dc919592c0ee',1,'b2Vec2::IsValid()']]] -]; diff --git a/documentation/search/functions_8.html b/documentation/search/functions_8.html deleted file mode 100644 index 7422be2..0000000 --- a/documentation/search/functions_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_8.js b/documentation/search/functions_8.js deleted file mode 100644 index f22c68c..0000000 --- a/documentation/search/functions_8.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['length_792',['Length',['../structb2_vec2.html#a84f3b0f645f5e6fc6e4a36772a506903',1,'b2Vec2']]], - ['lengthsquared_793',['LengthSquared',['../structb2_vec2.html#adb7d6b9fdf5b0e5b74fd347ec0b98575',1,'b2Vec2']]] -]; diff --git a/documentation/search/functions_9.html b/documentation/search/functions_9.html deleted file mode 100644 index befd4fa..0000000 --- a/documentation/search/functions_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_9.js b/documentation/search/functions_9.js deleted file mode 100644 index 0de7a8b..0000000 --- a/documentation/search/functions_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['moveproxy_794',['MoveProxy',['../classb2_broad_phase.html#a01dc18a19c2b5d0cc1d9cd8c8554234c',1,'b2BroadPhase::MoveProxy()'],['../classb2_dynamic_tree.html#a7748252811f3c575015931399cbe4daa',1,'b2DynamicTree::MoveProxy()']]] -]; diff --git a/documentation/search/functions_a.html b/documentation/search/functions_a.html deleted file mode 100644 index a81e963..0000000 --- a/documentation/search/functions_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_a.js b/documentation/search/functions_a.js deleted file mode 100644 index d1446fa..0000000 --- a/documentation/search/functions_a.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['normalize_795',['Normalize',['../structb2_vec2.html#ae0128c95454ebf5dfe152c5644f06d21',1,'b2Vec2::Normalize()'],['../structb2_sweep.html#ad66a3086bc7656df9cf7454013a2f61b',1,'b2Sweep::Normalize()']]] -]; diff --git a/documentation/search/functions_b.html b/documentation/search/functions_b.html deleted file mode 100644 index 345265d..0000000 --- a/documentation/search/functions_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_b.js b/documentation/search/functions_b.js deleted file mode 100644 index e1c5a14..0000000 --- a/documentation/search/functions_b.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['operator_28_29_796',['operator()',['../structb2_vec2.html#a6a45b081724bb89b6cfe3d21ee7d98b7',1,'b2Vec2::operator()(int32 i) const'],['../structb2_vec2.html#aedbd9f04609149375add7dea10759669',1,'b2Vec2::operator()(int32 i)']]], - ['operator_2a_3d_797',['operator*=',['../structb2_vec2.html#a45b516a561fc43409194fc183c1feb68',1,'b2Vec2::operator*=()'],['../structb2_vec3.html#af3e82a3f544c89c52817b6a5d30c73d5',1,'b2Vec3::operator*=()']]], - ['operator_2b_3d_798',['operator+=',['../structb2_vec2.html#a590789342e22ac1e7f9c1a63a2778b6d',1,'b2Vec2::operator+=()'],['../structb2_vec3.html#a2aaeed3f5308aad85d19c5f0efc72641',1,'b2Vec3::operator+=()']]], - ['operator_2d_799',['operator-',['../structb2_vec2.html#a6cb15514ea571b4ddf73b6829551a127',1,'b2Vec2::operator-()'],['../structb2_vec3.html#a396e2b5b3c53a502859ff80544c27db8',1,'b2Vec3::operator-()']]], - ['operator_2d_3d_800',['operator-=',['../structb2_vec2.html#a6b48cab4695a979ae40b7613aedc8b17',1,'b2Vec2::operator-=()'],['../structb2_vec3.html#a9e5b535548e1c5dfc0dc258d08f5ca32',1,'b2Vec3::operator-=()']]] -]; diff --git a/documentation/search/functions_c.html b/documentation/search/functions_c.html deleted file mode 100644 index 858bfd6..0000000 --- a/documentation/search/functions_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_c.js b/documentation/search/functions_c.js deleted file mode 100644 index 9e26e52..0000000 --- a/documentation/search/functions_c.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['postsolve_801',['PostSolve',['../classb2_contact_listener.html#acd58ec96f7569b95eec65b8ca3f8013d',1,'b2ContactListener']]], - ['presolve_802',['PreSolve',['../classb2_contact_listener.html#a416f85eb45a1099053402b15a19a7de0',1,'b2ContactListener']]] -]; diff --git a/documentation/search/functions_d.html b/documentation/search/functions_d.html deleted file mode 100644 index 2f09f51..0000000 --- a/documentation/search/functions_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_d.js b/documentation/search/functions_d.js deleted file mode 100644 index a63b0da..0000000 --- a/documentation/search/functions_d.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['query_803',['Query',['../classb2_broad_phase.html#a187586ea98b9d16e5ef6e12fa31f8de2',1,'b2BroadPhase::Query()'],['../classb2_dynamic_tree.html#a324df3eb65dfc22d3dcdca387737b193',1,'b2DynamicTree::Query()']]], - ['queryaabb_804',['QueryAABB',['../classb2_world.html#ad169fae775be1e1f16386f7587786fa8',1,'b2World']]] -]; diff --git a/documentation/search/functions_e.html b/documentation/search/functions_e.html deleted file mode 100644 index ee5afa6..0000000 --- a/documentation/search/functions_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_e.js b/documentation/search/functions_e.js deleted file mode 100644 index 1b9033b..0000000 --- a/documentation/search/functions_e.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['raycast_805',['RayCast',['../classb2_broad_phase.html#ae65392ea91c7d0839ed5312f78b2837a',1,'b2BroadPhase::RayCast()'],['../classb2_chain_shape.html#add9e88f7f90b32ae75738cfb042ef532',1,'b2ChainShape::RayCast()'],['../classb2_circle_shape.html#a442e847b9fc3d1344b02b48d490eb0c6',1,'b2CircleShape::RayCast()'],['../classb2_dynamic_tree.html#aebd2dc6ee462e0cd0763a5f472243a13',1,'b2DynamicTree::RayCast()'],['../classb2_edge_shape.html#a192cf10bd556a5a90b29a2bcee2ddd75',1,'b2EdgeShape::RayCast()'],['../classb2_fixture.html#aaaafd69aa3e1a922acc4b9d7fb49170a',1,'b2Fixture::RayCast()'],['../classb2_polygon_shape.html#a41f20072763688f1745f12f67f40e904',1,'b2PolygonShape::RayCast()'],['../classb2_shape.html#aee53a926f4fe64cd03693f6211ef6335',1,'b2Shape::RayCast()'],['../classb2_world.html#aa9955d94a254253997daaf16ce77bab6',1,'b2World::RayCast()']]], - ['rebuildbottomup_806',['RebuildBottomUp',['../classb2_dynamic_tree.html#abd146017cfec1cf5ea7b87331f30a3ff',1,'b2DynamicTree']]], - ['refilter_807',['Refilter',['../classb2_fixture.html#a45d3320f94811d67383c48466165fa26',1,'b2Fixture']]], - ['reportfixture_808',['ReportFixture',['../classb2_query_callback.html#a187dd04dd0f5164fb05c2ce2cbfd9ee5',1,'b2QueryCallback::ReportFixture()'],['../classb2_ray_cast_callback.html#ae0a13ab4fe2f4a7b501445af1a01ebb1',1,'b2RayCastCallback::ReportFixture()']]], - ['reset_809',['Reset',['../classb2_timer.html#a367388794588e9283600437be82f2889',1,'b2Timer']]], - ['resetfriction_810',['ResetFriction',['../classb2_contact.html#ad66d9290da187cef4c9f48c5766d4460',1,'b2Contact']]], - ['resetmassdata_811',['ResetMassData',['../classb2_body.html#a109d8567c6ae84c61fce2919fb209c63',1,'b2Body']]], - ['resetrestitution_812',['ResetRestitution',['../classb2_contact.html#a243501bc5c146e9eb1296162d328aef1',1,'b2Contact']]], - ['resetrestitutionthreshold_813',['ResetRestitutionThreshold',['../classb2_contact.html#ad62865984306890f8cb5369b08918c1c',1,'b2Contact']]] -]; diff --git a/documentation/search/functions_f.html b/documentation/search/functions_f.html deleted file mode 100644 index f17c412..0000000 --- a/documentation/search/functions_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/functions_f.js b/documentation/search/functions_f.js deleted file mode 100644 index d9520de..0000000 --- a/documentation/search/functions_f.js +++ /dev/null @@ -1,65 +0,0 @@ -var searchData= -[ - ['saygoodbye_814',['SayGoodbye',['../classb2_destruction_listener.html#a6cd15baa6e5c33118cf7173ab5bf6d58',1,'b2DestructionListener::SayGoodbye(b2Joint *joint)=0'],['../classb2_destruction_listener.html#ab327c0073d162112c38d2fe8f8b9fce3',1,'b2DestructionListener::SayGoodbye(b2Fixture *fixture)=0']]], - ['set_815',['Set',['../structb2_distance_proxy.html#a80a59a9c9e952482a8fc6db4b883365d',1,'b2DistanceProxy::Set(const b2Shape *shape, int32 index)'],['../structb2_distance_proxy.html#a5cd9ba137f6ed9ab73648e5151692fbb',1,'b2DistanceProxy::Set(const b2Vec2 *vertices, int32 count, float radius)'],['../structb2_vec2.html#a78f0e635a664a563dd9246397d5f6e7e',1,'b2Vec2::Set()'],['../structb2_vec3.html#abac600f1ab36d68f152bfb35f61c74c6',1,'b2Vec3::Set()'],['../structb2_mat22.html#aed3bee1de38a0b3f36e21c90faa24112',1,'b2Mat22::Set()'],['../structb2_rot.html#a16a35e0f8e38c2855d528ca0ae044bf3',1,'b2Rot::Set()'],['../structb2_transform.html#a79d07c5469f6ee6e2d99d80827b6038f',1,'b2Transform::Set()'],['../classb2_polygon_shape.html#a4d7b35550509f570814b97325a68966b',1,'b2PolygonShape::Set()']]], - ['setallowsleeping_816',['SetAllowSleeping',['../classb2_world.html#a6755872564fc3db70c69d2b9d349fa33',1,'b2World']]], - ['setangulardamping_817',['SetAngularDamping',['../classb2_body.html#a7fad826a126e08bfbf40037fd8f21ba3',1,'b2Body']]], - ['setangularoffset_818',['SetAngularOffset',['../classb2_motor_joint.html#aa9042733cfcac2acbc529c2fd60b15f5',1,'b2MotorJoint']]], - ['setangularvelocity_819',['SetAngularVelocity',['../classb2_body.html#a1a8ff152b3a0189b391c9dd6b4c5f12c',1,'b2Body']]], - ['setasbox_820',['SetAsBox',['../classb2_polygon_shape.html#ae356d825f51f7b827edb0c71fec781f8',1,'b2PolygonShape::SetAsBox(float hx, float hy)'],['../classb2_polygon_shape.html#af80eb52027ffe85dd4d0a3110eae9d1b',1,'b2PolygonShape::SetAsBox(float hx, float hy, const b2Vec2 &center, float angle)']]], - ['setautoclearforces_821',['SetAutoClearForces',['../classb2_world.html#aa2bced28ddef5bbb00ed5666e5e9f620',1,'b2World']]], - ['setawake_822',['SetAwake',['../classb2_body.html#ac72ed3df52a26c33db82252ab57399af',1,'b2Body']]], - ['setbullet_823',['SetBullet',['../classb2_body.html#a3253af3725b8d6d63d8223bcd2ddab5c',1,'b2Body']]], - ['setcontactfilter_824',['SetContactFilter',['../classb2_world.html#a85e6e1e911c7d6366f8c7d57a12b72ff',1,'b2World']]], - ['setcontactlistener_825',['SetContactListener',['../classb2_world.html#a614549967fb8a1584b61c11e2d553d42',1,'b2World']]], - ['setcontinuousphysics_826',['SetContinuousPhysics',['../classb2_world.html#a536dd9181c2e20096073e3cfe2c8530a',1,'b2World']]], - ['setcorrectionfactor_827',['SetCorrectionFactor',['../classb2_motor_joint.html#a4fb5a4ee4d16bae6be450979bf3d388b',1,'b2MotorJoint']]], - ['setdamping_828',['SetDamping',['../classb2_distance_joint.html#a4351bf0172499a882713637076b31481',1,'b2DistanceJoint::SetDamping()'],['../classb2_mouse_joint.html#a1d04f5a481c764596c39bc5e967ea2b8',1,'b2MouseJoint::SetDamping()'],['../classb2_weld_joint.html#a091b5363ad3826c4d21f42a395d76a6f',1,'b2WeldJoint::SetDamping()'],['../classb2_wheel_joint.html#a8ef2ae12739ddd92e765cc0419395d3a',1,'b2WheelJoint::SetDamping()']]], - ['setdebugdraw_829',['SetDebugDraw',['../classb2_world.html#a6976d2c67400df03c0d44174ffcfb7ee',1,'b2World']]], - ['setdensity_830',['SetDensity',['../classb2_fixture.html#a6c303a123f83b90650da822ad6f291ec',1,'b2Fixture']]], - ['setdestructionlistener_831',['SetDestructionListener',['../classb2_world.html#ae377f2dd5512ada7d27f4ad3541c75bf',1,'b2World']]], - ['setenabled_832',['SetEnabled',['../classb2_body.html#a06bd5b953ff991174fdbf801d52db177',1,'b2Body::SetEnabled()'],['../classb2_contact.html#a6edf582f8c161d6632854cddefe55a0c',1,'b2Contact::SetEnabled()']]], - ['setfilterdata_833',['SetFilterData',['../classb2_fixture.html#a2c5e0d12c174927a4ad550459be334ad',1,'b2Fixture']]], - ['setfixedrotation_834',['SetFixedRotation',['../classb2_body.html#aff35078e2a221d2d05409674936cb8d2',1,'b2Body']]], - ['setflags_835',['SetFlags',['../classb2_draw.html#ac2bbe31595478690e44de4ff1e7f347e',1,'b2Draw']]], - ['setfriction_836',['SetFriction',['../classb2_contact.html#a6cac6c0db18a161a359d73672596b413',1,'b2Contact::SetFriction()'],['../classb2_fixture.html#a097aa48046dd2686db47b7ab8e2cde92',1,'b2Fixture::SetFriction()']]], - ['setgravity_837',['SetGravity',['../classb2_world.html#aeafa43d6580e1dddb0675e672ca2375c',1,'b2World']]], - ['setgravityscale_838',['SetGravityScale',['../classb2_body.html#a91e20c85857663ae4454c0173f06e1a6',1,'b2Body']]], - ['setidentity_839',['SetIdentity',['../structb2_mat22.html#a7192f063b771ac9ded060e41df890509',1,'b2Mat22::SetIdentity()'],['../structb2_rot.html#a7f534cb7ece8d325662d7d0e27d4f617',1,'b2Rot::SetIdentity()'],['../structb2_transform.html#af92af4ec6833552b1b22a6ca6d4f5644',1,'b2Transform::SetIdentity()']]], - ['setlength_840',['SetLength',['../classb2_distance_joint.html#a3ab199174058e4a9fcb54c66dcbdda56',1,'b2DistanceJoint']]], - ['setlimits_841',['SetLimits',['../classb2_prismatic_joint.html#a1f066e458852ee0728330d9413e57003',1,'b2PrismaticJoint::SetLimits()'],['../classb2_revolute_joint.html#aea6f893b0b0b5295837e6a10aa723582',1,'b2RevoluteJoint::SetLimits()'],['../classb2_wheel_joint.html#ad57816ee69ab15373aedd1079d97d926',1,'b2WheelJoint::SetLimits()']]], - ['setlineardamping_842',['SetLinearDamping',['../classb2_body.html#aa36fac8c5d7293d1a81405c147204d20',1,'b2Body']]], - ['setlinearoffset_843',['SetLinearOffset',['../classb2_motor_joint.html#a99254b5fc9ed9f2d0fdccada513000c3',1,'b2MotorJoint']]], - ['setlinearvelocity_844',['SetLinearVelocity',['../classb2_body.html#a832f3989a44f0d4782c80456832197ad',1,'b2Body']]], - ['setmassdata_845',['SetMassData',['../classb2_body.html#a58a641fedf8a81e1e26d09ec00a22fe2',1,'b2Body']]], - ['setmaxforce_846',['SetMaxForce',['../classb2_friction_joint.html#ab0cbe3ff75cb072187950923e7e023a9',1,'b2FrictionJoint::SetMaxForce()'],['../classb2_motor_joint.html#aa3c2b0b06eda7fd50b8a0188d04714e0',1,'b2MotorJoint::SetMaxForce()'],['../classb2_mouse_joint.html#ac6a661049f97830f0fa05f0241a3b775',1,'b2MouseJoint::SetMaxForce()']]], - ['setmaxlength_847',['SetMaxLength',['../classb2_distance_joint.html#a12ce2326e74a3a2a49ebf4593bf5c7f6',1,'b2DistanceJoint']]], - ['setmaxmotorforce_848',['SetMaxMotorForce',['../classb2_prismatic_joint.html#a94ce7073bb3c8098a7fef85f3bceb11d',1,'b2PrismaticJoint']]], - ['setmaxmotortorque_849',['SetMaxMotorTorque',['../classb2_revolute_joint.html#a7cbdee0fa268aa82eff39a2e8a7bc19b',1,'b2RevoluteJoint::SetMaxMotorTorque()'],['../classb2_wheel_joint.html#adf5fb5c84056f595636bbc86ec974749',1,'b2WheelJoint::SetMaxMotorTorque()']]], - ['setmaxtorque_850',['SetMaxTorque',['../classb2_friction_joint.html#a909cf64070371f60bc856d2c8eca2c49',1,'b2FrictionJoint::SetMaxTorque()'],['../classb2_motor_joint.html#a73ef23148813ca3b30e1d52d8faa43a9',1,'b2MotorJoint::SetMaxTorque()']]], - ['setminlength_851',['SetMinLength',['../classb2_distance_joint.html#aa4f595e9561349b6214cc61564346f87',1,'b2DistanceJoint']]], - ['setmotorspeed_852',['SetMotorSpeed',['../classb2_prismatic_joint.html#aa2274e38ed0d6667cc2dd7f769bbdc02',1,'b2PrismaticJoint::SetMotorSpeed()'],['../classb2_revolute_joint.html#a67735e2a230dc4e8a1c438aeb3fad9bc',1,'b2RevoluteJoint::SetMotorSpeed()'],['../classb2_wheel_joint.html#aa4ec3bc7ea7b5c977ccab10593176594',1,'b2WheelJoint::SetMotorSpeed()']]], - ['setonesided_853',['SetOneSided',['../classb2_edge_shape.html#ad2b74e7d57e3144f09f8cd2dccdd21d9',1,'b2EdgeShape']]], - ['setratio_854',['SetRatio',['../classb2_gear_joint.html#afba67bc47667ac37db4de7819f306821',1,'b2GearJoint']]], - ['setrestitution_855',['SetRestitution',['../classb2_contact.html#a685a1c4cfca30c379c402e20e04723b6',1,'b2Contact::SetRestitution()'],['../classb2_fixture.html#abd9d4c46a54febb1b06cedc8f9b88b26',1,'b2Fixture::SetRestitution()']]], - ['setrestitutionthreshold_856',['SetRestitutionThreshold',['../classb2_contact.html#ab39c848fdeb22d1de4c1c3561b8579bd',1,'b2Contact::SetRestitutionThreshold()'],['../classb2_fixture.html#a50231620388dd3e0eddce81af516a6cc',1,'b2Fixture::SetRestitutionThreshold()']]], - ['setsensor_857',['SetSensor',['../classb2_fixture.html#a6198a81dcee0fe814d730383ebfa7038',1,'b2Fixture']]], - ['setsleepingallowed_858',['SetSleepingAllowed',['../classb2_body.html#a229a6de228416203fecbf7a7544c33bb',1,'b2Body']]], - ['setstiffness_859',['SetStiffness',['../classb2_distance_joint.html#a667de5de10fabc00c39900fba0e9b95e',1,'b2DistanceJoint::SetStiffness()'],['../classb2_mouse_joint.html#adb9628ad6cb8da4a1bbcb84455066106',1,'b2MouseJoint::SetStiffness()'],['../classb2_weld_joint.html#a3ed0dbef228a57b8f5cdce3f4ec7277f',1,'b2WeldJoint::SetStiffness()'],['../classb2_wheel_joint.html#a2ed4f65494d59e65b2319b840ef3a503',1,'b2WheelJoint::SetStiffness()']]], - ['setsubstepping_860',['SetSubStepping',['../classb2_world.html#ae8aacc78ea4753075067daff51b61778',1,'b2World']]], - ['settangentspeed_861',['SetTangentSpeed',['../classb2_contact.html#ac58319a0fd072126191bd2bd31b6b3c3',1,'b2Contact']]], - ['settarget_862',['SetTarget',['../classb2_mouse_joint.html#a96f34c1c990407eddbadf07ae359b1f3',1,'b2MouseJoint']]], - ['settransform_863',['SetTransform',['../classb2_body.html#abfe3e65202189e99f46b8688886eff86',1,'b2Body']]], - ['settwosided_864',['SetTwoSided',['../classb2_edge_shape.html#ad2c40bb652b4ea1f087580b8c42fcdf2',1,'b2EdgeShape']]], - ['settype_865',['SetType',['../classb2_body.html#a34ff1c84b10b74eb990749a025a1b1ad',1,'b2Body']]], - ['setuserdata_866',['SetUserData',['../classb2_body.html#a5553a5ecdfd2d7200ba2405ce6043f52',1,'b2Body']]], - ['setwarmstarting_867',['SetWarmStarting',['../classb2_world.html#a8e8c12142e8c4884a18787926a261359',1,'b2World']]], - ['setzero_868',['SetZero',['../structb2_vec2.html#a5c6cbe27cfb29c6dbb29b9a3285b88d0',1,'b2Vec2::SetZero()'],['../structb2_vec3.html#a5a459ed49f1910a347ca247f848a2dd8',1,'b2Vec3::SetZero()'],['../structb2_mat22.html#aaeae95f61cf3171ffb94703980e3594b',1,'b2Mat22::SetZero()'],['../structb2_mat33.html#a42fc6953b025e1c8b59717d0ee7accde',1,'b2Mat33::SetZero()']]], - ['shiftorigin_869',['ShiftOrigin',['../classb2_broad_phase.html#a410e6115e3d1b4fca61cfbf397767772',1,'b2BroadPhase::ShiftOrigin()'],['../classb2_dynamic_tree.html#af37ddfed6a5da97d5a78b09918d19ceb',1,'b2DynamicTree::ShiftOrigin()'],['../classb2_joint.html#a7804f649e993dc0fd9ae47fde5601f90',1,'b2Joint::ShiftOrigin()'],['../classb2_mouse_joint.html#a9b1b2671837495be175e496afb622904',1,'b2MouseJoint::ShiftOrigin()'],['../classb2_pulley_joint.html#a5a9e626c758380fe565837bedb3dc018',1,'b2PulleyJoint::ShiftOrigin()'],['../classb2_world.html#afc33e20e64252c5be115216051408047',1,'b2World::ShiftOrigin()']]], - ['shouldcollide_870',['ShouldCollide',['../classb2_contact_filter.html#a0e33d4fc90a9345160a07cc494b45ecd',1,'b2ContactFilter']]], - ['skew_871',['Skew',['../structb2_vec2.html#aaf36e082a20368b24edb635511872a74',1,'b2Vec2']]], - ['solve_872',['Solve',['../structb2_mat22.html#a3313c8d135c01fbf74e7fea31f1ea4c1',1,'b2Mat22']]], - ['solve22_873',['Solve22',['../structb2_mat33.html#acdf892aab7e26283f8aa600ade91dcef',1,'b2Mat33']]], - ['solve33_874',['Solve33',['../structb2_mat33.html#a2ce48f409ba5951a04da821dada9e285',1,'b2Mat33']]], - ['step_875',['Step',['../classb2_world.html#a82c081319af9a47e282dde807e4cd7b8',1,'b2World']]] -]; diff --git a/documentation/search/mag_sel.png b/documentation/search/mag_sel.png deleted file mode 100644 index 39c0ed5..0000000 Binary files a/documentation/search/mag_sel.png and /dev/null differ diff --git a/documentation/search/nomatches.html b/documentation/search/nomatches.html deleted file mode 100644 index 4377320..0000000 --- a/documentation/search/nomatches.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
-
No Matches
-
- - diff --git a/documentation/search/pages_0.html b/documentation/search/pages_0.html deleted file mode 100644 index 9a6a29a..0000000 --- a/documentation/search/pages_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/pages_1.html b/documentation/search/pages_1.html deleted file mode 100644 index 132ee03..0000000 --- a/documentation/search/pages_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/pages_2.html b/documentation/search/pages_2.html deleted file mode 100644 index 6109d47..0000000 --- a/documentation/search/pages_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/pages_3.html b/documentation/search/pages_3.html deleted file mode 100644 index 54e8ba9..0000000 --- a/documentation/search/pages_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/pages_4.html b/documentation/search/pages_4.html deleted file mode 100644 index 1ab6c5a..0000000 --- a/documentation/search/pages_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/pages_5.html b/documentation/search/pages_5.html deleted file mode 100644 index b031763..0000000 --- a/documentation/search/pages_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/pages_6.html b/documentation/search/pages_6.html deleted file mode 100644 index 8e6e67d..0000000 --- a/documentation/search/pages_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/pages_7.html b/documentation/search/pages_7.html deleted file mode 100644 index f8580ab..0000000 --- a/documentation/search/pages_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/search_l.png b/documentation/search/search_l.png deleted file mode 100644 index fd5f7da..0000000 Binary files a/documentation/search/search_l.png and /dev/null differ diff --git a/documentation/search/search_m.png b/documentation/search/search_m.png deleted file mode 100644 index b429a16..0000000 Binary files a/documentation/search/search_m.png and /dev/null differ diff --git a/documentation/search/search_r.png b/documentation/search/search_r.png deleted file mode 100644 index 1af5d21..0000000 Binary files a/documentation/search/search_r.png and /dev/null differ diff --git a/documentation/search/variables_0.html b/documentation/search/variables_0.html deleted file mode 100644 index bf3eba5..0000000 --- a/documentation/search/variables_0.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_1.html b/documentation/search/variables_1.html deleted file mode 100644 index 49fe59a..0000000 --- a/documentation/search/variables_1.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_10.html b/documentation/search/variables_10.html deleted file mode 100644 index 92982ac..0000000 --- a/documentation/search/variables_10.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_11.html b/documentation/search/variables_11.html deleted file mode 100644 index 94f1a8c..0000000 --- a/documentation/search/variables_11.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_12.html b/documentation/search/variables_12.html deleted file mode 100644 index 61c013a..0000000 --- a/documentation/search/variables_12.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_2.html b/documentation/search/variables_2.html deleted file mode 100644 index 0c8a18c..0000000 --- a/documentation/search/variables_2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_3.html b/documentation/search/variables_3.html deleted file mode 100644 index 19a31fc..0000000 --- a/documentation/search/variables_3.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_4.html b/documentation/search/variables_4.html deleted file mode 100644 index bdc37be..0000000 --- a/documentation/search/variables_4.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_5.html b/documentation/search/variables_5.html deleted file mode 100644 index 6aa2249..0000000 --- a/documentation/search/variables_5.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_6.html b/documentation/search/variables_6.html deleted file mode 100644 index ce4a906..0000000 --- a/documentation/search/variables_6.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_7.html b/documentation/search/variables_7.html deleted file mode 100644 index 39ffd47..0000000 --- a/documentation/search/variables_7.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_8.html b/documentation/search/variables_8.html deleted file mode 100644 index 37a2edd..0000000 --- a/documentation/search/variables_8.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_9.html b/documentation/search/variables_9.html deleted file mode 100644 index 21e5a4f..0000000 --- a/documentation/search/variables_9.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_a.html b/documentation/search/variables_a.html deleted file mode 100644 index 1f65055..0000000 --- a/documentation/search/variables_a.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_b.html b/documentation/search/variables_b.html deleted file mode 100644 index c02d066..0000000 --- a/documentation/search/variables_b.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_c.html b/documentation/search/variables_c.html deleted file mode 100644 index 4b866c6..0000000 --- a/documentation/search/variables_c.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_d.html b/documentation/search/variables_d.html deleted file mode 100644 index 84d878b..0000000 --- a/documentation/search/variables_d.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_e.html b/documentation/search/variables_e.html deleted file mode 100644 index b0d9b7b..0000000 --- a/documentation/search/variables_e.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/search/variables_f.html b/documentation/search/variables_f.html deleted file mode 100644 index a708dbf..0000000 --- a/documentation/search/variables_f.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/documentation/skin_collision.svg b/documentation/skin_collision.svg deleted file mode 100644 index 29ac847..0000000 --- a/documentation/skin_collision.svg +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - Polygons collidewith their skin - - diff --git a/documentation/skinned_polygon.svg b/documentation/skinned_polygon.svg deleted file mode 100644 index d93934c..0000000 --- a/documentation/skinned_polygon.svg +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/documentation/structb2_a_a_b_b-members.html b/documentation/structb2_a_a_b_b-members.html deleted file mode 100644 index b98d206..0000000 --- a/documentation/structb2_a_a_b_b-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2AABB Member List
-
-
- -

This is the complete list of members for b2AABB, including all inherited members.

- - - - - - - - - - - -
Combine(const b2AABB &aabb)b2AABBinline
Combine(const b2AABB &aabb1, const b2AABB &aabb2)b2AABBinline
Contains(const b2AABB &aabb) constb2AABBinline
GetCenter() constb2AABBinline
GetExtents() constb2AABBinline
GetPerimeter() constb2AABBinline
IsValid() constb2AABBinline
lowerBoundb2AABB
RayCast(b2RayCastOutput *output, const b2RayCastInput &input) const (defined in b2AABB)b2AABB
upperBoundb2AABB
-
- - - - diff --git a/documentation/structb2_a_a_b_b.html b/documentation/structb2_a_a_b_b.html deleted file mode 100644 index 1756f6b..0000000 --- a/documentation/structb2_a_a_b_b.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - -Box2D: b2AABB Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2AABB Struct Reference
-
-
- -

An axis aligned bounding box. - More...

- -

#include <b2_collision.h>

- - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-bool IsValid () const
 Verify that the bounds are sorted.
 
-b2Vec2 GetCenter () const
 Get the center of the AABB.
 
-b2Vec2 GetExtents () const
 Get the extents of the AABB (half-widths).
 
-float GetPerimeter () const
 Get the perimeter length.
 
-void Combine (const b2AABB &aabb)
 Combine an AABB into this one.
 
-void Combine (const b2AABB &aabb1, const b2AABB &aabb2)
 Combine two AABBs into this one.
 
-bool Contains (const b2AABB &aabb) const
 Does this aabb contain the provided AABB.
 
-bool RayCast (b2RayCastOutput *output, const b2RayCastInput &input) const
 
- - - - - - - -

-Public Attributes

-b2Vec2 lowerBound
 the lower vertex
 
-b2Vec2 upperBound
 the upper vertex
 
-

Detailed Description

-

An axis aligned bounding box.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_a_a_b_b.js b/documentation/structb2_a_a_b_b.js deleted file mode 100644 index f6ea19e..0000000 --- a/documentation/structb2_a_a_b_b.js +++ /dev/null @@ -1,13 +0,0 @@ -var structb2_a_a_b_b = -[ - [ "Combine", "structb2_a_a_b_b.html#ad551edba62d2ad6094672a9ba3e26496", null ], - [ "Combine", "structb2_a_a_b_b.html#a34b9c7d824df845c10caa9c12ae90452", null ], - [ "Contains", "structb2_a_a_b_b.html#acf98175d3a53bca755d5c4852fa85a00", null ], - [ "GetCenter", "structb2_a_a_b_b.html#a2c4051e79001a3166cc7f8ad811137fe", null ], - [ "GetExtents", "structb2_a_a_b_b.html#a2a4f550a18d2a0895fbc5c4d3ec17d22", null ], - [ "GetPerimeter", "structb2_a_a_b_b.html#a1a99ebbc150518667f24c853a5b6168b", null ], - [ "IsValid", "structb2_a_a_b_b.html#a70bb45c086fcc2d7ee8694deb386070e", null ], - [ "RayCast", "structb2_a_a_b_b.html#af6a8b26716ec07d326e5ce95556e8c7e", null ], - [ "lowerBound", "structb2_a_a_b_b.html#ab94b68fbad8348b22b0522469b11bdb5", null ], - [ "upperBound", "structb2_a_a_b_b.html#ad4a8ec483ba13a2c02918b01d058a18f", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_body_def-members.html b/documentation/structb2_body_def-members.html deleted file mode 100644 index 1538b18..0000000 --- a/documentation/structb2_body_def-members.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- - - - - - diff --git a/documentation/structb2_body_def.html b/documentation/structb2_body_def.html deleted file mode 100644 index e308ff1..0000000 --- a/documentation/structb2_body_def.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - -Box2D: b2BodyDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2BodyDef Struct Reference
-
-
- -

#include <b2_body.h>

- - - - - -

-Public Member Functions

b2BodyDef ()
 This constructor sets the body definition default values.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

b2BodyType type
 
b2Vec2 position
 
-float angle
 The world angle of the body in radians.
 
-b2Vec2 linearVelocity
 The linear velocity of the body's origin in world co-ordinates.
 
-float angularVelocity
 The angular velocity of the body.
 
float linearDamping
 
float angularDamping
 
bool allowSleep
 
-bool awake
 Is this body initially awake or sleeping?
 
-bool fixedRotation
 Should this body be prevented from rotating? Useful for characters.
 
bool bullet
 
-bool enabled
 Does this body start out enabled?
 
-b2BodyUserData userData
 Use this to store application specific body data.
 
-float gravityScale
 Scale the gravity applied to this body.
 
-

Detailed Description

-

A body definition holds all the data needed to construct a rigid body. You can safely re-use body definitions. Shapes are added to a body after construction.

-

Member Data Documentation

- -

◆ allowSleep

- -
-
- - - - -
bool b2BodyDef::allowSleep
-
-

Set this flag to false if this body should never fall asleep. Note that this increases CPU usage.

- -
-
- -

◆ angularDamping

- -
-
- - - - -
float b2BodyDef::angularDamping
-
-

Angular damping is use to reduce the angular velocity. The damping parameter can be larger than 1.0f but the damping effect becomes sensitive to the time step when the damping parameter is large. Units are 1/time

- -
-
- -

◆ bullet

- -
-
- - - - -
bool b2BodyDef::bullet
-
-

Is this a fast moving body that should be prevented from tunneling through other moving bodies? Note that all bodies are prevented from tunneling through kinematic and static bodies. This setting is only considered on dynamic bodies.

Warning
You should use this flag sparingly since it increases processing time.
- -
-
- -

◆ linearDamping

- -
-
- - - - -
float b2BodyDef::linearDamping
-
-

Linear damping is use to reduce the linear velocity. The damping parameter can be larger than 1.0f but the damping effect becomes sensitive to the time step when the damping parameter is large. Units are 1/time

- -
-
- -

◆ position

- -
-
- - - - -
b2Vec2 b2BodyDef::position
-
-

The world position of the body. Avoid creating bodies at the origin since this can lead to many overlapping shapes.

- -
-
- -

◆ type

- -
-
- - - - -
b2BodyType b2BodyDef::type
-
-

The body type: static, kinematic, or dynamic. Note: if a dynamic body would have zero mass, the mass is set to one.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_body_def.js b/documentation/structb2_body_def.js deleted file mode 100644 index 258cf5f..0000000 --- a/documentation/structb2_body_def.js +++ /dev/null @@ -1,18 +0,0 @@ -var structb2_body_def = -[ - [ "b2BodyDef", "structb2_body_def.html#a87bee47596b3b3eced0d9dd1f4c18fee", null ], - [ "allowSleep", "structb2_body_def.html#a0765068172e521ed63cb34084c59c003", null ], - [ "angle", "structb2_body_def.html#ab92ebd313164742c001724c6d00d5497", null ], - [ "angularDamping", "structb2_body_def.html#afc1f985f274c93ac99b4dea71e1d77cc", null ], - [ "angularVelocity", "structb2_body_def.html#aa1dff31771e6b9c4f041869693571d7f", null ], - [ "awake", "structb2_body_def.html#a17a8102638aac41e7ab94278651a45bd", null ], - [ "bullet", "structb2_body_def.html#a7c0047c9a98a1d20614eeddcdbce7586", null ], - [ "enabled", "structb2_body_def.html#a30e30e3af5977a325a918b848f774fb0", null ], - [ "fixedRotation", "structb2_body_def.html#a273a51c57440a8884de5939d76b6e3ea", null ], - [ "gravityScale", "structb2_body_def.html#ac9e6956338f4bd35c162bf1ac8deddd6", null ], - [ "linearDamping", "structb2_body_def.html#a973e312d5d95d2cd53c335ac3994d3ec", null ], - [ "linearVelocity", "structb2_body_def.html#a25fa5aa78d93159c344241af95bec2bf", null ], - [ "position", "structb2_body_def.html#a680cadc09ad6cf4b3366cbf0914c648b", null ], - [ "type", "structb2_body_def.html#a89cc3ad1873908042b002147b3861381", null ], - [ "userData", "structb2_body_def.html#ae913ce354e5602ddafecd5999c2db170", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_body_user_data-members.html b/documentation/structb2_body_user_data-members.html deleted file mode 100644 index fca41d6..0000000 --- a/documentation/structb2_body_user_data-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2BodyUserData Member List
-
-
- -

This is the complete list of members for b2BodyUserData, including all inherited members.

- - - -
b2BodyUserData() (defined in b2BodyUserData)b2BodyUserDatainline
pointerb2BodyUserData
-
- - - - diff --git a/documentation/structb2_body_user_data.html b/documentation/structb2_body_user_data.html deleted file mode 100644 index 265fc19..0000000 --- a/documentation/structb2_body_user_data.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Box2D: b2BodyUserData Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2BodyUserData Struct Reference
-
-
- -

You can define this to inject whatever data you want in b2Body. - More...

- -

#include <b2_settings.h>

- - - - - -

-Public Attributes

-uintptr_t pointer
 For legacy compatibility.
 
-

Detailed Description

-

You can define this to inject whatever data you want in b2Body.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_body_user_data.js b/documentation/structb2_body_user_data.js deleted file mode 100644 index 8eb985a..0000000 --- a/documentation/structb2_body_user_data.js +++ /dev/null @@ -1,5 +0,0 @@ -var structb2_body_user_data = -[ - [ "b2BodyUserData", "structb2_body_user_data.html#acc592c3f586d4bd7bcf1ed02b876abcf", null ], - [ "pointer", "structb2_body_user_data.html#ae23e3ff9873138240adc85619ba38fb6", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_clip_vertex-members.html b/documentation/structb2_clip_vertex-members.html deleted file mode 100644 index a9e817d..0000000 --- a/documentation/structb2_clip_vertex-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ClipVertex Member List
-
-
- -

This is the complete list of members for b2ClipVertex, including all inherited members.

- - - -
id (defined in b2ClipVertex)b2ClipVertex
v (defined in b2ClipVertex)b2ClipVertex
-
- - - - diff --git a/documentation/structb2_clip_vertex.html b/documentation/structb2_clip_vertex.html deleted file mode 100644 index c0e0c1b..0000000 --- a/documentation/structb2_clip_vertex.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Box2D: b2ClipVertex Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ClipVertex Struct Reference
-
-
- -

Used for computing contact manifolds. - More...

- -

#include <b2_collision.h>

- - - - - - -

-Public Attributes

-b2Vec2 v
 
-b2ContactID id
 
-

Detailed Description

-

Used for computing contact manifolds.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_clip_vertex.js b/documentation/structb2_clip_vertex.js deleted file mode 100644 index 267e71c..0000000 --- a/documentation/structb2_clip_vertex.js +++ /dev/null @@ -1,5 +0,0 @@ -var structb2_clip_vertex = -[ - [ "id", "structb2_clip_vertex.html#ac0f6d48eafc40a665bc18d4aa821689d", null ], - [ "v", "structb2_clip_vertex.html#a6c8d8e4c0667755d5295a9c0d91d5b87", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_color-members.html b/documentation/structb2_color-members.html deleted file mode 100644 index 8d16349..0000000 --- a/documentation/structb2_color-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Color Member List
-
-
- -

This is the complete list of members for b2Color, including all inherited members.

- - - - - - - - -
a (defined in b2Color)b2Color
b (defined in b2Color)b2Color
b2Color() (defined in b2Color)b2Colorinline
b2Color(float rIn, float gIn, float bIn, float aIn=1.0f) (defined in b2Color)b2Colorinline
g (defined in b2Color)b2Color
r (defined in b2Color)b2Color
Set(float rIn, float gIn, float bIn, float aIn=1.0f) (defined in b2Color)b2Colorinline
-
- - - - diff --git a/documentation/structb2_color.html b/documentation/structb2_color.html deleted file mode 100644 index 2a739ac..0000000 --- a/documentation/structb2_color.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - - -Box2D: b2Color Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Color Struct Reference
-
-
- -

Color for debug drawing. Each value has the range [0,1]. - More...

- -

#include <b2_draw.h>

- - - - - - -

-Public Member Functions

b2Color (float rIn, float gIn, float bIn, float aIn=1.0f)
 
-void Set (float rIn, float gIn, float bIn, float aIn=1.0f)
 
- - - - - - - - - -

-Public Attributes

-float r
 
-float g
 
-float b
 
-float a
 
-

Detailed Description

-

Color for debug drawing. Each value has the range [0,1].

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_color.js b/documentation/structb2_color.js deleted file mode 100644 index 9cc459d..0000000 --- a/documentation/structb2_color.js +++ /dev/null @@ -1,10 +0,0 @@ -var structb2_color = -[ - [ "b2Color", "structb2_color.html#aab8716defcdf745729d1164cd8b08437", null ], - [ "b2Color", "structb2_color.html#ae95ab55c05480f35c324705c3ed5a4fa", null ], - [ "Set", "structb2_color.html#aaee21f8d6d183f2706185f06be043d87", null ], - [ "a", "structb2_color.html#ad0b8325cf66220fbdc9035069266c597", null ], - [ "b", "structb2_color.html#a5237647aaf3b5d72e6e4d935d71d5bfb", null ], - [ "g", "structb2_color.html#ac8afa9ae5ee0916b1ba74cc4d0c73a32", null ], - [ "r", "structb2_color.html#a422cd1408fe28b3a51e9fc10767b5fe4", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_contact_edge-members.html b/documentation/structb2_contact_edge-members.html deleted file mode 100644 index ded16b6..0000000 --- a/documentation/structb2_contact_edge-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ContactEdge Member List
-
-
- -

This is the complete list of members for b2ContactEdge, including all inherited members.

- - - - - -
contactb2ContactEdge
nextb2ContactEdge
otherb2ContactEdge
prevb2ContactEdge
-
- - - - diff --git a/documentation/structb2_contact_edge.html b/documentation/structb2_contact_edge.html deleted file mode 100644 index d1c3d23..0000000 --- a/documentation/structb2_contact_edge.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Box2D: b2ContactEdge Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ContactEdge Struct Reference
-
-
- -

#include <b2_contact.h>

- - - - - - - - - - - - - - -

-Public Attributes

-b2Bodyother
 provides quick access to the other body attached.
 
-b2Contactcontact
 the contact
 
-b2ContactEdgeprev
 the previous contact edge in the body's contact list
 
-b2ContactEdgenext
 the next contact edge in the body's contact list
 
-

Detailed Description

-

A contact edge is used to connect bodies and contacts together in a contact graph where each body is a node and each contact is an edge. A contact edge belongs to a doubly linked list maintained in each attached body. Each contact has two contact nodes, one for each attached body.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_contact_edge.js b/documentation/structb2_contact_edge.js deleted file mode 100644 index 0c3c741..0000000 --- a/documentation/structb2_contact_edge.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_contact_edge = -[ - [ "contact", "structb2_contact_edge.html#a2fbfaffa0dfdf715fd1a709cff939dee", null ], - [ "next", "structb2_contact_edge.html#a9af32b3cfadf35a927f4dffcf6338a6d", null ], - [ "other", "structb2_contact_edge.html#a69015fc22e064eac04ed74f27a13ae78", null ], - [ "prev", "structb2_contact_edge.html#a606dfacb78dc5c51672e4d7449006b8c", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_contact_feature-members.html b/documentation/structb2_contact_feature-members.html deleted file mode 100644 index fb97f1d..0000000 --- a/documentation/structb2_contact_feature-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ContactFeature Member List
-
-
- -

This is the complete list of members for b2ContactFeature, including all inherited members.

- - - - - - - - -
e_face enum value (defined in b2ContactFeature)b2ContactFeature
e_vertex enum value (defined in b2ContactFeature)b2ContactFeature
indexAb2ContactFeature
indexBb2ContactFeature
Type enum name (defined in b2ContactFeature)b2ContactFeature
typeAb2ContactFeature
typeBb2ContactFeature
-
- - - - diff --git a/documentation/structb2_contact_feature.html b/documentation/structb2_contact_feature.html deleted file mode 100644 index d27db26..0000000 --- a/documentation/structb2_contact_feature.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - -Box2D: b2ContactFeature Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ContactFeature Struct Reference
-
-
- -

#include <b2_collision.h>

- - - - -

-Public Types

enum  Type { e_vertex = 0, -e_face = 1 - }
 
- - - - - - - - - - - - - -

-Public Attributes

-uint8 indexA
 Feature index on shapeA.
 
-uint8 indexB
 Feature index on shapeB.
 
-uint8 typeA
 The feature type on shapeA.
 
-uint8 typeB
 The feature type on shapeB.
 
-

Detailed Description

-

The features that intersect to form the contact point This must be 4 bytes or less.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_contact_feature.js b/documentation/structb2_contact_feature.js deleted file mode 100644 index 1fc6865..0000000 --- a/documentation/structb2_contact_feature.js +++ /dev/null @@ -1,11 +0,0 @@ -var structb2_contact_feature = -[ - [ "Type", "structb2_contact_feature.html#a29fb037bd886215d2ddd6e68148ac154", [ - [ "e_vertex", "structb2_contact_feature.html#a29fb037bd886215d2ddd6e68148ac154aa95b71c62e0571ed761fb1f86e344d87", null ], - [ "e_face", "structb2_contact_feature.html#a29fb037bd886215d2ddd6e68148ac154a175f380cac64d8475b95c0d5ad6ef55c", null ] - ] ], - [ "indexA", "structb2_contact_feature.html#a833bc746e7cb5e3cd458f1c0809101d0", null ], - [ "indexB", "structb2_contact_feature.html#ad96712b6a0cc1f4b22b85b5948eab81d", null ], - [ "typeA", "structb2_contact_feature.html#a3361b651f0a88fb60ec6aba9f4921cc2", null ], - [ "typeB", "structb2_contact_feature.html#abb74afd6ee5b60834a3f8e2616182bdf", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_contact_impulse-members.html b/documentation/structb2_contact_impulse-members.html deleted file mode 100644 index b372780..0000000 --- a/documentation/structb2_contact_impulse-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ContactImpulse Member List
-
-
- -

This is the complete list of members for b2ContactImpulse, including all inherited members.

- - - - -
count (defined in b2ContactImpulse)b2ContactImpulse
normalImpulses (defined in b2ContactImpulse)b2ContactImpulse
tangentImpulses (defined in b2ContactImpulse)b2ContactImpulse
-
- - - - diff --git a/documentation/structb2_contact_impulse.html b/documentation/structb2_contact_impulse.html deleted file mode 100644 index 9e0b962..0000000 --- a/documentation/structb2_contact_impulse.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Box2D: b2ContactImpulse Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ContactImpulse Struct Reference
-
-
- -

#include <b2_world_callbacks.h>

- - - - - - - - -

-Public Attributes

-float normalImpulses [b2_maxManifoldPoints]
 
-float tangentImpulses [b2_maxManifoldPoints]
 
-int32 count
 
-

Detailed Description

-

Contact impulses for reporting. Impulses are used instead of forces because sub-step forces may approach infinity for rigid body collisions. These match up one-to-one with the contact points in b2Manifold.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_contact_impulse.js b/documentation/structb2_contact_impulse.js deleted file mode 100644 index 23e0ea2..0000000 --- a/documentation/structb2_contact_impulse.js +++ /dev/null @@ -1,6 +0,0 @@ -var structb2_contact_impulse = -[ - [ "count", "structb2_contact_impulse.html#a258e094ab0d769971f40d6c144420bf7", null ], - [ "normalImpulses", "structb2_contact_impulse.html#af003693bfcc2b2f5d299c8da5b366af3", null ], - [ "tangentImpulses", "structb2_contact_impulse.html#a1e47e368c2c4e7dc882e7577ee45b829", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_contact_register-members.html b/documentation/structb2_contact_register-members.html deleted file mode 100644 index 4632aac..0000000 --- a/documentation/structb2_contact_register-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ContactRegister Member List
-
-
- -

This is the complete list of members for b2ContactRegister, including all inherited members.

- - - - -
createFcn (defined in b2ContactRegister)b2ContactRegister
destroyFcn (defined in b2ContactRegister)b2ContactRegister
primary (defined in b2ContactRegister)b2ContactRegister
-
- - - - diff --git a/documentation/structb2_contact_register.html b/documentation/structb2_contact_register.html deleted file mode 100644 index 90754ee..0000000 --- a/documentation/structb2_contact_register.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Box2D: b2ContactRegister Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ContactRegister Struct Reference
-
-
- - - - - - - - -

-Public Attributes

-b2ContactCreateFcn * createFcn
 
-b2ContactDestroyFcn * destroyFcn
 
-bool primary
 
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_contact_register.js b/documentation/structb2_contact_register.js deleted file mode 100644 index 965bc43..0000000 --- a/documentation/structb2_contact_register.js +++ /dev/null @@ -1,6 +0,0 @@ -var structb2_contact_register = -[ - [ "createFcn", "structb2_contact_register.html#ae065de11ab2f164bd1b8e3a461b41824", null ], - [ "destroyFcn", "structb2_contact_register.html#a95862aec746f5fd6ffa00a6729dec61f", null ], - [ "primary", "structb2_contact_register.html#a43f2d79909505b785b9034b21a56525e", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_debug_draw.html b/documentation/structb2_debug_draw.html index 4595f30..99985c0 100644 --- a/documentation/structb2_debug_draw.html +++ b/documentation/structb2_debug_draw.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/structb2_distance_input-members.html b/documentation/structb2_distance_input-members.html deleted file mode 100644 index 333781b..0000000 --- a/documentation/structb2_distance_input-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2DistanceInput Member List
-
-
- -

This is the complete list of members for b2DistanceInput, including all inherited members.

- - - - - - -
proxyA (defined in b2DistanceInput)b2DistanceInput
proxyB (defined in b2DistanceInput)b2DistanceInput
transformA (defined in b2DistanceInput)b2DistanceInput
transformB (defined in b2DistanceInput)b2DistanceInput
useRadii (defined in b2DistanceInput)b2DistanceInput
-
- - - - diff --git a/documentation/structb2_distance_input.html b/documentation/structb2_distance_input.html deleted file mode 100644 index 6c50bbf..0000000 --- a/documentation/structb2_distance_input.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Box2D: b2DistanceInput Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2DistanceInput Struct Reference
-
-
- -

#include <b2_distance.h>

- - - - - - - - - - - - -

-Public Attributes

-b2DistanceProxy proxyA
 
-b2DistanceProxy proxyB
 
-b2Transform transformA
 
-b2Transform transformB
 
-bool useRadii
 
-

Detailed Description

-

Input for b2Distance. You have to option to use the shape radii in the computation. Even

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_distance_input.js b/documentation/structb2_distance_input.js deleted file mode 100644 index 2349703..0000000 --- a/documentation/structb2_distance_input.js +++ /dev/null @@ -1,8 +0,0 @@ -var structb2_distance_input = -[ - [ "proxyA", "structb2_distance_input.html#a84d378f4f0e2f06fbe03d413e9dfbbd9", null ], - [ "proxyB", "structb2_distance_input.html#ad08521a9cdf9d418ececfd44de83a5d3", null ], - [ "transformA", "structb2_distance_input.html#a0889c2f7120ba521d6e40e2a22834ddb", null ], - [ "transformB", "structb2_distance_input.html#a47352d7c5b3db80b2fb8cf338f1c1895", null ], - [ "useRadii", "structb2_distance_input.html#ab72a770be4a91997d00112409de5fea7", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_distance_joint_def-members.html b/documentation/structb2_distance_joint_def-members.html deleted file mode 100644 index cf36b6e..0000000 --- a/documentation/structb2_distance_joint_def-members.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2DistanceJointDef Member List
-
-
- -

This is the complete list of members for b2DistanceJointDef, including all inherited members.

- - - - - - - - - - - - - - - - -
b2DistanceJointDef() (defined in b2DistanceJointDef)b2DistanceJointDefinline
b2JointDef() (defined in b2JointDef)b2JointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
dampingb2DistanceJointDef
Initialize(b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchorA, const b2Vec2 &anchorB)b2DistanceJointDef
lengthb2DistanceJointDef
localAnchorAb2DistanceJointDef
localAnchorBb2DistanceJointDef
maxLengthb2DistanceJointDef
minLengthb2DistanceJointDef
stiffnessb2DistanceJointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_distance_joint_def.html b/documentation/structb2_distance_joint_def.html deleted file mode 100644 index b075b13..0000000 --- a/documentation/structb2_distance_joint_def.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - -Box2D: b2DistanceJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2DistanceJointDef Struct Reference
-
-
- -

#include <b2_distance_joint.h>

-
-Inheritance diagram for b2DistanceJointDef:
-
-
- - -b2JointDef - -
- - - - -

-Public Member Functions

void Initialize (b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchorA, const b2Vec2 &anchorB)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
-b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
-float length
 The rest length of this joint. Clamped to a stable minimum value.
 
-float minLength
 Minimum length. Clamped to a stable minimum value.
 
-float maxLength
 Maximum length. Must be greater than or equal to the minimum length.
 
-float stiffness
 The linear stiffness in N/m.
 
-float damping
 The linear damping in N*s/m.
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Distance joint definition. This requires defining an anchor point on both bodies and the non-zero distance of the distance joint. The definition uses local anchor points so that the initial configuration can violate the constraint slightly. This helps when saving and loading a game.

-

Member Function Documentation

- -

◆ Initialize()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void b2DistanceJointDef::Initialize (b2BodybodyA,
b2BodybodyB,
const b2Vec2anchorA,
const b2Vec2anchorB 
)
-
-

Initialize the bodies, anchors, and rest length using world space anchors. The minimum and maximum lengths are set to the rest length.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_distance_joint_def.js b/documentation/structb2_distance_joint_def.js deleted file mode 100644 index 5b4d3c9..0000000 --- a/documentation/structb2_distance_joint_def.js +++ /dev/null @@ -1,12 +0,0 @@ -var structb2_distance_joint_def = -[ - [ "b2DistanceJointDef", "structb2_distance_joint_def.html#a91925a15ed268144ddc9df04f935801c", null ], - [ "Initialize", "structb2_distance_joint_def.html#a99788a534638cc28cd1e44e0036503f0", null ], - [ "damping", "structb2_distance_joint_def.html#aa488d9b1f5300e795587b844b6db0d98", null ], - [ "length", "structb2_distance_joint_def.html#a001acbbd67326ab5e5d5ec6dc64faf78", null ], - [ "localAnchorA", "structb2_distance_joint_def.html#a15c7a75fa277e2056bf1b44198658518", null ], - [ "localAnchorB", "structb2_distance_joint_def.html#a3c8995be726238eee084af750442255c", null ], - [ "maxLength", "structb2_distance_joint_def.html#ace0033f63ca1cbede5e415e72f6c0698", null ], - [ "minLength", "structb2_distance_joint_def.html#a91529f9af7d7881ac71cd96737b65cd9", null ], - [ "stiffness", "structb2_distance_joint_def.html#a858640393f567a2aca1b40cbe534b4e2", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_distance_joint_def.png b/documentation/structb2_distance_joint_def.png deleted file mode 100644 index 5503b1f..0000000 Binary files a/documentation/structb2_distance_joint_def.png and /dev/null differ diff --git a/documentation/structb2_distance_output-members.html b/documentation/structb2_distance_output-members.html deleted file mode 100644 index 65754a7..0000000 --- a/documentation/structb2_distance_output-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2DistanceOutput Member List
-
-
- -

This is the complete list of members for b2DistanceOutput, including all inherited members.

- - - - - -
distance (defined in b2DistanceOutput)b2DistanceOutput
iterationsb2DistanceOutput
pointAb2DistanceOutput
pointBb2DistanceOutput
-
- - - - diff --git a/documentation/structb2_distance_output.html b/documentation/structb2_distance_output.html deleted file mode 100644 index 9c263db..0000000 --- a/documentation/structb2_distance_output.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Box2D: b2DistanceOutput Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2DistanceOutput Struct Reference
-
-
- -

Output for b2Distance. - More...

- -

#include <b2_distance.h>

- - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 pointA
 closest point on shapeA
 
-b2Vec2 pointB
 closest point on shapeB
 
-float distance
 
-int32 iterations
 number of GJK iterations used
 
-

Detailed Description

-

Output for b2Distance.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_distance_output.js b/documentation/structb2_distance_output.js deleted file mode 100644 index d42468a..0000000 --- a/documentation/structb2_distance_output.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_distance_output = -[ - [ "distance", "structb2_distance_output.html#a32e1ffb8d8ebeec15bc66b0388ad6a1f", null ], - [ "iterations", "structb2_distance_output.html#ae2d4c84dd3d05ea4f4d20c91099ec8d5", null ], - [ "pointA", "structb2_distance_output.html#a7e0f1f44a64e596dc7d37570c69eefce", null ], - [ "pointB", "structb2_distance_output.html#aa85beca17337a506cd4a924d0c6f92cc", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_distance_proxy-members.html b/documentation/structb2_distance_proxy-members.html deleted file mode 100644 index e156ec0..0000000 --- a/documentation/structb2_distance_proxy-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2DistanceProxy Member List
-
-
- -

This is the complete list of members for b2DistanceProxy, including all inherited members.

- - - - - - - - - - - - -
b2DistanceProxy() (defined in b2DistanceProxy)b2DistanceProxyinline
GetSupport(const b2Vec2 &d) constb2DistanceProxyinline
GetSupportVertex(const b2Vec2 &d) constb2DistanceProxyinline
GetVertex(int32 index) constb2DistanceProxyinline
GetVertexCount() constb2DistanceProxyinline
m_buffer (defined in b2DistanceProxy)b2DistanceProxy
m_count (defined in b2DistanceProxy)b2DistanceProxy
m_radius (defined in b2DistanceProxy)b2DistanceProxy
m_vertices (defined in b2DistanceProxy)b2DistanceProxy
Set(const b2Shape *shape, int32 index)b2DistanceProxy
Set(const b2Vec2 *vertices, int32 count, float radius)b2DistanceProxy
-
- - - - diff --git a/documentation/structb2_distance_proxy.html b/documentation/structb2_distance_proxy.html deleted file mode 100644 index 4496208..0000000 --- a/documentation/structb2_distance_proxy.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - -Box2D: b2DistanceProxy Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2DistanceProxy Struct Reference
-
-
- -

#include <b2_distance.h>

- - - - - - - - - - - - - - - - - - -

-Public Member Functions

void Set (const b2Shape *shape, int32 index)
 
void Set (const b2Vec2 *vertices, int32 count, float radius)
 
-int32 GetSupport (const b2Vec2 &d) const
 Get the supporting vertex index in the given direction.
 
-const b2Vec2GetSupportVertex (const b2Vec2 &d) const
 Get the supporting vertex in the given direction.
 
-int32 GetVertexCount () const
 Get the vertex count.
 
-const b2Vec2GetVertex (int32 index) const
 Get a vertex by index. Used by b2Distance.
 
- - - - - - - - - -

-Public Attributes

-b2Vec2 m_buffer [2]
 
-const b2Vec2m_vertices
 
-int32 m_count
 
-float m_radius
 
-

Detailed Description

-

A distance proxy is used by the GJK algorithm. It encapsulates any shape.

-

Member Function Documentation

- -

◆ Set() [1/2]

- -
-
- - - - - - - - - - - - - - - - - - -
void b2DistanceProxy::Set (const b2Shapeshape,
int32 index 
)
-
-

Initialize the proxy using the given shape. The shape must remain in scope while the proxy is in use.

- -
-
- -

◆ Set() [2/2]

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2DistanceProxy::Set (const b2Vec2vertices,
int32 count,
float radius 
)
-
-

Initialize the proxy using a vertex cloud and radius. The vertices must remain in scope while the proxy is in use.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_distance_proxy.js b/documentation/structb2_distance_proxy.js deleted file mode 100644 index 443914f..0000000 --- a/documentation/structb2_distance_proxy.js +++ /dev/null @@ -1,14 +0,0 @@ -var structb2_distance_proxy = -[ - [ "b2DistanceProxy", "structb2_distance_proxy.html#ae3b74189ecd4d85b078a9386274dd9b6", null ], - [ "GetSupport", "structb2_distance_proxy.html#a39de286cc0c1e829adfacfa0061b04f2", null ], - [ "GetSupportVertex", "structb2_distance_proxy.html#a245993f09e9f3d3f374bb95041acf822", null ], - [ "GetVertex", "structb2_distance_proxy.html#a9073b2c680d3fee6399f15be79ad144a", null ], - [ "GetVertexCount", "structb2_distance_proxy.html#a99c461f28d484429dac8f14b58f63d89", null ], - [ "Set", "structb2_distance_proxy.html#a80a59a9c9e952482a8fc6db4b883365d", null ], - [ "Set", "structb2_distance_proxy.html#a5cd9ba137f6ed9ab73648e5151692fbb", null ], - [ "m_buffer", "structb2_distance_proxy.html#a3fc5ebfa3d34ac66390b88f9277fb330", null ], - [ "m_count", "structb2_distance_proxy.html#ae36efab1361bb1f94e32f9b956c6f1b3", null ], - [ "m_radius", "structb2_distance_proxy.html#a55c8e00251b21baf36bc0e88b4ec834d", null ], - [ "m_vertices", "structb2_distance_proxy.html#abaf1495b8214b74d944b57170a762f32", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_filter-members.html b/documentation/structb2_filter-members.html deleted file mode 100644 index 3107eec..0000000 --- a/documentation/structb2_filter-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Filter Member List
-
-
- -

This is the complete list of members for b2Filter, including all inherited members.

- - - - - -
b2Filter() (defined in b2Filter)b2Filterinline
categoryBitsb2Filter
groupIndexb2Filter
maskBitsb2Filter
-
- - - - diff --git a/documentation/structb2_filter.html b/documentation/structb2_filter.html deleted file mode 100644 index 7b505aa..0000000 --- a/documentation/structb2_filter.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - -Box2D: b2Filter Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Filter Struct Reference
-
-
- -

This holds contact filtering data. - More...

- -

#include <b2_fixture.h>

- - - - - - - - - -

-Public Attributes

-uint16 categoryBits
 The collision category bits. Normally you would just set one bit.
 
uint16 maskBits
 
int16 groupIndex
 
-

Detailed Description

-

This holds contact filtering data.

-

Member Data Documentation

- -

◆ groupIndex

- -
-
- - - - -
int16 b2Filter::groupIndex
-
-

Collision groups allow a certain group of objects to never collide (negative) or always collide (positive). Zero means no collision group. Non-zero group filtering always wins against the mask bits.

- -
-
- -

◆ maskBits

- -
-
- - - - -
uint16 b2Filter::maskBits
-
-

The collision mask bits. This states the categories that this shape would accept for collision.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_filter.js b/documentation/structb2_filter.js deleted file mode 100644 index 0e9ec31..0000000 --- a/documentation/structb2_filter.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_filter = -[ - [ "b2Filter", "structb2_filter.html#aeb3c0a8af990a7a3f06ae18312be50d4", null ], - [ "categoryBits", "structb2_filter.html#a368907397168d39af8b4fc5201d50bba", null ], - [ "groupIndex", "structb2_filter.html#a572a8f4a1672f6d5d71123a35e872950", null ], - [ "maskBits", "structb2_filter.html#a533cccf85e3ba3d9e3700d73b819f6e2", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_fixture_def-members.html b/documentation/structb2_fixture_def-members.html deleted file mode 100644 index e863b13..0000000 --- a/documentation/structb2_fixture_def-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2FixtureDef Member List
-
- -
- - - - diff --git a/documentation/structb2_fixture_def.html b/documentation/structb2_fixture_def.html deleted file mode 100644 index 6002358..0000000 --- a/documentation/structb2_fixture_def.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - -Box2D: b2FixtureDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2FixtureDef Struct Reference
-
-
- -

#include <b2_fixture.h>

- - - - - -

-Public Member Functions

b2FixtureDef ()
 The constructor sets the default fixture definition values.
 
- - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

const b2Shapeshape
 
-b2FixtureUserData userData
 Use this to store application specific fixture data.
 
-float friction
 The friction coefficient, usually in the range [0,1].
 
-float restitution
 The restitution (elasticity) usually in the range [0,1].
 
float restitutionThreshold
 
-float density
 The density, usually in kg/m^2.
 
bool isSensor
 
-b2Filter filter
 Contact filtering data.
 
-

Detailed Description

-

A fixture definition is used to create a fixture. This class defines an abstract fixture definition. You can reuse fixture definitions safely.

-

Member Data Documentation

- -

◆ isSensor

- -
-
- - - - -
bool b2FixtureDef::isSensor
-
-

A sensor shape collects contact information but never generates a collision response.

- -
-
- -

◆ restitutionThreshold

- -
-
- - - - -
float b2FixtureDef::restitutionThreshold
-
-

Restitution velocity threshold, usually in m/s. Collisions above this speed have restitution applied (will bounce).

- -
-
- -

◆ shape

- -
-
- - - - -
const b2Shape* b2FixtureDef::shape
-
-

The shape, this must be set. The shape will be cloned, so you can create the shape on the stack.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_fixture_def.js b/documentation/structb2_fixture_def.js deleted file mode 100644 index e55e1eb..0000000 --- a/documentation/structb2_fixture_def.js +++ /dev/null @@ -1,12 +0,0 @@ -var structb2_fixture_def = -[ - [ "b2FixtureDef", "structb2_fixture_def.html#aa34ba06bcf0d6d981931a83cf124a602", null ], - [ "density", "structb2_fixture_def.html#a386a1e68b7bebb7d1de64332d3bf34ce", null ], - [ "filter", "structb2_fixture_def.html#a4c3e493a13d11ab27fcc2eee9f52fd61", null ], - [ "friction", "structb2_fixture_def.html#a13799607109ebee16538facf1f0e1701", null ], - [ "isSensor", "structb2_fixture_def.html#ac8cfcc6208663c92861eaab3b3fdc57e", null ], - [ "restitution", "structb2_fixture_def.html#a87e1f5db5b7164fc7198e18a02ee6e36", null ], - [ "restitutionThreshold", "structb2_fixture_def.html#ad56b10047e9c1b3bb317e7e5249f030c", null ], - [ "shape", "structb2_fixture_def.html#a1e41753d89abf3443e7897e2498a3240", null ], - [ "userData", "structb2_fixture_def.html#a480da3de55f826e8df9e7d2c0f7e911f", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_fixture_proxy-members.html b/documentation/structb2_fixture_proxy-members.html deleted file mode 100644 index 956a4dd..0000000 --- a/documentation/structb2_fixture_proxy-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2FixtureProxy Member List
-
-
- -

This is the complete list of members for b2FixtureProxy, including all inherited members.

- - - - - -
aabb (defined in b2FixtureProxy)b2FixtureProxy
childIndex (defined in b2FixtureProxy)b2FixtureProxy
fixture (defined in b2FixtureProxy)b2FixtureProxy
proxyId (defined in b2FixtureProxy)b2FixtureProxy
-
- - - - diff --git a/documentation/structb2_fixture_proxy.html b/documentation/structb2_fixture_proxy.html deleted file mode 100644 index ee7cb6c..0000000 --- a/documentation/structb2_fixture_proxy.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Box2D: b2FixtureProxy Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2FixtureProxy Struct Reference
-
-
- -

This proxy is used internally to connect fixtures to the broad-phase. - More...

- -

#include <b2_fixture.h>

- - - - - - - - - - -

-Public Attributes

-b2AABB aabb
 
-b2Fixturefixture
 
-int32 childIndex
 
-int32 proxyId
 
-

Detailed Description

-

This proxy is used internally to connect fixtures to the broad-phase.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_fixture_proxy.js b/documentation/structb2_fixture_proxy.js deleted file mode 100644 index 6806c33..0000000 --- a/documentation/structb2_fixture_proxy.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_fixture_proxy = -[ - [ "aabb", "structb2_fixture_proxy.html#ad8950f61ce28cfa5b676065d4d843da7", null ], - [ "childIndex", "structb2_fixture_proxy.html#a2edb15552cf71f48dacc3608bb134166", null ], - [ "fixture", "structb2_fixture_proxy.html#a3a0842dc9699c25658548c2005d0ef62", null ], - [ "proxyId", "structb2_fixture_proxy.html#aa0ca7e71341368fe6c6913fb39c7283b", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_fixture_user_data-members.html b/documentation/structb2_fixture_user_data-members.html deleted file mode 100644 index 6a3d01b..0000000 --- a/documentation/structb2_fixture_user_data-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2FixtureUserData Member List
-
-
- -

This is the complete list of members for b2FixtureUserData, including all inherited members.

- - - -
b2FixtureUserData() (defined in b2FixtureUserData)b2FixtureUserDatainline
pointerb2FixtureUserData
-
- - - - diff --git a/documentation/structb2_fixture_user_data.html b/documentation/structb2_fixture_user_data.html deleted file mode 100644 index 884addb..0000000 --- a/documentation/structb2_fixture_user_data.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Box2D: b2FixtureUserData Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2FixtureUserData Struct Reference
-
-
- -

You can define this to inject whatever data you want in b2Fixture. - More...

- -

#include <b2_settings.h>

- - - - - -

-Public Attributes

-uintptr_t pointer
 For legacy compatibility.
 
-

Detailed Description

-

You can define this to inject whatever data you want in b2Fixture.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_fixture_user_data.js b/documentation/structb2_fixture_user_data.js deleted file mode 100644 index 40863a0..0000000 --- a/documentation/structb2_fixture_user_data.js +++ /dev/null @@ -1,5 +0,0 @@ -var structb2_fixture_user_data = -[ - [ "b2FixtureUserData", "structb2_fixture_user_data.html#abf240412b23254d682a2fc51984950ca", null ], - [ "pointer", "structb2_fixture_user_data.html#a7de93df0f0e8a734795b04b7255f55a8", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_friction_joint_def-members.html b/documentation/structb2_friction_joint_def-members.html deleted file mode 100644 index 3af5b69..0000000 --- a/documentation/structb2_friction_joint_def-members.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2FrictionJointDef Member List
-
-
- -

This is the complete list of members for b2FrictionJointDef, including all inherited members.

- - - - - - - - - - - - - -
b2FrictionJointDef() (defined in b2FrictionJointDef)b2FrictionJointDefinline
b2JointDef() (defined in b2JointDef)b2JointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
Initialize(b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor)b2FrictionJointDef
localAnchorAb2FrictionJointDef
localAnchorBb2FrictionJointDef
maxForceb2FrictionJointDef
maxTorqueb2FrictionJointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_friction_joint_def.html b/documentation/structb2_friction_joint_def.html deleted file mode 100644 index 8758d83..0000000 --- a/documentation/structb2_friction_joint_def.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - -Box2D: b2FrictionJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2FrictionJointDef Struct Reference
-
-
- -

Friction joint definition. - More...

- -

#include <b2_friction_joint.h>

-
-Inheritance diagram for b2FrictionJointDef:
-
-
- - -b2JointDef - -
- - - - -

-Public Member Functions

void Initialize (b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
-b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
-float maxForce
 The maximum friction force in N.
 
-float maxTorque
 The maximum friction torque in N-m.
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Friction joint definition.

-

Member Function Documentation

- -

◆ Initialize()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2FrictionJointDef::Initialize (b2BodybodyA,
b2BodybodyB,
const b2Vec2anchor 
)
-
-

Initialize the bodies, anchors, axis, and reference angle using the world anchor and world axis.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_friction_joint_def.js b/documentation/structb2_friction_joint_def.js deleted file mode 100644 index 9eb4b69..0000000 --- a/documentation/structb2_friction_joint_def.js +++ /dev/null @@ -1,9 +0,0 @@ -var structb2_friction_joint_def = -[ - [ "b2FrictionJointDef", "structb2_friction_joint_def.html#a40c1092cc8b3b348cdf2f8d445e835e6", null ], - [ "Initialize", "structb2_friction_joint_def.html#aee104f2aeb34dec4e17e3c52a98f7915", null ], - [ "localAnchorA", "structb2_friction_joint_def.html#a00b246e60ae282a956a42b662993e92a", null ], - [ "localAnchorB", "structb2_friction_joint_def.html#ad6d5a5614a7ac77b13e53fda3e32ed05", null ], - [ "maxForce", "structb2_friction_joint_def.html#ab481751b52e3c4a9b11592b4bb248928", null ], - [ "maxTorque", "structb2_friction_joint_def.html#ad3a5caf9f40f632e996c2b0717ba0948", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_friction_joint_def.png b/documentation/structb2_friction_joint_def.png deleted file mode 100644 index f29c54c..0000000 Binary files a/documentation/structb2_friction_joint_def.png and /dev/null differ diff --git a/documentation/structb2_gear_joint_def-members.html b/documentation/structb2_gear_joint_def-members.html deleted file mode 100644 index 51fafd0..0000000 --- a/documentation/structb2_gear_joint_def-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2GearJointDef Member List
-
-
- -

This is the complete list of members for b2GearJointDef, including all inherited members.

- - - - - - - - - - - -
b2GearJointDef() (defined in b2GearJointDef)b2GearJointDefinline
b2JointDef() (defined in b2JointDef)b2JointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
joint1b2GearJointDef
joint2b2GearJointDef
ratiob2GearJointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_gear_joint_def.html b/documentation/structb2_gear_joint_def.html deleted file mode 100644 index 64f9184..0000000 --- a/documentation/structb2_gear_joint_def.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - -Box2D: b2GearJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2GearJointDef Struct Reference
-
-
- -

#include <b2_gear_joint.h>

-
-Inheritance diagram for b2GearJointDef:
-
-
- - -b2JointDef - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Jointjoint1
 The first revolute/prismatic joint attached to the gear joint.
 
-b2Jointjoint2
 The second revolute/prismatic joint attached to the gear joint.
 
float ratio
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Gear joint definition. This definition requires two existing revolute or prismatic joints (any combination will work).

Warning
bodyB on the input joints must both be dynamic
-

Member Data Documentation

- -

◆ ratio

- -
-
- - - - -
float b2GearJointDef::ratio
-
-

The gear ratio.

See also
b2GearJoint for explanation.
- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_gear_joint_def.js b/documentation/structb2_gear_joint_def.js deleted file mode 100644 index f647d99..0000000 --- a/documentation/structb2_gear_joint_def.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_gear_joint_def = -[ - [ "b2GearJointDef", "structb2_gear_joint_def.html#a2e9309a9065ff59704a09b198e57c876", null ], - [ "joint1", "structb2_gear_joint_def.html#ae42d33b54291a9e256f3810926883473", null ], - [ "joint2", "structb2_gear_joint_def.html#a73cf056fe40e63355073a01b097f4c82", null ], - [ "ratio", "structb2_gear_joint_def.html#adb8dc3bcfa6e5149ba71630251edca22", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_gear_joint_def.png b/documentation/structb2_gear_joint_def.png deleted file mode 100644 index dab484a..0000000 Binary files a/documentation/structb2_gear_joint_def.png and /dev/null differ diff --git a/documentation/structb2_jacobian-members.html b/documentation/structb2_jacobian-members.html deleted file mode 100644 index f1babc6..0000000 --- a/documentation/structb2_jacobian-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Jacobian Member List
-
-
- -

This is the complete list of members for b2Jacobian, including all inherited members.

- - - - -
angularA (defined in b2Jacobian)b2Jacobian
angularB (defined in b2Jacobian)b2Jacobian
linear (defined in b2Jacobian)b2Jacobian
-
- - - - diff --git a/documentation/structb2_jacobian.html b/documentation/structb2_jacobian.html deleted file mode 100644 index 39087e2..0000000 --- a/documentation/structb2_jacobian.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Box2D: b2Jacobian Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Jacobian Struct Reference
-
-
- - - - - - - - -

-Public Attributes

-b2Vec2 linear
 
-float angularA
 
-float angularB
 
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_jacobian.js b/documentation/structb2_jacobian.js deleted file mode 100644 index 4da044a..0000000 --- a/documentation/structb2_jacobian.js +++ /dev/null @@ -1,6 +0,0 @@ -var structb2_jacobian = -[ - [ "angularA", "structb2_jacobian.html#a9337787b34812d371eea4b4bd0d906bf", null ], - [ "angularB", "structb2_jacobian.html#a4d0d1467fbb7d33b4e1b17678b8dce5f", null ], - [ "linear", "structb2_jacobian.html#aa63199b443d411972b9cb6aac6c7cb34", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_joint_def-members.html b/documentation/structb2_joint_def-members.html deleted file mode 100644 index 87de781..0000000 --- a/documentation/structb2_joint_def-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2JointDef Member List
-
-
- -

This is the complete list of members for b2JointDef, including all inherited members.

- - - - - - - -
b2JointDef() (defined in b2JointDef)b2JointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_joint_def.html b/documentation/structb2_joint_def.html deleted file mode 100644 index 7c6b83f..0000000 --- a/documentation/structb2_joint_def.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - - - - -Box2D: b2JointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2JointDef Struct Reference
-
-
- -

Joint definitions are used to construct joints. - More...

- -

#include <b2_joint.h>

-
-Inheritance diagram for b2JointDef:
-
-
- - -b2DistanceJointDef -b2FrictionJointDef -b2GearJointDef -b2MotorJointDef -b2MouseJointDef -b2PrismaticJointDef -b2PulleyJointDef -b2RevoluteJointDef -b2WeldJointDef -b2WheelJointDef - -
- - - - - - - - - - - - - - - - - -

-Public Attributes

-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Joint definitions are used to construct joints.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_joint_def.js b/documentation/structb2_joint_def.js deleted file mode 100644 index 8c8381c..0000000 --- a/documentation/structb2_joint_def.js +++ /dev/null @@ -1,9 +0,0 @@ -var structb2_joint_def = -[ - [ "b2JointDef", "structb2_joint_def.html#a1fdb44829d4fd13c72edb1daacb72f89", null ], - [ "bodyA", "structb2_joint_def.html#a8cd54c93da396be75a9788f2c6897f05", null ], - [ "bodyB", "structb2_joint_def.html#aa4f4dee2fbcd12187b19506b60e68e3d", null ], - [ "collideConnected", "structb2_joint_def.html#aef099a1f89b64e230173b6016848ea9b", null ], - [ "type", "structb2_joint_def.html#a470f2879b24adb05facbd49f338856fb", null ], - [ "userData", "structb2_joint_def.html#a78ae1ebbdd3d9b9a6b409c0b05096ded", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_joint_def.png b/documentation/structb2_joint_def.png deleted file mode 100644 index 3c691dc..0000000 Binary files a/documentation/structb2_joint_def.png and /dev/null differ diff --git a/documentation/structb2_joint_edge-members.html b/documentation/structb2_joint_edge-members.html deleted file mode 100644 index ea585ad..0000000 --- a/documentation/structb2_joint_edge-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2JointEdge Member List
-
-
- -

This is the complete list of members for b2JointEdge, including all inherited members.

- - - - - -
jointb2JointEdge
nextb2JointEdge
otherb2JointEdge
prevb2JointEdge
-
- - - - diff --git a/documentation/structb2_joint_edge.html b/documentation/structb2_joint_edge.html deleted file mode 100644 index 62175c6..0000000 --- a/documentation/structb2_joint_edge.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Box2D: b2JointEdge Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2JointEdge Struct Reference
-
-
- -

#include <b2_joint.h>

- - - - - - - - - - - - - - -

-Public Attributes

-b2Bodyother
 provides quick access to the other body attached.
 
-b2Jointjoint
 the joint
 
-b2JointEdgeprev
 the previous joint edge in the body's joint list
 
-b2JointEdgenext
 the next joint edge in the body's joint list
 
-

Detailed Description

-

A joint edge is used to connect bodies and joints together in a joint graph where each body is a node and each joint is an edge. A joint edge belongs to a doubly linked list maintained in each attached body. Each joint has two joint nodes, one for each attached body.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_joint_edge.js b/documentation/structb2_joint_edge.js deleted file mode 100644 index 58e6dba..0000000 --- a/documentation/structb2_joint_edge.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_joint_edge = -[ - [ "joint", "structb2_joint_edge.html#ab5bac5d495af1280c50271f56a221503", null ], - [ "next", "structb2_joint_edge.html#a3d17286bc697bb620ee151e4cd07438c", null ], - [ "other", "structb2_joint_edge.html#a64aef21fb91211871de8796baecccb95", null ], - [ "prev", "structb2_joint_edge.html#acc3621e38d9664db2805e0fc29d71335", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_joint_user_data-members.html b/documentation/structb2_joint_user_data-members.html deleted file mode 100644 index 38e1fe0..0000000 --- a/documentation/structb2_joint_user_data-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2JointUserData Member List
-
-
- -

This is the complete list of members for b2JointUserData, including all inherited members.

- - - -
b2JointUserData() (defined in b2JointUserData)b2JointUserDatainline
pointerb2JointUserData
-
- - - - diff --git a/documentation/structb2_joint_user_data.html b/documentation/structb2_joint_user_data.html deleted file mode 100644 index b7f759d..0000000 --- a/documentation/structb2_joint_user_data.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Box2D: b2JointUserData Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2JointUserData Struct Reference
-
-
- -

You can define this to inject whatever data you want in b2Joint. - More...

- -

#include <b2_settings.h>

- - - - - -

-Public Attributes

-uintptr_t pointer
 For legacy compatibility.
 
-

Detailed Description

-

You can define this to inject whatever data you want in b2Joint.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_joint_user_data.js b/documentation/structb2_joint_user_data.js deleted file mode 100644 index 6812173..0000000 --- a/documentation/structb2_joint_user_data.js +++ /dev/null @@ -1,5 +0,0 @@ -var structb2_joint_user_data = -[ - [ "b2JointUserData", "structb2_joint_user_data.html#ac685ff1a24056ab17df7ac7135029aff", null ], - [ "pointer", "structb2_joint_user_data.html#a1aa036ecc13e8f99e35e961fd39fdc97", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_manifold-members.html b/documentation/structb2_manifold-members.html deleted file mode 100644 index e22175c..0000000 --- a/documentation/structb2_manifold-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Manifold Member List
-
-
- -

This is the complete list of members for b2Manifold, including all inherited members.

- - - - - - - - - - -
e_circles enum value (defined in b2Manifold)b2Manifold
e_faceA enum value (defined in b2Manifold)b2Manifold
e_faceB enum value (defined in b2Manifold)b2Manifold
localNormalb2Manifold
localPointb2Manifold
pointCountb2Manifold
pointsb2Manifold
type (defined in b2Manifold)b2Manifold
Type enum name (defined in b2Manifold)b2Manifold
-
- - - - diff --git a/documentation/structb2_manifold.html b/documentation/structb2_manifold.html deleted file mode 100644 index 6e44b81..0000000 --- a/documentation/structb2_manifold.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - - -Box2D: b2Manifold Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Manifold Struct Reference
-
-
- -

#include <b2_collision.h>

- - - - -

-Public Types

enum  Type { e_circles, -e_faceA, -e_faceB - }
 
- - - - - - - - - - - - - - - -

-Public Attributes

-b2ManifoldPoint points [b2_maxManifoldPoints]
 the points of contact
 
-b2Vec2 localNormal
 not use for Type::e_points
 
-b2Vec2 localPoint
 usage depends on manifold type
 
-Type type
 
-int32 pointCount
 the number of manifold points
 
-

Detailed Description

-

A manifold for two touching convex shapes. Box2D supports multiple types of contact:

    -
  • clip point versus plane with radius
  • -
  • point versus point with radius (circles) The local point usage depends on the manifold type: -e_circles: the local center of circleA -e_faceA: the center of faceA -e_faceB: the center of faceB Similarly the local normal usage: -e_circles: not used -e_faceA: the normal on polygonA -e_faceB: the normal on polygonB We store contacts in this way so that position correction can account for movement, which is critical for continuous physics. All contact scenarios must be expressed in one of these types. This structure is stored across time steps, so we keep it small.
  • -
-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_manifold.js b/documentation/structb2_manifold.js deleted file mode 100644 index 589439e..0000000 --- a/documentation/structb2_manifold.js +++ /dev/null @@ -1,13 +0,0 @@ -var structb2_manifold = -[ - [ "Type", "structb2_manifold.html#aa9c347e2ff2e27ee820a926efbb33e12", [ - [ "e_circles", "structb2_manifold.html#aa9c347e2ff2e27ee820a926efbb33e12a8263240a3d2b01ca3c19dff3f5fad008", null ], - [ "e_faceA", "structb2_manifold.html#aa9c347e2ff2e27ee820a926efbb33e12a42af1689472a0f5c7797ef196b9a666b", null ], - [ "e_faceB", "structb2_manifold.html#aa9c347e2ff2e27ee820a926efbb33e12a08643d45b9a9e499dfc774d2cafb8fd2", null ] - ] ], - [ "localNormal", "structb2_manifold.html#a3604e9fef2a03347c5649c71a9fd4c79", null ], - [ "localPoint", "structb2_manifold.html#a8825cea31b27dbbaf22c13c3070870d5", null ], - [ "pointCount", "structb2_manifold.html#abf59ff6fa36bed34b0242ad54951a696", null ], - [ "points", "structb2_manifold.html#ab8021128e9792cc7391a8804ea02173d", null ], - [ "type", "structb2_manifold.html#a4cb6ceba7105513b1e5bd6dbf0cce168", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_manifold_point-members.html b/documentation/structb2_manifold_point-members.html deleted file mode 100644 index 32e8945..0000000 --- a/documentation/structb2_manifold_point-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ManifoldPoint Member List
-
-
- -

This is the complete list of members for b2ManifoldPoint, including all inherited members.

- - - - - -
idb2ManifoldPoint
localPointb2ManifoldPoint
normalImpulseb2ManifoldPoint
tangentImpulseb2ManifoldPoint
-
- - - - diff --git a/documentation/structb2_manifold_point.html b/documentation/structb2_manifold_point.html deleted file mode 100644 index 1f5a4d0..0000000 --- a/documentation/structb2_manifold_point.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - -Box2D: b2ManifoldPoint Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ManifoldPoint Struct Reference
-
-
- -

#include <b2_collision.h>

- - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localPoint
 usage depends on manifold type
 
-float normalImpulse
 the non-penetration impulse
 
-float tangentImpulse
 the friction impulse
 
-b2ContactID id
 uniquely identifies a contact point between two shapes
 
-

Detailed Description

-

A manifold point is a contact point belonging to a contact manifold. It holds details related to the geometry and dynamics of the contact points. The local point usage depends on the manifold type: -e_circles: the local center of circleB -e_faceA: the local center of cirlceB or the clip point of polygonB -e_faceB: the clip point of polygonA This structure is stored across time steps, so we keep it small. Note: the impulses are used for internal caching and may not provide reliable contact forces, especially for high speed collisions.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_manifold_point.js b/documentation/structb2_manifold_point.js deleted file mode 100644 index 040b1e3..0000000 --- a/documentation/structb2_manifold_point.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_manifold_point = -[ - [ "id", "structb2_manifold_point.html#afa7ec272b2b27abe129540f8fbe57fc5", null ], - [ "localPoint", "structb2_manifold_point.html#ab3616990e7d1644deeeb691246094bfa", null ], - [ "normalImpulse", "structb2_manifold_point.html#a09176fb626391441d9335af818ce51f2", null ], - [ "tangentImpulse", "structb2_manifold_point.html#a15021bfbefe740207617baf5ba41a74b", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_mass_data-members.html b/documentation/structb2_mass_data-members.html deleted file mode 100644 index 3cfc132..0000000 --- a/documentation/structb2_mass_data-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2MassData Member List
-
-
- -

This is the complete list of members for b2MassData, including all inherited members.

- - - - -
centerb2MassData
Ib2MassData
massb2MassData
-
- - - - diff --git a/documentation/structb2_mass_data.html b/documentation/structb2_mass_data.html deleted file mode 100644 index 5a369e4..0000000 --- a/documentation/structb2_mass_data.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Box2D: b2MassData Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2MassData Struct Reference
-
-
- -

This holds the mass data computed for a shape. - More...

- -

#include <b2_shape.h>

- - - - - - - - - - - -

-Public Attributes

-float mass
 The mass of the shape, usually in kilograms.
 
-b2Vec2 center
 The position of the shape's centroid relative to the shape's origin.
 
-float I
 The rotational inertia of the shape about the local origin.
 
-

Detailed Description

-

This holds the mass data computed for a shape.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_mass_data.js b/documentation/structb2_mass_data.js deleted file mode 100644 index bc51ef7..0000000 --- a/documentation/structb2_mass_data.js +++ /dev/null @@ -1,6 +0,0 @@ -var structb2_mass_data = -[ - [ "center", "structb2_mass_data.html#a1d59bebc7030c4dded0c2febc57ebdd7", null ], - [ "I", "structb2_mass_data.html#aea3213483fc61bb84e84c869875732a0", null ], - [ "mass", "structb2_mass_data.html#a28306cd337e0a58f07ad21648367e35b", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_mat22-members.html b/documentation/structb2_mat22-members.html deleted file mode 100644 index 4441cd2..0000000 --- a/documentation/structb2_mat22-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Mat22 Member List
-
-
- -

This is the complete list of members for b2Mat22, including all inherited members.

- - - - - - - - - - - -
b2Mat22()b2Mat22inline
b2Mat22(const b2Vec2 &c1, const b2Vec2 &c2)b2Mat22inline
b2Mat22(float a11, float a12, float a21, float a22)b2Mat22inline
ex (defined in b2Mat22)b2Mat22
ey (defined in b2Mat22)b2Mat22
GetInverse() const (defined in b2Mat22)b2Mat22inline
Set(const b2Vec2 &c1, const b2Vec2 &c2)b2Mat22inline
SetIdentity()b2Mat22inline
SetZero()b2Mat22inline
Solve(const b2Vec2 &b) constb2Mat22inline
-
- - - - diff --git a/documentation/structb2_mat22.html b/documentation/structb2_mat22.html deleted file mode 100644 index d5a4cfe..0000000 --- a/documentation/structb2_mat22.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - - - -Box2D: b2Mat22 Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Mat22 Struct Reference
-
-
- -

A 2-by-2 matrix. Stored in column-major order. - More...

- -

#include <b2_math.h>

- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

b2Mat22 ()
 The default constructor does nothing (for performance).
 
b2Mat22 (const b2Vec2 &c1, const b2Vec2 &c2)
 Construct this matrix using columns.
 
b2Mat22 (float a11, float a12, float a21, float a22)
 Construct this matrix using scalars.
 
-void Set (const b2Vec2 &c1, const b2Vec2 &c2)
 Initialize this matrix using columns.
 
-void SetIdentity ()
 Set this to the identity matrix.
 
-void SetZero ()
 Set this matrix to all zeros.
 
-b2Mat22 GetInverse () const
 
b2Vec2 Solve (const b2Vec2 &b) const
 
- - - - - -

-Public Attributes

-b2Vec2 ex
 
-b2Vec2 ey
 
-

Detailed Description

-

A 2-by-2 matrix. Stored in column-major order.

-

Member Function Documentation

- -

◆ Solve()

- -
-
- - - - - -
- - - - - - - - -
b2Vec2 b2Mat22::Solve (const b2Vec2b) const
-
-inline
-
-

Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_mat22.js b/documentation/structb2_mat22.js deleted file mode 100644 index 2a208a0..0000000 --- a/documentation/structb2_mat22.js +++ /dev/null @@ -1,13 +0,0 @@ -var structb2_mat22 = -[ - [ "b2Mat22", "structb2_mat22.html#ac3e10f6d457c8dab9062ba378f66bc4d", null ], - [ "b2Mat22", "structb2_mat22.html#abd674c6d92e26962977f34bcd92ff24d", null ], - [ "b2Mat22", "structb2_mat22.html#a1a5d89430e2ac3cb71ff57347f54f2f3", null ], - [ "GetInverse", "structb2_mat22.html#ad0b0676deea081b761c67be48e0ac850", null ], - [ "Set", "structb2_mat22.html#aed3bee1de38a0b3f36e21c90faa24112", null ], - [ "SetIdentity", "structb2_mat22.html#a7192f063b771ac9ded060e41df890509", null ], - [ "SetZero", "structb2_mat22.html#aaeae95f61cf3171ffb94703980e3594b", null ], - [ "Solve", "structb2_mat22.html#a3313c8d135c01fbf74e7fea31f1ea4c1", null ], - [ "ex", "structb2_mat22.html#abaffa5fc1d401ea36415acffa6205689", null ], - [ "ey", "structb2_mat22.html#af19db58941d2cd146325ef3191b776fd", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_mat33-members.html b/documentation/structb2_mat33-members.html deleted file mode 100644 index 4fe3c3f..0000000 --- a/documentation/structb2_mat33-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Mat33 Member List
-
-
- -

This is the complete list of members for b2Mat33, including all inherited members.

- - - - - - - - - - - -
b2Mat33()b2Mat33inline
b2Mat33(const b2Vec3 &c1, const b2Vec3 &c2, const b2Vec3 &c3)b2Mat33inline
ex (defined in b2Mat33)b2Mat33
ey (defined in b2Mat33)b2Mat33
ez (defined in b2Mat33)b2Mat33
GetInverse22(b2Mat33 *M) constb2Mat33
GetSymInverse33(b2Mat33 *M) constb2Mat33
SetZero()b2Mat33inline
Solve22(const b2Vec2 &b) constb2Mat33
Solve33(const b2Vec3 &b) constb2Mat33
-
- - - - diff --git a/documentation/structb2_mat33.html b/documentation/structb2_mat33.html deleted file mode 100644 index 39932fd..0000000 --- a/documentation/structb2_mat33.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - -Box2D: b2Mat33 Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Mat33 Struct Reference
-
-
- -

A 3-by-3 matrix. Stored in column-major order. - More...

- -

#include <b2_math.h>

- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

b2Mat33 ()
 The default constructor does nothing (for performance).
 
b2Mat33 (const b2Vec3 &c1, const b2Vec3 &c2, const b2Vec3 &c3)
 Construct this matrix using columns.
 
-void SetZero ()
 Set this matrix to all zeros.
 
b2Vec3 Solve33 (const b2Vec3 &b) const
 
b2Vec2 Solve22 (const b2Vec2 &b) const
 
void GetInverse22 (b2Mat33 *M) const
 
void GetSymInverse33 (b2Mat33 *M) const
 
- - - - - - - -

-Public Attributes

-b2Vec3 ex
 
-b2Vec3 ey
 
-b2Vec3 ez
 
-

Detailed Description

-

A 3-by-3 matrix. Stored in column-major order.

-

Member Function Documentation

- -

◆ GetInverse22()

- -
-
- - - - - - - - -
void b2Mat33::GetInverse22 (b2Mat33M) const
-
-

Get the inverse of this matrix as a 2-by-2. Returns the zero matrix if singular.

- -
-
- -

◆ GetSymInverse33()

- -
-
- - - - - - - - -
void b2Mat33::GetSymInverse33 (b2Mat33M) const
-
-

Get the symmetric inverse of this matrix as a 3-by-3. Returns the zero matrix if singular.

- -
-
- -

◆ Solve22()

- -
-
- - - - - - - - -
b2Vec2 b2Mat33::Solve22 (const b2Vec2b) const
-
-

Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases. Solve only the upper 2-by-2 matrix equation.

- -
-
- -

◆ Solve33()

- -
-
- - - - - - - - -
b2Vec3 b2Mat33::Solve33 (const b2Vec3b) const
-
-

Solve A * x = b, where b is a column vector. This is more efficient than computing the inverse in one-shot cases.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_mat33.js b/documentation/structb2_mat33.js deleted file mode 100644 index 0818a46..0000000 --- a/documentation/structb2_mat33.js +++ /dev/null @@ -1,13 +0,0 @@ -var structb2_mat33 = -[ - [ "b2Mat33", "structb2_mat33.html#a1f4d7ddf1c8a202fc08ec64dfe191463", null ], - [ "b2Mat33", "structb2_mat33.html#a36d99a037008776c8d09fe0aeb5c759c", null ], - [ "GetInverse22", "structb2_mat33.html#aa020bfd08e28c4cecda303ba335fe517", null ], - [ "GetSymInverse33", "structb2_mat33.html#a2620944663233096d3b82bc4b1a991e9", null ], - [ "SetZero", "structb2_mat33.html#a42fc6953b025e1c8b59717d0ee7accde", null ], - [ "Solve22", "structb2_mat33.html#acdf892aab7e26283f8aa600ade91dcef", null ], - [ "Solve33", "structb2_mat33.html#a2ce48f409ba5951a04da821dada9e285", null ], - [ "ex", "structb2_mat33.html#a132f00e6550d1e19c75fb60ce1229638", null ], - [ "ey", "structb2_mat33.html#ababc69c718c73a04a651f7a6a981ecf4", null ], - [ "ez", "structb2_mat33.html#ae700fc46f679b4ef211a2517005b0557", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_motor_joint_def-members.html b/documentation/structb2_motor_joint_def-members.html deleted file mode 100644 index 50cff43..0000000 --- a/documentation/structb2_motor_joint_def-members.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2MotorJointDef Member List
-
-
- -

This is the complete list of members for b2MotorJointDef, including all inherited members.

- - - - - - - - - - - - - - -
angularOffsetb2MotorJointDef
b2JointDef() (defined in b2JointDef)b2JointDefinline
b2MotorJointDef() (defined in b2MotorJointDef)b2MotorJointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
correctionFactorb2MotorJointDef
Initialize(b2Body *bodyA, b2Body *bodyB)b2MotorJointDef
linearOffsetb2MotorJointDef
maxForceb2MotorJointDef
maxTorqueb2MotorJointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_motor_joint_def.html b/documentation/structb2_motor_joint_def.html deleted file mode 100644 index 853d697..0000000 --- a/documentation/structb2_motor_joint_def.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - -Box2D: b2MotorJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2MotorJointDef Struct Reference
-
-
- -

Motor joint definition. - More...

- -

#include <b2_motor_joint.h>

-
-Inheritance diagram for b2MotorJointDef:
-
-
- - -b2JointDef - -
- - - - - -

-Public Member Functions

-void Initialize (b2Body *bodyA, b2Body *bodyB)
 Initialize the bodies and offsets using the current transforms.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 linearOffset
 Position of bodyB minus the position of bodyA, in bodyA's frame, in meters.
 
-float angularOffset
 The bodyB angle minus bodyA angle in radians.
 
-float maxForce
 The maximum motor force in N.
 
-float maxTorque
 The maximum motor torque in N-m.
 
-float correctionFactor
 Position correction factor in the range [0,1].
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Motor joint definition.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_motor_joint_def.js b/documentation/structb2_motor_joint_def.js deleted file mode 100644 index a3fa07f..0000000 --- a/documentation/structb2_motor_joint_def.js +++ /dev/null @@ -1,10 +0,0 @@ -var structb2_motor_joint_def = -[ - [ "b2MotorJointDef", "structb2_motor_joint_def.html#a70c6d6e66090cef696f401df8ce89898", null ], - [ "Initialize", "structb2_motor_joint_def.html#a90eb924b6e04da8d75d9cefad0655960", null ], - [ "angularOffset", "structb2_motor_joint_def.html#a2ecc5d74b75bd20b27d2a0d28ad1bd76", null ], - [ "correctionFactor", "structb2_motor_joint_def.html#a2844c52e534602bae52c4531bdf49c26", null ], - [ "linearOffset", "structb2_motor_joint_def.html#a2c957cffc2af66c6c8077c069b906bc4", null ], - [ "maxForce", "structb2_motor_joint_def.html#a0048cc0264f23707214ad96273c5fc0d", null ], - [ "maxTorque", "structb2_motor_joint_def.html#acfeb8b3e2275da2f8f4365c1848e5385", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_motor_joint_def.png b/documentation/structb2_motor_joint_def.png deleted file mode 100644 index a039449..0000000 Binary files a/documentation/structb2_motor_joint_def.png and /dev/null differ diff --git a/documentation/structb2_mouse_joint_def-members.html b/documentation/structb2_mouse_joint_def-members.html deleted file mode 100644 index 4f066f8..0000000 --- a/documentation/structb2_mouse_joint_def-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2MouseJointDef Member List
-
-
- -

This is the complete list of members for b2MouseJointDef, including all inherited members.

- - - - - - - - - - - - -
b2JointDef() (defined in b2JointDef)b2JointDefinline
b2MouseJointDef() (defined in b2MouseJointDef)b2MouseJointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
dampingb2MouseJointDef
maxForceb2MouseJointDef
stiffnessb2MouseJointDef
targetb2MouseJointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_mouse_joint_def.html b/documentation/structb2_mouse_joint_def.html deleted file mode 100644 index 6e00bcc..0000000 --- a/documentation/structb2_mouse_joint_def.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - -Box2D: b2MouseJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2MouseJointDef Struct Reference
-
-
- -

#include <b2_mouse_joint.h>

-
-Inheritance diagram for b2MouseJointDef:
-
-
- - -b2JointDef - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

b2Vec2 target
 
float maxForce
 
-float stiffness
 The linear stiffness in N/m.
 
-float damping
 The linear damping in N*s/m.
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Mouse joint definition. This requires a world target point, tuning parameters, and the time step.

-

Member Data Documentation

- -

◆ maxForce

- -
-
- - - - -
float b2MouseJointDef::maxForce
-
-

The maximum constraint force that can be exerted to move the candidate body. Usually you will express as some multiple of the weight (multiplier * mass * gravity).

- -
-
- -

◆ target

- -
-
- - - - -
b2Vec2 b2MouseJointDef::target
-
-

The initial world target point. This is assumed to coincide with the body anchor initially.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_mouse_joint_def.js b/documentation/structb2_mouse_joint_def.js deleted file mode 100644 index 0849f66..0000000 --- a/documentation/structb2_mouse_joint_def.js +++ /dev/null @@ -1,8 +0,0 @@ -var structb2_mouse_joint_def = -[ - [ "b2MouseJointDef", "structb2_mouse_joint_def.html#ac367e7d89eadeeac53473f248f4dcdf7", null ], - [ "damping", "structb2_mouse_joint_def.html#a0887471452796ff614965a7518e1f5aa", null ], - [ "maxForce", "structb2_mouse_joint_def.html#a6ae811967747e4d1752b571c894c1ba7", null ], - [ "stiffness", "structb2_mouse_joint_def.html#ae44cee9f187989e20dfa4346970391ce", null ], - [ "target", "structb2_mouse_joint_def.html#aa1b76f72df9aca8d42bdc3e9922e310a", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_mouse_joint_def.png b/documentation/structb2_mouse_joint_def.png deleted file mode 100644 index fed572b..0000000 Binary files a/documentation/structb2_mouse_joint_def.png and /dev/null differ diff --git a/documentation/structb2_pair-members.html b/documentation/structb2_pair-members.html deleted file mode 100644 index 13612b2..0000000 --- a/documentation/structb2_pair-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Pair Member List
-
-
- -

This is the complete list of members for b2Pair, including all inherited members.

- - - -
proxyIdA (defined in b2Pair)b2Pair
proxyIdB (defined in b2Pair)b2Pair
-
- - - - diff --git a/documentation/structb2_pair.html b/documentation/structb2_pair.html deleted file mode 100644 index 1a271bf..0000000 --- a/documentation/structb2_pair.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Box2D: b2Pair Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Pair Struct Reference
-
-
- - - - - - -

-Public Attributes

-int32 proxyIdA
 
-int32 proxyIdB
 
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_pair.js b/documentation/structb2_pair.js deleted file mode 100644 index 568a933..0000000 --- a/documentation/structb2_pair.js +++ /dev/null @@ -1,5 +0,0 @@ -var structb2_pair = -[ - [ "proxyIdA", "structb2_pair.html#abae3df5e877cf0c4611334e3eec4b84c", null ], - [ "proxyIdB", "structb2_pair.html#af2bd888ccb34535ab9126497349da749", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_position-members.html b/documentation/structb2_position-members.html deleted file mode 100644 index 2551ffe..0000000 --- a/documentation/structb2_position-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Position Member List
-
-
- -

This is the complete list of members for b2Position, including all inherited members.

- - - -
a (defined in b2Position)b2Position
c (defined in b2Position)b2Position
-
- - - - diff --git a/documentation/structb2_position.html b/documentation/structb2_position.html deleted file mode 100644 index 97c2eca..0000000 --- a/documentation/structb2_position.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Box2D: b2Position Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Position Struct Reference
-
-
- -

This is an internal structure. - More...

- -

#include <b2_time_step.h>

- - - - - - -

-Public Attributes

-b2Vec2 c
 
-float a
 
-

Detailed Description

-

This is an internal structure.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_position.js b/documentation/structb2_position.js deleted file mode 100644 index a1dbc7d..0000000 --- a/documentation/structb2_position.js +++ /dev/null @@ -1,5 +0,0 @@ -var structb2_position = -[ - [ "a", "structb2_position.html#a2bd754e583c250f7ecdc5f50c9e9d0bd", null ], - [ "c", "structb2_position.html#a64b6d764d272385f84e4cac5ceb5af27", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_prismatic_joint_def-members.html b/documentation/structb2_prismatic_joint_def-members.html deleted file mode 100644 index a692810..0000000 --- a/documentation/structb2_prismatic_joint_def-members.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- - - - - - diff --git a/documentation/structb2_prismatic_joint_def.html b/documentation/structb2_prismatic_joint_def.html deleted file mode 100644 index a5c28f0..0000000 --- a/documentation/structb2_prismatic_joint_def.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - -Box2D: b2PrismaticJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2PrismaticJointDef Struct Reference
-
-
- -

#include <b2_prismatic_joint.h>

-
-Inheritance diagram for b2PrismaticJointDef:
-
-
- - -b2JointDef - -
- - - - -

-Public Member Functions

void Initialize (b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor, const b2Vec2 &axis)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
-b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
-b2Vec2 localAxisA
 The local translation unit axis in bodyA.
 
-float referenceAngle
 The constrained angle between the bodies: bodyB_angle - bodyA_angle.
 
-bool enableLimit
 Enable/disable the joint limit.
 
-float lowerTranslation
 The lower translation limit, usually in meters.
 
-float upperTranslation
 The upper translation limit, usually in meters.
 
-bool enableMotor
 Enable/disable the joint motor.
 
-float maxMotorForce
 The maximum motor torque, usually in N-m.
 
-float motorSpeed
 The desired motor speed in radians per second.
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Prismatic joint definition. This requires defining a line of motion using an axis and an anchor point. The definition uses local anchor points and a local axis so that the initial configuration can violate the constraint slightly. The joint translation is zero when the local anchor points coincide in world space. Using local anchors and a local axis helps when saving and loading a game.

-

Member Function Documentation

- -

◆ Initialize()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void b2PrismaticJointDef::Initialize (b2BodybodyA,
b2BodybodyB,
const b2Vec2anchor,
const b2Vec2axis 
)
-
-

Initialize the bodies, anchors, axis, and reference angle using the world anchor and unit world axis.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_prismatic_joint_def.js b/documentation/structb2_prismatic_joint_def.js deleted file mode 100644 index 0de9f67..0000000 --- a/documentation/structb2_prismatic_joint_def.js +++ /dev/null @@ -1,15 +0,0 @@ -var structb2_prismatic_joint_def = -[ - [ "b2PrismaticJointDef", "structb2_prismatic_joint_def.html#aed2cd56b9d870058413f9bd33ee915b9", null ], - [ "Initialize", "structb2_prismatic_joint_def.html#ae60043bc22b077e8c59ab248dc34652f", null ], - [ "enableLimit", "structb2_prismatic_joint_def.html#aa61a03b68caac62a5cf66354f6756eae", null ], - [ "enableMotor", "structb2_prismatic_joint_def.html#a58ac79a54a8110d3a745e1d6d36990dc", null ], - [ "localAnchorA", "structb2_prismatic_joint_def.html#abb51df8daff7a55f47adc83e4f7fa5b9", null ], - [ "localAnchorB", "structb2_prismatic_joint_def.html#a5acc1f2f14d1b659fc9d804ab1baf4a3", null ], - [ "localAxisA", "structb2_prismatic_joint_def.html#af36fdbcedca5a392a2649cd235c42676", null ], - [ "lowerTranslation", "structb2_prismatic_joint_def.html#a4ad5f83296c7be60f1b0ecd5a442f8dc", null ], - [ "maxMotorForce", "structb2_prismatic_joint_def.html#af7bb74b4f5188352c704d9822fb20d5a", null ], - [ "motorSpeed", "structb2_prismatic_joint_def.html#a58c40902a70a31bf4f6e17f3d4c7413a", null ], - [ "referenceAngle", "structb2_prismatic_joint_def.html#abdfbcaa344eeebd0c0bf07e1030bc285", null ], - [ "upperTranslation", "structb2_prismatic_joint_def.html#a7606811782ccef96beeccbc0b56eaf34", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_prismatic_joint_def.png b/documentation/structb2_prismatic_joint_def.png deleted file mode 100644 index 10f9ce1..0000000 Binary files a/documentation/structb2_prismatic_joint_def.png and /dev/null differ diff --git a/documentation/structb2_profile-members.html b/documentation/structb2_profile-members.html deleted file mode 100644 index 28207f5..0000000 --- a/documentation/structb2_profile-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Profile Member List
-
-
- -

This is the complete list of members for b2Profile, including all inherited members.

- - - - - - - - - -
broadphase (defined in b2Profile)b2Profile
collide (defined in b2Profile)b2Profile
solve (defined in b2Profile)b2Profile
solveInit (defined in b2Profile)b2Profile
solvePosition (defined in b2Profile)b2Profile
solveTOI (defined in b2Profile)b2Profile
solveVelocity (defined in b2Profile)b2Profile
step (defined in b2Profile)b2Profile
-
- - - - diff --git a/documentation/structb2_profile.html b/documentation/structb2_profile.html deleted file mode 100644 index ee7434c..0000000 --- a/documentation/structb2_profile.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - - -Box2D: b2Profile Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Profile Struct Reference
-
-
- -

Profiling data. Times are in milliseconds. - More...

- -

#include <b2_time_step.h>

- - - - - - - - - - - - - - - - - - -

-Public Attributes

-float step
 
-float collide
 
-float solve
 
-float solveInit
 
-float solveVelocity
 
-float solvePosition
 
-float broadphase
 
-float solveTOI
 
-

Detailed Description

-

Profiling data. Times are in milliseconds.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_profile.js b/documentation/structb2_profile.js deleted file mode 100644 index 882217f..0000000 --- a/documentation/structb2_profile.js +++ /dev/null @@ -1,11 +0,0 @@ -var structb2_profile = -[ - [ "broadphase", "structb2_profile.html#aabec27f37e180c3d1b5acb7278685c89", null ], - [ "collide", "structb2_profile.html#a0979e064312ed8925524e91f1281bc42", null ], - [ "solve", "structb2_profile.html#a6602b842b1aaec7c806fd747bc46c776", null ], - [ "solveInit", "structb2_profile.html#af22046f92b4be25ae9ff00156189f68d", null ], - [ "solvePosition", "structb2_profile.html#a3eae533b54120f67eded45189a2b8fd1", null ], - [ "solveTOI", "structb2_profile.html#ac89fb41a9d5169573c03936f49224cf9", null ], - [ "solveVelocity", "structb2_profile.html#af632bd1e0b258b622ae86b1eec3b3bd0", null ], - [ "step", "structb2_profile.html#a2a298f6bd1393201ddcf73b1d5895fdc", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_pulley_joint_def-members.html b/documentation/structb2_pulley_joint_def-members.html deleted file mode 100644 index b6e44e8..0000000 --- a/documentation/structb2_pulley_joint_def-members.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2PulleyJointDef Member List
-
-
- -

This is the complete list of members for b2PulleyJointDef, including all inherited members.

- - - - - - - - - - - - - - - - -
b2JointDef() (defined in b2JointDef)b2JointDefinline
b2PulleyJointDef() (defined in b2PulleyJointDef)b2PulleyJointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
groundAnchorAb2PulleyJointDef
groundAnchorBb2PulleyJointDef
Initialize(b2Body *bodyA, b2Body *bodyB, const b2Vec2 &groundAnchorA, const b2Vec2 &groundAnchorB, const b2Vec2 &anchorA, const b2Vec2 &anchorB, float ratio)b2PulleyJointDef
lengthAb2PulleyJointDef
lengthBb2PulleyJointDef
localAnchorAb2PulleyJointDef
localAnchorBb2PulleyJointDef
ratiob2PulleyJointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_pulley_joint_def.html b/documentation/structb2_pulley_joint_def.html deleted file mode 100644 index c956eb7..0000000 --- a/documentation/structb2_pulley_joint_def.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - - -Box2D: b2PulleyJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2PulleyJointDef Struct Reference
-
-
- -

#include <b2_pulley_joint.h>

-
-Inheritance diagram for b2PulleyJointDef:
-
-
- - -b2JointDef - -
- - - - - -

-Public Member Functions

-void Initialize (b2Body *bodyA, b2Body *bodyB, const b2Vec2 &groundAnchorA, const b2Vec2 &groundAnchorB, const b2Vec2 &anchorA, const b2Vec2 &anchorB, float ratio)
 Initialize the bodies, anchors, lengths, max lengths, and ratio using the world anchors.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 groundAnchorA
 The first ground anchor in world coordinates. This point never moves.
 
-b2Vec2 groundAnchorB
 The second ground anchor in world coordinates. This point never moves.
 
-b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
-b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
-float lengthA
 The a reference length for the segment attached to bodyA.
 
-float lengthB
 The a reference length for the segment attached to bodyB.
 
-float ratio
 The pulley ratio, used to simulate a block-and-tackle.
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Pulley joint definition. This requires two ground anchors, two dynamic body anchor points, and a pulley ratio.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_pulley_joint_def.js b/documentation/structb2_pulley_joint_def.js deleted file mode 100644 index 8ac965a..0000000 --- a/documentation/structb2_pulley_joint_def.js +++ /dev/null @@ -1,12 +0,0 @@ -var structb2_pulley_joint_def = -[ - [ "b2PulleyJointDef", "structb2_pulley_joint_def.html#ab006bb8b7ea6bea6e0fd8cbaaacb33b0", null ], - [ "Initialize", "structb2_pulley_joint_def.html#ae2dae1dd8369da56efd96226a0fb99a2", null ], - [ "groundAnchorA", "structb2_pulley_joint_def.html#aae77c020ce4629ab9e03560e28aa853d", null ], - [ "groundAnchorB", "structb2_pulley_joint_def.html#aa412b9f3bffd1fb69ace14f9b3e03b82", null ], - [ "lengthA", "structb2_pulley_joint_def.html#a2b6b3838cfacf564fffafab3e83d1320", null ], - [ "lengthB", "structb2_pulley_joint_def.html#a2ec809343365486cd04bea67b12c4b74", null ], - [ "localAnchorA", "structb2_pulley_joint_def.html#ad7677a4ad02a6e7cb8699fc5012eac3e", null ], - [ "localAnchorB", "structb2_pulley_joint_def.html#aed3f9c9f5f4145ceb32e7e164de73144", null ], - [ "ratio", "structb2_pulley_joint_def.html#a173782e8ef86e9e4b4c53b60f5b1b4d9", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_pulley_joint_def.png b/documentation/structb2_pulley_joint_def.png deleted file mode 100644 index 681e731..0000000 Binary files a/documentation/structb2_pulley_joint_def.png and /dev/null differ diff --git a/documentation/structb2_ray_cast_input-members.html b/documentation/structb2_ray_cast_input-members.html deleted file mode 100644 index 3c8d437..0000000 --- a/documentation/structb2_ray_cast_input-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2RayCastInput Member List
-
-
- -

This is the complete list of members for b2RayCastInput, including all inherited members.

- - - - -
maxFraction (defined in b2RayCastInput)b2RayCastInput
p1 (defined in b2RayCastInput)b2RayCastInput
p2 (defined in b2RayCastInput)b2RayCastInput
-
- - - - diff --git a/documentation/structb2_ray_cast_input.html b/documentation/structb2_ray_cast_input.html deleted file mode 100644 index 84f9c7d..0000000 --- a/documentation/structb2_ray_cast_input.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Box2D: b2RayCastInput Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RayCastInput Struct Reference
-
-
- -

Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1). - More...

- -

#include <b2_collision.h>

- - - - - - - - -

-Public Attributes

-b2Vec2 p1
 
-b2Vec2 p2
 
-float maxFraction
 
-

Detailed Description

-

Ray-cast input data. The ray extends from p1 to p1 + maxFraction * (p2 - p1).

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_ray_cast_input.js b/documentation/structb2_ray_cast_input.js deleted file mode 100644 index cd1fe42..0000000 --- a/documentation/structb2_ray_cast_input.js +++ /dev/null @@ -1,6 +0,0 @@ -var structb2_ray_cast_input = -[ - [ "maxFraction", "structb2_ray_cast_input.html#ae845282b02a2a8cd5c8187f8ca719627", null ], - [ "p1", "structb2_ray_cast_input.html#a7254a7062422833b1124fa464ab4caf3", null ], - [ "p2", "structb2_ray_cast_input.html#a850102c843469781a3a627c871043d0b", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_ray_cast_output-members.html b/documentation/structb2_ray_cast_output-members.html deleted file mode 100644 index 6dfc464..0000000 --- a/documentation/structb2_ray_cast_output-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2RayCastOutput Member List
-
-
- -

This is the complete list of members for b2RayCastOutput, including all inherited members.

- - - -
fraction (defined in b2RayCastOutput)b2RayCastOutput
normal (defined in b2RayCastOutput)b2RayCastOutput
-
- - - - diff --git a/documentation/structb2_ray_cast_output.html b/documentation/structb2_ray_cast_output.html deleted file mode 100644 index 682d283..0000000 --- a/documentation/structb2_ray_cast_output.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - -Box2D: b2RayCastOutput Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RayCastOutput Struct Reference
-
-
- -

#include <b2_collision.h>

- - - - - - -

-Public Attributes

-b2Vec2 normal
 
-float fraction
 
-

Detailed Description

-

Ray-cast output data. The ray hits at p1 + fraction * (p2 - p1), where p1 and p2 come from b2RayCastInput.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_ray_cast_output.js b/documentation/structb2_ray_cast_output.js deleted file mode 100644 index 40955ce..0000000 --- a/documentation/structb2_ray_cast_output.js +++ /dev/null @@ -1,5 +0,0 @@ -var structb2_ray_cast_output = -[ - [ "fraction", "structb2_ray_cast_output.html#a7d89f293c3c618f36005955ceacc60fa", null ], - [ "normal", "structb2_ray_cast_output.html#aa9bbfe75afa23c21e85cb1bd3736529b", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_revolute_joint_def-members.html b/documentation/structb2_revolute_joint_def-members.html deleted file mode 100644 index 224a26e..0000000 --- a/documentation/structb2_revolute_joint_def-members.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- - - - - - diff --git a/documentation/structb2_revolute_joint_def.html b/documentation/structb2_revolute_joint_def.html deleted file mode 100644 index 7a39296..0000000 --- a/documentation/structb2_revolute_joint_def.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - -Box2D: b2RevoluteJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RevoluteJointDef Struct Reference
-
-
- -

#include <b2_revolute_joint.h>

-
-Inheritance diagram for b2RevoluteJointDef:
-
-
- - -b2JointDef - -
- - - - -

-Public Member Functions

void Initialize (b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
-b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
-float referenceAngle
 The bodyB angle minus bodyA angle in the reference state (radians).
 
-bool enableLimit
 A flag to enable joint limits.
 
-float lowerAngle
 The lower angle for the joint limit (radians).
 
-float upperAngle
 The upper angle for the joint limit (radians).
 
-bool enableMotor
 A flag to enable the joint motor.
 
-float motorSpeed
 The desired motor speed. Usually in radians per second.
 
float maxMotorTorque
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Revolute joint definition. This requires defining an anchor point where the bodies are joined. The definition uses local anchor points so that the initial configuration can violate the constraint slightly. You also need to specify the initial relative angle for joint limits. This helps when saving and loading a game. The local anchor points are measured from the body's origin rather than the center of mass because:

    -
  1. you might not know where the center of mass will be.
  2. -
  3. if you add/remove shapes from a body and recompute the mass, the joints will be broken.
  4. -
-

Member Function Documentation

- -

◆ Initialize()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2RevoluteJointDef::Initialize (b2BodybodyA,
b2BodybodyB,
const b2Vec2anchor 
)
-
-

Initialize the bodies, anchors, and reference angle using a world anchor point.

- -
-
-

Member Data Documentation

- -

◆ maxMotorTorque

- -
-
- - - - -
float b2RevoluteJointDef::maxMotorTorque
-
-

The maximum motor torque used to achieve the desired motor speed. Usually in N-m.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_revolute_joint_def.js b/documentation/structb2_revolute_joint_def.js deleted file mode 100644 index 6cd01cf..0000000 --- a/documentation/structb2_revolute_joint_def.js +++ /dev/null @@ -1,14 +0,0 @@ -var structb2_revolute_joint_def = -[ - [ "b2RevoluteJointDef", "structb2_revolute_joint_def.html#a20296c13c3102d03eb8787e463ff63d1", null ], - [ "Initialize", "structb2_revolute_joint_def.html#a6401b2a663533415d032a525e4fa2806", null ], - [ "enableLimit", "structb2_revolute_joint_def.html#a2eaefc5fc5caf879cfd59ebcd852b756", null ], - [ "enableMotor", "structb2_revolute_joint_def.html#aa94d9e66be9f03818d0cfbd9c70b2996", null ], - [ "localAnchorA", "structb2_revolute_joint_def.html#a76337d07aa63232a7b20d50decc862ae", null ], - [ "localAnchorB", "structb2_revolute_joint_def.html#a3f33bc1d9f6c22043a5ff2f1d89f04e0", null ], - [ "lowerAngle", "structb2_revolute_joint_def.html#a27e17792157fff2aedcabb4b98d96f24", null ], - [ "maxMotorTorque", "structb2_revolute_joint_def.html#af059ed0a6290622637814d5003739082", null ], - [ "motorSpeed", "structb2_revolute_joint_def.html#a2ef3e7869ceacdf7212cf813fcc18074", null ], - [ "referenceAngle", "structb2_revolute_joint_def.html#a7d70409545eecd92b84b3d55724019e1", null ], - [ "upperAngle", "structb2_revolute_joint_def.html#a59d3a65db0f9ddde1416afa1f9b635a2", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_revolute_joint_def.png b/documentation/structb2_revolute_joint_def.png deleted file mode 100644 index 5b945fe..0000000 Binary files a/documentation/structb2_revolute_joint_def.png and /dev/null differ diff --git a/documentation/structb2_rope_def-members.html b/documentation/structb2_rope_def-members.html deleted file mode 100644 index 423c4a7..0000000 --- a/documentation/structb2_rope_def-members.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2RopeDef Member List
-
-
- -

This is the complete list of members for b2RopeDef, including all inherited members.

- - - - - - - - -
b2RopeDef() (defined in b2RopeDef)b2RopeDefinline
count (defined in b2RopeDef)b2RopeDef
gravity (defined in b2RopeDef)b2RopeDef
masses (defined in b2RopeDef)b2RopeDef
position (defined in b2RopeDef)b2RopeDef
tuning (defined in b2RopeDef)b2RopeDef
vertices (defined in b2RopeDef)b2RopeDef
-
- - - - diff --git a/documentation/structb2_rope_def.html b/documentation/structb2_rope_def.html deleted file mode 100644 index 1f67cdb..0000000 --- a/documentation/structb2_rope_def.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - -Box2D: b2RopeDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RopeDef Struct Reference
-
-
- - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 position
 
-b2Vec2vertices
 
-int32 count
 
-float * masses
 
-b2Vec2 gravity
 
-b2RopeTuning tuning
 
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_rope_def.js b/documentation/structb2_rope_def.js deleted file mode 100644 index 52f9907..0000000 --- a/documentation/structb2_rope_def.js +++ /dev/null @@ -1,10 +0,0 @@ -var structb2_rope_def = -[ - [ "b2RopeDef", "structb2_rope_def.html#a180ccb1c45c5e979e08ce6d0484638fd", null ], - [ "count", "structb2_rope_def.html#a0c75d4289a807e31f32dc43a2276671f", null ], - [ "gravity", "structb2_rope_def.html#a90d98969150047662ce835ec1670fb32", null ], - [ "masses", "structb2_rope_def.html#a3b14fdb5c9fa565fc6a817212a35b4e2", null ], - [ "position", "structb2_rope_def.html#af9f6c80648c5678383137a1b38061f8b", null ], - [ "tuning", "structb2_rope_def.html#a76749fd9067a03af7a475eca07b710b3", null ], - [ "vertices", "structb2_rope_def.html#ae18ad98b9796c505ae62ce58fa2f7051", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_rope_joint_def-members.html b/documentation/structb2_rope_joint_def-members.html deleted file mode 100644 index 6c1ce7b..0000000 --- a/documentation/structb2_rope_joint_def-members.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.0 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2RopeJointDef Member List
-
-
- -

This is the complete list of members for b2RopeJointDef, including all inherited members.

- - - - - - - - - - - -
b2JointDef() (defined in b2JointDef)b2JointDefinline
b2RopeJointDef() (defined in b2RopeJointDef)b2RopeJointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
localAnchorAb2RopeJointDef
localAnchorBb2RopeJointDef
maxLengthb2RopeJointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_rope_joint_def.html b/documentation/structb2_rope_joint_def.html deleted file mode 100644 index af43a1d..0000000 --- a/documentation/structb2_rope_joint_def.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - - - - -Box2D: b2RopeJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.0 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RopeJointDef Struct Reference
-
-
- -

#include <b2_rope_joint.h>

-
-Inheritance diagram for b2RopeJointDef:
-
-
- - -b2JointDef - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
-b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
float maxLength
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-void * userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Rope joint definition. This requires two body anchor points and a maximum lengths. Note: by default the connected objects will not collide. see collideConnected in b2JointDef.

-

Member Data Documentation

- -

◆ maxLength

- -
-
- - - - -
float b2RopeJointDef::maxLength
-
-

The maximum length of the rope. Warning: this must be larger than b2_linearSlop or the joint will have no effect.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_rope_joint_def.js b/documentation/structb2_rope_joint_def.js deleted file mode 100644 index f67f2e1..0000000 --- a/documentation/structb2_rope_joint_def.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_rope_joint_def = -[ - [ "b2RopeJointDef", "structb2_rope_joint_def.html#abb2efd3b2edbd4df73dbbc32a2f01f92", null ], - [ "localAnchorA", "structb2_rope_joint_def.html#ab680fcc3cd44741a7a824ddff86ff01e", null ], - [ "localAnchorB", "structb2_rope_joint_def.html#a3271da0e4027e25546aa6a81e8fbe4e2", null ], - [ "maxLength", "structb2_rope_joint_def.html#aa4b72cff0a666276fafcf4c94e44dd4e", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_rope_joint_def.png b/documentation/structb2_rope_joint_def.png deleted file mode 100644 index 1b3a235..0000000 Binary files a/documentation/structb2_rope_joint_def.png and /dev/null differ diff --git a/documentation/structb2_rope_tuning-members.html b/documentation/structb2_rope_tuning-members.html deleted file mode 100644 index aeece23..0000000 --- a/documentation/structb2_rope_tuning-members.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2RopeTuning Member List
-
-
- -

This is the complete list of members for b2RopeTuning, including all inherited members.

- - - - - - - - - - - - - - -
b2RopeTuning() (defined in b2RopeTuning)b2RopeTuninginline
bendDamping (defined in b2RopeTuning)b2RopeTuning
bendHertz (defined in b2RopeTuning)b2RopeTuning
bendingModel (defined in b2RopeTuning)b2RopeTuning
bendStiffness (defined in b2RopeTuning)b2RopeTuning
damping (defined in b2RopeTuning)b2RopeTuning
fixedEffectiveMass (defined in b2RopeTuning)b2RopeTuning
isometric (defined in b2RopeTuning)b2RopeTuning
stretchDamping (defined in b2RopeTuning)b2RopeTuning
stretchHertz (defined in b2RopeTuning)b2RopeTuning
stretchingModel (defined in b2RopeTuning)b2RopeTuning
stretchStiffness (defined in b2RopeTuning)b2RopeTuning
warmStart (defined in b2RopeTuning)b2RopeTuning
-
- - - - diff --git a/documentation/structb2_rope_tuning.html b/documentation/structb2_rope_tuning.html deleted file mode 100644 index 01e9ad0..0000000 --- a/documentation/structb2_rope_tuning.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - - -Box2D: b2RopeTuning Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2RopeTuning Struct Reference
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2StretchingModel stretchingModel
 
-b2BendingModel bendingModel
 
-float damping
 
-float stretchStiffness
 
-float stretchHertz
 
-float stretchDamping
 
-float bendStiffness
 
-float bendHertz
 
-float bendDamping
 
-bool isometric
 
-bool fixedEffectiveMass
 
-bool warmStart
 
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_rope_tuning.js b/documentation/structb2_rope_tuning.js deleted file mode 100644 index a661743..0000000 --- a/documentation/structb2_rope_tuning.js +++ /dev/null @@ -1,16 +0,0 @@ -var structb2_rope_tuning = -[ - [ "b2RopeTuning", "structb2_rope_tuning.html#af027abf245a89b456ec8823d5e4a0f49", null ], - [ "bendDamping", "structb2_rope_tuning.html#ae2ce4a37e471174882da15b771339fb8", null ], - [ "bendHertz", "structb2_rope_tuning.html#aedf0982d715ad0a7b54eecca3a685b36", null ], - [ "bendingModel", "structb2_rope_tuning.html#ab2cce3e543adf1c539c27391e33a91f4", null ], - [ "bendStiffness", "structb2_rope_tuning.html#a436710445402bdef2636e571104927b3", null ], - [ "damping", "structb2_rope_tuning.html#acf03028dd7a64644a817a3fc885be584", null ], - [ "fixedEffectiveMass", "structb2_rope_tuning.html#a3809a5967f1f684dbd8f9e37610f3c3e", null ], - [ "isometric", "structb2_rope_tuning.html#a367cef87611572ed56c2a5f036877588", null ], - [ "stretchDamping", "structb2_rope_tuning.html#a5116eea155bd005537a17bc3852c2ceb", null ], - [ "stretchHertz", "structb2_rope_tuning.html#aba3f9d247339684608ec0b9ab2413dc5", null ], - [ "stretchingModel", "structb2_rope_tuning.html#a74a341f139b19aeec78c856e44e8f6b1", null ], - [ "stretchStiffness", "structb2_rope_tuning.html#ab7444b8ef6be5286ac7a34552dded1fa", null ], - [ "warmStart", "structb2_rope_tuning.html#a9670c23a46a43b81353ec7aa5aac8fc0", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_rot-members.html b/documentation/structb2_rot-members.html deleted file mode 100644 index e27a33d..0000000 --- a/documentation/structb2_rot-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Rot Member List
-
-
- -

This is the complete list of members for b2Rot, including all inherited members.

- - - - - - - - - - -
b2Rot() (defined in b2Rot)b2Rotinline
b2Rot(float angle)b2Rotinlineexplicit
c (defined in b2Rot)b2Rot
GetAngle() constb2Rotinline
GetXAxis() constb2Rotinline
GetYAxis() constb2Rotinline
sb2Rot
Set(float angle)b2Rotinline
SetIdentity()b2Rotinline
-
- - - - diff --git a/documentation/structb2_rot.html b/documentation/structb2_rot.html deleted file mode 100644 index ead27ca..0000000 --- a/documentation/structb2_rot.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - - -Box2D: b2Rot Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Rot Struct Reference
-
-
- -

Rotation. - More...

- -

#include <b2_math.h>

- - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 b2Rot (float angle)
 Initialize from an angle in radians. More...
 
void Set (float angle)
 Set using an angle in radians. More...
 
-void SetIdentity ()
 Set to the identity rotation.
 
-float GetAngle () const
 Get the angle in radians.
 
-b2Vec2 GetXAxis () const
 Get the x-axis.
 
-b2Vec2 GetYAxis () const
 Get the u-axis.
 
- - - - - - -

-Public Attributes

-float s
 Sine and cosine.
 
-float c
 
-

Detailed Description

-

Rotation.

-

Constructor & Destructor Documentation

- -

◆ b2Rot()

- -
-
- - - - - -
- - - - - - - - -
b2Rot::b2Rot (float angle)
-
-inlineexplicit
-
- -

Initialize from an angle in radians.

-

TODO_ERIN optimize

- -
-
-

Member Function Documentation

- -

◆ Set()

- -
-
- - - - - -
- - - - - - - - -
void b2Rot::Set (float angle)
-
-inline
-
- -

Set using an angle in radians.

-

TODO_ERIN optimize

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_rot.js b/documentation/structb2_rot.js deleted file mode 100644 index 5f4532d..0000000 --- a/documentation/structb2_rot.js +++ /dev/null @@ -1,12 +0,0 @@ -var structb2_rot = -[ - [ "b2Rot", "structb2_rot.html#a8cabd61f7e293b67748640fa5aa19841", null ], - [ "b2Rot", "structb2_rot.html#aaebeb46656eb895a9c376c54579cecfb", null ], - [ "GetAngle", "structb2_rot.html#a7db29fc002fc40827446bd2608d38f3a", null ], - [ "GetXAxis", "structb2_rot.html#a952a5555c1f68ce3e39ac992fcf4eba9", null ], - [ "GetYAxis", "structb2_rot.html#ab057c4e9dc821099949391a6ded36dd6", null ], - [ "Set", "structb2_rot.html#a16a35e0f8e38c2855d528ca0ae044bf3", null ], - [ "SetIdentity", "structb2_rot.html#a7f534cb7ece8d325662d7d0e27d4f617", null ], - [ "c", "structb2_rot.html#a0f889d93df2c1b57415c148943fc8d41", null ], - [ "s", "structb2_rot.html#a481158564d4e66b742b591cd68575dda", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_shape_cast_input-members.html b/documentation/structb2_shape_cast_input-members.html deleted file mode 100644 index 0a4e1d6..0000000 --- a/documentation/structb2_shape_cast_input-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ShapeCastInput Member List
-
-
- -

This is the complete list of members for b2ShapeCastInput, including all inherited members.

- - - - - - -
proxyA (defined in b2ShapeCastInput)b2ShapeCastInput
proxyB (defined in b2ShapeCastInput)b2ShapeCastInput
transformA (defined in b2ShapeCastInput)b2ShapeCastInput
transformB (defined in b2ShapeCastInput)b2ShapeCastInput
translationB (defined in b2ShapeCastInput)b2ShapeCastInput
-
- - - - diff --git a/documentation/structb2_shape_cast_input.html b/documentation/structb2_shape_cast_input.html deleted file mode 100644 index 1dd3a8e..0000000 --- a/documentation/structb2_shape_cast_input.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Box2D: b2ShapeCastInput Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ShapeCastInput Struct Reference
-
-
- -

Input parameters for b2ShapeCast. - More...

- -

#include <b2_distance.h>

- - - - - - - - - - - - -

-Public Attributes

-b2DistanceProxy proxyA
 
-b2DistanceProxy proxyB
 
-b2Transform transformA
 
-b2Transform transformB
 
-b2Vec2 translationB
 
-

Detailed Description

-

Input parameters for b2ShapeCast.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_shape_cast_input.js b/documentation/structb2_shape_cast_input.js deleted file mode 100644 index 069f526..0000000 --- a/documentation/structb2_shape_cast_input.js +++ /dev/null @@ -1,8 +0,0 @@ -var structb2_shape_cast_input = -[ - [ "proxyA", "structb2_shape_cast_input.html#a36d39b94a45503d3d6e71798346ea8d4", null ], - [ "proxyB", "structb2_shape_cast_input.html#a6e9bb5155a3484d722db155593878ecb", null ], - [ "transformA", "structb2_shape_cast_input.html#acc829c2d81e7b7363f8c3b4daa433db1", null ], - [ "transformB", "structb2_shape_cast_input.html#a817359ad6acc1931a7e657605d593c51", null ], - [ "translationB", "structb2_shape_cast_input.html#ab3d7478f4c4028bb919fda87fd08a9a8", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_shape_cast_output-members.html b/documentation/structb2_shape_cast_output-members.html deleted file mode 100644 index 39e6150..0000000 --- a/documentation/structb2_shape_cast_output-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ShapeCastOutput Member List
-
-
- -

This is the complete list of members for b2ShapeCastOutput, including all inherited members.

- - - - - -
iterations (defined in b2ShapeCastOutput)b2ShapeCastOutput
lambda (defined in b2ShapeCastOutput)b2ShapeCastOutput
normal (defined in b2ShapeCastOutput)b2ShapeCastOutput
point (defined in b2ShapeCastOutput)b2ShapeCastOutput
-
- - - - diff --git a/documentation/structb2_shape_cast_output.html b/documentation/structb2_shape_cast_output.html deleted file mode 100644 index 74d06ac..0000000 --- a/documentation/structb2_shape_cast_output.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Box2D: b2ShapeCastOutput Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ShapeCastOutput Struct Reference
-
-
- -

Output results for b2ShapeCast. - More...

- -

#include <b2_distance.h>

- - - - - - - - - - -

-Public Attributes

-b2Vec2 point
 
-b2Vec2 normal
 
-float lambda
 
-int32 iterations
 
-

Detailed Description

-

Output results for b2ShapeCast.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_shape_cast_output.js b/documentation/structb2_shape_cast_output.js deleted file mode 100644 index d49a408..0000000 --- a/documentation/structb2_shape_cast_output.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_shape_cast_output = -[ - [ "iterations", "structb2_shape_cast_output.html#a06ee8768ab225444be7b7c43a38d7924", null ], - [ "lambda", "structb2_shape_cast_output.html#aba784a19f9e73fb8abf38c75f13fc48e", null ], - [ "normal", "structb2_shape_cast_output.html#aaf13d43e95b681103d125157a083be88", null ], - [ "point", "structb2_shape_cast_output.html#a5565d41ded672d5c70c5374408144434", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_simplex_cache-members.html b/documentation/structb2_simplex_cache-members.html deleted file mode 100644 index 6aea158..0000000 --- a/documentation/structb2_simplex_cache-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2SimplexCache Member List
-
-
- -

This is the complete list of members for b2SimplexCache, including all inherited members.

- - - - - -
count (defined in b2SimplexCache)b2SimplexCache
indexAb2SimplexCache
indexBb2SimplexCache
metricb2SimplexCache
-
- - - - diff --git a/documentation/structb2_simplex_cache.html b/documentation/structb2_simplex_cache.html deleted file mode 100644 index eaaece4..0000000 --- a/documentation/structb2_simplex_cache.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - -Box2D: b2SimplexCache Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2SimplexCache Struct Reference
-
-
- -

#include <b2_distance.h>

- - - - - - - - - - - - - -

-Public Attributes

-float metric
 length or area
 
-uint16 count
 
-uint8 indexA [3]
 vertices on shape A
 
-uint8 indexB [3]
 vertices on shape B
 
-

Detailed Description

-

Used to warm start b2Distance. Set count to zero on first call.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_simplex_cache.js b/documentation/structb2_simplex_cache.js deleted file mode 100644 index ef69148..0000000 --- a/documentation/structb2_simplex_cache.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_simplex_cache = -[ - [ "count", "structb2_simplex_cache.html#a5ef63839988cc06210ae76bcef96f56c", null ], - [ "indexA", "structb2_simplex_cache.html#ab574159e69dda7e14ead8de848ca6b67", null ], - [ "indexB", "structb2_simplex_cache.html#ab7586465ee2c5f7c3bdd8f80d5e256a7", null ], - [ "metric", "structb2_simplex_cache.html#a700adfcbce992d5efcadf62490f3100e", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_solver_data-members.html b/documentation/structb2_solver_data-members.html deleted file mode 100644 index 8e2c7ff..0000000 --- a/documentation/structb2_solver_data-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2SolverData Member List
-
-
- -

This is the complete list of members for b2SolverData, including all inherited members.

- - - - -
positions (defined in b2SolverData)b2SolverData
step (defined in b2SolverData)b2SolverData
velocities (defined in b2SolverData)b2SolverData
-
- - - - diff --git a/documentation/structb2_solver_data.html b/documentation/structb2_solver_data.html deleted file mode 100644 index aee9022..0000000 --- a/documentation/structb2_solver_data.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Box2D: b2SolverData Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2SolverData Struct Reference
-
-
- -

Solver Data. - More...

- -

#include <b2_time_step.h>

- - - - - - - - -

-Public Attributes

-b2TimeStep step
 
-b2Positionpositions
 
-b2Velocityvelocities
 
-

Detailed Description

-

Solver Data.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_solver_data.js b/documentation/structb2_solver_data.js deleted file mode 100644 index 3019863..0000000 --- a/documentation/structb2_solver_data.js +++ /dev/null @@ -1,6 +0,0 @@ -var structb2_solver_data = -[ - [ "positions", "structb2_solver_data.html#a5eb6ee68b42d96164579a4a0df8be04b", null ], - [ "step", "structb2_solver_data.html#a99998296de1b4f128c396def56392eea", null ], - [ "velocities", "structb2_solver_data.html#a1072627a3e962a8bc7088657a512191c", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_stack_entry-members.html b/documentation/structb2_stack_entry-members.html deleted file mode 100644 index f3d5343..0000000 --- a/documentation/structb2_stack_entry-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2StackEntry Member List
-
-
- -

This is the complete list of members for b2StackEntry, including all inherited members.

- - - - -
data (defined in b2StackEntry)b2StackEntry
size (defined in b2StackEntry)b2StackEntry
usedMalloc (defined in b2StackEntry)b2StackEntry
-
- - - - diff --git a/documentation/structb2_stack_entry.html b/documentation/structb2_stack_entry.html deleted file mode 100644 index 8f683ba..0000000 --- a/documentation/structb2_stack_entry.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Box2D: b2StackEntry Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2StackEntry Struct Reference
-
-
- - - - - - - - -

-Public Attributes

-char * data
 
-int32 size
 
-bool usedMalloc
 
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_stack_entry.js b/documentation/structb2_stack_entry.js deleted file mode 100644 index 89033e8..0000000 --- a/documentation/structb2_stack_entry.js +++ /dev/null @@ -1,6 +0,0 @@ -var structb2_stack_entry = -[ - [ "data", "structb2_stack_entry.html#af98aedeec2c20af0b7d3508a687ddd86", null ], - [ "size", "structb2_stack_entry.html#a910c62f05317f8906224b2569e0cb344", null ], - [ "usedMalloc", "structb2_stack_entry.html#a581b5e4699bb66a28ec0727497a4e478", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_sweep-members.html b/documentation/structb2_sweep-members.html deleted file mode 100644 index 0171e4c..0000000 --- a/documentation/structb2_sweep-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Sweep Member List
-
-
- -

This is the complete list of members for b2Sweep, including all inherited members.

- - - - - - - - - - -
ab2Sweep
a0 (defined in b2Sweep)b2Sweep
Advance(float alpha)b2Sweepinline
alpha0b2Sweep
cb2Sweep
c0 (defined in b2Sweep)b2Sweep
GetTransform(b2Transform *transform, float beta) constb2Sweepinline
localCenterb2Sweep
Normalize()b2Sweepinline
-
- - - - diff --git a/documentation/structb2_sweep.html b/documentation/structb2_sweep.html deleted file mode 100644 index ccb2da6..0000000 --- a/documentation/structb2_sweep.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - -Box2D: b2Sweep Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Sweep Struct Reference
-
-
- -

#include <b2_math.h>

- - - - - - - - - -

-Public Member Functions

void GetTransform (b2Transform *transform, float beta) const
 
void Advance (float alpha)
 
void Normalize ()
 Normalize the angles. More...
 
- - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localCenter
 local center of mass position
 
-b2Vec2 c0
 
-b2Vec2 c
 center world positions
 
-float a0
 
-float a
 world angles
 
float alpha0
 
-

Detailed Description

-

This describes the motion of a body/shape for TOI computation. Shapes are defined with respect to the body origin, which may no coincide with the center of mass. However, to support dynamics we must interpolate the center of mass position.

-

Member Function Documentation

- -

◆ Advance()

- -
-
- - - - - -
- - - - - - - - -
void b2Sweep::Advance (float alpha)
-
-inline
-
-

Advance the sweep forward, yielding a new initial state.

Parameters
- - -
alphathe new initial time.
-
-
- -
-
- -

◆ GetTransform()

- -
-
- - - - - -
- - - - - - - - - - - - - - - - - - -
void b2Sweep::GetTransform (b2Transformtransform,
float beta 
) const
-
-inline
-
-

Get the interpolated transform at a specific time.

Parameters
- - - -
transformthe output transform
betais a factor in [0,1], where 0 indicates alpha0.
-
-
- -
-
- -

◆ Normalize()

- -
-
- - - - - -
- - - - - - - -
void b2Sweep::Normalize ()
-
-inline
-
- -

Normalize the angles.

-

Normalize an angle in radians to be between -pi and pi.

- -
-
-

Member Data Documentation

- -

◆ alpha0

- -
-
- - - - -
float b2Sweep::alpha0
-
-

Fraction of the current time step in the range [0,1] c0 and a0 are the positions at alpha0.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_sweep.js b/documentation/structb2_sweep.js deleted file mode 100644 index c435c1a..0000000 --- a/documentation/structb2_sweep.js +++ /dev/null @@ -1,12 +0,0 @@ -var structb2_sweep = -[ - [ "Advance", "structb2_sweep.html#a4252f7b2f4c5fe4c6fb9c611704c6298", null ], - [ "GetTransform", "structb2_sweep.html#ac3d40511e86ab6dba3fc6c2fc872a363", null ], - [ "Normalize", "structb2_sweep.html#ad66a3086bc7656df9cf7454013a2f61b", null ], - [ "a", "structb2_sweep.html#abe0aef7b6e9abcf39757c613a37173fc", null ], - [ "a0", "structb2_sweep.html#aa25e4a38f95ead2bf40f8e229872ead3", null ], - [ "alpha0", "structb2_sweep.html#af284c234d58bd026efd63254700accae", null ], - [ "c", "structb2_sweep.html#a1b5402e01b92cc82473389fc6f0375c3", null ], - [ "c0", "structb2_sweep.html#a16dacd7188f3c7b2adef3242012587d8", null ], - [ "localCenter", "structb2_sweep.html#a4bcc302cf78771896d6256fc53f2f8be", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_t_o_i_input-members.html b/documentation/structb2_t_o_i_input-members.html deleted file mode 100644 index 9a95617..0000000 --- a/documentation/structb2_t_o_i_input-members.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2TOIInput Member List
-
-
- -

This is the complete list of members for b2TOIInput, including all inherited members.

- - - - - - -
proxyA (defined in b2TOIInput)b2TOIInput
proxyB (defined in b2TOIInput)b2TOIInput
sweepA (defined in b2TOIInput)b2TOIInput
sweepB (defined in b2TOIInput)b2TOIInput
tMax (defined in b2TOIInput)b2TOIInput
-
- - - - diff --git a/documentation/structb2_t_o_i_input.html b/documentation/structb2_t_o_i_input.html deleted file mode 100644 index 65d7c0d..0000000 --- a/documentation/structb2_t_o_i_input.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - -Box2D: b2TOIInput Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2TOIInput Struct Reference
-
-
- -

Input parameters for b2TimeOfImpact. - More...

- -

#include <b2_time_of_impact.h>

- - - - - - - - - - - - -

-Public Attributes

-b2DistanceProxy proxyA
 
-b2DistanceProxy proxyB
 
-b2Sweep sweepA
 
-b2Sweep sweepB
 
-float tMax
 
-

Detailed Description

-

Input parameters for b2TimeOfImpact.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_t_o_i_input.js b/documentation/structb2_t_o_i_input.js deleted file mode 100644 index eb3f285..0000000 --- a/documentation/structb2_t_o_i_input.js +++ /dev/null @@ -1,8 +0,0 @@ -var structb2_t_o_i_input = -[ - [ "proxyA", "structb2_t_o_i_input.html#a5c5fb931435d92ac2d2080552400cd57", null ], - [ "proxyB", "structb2_t_o_i_input.html#a7f4e614d1c574006402e9610c984a93f", null ], - [ "sweepA", "structb2_t_o_i_input.html#adf63a4b9969aa839c2d520bf6d76148a", null ], - [ "sweepB", "structb2_t_o_i_input.html#af506b6adc7eca852f08460ec76c7b9a7", null ], - [ "tMax", "structb2_t_o_i_input.html#a9471e4b475a1bbf0dcf1ebec6b67cbd4", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_t_o_i_output-members.html b/documentation/structb2_t_o_i_output-members.html deleted file mode 100644 index f24ac9e..0000000 --- a/documentation/structb2_t_o_i_output-members.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2TOIOutput Member List
-
-
- -

This is the complete list of members for b2TOIOutput, including all inherited members.

- - - - - - - - - -
e_failed enum value (defined in b2TOIOutput)b2TOIOutput
e_overlapped enum value (defined in b2TOIOutput)b2TOIOutput
e_separated enum value (defined in b2TOIOutput)b2TOIOutput
e_touching enum value (defined in b2TOIOutput)b2TOIOutput
e_unknown enum value (defined in b2TOIOutput)b2TOIOutput
state (defined in b2TOIOutput)b2TOIOutput
State enum name (defined in b2TOIOutput)b2TOIOutput
t (defined in b2TOIOutput)b2TOIOutput
-
- - - - diff --git a/documentation/structb2_t_o_i_output.html b/documentation/structb2_t_o_i_output.html deleted file mode 100644 index 3e6d3f5..0000000 --- a/documentation/structb2_t_o_i_output.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - - - -Box2D: b2TOIOutput Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2TOIOutput Struct Reference
-
-
- -

Output parameters for b2TimeOfImpact. - More...

- -

#include <b2_time_of_impact.h>

- - - - -

-Public Types

enum  State {
-  e_unknown, -e_failed, -e_overlapped, -e_touching, -
-  e_separated -
- }
 
- - - - - -

-Public Attributes

-State state
 
-float t
 
-

Detailed Description

-

Output parameters for b2TimeOfImpact.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_t_o_i_output.js b/documentation/structb2_t_o_i_output.js deleted file mode 100644 index ec4ff2a..0000000 --- a/documentation/structb2_t_o_i_output.js +++ /dev/null @@ -1,12 +0,0 @@ -var structb2_t_o_i_output = -[ - [ "State", "structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959a", [ - [ "e_unknown", "structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aab73a45bbab8c3b7d82a6b43ec66ff3c5", null ], - [ "e_failed", "structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aac25604b5e961c2f50353d0c5114b0f2f", null ], - [ "e_overlapped", "structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aa305f55a9143e09cf416f6a994c786c84", null ], - [ "e_touching", "structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aa4d4178a0a0f89410d1b6b3a49f0c08d9", null ], - [ "e_separated", "structb2_t_o_i_output.html#a12c3cf4dc0551f5c8249dc1dd867959aad8752c7cabc15b4522bd97e99acf66d1", null ] - ] ], - [ "state", "structb2_t_o_i_output.html#aaacbf28f437b965ffecabf1407a77915", null ], - [ "t", "structb2_t_o_i_output.html#a1861be19f1e72c6f8103061ae7901488", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_time_step-members.html b/documentation/structb2_time_step-members.html deleted file mode 100644 index 3067a68..0000000 --- a/documentation/structb2_time_step-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2TimeStep Member List
-
-
- -

This is the complete list of members for b2TimeStep, including all inherited members.

- - - - - - - -
dt (defined in b2TimeStep)b2TimeStep
dtRatio (defined in b2TimeStep)b2TimeStep
inv_dt (defined in b2TimeStep)b2TimeStep
positionIterations (defined in b2TimeStep)b2TimeStep
velocityIterations (defined in b2TimeStep)b2TimeStep
warmStarting (defined in b2TimeStep)b2TimeStep
-
- - - - diff --git a/documentation/structb2_time_step.html b/documentation/structb2_time_step.html deleted file mode 100644 index 7d49214..0000000 --- a/documentation/structb2_time_step.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - -Box2D: b2TimeStep Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2TimeStep Struct Reference
-
-
- -

This is an internal structure. - More...

- -

#include <b2_time_step.h>

- - - - - - - - - - - - - - -

-Public Attributes

-float dt
 
-float inv_dt
 
-float dtRatio
 
-int32 velocityIterations
 
-int32 positionIterations
 
-bool warmStarting
 
-

Detailed Description

-

This is an internal structure.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_time_step.js b/documentation/structb2_time_step.js deleted file mode 100644 index b8a77c8..0000000 --- a/documentation/structb2_time_step.js +++ /dev/null @@ -1,9 +0,0 @@ -var structb2_time_step = -[ - [ "dt", "structb2_time_step.html#a36196cdfc71e726d7ed08ca73e2e62e4", null ], - [ "dtRatio", "structb2_time_step.html#a389cad0308d55b5f3e8b5d434b01e2d4", null ], - [ "inv_dt", "structb2_time_step.html#a9795ece2eb17e13c2dadff487dffe853", null ], - [ "positionIterations", "structb2_time_step.html#ab7938eec17a1a3d7961d8364e150f1be", null ], - [ "velocityIterations", "structb2_time_step.html#a9f2a0ccd8029681f254003b66f201ce1", null ], - [ "warmStarting", "structb2_time_step.html#add80f7f86c84f005ad817f0313df3f32", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_transform-members.html b/documentation/structb2_transform-members.html deleted file mode 100644 index 1dec896..0000000 --- a/documentation/structb2_transform-members.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Transform Member List
-
-
- -

This is the complete list of members for b2Transform, including all inherited members.

- - - - - - - -
b2Transform()b2Transforminline
b2Transform(const b2Vec2 &position, const b2Rot &rotation)b2Transforminline
p (defined in b2Transform)b2Transform
q (defined in b2Transform)b2Transform
Set(const b2Vec2 &position, float angle)b2Transforminline
SetIdentity()b2Transforminline
-
- - - - diff --git a/documentation/structb2_transform.html b/documentation/structb2_transform.html deleted file mode 100644 index d46da1a..0000000 --- a/documentation/structb2_transform.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - -Box2D: b2Transform Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Transform Struct Reference
-
-
- -

#include <b2_math.h>

- - - - - - - - - - - - - - -

-Public Member Functions

b2Transform ()
 The default constructor does nothing.
 
b2Transform (const b2Vec2 &position, const b2Rot &rotation)
 Initialize using a position vector and a rotation.
 
-void SetIdentity ()
 Set this to the identity transform.
 
-void Set (const b2Vec2 &position, float angle)
 Set this based on the position and angle.
 
- - - - - -

-Public Attributes

-b2Vec2 p
 
-b2Rot q
 
-

Detailed Description

-

A transform contains translation and rotation. It is used to represent the position and orientation of rigid frames.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_transform.js b/documentation/structb2_transform.js deleted file mode 100644 index f495bd4..0000000 --- a/documentation/structb2_transform.js +++ /dev/null @@ -1,9 +0,0 @@ -var structb2_transform = -[ - [ "b2Transform", "structb2_transform.html#a765a2e5c692a2e1d05c7a5441019373d", null ], - [ "b2Transform", "structb2_transform.html#a823e190e4810e35e8100f4414d0bef62", null ], - [ "Set", "structb2_transform.html#a79d07c5469f6ee6e2d99d80827b6038f", null ], - [ "SetIdentity", "structb2_transform.html#af92af4ec6833552b1b22a6ca6d4f5644", null ], - [ "p", "structb2_transform.html#a9eeeb643a016c29a4d389e480ba6c628", null ], - [ "q", "structb2_transform.html#ae4aaac23f32686e165138c4e5dc4ce85", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_tree_node-members.html b/documentation/structb2_tree_node-members.html deleted file mode 100644 index f456736..0000000 --- a/documentation/structb2_tree_node-members.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2TreeNode Member List
-
-
- -

This is the complete list of members for b2TreeNode, including all inherited members.

- - - - - - - - - - -
aabbb2TreeNode
child1 (defined in b2TreeNode)b2TreeNode
child2 (defined in b2TreeNode)b2TreeNode
height (defined in b2TreeNode)b2TreeNode
IsLeaf() const (defined in b2TreeNode)b2TreeNodeinline
moved (defined in b2TreeNode)b2TreeNode
next (defined in b2TreeNode)b2TreeNode
parent (defined in b2TreeNode)b2TreeNode
userData (defined in b2TreeNode)b2TreeNode
-
- - - - diff --git a/documentation/structb2_tree_node.html b/documentation/structb2_tree_node.html deleted file mode 100644 index 510e4b8..0000000 --- a/documentation/structb2_tree_node.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - -Box2D: b2TreeNode Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2TreeNode Struct Reference
-
-
- -

A node in the dynamic tree. The client does not interact with this directly. - More...

- -

#include <b2_dynamic_tree.h>

- - - - -

-Public Member Functions

-bool IsLeaf () const
 
- - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2AABB aabb
 Enlarged AABB.
 
-void * userData
 
-union {
-   int32   parent
 
-   int32   next
 
}; 
 
-int32 child1
 
-int32 child2
 
-int32 height
 
-bool moved
 
-

Detailed Description

-

A node in the dynamic tree. The client does not interact with this directly.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_tree_node.js b/documentation/structb2_tree_node.js deleted file mode 100644 index dae250c..0000000 --- a/documentation/structb2_tree_node.js +++ /dev/null @@ -1,12 +0,0 @@ -var structb2_tree_node = -[ - [ "IsLeaf", "structb2_tree_node.html#a540267ce6fa890822f1eea2d1967f646", null ], - [ "aabb", "structb2_tree_node.html#a798f1a594b33c713be45e76e79912239", null ], - [ "child1", "structb2_tree_node.html#a3a320f2afc7d223e92ee3629602be5ca", null ], - [ "child2", "structb2_tree_node.html#aa6774ce329715b20d8b7cc8b6e3d50bc", null ], - [ "height", "structb2_tree_node.html#acd183ac94a8d44195c787111be4c22e2", null ], - [ "moved", "structb2_tree_node.html#a5cef5935aeac831fcacd53e4d01e4027", null ], - [ "next", "structb2_tree_node.html#a67ac768e9227b165198d3d4e2299f9b3", null ], - [ "parent", "structb2_tree_node.html#a6d293fa25192db51808ebec05ee7e56e", null ], - [ "userData", "structb2_tree_node.html#aff77b3eb48326aca1b0762f5c45e56e7", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_vec2-members.html b/documentation/structb2_vec2-members.html deleted file mode 100644 index 1f51a9b..0000000 --- a/documentation/structb2_vec2-members.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Vec2 Member List
-
-
- -

This is the complete list of members for b2Vec2, including all inherited members.

- - - - - - - - - - - - - - - - - - -
b2Vec2()b2Vec2inline
b2Vec2(float xIn, float yIn)b2Vec2inline
IsValid() constb2Vec2inline
Length() constb2Vec2inline
LengthSquared() constb2Vec2inline
Normalize()b2Vec2inline
operator()(int32 i) constb2Vec2inline
operator()(int32 i)b2Vec2inline
operator*=(float a)b2Vec2inline
operator+=(const b2Vec2 &v)b2Vec2inline
operator-() constb2Vec2inline
operator-=(const b2Vec2 &v)b2Vec2inline
Set(float x_, float y_)b2Vec2inline
SetZero()b2Vec2inline
Skew() constb2Vec2inline
x (defined in b2Vec2)b2Vec2
y (defined in b2Vec2)b2Vec2
-
- - - - diff --git a/documentation/structb2_vec2.html b/documentation/structb2_vec2.html deleted file mode 100644 index be44705..0000000 --- a/documentation/structb2_vec2.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - -Box2D: b2Vec2 Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Vec2 Struct Reference
-
-
- -

A 2D column vector. - More...

- -

#include <b2_math.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

b2Vec2 ()
 Default constructor does nothing (for performance).
 
b2Vec2 (float xIn, float yIn)
 Construct using coordinates.
 
-void SetZero ()
 Set this vector to all zeros.
 
-void Set (float x_, float y_)
 Set this vector to some specified coordinates.
 
-b2Vec2 operator- () const
 Negate this vector.
 
-float operator() (int32 i) const
 Read from and indexed element.
 
-float & operator() (int32 i)
 Write to an indexed element.
 
-void operator+= (const b2Vec2 &v)
 Add a vector to this vector.
 
-void operator-= (const b2Vec2 &v)
 Subtract a vector from this vector.
 
-void operator*= (float a)
 Multiply this vector by a scalar.
 
-float Length () const
 Get the length of this vector (the norm).
 
float LengthSquared () const
 
-float Normalize ()
 Convert this vector into a unit vector. Returns the length.
 
-bool IsValid () const
 Does this vector contain finite coordinates?
 
-b2Vec2 Skew () const
 Get the skew vector such that dot(skew_vec, other) == cross(vec, other)
 
- - - - - -

-Public Attributes

-float x
 
-float y
 
-

Detailed Description

-

A 2D column vector.

-

Member Function Documentation

- -

◆ LengthSquared()

- -
-
- - - - - -
- - - - - - - -
float b2Vec2::LengthSquared () const
-
-inline
-
-

Get the length squared. For performance, use this instead of b2Vec2::Length (if possible).

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_vec2.js b/documentation/structb2_vec2.js deleted file mode 100644 index 9e5b925..0000000 --- a/documentation/structb2_vec2.js +++ /dev/null @@ -1,20 +0,0 @@ -var structb2_vec2 = -[ - [ "b2Vec2", "structb2_vec2.html#a9171b31deb83af96872f99689939a12f", null ], - [ "b2Vec2", "structb2_vec2.html#ab1e279a69f5c3e7e83c3a51e3b2339c0", null ], - [ "IsValid", "structb2_vec2.html#abad59bf9a0269f02cda9dc919592c0ee", null ], - [ "Length", "structb2_vec2.html#a84f3b0f645f5e6fc6e4a36772a506903", null ], - [ "LengthSquared", "structb2_vec2.html#adb7d6b9fdf5b0e5b74fd347ec0b98575", null ], - [ "Normalize", "structb2_vec2.html#ae0128c95454ebf5dfe152c5644f06d21", null ], - [ "operator()", "structb2_vec2.html#aedbd9f04609149375add7dea10759669", null ], - [ "operator()", "structb2_vec2.html#a6a45b081724bb89b6cfe3d21ee7d98b7", null ], - [ "operator*=", "structb2_vec2.html#a45b516a561fc43409194fc183c1feb68", null ], - [ "operator+=", "structb2_vec2.html#a590789342e22ac1e7f9c1a63a2778b6d", null ], - [ "operator-", "structb2_vec2.html#a6cb15514ea571b4ddf73b6829551a127", null ], - [ "operator-=", "structb2_vec2.html#a6b48cab4695a979ae40b7613aedc8b17", null ], - [ "Set", "structb2_vec2.html#a78f0e635a664a563dd9246397d5f6e7e", null ], - [ "SetZero", "structb2_vec2.html#a5c6cbe27cfb29c6dbb29b9a3285b88d0", null ], - [ "Skew", "structb2_vec2.html#aaf36e082a20368b24edb635511872a74", null ], - [ "x", "structb2_vec2.html#a7922601d8b8ad0550c2082ebaf74c78a", null ], - [ "y", "structb2_vec2.html#a3bbbbf0925b982a044fef8b3517a61c7", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_vec3-members.html b/documentation/structb2_vec3-members.html deleted file mode 100644 index 9eecd8c..0000000 --- a/documentation/structb2_vec3-members.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Vec3 Member List
-
-
- -

This is the complete list of members for b2Vec3, including all inherited members.

- - - - - - - - - - - - -
b2Vec3()b2Vec3inline
b2Vec3(float xIn, float yIn, float zIn)b2Vec3inline
operator*=(float s)b2Vec3inline
operator+=(const b2Vec3 &v)b2Vec3inline
operator-() constb2Vec3inline
operator-=(const b2Vec3 &v)b2Vec3inline
Set(float x_, float y_, float z_)b2Vec3inline
SetZero()b2Vec3inline
x (defined in b2Vec3)b2Vec3
y (defined in b2Vec3)b2Vec3
z (defined in b2Vec3)b2Vec3
-
- - - - diff --git a/documentation/structb2_vec3.html b/documentation/structb2_vec3.html deleted file mode 100644 index 1297c6f..0000000 --- a/documentation/structb2_vec3.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - -Box2D: b2Vec3 Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Vec3 Struct Reference
-
-
- -

A 2D column vector with 3 elements. - More...

- -

#include <b2_math.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

b2Vec3 ()
 Default constructor does nothing (for performance).
 
b2Vec3 (float xIn, float yIn, float zIn)
 Construct using coordinates.
 
-void SetZero ()
 Set this vector to all zeros.
 
-void Set (float x_, float y_, float z_)
 Set this vector to some specified coordinates.
 
-b2Vec3 operator- () const
 Negate this vector.
 
-void operator+= (const b2Vec3 &v)
 Add a vector to this vector.
 
-void operator-= (const b2Vec3 &v)
 Subtract a vector from this vector.
 
-void operator*= (float s)
 Multiply this vector by a scalar.
 
- - - - - - - -

-Public Attributes

-float x
 
-float y
 
-float z
 
-

Detailed Description

-

A 2D column vector with 3 elements.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_vec3.js b/documentation/structb2_vec3.js deleted file mode 100644 index 9c1398f..0000000 --- a/documentation/structb2_vec3.js +++ /dev/null @@ -1,14 +0,0 @@ -var structb2_vec3 = -[ - [ "b2Vec3", "structb2_vec3.html#a837423f66d6fb72d815e7390c09938b9", null ], - [ "b2Vec3", "structb2_vec3.html#aa775073da7fc5db39460b692819b8d9f", null ], - [ "operator*=", "structb2_vec3.html#af3e82a3f544c89c52817b6a5d30c73d5", null ], - [ "operator+=", "structb2_vec3.html#a2aaeed3f5308aad85d19c5f0efc72641", null ], - [ "operator-", "structb2_vec3.html#a396e2b5b3c53a502859ff80544c27db8", null ], - [ "operator-=", "structb2_vec3.html#a9e5b535548e1c5dfc0dc258d08f5ca32", null ], - [ "Set", "structb2_vec3.html#abac600f1ab36d68f152bfb35f61c74c6", null ], - [ "SetZero", "structb2_vec3.html#a5a459ed49f1910a347ca247f848a2dd8", null ], - [ "x", "structb2_vec3.html#aa8bc525b92ce1716c257925fd62a6789", null ], - [ "y", "structb2_vec3.html#a6aea565ecdaa8ef250004e289a2a6008", null ], - [ "z", "structb2_vec3.html#a2edd53a381be4b6ebb35ff784422538a", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_velocity-members.html b/documentation/structb2_velocity-members.html deleted file mode 100644 index 313d17b..0000000 --- a/documentation/structb2_velocity-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Velocity Member List
-
-
- -

This is the complete list of members for b2Velocity, including all inherited members.

- - - -
v (defined in b2Velocity)b2Velocity
w (defined in b2Velocity)b2Velocity
-
- - - - diff --git a/documentation/structb2_velocity.html b/documentation/structb2_velocity.html deleted file mode 100644 index 9077330..0000000 --- a/documentation/structb2_velocity.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Box2D: b2Velocity Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Velocity Struct Reference
-
-
- -

This is an internal structure. - More...

- -

#include <b2_time_step.h>

- - - - - - -

-Public Attributes

-b2Vec2 v
 
-float w
 
-

Detailed Description

-

This is an internal structure.

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_velocity.js b/documentation/structb2_velocity.js deleted file mode 100644 index 9618265..0000000 --- a/documentation/structb2_velocity.js +++ /dev/null @@ -1,5 +0,0 @@ -var structb2_velocity = -[ - [ "v", "structb2_velocity.html#a73b92ceff532491e71b9dbc53eecaa70", null ], - [ "w", "structb2_velocity.html#ad5fbf32fa038657264120879a65bd1c3", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_version-members.html b/documentation/structb2_version-members.html deleted file mode 100644 index 68cc00c..0000000 --- a/documentation/structb2_version-members.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2Version Member List
-
-
- -

This is the complete list of members for b2Version, including all inherited members.

- - - - -
majorb2Version
minorb2Version
revisionb2Version
-
- - - - diff --git a/documentation/structb2_version.html b/documentation/structb2_version.html deleted file mode 100644 index 2d83386..0000000 --- a/documentation/structb2_version.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - - -Box2D: b2Version Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2Version Struct Reference
-
-
- -

#include <b2_common.h>

- - - - - - - - - - - -

-Public Attributes

-int32 major
 significant changes
 
-int32 minor
 incremental changes
 
-int32 revision
 bug fixes
 
-

Detailed Description

-

Version numbering scheme. See http://en.wikipedia.org/wiki/Software_versioning

-

The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_version.js b/documentation/structb2_version.js deleted file mode 100644 index eb0cdd6..0000000 --- a/documentation/structb2_version.js +++ /dev/null @@ -1,6 +0,0 @@ -var structb2_version = -[ - [ "major", "structb2_version.html#a720da8e346364d1cb34d176125380b44", null ], - [ "minor", "structb2_version.html#a115b8797a6e0b8e53f54502bd20d89da", null ], - [ "revision", "structb2_version.html#a395cfe1434e348115d2ead3d72b88847", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_weld_joint_def-members.html b/documentation/structb2_weld_joint_def-members.html deleted file mode 100644 index 577d70d..0000000 --- a/documentation/structb2_weld_joint_def-members.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2WeldJointDef Member List
-
-
- -

This is the complete list of members for b2WeldJointDef, including all inherited members.

- - - - - - - - - - - - - - -
b2JointDef() (defined in b2JointDef)b2JointDefinline
b2WeldJointDef() (defined in b2WeldJointDef)b2WeldJointDefinline
bodyAb2JointDef
bodyBb2JointDef
collideConnectedb2JointDef
dampingb2WeldJointDef
Initialize(b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor)b2WeldJointDef
localAnchorAb2WeldJointDef
localAnchorBb2WeldJointDef
referenceAngleb2WeldJointDef
stiffnessb2WeldJointDef
typeb2JointDef
userDatab2JointDef
-
- - - - diff --git a/documentation/structb2_weld_joint_def.html b/documentation/structb2_weld_joint_def.html deleted file mode 100644 index 287651e..0000000 --- a/documentation/structb2_weld_joint_def.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - -Box2D: b2WeldJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2WeldJointDef Struct Reference
-
-
- -

#include <b2_weld_joint.h>

-
-Inheritance diagram for b2WeldJointDef:
-
-
- - -b2JointDef - -
- - - - -

-Public Member Functions

void Initialize (b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
-b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
-float referenceAngle
 The bodyB angle minus bodyA angle in the reference state (radians).
 
float stiffness
 
-float damping
 The rotational damping in N*m*s.
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Weld joint definition. You need to specify local anchor points where they are attached and the relative body angle. The position of the anchor points is important for computing the reaction torque.

-

Member Function Documentation

- -

◆ Initialize()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void b2WeldJointDef::Initialize (b2BodybodyA,
b2BodybodyB,
const b2Vec2anchor 
)
-
-

Initialize the bodies, anchors, reference angle, stiffness, and damping.

Parameters
- - - - -
bodyAthe first body connected by this joint
bodyBthe second body connected by this joint
anchorthe point of connection in world coordinates
-
-
- -
-
-

Member Data Documentation

- -

◆ stiffness

- -
-
- - - - -
float b2WeldJointDef::stiffness
-
-

The rotational stiffness in N*m Disable softness with a value of 0

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_weld_joint_def.js b/documentation/structb2_weld_joint_def.js deleted file mode 100644 index 962f7c2..0000000 --- a/documentation/structb2_weld_joint_def.js +++ /dev/null @@ -1,10 +0,0 @@ -var structb2_weld_joint_def = -[ - [ "b2WeldJointDef", "structb2_weld_joint_def.html#a18f4a2f33109edc37a3a977c6296bc31", null ], - [ "Initialize", "structb2_weld_joint_def.html#a9f6592c2a7eba6ce6e07e40c4e82aab5", null ], - [ "damping", "structb2_weld_joint_def.html#a59dcfbbd7c8d4421b3c621946ab4ec7d", null ], - [ "localAnchorA", "structb2_weld_joint_def.html#a3b04af6164bb32efc3f5cf3e8d2b7109", null ], - [ "localAnchorB", "structb2_weld_joint_def.html#a528262b92dac10de37411ad8c5637149", null ], - [ "referenceAngle", "structb2_weld_joint_def.html#a88841acce3b4e88fb33997a2f9eedb52", null ], - [ "stiffness", "structb2_weld_joint_def.html#aeb881c0408c9674b2a1869b491fdc6a0", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_weld_joint_def.png b/documentation/structb2_weld_joint_def.png deleted file mode 100644 index 2631a58..0000000 Binary files a/documentation/structb2_weld_joint_def.png and /dev/null differ diff --git a/documentation/structb2_wheel_joint_def-members.html b/documentation/structb2_wheel_joint_def-members.html deleted file mode 100644 index 9bb76f6..0000000 --- a/documentation/structb2_wheel_joint_def-members.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2WheelJointDef Member List
-
- -
- - - - diff --git a/documentation/structb2_wheel_joint_def.html b/documentation/structb2_wheel_joint_def.html deleted file mode 100644 index 9eab5e0..0000000 --- a/documentation/structb2_wheel_joint_def.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - -Box2D: b2WheelJointDef Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2WheelJointDef Struct Reference
-
-
- -

#include <b2_wheel_joint.h>

-
-Inheritance diagram for b2WheelJointDef:
-
-
- - -b2JointDef - -
- - - - -

-Public Member Functions

void Initialize (b2Body *bodyA, b2Body *bodyB, const b2Vec2 &anchor, const b2Vec2 &axis)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Attributes

-b2Vec2 localAnchorA
 The local anchor point relative to bodyA's origin.
 
-b2Vec2 localAnchorB
 The local anchor point relative to bodyB's origin.
 
-b2Vec2 localAxisA
 The local translation axis in bodyA.
 
-bool enableLimit
 Enable/disable the joint limit.
 
-float lowerTranslation
 The lower translation limit, usually in meters.
 
-float upperTranslation
 The upper translation limit, usually in meters.
 
-bool enableMotor
 Enable/disable the joint motor.
 
-float maxMotorTorque
 The maximum motor torque, usually in N-m.
 
-float motorSpeed
 The desired motor speed in radians per second.
 
-float stiffness
 Suspension stiffness. Typically in units N/m.
 
-float damping
 Suspension damping. Typically in units of N*s/m.
 
- Public Attributes inherited from b2JointDef
-b2JointType type
 The joint type is set automatically for concrete joint types.
 
-b2JointUserData userData
 Use this to attach application specific data to your joints.
 
-b2BodybodyA
 The first attached body.
 
-b2BodybodyB
 The second attached body.
 
-bool collideConnected
 Set this flag to true if the attached bodies should collide.
 
-

Detailed Description

-

Wheel joint definition. This requires defining a line of motion using an axis and an anchor point. The definition uses local anchor points and a local axis so that the initial configuration can violate the constraint slightly. The joint translation is zero when the local anchor points coincide in world space. Using local anchors and a local axis helps when saving and loading a game.

-

Member Function Documentation

- -

◆ Initialize()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void b2WheelJointDef::Initialize (b2BodybodyA,
b2BodybodyB,
const b2Vec2anchor,
const b2Vec2axis 
)
-
-

Initialize the bodies, anchors, axis, and reference angle using the world anchor and world axis.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_wheel_joint_def.js b/documentation/structb2_wheel_joint_def.js deleted file mode 100644 index f0621bf..0000000 --- a/documentation/structb2_wheel_joint_def.js +++ /dev/null @@ -1,16 +0,0 @@ -var structb2_wheel_joint_def = -[ - [ "b2WheelJointDef", "structb2_wheel_joint_def.html#a3da0f9e8e69eb228c6b24b851802da88", null ], - [ "Initialize", "structb2_wheel_joint_def.html#af26887092d36c3cd03898401a38783e2", null ], - [ "damping", "structb2_wheel_joint_def.html#abfef1664c79bc98b782cc8035931aad0", null ], - [ "enableLimit", "structb2_wheel_joint_def.html#a3d46200f4f5342a46f5ef79f6a059d28", null ], - [ "enableMotor", "structb2_wheel_joint_def.html#a8e7193d6c34c784ffd71e79d3a70acc6", null ], - [ "localAnchorA", "structb2_wheel_joint_def.html#a9429d2273bfdd8bdc0db416e73b89ae4", null ], - [ "localAnchorB", "structb2_wheel_joint_def.html#a88ba0f7108076b9d7ced68425be95c27", null ], - [ "localAxisA", "structb2_wheel_joint_def.html#ad635ee7b77b50037dc0e021a0f5c93a6", null ], - [ "lowerTranslation", "structb2_wheel_joint_def.html#a74d5dd6cf83e7984e599da98500fd949", null ], - [ "maxMotorTorque", "structb2_wheel_joint_def.html#ac2f848b113782cf594f7fe28aaeb7a97", null ], - [ "motorSpeed", "structb2_wheel_joint_def.html#a3afc5f07648a13caedc9ca3f223a556f", null ], - [ "stiffness", "structb2_wheel_joint_def.html#a4a93efb807f7ab44d51941748b42f038", null ], - [ "upperTranslation", "structb2_wheel_joint_def.html#a63cf58bd91517985d824cd983d3c7b94", null ] -]; \ No newline at end of file diff --git a/documentation/structb2_wheel_joint_def.png b/documentation/structb2_wheel_joint_def.png deleted file mode 100644 index 2eb7921..0000000 Binary files a/documentation/structb2_wheel_joint_def.png and /dev/null differ diff --git a/documentation/structb2_world_manifold-members.html b/documentation/structb2_world_manifold-members.html deleted file mode 100644 index 580b177..0000000 --- a/documentation/structb2_world_manifold-members.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2WorldManifold Member List
-
-
- -

This is the complete list of members for b2WorldManifold, including all inherited members.

- - - - - -
Initialize(const b2Manifold *manifold, const b2Transform &xfA, float radiusA, const b2Transform &xfB, float radiusB)b2WorldManifold
normalb2WorldManifold
pointsb2WorldManifold
separationsb2WorldManifold
-
- - - - diff --git a/documentation/structb2_world_manifold.html b/documentation/structb2_world_manifold.html deleted file mode 100644 index 0c62d17..0000000 --- a/documentation/structb2_world_manifold.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - -Box2D: b2WorldManifold Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2WorldManifold Struct Reference
-
-
- -

This is used to compute the current state of a contact manifold. - More...

- -

#include <b2_collision.h>

- - - - -

-Public Member Functions

void Initialize (const b2Manifold *manifold, const b2Transform &xfA, float radiusA, const b2Transform &xfB, float radiusB)
 
- - - - - - - - - - -

-Public Attributes

-b2Vec2 normal
 world vector pointing from A to B
 
-b2Vec2 points [b2_maxManifoldPoints]
 world contact point (point of intersection)
 
-float separations [b2_maxManifoldPoints]
 a negative value indicates overlap, in meters
 
-

Detailed Description

-

This is used to compute the current state of a contact manifold.

-

Member Function Documentation

- -

◆ Initialize()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void b2WorldManifold::Initialize (const b2Manifoldmanifold,
const b2TransformxfA,
float radiusA,
const b2TransformxfB,
float radiusB 
)
-
-

Evaluate the manifold with supplied transforms. This assumes modest motion from the original state. This does not change the point count, impulses, etc. The radii must come from the shapes that generated the manifold.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/documentation/structb2_world_manifold.js b/documentation/structb2_world_manifold.js deleted file mode 100644 index ddef983..0000000 --- a/documentation/structb2_world_manifold.js +++ /dev/null @@ -1,7 +0,0 @@ -var structb2_world_manifold = -[ - [ "Initialize", "structb2_world_manifold.html#a205cd53748c5ee68f0958af96f45f5a4", null ], - [ "normal", "structb2_world_manifold.html#acf8de61b73d9784d16f7d0e824ce44bf", null ], - [ "points", "structb2_world_manifold.html#af15e84b90f102c0ac433be2d63604021", null ], - [ "separations", "structb2_world_manifold.html#a0bbe5473b313e7cc590ffd80ae4b4616", null ] -]; \ No newline at end of file diff --git a/documentation/testbed.gif b/documentation/testbed.gif deleted file mode 100644 index 4ba75d8..0000000 Binary files a/documentation/testbed.gif and /dev/null differ diff --git a/documentation/testbed.png b/documentation/testbed.png deleted file mode 100644 index e2de2ad..0000000 Binary files a/documentation/testbed.png and /dev/null differ diff --git a/documentation/topics.html b/documentation/topics.html index a32d3bf..8c20688 100644 --- a/documentation/topics.html +++ b/documentation/topics.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
diff --git a/documentation/types_8h_source.html b/documentation/types_8h_source.html index eea7a6e..3e1765e 100644 --- a/documentation/types_8h_source.html +++ b/documentation/types_8h_source.html @@ -38,7 +38,7 @@ Logo -
Box2D 3.0.0 +
Box2D 3.0.1
A 2D physics engine for games
@@ -303,672 +303,672 @@
338
342
- -
347
- -
350} b2ShapeDef;
+ +
348
+ +
351} b2ShapeDef;
-
351
- -
355
-
-
371typedef struct b2ChainDef
-
372{
-
374 void* userData;
-
375
- -
378
-
380 int32_t count;
-
381
-
383 float friction;
-
384
- -
387
- -
390
-
392 bool isLoop;
-
393
- -
396} b2ChainDef;
+
352
+ +
356
+
+
372typedef struct b2ChainDef
+
373{
+
375 void* userData;
+
376
+ +
379
+
381 int32_t count;
+
382
+
384 float friction;
+
385
+ +
388
+ +
391
+
393 bool isLoop;
+
394
+ +
397} b2ChainDef;
-
397
- -
401
-
404typedef struct b2Profile
-
405{
-
406 float step;
-
407 float pairs;
-
408 float collide;
-
409 float solve;
-
410 float buildIslands;
-
411 float solveConstraints;
-
412 float prepareTasks;
-
413 float solverTasks;
-
414 float prepareConstraints;
-
415 float integrateVelocities;
-
416 float warmStart;
-
417 float solveVelocities;
-
418 float integratePositions;
-
419 float relaxVelocities;
-
420 float applyRestitution;
-
421 float storeImpulses;
-
422 float finalizeBodies;
-
423 float splitIslands;
-
424 float sleepIslands;
-
425 float hitEvents;
-
426 float broadphase;
-
427 float continuous;
-
428} b2Profile;
-
429
-
431typedef struct b2Counters
-
432{
-
433 int32_t staticBodyCount;
-
434 int32_t bodyCount;
-
435 int32_t shapeCount;
-
436 int32_t contactCount;
-
437 int32_t jointCount;
-
438 int32_t islandCount;
-
439 int32_t stackUsed;
-
440 int32_t staticTreeHeight;
-
441 int32_t treeHeight;
-
442 int32_t byteCount;
-
443 int32_t taskCount;
-
444 int32_t colorCounts[12];
-
445} b2Counters;
-
447
-
-
453typedef enum b2JointType
-
454{
-
455 b2_distanceJoint,
-
456 b2_motorJoint,
-
457 b2_mouseJoint,
-
458 b2_prismaticJoint,
-
459 b2_revoluteJoint,
-
460 b2_weldJoint,
-
461 b2_wheelJoint,
- +
398
+ +
402
+
405typedef struct b2Profile
+
406{
+
407 float step;
+
408 float pairs;
+
409 float collide;
+
410 float solve;
+
411 float buildIslands;
+
412 float solveConstraints;
+
413 float prepareTasks;
+
414 float solverTasks;
+
415 float prepareConstraints;
+
416 float integrateVelocities;
+
417 float warmStart;
+
418 float solveVelocities;
+
419 float integratePositions;
+
420 float relaxVelocities;
+
421 float applyRestitution;
+
422 float storeImpulses;
+
423 float finalizeBodies;
+
424 float splitIslands;
+
425 float sleepIslands;
+
426 float hitEvents;
+
427 float broadphase;
+
428 float continuous;
+
429} b2Profile;
+
430
+
432typedef struct b2Counters
+
433{
+
434 int32_t staticBodyCount;
+
435 int32_t bodyCount;
+
436 int32_t shapeCount;
+
437 int32_t contactCount;
+
438 int32_t jointCount;
+
439 int32_t islandCount;
+
440 int32_t stackUsed;
+
441 int32_t staticTreeHeight;
+
442 int32_t treeHeight;
+
443 int32_t byteCount;
+
444 int32_t taskCount;
+
445 int32_t colorCounts[12];
+
446} b2Counters;
+
448
+
+
454typedef enum b2JointType
+
455{
+
456 b2_distanceJoint,
+
457 b2_motorJoint,
+
458 b2_mouseJoint,
+
459 b2_prismaticJoint,
+
460 b2_revoluteJoint,
+
461 b2_weldJoint,
+
462 b2_wheelJoint,
+
-
463
-
-
471typedef struct b2DistanceJointDef
-
472{
- -
475
- -
478
- -
481
- -
484
-
486 float length;
-
487
- -
491
-
493 float hertz;
-
494
- -
497
- -
500
- -
503
- -
506
- -
509
- -
512
- -
515
- -
518
-
520 void* userData;
-
521
- - +
464
+
+
472typedef struct b2DistanceJointDef
+
473{
+ +
476
+ +
479
+ +
482
+ +
485
+
487 float length;
+
488
+ +
492
+
494 float hertz;
+
495
+ +
498
+ +
501
+ +
504
+ +
507
+ +
510
+ +
513
+ +
516
+ +
519
+
521 void* userData;
+
522
+ +
-
525
- -
529
-
-
534typedef struct b2MotorJointDef
-
535{
- -
538
- -
541
- -
544
- -
547
-
549 float maxForce;
-
550
- -
553
- -
556
- -
559
-
561 void* userData;
-
562
- - +
526
+ +
530
+
+
535typedef struct b2MotorJointDef
+
536{
+ +
539
+ +
542
+ +
545
+ +
548
+
550 float maxForce;
+
551
+ +
554
+ +
557
+ +
560
+
562 void* userData;
+
563
+ +
-
566
- -
570
-
-
576typedef struct b2MouseJointDef
-
577{
- -
580
- -
583
- -
586
-
588 float hertz;
-
589
- -
592
-
594 float maxForce;
-
595
- -
598
-
600 void* userData;
-
601
- - +
567
+ +
571
+
+
577typedef struct b2MouseJointDef
+
578{
+ +
581
+ +
584
+ +
587
+
589 float hertz;
+
590
+ +
593
+
595 float maxForce;
+
596
+ +
599
+
601 void* userData;
+
602
+ +
-
605
- -
609
-
- -
618{
- -
621
- -
624
- -
627
- -
630
- -
633
- -
636
- -
639
-
641 float hertz;
-
642
- -
645
- -
648
- -
651
- -
654
- -
657
- -
660
- -
663
- -
666
-
668 void* userData;
-
669
- - +
606
+ +
610
+
+ +
619{
+ +
622
+ +
625
+ +
628
+ +
631
+ +
634
+ +
637
+ +
640
+
642 float hertz;
+
643
+ +
646
+ +
649
+ +
652
+ +
655
+ +
658
+ +
661
+ +
664
+ +
667
+
669 void* userData;
+
670
+ +
-
673
-
676B2_API b2PrismaticJointDef b2DefaultPrismaticJointDef( void );
-
677
-
-
690typedef struct b2RevoluteJointDef
-
691{
- -
694
- -
697
- -
700
- -
703
- -
707
- -
710
-
712 float hertz;
-
713
- -
716
- -
719
- -
722
- -
725
- -
728
- -
731
- -
734
-
736 float drawSize;
-
737
- -
740
-
742 void* userData;
-
743
- - +
674
+
677B2_API b2PrismaticJointDef b2DefaultPrismaticJointDef( void );
+
678
+
+
691typedef struct b2RevoluteJointDef
+
692{
+ +
695
+ +
698
+ +
701
+ +
704
+ +
708
+ +
711
+
713 float hertz;
+
714
+ +
717
+ +
720
+ +
723
+ +
726
+ +
729
+ +
732
+ +
735
+
737 float drawSize;
+
738
+ +
741
+
743 void* userData;
+
744
+ +
-
747
- -
751
-
-
758typedef struct b2WeldJointDef
-
759{
- -
762
- -
765
- -
768
- -
771
- -
774
- -
777
- -
780
- -
783
- -
786
- -
789
-
791 void* userData;
-
792
- - +
748
+ +
752
+
+
759typedef struct b2WeldJointDef
+
760{
+ +
763
+ +
766
+ +
769
+ +
772
+ +
775
+ +
778
+ +
781
+ +
784
+ +
787
+ +
790
+
792 void* userData;
+
793
+ +
-
796
- -
800
-
-
808typedef struct b2WheelJointDef
-
809{
- -
812
- -
815
- -
818
- -
821
- -
824
- -
827
-
829 float hertz;
-
830
- -
833
- -
836
- -
839
- -
842
- -
845
- -
848
- -
851
- -
854
-
856 void* userData;
-
857
- - +
797
+ +
801
+
+
809typedef struct b2WheelJointDef
+
810{
+ +
813
+ +
816
+ +
819
+ +
822
+ +
825
+ +
828
+
830 float hertz;
+
831
+ +
834
+ +
837
+ +
840
+ +
843
+ +
846
+ +
849
+ +
852
+ +
855
+
857 void* userData;
+
858
+ +
-
861
- -
865
-
- -
885{
- -
888
- - +
862
+ +
866
+ -
892
-
- -
895{
- -
898
- - +
893
+ -
902
-
-
906typedef struct b2SensorEvents
-
907{
- -
910
- -
913
-
915 int32_t beginCount;
-
916
-
918 int32_t endCount;
- +
903
+
+
907typedef struct b2SensorEvents
+
908{
+ +
911
+ +
914
+
916 int32_t beginCount;
+
917
+
919 int32_t endCount;
+
-
920
-
- -
923{
- -
926
- - +
921
+ -
930
-
- -
933{
- -
936
- - +
931
+ -
940
-
-
942typedef struct b2ContactHitEvent
-
943{
- -
946
- -
949
- -
952
- -
955
- - +
941
+
+
943typedef struct b2ContactHitEvent
+
944{
+ +
947
+ +
950
+ +
953
+ +
956
+ +
-
959
-
-
963typedef struct b2ContactEvents
-
964{
- -
967
- -
970
- -
973
-
975 int32_t beginCount;
-
976
-
978 int32_t endCount;
-
979
-
981 int32_t hitCount;
- +
960
+
+
964typedef struct b2ContactEvents
+
965{
+ +
968
+ +
971
+ +
974
+
976 int32_t beginCount;
+
977
+
979 int32_t endCount;
+
980
+
982 int32_t hitCount;
+
-
983
-
-
994typedef struct b2BodyMoveEvent
-
995{
-
996 b2Transform transform;
-
997 b2BodyId bodyId;
-
998 void* userData;
-
999 bool fellAsleep;
- +
984
+
+
995typedef struct b2BodyMoveEvent
+
996{
+
997 b2Transform transform;
+
998 b2BodyId bodyId;
+
999 void* userData;
+
1000 bool fellAsleep;
+
-
1001
-
-
1005typedef struct b2BodyEvents
-
1006{
- -
1009
-
1011 int32_t moveCount;
-
1012} b2BodyEvents;
+
1002
+
+
1006typedef struct b2BodyEvents
+
1007{
+ +
1010
+
1012 int32_t moveCount;
+
1013} b2BodyEvents;
-
1013
-
-
1017typedef struct b2ContactData
-
1018{
-
1019 b2ShapeId shapeIdA;
-
1020 b2ShapeId shapeIdB;
-
1021 b2Manifold manifold;
- +
1014
+
+
1018typedef struct b2ContactData
+
1019{
+
1020 b2ShapeId shapeIdA;
+
1021 b2ShapeId shapeIdB;
+
1022 b2Manifold manifold;
+
-
1023
-
1037typedef bool b2CustomFilterFcn( b2ShapeId shapeIdA, b2ShapeId shapeIdB, void* context );
-
1038
-
1052typedef bool b2PreSolveFcn( b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold* manifold, void* context );
-
1053
-
1059typedef bool b2OverlapResultFcn( b2ShapeId shapeId, void* context );
-
1060
-
1076typedef float b2CastResultFcn( b2ShapeId shapeId, b2Vec2 point, b2Vec2 normal, float fraction, void* context );
-
1077
-
1080typedef enum b2HexColor
-
1081{
-
1082 b2_colorAliceBlue = 0xf0f8ff,
-
1083 b2_colorAntiqueWhite = 0xfaebd7,
-
1084 b2_colorAqua = 0x00ffff,
-
1085 b2_colorAquamarine = 0x7fffd4,
-
1086 b2_colorAzure = 0xf0ffff,
-
1087 b2_colorBeige = 0xf5f5dc,
-
1088 b2_colorBisque = 0xffe4c4,
-
1089 b2_colorBlack = 0x000000,
-
1090 b2_colorBlanchedAlmond = 0xffebcd,
-
1091 b2_colorBlue = 0x0000ff,
-
1092 b2_colorBlueViolet = 0x8a2be2,
-
1093 b2_colorBrown = 0xa52a2a,
-
1094 b2_colorBurlywood = 0xdeb887,
-
1095 b2_colorCadetBlue = 0x5f9ea0,
-
1096 b2_colorChartreuse = 0x7fff00,
-
1097 b2_colorChocolate = 0xd2691e,
-
1098 b2_colorCoral = 0xff7f50,
-
1099 b2_colorCornflowerBlue = 0x6495ed,
-
1100 b2_colorCornsilk = 0xfff8dc,
-
1101 b2_colorCrimson = 0xdc143c,
-
1102 b2_colorCyan = 0x00ffff,
-
1103 b2_colorDarkBlue = 0x00008b,
-
1104 b2_colorDarkCyan = 0x008b8b,
-
1105 b2_colorDarkGoldenrod = 0xb8860b,
-
1106 b2_colorDarkGray = 0xa9a9a9,
-
1107 b2_colorDarkGreen = 0x006400,
-
1108 b2_colorDarkKhaki = 0xbdb76b,
-
1109 b2_colorDarkMagenta = 0x8b008b,
-
1110 b2_colorDarkOliveGreen = 0x556b2f,
-
1111 b2_colorDarkOrange = 0xff8c00,
-
1112 b2_colorDarkOrchid = 0x9932cc,
-
1113 b2_colorDarkRed = 0x8b0000,
-
1114 b2_colorDarkSalmon = 0xe9967a,
-
1115 b2_colorDarkSeaGreen = 0x8fbc8f,
-
1116 b2_colorDarkSlateBlue = 0x483d8b,
-
1117 b2_colorDarkSlateGray = 0x2f4f4f,
-
1118 b2_colorDarkTurquoise = 0x00ced1,
-
1119 b2_colorDarkViolet = 0x9400d3,
-
1120 b2_colorDeepPink = 0xff1493,
-
1121 b2_colorDeepSkyBlue = 0x00bfff,
-
1122 b2_colorDimGray = 0x696969,
-
1123 b2_colorDodgerBlue = 0x1e90ff,
-
1124 b2_colorFirebrick = 0xb22222,
-
1125 b2_colorFloralWhite = 0xfffaf0,
-
1126 b2_colorForestGreen = 0x228b22,
-
1127 b2_colorFuchsia = 0xff00ff,
-
1128 b2_colorGainsboro = 0xdcdcdc,
-
1129 b2_colorGhostWhite = 0xf8f8ff,
-
1130 b2_colorGold = 0xffd700,
-
1131 b2_colorGoldenrod = 0xdaa520,
-
1132 b2_colorGray = 0xbebebe,
-
1133 b2_colorGray1 = 0x1a1a1a,
-
1134 b2_colorGray2 = 0x333333,
-
1135 b2_colorGray3 = 0x4d4d4d,
-
1136 b2_colorGray4 = 0x666666,
-
1137 b2_colorGray5 = 0x7f7f7f,
-
1138 b2_colorGray6 = 0x999999,
-
1139 b2_colorGray7 = 0xb3b3b3,
-
1140 b2_colorGray8 = 0xcccccc,
-
1141 b2_colorGray9 = 0xe5e5e5,
-
1142 b2_colorGreen = 0x00ff00,
-
1143 b2_colorGreenYellow = 0xadff2f,
-
1144 b2_colorHoneydew = 0xf0fff0,
-
1145 b2_colorHotPink = 0xff69b4,
-
1146 b2_colorIndianRed = 0xcd5c5c,
-
1147 b2_colorIndigo = 0x4b0082,
-
1148 b2_colorIvory = 0xfffff0,
-
1149 b2_colorKhaki = 0xf0e68c,
-
1150 b2_colorLavender = 0xe6e6fa,
-
1151 b2_colorLavenderBlush = 0xfff0f5,
-
1152 b2_colorLawnGreen = 0x7cfc00,
-
1153 b2_colorLemonChiffon = 0xfffacd,
-
1154 b2_colorLightBlue = 0xadd8e6,
-
1155 b2_colorLightCoral = 0xf08080,
-
1156 b2_colorLightCyan = 0xe0ffff,
-
1157 b2_colorLightGoldenrod = 0xeedd82,
-
1158 b2_colorLightGoldenrodYellow = 0xfafad2,
-
1159 b2_colorLightGray = 0xd3d3d3,
-
1160 b2_colorLightGreen = 0x90ee90,
-
1161 b2_colorLightPink = 0xffb6c1,
-
1162 b2_colorLightSalmon = 0xffa07a,
-
1163 b2_colorLightSeaGreen = 0x20b2aa,
-
1164 b2_colorLightSkyBlue = 0x87cefa,
-
1165 b2_colorLightSlateBlue = 0x8470ff,
-
1166 b2_colorLightSlateGray = 0x778899,
-
1167 b2_colorLightSteelBlue = 0xb0c4de,
-
1168 b2_colorLightYellow = 0xffffe0,
-
1169 b2_colorLime = 0x00ff00,
-
1170 b2_colorLimeGreen = 0x32cd32,
-
1171 b2_colorLinen = 0xfaf0e6,
-
1172 b2_colorMagenta = 0xff00ff,
-
1173 b2_colorMaroon = 0xb03060,
-
1174 b2_colorMediumAquamarine = 0x66cdaa,
-
1175 b2_colorMediumBlue = 0x0000cd,
-
1176 b2_colorMediumOrchid = 0xba55d3,
-
1177 b2_colorMediumPurple = 0x9370db,
-
1178 b2_colorMediumSeaGreen = 0x3cb371,
-
1179 b2_colorMediumSlateBlue = 0x7b68ee,
-
1180 b2_colorMediumSpringGreen = 0x00fa9a,
-
1181 b2_colorMediumTurquoise = 0x48d1cc,
-
1182 b2_colorMediumVioletRed = 0xc71585,
-
1183 b2_colorMidnightBlue = 0x191970,
-
1184 b2_colorMintCream = 0xf5fffa,
-
1185 b2_colorMistyRose = 0xffe4e1,
-
1186 b2_colorMoccasin = 0xffe4b5,
-
1187 b2_colorNavajoWhite = 0xffdead,
-
1188 b2_colorNavy = 0x000080,
-
1189 b2_colorNavyBlue = 0x000080,
-
1190 b2_colorOldLace = 0xfdf5e6,
-
1191 b2_colorOlive = 0x808000,
-
1192 b2_colorOliveDrab = 0x6b8e23,
-
1193 b2_colorOrange = 0xffa500,
-
1194 b2_colorOrangeRed = 0xff4500,
-
1195 b2_colorOrchid = 0xda70d6,
-
1196 b2_colorPaleGoldenrod = 0xeee8aa,
-
1197 b2_colorPaleGreen = 0x98fb98,
-
1198 b2_colorPaleTurquoise = 0xafeeee,
-
1199 b2_colorPaleVioletRed = 0xdb7093,
-
1200 b2_colorPapayaWhip = 0xffefd5,
-
1201 b2_colorPeachPuff = 0xffdab9,
-
1202 b2_colorPeru = 0xcd853f,
-
1203 b2_colorPink = 0xffc0cb,
-
1204 b2_colorPlum = 0xdda0dd,
-
1205 b2_colorPowderBlue = 0xb0e0e6,
-
1206 b2_colorPurple = 0xa020f0,
-
1207 b2_colorRebeccaPurple = 0x663399,
-
1208 b2_colorRed = 0xff0000,
-
1209 b2_colorRosyBrown = 0xbc8f8f,
-
1210 b2_colorRoyalBlue = 0x4169e1,
-
1211 b2_colorSaddleBrown = 0x8b4513,
-
1212 b2_colorSalmon = 0xfa8072,
-
1213 b2_colorSandyBrown = 0xf4a460,
-
1214 b2_colorSeaGreen = 0x2e8b57,
-
1215 b2_colorSeashell = 0xfff5ee,
-
1216 b2_colorSienna = 0xa0522d,
-
1217 b2_colorSilver = 0xc0c0c0,
-
1218 b2_colorSkyBlue = 0x87ceeb,
-
1219 b2_colorSlateBlue = 0x6a5acd,
-
1220 b2_colorSlateGray = 0x708090,
-
1221 b2_colorSnow = 0xfffafa,
-
1222 b2_colorSpringGreen = 0x00ff7f,
-
1223 b2_colorSteelBlue = 0x4682b4,
-
1224 b2_colorTan = 0xd2b48c,
-
1225 b2_colorTeal = 0x008080,
-
1226 b2_colorThistle = 0xd8bfd8,
-
1227 b2_colorTomato = 0xff6347,
-
1228 b2_colorTurquoise = 0x40e0d0,
-
1229 b2_colorViolet = 0xee82ee,
-
1230 b2_colorVioletRed = 0xd02090,
-
1231 b2_colorWheat = 0xf5deb3,
-
1232 b2_colorWhite = 0xffffff,
-
1233 b2_colorWhiteSmoke = 0xf5f5f5,
-
1234 b2_colorYellow = 0xffff00,
-
1235 b2_colorYellowGreen = 0x9acd32,
-
1236 b2_colorBox2DRed = 0xdc3132,
-
1237 b2_colorBox2DBlue = 0x30aebf,
-
1238 b2_colorBox2DGreen = 0x8cc924,
-
1239 b2_colorBox2DYellow = 0xffee8c
-
1240} b2HexColor;
-
1241
-
-
1244typedef struct b2DebugDraw
-
1245{
-
1247 void ( *DrawPolygon )( const b2Vec2* vertices, int vertexCount, b2HexColor color, void* context );
-
1248
-
1250 void ( *DrawSolidPolygon )( b2Transform transform, const b2Vec2* vertices, int vertexCount, float radius, b2HexColor color,
-
1251 void* context );
-
1252
-
1254 void ( *DrawCircle )( b2Vec2 center, float radius, b2HexColor color, void* context );
-
1255
-
1257 void ( *DrawSolidCircle )( b2Transform transform, float radius, b2HexColor color, void* context );
-
1258
-
1260 void ( *DrawCapsule )( b2Vec2 p1, b2Vec2 p2, float radius, b2HexColor color, void* context );
-
1261
-
1263 void ( *DrawSolidCapsule )( b2Vec2 p1, b2Vec2 p2, float radius, b2HexColor color, void* context );
-
1264
-
1266 void ( *DrawSegment )( b2Vec2 p1, b2Vec2 p2, b2HexColor color, void* context );
-
1267
-
1269 void ( *DrawTransform )( b2Transform transform, void* context );
-
1270
-
1272 void ( *DrawPoint )( b2Vec2 p, float size, b2HexColor color, void* context );
-
1273
-
1275 void ( *DrawString )( b2Vec2 p, const char* s, void* context );
-
1276
- -
1279
- -
1282
- -
1285
- -
1288
- -
1291
- -
1294
- -
1297
- -
1300
- -
1303
- -
1306
- -
1309
- -
1312
-
1314 void* context;
-
1315} b2DebugDraw;
+
1024
+
1038typedef bool b2CustomFilterFcn( b2ShapeId shapeIdA, b2ShapeId shapeIdB, void* context );
+
1039
+
1053typedef bool b2PreSolveFcn( b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold* manifold, void* context );
+
1054
+
1060typedef bool b2OverlapResultFcn( b2ShapeId shapeId, void* context );
+
1061
+
1077typedef float b2CastResultFcn( b2ShapeId shapeId, b2Vec2 point, b2Vec2 normal, float fraction, void* context );
+
1078
+
1081typedef enum b2HexColor
+
1082{
+
1083 b2_colorAliceBlue = 0xf0f8ff,
+
1084 b2_colorAntiqueWhite = 0xfaebd7,
+
1085 b2_colorAqua = 0x00ffff,
+
1086 b2_colorAquamarine = 0x7fffd4,
+
1087 b2_colorAzure = 0xf0ffff,
+
1088 b2_colorBeige = 0xf5f5dc,
+
1089 b2_colorBisque = 0xffe4c4,
+
1090 b2_colorBlack = 0x000000,
+
1091 b2_colorBlanchedAlmond = 0xffebcd,
+
1092 b2_colorBlue = 0x0000ff,
+
1093 b2_colorBlueViolet = 0x8a2be2,
+
1094 b2_colorBrown = 0xa52a2a,
+
1095 b2_colorBurlywood = 0xdeb887,
+
1096 b2_colorCadetBlue = 0x5f9ea0,
+
1097 b2_colorChartreuse = 0x7fff00,
+
1098 b2_colorChocolate = 0xd2691e,
+
1099 b2_colorCoral = 0xff7f50,
+
1100 b2_colorCornflowerBlue = 0x6495ed,
+
1101 b2_colorCornsilk = 0xfff8dc,
+
1102 b2_colorCrimson = 0xdc143c,
+
1103 b2_colorCyan = 0x00ffff,
+
1104 b2_colorDarkBlue = 0x00008b,
+
1105 b2_colorDarkCyan = 0x008b8b,
+
1106 b2_colorDarkGoldenrod = 0xb8860b,
+
1107 b2_colorDarkGray = 0xa9a9a9,
+
1108 b2_colorDarkGreen = 0x006400,
+
1109 b2_colorDarkKhaki = 0xbdb76b,
+
1110 b2_colorDarkMagenta = 0x8b008b,
+
1111 b2_colorDarkOliveGreen = 0x556b2f,
+
1112 b2_colorDarkOrange = 0xff8c00,
+
1113 b2_colorDarkOrchid = 0x9932cc,
+
1114 b2_colorDarkRed = 0x8b0000,
+
1115 b2_colorDarkSalmon = 0xe9967a,
+
1116 b2_colorDarkSeaGreen = 0x8fbc8f,
+
1117 b2_colorDarkSlateBlue = 0x483d8b,
+
1118 b2_colorDarkSlateGray = 0x2f4f4f,
+
1119 b2_colorDarkTurquoise = 0x00ced1,
+
1120 b2_colorDarkViolet = 0x9400d3,
+
1121 b2_colorDeepPink = 0xff1493,
+
1122 b2_colorDeepSkyBlue = 0x00bfff,
+
1123 b2_colorDimGray = 0x696969,
+
1124 b2_colorDodgerBlue = 0x1e90ff,
+
1125 b2_colorFirebrick = 0xb22222,
+
1126 b2_colorFloralWhite = 0xfffaf0,
+
1127 b2_colorForestGreen = 0x228b22,
+
1128 b2_colorFuchsia = 0xff00ff,
+
1129 b2_colorGainsboro = 0xdcdcdc,
+
1130 b2_colorGhostWhite = 0xf8f8ff,
+
1131 b2_colorGold = 0xffd700,
+
1132 b2_colorGoldenrod = 0xdaa520,
+
1133 b2_colorGray = 0xbebebe,
+
1134 b2_colorGray1 = 0x1a1a1a,
+
1135 b2_colorGray2 = 0x333333,
+
1136 b2_colorGray3 = 0x4d4d4d,
+
1137 b2_colorGray4 = 0x666666,
+
1138 b2_colorGray5 = 0x7f7f7f,
+
1139 b2_colorGray6 = 0x999999,
+
1140 b2_colorGray7 = 0xb3b3b3,
+
1141 b2_colorGray8 = 0xcccccc,
+
1142 b2_colorGray9 = 0xe5e5e5,
+
1143 b2_colorGreen = 0x00ff00,
+
1144 b2_colorGreenYellow = 0xadff2f,
+
1145 b2_colorHoneydew = 0xf0fff0,
+
1146 b2_colorHotPink = 0xff69b4,
+
1147 b2_colorIndianRed = 0xcd5c5c,
+
1148 b2_colorIndigo = 0x4b0082,
+
1149 b2_colorIvory = 0xfffff0,
+
1150 b2_colorKhaki = 0xf0e68c,
+
1151 b2_colorLavender = 0xe6e6fa,
+
1152 b2_colorLavenderBlush = 0xfff0f5,
+
1153 b2_colorLawnGreen = 0x7cfc00,
+
1154 b2_colorLemonChiffon = 0xfffacd,
+
1155 b2_colorLightBlue = 0xadd8e6,
+
1156 b2_colorLightCoral = 0xf08080,
+
1157 b2_colorLightCyan = 0xe0ffff,
+
1158 b2_colorLightGoldenrod = 0xeedd82,
+
1159 b2_colorLightGoldenrodYellow = 0xfafad2,
+
1160 b2_colorLightGray = 0xd3d3d3,
+
1161 b2_colorLightGreen = 0x90ee90,
+
1162 b2_colorLightPink = 0xffb6c1,
+
1163 b2_colorLightSalmon = 0xffa07a,
+
1164 b2_colorLightSeaGreen = 0x20b2aa,
+
1165 b2_colorLightSkyBlue = 0x87cefa,
+
1166 b2_colorLightSlateBlue = 0x8470ff,
+
1167 b2_colorLightSlateGray = 0x778899,
+
1168 b2_colorLightSteelBlue = 0xb0c4de,
+
1169 b2_colorLightYellow = 0xffffe0,
+
1170 b2_colorLime = 0x00ff00,
+
1171 b2_colorLimeGreen = 0x32cd32,
+
1172 b2_colorLinen = 0xfaf0e6,
+
1173 b2_colorMagenta = 0xff00ff,
+
1174 b2_colorMaroon = 0xb03060,
+
1175 b2_colorMediumAquamarine = 0x66cdaa,
+
1176 b2_colorMediumBlue = 0x0000cd,
+
1177 b2_colorMediumOrchid = 0xba55d3,
+
1178 b2_colorMediumPurple = 0x9370db,
+
1179 b2_colorMediumSeaGreen = 0x3cb371,
+
1180 b2_colorMediumSlateBlue = 0x7b68ee,
+
1181 b2_colorMediumSpringGreen = 0x00fa9a,
+
1182 b2_colorMediumTurquoise = 0x48d1cc,
+
1183 b2_colorMediumVioletRed = 0xc71585,
+
1184 b2_colorMidnightBlue = 0x191970,
+
1185 b2_colorMintCream = 0xf5fffa,
+
1186 b2_colorMistyRose = 0xffe4e1,
+
1187 b2_colorMoccasin = 0xffe4b5,
+
1188 b2_colorNavajoWhite = 0xffdead,
+
1189 b2_colorNavy = 0x000080,
+
1190 b2_colorNavyBlue = 0x000080,
+
1191 b2_colorOldLace = 0xfdf5e6,
+
1192 b2_colorOlive = 0x808000,
+
1193 b2_colorOliveDrab = 0x6b8e23,
+
1194 b2_colorOrange = 0xffa500,
+
1195 b2_colorOrangeRed = 0xff4500,
+
1196 b2_colorOrchid = 0xda70d6,
+
1197 b2_colorPaleGoldenrod = 0xeee8aa,
+
1198 b2_colorPaleGreen = 0x98fb98,
+
1199 b2_colorPaleTurquoise = 0xafeeee,
+
1200 b2_colorPaleVioletRed = 0xdb7093,
+
1201 b2_colorPapayaWhip = 0xffefd5,
+
1202 b2_colorPeachPuff = 0xffdab9,
+
1203 b2_colorPeru = 0xcd853f,
+
1204 b2_colorPink = 0xffc0cb,
+
1205 b2_colorPlum = 0xdda0dd,
+
1206 b2_colorPowderBlue = 0xb0e0e6,
+
1207 b2_colorPurple = 0xa020f0,
+
1208 b2_colorRebeccaPurple = 0x663399,
+
1209 b2_colorRed = 0xff0000,
+
1210 b2_colorRosyBrown = 0xbc8f8f,
+
1211 b2_colorRoyalBlue = 0x4169e1,
+
1212 b2_colorSaddleBrown = 0x8b4513,
+
1213 b2_colorSalmon = 0xfa8072,
+
1214 b2_colorSandyBrown = 0xf4a460,
+
1215 b2_colorSeaGreen = 0x2e8b57,
+
1216 b2_colorSeashell = 0xfff5ee,
+
1217 b2_colorSienna = 0xa0522d,
+
1218 b2_colorSilver = 0xc0c0c0,
+
1219 b2_colorSkyBlue = 0x87ceeb,
+
1220 b2_colorSlateBlue = 0x6a5acd,
+
1221 b2_colorSlateGray = 0x708090,
+
1222 b2_colorSnow = 0xfffafa,
+
1223 b2_colorSpringGreen = 0x00ff7f,
+
1224 b2_colorSteelBlue = 0x4682b4,
+
1225 b2_colorTan = 0xd2b48c,
+
1226 b2_colorTeal = 0x008080,
+
1227 b2_colorThistle = 0xd8bfd8,
+
1228 b2_colorTomato = 0xff6347,
+
1229 b2_colorTurquoise = 0x40e0d0,
+
1230 b2_colorViolet = 0xee82ee,
+
1231 b2_colorVioletRed = 0xd02090,
+
1232 b2_colorWheat = 0xf5deb3,
+
1233 b2_colorWhite = 0xffffff,
+
1234 b2_colorWhiteSmoke = 0xf5f5f5,
+
1235 b2_colorYellow = 0xffff00,
+
1236 b2_colorYellowGreen = 0x9acd32,
+
1237 b2_colorBox2DRed = 0xdc3132,
+
1238 b2_colorBox2DBlue = 0x30aebf,
+
1239 b2_colorBox2DGreen = 0x8cc924,
+
1240 b2_colorBox2DYellow = 0xffee8c
+
1241} b2HexColor;
+
1242
+
+
1245typedef struct b2DebugDraw
+
1246{
+
1248 void ( *DrawPolygon )( const b2Vec2* vertices, int vertexCount, b2HexColor color, void* context );
+
1249
+
1251 void ( *DrawSolidPolygon )( b2Transform transform, const b2Vec2* vertices, int vertexCount, float radius, b2HexColor color,
+
1252 void* context );
+
1253
+
1255 void ( *DrawCircle )( b2Vec2 center, float radius, b2HexColor color, void* context );
+
1256
+
1258 void ( *DrawSolidCircle )( b2Transform transform, float radius, b2HexColor color, void* context );
+
1259
+
1261 void ( *DrawCapsule )( b2Vec2 p1, b2Vec2 p2, float radius, b2HexColor color, void* context );
+
1262
+
1264 void ( *DrawSolidCapsule )( b2Vec2 p1, b2Vec2 p2, float radius, b2HexColor color, void* context );
+
1265
+
1267 void ( *DrawSegment )( b2Vec2 p1, b2Vec2 p2, b2HexColor color, void* context );
+
1268
+
1270 void ( *DrawTransform )( b2Transform transform, void* context );
+
1271
+
1273 void ( *DrawPoint )( b2Vec2 p, float size, b2HexColor color, void* context );
+
1274
+
1276 void ( *DrawString )( b2Vec2 p, const char* s, void* context );
+
1277
+ +
1280
+ +
1283
+ +
1286
+ +
1289
+ +
1292
+ +
1295
+ +
1298
+ +
1301
+ +
1304
+ +
1307
+ +
1310
+ +
1313
+
1315 void* context;
+
1316} b2DebugDraw;
float sleepThreshold
Sleep velocity threshold, default is 0.05 meter per second.
Definition types.h:181
bool automaticMass
Automatically compute mass and related properties on this body from shapes.
Definition types.h:206
@@ -996,134 +996,134 @@
@ b2_bodyTypeCount
number of body types
Definition types.h:137
A body definition holds all the data needed to construct a rigid body.
Definition types.h:146
A contact manifold describes the contact points between colliding shapes.
Definition collision.h:513
-
float length
The rest length of this joint. Clamped to a stable minimum value.
Definition types.h:486
-
bool enableLimit
Enable/disable the joint limit.
Definition types.h:499
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:480
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:517
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:523
-
float dampingRatio
The spring linear damping ratio, non-dimensional.
Definition types.h:496
-
float maxMotorForce
The maximum motor force, usually in newtons.
Definition types.h:511
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:483
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:477
-
void * userData
User data pointer.
Definition types.h:520
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:474
-
bool enableSpring
Enable the distance constraint to behave like a spring.
Definition types.h:490
-
float minLength
Minimum length. Clamped to a stable minimum value.
Definition types.h:502
-
bool enableMotor
Enable/disable the joint motor.
Definition types.h:508
-
float maxLength
Maximum length. Must be greater than or equal to the minimum length.
Definition types.h:505
-
float hertz
The spring linear stiffness Hertz, cycles per second.
Definition types.h:493
-
float motorSpeed
The desired motor speed, usually in meters per second.
Definition types.h:514
+
float length
The rest length of this joint. Clamped to a stable minimum value.
Definition types.h:487
+
bool enableLimit
Enable/disable the joint limit.
Definition types.h:500
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:481
+
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:518
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:524
+
float dampingRatio
The spring linear damping ratio, non-dimensional.
Definition types.h:497
+
float maxMotorForce
The maximum motor force, usually in newtons.
Definition types.h:512
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:484
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:478
+
void * userData
User data pointer.
Definition types.h:521
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:475
+
bool enableSpring
Enable the distance constraint to behave like a spring.
Definition types.h:491
+
float minLength
Minimum length. Clamped to a stable minimum value.
Definition types.h:503
+
bool enableMotor
Enable/disable the joint motor.
Definition types.h:509
+
float maxLength
Maximum length. Must be greater than or equal to the minimum length.
Definition types.h:506
+
float hertz
The spring linear stiffness Hertz, cycles per second.
Definition types.h:494
+
float motorSpeed
The desired motor speed, usually in meters per second.
Definition types.h:515
b2DistanceJointDef b2DefaultDistanceJointDef(void)
Use this to initialize your joint definition.
-
Distance joint definition.
Definition types.h:472
-
int32_t moveCount
Number of move events.
Definition types.h:1011
-
b2ShapeId sensorShapeId
The id of the sensor shape.
Definition types.h:887
-
b2ContactBeginTouchEvent * beginEvents
Array of begin touch events.
Definition types.h:966
-
float approachSpeed
The speed the shapes are approaching. Always positive. Typically in meters per second.
Definition types.h:957
-
b2ShapeId shapeIdB
Id of the second shape.
Definition types.h:938
-
int32_t endCount
Number of end touch events.
Definition types.h:978
-
b2ShapeId shapeIdA
Id of the first shape.
Definition types.h:925
-
b2BodyMoveEvent * moveEvents
Array of move events.
Definition types.h:1008
-
b2Vec2 normal
Normal vector pointing from shape A to shape B.
Definition types.h:954
-
b2ContactHitEvent * hitEvents
Array of hit events.
Definition types.h:972
-
b2ShapeId shapeIdB
Id of the second shape.
Definition types.h:928
-
b2SensorEndTouchEvent * endEvents
Array of sensor end touch events.
Definition types.h:912
-
b2ShapeId shapeIdA
Id of the first shape.
Definition types.h:935
-
int32_t endCount
The number of end touch events.
Definition types.h:918
-
b2ShapeId sensorShapeId
The id of the sensor shape.
Definition types.h:897
-
int32_t beginCount
Number of begin touch events.
Definition types.h:975
-
b2ShapeId visitorShapeId
The id of the dynamic shape that stopped touching the sensor shape.
Definition types.h:900
-
b2ShapeId shapeIdB
Id of the second shape.
Definition types.h:948
-
b2ContactEndTouchEvent * endEvents
Array of end touch events.
Definition types.h:969
-
b2Vec2 point
Point where the shapes hit.
Definition types.h:951
-
b2ShapeId shapeIdA
Id of the first shape.
Definition types.h:945
-
int32_t beginCount
The number of begin touch events.
Definition types.h:915
-
int32_t hitCount
Number of hit events.
Definition types.h:981
-
b2ShapeId visitorShapeId
The id of the dynamic shape that began touching the sensor shape.
Definition types.h:890
-
b2SensorBeginTouchEvent * beginEvents
Array of sensor begin touch events.
Definition types.h:909
-
Body events are buffered in the Box2D world and are available as event arrays after the time step is ...
Definition types.h:1006
-
Body move events triggered when a body moves.
Definition types.h:995
-
A begin touch event is generated when two shapes begin touching.
Definition types.h:923
-
The contact data for two shapes.
Definition types.h:1018
-
An end touch event is generated when two shapes stop touching.
Definition types.h:933
-
Contact events are buffered in the Box2D world and are available as event arrays after the time step ...
Definition types.h:964
-
A hit touch event is generated when two shapes collide with a speed faster than the hit speed thresho...
Definition types.h:943
-
A begin touch event is generated when a shape starts to overlap a sensor shape.
Definition types.h:885
-
An end touch event is generated when a shape stops overlapping a sensor shape.
Definition types.h:895
-
Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays aft...
Definition types.h:907
+
Distance joint definition.
Definition types.h:473
+
int32_t moveCount
Number of move events.
Definition types.h:1012
+
b2ShapeId sensorShapeId
The id of the sensor shape.
Definition types.h:888
+
b2ContactBeginTouchEvent * beginEvents
Array of begin touch events.
Definition types.h:967
+
float approachSpeed
The speed the shapes are approaching. Always positive. Typically in meters per second.
Definition types.h:958
+
b2ShapeId shapeIdB
Id of the second shape.
Definition types.h:939
+
int32_t endCount
Number of end touch events.
Definition types.h:979
+
b2ShapeId shapeIdA
Id of the first shape.
Definition types.h:926
+
b2BodyMoveEvent * moveEvents
Array of move events.
Definition types.h:1009
+
b2Vec2 normal
Normal vector pointing from shape A to shape B.
Definition types.h:955
+
b2ContactHitEvent * hitEvents
Array of hit events.
Definition types.h:973
+
b2ShapeId shapeIdB
Id of the second shape.
Definition types.h:929
+
b2SensorEndTouchEvent * endEvents
Array of sensor end touch events.
Definition types.h:913
+
b2ShapeId shapeIdA
Id of the first shape.
Definition types.h:936
+
int32_t endCount
The number of end touch events.
Definition types.h:919
+
b2ShapeId sensorShapeId
The id of the sensor shape.
Definition types.h:898
+
int32_t beginCount
Number of begin touch events.
Definition types.h:976
+
b2ShapeId visitorShapeId
The id of the dynamic shape that stopped touching the sensor shape.
Definition types.h:901
+
b2ShapeId shapeIdB
Id of the second shape.
Definition types.h:949
+
b2ContactEndTouchEvent * endEvents
Array of end touch events.
Definition types.h:970
+
b2Vec2 point
Point where the shapes hit.
Definition types.h:952
+
b2ShapeId shapeIdA
Id of the first shape.
Definition types.h:946
+
int32_t beginCount
The number of begin touch events.
Definition types.h:916
+
int32_t hitCount
Number of hit events.
Definition types.h:982
+
b2ShapeId visitorShapeId
The id of the dynamic shape that began touching the sensor shape.
Definition types.h:891
+
b2SensorBeginTouchEvent * beginEvents
Array of sensor begin touch events.
Definition types.h:910
+
Body events are buffered in the Box2D world and are available as event arrays after the time step is ...
Definition types.h:1007
+
Body move events triggered when a body moves.
Definition types.h:996
+
A begin touch event is generated when two shapes begin touching.
Definition types.h:924
+
The contact data for two shapes.
Definition types.h:1019
+
An end touch event is generated when two shapes stop touching.
Definition types.h:934
+
Contact events are buffered in the Box2D world and are available as event arrays after the time step ...
Definition types.h:965
+
A hit touch event is generated when two shapes collide with a speed faster than the hit speed thresho...
Definition types.h:944
+
A begin touch event is generated when a shape starts to overlap a sensor shape.
Definition types.h:886
+
An end touch event is generated when a shape stops overlapping a sensor shape.
Definition types.h:896
+
Sensor events are buffered in the Box2D world and are available as begin/end overlap event arrays aft...
Definition types.h:908
Body id references a body instance. This should be treated as an opaque handle.
Definition id.h:45
Shape id references a shape instance. This should be treated as an opaque handle.
Definition id.h:53
-
b2JointType
Joint type enumeration.
Definition types.h:454
+
b2JointType
Joint type enumeration.
Definition types.h:455
Axis-aligned bounding box.
Definition math_functions.h:52
2D rotation This is similar to using a complex number for rotation
Definition math_functions.h:31
A 2D rigid transform.
Definition math_functions.h:38
2D vector This can be used to represent a point or free vector
Definition math_functions.h:23
-
float maxForce
The maximum motor force in newtons.
Definition types.h:549
-
float correctionFactor
Position correction factor in the range [0,1].
Definition types.h:555
-
b2Vec2 linearOffset
Position of bodyB minus the position of bodyA, in bodyA's frame.
Definition types.h:543
-
float angularOffset
The bodyB angle minus bodyA angle in radians.
Definition types.h:546
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:540
-
void * userData
User data pointer.
Definition types.h:561
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:537
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:564
-
float maxTorque
The maximum motor torque in newton-meters.
Definition types.h:552
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:558
+
float maxForce
The maximum motor force in newtons.
Definition types.h:550
+
float correctionFactor
Position correction factor in the range [0,1].
Definition types.h:556
+
b2Vec2 linearOffset
Position of bodyB minus the position of bodyA, in bodyA's frame.
Definition types.h:544
+
float angularOffset
The bodyB angle minus bodyA angle in radians.
Definition types.h:547
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:541
+
void * userData
User data pointer.
Definition types.h:562
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:538
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:565
+
float maxTorque
The maximum motor torque in newton-meters.
Definition types.h:553
+
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:559
b2MotorJointDef b2DefaultMotorJointDef(void)
Use this to initialize your joint definition.
-
A motor joint is used to control the relative motion between two bodies.
Definition types.h:535
-
void * userData
User data pointer.
Definition types.h:600
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:597
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:582
-
float maxForce
Maximum force, typically in newtons.
Definition types.h:594
-
float hertz
Stiffness in hertz.
Definition types.h:588
-
b2Vec2 target
The initial target point in world space.
Definition types.h:585
-
float dampingRatio
Damping ratio, non-dimensional.
Definition types.h:591
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:603
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:579
+
A motor joint is used to control the relative motion between two bodies.
Definition types.h:536
+
void * userData
User data pointer.
Definition types.h:601
+
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:598
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:583
+
float maxForce
Maximum force, typically in newtons.
Definition types.h:595
+
float hertz
Stiffness in hertz.
Definition types.h:589
+
b2Vec2 target
The initial target point in world space.
Definition types.h:586
+
float dampingRatio
Damping ratio, non-dimensional.
Definition types.h:592
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:604
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:580
b2MouseJointDef b2DefaultMouseJointDef(void)
Use this to initialize your joint definition.
-
A mouse joint is used to make a point on a body track a specified world point.
Definition types.h:577
-
void * userData
User data pointer.
Definition types.h:668
-
float lowerTranslation
The lower translation limit.
Definition types.h:650
-
bool enableMotor
Enable/disable the joint motor.
Definition types.h:656
-
float motorSpeed
The desired motor speed, typically in meters per second.
Definition types.h:662
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:629
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:620
-
bool enableSpring
Enable a linear spring along the prismatic joint axis.
Definition types.h:638
-
float upperTranslation
The upper translation limit.
Definition types.h:653
-
float dampingRatio
The spring damping ratio, non-dimensional.
Definition types.h:644
-
bool enableLimit
Enable/disable the joint limit.
Definition types.h:647
-
float hertz
The spring stiffness Hertz, cycles per second.
Definition types.h:641
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:626
-
float referenceAngle
The constrained angle between the bodies: bodyB_angle - bodyA_angle.
Definition types.h:635
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:671
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:623
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:665
-
b2Vec2 localAxisA
The local translation unit axis in bodyA.
Definition types.h:632
-
float maxMotorForce
The maximum motor force, typically in newtons.
Definition types.h:659
-
Prismatic joint definition.
Definition types.h:618
-
float dampingRatio
The spring damping ratio, non-dimensional.
Definition types.h:715
-
float lowerAngle
The lower angle for the joint limit in radians.
Definition types.h:721
-
bool enableLimit
A flag to enable joint limits.
Definition types.h:718
-
float motorSpeed
The desired motor speed in radians per second.
Definition types.h:733
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:702
-
void * userData
User data pointer.
Definition types.h:742
-
float upperAngle
The upper angle for the joint limit in radians.
Definition types.h:724
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:699
-
float referenceAngle
The bodyB angle minus bodyA angle in the reference state (radians).
Definition types.h:706
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:739
-
bool enableSpring
Enable a rotational spring on the revolute hinge axis.
Definition types.h:709
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:693
-
float hertz
The spring stiffness Hertz, cycles per second.
Definition types.h:712
-
bool enableMotor
A flag to enable the joint motor.
Definition types.h:727
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:696
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:745
-
float maxMotorTorque
The maximum motor torque, typically in newton-meters.
Definition types.h:730
-
float drawSize
Scale the debug draw.
Definition types.h:736
+
A mouse joint is used to make a point on a body track a specified world point.
Definition types.h:578
+
void * userData
User data pointer.
Definition types.h:669
+
float lowerTranslation
The lower translation limit.
Definition types.h:651
+
bool enableMotor
Enable/disable the joint motor.
Definition types.h:657
+
float motorSpeed
The desired motor speed, typically in meters per second.
Definition types.h:663
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:630
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:621
+
bool enableSpring
Enable a linear spring along the prismatic joint axis.
Definition types.h:639
+
float upperTranslation
The upper translation limit.
Definition types.h:654
+
float dampingRatio
The spring damping ratio, non-dimensional.
Definition types.h:645
+
bool enableLimit
Enable/disable the joint limit.
Definition types.h:648
+
float hertz
The spring stiffness Hertz, cycles per second.
Definition types.h:642
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:627
+
float referenceAngle
The constrained angle between the bodies: bodyB_angle - bodyA_angle.
Definition types.h:636
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:672
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:624
+
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:666
+
b2Vec2 localAxisA
The local translation unit axis in bodyA.
Definition types.h:633
+
float maxMotorForce
The maximum motor force, typically in newtons.
Definition types.h:660
+
Prismatic joint definition.
Definition types.h:619
+
float dampingRatio
The spring damping ratio, non-dimensional.
Definition types.h:716
+
float lowerAngle
The lower angle for the joint limit in radians.
Definition types.h:722
+
bool enableLimit
A flag to enable joint limits.
Definition types.h:719
+
float motorSpeed
The desired motor speed in radians per second.
Definition types.h:734
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:703
+
void * userData
User data pointer.
Definition types.h:743
+
float upperAngle
The upper angle for the joint limit in radians.
Definition types.h:725
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:700
+
float referenceAngle
The bodyB angle minus bodyA angle in the reference state (radians).
Definition types.h:707
+
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:740
+
bool enableSpring
Enable a rotational spring on the revolute hinge axis.
Definition types.h:710
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:694
+
float hertz
The spring stiffness Hertz, cycles per second.
Definition types.h:713
+
bool enableMotor
A flag to enable the joint motor.
Definition types.h:728
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:697
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:746
+
float maxMotorTorque
The maximum motor torque, typically in newton-meters.
Definition types.h:731
+
float drawSize
Scale the debug draw.
Definition types.h:737
b2RevoluteJointDef b2DefaultRevoluteJointDef(void)
Use this to initialize your joint definition.
-
Revolute joint definition.
Definition types.h:691
-
b2Filter filter
Contact filtering data.
Definition types.h:389
-
bool isLoop
Indicates a closed chain formed by connecting the first and last points.
Definition types.h:392
+
Revolute joint definition.
Definition types.h:692
+
b2Filter filter
Contact filtering data.
Definition types.h:390
+
bool isLoop
Indicates a closed chain formed by connecting the first and last points.
Definition types.h:393
float restitution
The restitution (bounce) usually in the range [0,1].
Definition types.h:316
uint32_t categoryBits
The collision category bits of this query. Normally you would just set one bit.
Definition types.h:268
-
void * userData
Use this to store application specific shape data.
Definition types.h:374
+
void * userData
Use this to store application specific shape data.
Definition types.h:375
bool enablePreSolveEvents
Enable pre-solve contact events for this shape.
Definition types.h:341
float friction
The Coulomb (dry) friction coefficient, usually in the range [0,1].
Definition types.h:313
int32_t groupIndex
Collision groups allow a certain group of objects to never collide (negative) or always collide (posi...
Definition types.h:254
@@ -1131,19 +1131,19 @@
bool isSensor
A sensor shape generates overlap events but never generates a collision response.
Definition types.h:328
void * userData
Use this to store application specific shape data.
Definition types.h:310
uint32_t categoryBits
The collision category bits.
Definition types.h:237
-
const b2Vec2 * points
An array of at least 4 points. These are cloned and may be temporary.
Definition types.h:377
+
const b2Vec2 * points
An array of at least 4 points. These are cloned and may be temporary.
Definition types.h:378
bool enableContactEvents
Enable contact events for this shape. Only applies to kinematic and dynamic bodies....
Definition types.h:334
-
float restitution
The restitution (elasticity) usually in the range [0,1].
Definition types.h:386
-
float friction
The friction coefficient, usually in the range [0,1].
Definition types.h:383
-
bool forceContactCreation
Normally shapes on static bodies don't invoke contact creation when they are added to the world.
Definition types.h:346
+
float restitution
The restitution (elasticity) usually in the range [0,1].
Definition types.h:387
+
float friction
The friction coefficient, usually in the range [0,1].
Definition types.h:384
+
bool forceContactCreation
Normally shapes on static bodies don't invoke contact creation when they are added to the world.
Definition types.h:347
bool enableHitEvents
Enable hit events for this shape. Only applies to kinematic and dynamic bodies. Ignored for sensors.
Definition types.h:337
b2Filter filter
Collision filtering data.
Definition types.h:322
float density
The density, usually in kg/m^2.
Definition types.h:319
uint32_t maskBits
The collision mask bits.
Definition types.h:272
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:349
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:350
bool enableSensorEvents
Enable sensor events for this shape. Only applies to kinematic and dynamic bodies....
Definition types.h:331
-
int32_t count
The point count, must be 4 or more.
Definition types.h:380
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:395
+
int32_t count
The point count, must be 4 or more.
Definition types.h:381
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:396
uint32_t customColor
Custom debug draw color.
Definition types.h:325
b2QueryFilter b2DefaultQueryFilter(void)
Use this to initialize your query filter.
b2ChainDef b2DefaultChainDef(void)
Use this to initialize your chain definition.
@@ -1156,43 +1156,43 @@
@ b2_circleShape
A circle with an offset.
Definition types.h:284
@ b2_segmentShape
A line segment.
Definition types.h:290
@ b2_capsuleShape
A capsule is an extruded circle.
Definition types.h:287
-
Used to create a chain of edges.
Definition types.h:372
+
Used to create a chain of edges.
Definition types.h:373
This is used to filter collision on shapes.
Definition types.h:224
The query filter is used to filter collisions between queries and shapes.
Definition types.h:266
Used to create a shape.
Definition types.h:308
-
float linearHertz
Linear stiffness expressed as Hertz (cycles per second). Use zero for maximum stiffness.
Definition types.h:776
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:767
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:764
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:770
-
void * userData
User data pointer.
Definition types.h:791
-
float referenceAngle
The bodyB angle minus bodyA angle in the reference state (radians)
Definition types.h:773
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:761
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:794
-
float angularHertz
Angular stiffness as Hertz (cycles per second). Use zero for maximum stiffness.
Definition types.h:779
-
float angularDampingRatio
Linear damping ratio, non-dimensional. Use 1 for critical damping.
Definition types.h:785
-
float linearDampingRatio
Linear damping ratio, non-dimensional. Use 1 for critical damping.
Definition types.h:782
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:788
+
float linearHertz
Linear stiffness expressed as Hertz (cycles per second). Use zero for maximum stiffness.
Definition types.h:777
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:768
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:765
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:771
+
void * userData
User data pointer.
Definition types.h:792
+
float referenceAngle
The bodyB angle minus bodyA angle in the reference state (radians)
Definition types.h:774
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:762
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:795
+
float angularHertz
Angular stiffness as Hertz (cycles per second). Use zero for maximum stiffness.
Definition types.h:780
+
float angularDampingRatio
Linear damping ratio, non-dimensional. Use 1 for critical damping.
Definition types.h:786
+
float linearDampingRatio
Linear damping ratio, non-dimensional. Use 1 for critical damping.
Definition types.h:783
+
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:789
b2WeldJointDef b2DefaultWeldJointDef(void)
Use this to initialize your joint definition.
-
Weld joint definition.
Definition types.h:759
-
bool enableSpring
Enable a linear spring along the local axis.
Definition types.h:826
-
float hertz
Spring stiffness in Hertz.
Definition types.h:829
-
float motorSpeed
The desired motor speed in radians per second.
Definition types.h:850
-
bool enableLimit
Enable/disable the joint linear limit.
Definition types.h:835
-
float upperTranslation
The upper translation limit.
Definition types.h:841
-
float lowerTranslation
The lower translation limit.
Definition types.h:838
-
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:853
-
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:859
-
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:820
-
float dampingRatio
Spring damping ratio, non-dimensional.
Definition types.h:832
-
b2BodyId bodyIdB
The second attached body.
Definition types.h:814
-
bool enableMotor
Enable/disable the joint rotational motor.
Definition types.h:844
-
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:817
-
b2BodyId bodyIdA
The first attached body.
Definition types.h:811
-
void * userData
User data pointer.
Definition types.h:856
-
float maxMotorTorque
The maximum motor torque, typically in newton-meters.
Definition types.h:847
-
b2Vec2 localAxisA
The local translation unit axis in bodyA.
Definition types.h:823
+
Weld joint definition.
Definition types.h:760
+
bool enableSpring
Enable a linear spring along the local axis.
Definition types.h:827
+
float hertz
Spring stiffness in Hertz.
Definition types.h:830
+
float motorSpeed
The desired motor speed in radians per second.
Definition types.h:851
+
bool enableLimit
Enable/disable the joint linear limit.
Definition types.h:836
+
float upperTranslation
The upper translation limit.
Definition types.h:842
+
float lowerTranslation
The lower translation limit.
Definition types.h:839
+
bool collideConnected
Set this flag to true if the attached bodies should collide.
Definition types.h:854
+
int32_t internalValue
Used internally to detect a valid definition. DO NOT SET.
Definition types.h:860
+
b2Vec2 localAnchorB
The local anchor point relative to bodyB's origin.
Definition types.h:821
+
float dampingRatio
Spring damping ratio, non-dimensional.
Definition types.h:833
+
b2BodyId bodyIdB
The second attached body.
Definition types.h:815
+
bool enableMotor
Enable/disable the joint rotational motor.
Definition types.h:845
+
b2Vec2 localAnchorA
The local anchor point relative to bodyA's origin.
Definition types.h:818
+
b2BodyId bodyIdA
The first attached body.
Definition types.h:812
+
void * userData
User data pointer.
Definition types.h:857
+
float maxMotorTorque
The maximum motor torque, typically in newton-meters.
Definition types.h:848
+
b2Vec2 localAxisA
The local translation unit axis in bodyA.
Definition types.h:824
b2WheelJointDef b2DefaultWheelJointDef(void)
Use this to initialize your joint definition.
-
Wheel joint definition.
Definition types.h:809
+
Wheel joint definition.
Definition types.h:810
float contactHertz
Contact stiffness. Cycles per second.
Definition types.h:80
float contactDampingRatio
Contact bounciness. Non-dimensional.
Definition types.h:83
bool enableContinous
Enable continuous collision.
Definition types.h:98
@@ -1209,40 +1209,40 @@
b2EnqueueTaskCallback * enqueueTask
Function to spawn tasks.
Definition types.h:106
float maximumLinearVelocity
Maximum linear velocity. Usually meters per second.
Definition types.h:92
float jointDampingRatio
Joint bounciness. Non-dimensional.
Definition types.h:89
-
bool b2OverlapResultFcn(b2ShapeId shapeId, void *context)
Prototype callback for overlap queries.
Definition types.h:1059
+
bool b2OverlapResultFcn(b2ShapeId shapeId, void *context)
Prototype callback for overlap queries.
Definition types.h:1060
void b2TaskCallback(int32_t startIndex, int32_t endIndex, uint32_t workerIndex, void *taskContext)
Task interface This is prototype for a Box2D task.
Definition types.h:30
-
bool b2PreSolveFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold *manifold, void *context)
Prototype for a pre-solve callback.
Definition types.h:1052
+
bool b2PreSolveFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, b2Manifold *manifold, void *context)
Prototype for a pre-solve callback.
Definition types.h:1053
void * b2EnqueueTaskCallback(b2TaskCallback *task, int32_t itemCount, int32_t minRange, void *taskContext, void *userContext)
These functions can be provided to Box2D to invoke a task system.
Definition types.h:43
-
float b2CastResultFcn(b2ShapeId shapeId, b2Vec2 point, b2Vec2 normal, float fraction, void *context)
Prototype callback for ray casts.
Definition types.h:1076
-
bool b2CustomFilterFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, void *context)
Prototype for a contact filter callback.
Definition types.h:1037
+
float b2CastResultFcn(b2ShapeId shapeId, b2Vec2 point, b2Vec2 normal, float fraction, void *context)
Prototype callback for ray casts.
Definition types.h:1077
+
bool b2CustomFilterFcn(b2ShapeId shapeIdA, b2ShapeId shapeIdB, void *context)
Prototype for a contact filter callback.
Definition types.h:1038
b2WorldDef b2DefaultWorldDef(void)
Use this to initialize your world definition.
void b2FinishTaskCallback(void *userTask, void *userContext)
Finishes a user task object that wraps a Box2D task.
Definition types.h:48
Result from b2World_RayCastClosest.
Definition types.h:53
World definition used to create a simulation world.
Definition types.h:65
-
This struct holds callbacks you can implement to draw a Box2D world.
Definition types.h:1245
-
b2AABB drawingBounds
Bounds to use if restricting drawing to a rectangular region.
Definition types.h:1278
-
bool drawJoints
Option to draw joints.
Definition types.h:1287
-
bool drawFrictionImpulses
Option to draw contact friction impulses.
Definition types.h:1311
-
void(* DrawSegment)(b2Vec2 p1, b2Vec2 p2, b2HexColor color, void *context)
Draw a line segment.
Definition types.h:1266
-
bool drawContactImpulses
Option to draw contact normal impulses.
Definition types.h:1308
-
bool drawContacts
Option to draw contact points.
Definition types.h:1299
-
void(* DrawSolidCircle)(b2Transform transform, float radius, b2HexColor color, void *context)
Draw a solid circle.
Definition types.h:1257
-
void * context
User context that is passed as an argument to drawing callback functions.
Definition types.h:1314
-
void(* DrawSolidCapsule)(b2Vec2 p1, b2Vec2 p2, float radius, b2HexColor color, void *context)
Draw a solid capsule.
Definition types.h:1263
-
void(* DrawSolidPolygon)(b2Transform transform, const b2Vec2 *vertices, int vertexCount, float radius, b2HexColor color, void *context)
Draw a solid closed polygon provided in CCW order.
Definition types.h:1250
-
bool drawShapes
Option to draw shapes.
Definition types.h:1284
-
bool drawJointExtras
Option to draw additional information for joints.
Definition types.h:1290
-
void(* DrawString)(b2Vec2 p, const char *s, void *context)
Draw a string.
Definition types.h:1275
-
void(* DrawCapsule)(b2Vec2 p1, b2Vec2 p2, float radius, b2HexColor color, void *context)
Draw a capsule.
Definition types.h:1260
-
bool drawAABBs
Option to draw the bounding boxes for shapes.
Definition types.h:1293
-
bool drawGraphColors
Option to visualize the graph coloring used for contacts and joints.
Definition types.h:1302
-
bool drawContactNormals
Option to draw contact normals.
Definition types.h:1305
-
void(* DrawPoint)(b2Vec2 p, float size, b2HexColor color, void *context)
Draw a point.
Definition types.h:1272
-
bool useDrawingBounds
Option to restrict drawing to a rectangular region. May suffer from unstable depth sorting.
Definition types.h:1281
-
void(* DrawTransform)(b2Transform transform, void *context)
Draw a transform. Choose your own length scale.
Definition types.h:1269
-
bool drawMass
Option to draw the mass and center of mass of dynamic bodies.
Definition types.h:1296
-
void(* DrawCircle)(b2Vec2 center, float radius, b2HexColor color, void *context)
Draw a circle.
Definition types.h:1254
-
void(* DrawPolygon)(const b2Vec2 *vertices, int vertexCount, b2HexColor color, void *context)
Draw a closed polygon provided in CCW order.
Definition types.h:1247
+
This struct holds callbacks you can implement to draw a Box2D world.
Definition types.h:1246
+
b2AABB drawingBounds
Bounds to use if restricting drawing to a rectangular region.
Definition types.h:1279
+
bool drawJoints
Option to draw joints.
Definition types.h:1288
+
bool drawFrictionImpulses
Option to draw contact friction impulses.
Definition types.h:1312
+
void(* DrawSegment)(b2Vec2 p1, b2Vec2 p2, b2HexColor color, void *context)
Draw a line segment.
Definition types.h:1267
+
bool drawContactImpulses
Option to draw contact normal impulses.
Definition types.h:1309
+
bool drawContacts
Option to draw contact points.
Definition types.h:1300
+
void(* DrawSolidCircle)(b2Transform transform, float radius, b2HexColor color, void *context)
Draw a solid circle.
Definition types.h:1258
+
void * context
User context that is passed as an argument to drawing callback functions.
Definition types.h:1315
+
void(* DrawSolidCapsule)(b2Vec2 p1, b2Vec2 p2, float radius, b2HexColor color, void *context)
Draw a solid capsule.
Definition types.h:1264
+
void(* DrawSolidPolygon)(b2Transform transform, const b2Vec2 *vertices, int vertexCount, float radius, b2HexColor color, void *context)
Draw a solid closed polygon provided in CCW order.
Definition types.h:1251
+
bool drawShapes
Option to draw shapes.
Definition types.h:1285
+
bool drawJointExtras
Option to draw additional information for joints.
Definition types.h:1291
+
void(* DrawString)(b2Vec2 p, const char *s, void *context)
Draw a string.
Definition types.h:1276
+
void(* DrawCapsule)(b2Vec2 p1, b2Vec2 p2, float radius, b2HexColor color, void *context)
Draw a capsule.
Definition types.h:1261
+
bool drawAABBs
Option to draw the bounding boxes for shapes.
Definition types.h:1294
+
bool drawGraphColors
Option to visualize the graph coloring used for contacts and joints.
Definition types.h:1303
+
bool drawContactNormals
Option to draw contact normals.
Definition types.h:1306
+
void(* DrawPoint)(b2Vec2 p, float size, b2HexColor color, void *context)
Draw a point.
Definition types.h:1273
+
bool useDrawingBounds
Option to restrict drawing to a rectangular region. May suffer from unstable depth sorting.
Definition types.h:1282
+
void(* DrawTransform)(b2Transform transform, void *context)
Draw a transform. Choose your own length scale.
Definition types.h:1270
+
bool drawMass
Option to draw the mass and center of mass of dynamic bodies.
Definition types.h:1297
+
void(* DrawCircle)(b2Vec2 center, float radius, b2HexColor color, void *context)
Draw a circle.
Definition types.h:1255
+
void(* DrawPolygon)(const b2Vec2 *vertices, int vertexCount, b2HexColor color, void *context)
Draw a closed polygon provided in CCW order.
Definition types.h:1248
diff --git a/documentation/unionb2_contact_i_d-members.html b/documentation/unionb2_contact_i_d-members.html deleted file mode 100644 index f7e59bf..0000000 --- a/documentation/unionb2_contact_i_d-members.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Box2D: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
b2ContactID Member List
-
-
- -

This is the complete list of members for b2ContactID, including all inherited members.

- - - -
cf (defined in b2ContactID)b2ContactID
keyb2ContactID
-
- - - - diff --git a/documentation/unionb2_contact_i_d.html b/documentation/unionb2_contact_i_d.html deleted file mode 100644 index e7058dd..0000000 --- a/documentation/unionb2_contact_i_d.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - -Box2D: b2ContactID Union Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Box2D -  2.4.1 -
-
A 2D physics engine for games
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
b2ContactID Union Reference
-
-
- -

Contact ids to facilitate warm starting. - More...

- -

#include <b2_collision.h>

- - - - - - - -

-Public Attributes

-b2ContactFeature cf
 
-uint32 key
 Used to quickly compare contact ids.
 
-

Detailed Description

-

Contact ids to facilitate warm starting.

-

The documentation for this union was generated from the following file: -
-
- - - - diff --git a/documentation/unionb2_contact_i_d.js b/documentation/unionb2_contact_i_d.js deleted file mode 100644 index 4ca7a68..0000000 --- a/documentation/unionb2_contact_i_d.js +++ /dev/null @@ -1,5 +0,0 @@ -var unionb2_contact_i_d = -[ - [ "cf", "unionb2_contact_i_d.html#a58b6732f909bc760f75e7aff3cd4be08", null ], - [ "key", "unionb2_contact_i_d.html#a04c04f8fdcb799b33552d01b3aa3f245", null ] -]; \ No newline at end of file diff --git a/files/benchmark_results.html b/files/benchmark_results.html index 61d3e90..0d1c44a 100644 --- a/files/benchmark_results.html +++ b/files/benchmark_results.html @@ -5,7 +5,7 @@ SPDX-FileCopyrightText: 2024 Erin Catto SPDX-License-Identifier: MIT --> - + @@ -37,7 +37,7 @@ } .chart-item { width: 100%; - height: 500px; /* Fixed height for each chart */ + height: 700px; /* Fixed height for each chart */ } canvas { background-color: #1e1e1e; @@ -110,7 +110,26 @@

Box2D Benchmarks

} ]; - const processors = ['amd7950x', 'm2air']; + const processors = [ + { + folder: 'amd7950x', + label: 'avx2' + }, + { + folder: 'm2air', + label: 'neon' + }, + { + folder: 'amd7950x_sse2', + label: 'sse2', + }, + { + + folder: 'amd7950x_float', + label: 'float' + } + ]; + const branchSelect = document.getElementById('branchSelect'); const loadButton = document.getElementById('loadButton'); var currentBranch = null; @@ -167,7 +186,7 @@

Box2D Benchmarks

{ for (const processor of processors) { - const csvUrl = repoBaseUrl + '/' + branch + '/benchmark/' + processor + '/' + file; + const csvUrl = repoBaseUrl + '/' + branch + '/benchmark/' + processor.folder + '/' + file; try { @@ -177,13 +196,31 @@

Box2D Benchmarks

if (data != null) { - datasets.push({ - label: processor + '-' + branch, + if (branch == 'main') + { + datasets.push({ + label: processor.label, + + // convert the csv data into chart ready data + data: data.map(row => ({ x: row.threads, y: row.fps })), + fill: false + }); + } + else + { + // remove leading name from branch name (e.g. erincatto) + const branchLabel = branch.split('/').pop(); - // convert the csv data into chart ready data - data: data.map(row => ({ x: row.threads, y: row.fps })), - fill: false - }); + datasets.push({ + label: processor.label + '/' + branchLabel, + + // convert the csv data into chart ready data + data: data.map(row => ({ x: row.threads, y: row.fps })), + + borderDash: [5, 5], + fill: false + }); + } } } catch (error) {