def _update(self, _timeSinceLastFrame): """Updating of object """ # updating geometry if self.needUpdate: op1 = self.beginObject.getPosition() op2 = self.endObject.getPosition() p1 = self.beginObject._getCross(op2) p2 = self.endObject._getCross(op1) self.begin_pos = p1 self.end_pos = p2 # rotating and scaling link orientV = p2 - p1 self.sceneNode.setPosition(p1) l = orientV.length() if l < 0.1: self.sceneNode.setDirection(ogre.Vector3(1, 1, 0), ogre.SceneNode.TS_PARENT, [0, 1, 0]) else: self.sceneNode.setDirection(orientV, ogre.SceneNode.TS_PARENT, [0, 1, 0]) self.sceneNode.setScale( ogre.Vector3(self.radius * 2, l, self.radius * 2)) ObjectLine._update(self, _timeSinceLastFrame)
def _update(self, _timeSinceLastFrame): """Updating of object """ # updating geometry if self.needUpdate: op1 = self.beginObject.getPosition() op2 = self.endObject.getPosition() p1 = self.beginObject._getCross(op2) p2 = self.endObject._getCross(op1) self.begin_pos = p1 self.end_pos = p2 # rotating and scaling link orientV = p2 - p1 self.sceneNode.setPosition(p1) l = orientV.length() if l < 0.1: self.sceneNode.setDirection(ogre.Vector3(1, 1, 0), ogre.SceneNode.TS_PARENT, [0, 1, 0]) else: self.sceneNode.setDirection(orientV, ogre.SceneNode.TS_PARENT, [0, 1, 0]) self.sceneNode.setScale(ogre.Vector3(self.radius * 2, l, self.radius * 2)) ObjectLine._update(self, _timeSinceLastFrame)
def __init__(self): ObjectLine.__init__(self, None) self.entity = render_engine.SceneManager.createEntity("ChemistryLink_" + str(self), chem_env.mesh_link) self.sceneNode.attachObject(self.entity) self.radius = 0.2 self.needStateUpdate = True
def __init__(self): ObjectLine.__init__(self, None) self.entity = render_engine.SceneManager.createEntity( "ChemistryLink_" + str(self), chem_env.mesh_link) self.sceneNode.attachObject(self.entity) self.radius = 0.2 self.needStateUpdate = True
def _updateView(self): """View update function Updates state for object """ if self.needStateUpdate: self.needStateUpdate = False self.entity.setMaterialName(self._getMaterialName()) ObjectLine._updateView(self)
def __del__(self): ObjectLine.__del__(self) render_engine.SceneManager.destroyEntity(self.entity)