This file is indexed.

/usr/share/libavogadro/engineScripts/wireframe.py is in python-avogadro 1.1.1-0ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
from PyQt4.Qt import *
import Avogadro


class Engine(QObject):
  # declare the changed() signal
  __pyqtSignals__ = ("changed()",)

  # constructor
  def __init__(self):
    QObject.__init__(self)
    self.widget = None
    self.width = 1

  def name(self):
    return "Python Wireframe Engine"

  def flags(self):
    return Avogadro.EngineFlags.NoFlags

  # slot
  @pyqtSignature("int")
  def sliderChanged(self, value):
    self.width = value
    self.emit(SIGNAL("changed()"))
    
  def settingsWidget(self):
    self.widget = QWidget()
    layout = QVBoxLayout(self.widget)
    self.widget.setLayout(layout)
    label = QLabel("Wireframe width:", self.widget)

    slider = QSlider(Qt.Horizontal, self.widget)
    slider.setMinimum(1)
    slider.setMaximum(5)
    slider.setValue(self.width)

    layout.addWidget(label)
    layout.addWidget(slider)
    layout.addStretch()

    QObject.connect(slider, SIGNAL("valueChanged(int)"), self, SLOT("sliderChanged(int)"))

    return self.widget

  def renderOpaque(self, pd):
    # Painter 
    painter = pd.painter
    # Molecule
    molecule = pd.molecule

    # Color
    color = pd.colorMap

    for bond in molecule.bonds:
      beginAtom = molecule.atomById(bond.beginAtomId)
      endAtom = molecule.atomById(bond.endAtomId)

      delta = beginAtom.pos - endAtom.pos
      center = (beginAtom.pos + endAtom.pos) / 2

      color.setFromPrimitive(beginAtom)
      painter.setColor(color)
      painter.drawLine(beginAtom.pos, center, self.width)

      color.setFromPrimitive(endAtom)
      painter.setColor(color)
      painter.drawLine(endAtom.pos, center, self.width)

  def readSettings(self, settings):
    # As opposed to C++, in PyQt4 toInt() returns a tuple,
    # converted value is the first element
    self.width = settings.value("width", 1).toInt()[0]

  def writeSettings(self, settings):
    settings.setValue("width", self.width)