()
| 884 | } |
| 885 | |
| 886 | function drawAll() { |
| 887 | emptyVertices(); |
| 888 | |
| 889 | // insert grid points |
| 890 | insertGridPoints(); |
| 891 | |
| 892 | var activeStyle = null; |
| 893 | |
| 894 | // draw spaceframes |
| 895 | if(showSpaceframe && spaceframeFill) { |
| 896 | setFill(spaceframeFill); |
| 897 | |
| 898 | drawSpaceframe(activeStyle, vMin, vMax); |
| 899 | } |
| 900 | |
| 901 | // draw iso-surfaces |
| 902 | if(showSurface && surfaceFill) { |
| 903 | setFill(surfaceFill); |
| 904 | |
| 905 | var surfacePattern = data.surface.pattern; |
| 906 | var surfaceCount = data.surface.count; |
| 907 | for(var q = 0; q < surfaceCount; q++) { |
| 908 | var ratio = (surfaceCount === 1) ? 0.5 : q / (surfaceCount - 1); |
| 909 | var level = (1 - ratio) * vMin + ratio * vMax; |
| 910 | |
| 911 | var d1 = Math.abs(level - minValues); |
| 912 | var d2 = Math.abs(level - maxValues); |
| 913 | var ranges = (d1 > d2) ? |
| 914 | [minValues, level] : |
| 915 | [level, maxValues]; |
| 916 | |
| 917 | drawSurface(surfacePattern, ranges[0], ranges[1]); |
| 918 | } |
| 919 | } |
| 920 | |
| 921 | var setupMinMax = [ |
| 922 | [ Math.min(vMin, maxValues), Math.max(vMin, maxValues) ], |
| 923 | [ Math.min(minValues, vMax), Math.max(minValues, vMax) ] |
| 924 | ]; |
| 925 | |
| 926 | ['x', 'y', 'z'].forEach(function(e) { |
| 927 | var preRes = []; |
| 928 | for(var s = 0; s < setupMinMax.length; s++) { |
| 929 | var count = 0; |
| 930 | |
| 931 | var activeMin = setupMinMax[s][0]; |
| 932 | var activeMax = setupMinMax[s][1]; |
| 933 | |
| 934 | // draw slices |
| 935 | var slice = data.slices[e]; |
| 936 | if(slice.show && slice.fill) { |
| 937 | setFill(slice.fill); |
| 938 | |
| 939 | var exactIndices = []; |
| 940 | var ceilIndices = []; |
| 941 | var distRatios = []; |
| 942 | if(slice.locations.length) { |
| 943 | for(var q = 0; q < slice.locations.length; q++) { |
no test coverage detected
searching dependent graphs…