Generalized the min rotation to min interaction distance.
This commit is contained in:
		
							parent
							
								
									bb0dcf2d9d
								
							
						
					
					
						commit
						dcd5acb4d1
					
				
							
								
								
									
										13
									
								
								dist/iwmlib.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								dist/iwmlib.js
									
									
									
									
										vendored
									
									
								
							@ -3374,7 +3374,7 @@
 | 
				
			|||||||
            scaleCloseThreshold = 0.1,
 | 
					            scaleCloseThreshold = 0.1,
 | 
				
			||||||
            scaleCloseBuffer = 0.05,
 | 
					            scaleCloseBuffer = 0.05,
 | 
				
			||||||
            maxRotation = Angle.degree2radian(5),
 | 
					            maxRotation = Angle.degree2radian(5),
 | 
				
			||||||
            minRotationDistance = 0,
 | 
					            minInteractionDistance = 0,
 | 
				
			||||||
            useLowPassFilter = false
 | 
					            useLowPassFilter = false
 | 
				
			||||||
        } = {}) {
 | 
					        } = {}) {
 | 
				
			||||||
            if (rotationDegrees != null && rotation != null) {
 | 
					            if (rotationDegrees != null && rotation != null) {
 | 
				
			||||||
@ -3420,7 +3420,7 @@
 | 
				
			|||||||
            this.mouseZoomFactor = mouseZoomFactor;
 | 
					            this.mouseZoomFactor = mouseZoomFactor;
 | 
				
			||||||
            this.autoBringToFront = autoBringToFront;
 | 
					            this.autoBringToFront = autoBringToFront;
 | 
				
			||||||
            this.useLowPassFilter = useLowPassFilter;
 | 
					            this.useLowPassFilter = useLowPassFilter;
 | 
				
			||||||
            this.minRotationDistance = minRotationDistance;
 | 
					            this.minInteractionDistance = minInteractionDistance;
 | 
				
			||||||
            if (useLowPassFilter) {
 | 
					            if (useLowPassFilter) {
 | 
				
			||||||
                this.rotateLPF = new LowPassFilter();
 | 
					                this.rotateLPF = new LowPassFilter();
 | 
				
			||||||
                this.zoomLPF = new LowPassFilter();
 | 
					                this.zoomLPF = new LowPassFilter();
 | 
				
			||||||
@ -3478,9 +3478,10 @@
 | 
				
			|||||||
                    rotate = this.rotateLPF.next(rotate);
 | 
					                    rotate = this.rotateLPF.next(rotate);
 | 
				
			||||||
                    zoom = this.zoomLPF.next(zoom);
 | 
					                    zoom = this.zoomLPF.next(zoom);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (delta.distance < this.minRotationDistance) {
 | 
					                if (delta.distance < this.minInteractionDistance) {
 | 
				
			||||||
                    let ratio = delta.distance / this.minRotationDistance;
 | 
					                    let ratio = delta.distance / this.minInteractionDistance;
 | 
				
			||||||
                    rotate *= ratio;
 | 
					                    rotate *= ratio;
 | 
				
			||||||
 | 
					                    zoom *= ratio;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                this.transform(delta, zoom, rotate, delta.about);
 | 
					                this.transform(delta, zoom, rotate, delta.about);
 | 
				
			||||||
@ -4202,7 +4203,7 @@
 | 
				
			|||||||
                scaleCloseBuffer = 0.05,
 | 
					                scaleCloseBuffer = 0.05,
 | 
				
			||||||
                useLowPassFilter = false,
 | 
					                useLowPassFilter = false,
 | 
				
			||||||
                maxRotation = Angle.degree2radian(15),
 | 
					                maxRotation = Angle.degree2radian(15),
 | 
				
			||||||
                minRotationDistance = 200
 | 
					                minInteractionDistance = 200
 | 
				
			||||||
            } = {}
 | 
					            } = {}
 | 
				
			||||||
        ) {
 | 
					        ) {
 | 
				
			||||||
            super({
 | 
					            super({
 | 
				
			||||||
@ -4229,7 +4230,7 @@
 | 
				
			|||||||
                onClose,
 | 
					                onClose,
 | 
				
			||||||
                useLowPassFilter,
 | 
					                useLowPassFilter,
 | 
				
			||||||
                maxRotation,
 | 
					                maxRotation,
 | 
				
			||||||
                minRotationDistance
 | 
					                minInteractionDistance
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            if (container == null || width == null || height == null) {
 | 
					            if (container == null || width == null || height == null) {
 | 
				
			||||||
                throw new Error('Invalid value: null')
 | 
					                throw new Error('Invalid value: null')
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										13
									
								
								dist/iwmlib.pixi.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								dist/iwmlib.pixi.js
									
									
									
									
										vendored
									
									
								
							@ -6786,7 +6786,7 @@
 | 
				
			|||||||
            scaleCloseThreshold = 0.1,
 | 
					            scaleCloseThreshold = 0.1,
 | 
				
			||||||
            scaleCloseBuffer = 0.05,
 | 
					            scaleCloseBuffer = 0.05,
 | 
				
			||||||
            maxRotation = Angle.degree2radian(5),
 | 
					            maxRotation = Angle.degree2radian(5),
 | 
				
			||||||
            minRotationDistance = 0,
 | 
					            minInteractionDistance = 0,
 | 
				
			||||||
            useLowPassFilter = false
 | 
					            useLowPassFilter = false
 | 
				
			||||||
        } = {}) {
 | 
					        } = {}) {
 | 
				
			||||||
            if (rotationDegrees != null && rotation != null) {
 | 
					            if (rotationDegrees != null && rotation != null) {
 | 
				
			||||||
@ -6832,7 +6832,7 @@
 | 
				
			|||||||
            this.mouseZoomFactor = mouseZoomFactor;
 | 
					            this.mouseZoomFactor = mouseZoomFactor;
 | 
				
			||||||
            this.autoBringToFront = autoBringToFront;
 | 
					            this.autoBringToFront = autoBringToFront;
 | 
				
			||||||
            this.useLowPassFilter = useLowPassFilter;
 | 
					            this.useLowPassFilter = useLowPassFilter;
 | 
				
			||||||
            this.minRotationDistance = minRotationDistance;
 | 
					            this.minInteractionDistance = minInteractionDistance;
 | 
				
			||||||
            if (useLowPassFilter) {
 | 
					            if (useLowPassFilter) {
 | 
				
			||||||
                this.rotateLPF = new LowPassFilter();
 | 
					                this.rotateLPF = new LowPassFilter();
 | 
				
			||||||
                this.zoomLPF = new LowPassFilter();
 | 
					                this.zoomLPF = new LowPassFilter();
 | 
				
			||||||
@ -6890,9 +6890,10 @@
 | 
				
			|||||||
                    rotate = this.rotateLPF.next(rotate);
 | 
					                    rotate = this.rotateLPF.next(rotate);
 | 
				
			||||||
                    zoom = this.zoomLPF.next(zoom);
 | 
					                    zoom = this.zoomLPF.next(zoom);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (delta.distance < this.minRotationDistance) {
 | 
					                if (delta.distance < this.minInteractionDistance) {
 | 
				
			||||||
                    let ratio = delta.distance / this.minRotationDistance;
 | 
					                    let ratio = delta.distance / this.minInteractionDistance;
 | 
				
			||||||
                    rotate *= ratio;
 | 
					                    rotate *= ratio;
 | 
				
			||||||
 | 
					                    zoom *= ratio;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                this.transform(delta, zoom, rotate, delta.about);
 | 
					                this.transform(delta, zoom, rotate, delta.about);
 | 
				
			||||||
@ -7438,7 +7439,7 @@
 | 
				
			|||||||
                scaleCloseBuffer = 0.05,
 | 
					                scaleCloseBuffer = 0.05,
 | 
				
			||||||
                useLowPassFilter = false,
 | 
					                useLowPassFilter = false,
 | 
				
			||||||
                maxRotation = Angle.degree2radian(15),
 | 
					                maxRotation = Angle.degree2radian(15),
 | 
				
			||||||
                minRotationDistance = 200
 | 
					                minInteractionDistance = 200
 | 
				
			||||||
            } = {}
 | 
					            } = {}
 | 
				
			||||||
        ) {
 | 
					        ) {
 | 
				
			||||||
            super({
 | 
					            super({
 | 
				
			||||||
@ -7465,7 +7466,7 @@
 | 
				
			|||||||
                onClose,
 | 
					                onClose,
 | 
				
			||||||
                useLowPassFilter,
 | 
					                useLowPassFilter,
 | 
				
			||||||
                maxRotation,
 | 
					                maxRotation,
 | 
				
			||||||
                minRotationDistance
 | 
					                minInteractionDistance
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            if (container == null || width == null || height == null) {
 | 
					            if (container == null || width == null || height == null) {
 | 
				
			||||||
                throw new Error('Invalid value: null')
 | 
					                throw new Error('Invalid value: null')
 | 
				
			||||||
 | 
				
			|||||||
@ -286,7 +286,7 @@ export class AbstractScatter extends Throwable {
 | 
				
			|||||||
        scaleCloseThreshold = 0.1,
 | 
					        scaleCloseThreshold = 0.1,
 | 
				
			||||||
        scaleCloseBuffer = 0.05,
 | 
					        scaleCloseBuffer = 0.05,
 | 
				
			||||||
        maxRotation = Angle.degree2radian(5),
 | 
					        maxRotation = Angle.degree2radian(5),
 | 
				
			||||||
        minRotationDistance = 0,
 | 
					        minInteractionDistance = 0,
 | 
				
			||||||
        useLowPassFilter = false
 | 
					        useLowPassFilter = false
 | 
				
			||||||
    } = {}) {
 | 
					    } = {}) {
 | 
				
			||||||
        if (rotationDegrees != null && rotation != null) {
 | 
					        if (rotationDegrees != null && rotation != null) {
 | 
				
			||||||
@ -332,7 +332,7 @@ export class AbstractScatter extends Throwable {
 | 
				
			|||||||
        this.mouseZoomFactor = mouseZoomFactor
 | 
					        this.mouseZoomFactor = mouseZoomFactor
 | 
				
			||||||
        this.autoBringToFront = autoBringToFront
 | 
					        this.autoBringToFront = autoBringToFront
 | 
				
			||||||
        this.useLowPassFilter = useLowPassFilter
 | 
					        this.useLowPassFilter = useLowPassFilter
 | 
				
			||||||
        this.minRotationDistance = minRotationDistance
 | 
					        this.minInteractionDistance = minInteractionDistance
 | 
				
			||||||
        if (useLowPassFilter) {
 | 
					        if (useLowPassFilter) {
 | 
				
			||||||
            this.rotateLPF = new LowPassFilter()
 | 
					            this.rotateLPF = new LowPassFilter()
 | 
				
			||||||
            this.zoomLPF = new LowPassFilter()
 | 
					            this.zoomLPF = new LowPassFilter()
 | 
				
			||||||
@ -390,9 +390,10 @@ export class AbstractScatter extends Throwable {
 | 
				
			|||||||
                rotate = this.rotateLPF.next(rotate)
 | 
					                rotate = this.rotateLPF.next(rotate)
 | 
				
			||||||
                zoom = this.zoomLPF.next(zoom)
 | 
					                zoom = this.zoomLPF.next(zoom)
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            if (delta.distance < this.minRotationDistance) {
 | 
					            if (delta.distance < this.minInteractionDistance) {
 | 
				
			||||||
                let ratio = delta.distance / this.minRotationDistance
 | 
					                let ratio = delta.distance / this.minInteractionDistance
 | 
				
			||||||
                rotate *= ratio
 | 
					                rotate *= ratio
 | 
				
			||||||
 | 
					                zoom *= ratio
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            this.transform(delta, zoom, rotate, delta.about)
 | 
					            this.transform(delta, zoom, rotate, delta.about)
 | 
				
			||||||
@ -1114,7 +1115,7 @@ export class DOMScatter extends AbstractScatter {
 | 
				
			|||||||
            scaleCloseBuffer = 0.05,
 | 
					            scaleCloseBuffer = 0.05,
 | 
				
			||||||
            useLowPassFilter = false,
 | 
					            useLowPassFilter = false,
 | 
				
			||||||
            maxRotation = Angle.degree2radian(15),
 | 
					            maxRotation = Angle.degree2radian(15),
 | 
				
			||||||
            minRotationDistance = 200
 | 
					            minInteractionDistance = 200
 | 
				
			||||||
        } = {}
 | 
					        } = {}
 | 
				
			||||||
    ) {
 | 
					    ) {
 | 
				
			||||||
        super({
 | 
					        super({
 | 
				
			||||||
@ -1141,7 +1142,7 @@ export class DOMScatter extends AbstractScatter {
 | 
				
			|||||||
            onClose,
 | 
					            onClose,
 | 
				
			||||||
            useLowPassFilter,
 | 
					            useLowPassFilter,
 | 
				
			||||||
            maxRotation,
 | 
					            maxRotation,
 | 
				
			||||||
            minRotationDistance
 | 
					            minInteractionDistance
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        if (container == null || width == null || height == null) {
 | 
					        if (container == null || width == null || height == null) {
 | 
				
			||||||
            throw new Error('Invalid value: null')
 | 
					            throw new Error('Invalid value: null')
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user