Changes in / [e971c4:533838]


Ignore:
Location:
src
Files:
8 added
5 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/Makefile.am

    re971c4 r533838  
    1717  ${MOLECULEACTIONSOURCE} \
    1818  ${PARSERACTIONSOURCE} \
     19  ${SELECTIONACTIONSOURCE} \
    1920  ${TESSELATIONACTIONSOURCE} \
    2021  ${WORLDACTIONSOURCE} \
     
    2829  ${MOLECULEACTIONHEADER} \
    2930  ${PARSERACTIONHEADER} \
     31  ${SELECTIONACTIONHEADER} \
    3032  ${TESSELATIONACTIONHEADER} \
    3133  ${WORLDACTIONHEADER} \
     
    111113  ParserAction/SaveXyzAction.hpp
    112114
     115SELECTIONACTIONSOURCE = \
     116        SelectionAction/AtomByIdAction.cpp \
     117        SelectionAction/MoleculeByIdAction.cpp \
     118        SelectionAction/NotAtomByIdAction.cpp \
     119        SelectionAction/NotMoleculeByIdAction.cpp
     120SELECTIONACTIONHEADER = \
     121        SelectionAction/AtomByIdAction.hpp \
     122        SelectionAction/MoleculeByIdAction.hpp \
     123        SelectionAction/NotAtomByIdAction.hpp \
     124        SelectionAction/NotMoleculeByIdAction.hpp
     125
    113126TESSELATIONACTIONSOURCE = \
    114127  TesselationAction/ConvexEnvelopeAction.cpp \
  • src/Actions/MapOfActions.cpp

    re971c4 r533838  
    6464#include "Actions/ParserAction/LoadXyzAction.hpp"
    6565#include "Actions/ParserAction/SaveXyzAction.hpp"
     66#include "Actions/SelectionAction/AtomByIdAction.hpp"
     67#include "Actions/SelectionAction/MoleculeByIdAction.hpp"
     68#include "Actions/SelectionAction/NotAtomByIdAction.hpp"
     69#include "Actions/SelectionAction/NotMoleculeByIdAction.hpp"
    6670#include "Actions/TesselationAction/ConvexEnvelopeAction.hpp"
    6771#include "Actions/TesselationAction/NonConvexEnvelopeAction.hpp"
     
    209213  DescriptionMap["version"] = "show version";
    210214  // keys for values
    211   DescriptionMap["atom-by-id"] = "index of an atom";
    212215  DescriptionMap["bin-output-file"] = "name of the bin output file";
    213216  DescriptionMap["bin-end"] = "start of the last bin";
     
    233236  DescriptionMap["periodic"] = "system is constraint to periodic boundary conditions (y/n)";
    234237  DescriptionMap["position"] = "position in R^3 space";
     238  DescriptionMap["select-atom-by-id"] = "select an atom by index";
     239  DescriptionMap["select-molecule-by-id"] = "select a molecule by index";
    235240  DescriptionMap["sphere-radius"] = "radius of tesselation sphere";
    236241  DescriptionMap["start-step"] = "first or start step";
     242  DescriptionMap["unselect-atom-by-id"] = "unselect an atom by index";
     243  DescriptionMap["unselect-molecule-by-id"] = "unselect a molecule by index";
    237244
    238245  // short forms for the actions
     
    317324
    318325  // value types for the values
    319   TypeMap["atom-by-id"] = &typeid(atom);
    320326  TypeMap["bin-output-file"] = &typeid(std::string);
    321327  TypeMap["bin-end"] = &typeid(double);
     
    340346  TypeMap["periodic"] = &typeid(bool);
    341347  TypeMap["position"] = &typeid(VectorValue);
     348  TypeMap["select-atom-by-id"] = &typeid(atom);
     349  TypeMap["select-molecule-by-id"] = &typeid(molecule);
    342350  TypeMap["sphere-radius"] = &typeid(double);
    343351  TypeMap["start-step"] = &typeid(int);
     352  TypeMap["unselect-atom-by-id"] = &typeid(atom);
     353  TypeMap["unselect-molecule-by-id"] = &typeid(molecule);
    344354
    345355  TypeEnumMap[&typeid(void)] = None;
     
    474484    // positional arguments
    475485  generic.insert("input");
    476   inputfile.insert("input");
    477486
    478487    // hidden arguments
    479   generic.insert("atom-by-id");
    480   generic.insert("bin-end");
    481   generic.insert("bin-output-file");
    482   generic.insert("bin-start");
    483   generic.insert("bin-width");
    484   generic.insert("convex-file");
    485   generic.insert("distance");
    486   generic.insert("DoRotate");
    487   generic.insert("distances");
    488   generic.insert("element");
    489   generic.insert("elements");
    490   generic.insert("end-step");
    491   generic.insert("id-mapping");
    492   generic.insert("lengths");
    493   generic.insert("MaxDistance");
    494   generic.insert("molecule-by-id");
    495   generic.insert("molecule-by-name");
    496   generic.insert("nonconvex-file");
    497   generic.insert("order");
    498   generic.insert("output-file");
    499   generic.insert("periodic");
    500   generic.insert("position");
    501   generic.insert("sphere-radius");
    502   generic.insert("start-step");
     488  hidden.insert("bin-end");
     489  hidden.insert("bin-output-file");
     490  hidden.insert("bin-start");
     491  hidden.insert("bin-width");
     492  hidden.insert("convex-file");
     493  hidden.insert("distance");
     494  hidden.insert("DoRotate");
     495  hidden.insert("distances");
     496  hidden.insert("element");
     497  hidden.insert("elements");
     498  hidden.insert("end-step");
     499  hidden.insert("id-mapping");
     500  hidden.insert("lengths");
     501  hidden.insert("MaxDistance");
     502  hidden.insert("molecule-by-id");
     503  hidden.insert("molecule-by-name");
     504  hidden.insert("nonconvex-file");
     505  hidden.insert("order");
     506  hidden.insert("output-file");
     507  hidden.insert("periodic");
     508  hidden.insert("position");
     509  hidden.insert("select-atom-by-id");
     510  hidden.insert("select-molecule-by-id");
     511  hidden.insert("sphere-radius");
     512  hidden.insert("start-step");
     513  hidden.insert("unselect-atom-by-id");
     514  hidden.insert("unselect-molecule-by-id");
    503515}
    504516
     
    779791  new ParserSaveXyzAction();
    780792
     793  new SelectionAtomByIdAction();
     794  new SelectionMoleculeByIdAction();
     795  new SelectionNotAtomByIdAction();
     796  new SelectionNotMoleculeByIdAction();
     797
    781798  new TesselationConvexEnvelopeAction();
    782799  new TesselationNonConvexEnvelopeAction();
     
    806823    for (set<string>::iterator OptionRunner = ListRunner->first->begin(); OptionRunner != ListRunner->first->end(); ++OptionRunner) {
    807824      if (hasValue(*OptionRunner)) {
    808         DoLog(3) && (Log() << Verbose(3) << "Adding option " << *OptionRunner << " with type " << TypeMap[*OptionRunner]->name() << " to CommandLineParser." << endl);
     825        DoLog(0) && (Log() << Verbose(0) << "Adding option " << *OptionRunner << " with type " << TypeMap[*OptionRunner]->name() << " to CommandLineParser." << endl);
    809826           switch(TypeEnumMap[TypeMap[*OptionRunner]]) {
    810827          default:
     
    947964    }
    948965  }
    949   // add positional arguments
    950   for (set<string>::iterator OptionRunner = inputfile.begin(); OptionRunner != inputfile.end(); ++OptionRunner) {
    951     DoLog(3) && (Log() << Verbose(3) << "Adding option " << *OptionRunner << " to positional CommandLineParser." << endl);
    952     CommandLineParser::getInstance().inputfile.add((*OptionRunner).c_str(), -1);
    953   }
    954   cout << "Name for position 1: " << CommandLineParser::getInstance().inputfile.name_for_position(1) << endl;
    955966}
    956967
  • src/CommandLineParser.cpp

    re971c4 r533838  
    4141void CommandLineParser::Parse()
    4242{
    43   po::store(po::command_line_parser(argc,argv).options(cmdline_options).options(visible).run(), vm);
     43  po::store(po::command_line_parser(argc,argv).options(cmdline_options).run(), vm);
    4444  ifstream input;
    4545  input.open("example.cfg");
  • src/World.cpp

    re971c4 r533838  
    565565}
    566566
     567bool World::isSelected(atom *atom) {
     568  return selectedAtoms.find(atom->getId()) != selectedAtoms.end();
     569}
     570
    567571// Molecules
    568572
     
    638642    count++;
    639643  return count;
     644}
     645
     646bool World::isSelected(molecule *mol) {
     647  return selectedMolecules.find(mol->getId()) != selectedMolecules.end();
    640648}
    641649
  • src/World.hpp

    re971c4 r533838  
    265265  void unselectAtomsOfMolecule(moleculeId_t);
    266266  size_t countSelectedAtoms();
     267  bool isSelected(atom *_atom);
    267268
    268269  void clearMoleculeSelection();
     
    278279  void unselectMoleculeOfAtom(atomId_t);
    279280  size_t countSelectedMolecules();
     281  bool isSelected(molecule *_mol);
    280282
    281283  /******************** Iterators to selections *****************/
Note: See TracChangeset for help on using the changeset viewer.