ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-2.0/src/UseTheForce/ForceFieldFactory.cpp
(Generate patch)

Comparing branches/new_design/OOPSE-2.0/src/UseTheForce/ForceFieldFactory.cpp (file contents):
Revision 1836 by tim, Wed Nov 24 21:33:00 2004 UTC vs.
Revision 1837 by tim, Thu Dec 2 22:15:31 2004 UTC

# Line 1 | Line 1
1  
2   #include "UseTheForce/ForceFieldFactory.hpp"
3 + #include "UseTheForce/ForceFieldCreator.hpp"
4 +
5   namespace oopse {
6  
7   //initialize instance of ForceFieldFactory
8   ForceFieldFactory* ForceFieldFactory::instance_ = NULL;
9  
10 < bool ForceFieldFactory::registerForceField(const std::string& id, ForceFieldCreatorType creator) {
10 > bool ForceFieldFactory::registerForceField(ForceFieldCreator* creator) {
11 >    //std::cout << "register " << creator->getIdent() << std::endl;
12      return creatorMap_.insert(
13 <        CreatorMapType::value_type(id, creator)).second;
13 >        CreatorMapType::value_type(creator->getIdent(), creator)).second;
14   }
15  
16   bool ForceFieldFactory::unregisterForceField(const std::string& id) {
# Line 18 | Line 21 | ForceField* ForceFieldFactory::createForceField(const
21      CreatorMapType::iterator i = creatorMap_.find(id);
22      if (i != creatorMap_.end()) {
23          //invoke functor to create object
24 <        return (i->second)();
24 >        return (i->second)->create();
25      } else {
26          return NULL;
27      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines