- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_atom.cpp
rf115cc rce4126 56 56 GLMoleculeObject(mesh, parent), 57 57 Observer(std::string("GLMoleculeObject_atom")+toString(_id)), 58 atomicid(_id), 59 uptodatePosition(false), 60 uptodateElement(false) 58 atomicid(_id) 61 59 { 62 60 // sign on as observer (obtain non-const instance before) … … 110 108 ELOG(2, "Atom with id "+toString(atomicid)+" is already gone."); 111 109 } 112 uptodatePosition = true;113 110 } 114 111 … … 144 141 } 145 142 setScale( radius / 4. ); 146 147 uptodateElement = true;148 143 } 149 144 … … 170 165 // selected? 171 166 setSelected(World::getInstance().isAtomSelected(atomicid)); 172 }173 174 void GLMoleculeObject_atom::draw(QGLPainter *painter, const QVector4D &cameraPlane)175 {176 // hook to update prior to painting177 if (!uptodatePosition)178 resetPosition();179 if (!uptodateElement)180 resetElement();181 182 // call old hook to do the actual paining183 GLMoleculeObject::draw(painter, cameraPlane);184 167 } 185 168 … … 202 185 switch (notification->getChannelNo()) { 203 186 case AtomObservable::ElementChanged: 204 uptodateElement = false; 187 resetElement(); 188 emit changed(); 205 189 break; 206 190 case AtomObservable::IndexChanged: … … 208 192 break; 209 193 case AtomObservable::PositionChanged: 210 uptodatePosition = false; 194 resetPosition(); 195 emit changed(); 211 196 break; 212 197 case AtomObservable::BondsAdded: … … 214 199 const atom *_atom = World::getInstance().getAtom(AtomById(atomicid)); 215 200 if (_atom != NULL) { 216 // make sure position is up-to-date217 if (!uptodatePosition)218 resetPosition();219 201 ASSERT(!_atom->getListOfBonds().empty(), 220 202 "GLMoleculeObject_atom::recieveNotification() - received BondsAdded but ListOfBonds is empty.");
Note:
See TracChangeset
for help on using the changeset viewer.