source: trunk/source/visualization/HepRep/include/HEPREP/HepRepInstanceTree.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.5 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_HEPREPINSTANCETREE_H
8#define HEPREP_HEPREPINSTANCETREE_H 1
9
10// Copyright 2000-2005, FreeHEP.
11
12#include <vector>
13
14#include "HEPREP/HepRepTreeID.h"
15
16namespace HEPREP {
17
18class HepRepInstance;
19class HepRepSelectFilter;
20class HepRepTreeID;
21class HepRepTypeTree;
22
23/**
24 * HepRepInstanceTree interface.
25 *
26 * @author Mark Donszelmann
27 */
28class HepRepInstanceTree : virtual public HepRepTreeID {
29
30public: 
31    /// Destructor.
32    virtual ~HepRepInstanceTree() { /* nop */; }
33
34    /**
35     * Overlays the instance tree on the current tree.
36     *
37     * The list of instances of the instanceTree has to be the same as the current tree.
38     */
39    virtual void overlay(HepRepInstanceTree * instanceTree) = 0;
40
41    /**
42     * Adds an instance to this instancetree.
43     *
44     * @param instance to be added.
45     */
46    virtual void addInstance(HepRepInstance * instance) = 0;
47
48    /**
49     * Removes an instance from this instancetree.
50     *
51     * @param instance to be removed.
52     */
53    virtual void removeInstance(HepRepInstance * instance) = 0;
54
55    /**
56     * Returns a collection of instances.
57     *
58     * @return collection of HepRepInstances.
59     */
60    virtual std::vector<HepRepInstance *>  getInstances() = 0;
61
62    /**
63     * Adds a related instance tree to this instancetree.
64     *
65     * @param instanceTree related instancetree.
66     */
67    virtual void addInstanceTree(HepRepTreeID * instanceTree) = 0;
68
69    /**
70     * Returns a collection of associated instance trees.
71     *
72     * @return collection of HepRepTreeIDs.
73     */
74    virtual std::vector<HepRepTreeID *>  getInstanceTreeList() = 0;
75
76    /**
77     * Returns the associated typetree.
78     *
79     * @return TreeID of the associated typetree.
80     */
81    virtual HepRepTreeID * getTypeTree() = 0;
82
83    /**
84     * Returns a deep copy of this instancetree.
85     *
86     * @param filter to filter the instances.
87     * @return copy of this instancetree.
88     */
89    virtual HepRepInstanceTree * copy(HepRepTypeTree * typeTree, HepRepSelectFilter * filter = NULL) = 0;
90}; // class
91} // namespace HEPREP
92#endif /* ifndef HEPREP_HEPREPINSTANCETREE_H */
Note: See TracBrowser for help on using the repository browser.