From 2caaa3d700cbbe35c60595f655ac086f4aa1cb36 Mon Sep 17 00:00:00 2001 From: Mugen87 Date: Mon, 16 Apr 2018 23:02:15 +0200 Subject: [PATCH] OutlinePass: Honor visibility state --- examples/js/postprocessing/OutlinePass.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/examples/js/postprocessing/OutlinePass.js b/examples/js/postprocessing/OutlinePass.js index e2e6a4b005..31ad22d399 100644 --- a/examples/js/postprocessing/OutlinePass.js +++ b/examples/js/postprocessing/OutlinePass.js @@ -163,7 +163,21 @@ THREE.OutlinePass.prototype = Object.assign( Object.create( THREE.Pass.prototype function gatherSelectedMeshesCallBack( object ) { - if ( object instanceof THREE.Mesh ) object.visible = bVisible; + if ( object.isMesh ) { + + if ( bVisible ) { + + object.visible = object.userData.oldVisible; + delete object.userData.oldVisible; + + } else { + + object.userData.oldVisible = object.visible; + object.visible = bVisible; + + } + + } } @@ -182,7 +196,7 @@ THREE.OutlinePass.prototype = Object.assign( Object.create( THREE.Pass.prototype function gatherSelectedMeshesCallBack( object ) { - if ( object instanceof THREE.Mesh ) selectedMeshes.push( object ); + if ( object.isMesh ) selectedMeshes.push( object ); } @@ -195,7 +209,7 @@ THREE.OutlinePass.prototype = Object.assign( Object.create( THREE.Pass.prototype function VisibilityChangeCallBack( object ) { - if ( object instanceof THREE.Mesh || object instanceof THREE.Line || object instanceof THREE.Sprite ) { + if ( object.isMesh || object.isLine || object.isSprite ) { var bFound = false; -- GitLab