2017-08-30 3 views
0

J'utilise cette extension filaire https://autodeskviewer.com/viewers/latest/extensions/Wireframes/Wireframes.js dont j'ai légèrement modifié les couleurs. Si je bouge légèrement l'appareil photo, toutes les lignes disparaissent et comme notre application reçoit constamment des données du capteur, nous nous retrouvons avec des lignes qui ne sont pas toujours visibles.Extension de wireframes décharger des lignes à chaque mise à jour

enter image description here

Je ne peux pas trouver ce que fait ces lignes disparaissent. Comment puis-je rendre ceux-ci toujours visibles?

Il arrive aussi dans cet exemple que vous pouvez reproduire:

enter image description here

Répondre

1

Une autre façon d'éviter ce problème après mes recherches. Au lieu d'utiliser impl.scene et impl.sceneAfter, vous pouvez ajouter ces géométries filaires dans la superposition du visualiseur. Voici les extraits d'une solution de contournement:

//!-- 1. Add this two line in the `load` function. 
if(this.viewer.impl.overlayScenes[this.overlayName] === undefined) 
    this.viewer.impl.createOverlayScene(this.overlayName); 

//!-- 2. Modified `addWireframes` with overlay functions 
function addWireframes(viewer, overlayName, groups) { 
    var groupsCount = groups.length; 
    for (var i = 0; i < groupsCount; ++i) { 
     viewer.impl.addOverlay(overlayName, groups[i]); 
    } 
    viewer.impl.invalidate(false, true, true); 
} 

//!-- 3. Modified `revertWireframes` with overlay functions 
function revertWireframes(viewer, overlayName, groups) { 
    var groupsCount = groups.length; 
    for (var i = 0; i < groupsCount; ++i) { 
     viewer.impl.removeOverlay(overlayName, groups[i]); 
    } 
    viewer.impl.invalidate(false, true, true); 
} 

//!-- 4 Update `impl.invalidate` function calls 
viewer.impl.invalidate(false, true, true); 

//!-- 5. Update function calls of both `addWireframes` and `revertWireframes`, for example: 
addWireframes(this.viewer, this.overlayName, this.groups); 
revertWireframes(this.viewer, this.overlayName, this.groups); 

post-scriptum Puisque c'est juste une solution de contournement, pas la solution formelle. Vous devrez l'utiliser à vos risques et périls.

=== Vieille réponse

Cela pourrait causé par le rendu progressif, vous pouvez la désactiver via viewer.setProgressiveRendering(false). Mais cela nuira à la performance tout en affichant un grand modèle dans la visionneuse Forge.

Le rendu progressif est la manière dont le spectateur rend les grands modèles. Et ce n'est pas un moyen de prévenir et d'être réparé maintenant malheureusement.

Voici à quoi il ressemble de mon côté:

https://imgur.com/a/TnlzW

+0

Je remarqué que si j'ajouter ces lignes à la 'scene' au lieu de' sceneAfter' ils restent quand je déplace le modèle. Mais maintenant il y a un autre problème, ils vont derrière les mailles du modèle: https://media.giphy.com/media/xT9IgoZKCeTbnYqZA4/giphy.gif Des idées sur la façon de les faire aller à l'avant du maillage? Comme ils sont sur l'ancien exemple filaire de Phillipe. – shinzou

+0

Une solution de contournement pour ce problème a été fournie dans la réponse mise à jour. J'espère que cela aide. –

+0

Cela fonctionne très bien. Je vous remercie. – shinzou