<script
language="JavaScript"
src="/js/Kribi3DPlayer.js"
type="text/javascript"></script>
<script
language="JavaScript"
src="/js/gFunct.js"
type="text/javascript"></script>
<script
language="JavaScript"
type="text/javascript">
var controlCount = 2;
var loadedControls = 0;
var opening =
false;
var
opened = false;
var version = -1;
/*
------------------------------------------------------------ */
/* This function is invoked every time the
player sends a message to the
* browser, we use it to intercept the Ready event which is sent when
* the player is ready to accept commands and the ModelOpened event which
is
* sent when the model has been loaded. */
function KribiPlayer_Tell(msg) {
var player = document.getElementById("KribiPlayer");
if (msg ==
"Ready") {
// The player is ready to accept commands.
} else if
(msg == "ModelOpened") {
// The model has been opened, initialize the
camera and the page controls.
opened = true;
DefaultView_init();
} else if
(msg == "Refresh") {
if ((loadedControls == controlCount) &&
!opening) {
// Wait for all the controls to be opened, make
sure that this will run only once.
opening = true;
player.Do("Model OpenAsync '" +
FullModelsPath() + "Beach_BuildingV01_OP.kmo'");
}
}
}
/*
------------------------------------------------------------ */
// Set default
function DefaultView_init() {
var player = document.getElementById("KribiPlayer");
// Set the camera to its initial position.
player.Do("Camera Position
31985.6,-5351.06,7335.43");
player.Do("Camera Orientation
294.683,9.4538,0");
player.Do("Camera FieldOfView 71.00");
// Enable realistic rendering.
player.Do("Renderer Shading Realistic");
player.Do("RealisticLight[0] SunDirection
50,-1.0,0.5");
// Set tool
CameraOrbit();
$find("<%= slider_sun_direction.ClientID %>").set_value(50);
$find("<%= slider_ls_intensity.ClientID %>").set_value(10);
}
/*
------------------------------------------------------------ */
// Function.
/* Change the sun position
*/
function SunDirection(value) {
return ((value - 50.0) / 50.0).toString()
+ ",-1.0,0.5";
}
/*
------------------------------------------------------------ */
// Event handlers.
/* Increase the count of the 'loaded' global
variable, this is used to
* check when all the Telerik controls have been loaded before sending
* commands to the player. */
function HandleClientLoad() {
loadedControls++;
}
/*
------------------------------------------------------------ */
/* Change the sun position
*/
function HandleValueChange_sun_direction(sender,
arg) {
var player = document.getElementById("KribiPlayer");
player.Do("RealisticLight[0] SunDirection "
+ SunDirection(sender.get_value()));
document.getElementById("txt_sun_direction").value
= sender.get_value();
}
/*
------------------------------------------------------------ */
/* Change the LightSource Intensity
*/
function HandleValueChange_intensity(sender,
arg) {
var player = document.getElementById("KribiPlayer");
player.Do("RealisticLight[0] Intensity "
+ (sender.get_value()/10));
document.getElementById("txt_ls_intensity").value
= sender.get_value()/10;
}
/*
------------------------------------------------------------ */
// Tools
function CameraOrbit() {
// Make the camera orbit around the scene
center.
var player = document.getElementById("KribiPlayer");
player.Do("Tool SetCurrent 'CameraOrbit'");
player.Do("ToolsPreferences OrbitMode
ObjectCenter");
}
|