3#include <Threedim/TinyObj.hpp>
4#include <halp/audio.hpp>
5#include <halp/geometry.hpp>
6#include <halp/meta.hpp>
12 halp_meta(category,
"Visuals/3D/Primitives")
13 halp_meta(author,
"Jean-Michaƫl Celerier, vcglib")
14 halp_meta(manual_url,
"https://ossia.io/score-docs/processes/meshes.html#primitive")
18 std::vector<float> complete;
24 halp_meta(name,
"Plane")
25 halp_meta(c_name,
"3d_plane")
26 halp_meta(uuid,
"1e923d52-3494-49e8-8698-b001405000da")
33 halp::spinbox_i32<
"H divs.", halp::range{1, 1000, 16}> hdivs;
34 halp::spinbox_i32<
"V divs.", halp::range{1, 1000, 16}> vdivs;
37 void prepare(halp::setup) { update(); }
44 halp_meta(name,
"Cube")
45 halp_meta(c_name,
"3d_cube")
46 halp_meta(uuid,
"cf8a328a-1ba6-47f8-929f-2168bdec90b0")
55 void prepare(halp::setup) { update(); }
62 halp_meta(name,
"Sphere")
63 halp_meta(c_name,
"3d_sphere")
64 halp_meta(uuid,
"fc0df335-d0e9-4ebf-b438-6ba334741c1a")
72 : halp::hslider_i32<
"Subdivisions", halp::range{1, 5, 2}>
78 void prepare(halp::setup) { update(); }
84 halp_meta(name,
"Icosahedron")
85 halp_meta(c_name,
"3d_ico")
86 halp_meta(uuid,
"3ea9f69f-1a0e-49c2-ad16-a88e9ca628a7")
95 void prepare(halp::setup) { update(); }
101 halp_meta(name,
"Cone")
102 halp_meta(c_name,
"3d_cone")
103 halp_meta(uuid,
"8a5718c4-07f0-476b-b720-1c99e5a379a5")
111 : halp::hslider_i32<
"Subdivisions", halp::range{1, 500, 36}>
116 : halp::hslider_f32<
"R1", halp::range{0, 1000, 1}>
121 : halp::hslider_f32<
"R2", halp::range{0, 1000, 10}>
126 : halp::hslider_f32<
"Height", halp::range{0, 1000, 5}>
132 void prepare(halp::setup) { update(); }
138 halp_meta(name,
"Cylinder")
139 halp_meta(c_name,
"3d_cylinder")
140 halp_meta(uuid,
"5992830e-80fe-4461-b357-2c9b5c5e48ae")
148 : halp::hslider_i32<
"Slices", halp::range{1, 1000, 64}>
153 : halp::hslider_i32<
"Stacks", halp::range{1, 1000, 64}>
159 void prepare(halp::setup) { update(); }
165 halp_meta(name,
"Torus")
166 halp_meta(c_name,
"3d_torus")
167 halp_meta(uuid,
"85c5983c-3f4f-4bfe-b8cf-fccdf6ec5faf")
175 : halp::hslider_f32<
"R1", halp::range{0, 100, 10}>
180 : halp::hslider_f32<
"R2", halp::range{0, 100, 1}>
185 : halp::hslider_i32<
"H Divisions", halp::range{1, 50, 24}>
190 : halp::hslider_i32<
"V Divisions", halp::range{1, 50, 12}>
196 void prepare(halp::setup) { update(); }
Definition Primitive.hpp:100
Definition Primitive.hpp:42
Definition Primitive.hpp:137
Definition Primitive.hpp:83
Definition Primitive.hpp:22
Definition TinyObj.hpp:63
Definition Primitive.hpp:11
Definition TinyObj.hpp:82
Definition TinyObj.hpp:68
Definition TinyObj.hpp:72
Definition Primitive.hpp:60
Definition Primitive.hpp:164
Definition TinyObj.hpp:77