Loading...
Searching...
No Matches
PCLToGeometry.hpp
1#pragma once
2
3#include <Threedim/TinyObj.hpp>
4#include <halp/buffer.hpp>
5#include <halp/controls.hpp>
6#include <halp/geometry.hpp>
7#include <halp/meta.hpp>
8
9namespace Threedim
10{
11
13{
14public:
15 halp_meta(name, "Pointcloud to mesh")
16 halp_meta(category, "Visuals/Meshes")
17 halp_meta(c_name, "pointcloud_to_mesh")
18 halp_meta(manual_url, "https://ossia.io/score-docs/processes/pointcloud-to-mesh.html")
19 halp_meta(uuid, "2450ffbf-04ed-4b42-8848-69f200d2742a")
20
21 enum BufferType
22 {
23 XYZ,
24 XYZ_RGB,
25 XYZW,
26 XYZW_RGBA
27 };
28 struct ins
29 {
30 halp::gpu_buffer_input<"Buffer"> in;
31 PositionControl position;
32 RotationControl rotation;
33 ScaleControl scale;
34 halp::enum_t<BufferType, "Buffer type"> type;
35 } inputs;
36
37 struct
38 {
39 struct
40 {
41 // Use Noiuse::dynamic_geometry
42 halp_meta(name, "Geometry");
43 halp::dynamic_gpu_geometry mesh;
44 float transform[16]{};
45 bool dirty_mesh = false;
46 bool dirty_transform = false;
47 } geometry;
48 } outputs;
49
50 PCLToMesh2();
51 void operator()();
52};
53}
Definition PCLToGeometry.hpp:13
Definition PCLToGeometry.hpp:29
Definition TinyObj.hpp:98
Definition TinyObj.hpp:103
Definition TinyObj.hpp:107
Definition TinyObj.hpp:27