2016-10-11 3 views

답변

0

선택 이벤트를 사용하여 선택한 개체를 찾고 선택을 취소하고 선택한 dbId를 분리합니다.이 동작은 찾고있는 동작입니까?

AutodeskNamespace ("Autodesk.ADN.Viewing.Extension");

경우
Autodesk.ADN.Viewing.Extension.Basic = function (viewer, options) { 

    Autodesk.Viewing.Extension.call(this, viewer, options); 

    var _this = this; 

    _this.load = function() { 

    console.log('LOAD') 

    viewer.addEventListener(
     Autodesk.Viewing.AGGREGATE_SELECTION_CHANGED_EVENT, function(e) { 

      //console.log(e) 

      if(e.selections.length) { 
       var dbId = e.selections[0].dbIdArray[0] 
       viewer.select([]) 
       viewer.isolate(dbId) 
      } 
     }) 


    return true; 
    }; 

    _this.unload = function() { 

    Autodesk.Viewing.theExtensionManager.unregisterExtension(
     "Autodesk.ADN.Viewing.Extension.Basic"); 

    return true; 
    }; 
}; 

Autodesk.ADN.Viewing.Extension.Basic.prototype = 
    Object.create(Autodesk.Viewing.Extension.prototype); 

Autodesk.ADN.Viewing.Extension.Basic.prototype.constructor = 
    Autodesk.ADN.Viewing.Extension.Basic; 

Autodesk.Viewing.theExtensionManager.registerExtension(
    "Autodesk.ADN.Viewing.Extension.Basic", 
    Autodesk.ADN.Viewing.Extension.Basic); 
0

그냥 UI에 파란색하지 선택을 유지하려면, 당신은 시스루을 선택 재료의 불투명도를 변경할 수 있습니다

viewer.impl.selectionMaterialBase.opacity = 0; 
viewer.impl.selectionMaterialTop.opacity = 0; 

을 이제 객체를 클릭하면 그것은 파랗게되지 않을 것입니다.

+0

그래, 이전과 완전히 다른 불투명도를 유지하면서 색상을 변경하지 마십시오. 아이디어를 우리가보기에서 분리 할 것입니다. (즉, 대신 다른 객체를 반투명하게 만듭니다.) –

+0

객체를 선택하면 위의 코드가 수정하는 불투명도로 상단에 선택 색상의 추가 레이어가 추가됩니다. 선택 색상이 상단에 있습니다. 선택 색상이 객체 자체와 같으면 선택한 객체의 모양이 달라지지 않을 것이라고 생각합니다. 정확히 동일한 불투명도를 유지하려는 것이 무엇인지 확실하지 않습니다 위의 필립의 코드는 선택한 객체를 분리하여 비 선택된 객체가 배경으로 사라지는 방법을 보여줍니다. 그다지 좋지 않습니까? –

+0

내 실수 - 완벽하게 작업하는 것처럼 보입니다. 프로그래머들에게 그것을 제공하십시오. –

관련 문제