Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
8722e76d
Commit
8722e76d
authored
Aug 06, 2015
by
Viktor Lidholt
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:domokit/sky_engine
parents
b5e3093f
21142660
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
6 deletions
+9
-6
forces.dart
packages/flutter/lib/animation/forces.dart
+9
-6
No files found.
packages/flutter/lib/animation/forces.dart
View file @
8722e76d
...
...
@@ -13,22 +13,25 @@ abstract class Force {
class
SpringForce
extends
Force
{
SpringForce
(
this
.
spring
,
{
this
.
left
:
0.0
,
this
.
right
:
1.0
});
// We overshoot the target by this distance, but stop the simulation when
// the spring gets within this distance (regardless of how fast it's moving).
// This causes the spring to settle a bit faster than it otherwise would.
static
final
Tolerance
tolerance
=
new
Tolerance
(
velocity:
double
.
INFINITY
,
distance:
0.01
);
final
SpringDescription
spring
;
// Where to put the spring's resting point when releasing left or right,
// respectively.
final
double
left
,
right
;
Simulation
release
(
double
position
,
double
velocity
,
Direction
direction
)
{
// Target just past the endpoint, because the animation will stop once the
// Spring gets within the epsilon, and we want to stop at the endpoint.
double
target
=
direction
==
Direction
.
reverse
?
this
.
left
-
_kEpsilon
:
this
.
right
+
_kEpsilon
;
return
new
SpringSimulation
(
spring
,
position
,
target
,
velocity
);
this
.
left
-
tolerance
.
distance
:
this
.
right
+
tolerance
.
distance
;
return
new
SpringSimulation
(
spring
,
position
,
target
,
velocity
)
..
tolerance
=
tolerance
;
}
}
final
SpringDescription
_kDefaultSpringDesc
=
new
SpringDescription
.
withDampingRatio
(
mass:
1.0
,
springConstant:
500.0
,
ratio:
1.0
);
final
SpringForce
kDefaultSpringForce
=
new
SpringForce
(
_kDefaultSpringDesc
);
const
double
_kEpsilon
=
0.001
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment