Commit 090de34d authored by Oleg Dzhimiev's avatar Oleg Dzhimiev

fixed: 1. bug relative to marker deletion 2. testbox

parent ef6a5a1c
...@@ -124,7 +124,7 @@ function manualposor_init(){ ...@@ -124,7 +124,7 @@ function manualposor_init(){
var modelname = $(this).html(); var modelname = $(this).html();
var checkbox = $(this).parent().find(".mpr_hide"); var checkbox = $(this).parent().find(".mpr_hide");
if (checkbox.prop("checked")){ if (checkbox.prop("checked")){
$("inline[name=x3d_"+modelname+"]").parent().parent().attr("whichChoice",-1); $("inline[name=x3d_"+modelname+"]").parent().parent().parent().attr("whichChoice",-1);
} }
}); });
} }
...@@ -134,7 +134,7 @@ function manualposor_init(){ ...@@ -134,7 +134,7 @@ function manualposor_init(){
$("#window-extrainfo").on('keyup',function(e){ $("#window-extrainfo").on('keyup',function(e){
$(this).find(".mpr_modelname").each(function(){ $(this).find(".mpr_modelname").each(function(){
var modelname = $(this).html(); var modelname = $(this).html();
$("inline[name=x3d_"+modelname+"]").parent().parent().attr("whichChoice",0); $("inline[name=x3d_"+modelname+"]").parent().parent().parent().attr("whichChoice",0);
}); });
}); });
...@@ -210,7 +210,7 @@ function load_extra_model(name,version){ ...@@ -210,7 +210,7 @@ function load_extra_model(name,version){
function hide_extra_model(name){ function hide_extra_model(name){
//donothing //donothing
$("inline[name=x3d_"+name+"]").parent().parent().parent().remove(); $("inline[name=x3d_"+name+"]").parent().parent().parent().parent().remove();
manualposor_refresh_content(); manualposor_refresh_content();
} }
...@@ -243,14 +243,9 @@ function parse_load_extra_model(name,version,response){ ...@@ -243,14 +243,9 @@ function parse_load_extra_model(name,version,response){
var p0 = new L.LatLng(Data.camera.kml.latitude,Data.camera.kml.longitude); var p0 = new L.LatLng(Data.camera.kml.latitude,Data.camera.kml.longitude);
var p1 = new L.LatLng(Data.extra_models["x3d_"+name].latitude,Data.extra_models["x3d_"+name].longitude); var p1 = new L.LatLng(Data.extra_models["x3d_"+name].latitude,Data.extra_models["x3d_"+name].longitude);
var p_w = x3dom_delta_map2scene(p0,p1); var p_w = x3dom_delta_map2scene(p0,p1);
console.log(p0);
console.log(p1);
console.log(p_w);
var tstring = [p_w.x,p_w.y,p_w.z].join(","); var tstring = [p_w.x,p_w.y,p_w.z].join(",");
console.log("tstring: "+tstring);
heading = heading*Math.PI/180; heading = heading*Math.PI/180;
tilt = tilt*Math.PI/180; tilt = tilt*Math.PI/180;
roll = roll*Math.PI/180; roll = roll*Math.PI/180;
...@@ -280,11 +275,15 @@ function parse_load_extra_model(name,version,response){ ...@@ -280,11 +275,15 @@ function parse_load_extra_model(name,version,response){
model_url = SETTINGS.basepath+"/"+name+"/"+version+"/"+name+".x3d"; model_url = SETTINGS.basepath+"/"+name+"/"+version+"/"+name+".x3d";
var mountshift = [SETTINGS.mountshift.x,SETTINGS.mountshift.y,SETTINGS.mountshift.z].join(',');
var model = $([ var model = $([
'<group>', '<group>',
' <switch whichChoice=\'0\'>', ' <switch whichChoice=\'0\'>',
' <transform rotation=\''+rstring+'\' translation=\''+tstring+'\'>', ' <transform rotation=\''+rstring+'\' translation=\''+tstring+'\'>',
' <inline name="x3d_'+name+'" namespacename="x3d_'+name+'" url="'+model_url+'"></inline>', ' <transform translation=\''+mountshift+'\'>',
' <inline name="x3d_'+name+'" namespacename="x3d_'+name+'" url="'+model_url+'"></inline>',
' </transform>',
' </transform>', ' </transform>',
' </switch>', ' </switch>',
'</group>' '</group>'
...@@ -328,7 +327,7 @@ function manualposor_refresh_content(){ ...@@ -328,7 +327,7 @@ function manualposor_refresh_content(){
console.log("Model "+tmpstr+": "+name); console.log("Model "+tmpstr+": "+name);
// get rotation and translation // get rotation and translation
var tra = $(this).parent(); var tra = $(this).parent().parent();
//console.log($(tra).attr("translation")+' vs '+$(tra).attr("rotation")); //console.log($(tra).attr("translation")+' vs '+$(tra).attr("rotation"));
// always defined // always defined
// 0,0,0 vs 0,0,0,0 // 0,0,0 vs 0,0,0,0
...@@ -345,7 +344,8 @@ function manualposor_refresh_content(){ ...@@ -345,7 +344,8 @@ function manualposor_refresh_content(){
var m = q.toMatrix(); var m = q.toMatrix();
// convert to real world // convert to real world
var R0 = Data.camera.Matrices.R0; var R0 = Data.camera.Matrices.R0;
m = m.mult(R0); //m = m.mult(R0);
m = R0.mult(m);
var htr = x3dom_YawPitchRoll_nc_degs(m); var htr = x3dom_YawPitchRoll_nc_degs(m);
console.log(htr); console.log(htr);
...@@ -454,7 +454,7 @@ function manualposor_update(elem){ ...@@ -454,7 +454,7 @@ function manualposor_update(elem){
var tmp_pp = $(elem).parent().parent(); var tmp_pp = $(elem).parent().parent();
var tmpname = tmp_pp.find(".mpr_name").html(); var tmpname = tmp_pp.find(".mpr_name").html();
var tmptransform = $("inline[name=x3d_"+tmpname+"]").parent(); var tmptransform = $("inline[name=x3d_"+tmpname+"]").parent().parent();
var dp_rw = { var dp_rw = {
x: parseFloat(tmp_pp.find(".mpr_x").val()), x: parseFloat(tmp_pp.find(".mpr_x").val()),
...@@ -505,7 +505,8 @@ function manualposor_update(elem){ ...@@ -505,7 +505,8 @@ function manualposor_update(elem){
var R1 = T.inverse().mult(R).mult(T); var R1 = T.inverse().mult(R).mult(T);
var R0 = Data.camera.Matrices.R0; var R0 = Data.camera.Matrices.R0;
var R_diff = R1.mult(R0.inverse()); //var R_diff = R1.mult(R0.inverse());
var R_diff = R0.inverse().mult(R1);
//var R_diff = R1; //var R_diff = R1;
var Q = new x3dom.fields.Quaternion(0, 0, 1, 0); var Q = new x3dom.fields.Quaternion(0, 0, 1, 0);
......
...@@ -68,7 +68,12 @@ var SETTINGS = { ...@@ -68,7 +68,12 @@ var SETTINGS = {
'kml':"" 'kml':""
}, },
'forcehide':[], 'forcehide':[],
'forceshow':[] 'forceshow':[],
'mountshift':{
x: 0,
y: 0,
z: -0.12
}
// 'kml' : "scene.kml" // 'kml' : "scene.kml"
} }
...@@ -222,7 +227,9 @@ function light_init(){ ...@@ -222,7 +227,9 @@ function light_init(){
'<group>', '<group>',
' <switch whichChoice=\'0\'>', ' <switch whichChoice=\'0\'>',
' <transform id=\'x3d_transform\' class=\'inline_wrapper\'>', ' <transform id=\'x3d_transform\' class=\'inline_wrapper\'>',
' <inline name="x3d_'+model_name+'" namespacename="x3d_'+model_name+'" url="'+model_url+'"></inline>', ' <transform translation=\''+([SETTINGS.mountshift.x,SETTINGS.mountshift.y,SETTINGS.mountshift.z].join(','))+'\'>',
' <inline name="x3d_'+model_name+'" namespacename="x3d_'+model_name+'" url="'+model_url+'"></inline>',
' </transform>',
' </transform>', ' </transform>',
' </switch>', ' </switch>',
'</group>', '</group>',
...@@ -407,6 +414,7 @@ function deep_init(){ ...@@ -407,6 +414,7 @@ function deep_init(){
cnt = parseInt(progress_counter[1]); cnt = parseInt(progress_counter[1]);
if (!Scene._X3DOM_SCENE_INIT_BACK_DONE){ if (!Scene._X3DOM_SCENE_INIT_BACK_DONE){
//console.log(cnt+" "+background_check()); //console.log(cnt+" "+background_check());
var bc = background_check(); var bc = background_check();
...@@ -415,6 +423,11 @@ function deep_init(){ ...@@ -415,6 +423,11 @@ function deep_init(){
Scene._X3DOM_SCENE_INIT_BACK_DONE = true; Scene._X3DOM_SCENE_INIT_BACK_DONE = true;
} }
}else{
//x3dom_testbox();
x3dom_setUpRight();
} }
if (!Scene._X3DOM_SCENE_INIT_DONE&&(cnt==0)){ if (!Scene._X3DOM_SCENE_INIT_DONE&&(cnt==0)){
...@@ -430,6 +443,7 @@ function deep_init(){ ...@@ -430,6 +443,7 @@ function deep_init(){
x3d_setShiftSpeed(); x3d_setShiftSpeed();
} }
}; };
} }
...@@ -679,7 +693,7 @@ function x3d_events(){ ...@@ -679,7 +693,7 @@ function x3d_events(){
if (e.buttons==1){ if (e.buttons==1){
// upright view // upright view
x3dom_setUpRight(); //x3dom_setUpRight();
} }
// what is this? // what is this?
......
...@@ -840,6 +840,16 @@ function x3dom_update_map(){ ...@@ -840,6 +840,16 @@ function x3dom_update_map(){
} }
function x3dom_testbox(){
// keep the test cube
var mat = Scene.element.runtime.viewMatrix().inverse();
var Q = new x3dom.fields.Quaternion(0, 0, 1, 0);
Q.setValue(mat);
var AA = Q.toAxisAngle();
var testbox = $("#testbox");
testbox.attr("rotation",AA[0].toString()+" "+AA[1]);
}
// uses globals // uses globals
function x3dom_setViewpoint(m){ function x3dom_setViewpoint(m){
...@@ -852,6 +862,12 @@ function x3dom_setViewpoint(m){ ...@@ -852,6 +862,12 @@ function x3dom_setViewpoint(m){
viewpoint.attr("position",m.e3().toString()); viewpoint.attr("position",m.e3().toString());
viewpoint.attr("centerOfRotation",m.e3().toString()); viewpoint.attr("centerOfRotation",m.e3().toString());
/*
var viewpoint = $("#viewpoint_transform");
viewpoint.attr("rotation",AA[0].toString()+" "+AA[1]);
viewpoint.attr("translation",m.e3().toString());
*/
// update every time // update every time
Data.camera.Matrices.RC_w = m; Data.camera.Matrices.RC_w = m;
......
...@@ -631,6 +631,7 @@ X3DOMObject.Marker.prototype._registerEvents = function(){ ...@@ -631,6 +631,7 @@ X3DOMObject.Marker.prototype._registerEvents = function(){
Scene.updateMarkersIndices(); Scene.updateMarkersIndices();
Map.deleteMarker(index); Map.deleteMarker(index);
Map.marker.draggedMarker._index = null;
Scene.highlighted_marker_index = null; Scene.highlighted_marker_index = null;
} }
......
...@@ -59,10 +59,29 @@ ...@@ -59,10 +59,29 @@
<!--<Viewpoint fieldOfView='1' position='0 0 0' orientation='0 0 1 0' ></Viewpoint>--> <!--<Viewpoint fieldOfView='1' position='0 0 0' orientation='0 0 1 0' ></Viewpoint>-->
<!-- in x3dom 1.7.2 - bug: zNear does not work properly --> <!-- in x3dom 1.7.2 - bug: zNear does not work properly -->
<!--<Viewpoint fieldOfView='1' position='0 0 0' orientation='0 0 1 0' zNear='3'></Viewpoint>--> <!--<Viewpoint fieldOfView='1' position='0 0 0' orientation='0 0 1 0' zNear='3'></Viewpoint>-->
<Viewpoint fieldOfView='1' position='0 0 0' orientation='0 0 1 0'></Viewpoint>
<!-- <group> <!-- <group>
<inline name="back" namespacename="back" url="models/m1/v1/background.x3d"/> <inline name="back" namespacename="back" url="models/m1/v1/background.x3d"/>
</group>--> </group>-->
<group id='viewpoint_group'>
<transform id='viewpoint_transform'>
<Viewpoint fieldOfView='1' position='0 0 0' orientation='0 0 1 0'>
</Viewpoint>
<!--
<transform id="testbox" DEF="boxTrafo" translation='0 0 0'>
<transform translation='0 0 -5.5'>
<shape DEF="boxShape">
<appearance DEF="boxApp">
<material diffuseColor="1 0 0" specularColor="0.7 0 0" />
</appearance>
<box DEF="box" size='0.3,0.3,0.3'></box>
</shape>
</transform>
</transform>
-->
</transform>
</group>
</scene> </scene>
</x3d> </x3d>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment