cg_types.h (1623B)
1 /* Copyright (C) 2022 Université de Pau et des Pays de l'Adour UPPA 2 * Copyright (C) 2022 CNRS 3 * Copyright (C) 2022 Sorbonne Université 4 * Copyright (C) 2022 Université Paul Sabatier 5 * Copyright (C) 2022 |Meso|Star> (contact@meso-star.com) 6 * 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. */ 19 20 #ifndef TYPES_H 21 #define TYPES_H 22 23 #include <rsys/rsys.h> 24 #include <rsys/dynamic_array_double.h> 25 26 struct scad_geometry; 27 28 void 29 pgeom_release(struct scad_geometry** data); 30 res_T 31 pgeom_copy(struct scad_geometry** dst, struct scad_geometry* const* src); 32 static FINLINE res_T 33 pgeom_copy_and_release 34 (struct scad_geometry** dst, struct scad_geometry* const* src) 35 { 36 ASSERT(dst && src); 37 *dst = *src; 38 return RES_OK; 39 } 40 #define DARRAY_NAME geometries 41 #define DARRAY_DATA struct scad_geometry* 42 #define DARRAY_INIT adjoining_data_init 43 #define DARRAY_FUNCTOR_RELEASE pgeom_release 44 #define DARRAY_FUNCTOR_COPY pgeom_copy 45 #define DARRAY_FUNCTOR_COPY_AND_RELEASE pgeom_copy_and_release 46 #include <rsys/dynamic_array.h> 47 48 #endif /* TYPES */