source: trunk/source/visualization/HepRep/include/HEPREP/HepRepDefinition.h @ 834

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

import all except CVS

File size: 2.1 KB
Line 
1// -*- C++ -*-
2// AID-GENERATED
3// =========================================================================
4// This class was generated by AID - Abstract Interface Definition         
5// DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it.
6// =========================================================================
7#ifndef HEPREP_HEPREPDEFINITION_H
8#define HEPREP_HEPREPDEFINITION_H 1
9
10// Copyright 2000-2005, FreeHEP.
11
12#include <set>
13#include <string>
14
15#include "HEPREP/HepRepAttribute.h"
16
17namespace HEPREP {
18
19class HepRepAttDef;
20
21/**
22 * HepRepDefinition interface.
23 *
24 * @author Mark Donszelmann
25 *
26 */
27class HepRepDefinition : virtual public HepRepAttribute {
28
29public: 
30    /// Destructor.
31    virtual ~HepRepDefinition() { /* nop */; }
32
33    /**
34     * Adds an attdef.
35     *
36     * @param name name of the definition.
37     * @param desc description of the definition.
38     * @param category category of the definition.
39     * @param extra extra info of the definition.
40     */
41    virtual void addAttDef(std::string name, std::string desc, std::string category, std::string extra) = 0;
42
43    /**
44     * Adds an attdef.
45     *
46     * @param attDef to be added.
47     */
48    virtual void addAttDef(HepRepAttDef * attDef) = 0;
49
50    /**
51     * Return a named attribute definition searched on this node and any parent nodes.
52     *
53     * @param name of attribute definition.
54     * @return attribute definition.
55     */
56    virtual HepRepAttDef * getAttDef(std::string name) = 0;
57
58    /**
59     * Returns a collection of all attribute definitions defined on this node.
60     *
61     * @return collection of attributes definitions.
62     */
63    virtual std::set<HepRepAttDef *>  getAttDefsFromNode() = 0;
64
65    /**
66     * Returns a named attribute definition defined on this node.
67     *
68     * @param lowerCaseName name of the attribute in lower case.
69     * @return attribute definition.
70     */
71    virtual HepRepAttDef * getAttDefFromNode(std::string lowerCaseName) = 0;
72}; // class
73} // namespace HEPREP
74#endif /* ifndef HEPREP_HEPREPDEFINITION_H */
Note: See TracBrowser for help on using the repository browser.