MCPcopy
hub / github.com/mapillary/OpenSfM / updateObject

Function updateObject

viewer/js/three.js:21637–21729  ·  view source on GitHub ↗
( object, scene )

Source from the content-addressed store, hash-verified

21635 // Objects updates
21636
21637 function updateObject( object, scene ) {
21638
21639 var geometry = object.geometry, customAttributesDirty, material;
21640
21641 if ( geometry instanceof THREE.BufferGeometry ) {
21642
21643 setDirectBuffers( geometry );
21644
21645 } else if ( object instanceof THREE.Mesh ) {
21646
21647 // check all geometry groups
21648
21649 if ( geometry.groupsNeedUpdate === true ) {
21650
21651 initGeometryGroups( scene, object, geometry );
21652
21653 }
21654
21655 var geometryGroupsList = geometryGroups[ geometry.id ];
21656
21657 for ( var i = 0, il = geometryGroupsList.length; i < il; i ++ ) {
21658
21659 var geometryGroup = geometryGroupsList[ i ];
21660
21661 material = getBufferMaterial( object, geometryGroup );
21662
21663 if ( geometry.groupsNeedUpdate === true ) {
21664
21665 initMeshBuffers( geometryGroup, object );
21666
21667 }
21668
21669 customAttributesDirty = material.attributes && areCustomAttributesDirty( material );
21670
21671 if ( geometry.verticesNeedUpdate || geometry.morphTargetsNeedUpdate || geometry.elementsNeedUpdate ||
21672 geometry.uvsNeedUpdate || geometry.normalsNeedUpdate ||
21673 geometry.colorsNeedUpdate || geometry.tangentsNeedUpdate || customAttributesDirty ) {
21674
21675 setMeshBuffers( geometryGroup, object, _gl.DYNAMIC_DRAW, ! geometry.dynamic, material );
21676
21677 }
21678
21679 }
21680
21681 geometry.verticesNeedUpdate = false;
21682 geometry.morphTargetsNeedUpdate = false;
21683 geometry.elementsNeedUpdate = false;
21684 geometry.uvsNeedUpdate = false;
21685 geometry.normalsNeedUpdate = false;
21686 geometry.colorsNeedUpdate = false;
21687 geometry.tangentsNeedUpdate = false;
21688
21689 material.attributes && clearCustomAttributes( material );
21690
21691 } else if ( object instanceof THREE.Line ) {
21692
21693 material = getBufferMaterial( object, geometry );
21694

Callers 1

projectObjectFunction · 0.85

Calls 9

setDirectBuffersFunction · 0.85
initGeometryGroupsFunction · 0.85
getBufferMaterialFunction · 0.85
initMeshBuffersFunction · 0.85
areCustomAttributesDirtyFunction · 0.85
setMeshBuffersFunction · 0.85
clearCustomAttributesFunction · 0.85
setLineBuffersFunction · 0.85
setParticleBuffersFunction · 0.85

Tested by

no test coverage detected