Skip to content

Commit 3d36ee8

Browse files
committed
Fix total normal impulse (erincatto/box2d#1022)
Improved usefulness of total normal impulse on contact points Distance joint now solves motor before limit Code clean up and minor fixes Logging Update clang format Dynamic tree unit test b2FreeFcn now receives the allocation size Added check for a missed call to b2Body_ApplyMassFromShapes Calling b2CreateCapsuleShape with a very short capsule now returns b2_nullShapeId Calling b2Shape_SetCapsule with a very short capsule now returns with no change. Added b2ContactId to hit events. b2Body_SetTargetTransform now has a wake option. erincatto/box2d#1019 erincatto/box2d#1015 erincatto/box2d#1014 erincatto/box2d#1010 erincatto/box2d#1009 erincatto/box2d#1005
1 parent d5fad3e commit 3d36ee8

155 files changed

Lines changed: 1113 additions & 811 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/Box2D.NET.Samples/Graphics/Draws.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
// SPDX-License-Identifier: MIT
44

55
using System;
6-
using System.Numerics;
7-
using ImGuiNET;
86
using static Box2D.NET.B2MathFunction;
97
using static Box2D.NET.Samples.Graphics.Cameras;
108
using static Box2D.NET.Samples.Graphics.Backgrounds;

src/Box2D.NET.Samples/SampleApp.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public int Run(string[] args)
6464

6565
SampleFactory.Shared.LoadSamples();
6666
SampleFactory.Shared.SortSamples();
67-
67+
6868
var currentCulture = CultureInfo.CurrentCulture;
6969
string bitness = Environment.Is64BitOperatingSystem ? "64-bit" : "32-bit";
7070

@@ -98,7 +98,7 @@ public int Run(string[] args)
9898
_context.glfw.WindowHint(WindowHintInt.ContextVersionMinor, 3);
9999
_context.glfw.WindowHint(WindowHintBool.OpenGLForwardCompat, true);
100100
_context.glfw.WindowHint(WindowHintOpenGlProfile.OpenGlProfile, OpenGlProfile.Core);
101-
101+
102102
// MSAA
103103
_context.glfw.WindowHint(WindowHintInt.Samples, 4);
104104
options.Samples = 4;
@@ -176,7 +176,7 @@ private void OnWindowResize(Vector2D<int> resize)
176176
{
177177
var width = resize.X;
178178
var height = resize.Y;
179-
179+
180180
_context.camera.width = width;
181181
_context.camera.height = height;
182182
}
@@ -374,10 +374,10 @@ private void OnWindowRender(double dt)
374374
ImGui.End();
375375

376376
s_sample.ResetText();
377-
377+
378378
var title = SampleFactory.Shared.GetTitle(_context.sampleIndex);
379379
s_sample.DrawColoredTextLine(B2HexColor.b2_colorYellow, title);
380-
380+
381381
string buffer = $"{1000.0f * _frameTime:0.0} ms - step {s_sample.m_stepCount} - " +
382382
$"camera ({_context.camera.center.X:G}, {_context.camera.center.Y:G}, {_context.camera.zoom:G})";
383383
DrawScreenString(_context.draw, 5.0f, _context.camera.height - 18.0f, B2HexColor.b2_colorSeaGreen, buffer);
@@ -422,7 +422,7 @@ public byte[] AllocFcn(uint size, int alignment)
422422
return null;
423423
}
424424

