04.07.2022

This commit is contained in:
Plotnikov
2022-07-04 13:15:35 +03:00
parent 5fad2bcf6b
commit 696daa0b2e
7224 changed files with 3814576 additions and 0 deletions

View File

@@ -0,0 +1,407 @@
"use strict";
var id_but = "S1000D_root";
var old_id_but = "S1000D_root";
var m_app = null;
var m_anim = null;
var m_cfg = null;
var m_cont = null;
var m_ctl = null;
var m_data = null;
var m_main = null;
var m_scs = null;
var m_version = null;
var m_nla = null;
var m_obj = null;
var m_log_nodes = null;
var DEBUG = null;
var id_button = id_but;
var CANVAS_CONTAINER_ID = 'main_canvas_container';
var CANVAS_REPLACMENT = 'no_webgl_logo';
var ENGINE_PAUSE_TIMEOUT = 10000000;
var _canvas_elem = null;
var _engine_pause_func = null;
var _is_init = null;
b4w.register('3d_catalogue', function(exports, require) {
m_app = require('app');
m_anim = require('animation');
m_cfg = require('config');
m_cont = require('container');
m_ctl = require('controls');
m_data = require('data');
m_main = require('main');
m_scs = require('scenes');
m_version = require('version');
m_nla = require('nla');
m_obj = require('objects');
m_log_nodes = require("logic_nodes");
DEBUG = (m_version.type() === 'DEBUG');
id_button = id_but;
CANVAS_CONTAINER_ID = 'main_canvas_container';
CANVAS_REPLACMENT = 'no_webgl_logo';
ENGINE_PAUSE_TIMEOUT = 10000000;
_canvas_elem = null;
_engine_pause_func = null;
_is_init = false;
/*exports.init = function() {
onresize();
console.log('3Dloaded');
}*/
});
window.addEventListener('load', function() {
b4w.require('3d_catalogue', 'LOGO_NS').init;
}, false);
function registerAll3d() {
console.log('register3D engine');
}
function outline(e) {
if (id_but != e) {
old_id_but = id_but;
id_but = e;
} else
id_but = e;
}
var json = null;
function loadJson(e) {
console.log('load3D');
var folder = '';
var full = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');
var stLink = jQuery(".container_text").attr('link');
var urnP = e;
if ((urnP != '') && (urnP != null) && (urnP != undefined)) {
console.log("e = " + e);
$.ajax({
type: "POST",
url: full + "/Resolver/resolver.php",
data: {
url: stLink,
function: 'urlFolder'
},
success: function(data) {
folder = data;
regex = /^[.]?[\/]?(.*)/g;
mat = regex.exec(folder);
console.log("folder = " + folder);
$.ajax({
type: "POST",
url: full + "/Resolver/resolver.php",
data: {
url: folder,
function: 'getFyletype',
urn: urnP,
type: '.json'
}, //$urn='', $url='', $type=''
success: function(data) {
console.log("url = " + full + '/' + folder + '/' + data);
/*folder = data;
regex = /^[.]?[\/]?(.*)/g;
mat = regex.exec(folder);
//console.log(mat);
getUrlpartURN(urn, mat[1], obj, objText);*/
json = full + '/' + folder + '/' + data;
registerAll3d();
onresize();
}
});
}
});
console.log(json);
}
//json = e;
}
function onresize() {
if (!_is_init && window.innerWidth >= 200) {
init_engine();
return;
}
if (!_is_init && window.innerWidth < 200) {
window.addEventListener("resize", onresize);
return;
}
if (_is_init && window.innerWidth >= 200) {
var cont = m_cont.get_container();
cont.style.display = "block";
return;
}
if (_is_init && window.innerWidth < 200) {
var cont = m_cont.get_container();
cont.style.display = "none";
if (!m_main.is_paused())
m_main.pause();
}
}
function init_engine() {
_is_init = true
m_app.init({
canvas_container_id: CANVAS_CONTAINER_ID,
callback: init_cb,
gl_debug: false,
physics_enabled: false,
quality: m_cfg.P_HIGH,
report_init_failure: false,
alpha: true,
assets_dds_available: !DEBUG,
assets_min50_available: !DEBUG,
force_container_ratio: 800 / 450,
autoresize: true
})
/*var cont = m_cont.get_container();
cont.style.display = "block";*/
}
function init_cb(canvas_elem, success) {
if (!success) {
return;
}
_canvas_elem = canvas_elem;
load_stuff();
}
function load_stuff() {
m_data.load(json, loaded_callback, false, true)
}
function check_user_agent(str) {
var user_agent = navigator.userAgent
if (user_agent.indexOf(str) > -1) {
return true;
} else {
return false;
}
}
function loaded_callback(data_id) {
var canv_repl = document.getElementById(CANVAS_REPLACMENT)
var cont = m_cont.get_container()
if (canv_repl) {
canv_repl.style.display = "none";
}
if (cont) {
cont.style.display = "block";
}
_canvas_elem.oncontextmenu = function(e) {
e.preventDefault()
e.stopPropagation()
return false;
}
_canvas_elem.style.display = 'block';
m_app.enable_camera_controls(false, true, false, _canvas_elem, true)
var cam = m_scs.get_active_camera()
m_ctl.remove_sensor_manifold(cam, 'ROT_UP')
m_ctl.remove_sensor_manifold(cam, 'ROT_DOWN')
m_ctl.remove_sensor_manifold(cam, 'ROT_LEFT')
m_ctl.remove_sensor_manifold(cam, 'ROT_RIGHT')
enable_timeout()
window.addEventListener('beforeunload', function() {
_canvas_elem.style.display = 'none';
if (canv_repl) {
canv_repl.style.display = "block";
}
})
_canvas_elem.addEventListener('mousedown', resume_engine, false)
_canvas_elem.addEventListener('mousewheel', resume_engine, false)
_canvas_elem.addEventListener('mousemove', resume_engine, false)
_canvas_elem.addEventListener('DOMMouseScroll', resume_engine, false)
_canvas_elem.addEventListener('touchstart', resume_engine, false)
_canvas_elem.addEventListener('touchmove', resume_engine, false)
window.removeEventListener('resize', onresize)
window.addEventListener('resize', onresize)
}
function resume_engine() {
clearTimeout(_engine_pause_func)
m_main.resume()
enable_timeout()
}
function enable_timeout() {
_engine_pause_func = setTimeout(pause_engine, ENGINE_PAUSE_TIMEOUT)
}
$(document).ready(function() {
$('body').on('click','.b4webJsonMenuButton',function(event){
resume_engine();
var doThat = $(this).attr('val');
m_log_nodes.run_entrypoint("Scene", doThat);
});
$('body').on('click','.S1000DIntRefParam',function (event) {
event.preventDefault();
event.stopPropagation();
console.log($(this).attr('val'));
resume_engine();
var doThat = $(this).attr('val');
if (id_but != doThat) {
old_id_but = id_but;
id_but = doThat;
console.log(id_but);
var detal = m_scs.get_object_by_name(id_but);
var detal_tag = m_scs.get_object_by_name(id_but);
if(old_id_but !== 'S1000D_root'){
var detal_old = m_scs.get_object_by_name(old_id_but);
m_scs.clear_outline_anim(detal_old);
}
else{
m_scs.clear_outline_anim(detal);
}
m_scs.apply_outline_anim_def(detal);
var meta_tag = m_obj.get_meta_tags(detal_tag);
console.log("метатег "+detal_tag);
var category = meta_tag.category;
console.log(category);
var all_obj = m_scs.get_all_objects("MESH");
for (var key in all_obj) {
var current_det = all_obj[key];
var current_meta_tag = m_obj.get_meta_tags(current_det);
var current_cat = current_meta_tag.category;
if (current_cat == category) {
m_scs.apply_outline_anim_def(current_det);
}
else {
m_scs.clear_outline_anim(current_det);
}
}
} else
id_but = doThat;
});
$('body').on('click','a[val='+id_but+'].S1000DIntRefParam',function(event){
console.log($('a[val='+id_but+'].S1000DIntRefParam'));
var detal = m_scs.get_object_by_name(id_but);
var detal_old = m_scs.get_object_by_name(old_id_but);
m_scs.clear_outline_anim(detal_old);
m_scs.apply_outline_anim_def(detal);
var meta_tag = m_obj.get_meta_tags(detal);
var category = meta_tag.category;
var all_obj = m_scs.get_all_objects("MESH");
for (var key in all_obj) {
var current_det = all_obj[key];
var current_meta_tag = m_obj.get_meta_tags(current_det);
var current_cat = current_meta_tag.category;
if (current_cat == category) {
m_scs.apply_outline_anim_def(current_det);
}
else {
m_scs.clear_outline_anim(current_det);
}
}
}
);
$('body').on('click','a[val='+id_but+'].S1000DIntRefParam',function(event){
console.log($('a[val='+id_but+'].S1000DIntRefParam'));
var detal = m_scs.get_object_by_name(id_but);
var detal_old = m_scs.get_object_by_name(old_id_but);
m_scs.clear_outline_anim(detal_old);
m_scs.apply_outline_anim_def(detal);
var meta_tag = m_obj.get_meta_tags(detal);
var category = meta_tag.category;
var all_obj = m_scs.get_all_objects("MESH");
for (var key in all_obj) {
var current_det = all_obj[key];
var current_meta_tag = m_obj.get_meta_tags(current_det);
var current_cat = current_meta_tag.category;
if (current_cat == category) {
m_scs.apply_outline_anim_def(current_det);
}
else {
m_scs.clear_outline_anim(current_det);
}
}
}
);
//Скрыть якоря
$('body').on('click','.b4webJsonMenuButton',function(event){
resume_engine();
var doThat = $(this).attr('val');
if (doThat == "hide_anchors") {
m_log_nodes.run_entrypoint("Scene", doThat);
var all_anchors = m_scs.get_all_objects("EMPTY");
for (var key in all_anchors) {
var current_anchor = all_anchors[key];
m_scs.hide_object(current_anchor);
}
}
});
// Показать якоря
$('body').on('click','.b4webJsonMenuButton',function(event){
resume_engine();
var doThat = $(this).attr('val');
if (doThat == "show_anchors") {
m_log_nodes.run_entrypoint("Scene", doThat);
var all_anchors = m_scs.get_all_objects("EMPTY");
for (var key in all_anchors) {
var current_anchor = all_anchors[key];
m_scs.show_object(current_anchor);
}
}
});
});
function pause_engine() {
m_main.pause()
}