Ignore:
Timestamp:
Mar 10, 2010, 5:51:48 PM (16 years ago)
Author:
Tillmann Crueger <crueger@…>
Children:
4fc41a
Parents:
025ca2
Message:

Added generic singleton Pattern that can be inherited to any class making that class a singleton.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/builder.cpp

    r025ca2 r4c60ef  
    14321432     }
    14331433     if (mol == NULL) {
    1434        mol = World::get()->createMolecule();
     1434       mol = World::getInstance().createMolecule();
    14351435       mol->ActiveFlag = true;
    14361436       if (ConfigFileName != NULL)
     
    14811481                SaveFlag = true;
    14821482                Log() << Verbose(1) << "Adding new atom with element " << argv[argptr] << " at (" << argv[argptr+1] << "," << argv[argptr+2] << "," << argv[argptr+3] << "), ";
    1483                 first = World::get()->createAtom();
     1483                first = World::getInstance().createAtom();
    14841484                first->type = periode->FindElement(atoi(argv[argptr]));
    14851485                if (first->type != NULL)
     
    16341634                Log() << Verbose(1) << "Filling Box with water molecules." << endl;
    16351635                // construct water molecule
    1636                 molecule *filler = World::get()->createMolecule();
     1636                molecule *filler = World::getInstance().createMolecule();
    16371637                molecule *Filling = NULL;
    16381638                atom *second = NULL, *third = NULL;
     
    16411641//                first->x.Zero();
    16421642//                filler->AddAtom(first);
    1643                 first = World::get()->createAtom();
     1643                first = World::getInstance().createAtom();
    16441644                first->type = periode->FindElement(1);
    16451645                first->x.Init(0.441, -0.143, 0.);
    16461646                filler->AddAtom(first);
    1647                 second = World::get()->createAtom();
     1647                second = World::getInstance().createAtom();
    16481648                second->type = periode->FindElement(1);
    16491649                second->x.Init(-0.464, 1.137, 0.0);
    16501650                filler->AddAtom(second);
    1651                 third = World::get()->createAtom();
     1651                third = World::getInstance().createAtom();
    16521652                third->type = periode->FindElement(8);
    16531653                third->x.Init(-0.464, 0.177, 0.);
     
    16641664                  molecules->insert(Filling);
    16651665                }
    1666                 World::get()->destroyMolecule(filler);
     1666                World::getInstance().destroyMolecule(filler);
    16671667                argptr+=6;
    16681668              }
     
    20972097                      x.AddVector(&y); // per factor one cell width further
    20982098                      for (int k=count;k--;) { // go through every atom of the original cell
    2099                         first = World::get()->createAtom(); // create a new body
     2099                        first = World::getInstance().createAtom(); // create a new body
    21002100                        first->x.CopyVector(vectors[k]);  // use coordinate of original atom
    21012101                        first->x.AddVector(&x);      // translate the coordinates
     
    21682168void cleanUp(config *configuration){
    21692169  UIFactory::purgeInstance();
    2170   World::destroy();
     2170  World::purgeInstance();
    21712171  delete(configuration);
    21722172  Log() << Verbose(0) <<  "Maximum of allocated memory: "
     
    21922192    setVerbosity(0);
    21932193    /* structure of ParseCommandLineOptions will be refactored later */
    2194     j = ParseCommandLineOptions(argc, argv,  World::get()->getMolecules(), World::get()->getPeriode(), *configuration, ConfigFileName);
     2194    j = ParseCommandLineOptions(argc, argv,  World::getInstance().getMolecules(), World::getInstance().getPeriode(), *configuration, ConfigFileName);
    21952195    switch (j){
    21962196        case 255:
     
    22022202            break;
    22032203    }
    2204     if(World::get()->numMolecules() == 0){
    2205         mol = World::get()->createMolecule();
    2206         World::get()->getMolecules()->insert(mol);
     2204    if(World::getInstance().numMolecules() == 0){
     2205        mol = World::getInstance().createMolecule();
     2206        World::getInstance().getMolecules()->insert(mol);
    22072207        cout << "Molecule created" << endl;
    22082208        if(mol->cell_size[0] == 0.){
     
    22252225
    22262226      UIFactory::makeUserInterface(UIFactory::Text);
    2227       MainWindow *mainWindow = UIFactory::get()->makeMainWindow(populaters,World::get()->getMolecules(), configuration, World::get()->getPeriode(), ConfigFileName);
     2227      MainWindow *mainWindow = UIFactory::get()->makeMainWindow(populaters,World::getInstance().getMolecules(), configuration, World::getInstance().getPeriode(), ConfigFileName);
    22282228      mainWindow->display();
    22292229      delete mainWindow;
    22302230    }
    22312231
    2232     if(World::get()->getPeriode()->StorePeriodentafel(configuration->databasepath))
     2232    if(World::getInstance().getPeriode()->StorePeriodentafel(configuration->databasepath))
    22332233        Log() << Verbose(0) << "Saving of elements.db successful." << endl;
    22342234
Note: See TracChangeset for help on using the changeset viewer.