# | Line 46 | Line 46 | namespace oopse { | |
---|---|---|
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);} |
56 | > | SelectionManager(SimInfo* info); |
57 | ||
58 | void addSelection(StuntDouble* sd) { | |
59 | bsSelection_.setBitOn(sd->getGlobalIndex()); | |
# | Line 106 | Line 107 | class SelectionManager { | |
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 | + | 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 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |