ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/selection/SelectionManager.hpp
(Generate patch)

Comparing trunk/src/selection/SelectionManager.hpp (file contents):
Revision 283 by tim, Thu Feb 3 23:14:05 2005 UTC vs.
Revision 353 by tim, Wed Feb 16 19:36:30 2005 UTC

# Line 43 | Line 43
43   #define SELECTION_SELECTIONMANAGER_HPP
44  
45   #include "utils/BitSet.hpp"
46 <
46 > #include "primitives/StuntDouble.hpp"
47   namespace oopse {
48  
49 + class SimInfo;
50   /**
51   * @class SelectionManager SelectionManager.hpp "selection/SelectionManager.hpp"
52   * @brief
53   */
54   class SelectionManager {
55      public:
56 <        SelectionManager(int size) {bsSelection_.resize(size); clearSelection;}
56 >        SelectionManager(SimInfo* info);
57  
58          void addSelection(StuntDouble* sd) {
59              bsSelection_.setBitOn(sd->getGlobalIndex());
# Line 100 | Line 101 | class SelectionManager {
101          }
102  
103          int getSelectionCount() {
104 <            bsSelection_.countBits();
104 >            return bsSelection_.countBits();
105          }
106  
107          BitSet getSelectionSet() {
108              return bsSelection_;
109          }
110 +
111 +
112 +        StuntDouble* beginSelected(int& i);
113 +        StuntDouble* nextSelected(int& i);
114 +
115 +        StuntDouble* beginUnselected(int& i);
116 +        StuntDouble* nextUnSelected(int& i);
117 +
118 +        SelectionManager& operator&= (const SelectionManager &sman) {
119 +            bsSelection_ &= sman.bsSelection_;
120 +            return *this;
121 +        }
122          
123 <    private:
123 >        SelectionManager& operator|= (const SelectionManager &sman) {
124 >            bsSelection_ |= sman.bsSelection_;
125 >            return *this;
126 >        }
127          
128 <        BitSet bsSelection_;
128 >        SelectionManager& operator^= (const SelectionManager &sman) {
129 >            bsSelection_ ^= sman.bsSelection_;
130 >            return *this;
131 >        }
132 >
133 >        SelectionManager& operator-= (const SelectionManager &sman) {
134 >            bsSelection_ -= sman.bsSelection_;
135 >            return *this;
136 >        }
137 >        
138 >        friend SelectionManager operator| (const SelectionManager& sman1, const SelectionManager& sman2);
139 >        friend SelectionManager operator& (const SelectionManager& sman1, const SelectionManager& sman2);
140 >        friend SelectionManager operator^ (const SelectionManager& sman1, const SelectionManager& sman2);
141 >        friend SelectionManager operator-(const SelectionManager& sman1, const SelectionManager& sman2);
142 >        
143 >    private:
144          SimInfo* info_;
145 +        BitSet bsSelection_;
146 +        std::vector<StuntDouble*> stuntdoubles_;
147   };
148  
149   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines