diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2019-11-03 16:23:43 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2019-11-03 16:23:43 +0000 |
| commit | 157f6c0fdb37e8490c293a44d9ed08cd3dc63291 (patch) | |
| tree | 4cfbb2899e615c90f033a31aa4019513047d805e /examples | |
| parent | add profiling support (diff) | |
| download | watch-cad-157f6c0fdb37e8490c293a44d9ed08cd3dc63291.tar.gz watch-cad-157f6c0fdb37e8490c293a44d9ed08cd3dc63291.zip | |
update examples, fixes
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/capsule.moon (renamed from examples/demo.moon) | 0 | ||||
| -rw-r--r-- | examples/create_star.lua | 26 | ||||
| -rw-r--r-- | examples/demo.lua | 40 | ||||
| -rw-r--r-- | examples/place_in_rect.lua | 17 | ||||
| -rw-r--r-- | examples/test.moon | 8 |
5 files changed, 51 insertions, 40 deletions
diff --git a/examples/demo.moon b/examples/capsule.moon index 2a9033c..2a9033c 100644 --- a/examples/demo.moon +++ b/examples/capsule.moon diff --git a/examples/create_star.lua b/examples/create_star.lua new file mode 100644 index 0000000..520cf07 --- /dev/null +++ b/examples/create_star.lua @@ -0,0 +1,26 @@ +local vec2 = (require 'cpml').vec2 + +function draw_star(S) + input.circle(S.inner) + input.circle(S.outer, { center = S.inner().center }) + + local inner, outer = S.inner(), S.outer() + + local cnt = 20 + local step = 2*math.pi/cnt + local lag = inner.center + vec2(inner.radius, 0) + for i = 0, 20 do + local r = (i % 2 == 0) and inner.radius or outer.radius + local pos = inner.center + vec2.from_cartesian(r, step * i) + + draw.cross(pos) + draw.line(pos, lag) + + -- obj = Object("object_"..i, pos, vec2(20, 20)) + -- op.add(obj) + + lag = pos + end +end + +return draw_star diff --git a/examples/demo.lua b/examples/demo.lua deleted file mode 100644 index 22076b9..0000000 --- a/examples/demo.lua +++ /dev/null @@ -1,40 +0,0 @@ --- return function (state) -function place_in_rect(state) - selection = Select_objs(state.objs, '^led-') - rect = Select_rect(state.dest) - - sx = rect.w / (#selection + 1) - - x = sx - for i, obj in ipairs(selection) do - Move(obj, rect.x + x - obj.w/2, rect.y) - x = x + sx - end -end - -function create_star(state) - local inner = Select_circle(state.inner) - local outer = Select_circle(state.outer, inner.cx, inner.cy) - - cnt = 20 - step = 2*math.pi/cnt - lag_x, lag_y = inner.cx + inner.r, inner.cy - for i = 0, 20 do - r = (i % 2 == 0) and inner.r or outer.r - x = inner.cx + math.cos(step * i) * r - y = inner.cy + math.sin(step * i) * r - obj = Object("object_"..i, x-10, y-10, 20, 20) - Add(obj) - - love.graphics.line(lag_x, lag_y, obj:center()) - lag_x, lag_y = obj:center() - end -end - -function test(S) - rect = input.rectangle(S.rect) - - input.circle(S.circle, { center = rect.min, radius = 100 }, { center = true, radius = true }) -end - -return test diff --git a/examples/place_in_rect.lua b/examples/place_in_rect.lua new file mode 100644 index 0000000..3650257 --- /dev/null +++ b/examples/place_in_rect.lua @@ -0,0 +1,17 @@ +-- return function (state) +function place_in_rect(S) + input.selection(S.objs, '^led-') + input.rect(S.dest) + + local start = S.min() + local step = S.dest():size() + step.y = 0 + + for i, obj in ipairs(S.objs()) do + local pos = start + step:scale(i) + draw.cross(pos) + -- op.move(obj, pos) + end +end + +return place_in_rect diff --git a/examples/test.moon b/examples/test.moon new file mode 100644 index 0000000..352ebd2 --- /dev/null +++ b/examples/test.moon @@ -0,0 +1,8 @@ +import vec2 from require 'cpml' + +=> + input.point @p + + input.rectangle @re, max: @p! + + input.circle @circ, center: @p! |
