Hybrid change config reading mechanism.

This commit is contained in:
Pitchaya Boonsarngsuk
2018-01-19 10:24:27 +00:00
parent 5706f5e891
commit 8ed4500280

View File

@@ -9,17 +9,17 @@ export default function (nodes, config) {
var hybrid,
fullSimulation,
SAMPLE_ITERATIONS = config.hasOwnProperty("iteration") ? config.iteration : 300,
neighbourSize = config.hasOwnProperty("neighbourSize") ? config.neighbourSize : 6,
sampleSize = config.hasOwnProperty("sampleSize") ? config.sampleSize : 3,
distanceRange = config.hasOwnProperty("distanceRange") ? config.distanceRange : 10,
FULL_ITERATIONS = config.hasOwnProperty("fullIterations") ? config.fullIterations : 20,
FullneighbourSize = config.hasOwnProperty("fullNeighbourSize") ? config.fullNeighbourSize : 6,
FullsampleSize = config.hasOwnProperty("fullSampleSize") ? config.fullSampleSize : 3,
FulldistanceRange = config.hasOwnProperty("fullDistanceRange") ? config.fullDistanceRange : 10,
distanceFn = config.hasOwnProperty("distanceFn") ? config.distanceFn : constant(300),
PIVOTS = config.hasOwnProperty("pivots") ? config.pivots : false,
NUMPIVOTS = config.hasOwnProperty("numPivots") ? config.numPivots : 3,
SAMPLE_ITERATIONS = readConf(config, "iteration", 300),
neighbourSize = readConf(config, "neighbourSize", 6),
sampleSize = readConf(config, "sampleSize", 3),
distanceRange = readConf(config, "distanceRange", 10),
FULL_ITERATIONS = readConf(config, "fullIterations", 20),
FullneighbourSize = readConf(config, "fullNeighbourSize", neighbourSize),
FullsampleSize = readConf(config, "fullSampleSize", sampleSize),
FulldistanceRange = readConf(config, "fullDistanceRange", distanceRange),
distanceFn = readConf(config, "distanceFn", constant(300)),
PIVOTS = readConf(config, "pivots", false),
NUMPIVOTS = readConf(config, "numPivots", 3),
event = d3.dispatch("sampleTick", "fullTick", "startFull", "end");
var sets = takeSampleFrom(nodes, Math.sqrt(nodes.length));
@@ -150,30 +150,8 @@ export default function (nodes, config) {
return fullSimulation.force("neighbourSampling").stress();
}
};
}
function sampleFromNodes(nodes, size) {
let randElements = [],
max = nodes.length;
for (var i = 0; i < size; ++i) {
var rand = nodes[Math.floor((Math.random() * max))];
// If the rand is already in random list or in exclude list
// ignore it and get a new value.
while (randElements.includes(rand)) {
rand = nodes[Math.floor((Math.random() * max))];
}
randElements.push(rand);
}
var remainder = nodes.filter(function (node) {
return !randElements.includes(node);
});
return {
sample: randElements,
remainder: remainder
};
function readConf(config, prop, default){
return config.hasOwnProperty(prop) ? config.prop : default,
}