<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>CmWorld3 Sample</title>
<style>
html, body {
overflow: hidden;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#cmworldCanvas {
width: 100%;
height: 100%;
}
#labelDiv {
font-size: 12px;
color: #ffd800;
position: absolute;
top: 20px;
left: 10px;
z-index: 1;
}
</style>
<script src="./Cm3WebGL/lib/jquery-2.2.0.min.js"></script>
<script src="./Cm3WebGL/cm_compile.js"></script>
<script> CMWORLD.Compile.includeCm3Library("./Cm3WebGL/") </script>
<script>
var cmworld;
var gui;
var colorindex = 0;
var UserLayer;
onupdateobject = function () {
}
WalkingMode = function (walkingmode) {
cmworld.setWalkingMode(walkingmode);
}
InitializeView = function () {
var eye_x = 127.02762574045866;
var eye_y = 37.497958562411924;
var eye_h = 257;
var look_x = 127.02862574045866;
var look_y = 37.497858562411924;
var look_h = 150;
cmworld.gotoLookAt(eye_x, eye_y, eye_h, look_x, look_y, look_h);
}
example = function () {
InitializeView();
// 객체를 만들어서 테스트 해보자.
var geometry = new THREE.PlaneGeometry(10, 10);
if (geometry.boundingSphere == null)
geometry.computeBoundingSphere();
var material = new THREE.MeshBasicMaterial({ color: 0xffff00, side: THREE.DoubleSide });
var plane = new THREE.Mesh(geometry, material);
plane.position.set(0, -1, 7);
plane.rotateX(-5.0 * CMWORLD.cm_const.Deg2Rad);
plane.updateMatrix();
plane.updateMatrixWorld();
plane.visible = true;
var sphere = new THREE.Sphere(new THREE.Vector3(0, 0, 10), 5);
var ret = CMWORLD.CameraUtil.collionCheck(sphere, [plane]);
console.log(ret);
}
window.onload = function () {
var canvas = document.querySelector("#cmworldCanvas");
var vworld_mode = true;
if (vworld_mode) {
cmworld = new CMWORLD.CmWorld3(canvas, 127, 38, CMWORLD.cm_const.EarthRadius, { toptilespan: 36 });
cmworld.addTileImageLayer("base", "http://xdworld.vworld.kr:8080/XDServer3d/requestLayerNode?APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236&Layer=tile&Level={z}&IDX={x}&IDY={y}", 0, 15, 90, -90, -180, 180, "jpg", false);
cmworld.addTerrainLayer("terrain", "http://xdworld.vworld.kr:8080/XDServer3d/requestLayerNode?APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236&Layer=dem&Level={z}&IDX={x}&IDY={y}", 0, 15, 90, -90, -180, 180, "");
cmworld.addReal3DLayer("facility_build", "http://xdworld.vworld.kr:8080/XDServer3d/requestLayerNode?Layer=facility_build&Level={z}&IDX={x}&IDY={y}&APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236",
"http://xdworld.vworld.kr:8080/XDServer3d/requestLayerObject?APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236&Layer=facility_build&Level={z}&IDX={x}&IDY={y}&DataFile={f}", "facility_build", 0, 15, 90, -90, -180, 180, "dat");
}
else {
cmworld = new CMWORLD.CmWorld3(canvas, 127, 38, CMWORLD.cm_const.EarthRadius);
// 영상레이어
cmworld.addBaseImageLayer("http://cmworld.net:5050/CmWorld/CmWorldServlet?T=world_raster&L={z}&X={x}&Y={y}", 0, 14, 90, -90, -180, 180);
// 지형레이어
cmworld.addTerrainLayer("terrain", "http://cmworld.net:5050/CmWorld/CmWorldServlet?T=dem30m&L={z}&X={x}&Y={y}", 0, 14, 90, -90, -180, 180, "CBT");
}
cmworld.option.worldTimer.setStartDateTime(2015, 7, 12, 14, 0, 0, 0);
cmworld.option.showFPS(true);
example();
};
</script>
</head>
<body>
<canvas id="cmworldCanvas"></canvas>
<div id="labelDiv">
이동: 키보드 방향키<br>
방향전환: 마우스 버튼누르고 회전<br>
</div>
<!--<a href="#" onclick="InitializeView()" style="right: 10px; top: 10px; position: absolute; z-index: 10000;color: rgb(182, 255, 0)">Initialize View</a>-->
<a href="#" onclick="WalkingMode(true)" style="right: 10px; top: 30px; position: absolute; z-index: 10000;color:rgb(182, 255, 0)">Walking Mode</a>
<!--<a href="#" onclick="WalkingMode(false)" style="right: 10px; top: 50px; position: absolute; z-index: 10000;color:rgb(182, 255, 0)">Free Mode</a>-->
</body>
</html>