@@ -9514,22 +9514,24 @@ function getObjectLocalPosition( object, index ) {
95149514 position = itemSize >= 4 ? new THREE.Vector4( 0, 0, 0, 0 ) : new THREE.Vector3(),
95159515 drawRange = object.geometry.drawRange,
95169516 offset = index * itemSize;
9517- if ( object. geometry.index === null ) {
9517+ if ( geometry.index === null ) {
95189518
95199519 //Отображаются вершины
9520+ /*
95209521 let sError;
95219522 if ( geometry.index === null ) {
95229523 if ( ( drawRange.count != Infinity ) && ( ( index < drawRange.start ) || ( index >= ( drawRange.start + drawRange.count ) ) ) )
95239524 sError = '';
95249525 } else if ( ( drawRange.count != Infinity ) && ( ( offset < drawRange.start ) || ( offset >= ( drawRange.start + drawRange.count ) ) ) ){
95259526
9526- // console.error( 'getObjectLocalPosition: index = ' + index + '. offset = ' + offset + ' is out of range = { start: ' + drawRange.start + ', count: ' + drawRange.count + ' }' );
9527- // return;
95289527 sError = '. offset = ' + offset;
95299528
95309529 }
95319530 if ( sError != undefined ) console.error( 'getObjectLocalPosition: index = ' + index + sError + ' is out of range = { start: ' + drawRange.start + ', count: ' + drawRange.count + ' }' );
9532-
9531+ */
9532+ if ( ( drawRange.count != Infinity ) && ( ( index < drawRange.start ) || ( index >= ( drawRange.start + drawRange.count ) ) ) )
9533+ console.error( 'getObjectLocalPosition: index = ' + index + ' is out of range = { start: ' + drawRange.start + ', count: ' + drawRange.count + ' }' );
9534+
95339535 }
95349536 position.fromArray( attributesPosition.array, offset );
95359537 return position;
@@ -14826,6 +14828,9 @@ class Raycaster {
1482614828 if ( ( guiPoints.isSetIntersectionIndex != false ) && ( guiPoints.verticeId != undefined ) ) intersection.index = guiPoints.verticeId;
1482714829
1482814830 options.guiSelectPoint.select( intersection );
14831+
14832+ const mesh = intersection.object;
14833+ if ( mesh && mesh.userData.gui && mesh.userData.gui.reset ) mesh.userData.gui.reset( guiPoints.verticeId );
1482914834
1483014835 //если не удалить guiPoints.verticeId, то будет неверно изменяться позиция вершины во вселенной
1483114836 //Для проверки открыть http://localhost/anhr/universe/main/hyperSphere/Examples/
@@ -18879,19 +18884,18 @@ class MyObject {
1887918884 const drawRange = settings.bufferGeometry.drawRange;
1888018885 if ((drawRange.count === Infinity) || (((drawRange.start + drawRange.count) * ((settings.bufferGeometry.index === null) ? itemSize : 1)) < positionId)){
1888118886
18882- this.setVerticesRange(drawRange.start, (positionId - drawRange.start + 1) / itemSize);
18887+ // this.setVerticesRange(drawRange.start, (positionId - drawRange.start + 1) / itemSize);
18888+ this.setVerticesRange(drawRange.start, (positionId + 1) / itemSize - drawRange.start);
1888318889 if (!Number.isInteger(drawRange.count) && (drawRange.count != Infinity)) console.error(sMyObject + '.setPositionAttributeFromPoint failed. Invalid drawRange.count = ' + drawRange.count);
1888418890
1888518891 }
1888618892
1888718893 //gui
1888818894 const guiSelectPoint = settings.options.guiSelectPoint,
1888918895 object3D = this.object3D;
18890- // object3D = this.object ? this.object() : this.object3D;
1889118896 if (guiSelectPoint && (guiSelectPoint.getSelectedPointIndexShort() === i) && guiSelectPoint.isSelectedMesh(object3D)) {
1889218897
1889318898 guiSelectPoint.setPosition( { index: i, object: object3D });
18894- // guiSelectPoint.setPosition( { index: i, object: this.object ? this.object() : this.object3D });
1889518899 if (object3D && object3D.userData.gui) object3D.userData.gui.reset();//в hyperSphere обновить выделенные ребра, среднюю вершину и плоскости вращения углов
1889618900
1889718901 }
0 commit comments