Potree UI fixes, threejs update, CSS fixes, jquery ui integration, standby update, still need to get the textured model to display properly

pull/128/head
Piero Toffanin 2017-03-22 17:40:02 -04:00
rodzic 37a0176e2a
commit b2e0a9b1b2
32 zmienionych plików z 44381 dodań i 7887 usunięć

Wyświetl plik

@ -3,20 +3,23 @@ import '../css/Standby.scss';
class Standby extends React.Component {
static defaultProps = {
message: ""
message: "",
show: false
};
static propTypes = {
message: React.PropTypes.string
message: React.PropTypes.string,
show: React.PropTypes.bool
};
constructor(props){
super(props);
this.state = {
message: props.message,
show: false
}
this.state = props;
}
componentWillReceiveProps(nextProps){
this.setState(nextProps);
}
show(message = null){

Wyświetl plik

@ -1,7 +1,11 @@
@import '../vendor/potree/js/potree.css';
@import '../vendor/potree/js/jquery-ui.css';
[data-modelview]{
height: 100%;
}
.model-view{
position: relative;
height: 80%;
canvas{
@ -32,35 +36,52 @@
}
}
}
.switchModeButton{
bottom: 12px;
}
.asset-download-buttons{
input[type="checkbox"]{
position: relative;
top: -48px;
left: 12px;
top: 2px;
}
&.open{
.dropdown-toggle{
background-color: #f4f4f4;
color: #111;
}
button{
outline: none;
}
.action-buttons{
padding: 12px;
background-color: #19282c;
.textured-model-chkbox-container{
margin-bottom: 8px;
}
button{
background-color: #fff;
color: #111;
border-width: 1px;
label{
color: #7a8184;
}
&:hover{
background-color: #f4f4f4;
.switchModeButton{
position: initial;
}
.asset-download-buttons{
margin-right: 8px;
&.open{
.dropdown-toggle{
background-color: #f4f4f4;
color: #111;
}
button{
outline: none;
}
}
}
button{
background-color: #fff;
color: #111;
border-width: 1px;
&:hover{
background-color: #f4f4f4;
}
}
}
}
/* Potree specific */
#potree_map{
@ -92,681 +113,48 @@
border: 2px solid rgba(0,0,0,0.5);
box-sizing: border-box;
}
/* CSS - Cascading Style Sheet */
/* Palette color codes */
/* Palette URL: http://paletton.com/#uid=13p0u0kex8W2uqu8af7lEqaulDE */
/* Feel free to copy&paste color codes to your application */
/* As hex codes */
.color-primary-0 { color: #19282C } /* Main Primary color */
.color-primary-1 { color: #7A8184 }
.color-primary-2 { color: #39474B }
.color-primary-3 { color: #2D6D82 }
.color-primary-4 { color: #108FB9 }
/* As RGBa codes */
.rgba-primary-0 { color: rgba( 25, 40, 44,1) } /* Main Primary color */
.rgba-primary-1 { color: rgba(122,129,132,1) }
.rgba-primary-2 { color: rgba( 57, 71, 75,1) }
.rgba-primary-3 { color: rgba( 45,109,130,1) }
.rgba-primary-4 { color: rgba( 16,143,185,1) }
/* Generated by Paletton.com © 2002-2014 */
/* http://paletton.com */
:root{
--color-0: rgba( 25, 40, 44, 1);
--color-1: rgba(122,129,132, 1);
--color-2: rgba( 57, 71, 75, 1);
--color-3: rgba( 45,109,130, 1);
--color-4: rgba( 16,143,185, 1);
--bg-color: var(--color-0);
--bg-light-color: rgba( 48, 61, 65, 1);
--bg-dark-color: rgba( 24, 31, 33, 1);
--bg-hover-color: var(--color-2);
--font-color: #9AA1A4;
--border-color: black;
--measurement-detail-node-bg-light: var(--color-1);
--measurement-detail-node-bg-dark: var(--color-2);
--measurement-detail-area-bg-color: #eee;
}
.potree_container{
/*font-size: 75%;*/
}
.potree_info_text{
color: white;
font-weight: bold;
text-shadow: 1px 1px 1px black,
1px -1px 1px black,
-1px 1px 1px black,
-1px -1px 1px black;
}
#potree_description{
position: absolute;
top: 10px;
left: 50%;
transform: translateX(-50%);
text-align: center
}
#potree_sidebar_container{
position: absolute;
z-index: 0;
width: 300px;
height: 100%;
a{
color: #111;
}
overflow-y: auto;
font-size: 85%;
overflow: hidden;
border-right: 1px solid black;
}
.potree_sidebar_brand{
margin: 1px 20px;
line-height: 2em;
font-size: 100%;
font-weight: bold;
position: relative;
}
#potree_sidebar_container a{
color: #8Aa1c4;
//color: red;
}
.potree_menu_toggle{
position: absolute;
float: left;
margin: 8px 8px;
background: none;
width: 2.5em;
height: 2.5em;
z-index: 100;
cursor: pointer;
}
#potree_map_toggle{
position: absolute;
float: left;
margin: 8px 8px;
background: none;
width: 2.5em;
height: 2.5em;
z-index: 100;
top: calc(2.5em + 8px);
cursor: pointer;
}
#potree_render_area{
position: absolute;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
overflow: hidden;
z-index: 1;
-webkit-transition: left .35s;
transition: left .35s;
}
.potree-panel {
border: 1px solid black;
border-radius: 0.4em;
padding: 0px;
background-color: var(--bg-light-color);
}
.potree-panel-heading{
background-color: var(--bg-dark-color);
}
a:hover, a:visited, a:link, a:active{
color: #ccccff;
text-decoration: none;
}
.annotation{
-webkit-transition: opacity .1s;
transition: opacity .1s;
position: absolute;
padding: 10px;
opacity: 0.5;
}
.annotation-titlebar{
color: white;
background-color: black;
border-radius: 1.5em;
font-size: 1em;
opacity: 1;
margin: auto;
width: fit-content;
}
.annotation-expand{
color: white;
font-size: 0.6em;
opacity: 1;
width: fit-content;
}
.annotation-action-icon{
width: 24px;
height: 24px;
filter: invert(1);
display: inline-block;
vertical-align: middle;
line-height: 1.5em;
text-align: center;
font-family: Arial;
font-weight: bold;
padding: 1px 8px 0px 1px;
cursor: default;
}
.annotation-item {
color: white;
background-color: black;
opacity: 0.5;
border-radius: 1.5em;
font-size: 1em;
line-height: 1.5em;
padding: 1px 8px 0px 8px;
font-weight: bold;
display: flex;
cursor: default;
}
.annotation-item:hover {
opacity: 1.0;
box-shadow: 0 0 5px #ffffff;
}
.annotation-main{
display: flex;
flex-grow: 1;
}
.annotation-label{
//position: relative;
display: inline-block;
height: 100%;
flex-grow: 1;
//margin: 2px 8px;
user-select: none;
z-index: 100;
width: fit-content;
vertical-align: middle;
line-height: 1.5em;
//text-align: center;
font-family: Arial;
font-weight: bold;
padding: 1px 8px 0px 8px;
cursor: default;
user-select: none;
white-space: nowrap;
}
.annotation-description{
position: relative;
color: white;
background-color: black;
padding: 10px;
margin: 5px 0px 0px 0px;
border-radius: 4px;
display: none;
max-width: 500px;
}
.annotation-description-close{
filter: invert(100%);
float: right;
opacity: 0.5;
margin: 0px 0px 8px 8px;
}
.annotation-description-content{
color: white;
}
.annotation-icon{
width: 20px;
height: 20px;
filter: invert(100%);
margin: 2px 2px;
opacity: 0.5;
}
canvas {
width: 100%;
height: 100%
}
body{
margin: 0;
padding: 0;
}
.axis {
font: 10px sans-serif;
color: var(--font-color);
}
.axis path{
fill: none;
stroke: var(--font-color);
shape-rendering: crispEdges;
opacity: 0.7;
}
.axis line {
fill: none;
stroke: var(--font-color);
shape-rendering: crispEdges;
opacity: 0.1;
}
.measurement-panel-icon{
width: 16px;
height: 16px;
}
.measurement-panel-title{
flex-grow: 1;
text-align: center;
}
.measurement-panel-remove{
width: 16px;
height: 16px;
}
.measurement-detail-node-marker{
border: 1px solid var(--border-color);
border-radius: 6px;
margin: auto;
text-align: center;
background-color: var(--measurement-detail-node-bg-light);
color: var(--border-color);
}
.measurement-detail-node-area{
border: 1px solid var(--border-color);
border-radius: 6px;
margin: auto;
margin-top: 15px;
text-align: center;
background-color: var(--measurement-detail-node-bg-light);
color: var(--border-color);
}
.measurement-detail-node-angle{
border: 1px solid var(--border-color);
width: 50%;
margin: auto;
border-radius: 6px;
text-align: center;
background-color: var(--measurement-detail-node-bg-);
color: var(--border-color);
}
.measurement-detail-node-distance{
border: 1px solid var(--border-color);
width: 50%;
margin: auto;
border-radius: 6px;
text-align: center;
background-color: var(--measurement-detail-node-bg-dark);
color: var(--border-color);
}
.measurement-detail-edge{
border: 1px solid var(--border-color);
width: 0px;
height: 2px;
margin: auto;
}
#measurement_details .panel-body{
padding: 5px 3px;
}
.measurement-detail-button{
width: 100%;
margin-top: 8px;
}
.pv-panel-heading{
padding: 4px !important;
display: flex;
flex-direction: row
}
.pv-menu-list{
list-style-type: none;
padding: 0;
}
.pv-menu-list > *{
margin: 8px 20px;
}
.pv-menu-list > li > .ui-slider{
background-color: var(--color-1) !important;
background: none;
border: 1px solid black;
}
.pv-menu-list > div > li > .ui-slider{
background-color: var(--color-1) !important;
background: none;
border: 1px solid black;
}
.pv-menu-list > li > label{
width: 100%;
}
.pv-menu-list select{
width: 100%;
}
.pv-menu-list > li > span{
width: 100% !important;
}
.pv-menu-list .ui-selectmenu-button span.ui-selectmenu-text{
line-height: 0.8em;
}
.ui-selectmenu-text{
background-color: white;
}
background-color: #19282c;
.panel-body > li > .ui-slider{
background-color: var(--color-1) !important;
background: none;
border: 1px solid black;
}
.panel-body > div > li > .ui-slider{
background-color: var(--color-1) !important;
background: none;
border: 1px solid black;
}
.pv-select-label{
margin: 1px;
font-size: 90%;
font-weight: 100;
}
.button-icon:hover{
background-color: #09181C;
}
.ui-widget-content{
background-color: none !important;
color: var(--font-color) !important;
}
.navmenu{
background-color: var(--color-2) !important;
border-color: var(--color-2) !important;
}
.accordion{
background-color: var(--bg-color);
color: var(--color-1);
}
.accordion > h3{
background-color: var(--color-1) !important;
background: #f6f6f6 50% 50% repeat-x;
border: none;
color: var(--color-2);
padding: 4px 10px 4px 30px;
cursor: pointer;
}
.accordion > div{
background: none !important;
}
.accordion-header{
margin: 2px 0 0 0;
}
.accordion-content{
padding: 0px 0px !important;
border: none !important;
}
#measurement_details .pv-menu-list > li{
margin: 20px 10px;
}
.pv-menu-list > .pv-divider{
border-top: 1px solid black;
opacity: 0.2;
margin: 8px 0px;
}
.pv-menu-list-header{
opacity: 0.8;
}
.pv-menu-item{
width: 100%;
}
.icon-bar{
height: 4px !important;
border: 1px solid black;
background-color: white;
border-radius: 2px;
}
.canvas{
-webkit-transition: top .35s, left .35s, bottom .35s, right .35s, width .35s;
transition: top .35s, left .35s, bottom .35s, right .35s, width .35s;
}
.profile-container-button{
cursor: pointer;
}
/* no scrollbar styling in firefox, sadly */
.navmenu::-webkit-scrollbar{
height: 12px;
}
.navmenu::-webkit-scrollbar-track{
background: rgba(0, 0, 0, 0.1);
}
.navmenu::-webkit-scrollbar-thumb{
background: rgba(0, 0, 0, 0.5);
}
.pv-titlebar{
background-color: var(--color-1);
color: #var(--color-2);
font-weight: 700;
padding: 5px;
}
.pv-main-color{
background: var(--bg-color);
}
.profile-button:hover{
background-color: #0000CC;
}
.unselectable{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.selectable{
-webkit-touch-callout: text;
-webkit-user-select: text;
-khtml-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
#sidebar_root{
width: 300px;
.pv-menu-list{
padding-right: 12px;
.divider{
padding: 10px 0px 15px 0px;
}
}
.divider {
display: block;
text-align: center;
overflow: hidden;
white-space: nowrap;
font-weight: bold;
font-size: 90%;
letter-spacing: 1px;
margin-left: -20px;
margin-right: -20px;
}
.divider > span {
position: relative;
display: inline-block;
}
.measurement-panel-remove:hover{
cursor: pointer;
}
.divider > span:before,
.divider > span:after {
content: "";
position: absolute;
top: 50%;
width: 9999px;
height: 1px;
background: #b2b2b2;
}
position: absolute;
min-height: 100%;
height: 100%;
.divider > span:before {
right: 100%;
margin-right: 5px;
}
.potree_sidebar_brand{
display: flex;
flex-direction: row;
}
.divider > span:after {
left: 100%;
margin-left: 5px;
#potree_version_number{
color: #9AA1A4;
font-size: 80%;
font-weight: 100;
}
}
}
.ol-dragbox {
background-color: rgba(255,255,255,0.4);
border-color: rgba(100,150,0,1);
border: 1px solid red;
#potree_download_profile_ortho_link, #potree_download_profile_link{
color: black;
}
/* HOVER MENU */
.hover_menu{
position: absolute;
width: 28px;
height: 28px;
border: 0px;
border-radius: 100px;
display: block;
user-select: none;
}
.hover_menu_icon{
position: absolute;
//border: 1px solid black;
display: inline-block;
width: 16px;
height: 16px;
padding: 6px;
opacity: 0.5;
background-color: white;
filter:invert(100%);
border-radius: 100px;
}
.hover_menu_icon:hover{
opacity: 1.0;
box-shadow: 0 0 5px #ffffff;
}
.hover_menu_icon > img{
width: 16px;
height: 16px;
}
.hover_menu_item{
background: black;
border-radius: 100px;
display: inline-block;
position: absolute;
width:32px;
height: 32px;
opacity: 0.5;
}
.hover_menu_item:hover{
opacity: 1.0;
box-shadow: 0 0 5px #ffffff;
}
.hover_menu_item > img{
width: 32px;
height: 32px;
filter: invert(100%);
}
.measurepanel_downloads {
position: relative;
bottom: -5px;
opacity: 0.5;
}
.measurepanel_downloads:hover{
position: relative;
bottom: -5px;
opacity: 1.0;
}
}

