1 /* 2 * Dr Geo an interactive geometry software 3 * (C) Copyright Hilaire Fernandes 1997-1998 4 * hilaire.fernandes@iname.com 5 * 6 * 7 * 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public Licences as by published 11 * by the Free Software Foundation; either version 2; or (at your option) 12 * any later version 13 * 14 * This program is distributed in the hope that it will entertaining, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILTY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General 17 * Publis License for more details. 18 * 19 * You should have received a copy of the GNU General Public License along 20 * with this program; if not, write to the Free Software Foundation, Inc. 21 * 675 Mass Ave, Cambridge, MA 02139, USA. 22 */ 23 24 #ifndef var_decl_h 25 #define var_decl_h 26 27 int objet_issue_macro_construction; 28 29 30 #define NB_MODE_MAX 10 31 #define NB_OBJET_PAR_MODE_MAX 5 32 33 // Description des modes de creations 34 objectCategory mode1[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 35 {CURVE, NO_OBJECT} 36 }; 37 // 38 objectCategory mode2[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 39 {POINT, POINT, NO_OBJECT}, 40 {POINT, VALUE, REPERE, NO_OBJECT}, 41 {EQUATION, REPERE, NO_OBJECT} 42 }; 43 // 44 objectCategory mode3[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 45 {POINT, POINT, NO_OBJECT} 46 }; 47 // 48 objectCategory mode4[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 49 {POINT, POINT, NO_OBJECT} 50 }; 51 // 52 objectCategory mode5[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 53 {POINT, POINT, NO_OBJECT}, 54 {POINT, SEGMENT, NO_OBJECT}, 55 {POINT, VALUE, NO_OBJECT} 56 }; 57 // 58 objectCategory mode6[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 59 {CURVE, CURVE, NO_OBJECT} 60 }; 61 // 62 objectCategory mode7[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 63 {POINT, DIRECTION, NO_OBJECT} 64 }; 65 // 66 objectCategory mode8[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 67 {POINT, DIRECTION, NO_OBJECT} 68 }; 69 // 70 objectCategory mode9[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 71 {LINE, POINT, NO_OBJECT}, 72 {LINE, LINE, NO_OBJECT}, 73 {LINE, HALF_LINE, NO_OBJECT}, 74 {LINE, SEGMENT, NO_OBJECT}, 75 {LINE, VECTOR, NO_OBJECT}, 76 {LINE, CIRCLE, NO_OBJECT}, 77 {LINE, ARC_CIRCLE, NO_OBJECT}, 78 {LINE, POLYGON, NO_OBJECT} 79 }; 80 // 81 objectCategory mode10[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 82 {POINT, POINT, NO_OBJECT}, 83 {POINT, LINE, NO_OBJECT}, 84 {POINT, HALF_LINE, NO_OBJECT}, 85 {POINT, SEGMENT, NO_OBJECT}, 86 {POINT, CIRCLE, NO_OBJECT}, 87 {POINT, ARC_CIRCLE, NO_OBJECT}, 88 {POINT, VECTOR, NO_OBJECT}, 89 {POINT, POLYGON, NO_OBJECT} 90 }; 91 // 92 objectCategory mode11[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 93 {VECTOR, POINT, NO_OBJECT}, 94 {VECTOR, LINE, NO_OBJECT}, 95 {VECTOR, HALF_LINE, NO_OBJECT}, 96 {VECTOR, SEGMENT, NO_OBJECT}, 97 {VECTOR, CIRCLE, NO_OBJECT}, 98 {VECTOR, ARC_CIRCLE, NO_OBJECT}, 99 {VECTOR, POLYGON, NO_OBJECT} 100 }; 101 // 102 objectCategory mode12[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 103 {VALUE, POINT, POINT, NO_OBJECT}, 104 {VALUE, LINE, POINT, NO_OBJECT}, 105 {VALUE, HALF_LINE, POINT, NO_OBJECT}, 106 {VALUE, SEGMENT, POINT, NO_OBJECT}, 107 {VALUE, VECTOR, POINT, NO_OBJECT}, 108 {VALUE, CIRCLE, POINT, NO_OBJECT}, 109 {VALUE, ARC_CIRCLE, POINT, NO_OBJECT}, 110 {VALUE, POLYGON, POINT, NO_OBJECT} 111 }; 112 // 113 objectCategory mode13[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 114 {SEGMENT, NO_OBJECT}, 115 {VECTOR, NO_OBJECT}, 116 {POINT, POINT, NO_OBJECT}, 117 {POINT, CIRCLE, NO_OBJECT}, 118 {POINT, LINE, NO_OBJECT}, 119 {CIRCLE, NO_OBJECT}, 120 {LINE, NO_OBJECT}, 121 {ARC_CIRCLE, NO_OBJECT} 122 }; 123 // 124 objectCategory mode14[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 125 {POINT, POINT, POINT, NO_OBJECT}, 126 {VECTOR, VECTOR, NO_OBJECT} 127 }; 128 // 129 objectCategory mode15[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 130 {POINT, NO_OBJECT}, 131 {VECTOR, NO_OBJECT}, 132 {LINE, NO_OBJECT}, 133 {CIRCLE, NO_OBJECT} 134 }; 135 // 136 objectCategory mode16[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 137 {VALUE, VALUE, NO_OBJECT} 138 }; 139 // 140 objectCategory mode17[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 141 {SEGMENT, NO_OBJECT}, 142 {POINT, POINT, NO_OBJECT} 143 }; 144 // 145 objectCategory mode18[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 146 {FREE_PT_ON_CURVE, CONSTRAINED_PT, NO_OBJECT} 147 }; 148 // 149 objectCategory mode19[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 150 {POINT, POINT, POINT, NO_OBJECT} 151 }; 152 // 153 objectCategory mode20[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 154 {VALUE, POINT, POINT, NO_OBJECT}, 155 {VALUE, LINE, POINT, NO_OBJECT}, 156 {VALUE, HALF_LINE, POINT, NO_OBJECT}, 157 {VALUE, SEGMENT, POINT, NO_OBJECT}, 158 {VALUE, VECTOR, POINT, NO_OBJECT}, 159 {VALUE, CIRCLE, POINT, NO_OBJECT}, 160 {VALUE, ARC_CIRCLE, POINT, NO_OBJECT}, 161 {VALUE, POLYGON, POINT, NO_OBJECT} 162 }; 163 // This a dummy mode for the polygon object 164 objectCategory mode21[NB_MODE_MAX][NB_OBJET_PAR_MODE_MAX] = { 165 {}, 166 }; 167 168 #endif 169