425-
private void FreeFcn(byte[] mem)
425+
private void FreeFcn(byte[] mem, uint size)
426426
{
427427
// #if defined( _MSC_VER ) || defined( __MINGW32__ ) || defined( __MINGW64__ )
428428
// _aligned_free( mem );

src/Box2D.NET.Samples/Samples/Benchmarks/BenchmarkBarrel.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public BenchmarkBarrel(SampleContext context) : base(context)
6161
float gridSize = 1.0f;
6262

6363
B2BodyDef bodyDef = b2DefaultBodyDef();
64-
B2BodyId groundId = b2CreateBody(m_worldId, ref bodyDef);
64+
B2BodyId groundId = b2CreateBody(m_worldId, bodyDef);
6565

6666
B2ShapeDef shapeDef = b2DefaultShapeDef();
6767

@@ -232,14 +232,14 @@ void CreateScene()
232232

233233
if (m_shapeType == ShapeType.e_circleShape)
234234
{
235-
m_bodies[index] = b2CreateBody(m_worldId, ref bodyDef);
235+
m_bodies[index] = b2CreateBody(m_worldId, bodyDef);
236236
circle.radius = RandomFloatRange(0.25f, 0.75f);
237237
shapeDef.material.rollingResistance = 0.2f;
238-
b2CreateCircleShape(m_bodies[index], ref shapeDef, ref circle);
238+
b2CreateCircleShape(m_bodies[index], shapeDef, circle);
239239
}
240240
else if (m_shapeType == ShapeType.e_capsuleShape)
241241
{
242-
m_bodies[index] = b2CreateBody(m_worldId, ref bodyDef);
242+
m_bodies[index] = b2CreateBody(m_worldId, bodyDef);
243243
capsule.radius = RandomFloatRange(0.25f, 0.5f);
244244
float length = RandomFloatRange(0.25f, 1.0f);
245245
capsule.center1 = new B2Vec2(0.0f, -0.5f * length);
@@ -249,13 +249,13 @@ void CreateScene()
249249
}
250250
else if (m_shapeType == ShapeType.e_mixShape)
251251
{
252-
m_bodies[index] = b2CreateBody(m_worldId, ref bodyDef);
252+
m_bodies[index] = b2CreateBody(m_worldId, bodyDef);
253253

254254
int mod = index % 3;
255255
if (mod == 0)
256256
{
257257
circle.radius = RandomFloatRange(0.25f, 0.75f);
258-
b2CreateCircleShape(m_bodies[index], ref shapeDef, ref circle);
258+
b2CreateCircleShape(m_bodies[index], shapeDef, circle);
259259
}
260260
else if (mod == 1)
261261
{
@@ -284,7 +284,7 @@ void CreateScene()
284284
}
285285
else if (m_shapeType == ShapeType.e_compoundShape)
286286
{
287-
m_bodies[index] = b2CreateBody(m_worldId, ref bodyDef);
287+
m_bodies[index] = b2CreateBody(m_worldId, bodyDef);
288288

289289
b2CreatePolygonShape(m_bodies[index], ref shapeDef, ref left);
290290
b2CreatePolygonShape(m_bodies[index], ref shapeDef, ref right);

src/Box2D.NET.Samples/Samples/Benchmarks/BenchmarkBarrel24.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,21 +32,21 @@ public BenchmarkBarrel24(SampleContext context) : base(context)
3232

3333
{
3434
B2BodyDef bodyDef = b2DefaultBodyDef();
35-
B2BodyId groundId = b2CreateBody(m_worldId, ref bodyDef);
35+
B2BodyId groundId = b2CreateBody(m_worldId, bodyDef);
3636

3737
B2Polygon box = b2MakeBox(groundSize, 1.2f);
3838
B2ShapeDef shapeDef = b2DefaultShapeDef();
3939
b2CreatePolygonShape(groundId, ref shapeDef, ref box);
4040

4141
bodyDef.rotation = b2MakeRot(0.5f * B2_PI);
4242
bodyDef.position = new B2Vec2(groundSize, 2.0f * groundSize);
43-
groundId = b2CreateBody(m_worldId, ref bodyDef);
43+
groundId = b2CreateBody(m_worldId, bodyDef);
4444

4545
box = b2MakeBox(2.0f * groundSize, 1.2f);
4646
b2CreatePolygonShape(groundId, ref shapeDef, ref box);
4747

4848
bodyDef.position = new B2Vec2(-groundSize, 2.0f * groundSize);
49-
groundId = b2CreateBody(m_worldId, ref bodyDef);
49+
groundId = b2CreateBody(m_worldId, bodyDef);
5050
b2CreatePolygonShape(groundId, ref shapeDef, ref box);
5151
}
5252

@@ -86,7 +86,7 @@ public BenchmarkBarrel24(SampleContext context) : base(context)
8686

8787
bodyDef.position = new B2Vec2(x, y);
8888

89-
B2BodyId bodyId = b2CreateBody(m_worldId, ref bodyDef);
89+
B2BodyId bodyId = b2CreateBody(m_worldId, bodyDef);
9090
b2CreatePolygonShape(bodyId, ref shapeDef, ref cuboid);
9191
}
9292
}

src/Box2D.NET.Samples/Samples/Benchmarks/BenchmarkCapacity.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public BenchmarkCapacity(SampleContext context) : base(context)
3939
{
4040
B2BodyDef bodyDef = b2DefaultBodyDef();
4141
bodyDef.position.Y = -5.0f;
42-
B2BodyId groundId = b2CreateBody(m_worldId, ref bodyDef);
42+
B2BodyId groundId = b2CreateBody(m_worldId, bodyDef);
4343

4444
B2Polygon box = b2MakeBox(800.0f, 5.0f);
4545
B2ShapeDef shapeDef = b2DefaultShapeDef();
@@ -95,7 +95,7 @@ public override void Step()
9595
bodyDef.position.X = x;
9696
bodyDef.position.Y += 0.5f;
9797

98-
B2BodyId bodyId = b2CreateBody(m_worldId, ref bodyDef);
98+
B2BodyId bodyId = b2CreateBody(m_worldId, bodyDef);
9999
b2CreatePolygonShape(bodyId, ref shapeDef, ref m_square);
100100

101101
x += 2.0f;

src/Box2D.NET.Samples/Samples/Benchmarks/BenchmarkCast.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ void BuildScene()
115115
if (fillTest <= m_fill)
116116
{
117117
bodyDef.position = new B2Vec2(x, y);
118-
B2BodyId bodyId = b2CreateBody(m_worldId, ref bodyDef);
118+
B2BodyId bodyId = b2CreateBody(m_worldId, bodyDef);
119119

120120
float ratio = RandomFloatRange(1.0f, m_ratio);
121121
float halfWidth = RandomFloatRange(0.05f, 0.25f);

src/Box2D.NET.Samples/Samples/Benchmarks/BenchmarkCompound.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public BenchmarkCompound(SampleContext context) : base(context)
3737
#endif
3838
{
3939
B2BodyDef bodyDef = b2DefaultBodyDef();
40-
B2BodyId groundId = b2CreateBody(m_worldId, ref bodyDef);
40+
B2BodyId groundId = b2CreateBody(m_worldId, bodyDef);
4141
B2ShapeDef shapeDef = b2DefaultShapeDef();
4242

4343
for (int i = 0; i < height; ++i)
@@ -86,7 +86,7 @@ public BenchmarkCompound(SampleContext context) : base(context)
8686
{
8787
float xbody = -0.5f * grid * count * span + n * span * grid;
8888
bodyDef.position = new B2Vec2(xbody, ybody);
89-
B2BodyId bodyId = b2CreateBody(m_worldId, ref bodyDef);
89+
B2BodyId bodyId = b2CreateBody(m_worldId, bodyDef);
9090

9191
for (int i = 0; i < span; ++i)
9292
{

src/Box2D.NET.Samples/Samples/Benchmarks/BenchmarkCreateDestroy.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public BenchmarkCreateDestroy(SampleContext context) : base(context)
4444
float groundSize = 100.0f;
4545

4646
B2BodyDef bodyDef = b2DefaultBodyDef();
47-
B2BodyId groundId = b2CreateBody(m_worldId, ref bodyDef);
47+
B2BodyId groundId = b2CreateBody(m_worldId, bodyDef);
4848

4949
B2Polygon box = b2MakeBox(groundSize, 1.0f);
5050
B2ShapeDef shapeDef = b2DefaultShapeDef();
@@ -106,7 +106,7 @@ void CreateScene()
106106
bodyDef.position = new B2Vec2(x, y);
107107

108108
B2_ASSERT(index < e_maxBodyCount);
109-
m_bodies[index] = b2CreateBody(m_worldId, ref bodyDef);
109+
m_bodies[index] = b2CreateBody(m_worldId, bodyDef);
110110
b2CreatePolygonShape(m_bodies[index], ref shapeDef, ref box);
111111

112112
index += 1;

src/Box2D.NET.Samples/Samples/Benchmarks/BenchmarkKinematic.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public BenchmarkKinematic(SampleContext context) : base(context)
4646
// defer mass properties to avoid n-squared mass computations
4747
shapeDef.updateBodyMass = false;
4848

49-
B2BodyId bodyId = b2CreateBody(m_worldId, ref bodyDef);
49+
B2BodyId bodyId = b2CreateBody(m_worldId, bodyDef);
5050

5151
for (int i = -span; i < span; ++i)
5252
{

src/Box2D.NET.Samples/Samples/Benchmarks/BenchmarkManyTumblers.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public BenchmarkManyTumblers(SampleContext context) : base(context)
4949
}
5050

5151
B2BodyDef bodyDef = b2DefaultBodyDef();
52-
m_groundId = b2CreateBody(m_worldId, ref bodyDef);
52+
m_groundId = b2CreateBody(m_worldId, bodyDef);
5353

5454
m_rowCount = m_isDebug ? 2 : 19;
5555
m_columnCount = m_isDebug ? 2 : 19;
@@ -73,7 +73,7 @@ void CreateTumbler(B2Vec2 position, int index)
7373
bodyDef.type = B2BodyType.b2_kinematicBody;
7474
bodyDef.position = new B2Vec2(position.X, position.Y);
7575
bodyDef.angularVelocity = (B2_PI / 180.0f) * m_angularSpeed;
76-
B2BodyId bodyId = b2CreateBody(m_worldId, ref bodyDef);
76+
B2BodyId bodyId = b2CreateBody(m_worldId, bodyDef);
7777
m_tumblerIds[index] = bodyId;
7878

7979
B2ShapeDef shapeDef = b2DefaultShapeDef();
@@ -188,7 +188,7 @@ public override void Step()
188188
B2BodyDef bodyDef = b2DefaultBodyDef();
189189
bodyDef.type = B2BodyType.b2_dynamicBody;
190190
bodyDef.position = m_positions[i];
191-
m_bodyIds[m_bodyIndex] = b2CreateBody(m_worldId, ref bodyDef);
191+
m_bodyIds[m_bodyIndex] = b2CreateBody(m_worldId, bodyDef);
192192
b2CreateCapsuleShape(m_bodyIds[m_bodyIndex], ref shapeDef, ref capsule);
193193

194194
m_bodyIndex += 1;

0 commit comments

Comments
 (0)