Branch
Hash :
36df94af
Author :
Thomas de Grivel
Date :
2025-03-02T16:13:53
Change copyright wording and extend to 2025
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
/* kc3
* Copyright from 2022 to 2025 kmx.io <contact@kmx.io>
*
* Permission is hereby granted to use this software granted the above
* copyright notice and this permission paragraph are included in all
* copies and substantial portions of this software.
*
* THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
* PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
* AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
* THIS SOFTWARE.
*/
/** @file types.h
* @brief Module KC3.Window.SDL2.Kubz
*
* Types for Kubz virtual world
*/
#ifndef KUBZ_TYPES_H
#define KUBZ_TYPES_H
#include <libkc3/types.h>
#include "../types.h"
/* Basic types. */
typedef f128 t_koord;
/* Structs. */
typedef struct gl_marching_cube_cell s_gl_marching_cube_cell;
typedef struct gl_marching_cubes s_gl_marching_cubes;
typedef struct kub s_kub;
typedef struct kubz s_kubz;
/* Enums. */
typedef enum {
CONSOLE_CLOSE,
CONSOLE_OPEN
} e_console_state;
typedef enum {
KOORD_X0 = 0,
KOORD_Y0 = 1,
KOORD_Z0 = 2,
KOORD_X1 = 3,
KOORD_Y1 = 4,
KOORD_Z1 = 5,
KOORD_MAX = 6
} e_koord;
/* 1 */
struct gl_marching_cube_cell {
s_vec3 vec3[8];
f32 value[8];
};
struct gl_marching_cubes {
s_gl_object object;
uw triangle_count;
u32 dimension[3];
s_vec3 size;
f32 * field;
f32 threshold;
};
struct kub {
s_kub *kub[8];
t_koord koord[KOORD_MAX];
};
struct kubz {
s_kub kub;
s_str name;
s_list *menu;
const s_sym *id;
};
#endif /* KUBZ_TYPES_H */