Skip to content

Commit 4ea0687

Browse files
committed
passing vec3 as value
1 parent cc339b4 commit 4ea0687

File tree

3 files changed

+24
-20
lines changed

3 files changed

+24
-20
lines changed

sources/include/cage-core/signedDistanceFunctions.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55

66
namespace cage
77
{
8-
CAGE_CORE_API Real sdfPlane(const Vec3 &pos, const Plane &plane);
9-
CAGE_CORE_API Real sdfSphere(const Vec3 &pos, Real radius);
10-
CAGE_CORE_API Real sdfCapsule(const Vec3 &pos, Real prolong, Real radius);
11-
CAGE_CORE_API Real sdfCylinder(const Vec3 &pos, Real halfHeight, Real radius);
12-
CAGE_CORE_API Real sdfBox(const Vec3 &pos, const Vec3 &radius);
13-
CAGE_CORE_API Real sdfTetrahedron(const Vec3 &pos, Real radius);
14-
CAGE_CORE_API Real sdfOctahedron(const Vec3 &pos, Real radius);
15-
CAGE_CORE_API Real sdfHexagonalPrism(const Vec3 &pos, Real halfHeight, Real radius);
16-
CAGE_CORE_API Real sdfTorus(const Vec3 &pos, Real major, Real minor);
17-
CAGE_CORE_API Real sdfKnot(const Vec3 &pos, Real scale, Real k);
8+
CAGE_CORE_API Real sdfPlane(Vec3 pos, Plane plane);
9+
CAGE_CORE_API Real sdfSphere(Vec3 pos, Real radius);
10+
CAGE_CORE_API Real sdfCapsule(Vec3 pos, Real prolong, Real radius);
11+
CAGE_CORE_API Real sdfCylinder(Vec3 pos, Real halfHeight, Real radius);
12+
CAGE_CORE_API Real sdfBox(Vec3 pos, Vec3 radius);
13+
CAGE_CORE_API Real sdfTetrahedron(Vec3 pos, Real radius);
14+
CAGE_CORE_API Real sdfOctahedron(Vec3 pos, Real radius);
15+
CAGE_CORE_API Real sdfHexagonalPrism(Vec3 pos, Real halfHeight, Real radius);
16+
CAGE_CORE_API Real sdfTorus(Vec3 pos, Real major, Real minor);
17+
CAGE_CORE_API Real sdfKnot(Vec3 pos, Real scale, Real k);
1818
}
1919

2020
#endif // guard_signedDistanceFunction_h_sdfgr1esd56r

sources/libcore/signedDistanceFunctions.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,39 @@
55

66
namespace cage
77
{
8-
Real sdfPlane(const Vec3 &pos, const Plane &pln)
8+
Real sdfPlane(Vec3 pos, Plane pln)
99
{
1010
CAGE_ASSERT(pln.valid());
1111
const Vec3 c = pln.normal * pln.d;
1212
return dot(pln.normal, pos - c);
1313
}
1414

15-
Real sdfSphere(const Vec3 &pos, Real radius)
15+
Real sdfSphere(Vec3 pos, Real radius)
1616
{
1717
return length(pos) - radius;
1818
}
1919

20-
Real sdfCapsule(const Vec3 &pos, Real prolong, Real radius)
20+
Real sdfCapsule(Vec3 pos, Real prolong, Real radius)
2121
{
2222
Vec3 p = pos;
2323
p[2] += prolong * 0.5;
2424
p[2] -= clamp(p[2], 0, prolong);
2525
return length(p) - radius;
2626
}
2727

28-
Real sdfCylinder(const Vec3 &pos, Real halfHeight, Real radius)
28+
Real sdfCylinder(Vec3 pos, Real halfHeight, Real radius)
2929
{
3030
const Vec2 d = abs(Vec2(length(Vec2(pos)), pos[2])) - Vec2(radius, halfHeight);
3131
return min(max(d[0], d[1]), 0) + length(max(d, 0));
3232
}
3333

34-
Real sdfBox(const Vec3 &pos, const Vec3 &radius)
34+
Real sdfBox(Vec3 pos, Vec3 radius)
3535
{
3636
const Vec3 p = abs(pos) - radius;
3737
return length(max(p, 0)) + min(max(p[0], max(p[1], p[2])), 0);
3838
}
3939

40-
Real sdfTetrahedron(const Vec3 &pos, Real radius)
40+
Real sdfTetrahedron(Vec3 pos, Real radius)
4141
{
4242
static constexpr const Vec3 corners[4] = { Vec3(1, 1, 1), Vec3(1, -1, -1), Vec3(-1, 1, -1), Vec3(-1, -1, 1) };
4343
static constexpr const Triangle tris[4] = {
@@ -59,7 +59,7 @@ namespace cage
5959
return mad * radius;
6060
}
6161

62-
Real sdfOctahedron(const Vec3 &pos, Real radius)
62+
Real sdfOctahedron(Vec3 pos, Real radius)
6363
{
6464
const Vec3 p = abs(pos);
6565
const Real m = p[0] + p[1] + p[2] - radius;
@@ -76,7 +76,7 @@ namespace cage
7676
return length(Vec3(q[0], q[1] - radius + k, q[2] - k));
7777
}
7878

79-
Real sdfHexagonalPrism(const Vec3 &pos, Real halfHeight, Real radius)
79+
Real sdfHexagonalPrism(Vec3 pos, Real halfHeight, Real radius)
8080
{
8181
static constexpr Vec3 k = Vec3(-0.8660254, 0.5, 0.57735);
8282
Vec3 p = abs(pos);
@@ -85,13 +85,13 @@ namespace cage
8585
return min(max(d[0], d[1]), 0.0) + length(max(d, 0.0));
8686
}
8787

88-
Real sdfTorus(const Vec3 &pos, Real major, Real minor)
88+
Real sdfTorus(Vec3 pos, Real major, Real minor)
8989
{
9090
const Vec2 q = Vec2(length(Vec2(pos)) - major, pos[2]);
9191
return length(q) - minor;
9292
}
9393

94-
Real sdfKnot(const Vec3 &pos, Real scale, Real k)
94+
Real sdfKnot(Vec3 pos, Real scale, Real k)
9595
{
9696
static constexpr Real TAU = Real::Pi() * 2;
9797
static constexpr Real norm = 2 / 14.4;

sources/libcore/wasm.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,10 @@ namespace cage
229229
{
230230
func = wasm_runtime_lookup_function(instance->instance, name.c_str());
231231
if (!func)
232+
{
233+
CAGE_LOG_THROW(Stringizer() + "function: " + name);
232234
CAGE_THROW_ERROR(Exception, "wasm function not found");
235+
}
233236

234237
const uint32 rc = wasm_func_get_result_count(func, instance->instance);
235238
if (rc >= 2)
@@ -471,6 +474,7 @@ namespace cage
471474
{
472475
const String e = wasm_runtime_get_exception(impl->instance->instance);
473476
CAGE_LOG_THROW(e);
477+
CAGE_LOG_THROW(Stringizer() + "function: " + impl->name);
474478
CAGE_THROW_ERROR(Exception, "wasm function call failed");
475479
}
476480
}

0 commit comments

Comments
 (0)