Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_atom.cpp

    r3927ef red26ae  
    4141{
    4242  QGLBuilder builder;
    43   builder << QGLSphere(2.0);
     43  builder << QGLSphere(0.5);
    4444  QGLSceneNode *n = builder.finalizedSceneNode();
    4545  n->setParent(parent);
     
    5757  atomref->signOn(this, AtomObservable::ElementChanged);
    5858  atomref->signOn(this, AtomObservable::BondsAdded);
    59   World::getInstance().signOn(this, World::SelectionChanged);
    6059
    6160  // set the object's id
     
    7372  _atom->signOff(this, AtomObservable::ElementChanged);
    7473  _atom->signOff(this, AtomObservable::BondsAdded);
    75   World::getInstance().signOff(this, World::SelectionChanged);
    7674}
    7775
     
    106104      "GLMoleculeObject_atom::GLMoleculeObject_atom() - QGLMaterial ref from getter function is NULL.");
    107105  setMaterial(elementmaterial);
     106  QGLMaterial *hovermaterial = getMaterial(0); // 0 is the hover material
     107  ASSERT(hovermaterial != NULL,
     108      "GLMoleculeObject_atom::GLMoleculeObject_atom() - QGLMaterial ref from getter function for hover is NULL.");
     109  setHoverMaterial(hovermaterial);
    108110
    109111  // set scale
     
    114116    radius = 0.5;
    115117  }
    116   setScale( radius / 4. );
     118  setScale( radius );
    117119}
    118120
     
    134136  // set the object's id
    135137  resetIndex();
    136 
    137   // selected?
    138   setSelected(World::getInstance().isSelected(_atom));
    139138}
    140139
     
    144143void GLMoleculeObject_atom::recieveNotification(Observable *publisher, Notification_ptr notification)
    145144{
    146   if (publisher == dynamic_cast<const Observable*>(_atom)){
    147     // notofication from atom
    148145#ifdef LOG_OBSERVER
    149     observerLog().addMessage() << "++ Update of Observer "<< observerLog().getName(this)
    150           << " received notification from atom " << _atom->getId() << " for channel "
    151           << notification->getChannelNo() << ".";
     146  observerLog().addMessage() << "++ Update of Observer "<< observerLog().getName(this)
     147      << " received notification from atom " << _atom->getId() << " for channel "
     148      << notification->getChannelNo() << ".";
    152149#endif
    153     switch (notification->getChannelNo()) {
    154       case AtomObservable::ElementChanged:
    155         resetElement();
    156         emit changed();
     150  switch (notification->getChannelNo()) {
     151    case AtomObservable::ElementChanged:
     152      resetElement();
     153      break;
     154    case AtomObservable::IndexChanged:
     155      resetIndex();
     156      break;
     157    case AtomObservable::PositionChanged:
     158      resetPosition();
     159      break;
     160    case AtomObservable::BondsAdded:
     161      {
     162        ASSERT(!_atom->getListOfBonds().empty(),
     163            "GLMoleculeObject_atom::recieveNotification() - received BondsAdded but ListOfBonds is empty.");
     164        const bond * _bond = *(_atom->getListOfBonds().rbegin());
     165        const GLMoleculeObject_bond::SideOfBond side = (_bond->leftatom == _atom) ?
     166            GLMoleculeObject_bond::left : GLMoleculeObject_bond::right;
     167        emit BondsInserted(_bond, side);
    157168        break;
    158       case AtomObservable::IndexChanged:
    159         resetIndex();
    160         break;
    161       case AtomObservable::PositionChanged:
    162         resetPosition();
    163         emit changed();
    164         break;
    165       case AtomObservable::BondsAdded:
    166       {
    167           ASSERT(!_atom->getListOfBonds().empty(),
    168               "GLMoleculeObject_atom::recieveNotification() - received BondsAdded but ListOfBonds is empty.");
    169           const bond * _bond = *(_atom->getListOfBonds().rbegin());
    170           const GLMoleculeObject_bond::SideOfBond side = (_bond->leftatom == _atom) ?
    171               GLMoleculeObject_bond::left : GLMoleculeObject_bond::right;
    172           emit BondsInserted(_bond, side);
    173           break;
    174         }
    175       default:
    176         //setProperties();
    177         break;
    178     }
    179   }else{
    180     // notification from world
    181 #ifdef LOG_OBSERVER
    182     observerLog().addMessage() << "++ Update of Observer "<< observerLog().getName(this)
    183           << " received notification from world for channel "
    184           << notification->getChannelNo() << ".";
    185 #endif
    186     switch (notification->getChannelNo()) {
    187       case World::SelectionChanged:
    188         setSelected(World::getInstance().isSelected(_atom));
    189         break;
    190       default:
    191         break;
    192     }
     169      }
     170    default:
     171      //setProperties();
     172      break;
    193173  }
    194174}
Note: See TracChangeset for help on using the changeset viewer.