source: trunk/source/visualization/HepRep/src/DefaultHepRepDefinition.cc @ 1202

Last change on this file since 1202 was 834, checked in by garnier, 16 years ago

import all except CVS

File size: 1.6 KB
Line 
1// Copyright FreeHEP, 2005.
2
3#include "cheprep/DefaultHepRepDefinition.h"
4#include "cheprep/DefaultHepRepAttDef.h"
5
6#include <iostream>
7#include <algorithm>
8
9using namespace std;
10using namespace HEPREP;
11
12/**
13 * @author Mark Donszelmann
14 * @version $Id: DefaultHepRepDefinition.cc,v 1.8 2005/06/02 21:28:45 duns Exp $
15 */
16namespace cheprep {
17
18DefaultHepRepDefinition::DefaultHepRepDefinition()
19    : DefaultHepRepAttribute() {
20}
21
22DefaultHepRepDefinition::~DefaultHepRepDefinition() {
23    set<HepRepAttDef *> list = getAttDefsFromNode();
24    for (set<HepRepAttDef*>::iterator i1 = list.begin(); i1 != list.end(); i1++) {
25        delete (*i1);
26    }
27}
28
29set<HepRepAttDef *> DefaultHepRepDefinition::getAttDefsFromNode() {
30    set<HepRepAttDef*> attSet;
31    for (map<string, HepRepAttDef*>::iterator i = attDefs.begin(); i != attDefs.end(); i++) {
32        attSet.insert((*i).second);
33    }
34    return attSet;
35}
36
37void DefaultHepRepDefinition::addAttDef(HepRepAttDef* hepRepAttDef) {
38    string lowerCaseName = hepRepAttDef->getLowerCaseName();
39    if (attDefs[lowerCaseName] != NULL) delete attDefs[lowerCaseName];
40    attDefs[lowerCaseName] = hepRepAttDef;
41}
42
43void DefaultHepRepDefinition::addAttDef(string name, string desc, string type, string extra) {
44    addAttDef(new DefaultHepRepAttDef(name, desc, type, extra));
45}
46
47HepRepAttDef* DefaultHepRepDefinition::getAttDefFromNode(string name) {
48    string s = name;
49    transform(s.begin(), s.end(), s.begin(), (int(*)(int)) tolower);
50    return (attDefs.count(s) > 0) ? attDefs[s] : NULL;   
51}
52
53} // cheprep
Note: See TracBrowser for help on using the repository browser.