| 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 |
|
|---|
| 14 | namespace HEPREP {
|
|---|
| 15 |
|
|---|
| 16 | class HepRepAttributeListener;
|
|---|
| 17 | class HepRepFrameListener;
|
|---|
| 18 | class HepRepInstance;
|
|---|
| 19 |
|
|---|
| 20 | /**
|
|---|
| 21 | * HepRepIterator interface.
|
|---|
| 22 | *
|
|---|
| 23 | * @author Mark Donszelmann
|
|---|
| 24 | */
|
|---|
| 25 | class HepRepIterator {
|
|---|
| 26 |
|
|---|
| 27 | public:
|
|---|
| 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 */
|
|---|