1.3.64
Loading...
Searching...
No Matches
VoxelIntersection.h
Go to the documentation of this file.
1
16
#ifndef VOXELINTERSECTION
17
#define VOXELINTERSECTION
18
19
#include "
Context.h
"
20
21
class
VoxelIntersection
{
22
public
:
24
27
VoxelIntersection
(
helios::Context
*context);
28
30
static
int
selfTest
(
int
argc = 0,
char
**argv =
nullptr
);
31
33
void
calculatePrimitiveVoxelIntersection
();
34
36
39
void
calculatePrimitiveVoxelIntersection
(std::vector<uint> UUIDs);
40
42
void
disableMessages
();
43
45
void
enableMessages
();
46
48
56
helios::vec3
linesIntersection
(
helios::vec3
line1_point,
helios::vec3
line1_direction,
helios::vec3
line2_point,
helios::vec3
line2_direction);
57
59
65
std::vector<uint>
slicePrimitive
(
uint
UUID, std::vector<helios::vec3> voxel_face_vertices,
helios::WarningAggregator
&warnings);
66
68
75
std::vector<uint>
slicePrimitivesUsingGrid
(std::vector<uint> UUIDs,
helios::vec3
grid_center,
helios::vec3
grid_size,
helios::int3
grid_divisions);
76
78
82
std::vector<std::vector<uint>>
getCellPrimitives
();
83
85
92
bool
approxSame
(
float
a,
float
b,
float
absTol,
float
relTol);
93
95
101
bool
approxSame
(
helios::vec3
a,
helios::vec3
b,
float
absTol);
102
104
112
helios::vec2
interpolate_texture_UV_to_slice_point
(
helios::vec3
p1,
helios::vec2
uv1,
helios::vec3
p2,
helios::vec2
uv2,
helios::vec3
ps);
113
114
private
:
115
helios::Context
*context;
116
117
bool
printmessages;
118
119
std::vector<std::vector<uint>> cell_primitives;
120
};
121
122
#endif
plugins
voxelintersection
include
VoxelIntersection.h
Generated by
1.9.8