--- trunk/OOPSE-3.0/src/selection/SelectionManager.hpp 2005/02/11 22:39:03 1999 +++ trunk/OOPSE-3.0/src/selection/SelectionManager.hpp 2005/02/16 19:36:30 2037 @@ -114,7 +114,32 @@ class SelectionManager { StuntDouble* beginUnselected(int& i); StuntDouble* nextUnSelected(int& i); + + SelectionManager& operator&= (const SelectionManager &sman) { + bsSelection_ &= sman.bsSelection_; + return *this; + } + SelectionManager& operator|= (const SelectionManager &sman) { + bsSelection_ |= sman.bsSelection_; + return *this; + } + + SelectionManager& operator^= (const SelectionManager &sman) { + bsSelection_ ^= sman.bsSelection_; + return *this; + } + + SelectionManager& operator-= (const SelectionManager &sman) { + bsSelection_ -= sman.bsSelection_; + return *this; + } + + friend SelectionManager operator| (const SelectionManager& sman1, const SelectionManager& sman2); + friend SelectionManager operator& (const SelectionManager& sman1, const SelectionManager& sman2); + friend SelectionManager operator^ (const SelectionManager& sman1, const SelectionManager& sman2); + friend SelectionManager operator-(const SelectionManager& sman1, const SelectionManager& sman2); + private: SimInfo* info_; BitSet bsSelection_;