123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307 |
- // "use strict";
- var THREE
- var renderer
- var camera
- var scene
-
- THREE = z.THREE
- renderer = z.renderer
- camera = z.camera
- scene = z.scene
-
- function resize_canvas(){
-
- camera.aspect = window.innerWidth / window.innerHeight;
- camera.updateProjectionMatrix();
-
- renderer.setPixelRatio(window.devicePixelRatio);
- renderer.setSize(window.innerWidth, window.innerHeight);
- // renderer.setSize(window.innerWidth * .9, window.innerHeight * .9);
-
-
- }
-
- resize_canvas()
-
- var pointer = window.pointer || new THREE.Vector2();
- function mx2(){
- var raycaster = new THREE.Raycaster();
- // raycaster.params.Line.threshold = 30;
- // raycaster.params.Mesh.threshold = 30;
- window.raycaster=raycaster
- // var intersects = raycaster.intersectObjects( scene.children, true );
- // var intersects = raycaster.intersectObjects( scene.children, true );
- // var intersects = raycaster.intersectObjects( scene.children.slice(4), true );
- // var intersects = raycaster.intersectObjects( scene.children.slice(4), false );
- raycaster.setFromCamera( pointer, camera );
- var intersects = raycaster.intersectObjects( scene.children, false );
- // var intersects = raycaster.intersectObjects( scene.children.slice(0), false );
- clog({raycaster,intersects})
- }
- z.jnk= z.jnk||{}
-
- /*
- glob_u.data.o3 = glob_u.data.o3 || {
- obj_arrs:{
- select:[],
- }
- }
- */
- // merge_partial_template(glob_u.data.o3,{
- merge_partial_template(glob_u.data,{o3:{
- // / no longer just arrays rename eventually
- obj_arrs:{
- select:[],
- // s2:new Set([1,2,4]),
- },
-
- select_1:null,
- // glob_u.data.o3
-
- }})
-
-
-
-
- function mx3c(obj,color="#0000ff",zz=0) {
- // clog(obj)
- // body...
- // circle_tent_gen
-
- var circle
- var r = {}
- var geometry,circle,material
- geometry = new THREE.CircleGeometry( .12, 32 );
- // material = new THREE.MeshBasicMaterial( {map:new THREE.TextureLoader().load(profs[1])} );
- // material = new THREE.MeshLambertMaterial( );
- // material = new THREE.MeshPhongMaterial( );
- // material = new THREE.MeshBasicMaterial( {color:"#0000ff",opacity: 0.5,transparent:true,
- material = new THREE.MeshBasicMaterial( {color,opacity: 0.5,transparent:true,
- } );
- material.side = THREE.DoubleSide
- circle = new THREE.Mesh( geometry, material );
- r.material=material
- r.circle=circle
-
- r.circle.position.x = obj.object.position.x
- r.circle.position.y = obj.object.position.y
- // if (color =="#0000ff"){
- if (zz ==0){
-
- // r.circle.position.z = obj.object.position.z -.00000000000000000000000000001
- r.circle.position.z = obj.object.position.z +.01
- r.circle.position.z = obj.object.position.z +.000001
- } else {
- r.circle.position.z = obj.object.position.z +.000000000000000000001
- // r.circle.position.z = obj.object.position.z +.01
- // r.circle.position.z = obj.object.position.z +.01
- r.circle.position.x = obj.point.x
- r.circle.position.y = obj.point.y
- r.circle.position.z = obj.point.z +.0101
- }
- // r.circle.position.z = obj.object.position.z
- r.circle.tx1="circle_select"
- // r.circle.
-
-
-
- scene.add(r.circle)
- glob_u.cb.ord.run_cbs("add_scene_obj",{o3d:r.circle})
- glob_u.data.o3.obj_arrs.select.push(r.circle)
- // clog("mxc",obj.object,r.circle,{r,obj})
- return r
-
- }
-
- function clear_select(argument) {
- // body...
- for (var en of glob_u.data.o3.obj_arrs.select){
- scene.remove(en)
- glob_u.cb.ord.run_cbs("discard_scene_obj",{o3d:en})
- }
- glob_u.data.o3.obj_arrs.select=[]
- }
-
-
- // function select_first(){}
-
- // glob_u.cb.ord.run_cbs("add_scene_obj",{o3d:""})
- // glob_u.cb.ord.run_cbs("discard_scene_obj",{o3d:""})
- function mx3(){
- var raycaster = new THREE.Raycaster();
- raycaster.setFromCamera( pointer, camera );
- var intersects = raycaster.intersectObjects( scene.children, false )
- // clog("mx3",intersects)
- z.jnk.intersects=intersects
- var o
- // clog("mx3??",intersects)
- // scene.
- clear_select()
- obj_groups = glob_u.data.o3.obj_arrs
-
- for (o of intersects){
-
- }
- obj_groups.iset1 = new Set(intersects)
- var iset1=obj_groups.iset1
- if (!obj_groups.iset2){
- obj_groups.iset2 = new Set(iset1)
-
- }
- // clog(obj_groups.iset2.symmetricDifference(iset1).size)
- colors = ["red","blue","green","yellow","teal","aquamarine"]
- colors = ["red","blue","green","yellow","aquamarine"]
- colors = ["red","blue","aquamarine"]
- for (o of intersects){
- if (o.object.tx1){
- continue
- }
- // mx3c(o,colors.pop())
- // mx3c(o,"blue")
- // mx3c(o)
- // mx3c(o,"#00ffff")
- // mx3c(o,"#f00")
- mx3c(o,colors.pop()|| "black")
- // mx3c(o,colors.pop())
- // mx3c(o,"#00f",1)
- continue
- // clog(o)
- // return
- // o.object.material.emissive.setHex( 0xff0000 );aaaaaa
- clog(o.object.material,o.object)
- o.object.material.lightMapIntensity=.1
- o.object.material.blendColor.b=255
- o.object.material.alphaHash=true
- o.object.material.blendAlpha=2
- // o.object.material.combine=THREE.MixOperation
- o.object.material.combine=THREE.AddOperation
- o.object.material.reflectivity=.4
- // o.object.material.vertexColors=true
- o.object.material.wireframe=true
- o.object.material.opacity=0
- o.object.castShadow=true
- // o.object.material.refractionRatio=2
-
- }
- obj_groups.iset2 = new Set(iset1)
- // var intersects = raycaster.intersectObjects( scene.children, false );
-
- }
-
- function mx1(){
- const pointer = new THREE.Vector2();
-
- var raycaster = new THREE.Raycaster();
- raycaster.params.Line.threshold = 3;
-
- raycaster.setFromCamera( pointer, camera );
-
- const intersects = raycaster.intersectObjects( parentTransform.children, true );
-
- const geometry = new THREE.SphereGeometry( 5 );
- const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
-
- sphereInter = new THREE.Mesh( geometry, material );
- sphereInter.visible = false;
- scene.add( sphereInter );
-
-
- if ( intersects.length > 0 ) {
-
- sphereInter.visible = true;
- sphereInter.position.copy( intersects[ 0 ].point );
-
- } else {
-
- sphereInter.visible = false;
-
- }
- }
-
-
-
-
-
-
- function onPointerMove( event ) {
-
- pointer.x = ( event.clientX / window.innerWidth ) * 2 - 1;
- pointer.y = - ( event.clientY / window.innerHeight ) * 2 + 1;
- // mx3()
- // clog(pointer)
-
- }
-
-
-
-
- // function onwheel(ev){
- glob_u.tvar.cnt = 0
- glob_u.tvar.s = ""
- function quick_wheel(ev){
- glob_u.tvar.cnt += 1
- glob_u.tvar.s += "="
-
- if (!(glob_u.tvar.cnt / 175 + "").includes(".")){
- glob_u.tvar.s = ""
- }
-
- if (ev.deltaX > 0){
- rcast(ev)
- }
-
-
- // clog(glob_u.tvar.cnt,glob_u.tvar.s ,ev.deltaX,(glob_u.tvar.cnt / 25 + ""))
-
- // clog(glob_u.tvar.cnt,(glob_u.tvar.cnt / 25 + ""))
- // clog("QW",ev.type,ev.deltaX ? "A" : "B",ev.deltaX === 0.0 ,ev)
-
-
- }
- // function quick_key(ev){
-
-
-
-
-
- function quick_key(ev){
-
-
-
-
- switch(ev.type){
-
- }
- // clog("QK",ev.type,ev.key,ev)
- // window.
- // quick_key2(ev)
-
- switch(ev.key){
- // case "a":
- // case "b":
- case " ":
- rcast(ev)
- // rcast(ev)
- // mx3(ev)
- // clog(";;;;;")
- break;
- case "s":
- // find_hover_cards()
- // z1 = $(".mx_hover_tag")[0]
-
- break;
- }
- }
-
- onmousewheel = quick_wheel
- onauxclick = quick_wheel
- onclick = quick_wheel
- ondblclick = quick_wheel
- onkeydown = quick_key
- onkeyup = quick_key
- onkeypress = quick_key
-
-
-
- onpointermove = onPointerMove
- // document.addEventListener( 'pointermove', onPointerMove );
|