Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
2f0a51b4
Commit
2f0a51b4
authored
Aug 03, 2014
by
stv
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove superfluous whitespace and comments
parent
b858d846
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
113 deletions
+7
-113
common/lib/xmodule/xmodule/js/src/capa/schematic.js
+7
-113
No files found.
common/lib/xmodule/xmodule/js/src/capa/schematic.js
View file @
2f0a51b4
...
...
@@ -40,17 +40,14 @@ var cktsim = (function() {
function
Circuit
()
{
this
.
node_map
=
new
Array
();
this
.
ntypes
=
[];
this
.
initial_conditions
=
[];
// ic's for each element
this
.
devices
=
[];
// list of devices
this
.
device_map
=
new
Array
();
// map name -> device
this
.
voltage_sources
=
[];
// list of voltage sources
this
.
current_sources
=
[];
// list of current sources
this
.
initial_conditions
=
[];
this
.
devices
=
[];
this
.
device_map
=
new
Array
();
this
.
voltage_sources
=
[];
this
.
current_sources
=
[];
this
.
finalized
=
false
;
this
.
diddc
=
false
;
this
.
node_index
=
-
1
;
this
.
periods
=
1
}
...
...
@@ -186,7 +183,6 @@ var cktsim = (function() {
return
false
;
}
return
true
;
}
// if converges: updates this.solution, this.soln_max, returns iter count
...
...
@@ -221,7 +217,6 @@ var cktsim = (function() {
use_limiting
=
true
;
}
else
{
// Compute the Newton delta
//d_sol = mat_solve(this.matrix,rhs);
d_sol
=
mat_solve_rq
(
this
.
matrix
,
rhs
);
// If norm going down for ten iters, stop limiting
...
...
@@ -267,12 +262,10 @@ var cktsim = (function() {
}
}
//alert(numeric.prettyPrint(this.solution);)
if
(
converged
==
true
)
{
for
(
var
i
=
this
.
N
-
1
;
i
>=
0
;
--
i
)
if
(
Math
.
abs
(
soln
[
i
])
>
this
.
soln_max
[
i
])
this
.
soln_max
[
i
]
=
Math
.
abs
(
soln
[
i
]);
return
iter
+
1
;
}
}
...
...
@@ -281,7 +274,6 @@ var cktsim = (function() {
// DC analysis
Circuit
.
prototype
.
dc
=
function
()
{
// Allocation matrices for linear part, etc.
if
(
this
.
finalize
()
==
false
)
return
undefined
;
...
...
@@ -348,7 +340,6 @@ var cktsim = (function() {
for
(
var
i
=
ckt
.
N
-
1
;
i
>=
0
;
--
i
)
{
var
dqdt
=
ckt
.
alpha0
*
ckt
.
q
[
i
]
+
ckt
.
alpha1
*
ckt
.
oldq
[
i
]
+
ckt
.
alpha2
*
ckt
.
old2q
[
i
];
//alert(numeric.prettyPrint(dqdt));
rhs
[
i
]
=
ckt
.
beta0
[
i
]
*
ckt
.
c
[
i
]
+
ckt
.
beta1
[
i
]
*
ckt
.
oldc
[
i
]
-
dqdt
;
}
// matrix = beta0*G + alpha0*C.
...
...
@@ -473,8 +464,6 @@ var cktsim = (function() {
period
=
Math
.
min
(
period
,
per
);
}
this
.
periods
=
Math
.
ceil
((
tstop
-
tstart
)
/
period
);
//alert('number of periods ' + this.periods);
this
.
time
=
tstart
;
// ntpts adjusted by numbers of periods in input
...
...
@@ -495,7 +484,6 @@ var cktsim = (function() {
this
.
oldc
[
i
]
=
this
.
c
[
i
];
}
var
beta0
,
beta1
;
// Start with two pseudo-Euler steps, maximum 50000 steps/period
var
max_nsteps
=
this
.
periods
*
50000
;
...
...
@@ -511,7 +499,6 @@ var cktsim = (function() {
this
.
old3q
[
i
]
=
this
.
oldq
[
i
];
this
.
old2q
[
i
]
=
this
.
oldq
[
i
];
this
.
oldq
[
i
]
=
this
.
q
[
i
];
}
if
(
step_index
<
0
)
{
// Take a prestep using BE
...
...
@@ -572,7 +559,6 @@ var cktsim = (function() {
if
(
step_index
>
0
)
new_step
=
time_step_increase_factor
*
this
.
min_step
;
break
;
}
else
if
(
iterations
==
undefined
)
{
// NR nonconvergence, shrink by factor
//alert('timestep nonconvergence ' + this.time + ' ' + step_index);
this
.
time
=
this
.
oldt
+
(
this
.
time
-
this
.
oldt
)
/
nr_step_decrease_factor
;
}
else
{
// Check the LTE and shrink step if needed.
...
...
@@ -695,7 +681,6 @@ var cktsim = (function() {
return
result
;
}
// Helper for adding devices to a circuit, warns on duplicate device names.
Circuit
.
prototype
.
add_device
=
function
(
d
,
name
)
{
// Add device to list of devices and to device map
...
...
@@ -738,7 +723,6 @@ var cktsim = (function() {
}
// zero area diodes discarded.
}
Circuit
.
prototype
.
c
=
function
(
n1
,
n2
,
v
,
name
)
{
// try to convert string value into numeric value, barf if we can't
if
((
typeof
v
)
==
'string'
)
{
...
...
@@ -970,7 +954,6 @@ var cktsim = (function() {
for
(
var
j
=
0
;
j
<
m
;
j
++
)
dest
[
i
][
j
]
=
src
[
i
][
j
];
}
// Copy and transpose A -> using the bounds of A
function
mat_copy_transposed
(
src
,
dest
)
{
var
n
=
src
.
length
;
...
...
@@ -1035,7 +1018,6 @@ var cktsim = (function() {
}
}
// return the rank
return
the_rank
;
}
...
...
@@ -1088,7 +1070,6 @@ var cktsim = (function() {
break
;
}
// Nonzero row, eliminate from rows below
var
Mr
=
M
[
row
];
for
(
var
col
=
Nc
-
1
;
col
>=
0
;
--
col
)
// Scale rhs also
...
...
@@ -1114,7 +1095,6 @@ var cktsim = (function() {
}
}
// Return solution.
return
x
;
}
...
...
@@ -1170,7 +1150,6 @@ var cktsim = (function() {
x
[
i
]
=
temp
/
M
[
i
][
i
];
}
// return solution
return
x
;
}
...
...
@@ -1287,7 +1266,6 @@ var cktsim = (function() {
return
result
*
multiplier
;
}
}
// read decimal integer or floating-point number
while
(
true
)
{
if
(
s
.
charAt
(
index
)
>=
'0'
&&
s
.
charAt
(
index
)
<=
'9'
)
...
...
@@ -1591,7 +1569,6 @@ var cktsim = (function() {
function
VSource
(
npos
,
nneg
,
branch
,
v
)
{
Device
.
call
(
this
);
this
.
src
=
parse_source
(
v
);
this
.
npos
=
npos
;
this
.
nneg
=
nneg
;
...
...
@@ -1631,7 +1608,6 @@ var cktsim = (function() {
function
ISource
(
npos
,
nneg
,
v
)
{
Device
.
call
(
this
);
this
.
src
=
parse_source
(
v
);
this
.
npos
=
npos
;
this
.
nneg
=
nneg
;
...
...
@@ -1830,7 +1806,6 @@ var cktsim = (function() {
}
///////////////////////////////////////////////////////////////////////////////
//
// Simple Voltage-Controlled Voltage Source Op Amp model
...
...
@@ -1850,7 +1825,6 @@ var cktsim = (function() {
Opamp
.
prototype
=
new
Device
();
Opamp
.
prototype
.
constructor
=
Opamp
;
Opamp
.
prototype
.
load_linear
=
function
(
ckt
)
{
// MNA stamp for VCVS: 1/A(v(no) - v(ng)) - (v(np)-v(nn))) = 0.
var
invA
=
1.0
/
this
.
gain
;
...
...
@@ -1873,14 +1847,12 @@ var cktsim = (function() {
}
///////////////////////////////////////////////////////////////////////////////
//
// Simplified MOS FET with no bulk connection and no body effect.
//
///////////////////////////////////////////////////////////////////////////////
function
Fet
(
d
,
g
,
s
,
ratio
,
name
,
type
)
{
Device
.
call
(
this
);
this
.
d
=
d
;
...
...
@@ -2024,16 +1996,6 @@ function add_schematic_handler(other_onload) {
update_schematics
();
}
}
/*
* THK: Attaching update_schematic to window.onload is rather presumptuous...
* The function is called for EVERY page load, whether in courseware or in
* course info, in 6.002x or the public health course. It is also redundant
* because courseware includes an explicit call to update_schematic after
* each ajax exchange. In this case, calling update_schematic twice appears
* to contribute to a bug in Firefox that does not render the schematic
* properly depending on timing.
*/
//window.onload = add_schematic_handler(window.onload);
// ask each schematic input widget to update its value field for submission
function
prepare_schematics
()
{
...
...
@@ -2092,7 +2054,6 @@ schematic = (function() {
if
(
this
.
origin_y
==
undefined
)
this
.
origin_y
=
0
;
this
.
cursor_x
=
0
;
this
.
cursor_y
=
0
;
this
.
window_list
=
[];
// list of pop-up windows in increasing z order
// use user-supplied list of parts if supplied
...
...
@@ -2234,11 +2195,9 @@ schematic = (function() {
this
.
connection_points
=
new
Array
();
// location string => list of cp's
this
.
components
=
[];
this
.
dragging
=
false
;
this
.
select_rect
=
undefined
;
this
.
wire
=
undefined
;
this
.
operating_point
=
undefined
;
// result from DC analysis
this
.
dc_results
=
undefined
;
// saved analysis results for submission
this
.
ac_results
=
undefined
;
// saved analysis results for submission
...
...
@@ -2344,7 +2303,6 @@ schematic = (function() {
Schematic
.
prototype
.
add_component
=
function
(
new_c
)
{
this
.
components
.
push
(
new_c
);
// create undoable edit record here
}
...
...
@@ -2357,7 +2315,6 @@ schematic = (function() {
return
this
.
connection_points
[
cp
.
location
];
}
// add connection point to list of connection points at that location
Schematic
.
prototype
.
add_connection_point
=
function
(
cp
)
{
var
cplist
=
this
.
connection_points
[
cp
.
location
];
if
(
cplist
)
cplist
.
push
(
cp
);
...
...
@@ -2366,11 +2323,9 @@ schematic = (function() {
this
.
connection_points
[
cp
.
location
]
=
cplist
;
}
// return list of conincident connection points
return
cplist
;
}
// remove connection point from the list points at the old location
Schematic
.
prototype
.
remove_connection_point
=
function
(
cp
,
old_location
)
{
// remove cp from list at old location
var
cplist
=
this
.
connection_points
[
old_location
];
...
...
@@ -2386,13 +2341,11 @@ schematic = (function() {
}
}
// connection point has changed location: remove, then add
Schematic
.
prototype
.
update_connection_point
=
function
(
cp
,
old_location
)
{
this
.
remove_connection_point
(
cp
,
old_location
);
return
this
.
add_connection_point
(
cp
);
}
// add a wire to the schematic
Schematic
.
prototype
.
add_wire
=
function
(
x1
,
y1
,
x2
,
y2
)
{
var
new_wire
=
new
Wire
(
x1
,
y1
,
x2
,
y2
);
new_wire
.
add
(
this
);
...
...
@@ -2463,7 +2416,6 @@ schematic = (function() {
Schematic
.
prototype
.
unselect_all
=
function
(
which
)
{
this
.
operating_point
=
undefined
;
// remove annotations
for
(
var
i
=
this
.
components
.
length
-
1
;
i
>=
0
;
--
i
)
if
(
i
!=
which
)
this
.
components
[
i
].
set_select
(
false
);
}
...
...
@@ -2488,7 +2440,6 @@ schematic = (function() {
if
(
component
.
selected
)
component
.
move_end
();
}
this
.
dragging
=
false
;
this
.
clean_up_wires
();
this
.
redraw_background
();
}
...
...
@@ -2508,11 +2459,6 @@ schematic = (function() {
this
.
origin_x
+=
cx
*
(
this
.
scale
-
nscale
);
this
.
origin_y
+=
cy
*
(
this
.
scale
-
nscale
);
this
.
scale
=
nscale
;
//this.origin_x = cx - this.width/(2*this.scale);
//this.origin_y = cy - this.height/(2*this.scale);
this
.
redraw_background
();
}
...
...
@@ -2529,7 +2475,6 @@ schematic = (function() {
Schematic
.
prototype
.
zoomin
=
function
()
{
var
nscale
=
this
.
scale
*
zoom_factor
;
if
(
nscale
<
zoom_max
)
{
// keep center of view unchanged
this
.
origin_x
+=
(
this
.
width
/
2
)
*
(
1.0
/
this
.
scale
-
1.0
/
nscale
);
...
...
@@ -2541,7 +2486,6 @@ schematic = (function() {
Schematic
.
prototype
.
zoomout
=
function
()
{
var
nscale
=
this
.
scale
/
zoom_factor
;
if
(
nscale
>
zoom_min
)
{
// keep center of view unchanged
this
.
origin_x
+=
(
this
.
width
/
2
)
*
(
1.0
/
this
.
scale
-
1.0
/
nscale
);
...
...
@@ -2631,7 +2575,6 @@ schematic = (function() {
new_c
.
add
(
this
);
}
// see what we've wrought
this
.
redraw
();
}
...
...
@@ -2646,7 +2589,6 @@ schematic = (function() {
// use default value if no schematic info in value
if
(
value
==
undefined
||
value
.
indexOf
(
'['
)
==
-
1
)
value
=
initial_value
;
if
(
value
&&
value
.
indexOf
(
'['
)
!=
-
1
)
{
// convert string value into data structure
var
json
=
JSON
.
parse
(
value
);
...
...
@@ -2655,12 +2597,6 @@ schematic = (function() {
for
(
var
i
=
json
.
length
-
1
;
i
>=
0
;
--
i
)
{
var
c
=
json
[
i
];
if
(
c
[
0
]
==
'view'
)
{
// special hack: view component lets us recreate view
// ignore saved view parameters as they sometimes screw students
//this.origin_x = c[1];
//this.origin_y = c[2];
//this.scale = c[3];
//this.ac_npts = c[4];
this
.
ac_fstart
=
c
[
5
];
this
.
ac_fstop
=
c
[
6
];
this
.
ac_source_name
=
c
[
7
];
...
...
@@ -2683,20 +2619,15 @@ schematic = (function() {
var
coords
=
c
[
1
];
var
properties
=
c
[
2
];
// make the part
var
part
=
new
parts_map
[
type
][
0
](
coords
[
0
],
coords
[
1
],
coords
[
2
]);
// give it its properties
for
(
var
name
in
properties
)
part
.
properties
[
name
]
=
properties
[
name
];
// add component to the diagram
part
.
add
(
this
);
}
}
}
// see what we've got!
this
.
redraw_background
();
}
...
...
@@ -2720,7 +2651,6 @@ schematic = (function() {
this
.
components
[
i
].
label_connections
();
}
// generate a new label
Schematic
.
prototype
.
get_next_label
=
function
()
{
// generate next label in sequence
this
.
next_label
+=
1
;
...
...
@@ -2745,7 +2675,6 @@ schematic = (function() {
this
.
input
.
value
=
JSON
.
stringify
(
this
.
json_with_analyses
());
}
// produce a JSON representation of the diagram
Schematic
.
prototype
.
json
=
function
()
{
var
json
=
[];
...
...
@@ -2763,7 +2692,6 @@ schematic = (function() {
return
json
;
}
// produce a JSON representation of the diagram
Schematic
.
prototype
.
json_with_analyses
=
function
()
{
var
json
=
this
.
json
();
...
...
@@ -2847,7 +2775,6 @@ schematic = (function() {
}
var
fields
=
new
Array
();
//fields[npts_lbl] = build_input('text',10,this.ac_npts);
fields
[
fstart_lbl
]
=
build_input
(
'text'
,
10
,
this
.
ac_fstart
);
fields
[
fstop_lbl
]
=
build_input
(
'text'
,
10
,
this
.
ac_fstop
);
fields
[
source_name_lbl
]
=
build_input
(
'text'
,
10
,
this
.
ac_source_name
);
...
...
@@ -2860,7 +2787,6 @@ schematic = (function() {
var
sch
=
content
.
sch
;
// retrieve parameters, remember for next time
//sch.ac_npts = content.fields[npts_lbl].value;
sch
.
ac_fstart
=
content
.
fields
[
fstart_lbl
].
value
;
sch
.
ac_fstop
=
content
.
fields
[
fstop_lbl
].
value
;
sch
.
ac_source_name
=
content
.
fields
[
source_name_lbl
].
value
;
...
...
@@ -2872,9 +2798,7 @@ schematic = (function() {
});
}
// perform ac analysis
Schematic
.
prototype
.
ac_analysis
=
function
(
npts
,
fstart
,
fstop
,
ac_source_name
)
{
// run the analysis
var
ckt
=
this
.
extract_circuit
();
if
(
ckt
===
null
)
return
;
var
results
=
ckt
.
ac
(
npts
,
fstart
,
fstop
,
ac_source_name
);
...
...
@@ -2888,7 +2812,6 @@ schematic = (function() {
for
(
var
i
=
x_values
.
length
-
1
;
i
>=
0
;
--
i
)
x_values
[
i
]
=
Math
.
log
(
x_values
[
i
])
/
Math
.
LN10
;
if
(
this
.
submit_analyses
!=
undefined
)
{
var
submit
=
this
.
submit_analyses
[
'ac'
];
if
(
submit
!=
undefined
)
{
...
...
@@ -2918,7 +2841,6 @@ schematic = (function() {
var
y_values
=
[];
// list of [color, result_array]
var
z_values
=
[];
// list of [color, result_array]
var
probes
=
this
.
find_probes
();
var
probe_maxv
=
[];
var
probe_color
=
[];
...
...
@@ -2930,8 +2852,8 @@ schematic = (function() {
var
v
=
results
[
label
];
probe_maxv
[
i
]
=
array_max
(
v
);
// magnitudes always > 0
}
var
all_max
=
array_max
(
probe_maxv
);
var
all_max
=
array_max
(
probe_maxv
);
if
(
all_max
<
1.0
e
-
16
)
{
alert
(
'Zero ac response, -infinity on DB scale.'
);
}
else
{
...
...
@@ -2949,7 +2871,6 @@ schematic = (function() {
var
color
=
probes
[
i
][
0
];
var
label
=
probes
[
i
][
1
];
var
offset
=
cktsim
.
parse_number
(
probes
[
i
][
2
]);
var
v
=
results
[
label
];
// convert values into dB relative to source amplitude
var
v_max
=
1
;
...
...
@@ -2976,7 +2897,6 @@ schematic = (function() {
var
npts_lbl
=
'Minimum number of timepoints'
;
var
tstop_lbl
=
'Stop Time (seconds)'
;
var
probes
=
this
.
find_probes
();
if
(
probes
.
length
==
0
)
{
alert
(
"Transient Analysis: there are no probes in the diagram!"
);
...
...
@@ -2984,7 +2904,6 @@ schematic = (function() {
}
var
fields
=
new
Array
();
//fields[npts_lbl] = build_input('text',10,this.tran_npts);
fields
[
tstop_lbl
]
=
build_input
(
'text'
,
10
,
this
.
tran_tstop
);
var
content
=
build_table
(
fields
);
...
...
@@ -2997,7 +2916,6 @@ schematic = (function() {
if
(
ckt
===
null
)
return
;
// retrieve parameters, remember for next time
//sch.tran_npts = content.fields[npts_lbl].value;
sch
.
tran_tstop
=
content
.
fields
[
tstop_lbl
].
value
;
// gather a list of nodes that are being probed. These
...
...
@@ -3108,7 +3026,6 @@ schematic = (function() {
}
}
// update diagram
this
.
redraw_background
();
}
...
...
@@ -3160,7 +3077,6 @@ schematic = (function() {
}
}
this
.
unsel_bbox
=
[
min_x
,
min_y
,
max_x
,
max_y
];
this
.
redraw
();
// background changed, redraw on screen
}
...
...
@@ -3354,7 +3270,6 @@ schematic = (function() {
// now compute relative position of click within the canvas
this
.
mouse_x
=
event
.
pageX
-
totalOffsetX
;
this
.
mouse_y
=
event
.
pageY
-
totalOffsetY
;
this
.
page_x
=
event
.
pageX
;
this
.
page_y
=
event
.
pageY
;
}
...
...
@@ -3593,12 +3508,10 @@ schematic = (function() {
// update moving corner of selection rectangle
sch
.
select_rect
[
2
]
=
sch
.
canvas
.
mouse_x
;
sch
.
select_rect
[
3
]
=
sch
.
canvas
.
mouse_y
;
//sch.message(sch.select_rect.toString());
}
// just redraw dynamic components
sch
.
redraw
();
//sch.message(sch.canvas.page_x + ',' + sch.canvas.page_y + ';' + sch.canvas.mouse_x + ',' + sch.canvas.mouse_y + ';' + sch.cursor_x + ',' + sch.cursor_y);
return
false
;
}
...
...
@@ -3736,7 +3649,6 @@ schematic = (function() {
body
.
style
.
padding
=
'5px'
;
dialog
.
appendChild
(
body
);
// OK button
var
ok_button
=
document
.
createElement
(
'span'
);
ok_button
.
appendChild
(
document
.
createTextNode
(
'OK'
));
ok_button
.
dialog
=
dialog
;
// for the handler to use
...
...
@@ -3746,7 +3658,6 @@ schematic = (function() {
ok_button
.
style
.
padding
=
'5px'
;
ok_button
.
style
.
margin
=
'10px'
;
// cancel button
var
cancel_button
=
document
.
createElement
(
'span'
);
cancel_button
.
appendChild
(
document
.
createTextNode
(
'Cancel'
));
cancel_button
.
dialog
=
dialog
;
// for the handler to use
...
...
@@ -3769,7 +3680,6 @@ schematic = (function() {
this
.
window
(
title
,
dialog
);
}
// callback when user click "Cancel" in a dialog
function
dialog_cancel
(
event
)
{
if
(
!
event
)
event
=
window
.
event
;
var
dialog
=
(
window
.
event
)
?
event
.
srcElement
.
dialog
:
event
.
target
.
dialog
;
...
...
@@ -3777,14 +3687,12 @@ schematic = (function() {
window_close
(
dialog
.
win
);
}
// callback when user click "OK" in a dialog
function
dialog_okay
(
event
)
{
if
(
!
event
)
event
=
window
.
event
;
var
dialog
=
(
window
.
event
)
?
event
.
srcElement
.
dialog
:
event
.
target
.
dialog
;
window_close
(
dialog
.
win
);
// invoke the callback with the dialog contents as the argument
if
(
dialog
.
callback
)
dialog
.
callback
(
dialog
.
content
);
}
...
...
@@ -3823,7 +3731,6 @@ schematic = (function() {
return
tbl
;
}
// build an input field
function
build_input
(
type
,
size
,
value
)
{
var
input
=
document
.
createElement
(
'input'
);
input
.
type
=
type
;
...
...
@@ -3889,7 +3796,6 @@ schematic = (function() {
// add to DOM
win
.
style
.
background
=
'white'
;
//win.style.zIndex = '1000';
win
.
style
.
position
=
'absolute'
;
win
.
style
.
left
=
win
.
left
+
'px'
;
win
.
style
.
top
=
win
.
top
+
'px'
;
...
...
@@ -4107,7 +4013,6 @@ schematic = (function() {
var
gt
=
function
(
a
,
b
)
{
return
a
>=
b
;
};
var
capmin
=
function
(
a
,
b
)
{
return
Math
.
min
(
a
,
b
);
};
var
capmax
=
function
(
a
,
b
)
{
return
Math
.
max
(
a
,
b
);
};
var
checkX
=
{
thereYet
:
gt
,
cap
:
capmin
};
var
checkY
=
{
thereYet
:
gt
,
cap
:
capmin
};
...
...
@@ -5147,7 +5052,6 @@ schematic = (function() {
}
else
return
false
;
}
// clear the labels on all connections
Component
.
prototype
.
clear_labels
=
function
()
{
for
(
var
i
=
this
.
connections
.
length
-
1
;
i
>=
0
;
--
i
)
{
this
.
connections
[
i
].
clear_label
();
...
...
@@ -5894,7 +5798,6 @@ schematic = (function() {
this
.
draw_line
(
c
,
-
8
,
16
,
-
8
,
32
);
this
.
draw_line
(
c
,
-
8
,
32
,
0
,
32
);
this
.
draw_line
(
c
,
0
,
32
,
0
,
48
);
this
.
draw_line
(
c
,
-
24
,
24
,
-
12
,
24
);
this
.
draw_line
(
c
,
-
12
,
16
,
-
12
,
32
);
...
...
@@ -5940,9 +5843,7 @@ schematic = (function() {
this
.
draw_line
(
c
,
-
8
,
16
,
-
8
,
32
);
this
.
draw_line
(
c
,
-
8
,
32
,
0
,
32
);
this
.
draw_line
(
c
,
0
,
32
,
0
,
48
);
this
.
draw_line
(
c
,
-
24
,
24
,
-
16
,
24
);
this
.
draw_circle
(
c
,
-
14
,
24
,
2
,
false
);
this
.
draw_line
(
c
,
-
12
,
16
,
-
12
,
32
);
...
...
@@ -6013,7 +5914,6 @@ schematic = (function() {
//
////////////////////////////////////////////////////////////////////////////////
function
Source
(
x
,
y
,
rotation
,
name
,
type
,
value
)
{
Component
.
call
(
this
,
type
,
x
,
y
,
rotation
);
this
.
properties
[
'name'
]
=
name
;
...
...
@@ -6023,7 +5923,6 @@ schematic = (function() {
this
.
add_connection
(
0
,
48
);
this
.
bounding_box
=
[
-
12
,
0
,
12
,
48
];
this
.
update_coords
();
this
.
content
=
document
.
createElement
(
'div'
);
// used by edit_properties
}
Source
.
prototype
=
new
Component
();
...
...
@@ -6040,15 +5939,10 @@ schematic = (function() {
this
.
draw_line
(
c
,
0
,
36
,
0
,
48
);
if
(
this
.
type
==
'v'
)
{
// voltage source
//this.draw_text(c,'+',0,12,1,property_size);
//this.draw_text(c,'\u2013',0,36,7,property_size); // minus sign
// draw + and -
this
.
draw_line
(
c
,
0
,
15
,
0
,
21
);
this
.
draw_line
(
c
,
-
3
,
18
,
3
,
18
);
this
.
draw_line
(
c
,
-
3
,
30
,
3
,
30
);
// draw V
//this.draw_line(c,-3,20,0,28);
//this.draw_line(c,3,20,0,28);
}
else
if
(
this
.
type
==
'i'
)
{
// current source
// draw arrow: pos to neg
this
.
draw_line
(
c
,
0
,
15
,
0
,
32
);
...
...
@@ -6200,7 +6094,6 @@ schematic = (function() {
}
else
return
false
;
}
function
VSource
(
x
,
y
,
rotation
,
name
,
value
)
{
Source
.
call
(
this
,
x
,
y
,
rotation
,
name
,
'v'
,
value
);
this
.
type
=
'v'
;
...
...
@@ -6303,3 +6196,4 @@ schematic = (function() {
}
return
module
;
}());
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment