diff --git a/ExportThreeJS.cpp b/ExportThreeJS.cpp
index fe1da04..0495912 100644
--- a/ExportThreeJS.cpp
+++ b/ExportThreeJS.cpp
@@ -63,7 +63,7 @@ ExportThreeJS::SetOptions( int nFilter)
//----------------------------------------------------------------------------
bool
-ExportThreeJS::Export( IGeomDB* pGDB, int nId, const string& sFile, const string& sFileM, IEGrScene* pScene)
+ExportThreeJS::Export( IGeomDB* pGDB, int nId, const string& sFile, IEGrScene* pScene)
{
// verifico il DB geometrico
if ( pGDB == nullptr) {
@@ -87,14 +87,6 @@ ExportThreeJS::Export( IGeomDB* pGDB, int nId, const string& sFile, const string
return false ;
}
- // apro il file di testo in scrittura
- m_WriterM.Close() ;
- if ( ! m_WriterM.Init( sFileM)) {
- LOG_ERROR( GetEExLogger(), "ExportThreeJS : Error on open file")
- return false ;
- }
-
-
// prelevo il Box3D globale (per ingombro e punto luce)
BBox3d b3Globbox ;
pGDB->GetGlobalBBox( nId, b3Globbox, BBF_ONLY_VISIBLE) ;
@@ -122,9 +114,6 @@ ExportThreeJS::Export( IGeomDB* pGDB, int nId, const string& sFile, const string
if ( ! m_Writer.Close())
bOk = false ;
- if (! m_WriterM.Close())
- bOk = false ;
-
return bOk;
}
@@ -152,68 +141,66 @@ ExportThreeJS::HeadAmbient( IEGrScene* pScene, IGeomDB* pGDB, int nId)
pScene->GetGridParam( &dSnapStep, &nExtStep) ;
+ m_spath = ""; // <----- da far scegliere all'utente
+
// scrittura parte iniziale del codice e librerie
m_Writer.OutText( "") ;
m_Writer.OutText( "") ;
- m_Writer.OutText( "
") ;
- // librerie
- // --- m_Writer.OutText( " ") ; <---- original
- // --- m_Writer.OutText( " ") ; <--- original
- // --- m_Writer.OutText( " ") ; <--- original
- // stile
- m_Writer.OutText( " ") ;
- // librerie (non moduli)
- m_Writer.OutText( " ") ; //jquery
- m_Writer.OutText( " ") ; //datGui
-
- m_Writer.OutText( " ") ;
+ m_Writer.OutText( " ") ; //
+ m_Writer.OutText( " ") ;
- m_WriterM.OutText( "") ;
- m_WriterM.OutText( "
") ;
-
return true ;
}
@@ -388,7 +331,6 @@ ExportThreeJS::FinishAmbient()
//scorro le superfici trasparenti
for ( sSurfDist sCurrSurvDist : m_lTranspSurf)
{
- m_Writer.OutText( " // ---------------------------------------------------------------------") ;
// aggiungo le mesh trasparenti alla mia lista di oggetti e alla scena (front e back)
m_Writer.OutText( " list_of_objects.push(front_surf_mesh" + sCurrSurvDist.sName + ");") ;
m_Writer.OutText( " list_of_objects.push(back_surf_mesh" + sCurrSurvDist.sName + ");") ;
@@ -400,18 +342,11 @@ ExportThreeJS::FinishAmbient()
m_Writer.OutText( " {") ;
m_Writer.OutText( " scene.add(list_of_objects[i])") ;
m_Writer.OutText( " };");
-
// controllo menu Gui
m_Writer.OutText( " var center;") ;
m_Writer.OutText( " var boxCreated = false;") ;
m_Writer.OutText( " var box;") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " /*") ;
- m_Writer.OutText( " const helper = new THREE.CameraHelper( camera );") ;
- m_Writer.OutText( " scene.add( helper );") ;
- m_Writer.OutText( " */") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " var controls = {") ;
+ m_Writer.OutText( " controls = {") ;
m_Writer.OutText( " element: null,") ;
m_Writer.OutText( " motion : true,") ;
m_Writer.OutText( " tar : orbitControls.target,") ;
@@ -424,7 +359,7 @@ ExportThreeJS::FinishAmbient()
m_Writer.OutText( " camera.lookAt(new THREE.Vector3(" + ToString( m_ptCenter.y) + ", " + ToString( m_ptCenter.z) + ", " + ToString( m_ptCenter.x) + "));") ;
m_Writer.OutText( " orbitControls = new OrbitControls(camera, document.getElementById('WebGL-output'));") ;
m_Writer.OutText( " orbitControls.autoRotate = controls.motion;") ;
- m_Writer.OutText( "") ;
+ m_Writer.OutText( " orbitControls.target = new THREE.Vector3(" + ToString(m_ptCenter.y) + ", " + ToString(m_ptCenter.z) + ", " + ToString(m_ptCenter.x) + ");") ;
m_Writer.OutText( " document.getElementsByClassName('obit-controls-gizmo')[0].remove();") ;
m_Writer.OutText( " controlsGizmo = new OrbitControlsGizmo(orbitControls, { size: 100, padding : 8 });") ;
m_Writer.OutText( " document.body.appendChild(controlsGizmo.domElement);") ;
@@ -432,7 +367,6 @@ ExportThreeJS::FinishAmbient()
m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchstart', false);") ;
m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchend', false);") ;
m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchcancel', false);") ;
- m_Writer.OutText( "") ;
m_Writer.OutText( " if (boxCreated) {") ;
m_Writer.OutText( " box = new THREE.BoxHelper(controls.element, 0xff0000);") ;
m_Writer.OutText( " camera.position.y = " + ToString( m_ptMin.y + ( m_dimZ * 1.1)) + ";") ; //115%
@@ -440,312 +374,347 @@ ExportThreeJS::FinishAmbient()
m_Writer.OutText( " orbitControls.target = center;") ;
m_Writer.OutText( " }") ;
m_Writer.OutText( " },") ;
- m_Writer.OutText( "") ;
m_Writer.OutText( " }") ;
-
// Cerco il parametro dall'url del gruppo da selezionare
- m_Writer.OutText( "") ;
- m_Writer.OutText( " // Lettura Parametri -------------- url -------") ;
- m_Writer.OutText( " const queryString = window.location.search;") ;
- m_Writer.OutText( " if (queryString != '') {") ;
- m_Writer.OutText( " const urlParams = new URLSearchParams(queryString);") ;
- m_Writer.OutText( " const element = urlParams.get('id')") ;
- //m_Writer.OutText( " element = element.normalize('NFD').replace(/[\u0300-\u036f]/g, '') ") ;
- m_Writer.OutText( " findGroupByNameAndId(groupRoot, element);") ;
+ m_Writer.OutText( " const queryString = window.location.search;") ;
+ m_Writer.OutText( " if (queryString != '') {") ;
+ m_Writer.OutText( " const urlParams = new URLSearchParams(queryString);") ;
+ m_Writer.OutText( " const element = urlParams.get('id')") ;
+ m_Writer.OutText( " if (!booked) {") ;
+ m_Writer.OutText( " booked = true;") ;
+ m_Writer.OutText( " findGroupByNameAndId(groupRoot, element, 0);") ;
m_Writer.OutText( " }") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " // --------------------------------------------") ;
-
-
- // funzione per ricavare un gruppo dato l'ID (name + ID)
- m_Writer.OutText( "" );
- m_Writer.OutText( " function findGroupByNameAndId(CurrentGroup, Id) {") ;
- m_Writer.OutText( " CurrentGroup.children.forEach(element => {") ;
- m_Writer.OutText( " if (element.name == Id) {") ;
- // --- m_Writer.OutText( " ScanElements(element, true);") ; <---- original
- m_Writer.OutText( " // creo il box per telecamera -----") ;
- m_Writer.OutText( " controls.element = element;") ;
- m_Writer.OutText( " createBox(element);") ;
- m_Writer.OutText( " // ----------------------------------") ;
- m_Writer.OutText( " EvidenziaLoadPage(element);") ;
- m_Writer.OutText( " trovato = true;");
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " if (element.children.length != 0) {") ;
- m_Writer.OutText( " findGroupByNameAndId(element, Id);") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " });") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " // --------------------------------------------") ;
- m_Writer.OutText( "") ;
-
- // funzione per ricavare il gruppo selezionato dal menu
- // --- m_Writer.OutText( " selectElement = function(val) {") ;
- // --- m_Writer.OutText(" ScanElements(val, true);");
- // --- m_Writer.OutText( " }") ;
-
- // funzione per creare il box al gruppo selezionato
- m_Writer.OutText( "") ;
- m_Writer.OutText( " function createBox(element) {") ;
- m_Writer.OutText( " var box = new THREE.BoxHelper(element, 0xff0000);") ;
- m_Writer.OutText( " camera.position.y = " + ToString(m_ptMin.y + (m_dimZ * 1.1))+ ";") ; //115%
- m_Writer.OutText( " var center = box.geometry.boundingSphere.center;") ;
- m_Writer.OutText( " orbitControls.target = center;") ;
- m_Writer.OutText(" controls.tar.x = center.x;") ;
- m_Writer.OutText(" controls.tar.y = center.y;") ;
- m_Writer.OutText(" controls.tar.z = center.z;") ;
- m_Writer.OutText(" boxCreated = true;") ;
- m_Writer.OutText(" }");
- m_Writer.OutText(" // --------------------------------------------");
- m_Writer.OutText( "") ;
-
- // creazione del menu Gui
- m_Writer.OutText( " var gui = new dat.GUI({ width: 200 });") ;
- m_Writer.OutText( " gui.add(controls, 'motion').name('Rotation');") ;
- m_Writer.OutText( " gui.add(controls, 'reset').name('Reset camera');") ;
- m_Writer.OutText( " document.getElementsByClassName('dg main a')[0].style.marginRight = '0px';") ;
- m_Writer.OutText(" // --------------------------------------------") ;
-
- // funzione per evidenziare un gruppo selezionato (per timer) 0xFBF719
- m_Writer.OutText( "") ;
- m_Writer.OutText( " function EnlightGroup(SelGroup) {") ;
- m_Writer.OutText( " if (SelGroup !== null) {");
- m_Writer.OutText( " SelGroup.children.forEach(element => {") ;
- m_Writer.OutText( " if (!(element instanceof THREE.Group)) {") ;
- m_Writer.OutText( " if (element instanceof THREE.Line) { //linea") ;
- m_Writer.OutText( " element.material.color = new THREE.Color(0xFBF719);") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (element instanceof THREE.Mesh) { //mesh") ;
- m_Writer.OutText( " element.material.color = new THREE.Color(0x00ff00);") ;
- m_Writer.OutText( " element.material.emissive = new THREE.Color(0xFBF719);") ;
- m_Writer.OutText( " element.material.emissiveIntensity = 1.2;") ;
- m_Writer.OutText( " element.material.transparent = false;") ;
- m_Writer.OutText( " element.material.opacity = 1;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (element instanceof THREE.Points) { //punto") ;
- m_Writer.OutText( " element.material.color = new THREE.Color(0xFBF719);") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (element instanceof THREE.Vector3) { //vettore") ;
- m_Writer.OutText( " element.line.material.color = new THREE.Color(0xFBF719);") ;
- m_Writer.OutText( " element.cone.material.color = new THREE.Color(0xFBF719);") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (element instanceof THREE.Object3D) { //frame") ;
- m_Writer.OutText( " element.line.material.color = new THREE.Color(0xFBF719);") ;
- m_Writer.OutText( " element.cone.material.color = new THREE.Color(0xFBF719);") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else {") ;
- m_Writer.OutText( " EnlightGroup(element);") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " });") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " // --------------------------------------------") ;
- m_Writer.OutText( "") ;
-
- // funzione per riportare il colore del gruppo selezionato a quello originale (per timer)
- m_Writer.OutText( "") ;
- m_Writer.OutText( " function GetColorBack(SelGroup) {") ;
- m_Writer.OutText( " if (SelGroup !== null) {") ;
- m_Writer.OutText( " SelGroup.children.forEach(element => {") ;
- m_Writer.OutText( " if (!(element instanceof THREE.Group)) {") ;
- m_Writer.OutText( " if (element instanceof THREE.Line) { //linea") ;
- m_Writer.OutText( " element.material.color = element.material.oldColor;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (element instanceof THREE.Mesh) { //mesh") ;
- m_Writer.OutText( " element.material.color = element.material.oldColor;") ;
- m_Writer.OutText( " element.material.emissive = new THREE.Color(0x000000);") ;
- m_Writer.OutText( " element.material.emissiveIntensity = 1;") ;
- m_Writer.OutText( " if (element.material.wasTransparent) {") ;
- m_Writer.OutText( " element.material.transparent = true;") ;
- m_Writer.OutText( " element.material.opacity = element.material.hadOpacity;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (element instanceof THREE.Points) { //punto") ;
- m_Writer.OutText( " element.material.color = element.material.oldColor;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (element instanceof THREE.Vector3) { //vettore") ;
- m_Writer.OutText( " element.line.material.color = element.oldColor;") ;
- m_Writer.OutText( " element.cone.material.color = element.oldColor; ") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (element instanceof THREE.Object3D) { //frame") ;
- m_Writer.OutText( " element.line.material.color = element.oldColor;") ;
- m_Writer.OutText( " element.cone.material.color = element.oldColor;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else {") ;
- m_Writer.OutText( " GetColorBack(element);") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " });") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " // --------------------------------------------") ;
- m_Writer.OutText( "") ;
-
- // funzione per tenere evidenziato il gruppo selezionato (funzione con il timer)
- m_Writer.OutText( "") ;
- m_Writer.OutText( " function EvidenziaLoadPage(ChoosenGroup) {") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " if (ChoosenGroup === null) {") ;
- m_Writer.OutText( " return;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " var i = 0;") ;
- m_Writer.OutText( " var YellowSet = false;") ;
- m_Writer.OutText( " var OrigColSet = false;") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " function animation() {") ;
- m_Writer.OutText( " var timer = setTimeout(function() {") ;
- m_Writer.OutText( " i++;") ;
- m_Writer.OutText( " //console.log(i); //delete it") ;
- m_Writer.OutText( " if (!YellowSet && i < 10)") ;
- m_Writer.OutText( " {") ;
- m_Writer.OutText( " // coloro di giallo !!!") ;
- m_Writer.OutText( " EnlightGroup(ChoosenGroup);") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " YellowSet = true;") ;
- m_Writer.OutText( " OrigColSet = false;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (!OrigColSet && (i >= 10 && i < 20))") ;
- m_Writer.OutText( " {") ;
- m_Writer.OutText( " // riporto i colori originali ") ;
- m_Writer.OutText( " GetColorBack(ChoosenGroup);") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " YellowSet = false;") ;
- m_Writer.OutText( " OrigColSet = true;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " else if (i == 20)") ;
- m_Writer.OutText( " {") ;
- m_Writer.OutText( " i = 0;") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " animation();") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " }, 25); //1.5 seconds test") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " animation(); // prima chimata") ;
- m_Writer.OutText( "") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " // --------------------------------------------") ;
- m_Writer.OutText( "") ;
-
- // funzione per riportare il colore del gruppo selezionato a quello originale
- // --- m_Writer.OutText(" GetColorBack = function(SelGroup) {") ;
- // --- m_Writer.OutText(" if (SelGroup != = null) {") ;
- // --- m_Writer.OutText(" SelGroup.children.forEach(element => {") ;
- // --- m_Writer.OutText(" if (!(element instanceof THREE.Group)) {") ;
- // --- m_Writer.OutText(" if (element instanceof THREE.Line) { //linea") ;
- // --- m_Writer.OutText(" element.material.color = element.material.oldColor;") ;
- // --- m_Writer.OutText(" }") ;
- // --- m_Writer.OutText(" else if (element instanceof THREE.Mesh) { //mesh") ;
- // --- m_Writer.OutText(" element.material.color = element.material.oldColor;");
- // --- m_Writer.OutText(" }") ;
- // --- m_Writer.OutText(" else if (element instanceof THREE.Points) { //punto");
- // --- m_Writer.OutText(" element.material.color = element.material.oldColor;");
- // --- m_Writer.OutText(" }");
- // --- m_Writer.OutText(" else if (element instanceof THREE.Vector3) { //vettore");
- // --- m_Writer.OutText(" element.line.material.color = element.oldColor;");
- // --- m_Writer.OutText(" element.cone.material.color = element.oldColor;");
- // --- m_Writer.OutText(" }");
- // --- m_Writer.OutText(" else if (element instanceof THREE.Object3D) { //frame");
- // --- m_Writer.OutText(" element.line.material.color = element.oldColor;");
- // --- m_Writer.OutText(" element.cone.material.color = element.oldColor;");
- // --- m_Writer.OutText(" }");
- // --- m_Writer.OutText(" }");
- // --- m_Writer.OutText(" else {");
- // --- m_Writer.OutText(" GetColorBack(element);");
- // --- m_Writer.OutText(" }");
- // --- m_Writer.OutText(" });");
- // --- m_Writer.OutText(" };");
- // --- m_Writer.OutText(" }");
-
- // funzione per evidenziare gli elementi dei un gruppo
- // ---m_Writer.OutText( " ScanElements = function(SelGroup, c) {") ;
- // ---m_Writer.OutText( " if(c){") ;
- // ---m_Writer.OutText( " if (!first) {") ;
- // ---m_Writer.OutText( " GetColorBack(LastGroupSelected);") ;
- // ---m_Writer.OutText( " }") ;
- // ---m_Writer.OutText( " first = false;") ;
- // ---m_Writer.OutText( " LastGroupSelected = SelGroup;") ;
- // ---m_Writer.OutText( " }") ;
- // ---m_Writer.OutText( " SelGroup.children.forEach(element => {") ;
- // ---m_Writer.OutText( " if (!(element instanceof THREE.Group)) {") ;
- // ---m_Writer.OutText( " if (element instanceof THREE.Line) { //linea") ;
- // ---m_Writer.OutText( " element.material.color = new THREE.Color(0xFBF719);") ;
- // ---m_Writer.OutText( " }") ;
- // ---m_Writer.OutText( " else if (element instanceof THREE.Mesh) { //mesh") ;
- // ---m_Writer.OutText( " element.material.color = new THREE.Color(0xFBF719);") ;
- // ---m_Writer.OutText( " }") ;
- // ---m_Writer.OutText( " else if (element instanceof THREE.Points) { //punto") ;
- // ---m_Writer.OutText( " element.material.color = new THREE.Color(0xFBF719);") ;
- // ---m_Writer.OutText( " }");
- // ---m_Writer.OutText( " else if (element instanceof THREE.Vector3) { //vettore") ;
- // ---m_Writer.OutText( " element.line.material.color = new THREE.Color(0xFBF719);") ;
- // ---m_Writer.OutText( " element.cone.material.color = new THREE.Color(0xFBF719);") ;
- // ---m_Writer.OutText( " }") ;
- // ---m_Writer.OutText( " else if (element instanceof THREE.Object3D) { //frame") ;
- // ---m_Writer.OutText( " element.line.material.color = new THREE.Color(0xFBF719);") ;
- // ---m_Writer.OutText( " element.cone.material.color = new THREE.Color(0xFBF719);") ;
- // ---m_Writer.OutText( " }") ;
- // ---m_Writer.OutText( " }") ;
- // ---m_Writer.OutText( " else {") ;
- // ---m_Writer.OutText( " ScanElements(element, false);") ;
- // ---m_Writer.OutText( " }") ;
- // ---m_Writer.OutText( " });") ;
- // ---m_Writer.OutText( " }") ;
-
- // funzione render per la scena
- m_Writer.OutText( " function renderScene() {") ;
- //m_Writer.OutText( "const div = document.getElementById('zoom_test');"); // div per controllo parametri
- //m_Writer.OutText( "div.textContent = " + ToString( m_dDistance) +";") ; // div per controllo parametri
-
- m_Writer.OutText( " var delta = clock.get") ;
- m_Writer.OutText( " orbitControls.update(zoom, " + ToString( m_dHalfWidth/2)+ ", " + ToString( m_dHalfHeight/2) + ");") ; // aggiornamento telecamera
- // --- m_Writer.OutText( " camera.zoom = zoom;") ; <---- original
- m_Writer.OutText( " orbitControls.autoRotate = controls.motion;") ;
- m_Writer.OutText( " camera.zoom = zoom + orbitControls.ComputedZoom - 1;") ;
- m_Writer.OutText( " camera.updateProjectionMatrix();") ; // aggiornamento matrice di proiezione su piano Near di clipping
- m_Writer.OutText( " requestAnimationFrame(renderScene);") ;
- m_Writer.OutText( " renderer.render(scene, camera);") ;
- m_Writer.OutText( " }") ;
-
- // aggiungo il canvas alla pagina html con la mia scena
- m_Writer.OutText( " document.getElementById('WebGL-output').appendChild(renderer.domElement);") ;
- m_Writer.OutText( " document.body.appendChild(controlsGizmo.domElement);") ;
- m_Writer.OutText( " renderScene();") ;
- m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchmove', false);") ;
- m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchstart', false);") ;
- m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchend', false);") ;
- m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchcancel', false);") ;
m_Writer.OutText( " }") ;
+ // creazione del menu Gui
+ m_Writer.OutText( " var gui = new dat.GUI({ width: 200 });") ;
+ m_Writer.OutText( " gui.add(controls, 'motion').name('Rotation');") ;
+ m_Writer.OutText( " gui.add(controls, 'reset').name('Reset camera');") ;
+ m_Writer.OutText( " document.getElementsByClassName('dg main a')[0].style.marginRight = '0px';") ;
+ // funzione render per la scena
+ m_Writer.OutText( " function renderScene() {") ;
+ //m_Writer.OutText( " orbitControls.update(zoom, " + ToString( m_dHalfWidth / 2) + ", " + ToString( m_dHalfHeight / 2) + ");") ; // aggiornamento telecamera
+ m_Writer.OutText( " orbitControls.update();") ;
+ m_Writer.OutText( " orbitControls.autoRotate = controls.motion;") ;
+ m_Writer.OutText( " camera.zoom = zoom + orbitControls.ComputedZoom - 1;") ;
+ m_Writer.OutText( " camera.updateProjectionMatrix();") ; // aggiornamento matrice di proiezione su piano Near di clipping
+ m_Writer.OutText( " requestAnimationFrame(renderScene);") ;
+ m_Writer.OutText( " renderer.setSize(window.screen.availWidth, window.screen.availHeight);") ;
+ m_Writer.OutText( " renderer.render(scene, camera);") ;
+ m_Writer.OutText( " }");
+ // applico il render al div #WEBGL-output
+ m_Writer.OutText( " document.getElementById('WebGL-output').appendChild(renderer.domElement);") ;
+ // imposto l'altezza massima del menu laterale sinistro
+ m_Writer.OutText( " document.querySelector('#contMenu').style.maxHeight = (window.screen.availHeight - 175) + 'px'; ") ;
+ // imposto la lunghezza e l'altezza del canvas al 100% dello schermo
+ m_Writer.OutText( " document.getElementsByTagName('canvas')[0].style.width = '100vw';") ;
+ m_Writer.OutText( " document.getElementsByTagName('canvas')[0].style.height = '100vh';") ;
+ // applico il cotroller OrbitControlGizmo in basso a destra
+ m_Writer.OutText( " document.body.appendChild(controlsGizmo.domElement);") ;
+ // chiamo il render della scena
+ m_Writer.OutText( " renderScene();") ;
+ // blocco i comandi Gizmo da tablet
+ m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchmove', false);") ;
+ m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchstart', false);") ;
+ m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchend', false);") ;
+ m_Writer.OutText( " $('.obit-controls-gizmo').bind('touchcancel', false);") ;
+ m_Writer.OutText( " Updatebadge(groupRoot, -1);") ;
+ m_Writer.OutText( " }"); // chiusura della funzione di init()
+
+ // DICHIARAZIONE DI TUTTE LE FUNZIONI UTILIZZATE NELLA INIT() DELLA SCENA
+
+
+ // 1) funzione Updatebadge
+ // - obj: aggiornare i badge nel menu di sinistra
+ // - par: gruppo da cui iniziare la ricerca, id della radice (per contare i figli del gruppo e aggiornare il numero correttamente)
+ m_Writer.OutText( " function Updatebadge(CurrentGroup, Id_sup) {") ;
+ m_Writer.OutText( " CurrentGroup.children.forEach(element => {") ;
+ m_Writer.OutText( " if(element.children.length != 0 && element.type == 'Group') {") ;
+ m_Writer.OutText( " var i = 0;") ;
+ m_Writer.OutText( " for (var j = 0; j < element.children.length; j++) {") ;
+ m_Writer.OutText( " if (element.children[j].type == 'Group') {") ;
+ m_Writer.OutText( " i++;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " if(i != 0) {") ;
+ m_Writer.OutText( " document.getElementById('s_id_' + element.name).innerHTML = '' + i;") ;
+ m_Writer.OutText( " document.getElementById('ss_id_' + element.name).classList.add('fw-bold');") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " Updatebadge(element, element.id);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " });") ;
+ m_Writer.OutText( " }") ;
+
+ // 2) funzione findGroupByNameAndId
+ // - obj: trova il gruppo dato il suo id
+ // - par: gruppo da cui iniziare la ricerca, id, n = (0 o 1) | 0 -> id selezionato da URL e 1 -> id selezionato da MENU LATERALE
+ m_Writer.OutText( " function findGroupByNameAndId(CurrentGroup, Id, n) {") ;
+ m_Writer.OutText( " CurrentGroup.children.forEach(element => {") ;
+ m_Writer.OutText( " if (element.name == Id && element.children.length != 0) {") ;
+ m_Writer.OutText( " if (LastSelectedGroup == null) {") ;
+ m_Writer.OutText( " LastGroupSelected = element;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " LastGroupSelected = CurrentSelectedGroup") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " CurrentSelectedGroup = element;") ;
+ m_Writer.OutText( " if (n == 0) {") ;
+ m_Writer.OutText( " controls.element = element;") ;
+ m_Writer.OutText( " createBox(element);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText(" booked = true;");
+ m_Writer.OutText( " EvidenziaLoadPage(element);") ;
+ m_Writer.OutText( " trovato = true;");
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " if (element.children.length != 0) {") ;
+ m_Writer.OutText( " findGroupByNameAndId(element, Id, n);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " });") ;
+ m_Writer.OutText( " }") ;
+
+ // 3) funzione per creare il box per centrare l'elemento il cui Id è nell'URL
+ // - obj: crea il box attorno al gruppo selezionato
+ // - par: il gruppo
+ m_Writer.OutText( " function createBox(element) {") ;
+ m_Writer.OutText( " var box = new THREE.BoxHelper(element, 0xff0000);") ;
+ m_Writer.OutText( " camera.position.y = 2761.842488;") ;
+ m_Writer.OutText( " if (box.geometry.boundingSphere != null) {") ;
+ m_Writer.OutText( " var center = box.geometry.boundingSphere.center;") ;
+ m_Writer.OutText( " orbitControls.target = center;") ;
+ m_Writer.OutText( " controls.tar.x = center.x;") ;
+ m_Writer.OutText( " controls.tar.y = center.y;") ;
+ m_Writer.OutText( " controls.tar.z = center.z;") ;
+ m_Writer.OutText( " boxCreated = true;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+
+ // 4) funzione per evidenziare il gruppo selezionato (per il timer)
+ // - obj: evidenziare il gruppo (e i vari sottogruppi), togliendo le trasparenze durante l'evidenziatura
+ // - par: il gruppo
+ m_Writer.OutText( " function EnlightGroup(SelGroup) {") ;
+ m_Writer.OutText( " if (SelGroup !== null) {");
+ m_Writer.OutText( " SelGroup.children.forEach(element => {") ;
+ m_Writer.OutText( " if (!(element instanceof THREE.Group)) {") ;
+ m_Writer.OutText( " if (element instanceof THREE.Line) { //linea") ;
+ m_Writer.OutText( " element.material.color = new THREE.Color(0x0275D8);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (element instanceof THREE.Mesh) { //mesh") ;
+ m_Writer.OutText( " element.material.color = new THREE.Color(0x0275D8);") ;
+ m_Writer.OutText( " element.material.emissive = new THREE.Color(0x0000ff);") ;
+ m_Writer.OutText( " element.material.emissiveIntensity = 1.2;") ;
+ m_Writer.OutText( " element.material.transparent = false;") ;
+ m_Writer.OutText( " element.material.opacity = 1;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (element instanceof THREE.Points) { //punto") ;
+ m_Writer.OutText( " element.material.color = new THREE.Color(0x0275D8);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (element instanceof THREE.Vector3) { //vettore") ;
+ m_Writer.OutText( " element.line.material.color = new THREE.Color(0x0275D8);") ;
+ m_Writer.OutText( " element.cone.material.color = new THREE.Color(0x0275D8);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (element instanceof THREE.Object3D) { //frame") ;
+ m_Writer.OutText( " element.line.material.color = new THREE.Color(0x0275D8);") ;
+ m_Writer.OutText( " element.cone.material.color = new THREE.Color(0x0275D8);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " EnlightGroup(element);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " });") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+
+ // 5) funzione per riportare il colore del gruppo selezionato a quello originale (per il timer)
+ // - obj: riportare il gruppo (e i vari sottogruppi) ai colori originali, risportando le trasparenze a quelle originali
+ // - par: il gruppo
+ m_Writer.OutText( " function GetColorBack(SelGroup) {") ;
+ m_Writer.OutText( " if (SelGroup !== null) {") ;
+ m_Writer.OutText( " SelGroup.children.forEach(element => {") ;
+ m_Writer.OutText( " if (!(element instanceof THREE.Group)) {") ;
+ m_Writer.OutText( " if (element instanceof THREE.Line) { //linea") ;
+ m_Writer.OutText( " element.material.color = element.material.oldColor;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (element instanceof THREE.Mesh) { //mesh") ;
+ m_Writer.OutText( " element.material.color = element.material.oldColor;") ;
+ m_Writer.OutText( " element.material.emissive = new THREE.Color(0x000000);") ;
+ m_Writer.OutText( " element.material.emissiveIntensity = 1;") ;
+ m_Writer.OutText( " if (element.material.wasTransparent) {") ;
+ m_Writer.OutText( " element.material.transparent = true;") ;
+ m_Writer.OutText( " element.material.opacity = element.material.hadOpacity;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (element instanceof THREE.Points) { //punto") ;
+ m_Writer.OutText( " element.material.color = element.material.oldColor;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (element instanceof THREE.Vector3) { //vettore") ;
+ m_Writer.OutText( " element.line.material.color = element.oldColor;") ;
+ m_Writer.OutText( " element.cone.material.color = element.oldColor; ") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (element instanceof THREE.Object3D) { //frame") ;
+ m_Writer.OutText( " element.line.material.color = element.oldColor;") ;
+ m_Writer.OutText( " element.cone.material.color = element.oldColor;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " GetColorBack(element);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " });") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+
+ // 6) funzione per mostrare il gruppo lampeggiare (funzione con il timer, 3 secondi)
+ // - obj: evidenziare il gruppo per 0.5 secondi e poi riportarlo all'orginale per altri 0.5 secondi (questa procedure viene ripetuta per 3 volte, per una durata complessiva di 3 secondi)
+ // - par: il gruppo
+ m_Writer.OutText( " function EvidenziaLoadPage(ChoosenGroup) {") ;
+ m_Writer.OutText( " if (ChoosenGroup === null) {") ;
+ m_Writer.OutText( " return;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " ControlMenu(true, ChoosenGroup.name, 'grey');") ;
+ m_Writer.OutText( " var i = 0;") ;
+ m_Writer.OutText( " var j = 0;") ;
+ m_Writer.OutText( " var YellowSet = false;") ;
+ m_Writer.OutText( " var OrigColSet = false;") ;
+ m_Writer.OutText( " function animation() {") ;
+ m_Writer.OutText( " var timer = setTimeout(function() {") ;
+ m_Writer.OutText( " i++;") ;
+ m_Writer.OutText( " j++;") ;
+ m_Writer.OutText( " if (!YellowSet && i == 1)") ;
+ m_Writer.OutText( " {") ;
+ m_Writer.OutText( " EnlightGroup(ChoosenGroup);") ;
+ m_Writer.OutText( " YellowSet = true;") ;
+ m_Writer.OutText( " OrigColSet = false;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else if (!OrigColSet && i == 2)") ;
+ m_Writer.OutText( " {") ;
+ m_Writer.OutText( " GetColorBack(ChoosenGroup);") ;
+ m_Writer.OutText( " YellowSet = false;") ;
+ m_Writer.OutText( " OrigColSet = true;") ;
+ m_Writer.OutText( " i = 0") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " if (j < 6) {") ;
+ m_Writer.OutText( " animation();") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " clearTimeout(timer);") ;
+ m_Writer.OutText( " ControlMenu(false, ChoosenGroup.name, 'grey');") ;
+ m_Writer.OutText( " booked = false;") ;
+ m_Writer.OutText( " timer = 0;") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }, 500);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " animation();") ;
+ m_Writer.OutText( " }") ;
+
+ // 7) funzione per gestire il menu di sinistra durante la selezione
+ // - obj: evidenziare il gruppo nel menu selezionato e disabilitare gli altri
+ // - par: ToBlock (T -> inizio selezione | F -> fine selezione), id del gruppo selezionato, colore
+ m_Writer.OutText( " function ControlMenu(toBlock, id, col) {") ;
+ m_Writer.OutText( " for (var i = 0; i < document.getElementsByName('btMenu').length; i++) {") ;
+ m_Writer.OutText( " if (document.getElementsByName('btMenu')[i].id.substr(5, document.getElementsByName('btMenu')[i].id.length) != id) {") ;
+ m_Writer.OutText( " if (toBlock) {") ;
+ m_Writer.OutText( " document.getElementsByName('btMenu')[i].classList.add('disabled');") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " document.getElementsByName('btMenu')[i].classList.remove('disabled');") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " if (toBlock) {") ;
+ m_Writer.OutText( " document.getElementsByName('btMenu')[i].classList.remove('list-group-item-dark');") ;
+ m_Writer.OutText( " document.getElementsByName('btMenu')[i].classList.add('bg-primary');") ;
+ m_Writer.OutText( " document.getElementsByName('btMenu')[i].classList.add('disabled');") ;
+ m_Writer.OutText( " document.getElementById('ss_id_' + id).style.color = '#ffffff';") ;
+ m_Writer.OutText( " document.getElementById('s_col_' + id).style.color = '#ffffff';") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " document.getElementsByName('btMenu')[i].classList.remove('bg-primary');") ;
+ m_Writer.OutText( " document.getElementsByName('btMenu')[i].classList.add('list-group-item-dark');") ;
+ m_Writer.OutText( " document.getElementsByName('btMenu')[i].classList.remove('disabled');") ;
+ m_Writer.OutText( " document.getElementById('ss_id_' + id).style.color = '#000000';") ;
+ m_Writer.OutText( " document.getElementById('s_col_' + id).style.color = '#000000';") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " for (var i = 0; i < document.getElementsByName('badgeMenu').length; i++) {") ;
+ m_Writer.OutText( " if (document.getElementsByName('badgeMenu')[i].id.substr(5, document.getElementsByName('badgeMenu')[i].id.length) != id) {") ;
+ m_Writer.OutText( " if (toBlock) {") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.remove('bg-dark');") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.add('bg-secondary');") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.remove('bg-secondary');") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.add('bg-dark');") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " if (toBlock) {") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.remove('bg-dark')") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.add('bg-primary');") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.add('border');") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.add('border-light');") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.remove('bg-primary');") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.add('bg-dark');") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.remove('border');") ;
+ m_Writer.OutText( " document.getElementsByName('badgeMenu')[i].classList.remove('border-light');") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " for (var i = 0; i < document.getElementsByName('s_col_ora').length; i++) {") ;
+ m_Writer.OutText( " if (document.getElementsByName('s_col_ora')[i].id.substr(6, document.getElementsByName('s_col_ora')[i].id.length) != id) {") ;
+ m_Writer.OutText( " if (toBlock) {") ;
+ m_Writer.OutText( " document.getElementsByName('s_col_ora')[i].style.color = 'grey';") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " else {") ;
+ m_Writer.OutText( " document.getElementsByName('s_col_ora')[i].style.color = 'black';") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " }") ;
// funzione resize della pagina
- m_Writer.OutText( " function onResize() {") ;
- m_Writer.OutText( " camera.aspect = window.innerWidth / window.innerHeight;") ;
- m_Writer.OutText( " camera.updateProjectionMatrix();") ;
- m_Writer.OutText( " renderer.setSize(window.innerWidth, window.innerHeight);") ;
- m_Writer.OutText( " }") ;
+ m_Writer.OutText( " function onResize() {") ;
+ m_Writer.OutText( " renderer.setSize(window.screen.availWidth, window.screen.availHeight);") ;
+ m_Writer.OutText( " }") ;
//funzione per lo zoom della pagina
- m_Writer.OutText( " function zoomView(){") ;
- m_Writer.OutText( " zoom += event.wheelDeltaY * 0.00025;") ;
- m_Writer.OutText( " zoom = Math.max( Math.min( zoom, 10000000 ), 0.00000001);") ;
- m_Writer.OutText( " };") ;
+ m_Writer.OutText( " function zoomView(){") ;
+ m_Writer.OutText( " if (document.getElementsByTagName('canvas')[0] === document.elementFromPoint(event.clientX, event.clientY)) {") ;
+ m_Writer.OutText( " zoom += event.wheelDeltaY * 0.00025;") ;
+ m_Writer.OutText( " zoom = Math.max(Math.min(zoom, 10000000), 0.00000001);") ;
+ m_Writer.OutText( " }") ;
+ m_Writer.OutText( " };") ;
// richiamo della funzione init() e dichiarazione degli eventi in javascript per controllo della scena
- m_Writer.OutText( " window.onload = init") ;
- // m_Writer.OutText( " window.addEventListener('resize', onResize, false);") ;
- m_Writer.OutText( " window.addEventListener('wheel', zoomView, false);") ;
+ m_Writer.OutText( " window.onload = init") ;
+ m_Writer.OutText( " window.addEventListener('wheel', zoomView, false);") ;
+ m_Writer.OutText( " window.addEventListener('resize', onResize, false);") ;
m_Writer.OutText( " ") ;
+ // script per pulsante del menu laterale
+ m_Writer.OutText( " ") ;
+ m_Writer.OutText( "") ;
+ // codice html per la creazione del menu laterale
+ m_Writer.OutText( " ") ;
m_Writer.OutText( " ") ;
m_Writer.OutText( "") ;
-
-
- // Termino scrittura del File del Menu
- m_WriterM.OutText( " ") ;
- m_WriterM.OutText( "") ;
-
return true ;
}
@@ -1410,39 +1379,44 @@ ExportThreeJS::ScanGroup( const IGdbIterator& iIter, IGeomDB* pGDB, const int nG
m_Writer.OutText( " const group" + ToString( m_nGroupCount) + " = new THREE.Group();") ;
if (nGroupCount != -1)
- m_WriterM.OutText("
");
- else
- m_WriterM.OutText( " ") ;
- //m_WriterM.OutText( " ") ; //<---
+ m_sCodMenu += "
";
+ //else
+ // m_WriterM.OutText( " ") ;
+
string sName ;
pIter->GetName(sName);
- for ( int i = 0; sName[i] != '\0'; i++) // sostituisco gli spazi con underscore
+ /*
+ for (int i = 0; sName[i] != '\0'; i++) // sostituisco gli spazi con underscore
{
if (sName[i] == ' ')
sName[i] = '_';
}
sName += "_" + ToString(pIter->GetId());
+ */
string sId = ToString(pIter->GetId()) ;
m_Writer.OutText( " group" + ToString( m_nGroupCount) + ".name = '" + sId + "'") ;
- //m_Writer.OutText( " group" + ToString(m_nGroupCount) + ".name = group" + ToString(m_nGroupCount) + ".name.normalize('NFD').replace(/[\u0300-\u036f]/g, '')");
- //m_WriterM.OutText(" " + sName + ""); //<---
+ // aggiung l'EventListner per il menù laterale sinistro
+ m_Writer.OutText( " document.getElementById('p_id_" + sId + "').addEventListener('click', function(){ if(!booked) { findGroupByNameAndId(groupRoot, " + sId + ", 1); }});") ;
if (!sId.compare("0"))
{
- m_WriterM.OutText( " Basic ") ;
+ m_sCodMenu += "";
}
else
{
- m_WriterM.OutText(" " + sName + " ");
+ m_sCodMenu += "" ;
}
- if (nGroupCount != -1 && m_nGroupCount != nGroupCount) {
- // --- m_Writer.OutText(" var gui" + ToString(m_nGroupCount) + "= gui" + ToString(nGroupCount) + ".addFolder('" + sName + "');");
- }
-
-
int nCurrentGroup = m_nGroupCount;
for (bool bNext = pIter->GoToFirstInGroup( iIter) ;
@@ -1456,22 +1430,10 @@ ExportThreeJS::ScanGroup( const IGdbIterator& iIter, IGeomDB* pGDB, const int nG
if (nGroupCount != -1) {
m_Writer.OutText( " group" + ToString(nGroupCount) + ".add(group" + ToString( nCurrentGroup) + ")");
- //m_WriterM.OutText( "
") ;
- m_WriterM.OutText( "
") ; //<---
-
- /*
- if (!pIter->GetName(sName)) {
- sName = "Layer" + ToString(pIter->GetId());
- }
- */
-
- /* <--- original
- m_Writer.OutText( " var settings" + ToString( nCurrentGroup) + " = {") ;
- m_Writer.OutText( " 'S_Group" + ToString( nCurrentGroup)+ "' : function() { selectElement(group" + ToString( nCurrentGroup) + ") }") ;
- m_Writer.OutText( " }") ;
- m_Writer.OutText( " gui" + ToString( nGroupCount) + ".add(settings" + ToString( nCurrentGroup) + ", 'S_Group" + ToString( nCurrentGroup) + "').name('" + sName + "')") ;
- */
+
}
+
+ m_sCodMenu += "
";
return bOk ;
}
@@ -1496,14 +1458,3 @@ ExportThreeJS::TestFilter( int nLev, int nMode, int nStat)
return true ;
}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ExportThreeJS.h b/ExportThreeJS.h
index aae95d1..a8eb7f4 100644
--- a/ExportThreeJS.h
+++ b/ExportThreeJS.h
@@ -35,7 +35,7 @@ class ExportThreeJS : public IExportThreeJS
{
public:
virtual bool SetOptions(int nFilter);
- virtual bool Export(IGeomDB* pGDB, int nId, const std::string& sFile, const std::string& sFileM, IEGrScene* pScene);
+ virtual bool Export(IGeomDB* pGDB, int nId, const std::string& sFile, IEGrScene* pScene);
public:
ExportThreeJS(void) : m_nFilter(EEXFLT_DEFAULT) {}
@@ -60,7 +60,6 @@ private:
private:
int m_nFilter; // filtro su livello, modo e stato
Writer m_Writer; // scrittore di file di testo oggetto
- Writer m_WriterM; // scritto di file di testo menu
Point3d m_ptMin; // punto minimo del box3d
double m_dimX; // dimX Box3d Global
double m_dimY; // dimY Box3d Global
@@ -77,4 +76,6 @@ private:
Frame3d m_frTHREEJSFrame; // frame di ThreeJS
std::list< sSurfDist> m_lTranspSurf; // Lista di superfici trasparenti
int m_nGroupCount = -1; // Contatore del gruppo
+ std::string m_sCodMenu; // Stringa per la creazione del menu laterale della scena
+ std::string m_spath; // Path dove salvare il file
};