source: trunk/source/visualization/HepRep/include/HEPREP/HepRepIterator.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.4 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_HEPREPITERATOR_H
8#define HEPREP_HEPREPITERATOR_H 1
9
10// Copyright 2000-2005, FreeHEP.
11
12#include <string>
13
14namespace HEPREP {
15
16class HepRepAttributeListener;
17class HepRepFrameListener;
18class HepRepInstance;
19
20/**
21 * HepRepIterator interface.
22 *
23 * @author Mark Donszelmann
24 */
25class HepRepIterator {
26
27public: 
28    /// Destructor.
29    virtual ~HepRepIterator() { /* nop */; }
30
31    /**
32     * Signals if there is a next instance to iterate to.
33     *
34     * @return true if next() can be called.
35     */
36    virtual bool hasNext() = 0;
37
38    /**
39     * Returns next instance.
40     *
41     * @return next HepRepInstance.
42     */
43    virtual HepRepInstance * nextInstance() = 0;
44
45    /**
46     * Adds a listener to be informed about attribute changes while iterating.
47     *
48     * @param listener to be added.
49     */
50    virtual void addHepRepAttributeListener(std::string name, HepRepAttributeListener * listener) = 0;
51
52    /**
53     * Removes a listener.
54     *
55     * @param listener to be removed.
56     */
57    virtual void removeHepRepAttributeListener(std::string name, HepRepAttributeListener * listener) = 0;
58
59    /**
60     * Adds a listener to be informed about attribute changes while iterating.
61     *
62     * @param listener to be added.
63     */
64    virtual void addHepRepFrameListener(HepRepFrameListener * listener) = 0;
65
66    /**
67     * Removes a listener.
68     *
69     * @param listener to be removed.
70     */
71    virtual void removeHepRepFrameListener(HepRepFrameListener * listener) = 0;
72
73    /**
74     * Returns true if the current instance, just delivered by nextInstance(), is to be drawn as a frame.
75     */
76    virtual bool drawAsFrame() = 0;
77
78    /**
79     * Returns the attValue for key at the current point of iteration.
80     *
81     * @param key name of the attribute to be looked up.
82     * @return value associated to name at this point in the iteration.
83     */
84//    HepRepAttValue* getAttValue(String key);
85}; // class
86} // namespace HEPREP
87#endif /* ifndef HEPREP_HEPREPITERATOR_H */
Note: See TracBrowser for help on using the repository browser.