58 |
|
class ForceField; |
59 |
|
class ForceFieldCreator; |
60 |
|
/** |
61 |
< |
* @class ForceFieldFactory ForceFieldFactory.hpp "UseTheForce/ForceFieldFactory.hpp" |
62 |
< |
* Factory pattern and Singleton Pattern are used to define an interface for creating an ForceField. |
61 |
> |
* @class ForceFieldFactory ForceFieldFactory.hpp |
62 |
> |
* "UseTheForce/ForceFieldFactory.hpp" Factory pattern and Singleton Pattern |
63 |
> |
* are used to define an interface for creating an ForceField. |
64 |
|
*/ |
65 |
|
class ForceFieldFactory { |
66 |
|
public: |
93 |
|
bool registerForceField(ForceFieldCreator* creator); |
94 |
|
|
95 |
|
/** |
96 |
< |
* Unregisters the creator for the given type identifier. If the type identifier |
97 |
< |
* was previously registered, the function returns true. |
98 |
< |
* @return truethe type identifier was previously registered and the creator is removed, |
99 |
< |
* otherwise return false |
96 |
> |
* Unregisters the creator for the given type identifier. If the type |
97 |
> |
* identifier was previously registered, the function returns true. |
98 |
> |
* @return truethe type identifier was previously registered and the creator |
99 |
> |
* is removed, otherwise return false |
100 |
|
* @id the identification of the concrete object |
101 |
|
*/ |
102 |
|
bool unregisterForceField(const std::string& id); |
103 |
|
/** |
104 |
< |
* Looks up the type identifier in the internal map. If it is found, it invokes the |
105 |
< |
* corresponding creator for the type identifier and returns its result. |
106 |
< |
* @return a pointer of the concrete object, return NULL if no creator is registed for |
107 |
< |
* creating this concrete object |
104 |
> |
* Looks up the type identifier in the internal map. If it is found, it |
105 |
> |
* invokes the corresponding creator for the type identifier and returns |
106 |
> |
* its result. |
107 |
> |
* @return a pointer of the concrete object, return NULL if no creator is |
108 |
> |
* registed for creating this concrete object |
109 |
|
* @param id the identification of the concrete object |
110 |
|
*/ |
111 |
|
ForceField* createForceField(const std::string& id); |