| 110 |  | // this property is used for the few commands which allow negative integers | 
| 111 |  | const static int negnums      = (1 << 11); | 
| 112 |  |  | 
| 113 | + | //expression involves coordinates which will change every frame, such as withins | 
| 114 | + | const static int dynamic        = (1 << 12); | 
| 115 | + |  | 
| 116 |  | // every property is also valid in an expression context | 
| 117 |  | const static int atomproperty      = (1 << 12) | expression | negnums; | 
| 118 |  | // every predefined is also valid in an expression context | 
| 119 |  | const static int comparator        = (1 << 13) | expression; | 
| 120 |  | const static int predefinedset     = (1 << 14) | expression; | 
| 121 |  | const  static int embeddedExpression= (1 << 15); // embedded expression | 
| 122 | < |  | 
| 122 | > | const static int index = (1 << 16) | expression; | 
| 123 |  | // rasmol commands | 
| 124 |  | const static int define       = command | expressionCommand |1; | 
| 125 |  | const static int select       = command |expressionCommand |2 ; | 
| 126 |  |  | 
| 127 |  | //predefine | 
| 128 | < | const static int selected    = predefinedset |0; | 
| 128 | > | //const static int selected    = predefinedset |0; | 
| 129 |  |  | 
| 130 |  | // atom expression operators | 
| 131 |  | const static int leftparen    = expression |  0; | 
| 134 |  | const static int opAnd        = expression |  3; | 
| 135 |  | const static int opOr         = expression |  4; | 
| 136 |  | const static int opNot        = expression |  5; | 
| 137 | < | const static int within       = expression |  6; | 
| 137 | > | const static int within       = expression | dynamic | 6; | 
| 138 |  | const static int asterisk     = expression |  7; | 
| 139 |  | const static int dot          = expression | 8; | 
| 140 | < | const static int name            =  expression |9; | 
| 141 | < | const static int index            =  expression | 10; | 
| 142 | < | const static int molname            =  expression | 11; | 
| 143 | < | const static int molindex      =  expression | 12; | 
| 141 | < | const static int all          = expression | 13 ; | 
| 142 | < | const static int none      = expression | 14; | 
| 143 | < |  | 
| 140 | > | const static int all          = expression | 9 ; | 
| 141 | > | const static int none      = expression | 10; | 
| 142 | > | const static int name            =  expression |11; | 
| 143 | > | const static int to                = expression | 12; | 
| 144 |  | // miguel 2005 01 01 | 
| 145 |  | // these are used to demark the beginning and end of expressions | 
| 146 |  | // they do not exist in the source code, but are emitted by the | 
| 150 |  |  | 
| 151 |  | const static int mass         = atomproperty | 0; | 
| 152 |  | const static int charge       = atomproperty | 1; | 
| 153 | – | const static int dipole       = atomproperty | 2; | 
| 153 |  |  | 
| 154 |  | const static int opGT         = comparator |  0; | 
| 155 |  | const static int opGE         = comparator |  1; |