528 |
|
|
529 |
|
oldEcr = ecr; |
530 |
|
oldRcut = rCut; |
531 |
+ |
} |
532 |
+ |
|
533 |
+ |
void SimInfo::addProperty(GenericData* prop){ |
534 |
+ |
|
535 |
+ |
map<string, GenericData*>::iterator result; |
536 |
+ |
result = properties.find(prop->getID()); |
537 |
+ |
|
538 |
+ |
//we can't simply use properties[prop->getID()] = prop, |
539 |
+ |
//it will cause memory leak if we already contain a propery which has the same name of prop |
540 |
+ |
|
541 |
+ |
if(result != properties.end()){ |
542 |
+ |
|
543 |
+ |
delete (*result).second; |
544 |
+ |
(*result).second = prop; |
545 |
+ |
|
546 |
+ |
} |
547 |
+ |
else{ |
548 |
+ |
|
549 |
+ |
properties[prop->getID()] = prop; |
550 |
+ |
|
551 |
+ |
} |
552 |
+ |
|
553 |
|
} |
554 |
+ |
|
555 |
+ |
GenericData* SimInfo::getProperty(const string& propName){ |
556 |
+ |
|
557 |
+ |
map<string, GenericData*>::iterator result; |
558 |
+ |
|
559 |
+ |
//string lowerCaseName = (); |
560 |
+ |
|
561 |
+ |
result = properties.find(propName); |
562 |
+ |
|
563 |
+ |
if(result != properties.end()) |
564 |
+ |
return (*result).second; |
565 |
+ |
else |
566 |
+ |
return NULL; |
567 |
+ |
} |
568 |
+ |
|
569 |
+ |
vector<GenericData*> SimInfo::getProperties(){ |
570 |
+ |
|
571 |
+ |
vector<GenericData*> result; |
572 |
+ |
map<string, GenericData*>::iterator i; |
573 |
+ |
|
574 |
+ |
for(i = properties.begin(); i != properties.end(); i++) |
575 |
+ |
result.push_back((*i).second); |
576 |
+ |
|
577 |
+ |
return result; |
578 |
+ |
} |
579 |
+ |
|
580 |
+ |
|