/** * glass_data.h - header file from glass_data.c. * * Copyright (C) 2025 https://optics-design.com * * 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. * * See the COPYING file for the full license text. */ #ifndef GLASS_DATA_H #define GLASS_DATA_H #include "glamacdef.h" // For type definitions // Structure to represent an optical glass typedef struct { byte name[50]; f32 abbeNumber; // X-axis f32 refractiveIndex; // Y-axis } Glass; // Get number of glasses in the catalog u32 get_glass_count(void); // Get glass at index const Glass* get_glass(u32 index); // Get glass name const byte* get_glass_name(u32 index); // Find data range in glass catalog void find_glass_data_range(f32 *minAbbe, f32 *maxAbbe, f32 *minRI, f32 *maxRI); // Initialize glass data - call at program start void initialize_glass_data(void); #endif /* GLASS_DATA_H */