|
gimme-alpha 0.1
|
00001 /* 00002 ** nextnano_postprocessing.h 00003 ** 00004 ** Made by Johnny Q. Hacker 00005 ** Login <solarion@borkborkbork> 00006 ** 00007 Copyright (C) 2009 Joseph Pingenot 00008 00009 This program is free software: you can redistribute it and/or modify 00010 it under the terms of the GNU Affero General Public License as published by 00011 the Free Software Foundation, either version 3 of the License, or 00012 (at your option) any later version. 00013 00014 This program is distributed in the hope that it will be useful, 00015 but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 GNU Affero General Public License for more details. 00018 00019 You should have received a copy of the GNU Affero General Public License 00020 along with this program. If not, see <http://www.gnu.org/licenses/>. 00021 00022 ** Started on Tue Mar 17 14:20:58 2009 Johnny Q. Hacker 00023 ** Last update Tue Mar 17 14:20:58 2009 Johnny Q. Hacker 00024 */ 00025 00026 #ifndef NEXTNANO_POSTPROCESSING_H_ 00027 # define NEXTNANO_POSTPROCESSING_H_ 00028 00029 #include <libmodeling/nanostructures.h> 00030 00031 enum nextnano_region_type { 00032 NNR_D1 /*Generic 1D structure*/ 00033 }; 00034 00035 enum nextnano_base_geometry { 00036 LINE 00037 }; 00038 00039 struct nextnano_region { 00040 int num; 00041 enum nextnano_region_type type; 00042 enum nextnano_base_geometry geom; 00043 void *storage; 00044 }; 00045 00046 struct nextnano_region_d1 { 00047 int priority; 00048 double zmin; 00049 double zmax; 00050 GString *material; 00051 }; 00052 00053 struct nanostructure* get_nanostructure(GHashTable* input_file, int *err); 00054 00055 void nextnano_region_free(struct nextnano_region *r); 00056 struct nextnano_region* nextnano_region_new(enum nextnano_region_type type); 00057 00058 00059 #endif /* !NEXTNANO_POSTPROCESSING_H_ */