/** * @file * base header * * This file is part of Gem-graph. * * @cond LICENSE * Copyright © 2021 Libre en Communs * Copyright © 2021-2024 Adrien Bourmault * Copyright © 2021-2024 Jean Sirmai * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * @endcond */ #pragma once #include #include #include #include #include #include #include /* Defines NULL. */ #include #include #include #include #include #include #include #include // #define G_APPLICATION_DEFAULT_FLAGS 0 TODO What was this declaration for ? /******************************************************************************/ /* S P A C E S T R U C T U R E S */ /******************************************************************************/ /** used by graphics.h */ enum { X_AXIS, Y_AXIS, Z_AXIS, N_AXIS }; /** defines an arrow address */ struct arrow_t { uint load; /**< load (or weight): the number of superimposed arrows */ uint site; /**< site one site per neighbouring target cell */ uint x; /**< x origin cell coord */ uint y; /**< y origin cell coord */ uint z; /**< z origin cell coord */ }; /** If I'm standing on Earth (or any spinning spheroid), looking towards its North pole. Then : X - X = EAST - WEST = red - cyan Y - Y = ZENITH - NADIR = green - magenta (fuschia) Z - Z = NORTH - SOUTH = blue - yellow */ #define EAST 0 /**< + x red */ #define WEST 1 /**< - x cyan */ #define ZENITH 2 /**< + y green */ #define NADIR 3 /**< - y magenta */ #define SOUTH 4 /**< + z blue */ #define NORTH 5 /**< - z yellow */