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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
# Copyright 2006-2007 Nanorex, Inc. See LICENSE file for details.
"""
RotaryMotorGenerator.py
$Id$
History:
Mark 2007-05-27: Created.
"""
__author__ = "Mark"
from utilities.Log import greenmsg
from PyQt4.Qt import QDialog
from RotaryMotorGeneratorDialog import RotaryMotorPropMgr
from command_support.GeneratorBaseClass import GeneratorBaseClass
# RotaryMotorPropMgr must come BEFORE GeneratorBaseClass in this list.
class RotaryMotorGenerator(RotaryMotorPropMgr, GeneratorBaseClass):
"""The Rotary Motor Generator class.
"""
cmd = greenmsg("Insert Rotary Motor: ")
#
prefix = '' # Not used by jigs.
# All jigs like rotary and linear motors already created their
# name, so do not (re)create it (in GeneratorBaseClass) from the prefix.
create_name_from_prefix = False
# We now support multiple keywords in a list or tuple
# sponsor_keyword = ('Graphenes', 'Carbon')
sponsor_keyword = 'RotaryMotor'
# pass window arg to constructor rather than use a global, wware 051103
def __init__(self, win, motor, glpane):
self.jig = motor
self.name = motor.name # Adopt the motor's name as our name.
RotaryMotorPropMgr.__init__(self, motor, glpane)
GeneratorBaseClass.__init__(self, win)
# Display Rotary Motor. Mark 2007-05-28.
self.preview_btn_clicked() # Kludge? Works though.
###################################################
# How to build this kind of structure, along with
# any necessary helper functions
def gather_parameters(self):
"""Return all the parameters from the Property Manager.
"""
torque = self.torqueDblSpinBox.value()
initial_speed = self.initialSpeedDblSpinBox.value()
final_speed = self.finalSpeedDblSpinBox.value()
dampers_state = self.dampersCheckBox.isChecked()
enable_minimize_state = self.enableMinimizeCheckBox.isChecked()
color = self.jig.color
atoms = self.jig.atoms[:]
#atoms = self.selectedAtomsListWidget.atoms
if 1:
print "\n---------------------------------------------------" \
"\ngather_parameters(): "\
"\ntorque = ", torque, \
"\ninitial_speed = ", initial_speed, \
"\nfinal_speed = ", final_speed, \
"\ndampers_state = ", dampers_state, \
"\nenable_minimize_state = ", enable_minimize_state, \
"\ncolor = ", color, \
"\natoms = ", atoms
return (torque, initial_speed, final_speed,
dampers_state, enable_minimize_state,
color, atoms)
def build_struct(self, name, params, position):
"""Build and return a new rotary motor from the parameters in the Property Manager.
"""
torque, initial_speed, final_speed, \
dampers_state, enable_minimize_state, \
color, atoms = params
self.jig.cancelled = False
self.jig.torque = torque
self.jig.initial_speed = initial_speed
self.jig.speed = final_speed
self.jig.dampers_enabled = dampers_state
self.jig.enable_minimize = enable_minimize_state
self.jig.color = color
self.jig.atoms = atoms
if 1:
print "\n---------------------------------------------------" \
"\nbuild_struct(): "\
"\ntorque = ", self.jig.torque, \
"\ninitial_speed = ", self.jig.initial_speed, \
"\nfinal_speed = ", self.jig.speed, \
"\ndampers_state = ", self.jig.dampers_enabled, \
"\nenable_minimize_state =", self.jig.enable_minimize, \
"\ncolor = ", self.jig.color, \
"\natoms = ", self.jig.atoms
return self.jig
|