Generalized the min rotation to min interaction distance.
This commit is contained in:
+7
-6
@@ -286,7 +286,7 @@ export class AbstractScatter extends Throwable {
|
||||
scaleCloseThreshold = 0.1,
|
||||
scaleCloseBuffer = 0.05,
|
||||
maxRotation = Angle.degree2radian(5),
|
||||
minRotationDistance = 0,
|
||||
minInteractionDistance = 0,
|
||||
useLowPassFilter = false
|
||||
} = {}) {
|
||||
if (rotationDegrees != null && rotation != null) {
|
||||
@@ -332,7 +332,7 @@ export class AbstractScatter extends Throwable {
|
||||
this.mouseZoomFactor = mouseZoomFactor
|
||||
this.autoBringToFront = autoBringToFront
|
||||
this.useLowPassFilter = useLowPassFilter
|
||||
this.minRotationDistance = minRotationDistance
|
||||
this.minInteractionDistance = minInteractionDistance
|
||||
if (useLowPassFilter) {
|
||||
this.rotateLPF = new LowPassFilter()
|
||||
this.zoomLPF = new LowPassFilter()
|
||||
@@ -390,9 +390,10 @@ export class AbstractScatter extends Throwable {
|
||||
rotate = this.rotateLPF.next(rotate)
|
||||
zoom = this.zoomLPF.next(zoom)
|
||||
}
|
||||
if (delta.distance < this.minRotationDistance) {
|
||||
let ratio = delta.distance / this.minRotationDistance
|
||||
if (delta.distance < this.minInteractionDistance) {
|
||||
let ratio = delta.distance / this.minInteractionDistance
|
||||
rotate *= ratio
|
||||
zoom *= ratio
|
||||
}
|
||||
|
||||
this.transform(delta, zoom, rotate, delta.about)
|
||||
@@ -1114,7 +1115,7 @@ export class DOMScatter extends AbstractScatter {
|
||||
scaleCloseBuffer = 0.05,
|
||||
useLowPassFilter = false,
|
||||
maxRotation = Angle.degree2radian(15),
|
||||
minRotationDistance = 200
|
||||
minInteractionDistance = 200
|
||||
} = {}
|
||||
) {
|
||||
super({
|
||||
@@ -1141,7 +1142,7 @@ export class DOMScatter extends AbstractScatter {
|
||||
onClose,
|
||||
useLowPassFilter,
|
||||
maxRotation,
|
||||
minRotationDistance
|
||||
minInteractionDistance
|
||||
})
|
||||
if (container == null || width == null || height == null) {
|
||||
throw new Error('Invalid value: null')
|
||||
|
||||
Reference in New Issue
Block a user