// // tgtdefs-ISSF.txt - target definition file // // $Author: dmc $ $Revision: 3087 $ $Date: 2022-07-19 18:39:48 -0300 (Tue, 19 Jul 2022) $ // $Id: n-ISSF.tgt 3087 2022-07-19 21:39:48Z dmc $ var YARDSTOMETRES = 3/3.28; var INCHESTOMM = 25.4; var MM_PER_MOA_PER_100M = 1.047*25.4*39.37/36 / 100; // multiply this by the distance in metres var MM_PER_MOA_PER_1Y = 1.047*25.4/100 ; // multiply this by the distance in yards var MM_PER_MOA_PER_1M = 1.047*25.4/100*39.37/36 ; // multiply this by the distance in metres module.exports = { 'ISSF-100m': { distance:100, centrecoords: {x:0, y:0}, targetboard: { width: 650, height: 650, colour:"white" }, bullet_dia: 8.0, // 8mm gauging for ISSF rules grid: { disabled:1, // set in order to turn off grid gridspacing: 10, gridwidth: .1, // : gridcolour:"black", }, options : { // 'options' is optional.. ;-) nshotsmax : 100, show_shot_circle : true, // Tobias' 'covering circle'... stringmode : true, // go in "string mode"; keep accumulating shots time_resolution: 1, // display shot-times to nearest 1s. centre_zoom_frac : 200, // fraction of centre area in which "zoom" doesn't re-centre; default 25 // options used by v2.1 code: shot_format: '{1}-{2}X', // e.g. "99-8X" speed_unit_name: 'm/s', // units to report speed; default = 'fps' speed_unit_mpier: 1, // speeds will be round()'ed groupsize_unit_mpier: 1, // show group size in mm groupsize_unit_name: 'mm', // groupsize_unit_ndigs: 0, // XXXmm }, scoringzones: [ // draw this in reverse order // search for a hit in forward order // default values: {x:0, y:0} { name:"X", score:[10,1], colour:"black", bordercolour:"white", borderwidth:1, type: {name:"ring", dia:25 } }, { name:"10", score:10, colour:"black", bordercolour:"white", borderwidth:1, type: {name:"ring", dia:50 } }, { name:"9", score:9, colour:"black", bordercolour:"white", borderwidth:1, type: {name:"ring", dia:100 } }, { name:"8", score:8, colour:"black", bordercolour:"white", borderwidth:1, type: {name:"ring", dia:150 } }, { name:"7", score:7, colour:"black", /* 7-ring is aiming mark, so no border */ type: {name:"ring", dia:200 } }, { name:"6", score:6, colour:"white", bordercolour:"black", borderwidth:1, type: {name:"ring", dia:250 } }, { name:"5", score:5, colour:"white", bordercolour:"black", borderwidth:1, type: {name:"ring", dia:300 } }, { name:"4", score:4, colour:"white", bordercolour:"black", borderwidth:1, type: {name:"ring", dia:350 } }, { name:"3", score:3, colour:"white", bordercolour:"black", borderwidth:1, type: {name:"ring", dia:400 } }, { name:"2", score:2, colour:"white", bordercolour:"black", borderwidth:1, type: {name:"ring", dia:450 } }, { name:"1", score:1, colour:"white", bordercolour:"black", borderwidth:1, type: {name:"ring", dia:500 } }, { name:"0", score:0, colour:"white", bordercolour:"black", borderwidth:1, type: {name:"rect", width: 550, height:530 } }, { name:"0", score:0, colour:"transparent", type: {name:"rect", width: 1500, height: 1500} }, ], }, 'ISSF-300m': { distance:300, centrecoords: {x:0, y:0}, targetboard: { width: 1300, height: 1220, colour:"white", bordercolour:"black", borderwidth:10 }, bullet_dia: 8.0, // 8mm gauging for ISSF rules options : { // 'options' is optional.. ;-) nshotsmax : 20, stringmode : true, // go in "string mode"; keep accumulating shots time_resolution: 1, // display shot-times to nearest 1s. centre_zoom_frac : 200, // fraction of centre area in which "zoom" doesn't re-centre; default 25 // options used by v2.1 code: //shot_format: '{1}-{2}X', // e.g. "99-8X" speed_unit_name: 'm/s', // units to report speed; default = 'fps' speed_unit_mpier: 1, // speeds will be round()'ed groupsize_unit_mpier: 1, // show group size in mm groupsize_unit_name: 'mm', // groupsize_unit_ndigs: 0, // XXXmm }, scoringzones: [ // draw this in reverse order // search for a hit in forward order // default values: {x:0, y:0} { name:"10", score:10, colour:"black", bordercolour:"white", borderwidth:3, type: {name:"ring", dia:100 } }, { name:"9", score:9, colour:"black", bordercolour:"white", borderwidth:3, type: {name:"ring", dia:200 } }, { name:"8", score:8, colour:"black", bordercolour:"white", borderwidth:3, type: {name:"ring", dia:300 } }, { name:"7", score:7, colour:"black", bordercolour:"white", borderwidth:3, type: {name:"ring", dia:400 } }, { name:"6", score:6, colour:"black", bordercolour:"white", borderwidth:3, type: {name:"ring", dia:500 } }, { name:"5", score:5, colour:"black", /* 5-ring is aiming mark, so no border */ type: {name:"ring", dia:600 } }, { name:"4", score:4, colour:"white", bordercolour:"black", borderwidth:3, type: {name:"ring", dia:700 } }, { name:"3", score:3, colour:"white", bordercolour:"black", borderwidth:3, type: {name:"ring", dia:800 } }, { name:"2", score:2, colour:"white", bordercolour:"black", borderwidth:3, type: {name:"ring", dia:900 } }, { name:"1", score:1, colour:"white", bordercolour:"black", borderwidth:3, type: {name:"ring", dia:1000 } }, { name:"0", score:0, colour:"transparent", type: {name:"rect", width: 1300, height: 1220} }, { name:"0", score:0, colour:"transparent", type: {name:"rect", width: 1500, height: 1500} }, ], }, } var t; // 19 July 2022 add version with X-ring module.exports["ISSF-300m-X"] = (t=JSON.parse(JSON.stringify(module.exports["ISSF-300m"])) ,t.options.shot_format='{1}-{2}X' , t.scoringzones.unshift( { name:"X", score:[10,1], colour:"black", bordercolour:"white", borderwidth:1, type: {name:"ring", dia:50 } } ) ,t );