jsartoolkit5
Version:
Emscripten port of ARToolKit to JavaScript
73 lines (56 loc) • 1.81 kB
HTML
<html>
<body>
<img id="v1" src="Data/img.jpg"></img>
<img id="v2" src="Data/chalk.jpg"></img>
<img id="v3" src="Data/chalk_multi.jpg"></img>
<img id="v4" src="Data/kuva.jpg"></img>
<img id="v5" src="Data/armchair.jpg"></img>
<script src="../build/artoolkit.min.js"></script>
<script>
var cameraParam = new ARCameraParam();
var ar1, ar2, ar3, ar4, ar5;
cameraParam.onload = function() {
ar1 = new ARController(v1, cameraParam);
ar1.debugSetup();
ar2 = new ARController(v2, cameraParam);
ar2.debugSetup();
ar3 = new ARController(v3, cameraParam);
ar3.debugSetup();
ar3.process();
ar4 = new ARController(v4, cameraParam);
ar4.debugSetup();
ar4.process();
ar5 = new ARController(v5, cameraParam);
ar1.detectMarker();
ar1.debugDraw();
ar2.detectMarker();
ar2.debugDraw();
ar5.debugSetup();
ar5.detectMarker();
ar5.debugDraw();
var assertEq = function(message, value, shouldBe) {
if (value !== shouldBe) {
throw(message + ' ' + value + ' is not the expected ' + shouldBe);
}
};
ar5.setMarkerInfoDir(0, 1);
assertEq('dir changed to 1', ar5.getMarker(0).dir, 1);
ar5.setMarkerInfoDir(0, 2);
assertEq('dir changed to 2', ar5.getMarker(0).dir, 2);
// Test setter/getter pairs
var methods = "DebugMode LogLevel ProjectionNearPlane ProjectionFarPlane ThresholdMode Threshold PatternDetectionMode PattRatio MatrixCodeType LabelingMode ImageProcMode".split(" ");
for (var i=0; i<methods.length; i++) {
var m = methods[i];
var v = ar5['get'+m]();
var nv = v === 1 ? 0 : ((v < 1 && v > 0) ? 0.7848 : 1);
ar5['set'+m](nv);
assertEq(m + ' changed', ar5['get'+m](), nv);
ar5['set'+m](v);
assertEq(m + ' changed back', ar5['get'+m](), v);
}
console.log("Setter/Getter tests run successfully.");
};
cameraParam.load('Data/camera_para.dat');
</script>
</body>
</html>