Wyświetl plik

@ -1,4 +1,5 @@
.standby{
z-index: 1;
position: absolute;
top: 0;
bottom: 0;

Wyświetl plik

@ -3,7 +3,7 @@
*
* @author angelxuanchang
*/
var THREE = require('three');
var THREE = require('./potree/js/three');
function MTLLoader( manager ) {
this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager;

Wyświetl plik

@ -1,7 +1,7 @@
/**
* @author mrdoob / http://mrdoob.com/
*/
var THREE = require('three');
var THREE = require('./potree/js/three');
THREE.OBJLoader = function ( manager ) {

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -0,0 +1,62 @@
============
== POTREE ==
============
http://potree.org
Copyright (c) 2011-2017, Markus Schütz
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of the FreeBSD Project.
=====================
== PLASIO / LASLAZ ==
=====================
http://plas.io/
The MIT License (MIT)
Copyright (c) 2014 Uday Verma, uday.karan@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Wyświetl plik

@ -3,7 +3,7 @@
* @author mrdoob / http://mrdoob.com/
* @author Daosheng Mu / https://github.com/DaoshengMu/
*/
const THREE = require('three'); // import does not work :/
const THREE = require('./three'); // import does not work :/
THREE.ImageUtils = {
crossOrigin: undefined,

Wyświetl plik

@ -1,171 +0,0 @@
/**
* @author mrdoob / http://mrdoob.com/
*/
var Stats = function () {
var mode = 0;
var container = document.createElement( 'div' );
container.style.cssText = 'position:fixed;top:0;left:0;cursor:pointer;opacity:0.9;z-index:10000';
container.addEventListener( 'click', function ( event ) {
event.preventDefault();
showPanel( ++ mode % container.children.length );
}, false );
//
function addPanel( panel ) {
container.appendChild( panel.dom );
return panel;
}
function showPanel( id ) {
for ( var i = 0; i < container.children.length; i ++ ) {
container.children[ i ].style.display = i === id ? 'block' : 'none';
}
mode = id;
}
//
var beginTime = ( performance || Date ).now(), prevTime = beginTime, frames = 0;
var fpsPanel = addPanel( new Stats.Panel( 'FPS', '#0ff', '#002' ) );
var msPanel = addPanel( new Stats.Panel( 'MS', '#0f0', '#020' ) );
if ( self.performance && self.performance.memory ) {
var memPanel = addPanel( new Stats.Panel( 'MB', '#f08', '#201' ) );
}
showPanel( 0 );
return {
REVISION: 16,
dom: container,
addPanel: addPanel,
showPanel: showPanel,
begin: function () {
beginTime = ( performance || Date ).now();
},
end: function () {
frames ++;
var time = ( performance || Date ).now();
msPanel.update( time - beginTime, 200 );
if ( time > prevTime + 1000 ) {
fpsPanel.update( ( frames * 1000 ) / ( time - prevTime ), 100 );
prevTime = time;
frames = 0;
if ( memPanel ) {
var memory = performance.memory;
memPanel.update( memory.usedJSHeapSize / 1048576, memory.jsHeapSizeLimit / 1048576 );
}
}
return time;
},
update: function () {
beginTime = this.end();
},
// Backwards Compatibility
domElement: container,
setMode: showPanel
};
};
Stats.Panel = function ( name, fg, bg ) {
var min = Infinity, max = 0, round = Math.round;
var PR = round( window.devicePixelRatio || 1 );
var WIDTH = 80 * PR, HEIGHT = 48 * PR,
TEXT_X = 3 * PR, TEXT_Y = 2 * PR,
GRAPH_X = 3 * PR, GRAPH_Y = 15 * PR,
GRAPH_WIDTH = 74 * PR, GRAPH_HEIGHT = 30 * PR;
var canvas = document.createElement( 'canvas' );
canvas.width = WIDTH;
canvas.height = HEIGHT;
canvas.style.cssText = 'width:80px;height:48px';
var context = canvas.getContext( '2d' );
context.font = 'bold ' + ( 9 * PR ) + 'px Helvetica,Arial,sans-serif';
context.textBaseline = 'top';
context.fillStyle = bg;
context.fillRect( 0, 0, WIDTH, HEIGHT );
context.fillStyle = fg;
context.fillText( name, TEXT_X, TEXT_Y );
context.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT );
context.fillStyle = bg;
context.globalAlpha = 0.9;
context.fillRect( GRAPH_X, GRAPH_Y, GRAPH_WIDTH, GRAPH_HEIGHT );
return {
dom: canvas,
update: function ( value, maxValue ) {
min = Math.min( min, value );
max = Math.max( max, value );
context.fillStyle = bg;
context.globalAlpha = 1;
context.fillRect( 0, 0, WIDTH, GRAPH_Y );
context.fillStyle = fg;
context.fillText( round( value ) + ' ' + name + ' (' + round( min ) + '-' + round( max ) + ')', TEXT_X, TEXT_Y );
context.drawImage( canvas, GRAPH_X + PR, GRAPH_Y, GRAPH_WIDTH - PR, GRAPH_HEIGHT, GRAPH_X, GRAPH_Y, GRAPH_WIDTH - PR, GRAPH_HEIGHT );
context.fillRect( GRAPH_X + GRAPH_WIDTH - PR, GRAPH_Y, PR, GRAPH_HEIGHT );
context.fillStyle = bg;
context.globalAlpha = 0.9;
context.fillRect( GRAPH_X + GRAPH_WIDTH - PR, GRAPH_Y, PR, round( ( 1 - ( value / maxValue ) ) * GRAPH_HEIGHT ) );
}
};
};
export { Stats as default };

File diff suppressed because one or more lines are too long

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 418 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 312 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 205 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 262 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 348 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 207 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 5.7 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 278 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 328 B

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 6.8 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 4.4 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 4.4 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 4.4 KiB

Plik binarny nie jest wyświetlany.

Po

Szerokość:  |  Wysokość:  |  Rozmiar: 6.2 KiB

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -0,0 +1,671 @@
/* CSS - Cascading Style Sheet */
/* Palette color codes */
/* Palette URL: http://paletton.com/#uid=13p0u0kex8W2uqu8af7lEqaulDE */
/* Feel free to copy&paste color codes to your application */
/* As hex codes */
.color-primary-0 { color: #19282C } /* Main Primary color */
.color-primary-1 { color: #7A8184 }
.color-primary-2 { color: #39474B }
.color-primary-3 { color: #2D6D82 }
.color-primary-4 { color: #108FB9 }
/* As RGBa codes */
.rgba-primary-0 { color: rgba( 25, 40, 44,1) } /* Main Primary color */
.rgba-primary-1 { color: rgba(122,129,132,1) }
.rgba-primary-2 { color: rgba( 57, 71, 75,1) }
.rgba-primary-3 { color: rgba( 45,109,130,1) }
.rgba-primary-4 { color: rgba( 16,143,185,1) }
/* Generated by Paletton.com © 2002-2014 */
/* http://paletton.com */
:root{
--color-0: rgba( 25, 40, 44, 1);
--color-1: rgba(122,129,132, 1);
--color-2: rgba( 57, 71, 75, 1);
--color-3: rgba( 45,109,130, 1);
--color-4: rgba( 16,143,185, 1);
--bg-color: var(--color-0);
--bg-light-color: rgba( 48, 61, 65, 1);
--bg-dark-color: rgba( 24, 31, 33, 1);
--bg-hover-color: var(--color-2);
--font-color: #9AA1A4;
--border-color: black;
--measurement-detail-node-bg-light: var(--color-1);
--measurement-detail-node-bg-dark: var(--color-2);
--measurement-detail-area-bg-color: #eee;
}
.potree_container{
/*font-size: 75%;*/
}
.potree_info_text{
color: white;
font-weight: bold;
text-shadow: 1px 1px 1px black,
1px -1px 1px black,
-1px 1px 1px black,
-1px -1px 1px black;
}
#potree_description{
position: absolute;
top: 10px;
left: 50%;
transform: translateX(-50%);
text-align: center
}
#potree_sidebar_container{
position: absolute;
z-index: 0;
width: 300px;
height: 100%;
overflow-y: auto;
font-size: 85%;
overflow: hidden;
border-right: 1px solid black;
}
.potree_sidebar_brand{
margin: 1px 20px;
line-height: 2em;
font-size: 100%;
font-weight: bold;
position: relative;
}
#potree_sidebar_container a{
color: #8Aa1c4;
//color: red;
}
.potree_menu_toggle{
position: absolute;
float: left;
margin: 8px 8px;
background: none;
width: 2.5em;
height: 2.5em;
z-index: 100;
cursor: pointer;
}
#potree_map_toggle{
position: absolute;
float: left;
margin: 8px 8px;
background: none;
width: 2.5em;
height: 2.5em;
z-index: 100;
top: calc(2.5em + 8px);
cursor: pointer;
}
#potree_render_area{
position: absolute;
top: 0px;
bottom: 0px;
left: 0px;
right: 0px;
overflow: hidden;
z-index: 1;
-webkit-transition: left .35s;
transition: left .35s;
}
.potree-panel {
border: 1px solid black;
border-radius: 0.4em;
padding: 0px;
background-color: var(--bg-light-color);
}
.potree-panel-heading{
background-color: var(--bg-dark-color);
}
.annotation{
-webkit-transition: opacity .1s;
transition: opacity .1s;
position: absolute;
padding: 10px;
opacity: 0.5;
}
.annotation-titlebar{
color: white;
background-color: black;
border-radius: 1.5em;
font-size: 1em;
opacity: 1;
margin: auto;
width: fit-content;
}
.annotation-expand{
color: white;
font-size: 0.6em;
opacity: 1;
width: fit-content;
}
.annotation-action-icon{
width: 24px;
height: 24px;
filter: invert(1);
display: inline-block;
vertical-align: middle;
line-height: 1.5em;
text-align: center;
font-family: Arial;
font-weight: bold;
padding: 1px 8px 0px 1px;
cursor: default;
}
.annotation-item {
color: white;
background-color: black;
opacity: 0.5;
border-radius: 1.5em;
font-size: 1em;
line-height: 1.5em;
padding: 1px 8px 0px 8px;
font-weight: bold;
display: flex;
cursor: default;
}
.annotation-item:hover {
opacity: 1.0;
box-shadow: 0 0 5px #ffffff;
}
.annotation-main{
display: flex;
flex-grow: 1;
}
.annotation-label{
//position: relative;
display: inline-block;
height: 100%;
flex-grow: 1;
//margin: 2px 8px;
user-select: none;
z-index: 100;
width: fit-content;
vertical-align: middle;
line-height: 1.5em;
//text-align: center;
font-family: Arial;
font-weight: bold;
padding: 1px 8px 0px 8px;
cursor: default;
user-select: none;
white-space: nowrap;
}
.annotation-description{
position: relative;
color: white;
background-color: black;
padding: 10px;
margin: 5px 0px 0px 0px;
border-radius: 4px;
display: none;
max-width: 500px;
}
.annotation-description-close{
filter: invert(100%);
float: right;
opacity: 0.5;
margin: 0px 0px 8px 8px;
}
.annotation-description-content{
color: white;
}
.annotation-icon{
width: 20px;
height: 20px;
filter: invert(100%);
margin: 2px 2px;
opacity: 0.5;
}
canvas {
width: 100%;
height: 100%
}
body{
margin: 0;
padding: 0;
}
.axis {
font: 10px sans-serif;
color: var(--font-color);
}
.axis path{
fill: none;
stroke: var(--font-color);
shape-rendering: crispEdges;
opacity: 0.7;
}
.axis line {
fill: none;
stroke: var(--font-color);
shape-rendering: crispEdges;
opacity: 0.1;
}
.measurement-panel-icon{
width: 16px;
height: 16px;
}
.measurement-panel-title{
flex-grow: 1;
text-align: center;
}
.measurement-panel-remove{
width: 16px;
height: 16px;
}
.measurement-detail-node-marker{
border: 1px solid var(--border-color);
border-radius: 6px;
margin: auto;
text-align: center;
background-color: var(--measurement-detail-node-bg-light);
color: var(--border-color);
}
.measurement-detail-node-area{
border: 1px solid var(--border-color);
border-radius: 6px;
margin: auto;
margin-top: 15px;
text-align: center;
background-color: var(--measurement-detail-node-bg-light);
color: var(--border-color);
}
.measurement-detail-node-angle{
border: 1px solid var(--border-color);
width: 50%;
margin: auto;
border-radius: 6px;
text-align: center;
background-color: var(--measurement-detail-node-bg-);
color: var(--border-color);
}
.measurement-detail-node-distance{
border: 1px solid var(--border-color);
width: 50%;
margin: auto;
border-radius: 6px;
text-align: center;
background-color: var(--measurement-detail-node-bg-dark);
color: var(--border-color);
}
.measurement-detail-edge{
border: 1px solid var(--border-color);
width: 0px;
height: 2px;
margin: auto;
}
#measurement_details .panel-body{
padding: 5px 3px;
}
.measurement-detail-button{
width: 100%;
margin-top: 8px;
}
.pv-panel-heading{
padding: 4px !important;
display: flex;
flex-direction: row
}
.pv-menu-list{
list-style-type: none;
padding: 0;
}
.pv-menu-list > *{
margin: 8px 20px;
}
.pv-menu-list > li > .ui-slider{
background-color: var(--color-1) !important;
background: none;
border: 1px solid black;
}
.pv-menu-list > div > li > .ui-slider{
background-color: var(--color-1) !important;
background: none;
border: 1px solid black;
}
.pv-menu-list > li > label{
width: 100%;
}
.pv-menu-list select{
width: 100%;
}
.pv-menu-list > li > span{
width: 100% !important;
}
.pv-menu-list .ui-selectmenu-button span.ui-selectmenu-text{
line-height: 0.8em;
}
.ui-selectmenu-text{
background-color: white;
}
.panel-body > li > .ui-slider{
background-color: var(--color-1) !important;
background: none;
border: 1px solid black;
}
.panel-body > div > li > .ui-slider{
background-color: var(--color-1) !important;
background: none;
border: 1px solid black;
}
.pv-select-label{
margin: 1px;
font-size: 90%;
font-weight: 100;
}
.button-icon:hover{
background-color: #09181C;
}
.ui-widget-content{
background-color: none !important;
color: var(--font-color) !important;
}
.navmenu{
background-color: var(--color-2) !important;
border-color: var(--color-2) !important;
}
.accordion{
background-color: var(--bg-color);
color: var(--color-1);
}
.accordion > h3{
background-color: var(--color-1) !important;
background: #f6f6f6 50% 50% repeat-x;
border: none;
color: var(--color-2);
padding: 4px 10px 4px 30px;
cursor: pointer;
}
.accordion > div{
background: none !important;
}
.accordion-header{
margin: 2px 0 0 0;
}
.accordion-content{
padding: 0px 0px !important;
border: none !important;
}
#measurement_details .pv-menu-list > li{
margin: 20px 10px;
}
.pv-menu-list > .pv-divider{
border-top: 1px solid black;
opacity: 0.2;
margin: 8px 0px;
}
.pv-menu-list-header{
opacity: 0.8;
}
.pv-menu-item{
width: 100%;
}
.icon-bar{
height: 4px !important;
border: 1px solid black;
background-color: white;
border-radius: 2px;
}
.canvas{
-webkit-transition: top .35s, left .35s, bottom .35s, right .35s, width .35s;
transition: top .35s, left .35s, bottom .35s, right .35s, width .35s;
}
.profile-container-button{
cursor: pointer;
}
/* no scrollbar styling in firefox, sadly */
.navmenu::-webkit-scrollbar{
height: 12px;
}
.navmenu::-webkit-scrollbar-track{
background: rgba(0, 0, 0, 0.1);
}
.navmenu::-webkit-scrollbar-thumb{
background: rgba(0, 0, 0, 0.5);
}
.pv-titlebar{
background-color: var(--color-1);
color: #var(--color-2);
font-weight: 700;
padding: 5px;
}
.pv-main-color{
background: var(--bg-color);
}
.profile-button:hover{
background-color: #0000CC;
}
.unselectable{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.selectable{
-webkit-touch-callout: text;
-webkit-user-select: text;
-khtml-user-select: text;
-moz-user-select: text;
-ms-user-select: text;
user-select: text;
}
.divider {
display: block;
text-align: center;
overflow: hidden;
white-space: nowrap;
font-weight: bold;
font-size: 90%;
letter-spacing: 1px;
margin-left: -20px;
margin-right: -20px;
}
.divider > span {
position: relative;
display: inline-block;
}
.divider > span:before,
.divider > span:after {
content: "";
position: absolute;
top: 50%;
width: 9999px;
height: 1px;
background: #b2b2b2;
}
.divider > span:before {
right: 100%;
margin-right: 5px;
}
.divider > span:after {
left: 100%;
margin-left: 5px;
}
.ol-dragbox {
background-color: rgba(255,255,255,0.4);
border-color: rgba(100,150,0,1);
border: 1px solid red;
}
/* HOVER MENU */
.hover_menu{
position: absolute;
width: 28px;
height: 28px;
border: 0px;
border-radius: 100px;
display: block;
user-select: none;
}
.hover_menu_icon{
position: absolute;
//border: 1px solid black;
display: inline-block;
width: 16px;
height: 16px;
padding: 6px;
opacity: 0.5;
background-color: white;
filter:invert(100%);
border-radius: 100px;
}
.hover_menu_icon:hover{
opacity: 1.0;
box-shadow: 0 0 5px #ffffff;
}
.hover_menu_icon > img{
width: 16px;
height: 16px;
}
.hover_menu_item{
background: black;
border-radius: 100px;
display: inline-block;
position: absolute;
width:32px;
height: 32px;
opacity: 0.5;
}
.hover_menu_item:hover{
opacity: 1.0;
box-shadow: 0 0 5px #ffffff;
}
.hover_menu_item > img{
width: 32px;
height: 32px;
filter: invert(100%);
}
.measurepanel_downloads {
position: relative;
bottom: -5px;
opacity: 0.5;
}
.measurepanel_downloads:hover{
position: relative;
bottom: -5px;
opacity: 1.0;
}

Wyświetl plik

@ -1,16 +1,24 @@
const THREE = require('three'); // import does not work :/
const THREE = require('./three.js'); // import does not work :/
import './ImageUtils';
import './jquery-ui';
import './jquery-ui.css';
import BinaryHeap from './BinaryHeap';
import proj4 from 'proj4';
import Stats from './Stats';
import TWEEN from 'tween.js';
import ol from 'openlayers';
import $ from 'jquery';
import i18n from 'i18next';
import i18n from './i18next';
import jqueryi18n from 'jquery-i18next';
import d3 from 'd3';
console.log(i18n);
jqueryi18n.init(i18n, $, {
tName: 't', // --> appends $.t = i18next.t
i18nName: 'i18n', // --> appends $.i18n = i18next
handleName: 'i18n', // --> appends $(selector).localize(opts);
selectorAttr: 'data-i18n', // selector for translating elements
targetAttr: 'i18n-target', // data-() attribute to grab target element to translate (if diffrent then itself)
optionsAttr: 'i18n-options', // data-() attribute that contains options, will load/set if useOptionsAttr = true
useOptionsAttr: false, // see optionsAttr
parseDefaultValueFromContent: false // parses default values from content ele.val or ele.text
});
function Potree(){
@ -12754,11 +12762,6 @@ Potree.Viewer = class PotreeViewer extends THREE.EventDispatcher{
this.progressBar = new ProgressBar();
this.stats = new Stats();
this.stats.showPanel( 0 ); // 0: fps, 1: ms, 2: mb, 3+: custom
document.body.appendChild( this.stats.dom );
this.stats.dom.style.left = "100px";
this.potreeRenderer = null;
this.highQualityRenderer = null;
this.edlRenderer = null;
@ -12809,11 +12812,10 @@ Potree.Viewer = class PotreeViewer extends THREE.EventDispatcher{
}
//if(e.pointcloud.projection){
// this.mapView = new Potree.MapView(this);
// this.mapView.init();
//}
// if(e.pointcloud.projection){
// this.mapView = new Potree.MapView(this);
// this.mapView.init();
// }
};
this.addEventListener("scene_changed", (e) => {
@ -13800,7 +13802,7 @@ Potree.Viewer = class PotreeViewer extends THREE.EventDispatcher{
loadGUI(callback){
var sidebarContainer = $('#potree_sidebar_container');
sidebarContainer.load(new URL(Potree.scriptPath + "/sidebar.html").href, () => {
// sidebarContainer.load(new URL(Potree.scriptPath + "/sidebar_webodm.html").href, () => {
sidebarContainer.css("width", "300px");
sidebarContainer.css("height", "100%");
@ -13819,9 +13821,9 @@ Potree.Viewer = class PotreeViewer extends THREE.EventDispatcher{
viewer.renderArea.insertBefore(imgMapToggle, viewer.renderArea.children[0]);
viewer.renderArea.insertBefore(imgMenuToggle, viewer.renderArea.children[0]);
this.mapView = new Potree.MapView(this);
this.mapView.init();
// this.mapView = new Potree.MapView(this);
// this.mapView.init();
i18n.init({
lng: 'en',
resGetPath: Potree.resourcePath + '/lang/__lng__/__ns__.json',
@ -13830,7 +13832,7 @@ Potree.Viewer = class PotreeViewer extends THREE.EventDispatcher{
debug: false
}, function(t) {
// Start translation once everything is loaded
// $("body").i18n();
$("body").i18n();
});
$(function() {
@ -13846,15 +13848,12 @@ Potree.Viewer = class PotreeViewer extends THREE.EventDispatcher{
}
});
});
// });
}
setLanguage(lang){
// i18n.setLng(lang);
// $("body").i18n();
i18n.setLng(lang);
$("body").i18n();
}
initThree(){
@ -14224,8 +14223,6 @@ Potree.Viewer = class PotreeViewer extends THREE.EventDispatcher{
requestAnimationFrame(this.loop.bind(this));
this.stats.begin();
//var start = new Date().getTime();
this.update(this.clock.getDelta(), timestamp);
//var end = new Date().getTime();
@ -14269,9 +14266,6 @@ Potree.Viewer = class PotreeViewer extends THREE.EventDispatcher{
// w.document.write('<img src="'+screenshot+'"/>');
//}
this.stats.end();
Potree.framenumber++;
};
@ -15845,7 +15839,7 @@ Potree.MapView = class{
init(){
$( "#potree_map" ).draggable({ handle: $('#potree_map_header') });
$( "#potree_map" ).resizable();
//$( "#potree_map_toggle" ).css("display", "block");
$( "#potree_map_toggle" ).css("display", "block");
let extentsLayer = this.getExtentsLayer();
let cameraLayer = this.getCameraLayer();
@ -17592,7 +17586,7 @@ function initMeasurementDetails(){
scene.removeEventListener("marker_added", updateDisplay);
scene.removeEventListener("marker_removed", updateDisplay);
scene.removeEventListener("marker_moved", updateDisplay);
$(elLi).remove();
$(element).remove();
}
};
@ -17804,8 +17798,7 @@ let initSidebar = function(){
initSceneList();
initSettings()
$('#potree_version_number').html(Potree.version.major + "." + Potree.version.minor + Potree.version.suffix);
// $('.perfect_scrollbar').perfectScrollbar();
$('#potree_version_number').html("Potree " + Potree.version.major + "." + Potree.version.minor + Potree.version.suffix);
}
class HoverMenuItem{

File diff suppressed because one or more lines are too long

Wyświetl plik

@ -1,264 +0,0 @@
<div id="sidebar_root"
class="perfect_scrollbar navmenu navmenu-default navmenu-fixed-left unselectable"
style="position: absolute; min-height: 100%; height: 100%; width: calc(100% - 1px); border-right: 1px solid black !important; overflow: hidden">
<span class="potree_sidebar_brand" style="display: flex; flex-direction: row">
<a href="http://potree.org" target="_blank">potree.org</a>
<span style="margin: 0px 3px; color: #9AA1A4"> - </span>
<a href="https://github.com/potree/potree" target="_blank">github</a>
<span style="margin: 0px 3px; color: #9AA1A4"> - </span>
<a href="https://twitter.com/m_schuetz" target="_blank">twitter</a>
<span style="flex-grow: 1"></span>
<span id="potree_version_number" style="color: #9AA1A4; font-size: 80%; font-weight: 100"></span>
</span>
<div style="font-family:arial;">
<a href="javascript:viewer.setLanguage('en');" style="margin-left: 30px;">EN</a> -
<a href="javascript:viewer.setLanguage('fr');">FR</a> -
<a href="javascript:viewer.setLanguage('de');">DE</a>
</div>
<div>
<!--<div id="accordion" class="accordion">-->
<div class="accordion">
<!-- APPEARANCE -->
<h3 id="menu_appearance"><span data-i18n="tb.rendering_opt"></span></h3>
<div>
<ul class="pv-menu-list">
<li><span data-i18n="appearance.nb_max_pts"></span>:<span id="lblPointBudget"></span> <div id="sldPointBudget"></div> </li>
<li><span data-i18n="appearance.point_size"></span>:<span id="lblPointSize"></span> <div id="sldPointSize"></div> </li>
<li><span data-i18n="appearance.field_view"></span>:<span id="lblFOV"></span><div id="sldFOV"></div> </li>
<li><span data-i18n="appearance.point_opacity"></span>:<span id="lblOpacity"></span><div id="sldOpacity"></div> </li>
<li>
<label for="optPointSizing" class="pv-select-label" data-i18n="appearance.point_size_type">Point Sizing </label>
<select id="optPointSizing" name="optPointSizing">
<option>Fixed</option>
<option>Attenuated</option>
<option>Adaptive</option>
</select>
</li>
<li>
<label for="optQuality" class="pv-select-label" data-i18n="appearance.point_quality"></label>
<select id="optQuality" name="optQuality">
<option>Squares</option>
<option>Circles</option>
<option>Interpolation</option>
<!--<option value="Splats">HQ-Splats</option>-->
</select>
</li>
<div>
<div class="divider">
<span>Eye-Dome-Lighting</span>
</div>
<li><label><input type="checkbox" id="chkEDLEnabled" onClick="viewer.setEDLEnabled(this.checked)"/><span data-i18n="appearance.edl_enable"></span></label></li>
<li><span data-i18n="appearance.edl_radius"></span>:<span id="lblEDLRadius"></span><div id="sldEDLRadius"></div></li>
<li><span data-i18n="appearance.edl_strength"></span>:<span id="lblEDLStrength"></span><div id="sldEDLStrength"></div></li>
</div>
<div>
<div class="divider">
<span>Background</span>
</div>
<li><label><input type="radio" name="background" value="skybox" onClick='viewer.setBackground("skybox")'/><span>Skybox</span></label></li>
<li><label><input type="radio" name="background" value="gradient" onClick='viewer.setBackground("gradient")'/><span>Gradient</span></label></li>
<li><label><input type="radio" name="background" value="black" onClick='viewer.setBackground("black")'/><span>Black</span></label></li>
<li><label><input type="radio" name="background" value="white" onClick='viewer.setBackground("white")'/><span>White</span></label></li>
</div>
</ul>
</div>
<!-- TOOLS -->
<h3 id="menu_tools"><span data-i18n="tb.tools_opt"></span></h3>
<div>
<ul class="pv-menu-list">
<div>
<li id="tools"></li>
<div class="divider" style="padding: 10px 0px 15px 0px">
<span>Navigation</span>
</div>
<li id="navigation"></li>
<li><span data-i18n="appearance.move_speed"></span>: <span id="lblMoveSpeed"></span><div id="sldMoveSpeed"></div></li>
</div>
</ul>
</div>
<!-- MEASUREMENTS -->
<h3 id="menu_measurements"><span data-i18n="tb.measurments_opt"></span></h3>
<div>
<ul class="pv-menu-list selectable" id="measurement_details"></ul>
</div>
<!-- ANNOTATIONS -->
<h3 id="menu_annotations"><span data-i18n="tb.annotations_opt"></span></h3>
<div>
<ul class="pv-menu-list selectable" id="annotation_details"></ul>
</div>
<!-- MATERIALS -->
<h3 id="menu_materials"><span data-i18n="tb.materials_opt"></span></h3>
<div>
<ul class="pv-menu-list">
<li>
<label for="optMaterial" class="pv-select-label">Attributes:</label><br>
<select id="optMaterial" name="optMaterial">
</select>
</li>
<div id="materials.composite_weight_container">
<div class="divider">
<span>Attribute Weights</span>
</div>
<li>RGB: <span id="lblWeightRGB"></span> <div id="sldWeightRGB"></div> </li>
<li>Intensity: <span id="lblWeightIntensity"></span> <div id="sldWeightIntensity"></div> </li>
<li>Elevation: <span id="lblWeightElevation"></span> <div id="sldWeightElevation"></div> </li>
<li>Classification: <span id="lblWeightClassification"></span> <div id="sldWeightClassification"></div> </li>
<li>Return Number: <span id="lblWeightReturnNumber"></span> <div id="sldWeightReturnNumber"></div> </li>
<li>Source ID: <span id="lblWeightSourceID"></span> <div id="sldWeightSourceID"></div> </li>
</div>
<div id="materials.rgb_container">
<div class="divider">
<span>RGB</span>
</div>
<li>Gamma: <span id="lblRGBGamma"></span> <div id="sldRGBGamma"></div> </li>
<li>Brightness: <span id="lblRGBBrightness"></span> <div id="sldRGBBrightness"></div> </li>
<li>Contrast: <span id="lblRGBContrast"></span> <div id="sldRGBContrast"></div> </li>
</div>
<div id="materials.elevation_container">
<div class="divider">
<span>Elevation</span>
</div>
<li><span data-i18n="appearance.elevation_range"></span>: <span id="lblHeightRange"></span> <div id="sldHeightRange"></div> </li>
</div>
<div id="materials.transition_container">
<div class="divider">
<span>Transition</span>
</div>
<li>transition: <span id="lblTransition"></span> <div id="sldTransition"></div> </li>
</div>
<div id="materials.intensity_container">
<div class="divider">
<span>Intensity</span>
</div>
<li>Range: <span id="lblIntensityRange"></span> <div id="sldIntensityRange"></div> </li>
<li>Gamma: <span id="lblIntensityGamma"></span> <div id="sldIntensityGamma"></div> </li>
<li>Brightness: <span id="lblIntensityBrightness"></span> <div id="sldIntensityBrightness"></div> </li>
<li>Contrast: <span id="lblIntensityContrast"></span> <div id="sldIntensityContrast"></div> </li>
</div>
</ul>
</div>
<!-- Scene -->
<h3 id="menu_scene"><span data-i18n="tb.scene_opt"></span></h3>
<div>
<ul class="pv-menu-list selectable">
<div>
<li><span data-i18n="scene.camera_position"></span>:<span id="lblCameraPosition"></span></li>
<li><span data-i18n="scene.camera_target"></span>:<span id="lblCameraTarget"></span></li>
<div class="divider" style="padding: 10px 0px 15px 0px">
<span>Point Clouds</span>
</div>
</div>
<li id="sceneList"></li>
</ul>
</div>
<!-- Classification -->
<h3 id="menu_classification"><span data-i18n="tb.classification_filter_opt"></span></h3>
<div>
<ul id="classificationList" class="pv-menu-list"></ul>
</div>
<!-- Other Settings -->
<h3 id="menu_other_settings"><span data-i18n="tb.parameters_opt"></span></h3>
<div>
<ul class="pv-menu-list">
<li><span data-i18n="appearance.min_node_size"></span><span id="lblMinNodeSize"></span><div id="sldMinNodeSize"></div> </li>
<li>
<label for="optClipMode" class="pv-select-label"><span data-i18n="appearance.clip_mode"></span></label>
<select id="optClipMode" name="optClipMode">
<option>No Clipping</option>
<option>Highlight Inside</option>
<option>Clip Outside</option>
</select>
</li>
<li><label><input type="checkbox" onClick="viewer.setShowBoundingBox(this.checked)"/><span data-i18n="appearance.box"></span></label></li>
<li><label><input type="checkbox" onClick="viewer.setFreeze(this.checked)"/><span data-i18n="appearance.freeze"></span></label></li>
</ul>
</div>
<h3 id="menu_about"><span data-i18n="tb.about_opt"></span></h3>
<div>
<ul class="pv-menu-list">
<li><a href="http://potree.org" target="_blank">Potree</a> is a viewer for large point cloud / LIDAR data sets, developed at the Vienna University of Technology.
<a href="https://github.com/potree/potree" target="_blank">(github)</a>
</li>
<li>Author: <a href="mailto:mschuetz@potree.org">Markus Sch&uuml;tz</a></li>
<li>License: <a target="_blank" href="http://potree.org/wp/potree_license/">FreeBSD (2-clause BSD)<a></li>
<li>Libraries:
<ul>
<li><a target="_blank" href="http://threejs.org/">three.js</a></li>
<li><a target="_blank" href="https://jquery.com/">Jquery</a></li>
<li><a target="_blank" href="http://www.laszip.org/">laszip</a></li>
<li><a target="_blank" href="https://github.com/verma/plasio">Plas.io (laslaz) </a></li>
<li><a target="_blank" href="http://openlayers.org/">OpenLayers3</a></li>
<li><a target="_blank" href="http://proj4js.org/">proj4js</a></li>
<li><a target="_blank" href="https://github.com/tweenjs/tween.js/">tween</a></li>
<li><a target="_blank" href="https://github.com/i18next/i18next/">i18next</a></li>
</ul>
</li>
<li>Donators:
<ul>
<li><a target="_blank" href="http://rapidlasso.com/">rapidlasso</a></li>
<li><a target="_blank" href="https://georepublic.info/en/">georepublic</a></li>
<li><a target="_blank" href="http://sitn.ne.ch/">sitn</a></li>
<li><a target="_blank" href="http://www.veesus.com/veesus/index.php">Veesus</a></li>
<li><a target="_blank" href="http://sigeom.ch/">sigeom sa</a></li>
<li><a target="_blank" href="http://archpro.lbg.ac.at/">LBI ArchPro</a></li>
</ul>
</li>
<li>Credits:
<ul>
<li><a target="_blank" href="https://www.cg.tuwien.ac.at/staff/MichaelWimmer.html">Michael Wimmer</a> &
<a target="_blank" href="https://www.cg.tuwien.ac.at/staff/ClausScheiblauer.html">Claus Scheiblauer</a></li>
<li><a target="_blank" href="https://www.cg.tuwien.ac.at/">TU Wien, Insitute of Computer Graphics and Algorithms</a></li>
<li><a target="_blank" href="https://harvest4d.org/">Harvest4D</a></li>
<li><a target="_blank" href="http://rapidlasso.com/">rapidlasso</a></li>
<li><a target="_blank" href="https://georepublic.info/en/">georepublic</a></li>
<li><a target="_blank" href="http://hobu.co/">Howard Butler, Uday Verma, Connor Manning</a></li>
<li><a target="_blank" href="http://www.danielgm.net/cc/">Cloud Compare</a></li>
<li><a target="_blank" href="http://sitn.ne.ch/">sitn</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</div>

Wyświetl plik

@ -28,17 +28,17 @@
"babel-preset-es2015": "^6.16.0",
"babel-preset-react": "^6.16.0",
"css-loader": "^0.25.0",
"d3": "^3.5.5",
"extract-text-webpack-plugin": "^1.0.1",
"file-loader": "^0.9.0",
"gl-matrix": "^2.3.2",
"i18next": "^7.1.2",
"immutability-helper": "^2.0.0",
"jquery-i18next": "^1.2.0",
"json-loader": "^0.5.4",
"leaflet": "^1.0.1",
"leaflet-measure": "^2.0.5",
"node-sass": "^3.10.1",
"object.values": "^1.0.3",
"openlayers": "^4.0.1",
"perfect-scrollbar": "^0.6.16",
"proj4": "^2.4.3",
"raw-loader": "^0.5.1",
@ -47,8 +47,6 @@
"react-hot-loader": "^3.0.0-beta.5",
"sass-loader": "^4.0.2",
"style-loader": "^0.13.1",
"three": "^0.83.0",
"three-orbit-controls": "^82.1.0",
"tween.js": "^16.6.0",
"url-loader": "^0.5.7",
"webpack": "^1.13.2",