/*************************************************************** * * ======== kalmia ======== * * a COLLADA importer library * copyright (c) 2022 kate swanson (sanine) * * This is anti-capitalist software, released for free use by individuals and * organizations that do not operate by capitalist principles. * * Permission is hereby granted, free of charge, to any person or * organization (the "User") obtaining a copy of this software and associated * documentation files (the "Software"), to use, copy, modify, merge, * distribute, and/or sell copies of the Software, subject to the following * conditions: * * 1. The above copyright notice and this permission notice shall be included * in all copies or modified versions of the Software. * * 2. The User is one of the following: * a. An individual person, laboring for themselves * b. A non-profit organization * c. An educational institution * d. An organization that seeks shared profit for all of its members, and * allows non-members to set the cost of their labor * * 3. If the User is an organization with owners, then all owners are workers * and all workers are owners with equal equity and/or equal vote. * * 4. If the User is an organization, then the User is not law enforcement or * military, or working for or under either. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT EXPRESS OR IMPLIED WARRANTY OF * ANY KIND, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * * https://anticapitalist.software/ * https://sanine.net * ****************************************************************/ #ifndef KALMIA_H #define KALMIA_H #include /* kalmia uses semantic versioning (semver.org) */ #define KALMIA_VERSION_MAJOR 0 #define KALMIA_VERSION_MINOR 0 #define KALMIA_VERSION_PATCH 0 /* determine precision */ #ifdef KALMIA_USE_DOUBLE typedef double ka_real_t; #define KA_STR_TO_REAL(nptr, end) strtod(nptr, end) #else typedef float ka_real_t; #define KA_STR_TO_REAL(nptr, end) strtof(nptr, end) #endif /* internal buffer size for strings/sids */ #ifndef KA_BUF_SIZE #define KA_BUF_SIZE 128 #endif /* format data structures */ typedef ka_real_t ka_matrix_t[16]; #endif