Candidate_v1.7.0
        stable
      
      
        
          | Last change
 on this file since 1ca493a was             ceaab1, checked in by Frederik Heber <heber@…>, 10 years ago | 
        
          | 
AddAtom now adds a molecule (atom always associated with a molecule).
 also by default, constructs a new molecule if none has been selected.
we missed changing the atom id on redo (new ones have different ids) and
especially now telling the associated molecule about it. This is changed
with a new molecule::changeAtomId().
 | 
        
          | 
              
Property                 mode
 set to                 100644 | 
        
          | File size:
            1.4 KB | 
      
      
| Line |  | 
|---|
| 1 | /* | 
|---|
| 2 | * AddAction.def | 
|---|
| 3 | * | 
|---|
| 4 | *  Created on: Aug 26, 2010 | 
|---|
| 5 | *      Author: heber | 
|---|
| 6 | */ | 
|---|
| 7 |  | 
|---|
| 8 | // all includes and forward declarations necessary for non-integral types below | 
|---|
| 9 | #include "LinearAlgebra/Vector.hpp" | 
|---|
| 10 | #include "World.hpp" | 
|---|
| 11 | class element; | 
|---|
| 12 |  | 
|---|
| 13 | #include "Parameters/Validators/Specific/BoxVectorValidator.hpp" | 
|---|
| 14 | #include "Parameters/Validators/Specific/ElementValidator.hpp" | 
|---|
| 15 |  | 
|---|
| 16 | // i.e. there is an integer with variable name Z that can be found in | 
|---|
| 17 | // ValueStorage by the token "Z" -> first column: int, Z, "Z" | 
|---|
| 18 | // "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value | 
|---|
| 19 | //#define paramtypes (const element *)(BoxVector) TODO: use a validator | 
|---|
| 20 | #define paramtypes (const element *)(Vector) | 
|---|
| 21 | #define paramtokens ("add-atom")("domain-position") | 
|---|
| 22 | #define paramdescriptions ("element of new atom")("position within current domain") | 
|---|
| 23 | #define paramreferences (elemental)(position) | 
|---|
| 24 | #define paramdefaults (NOPARAM_DEFAULT)(NOPARAM_DEFAULT) | 
|---|
| 25 | #define paramvalids \ | 
|---|
| 26 | (ElementValidator()) \ | 
|---|
| 27 | (BoxVectorValidator()) | 
|---|
| 28 |  | 
|---|
| 29 | #define statetypes (std::vector<atomId_t>) | 
|---|
| 30 | #define statereferences (ids) | 
|---|
| 31 |  | 
|---|
| 32 | // some defines for all the names, you may use ACTION, STATE and PARAMS | 
|---|
| 33 | #define CATEGORY Atom | 
|---|
| 34 | #define MENUNAME "atom" | 
|---|
| 35 | #define MENUPOSITION 1 | 
|---|
| 36 | #define ACTIONNAME Add | 
|---|
| 37 | #define TOKEN "add-atom" | 
|---|
| 38 |  | 
|---|
| 39 | // finally the information stored in the ActionTrait specialization | 
|---|
| 40 | #define DESCRIPTION "add atom of specified element" | 
|---|
| 41 | #define SHORTFORM "a" | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.