Gabriel Ozouf
beb228fa78
[apps/graph] Fixed cache step quirks
...
Change-Id: I5b630301ab2a4b17a5a4d77c7d9a05120449e55e
2020-11-04 15:07:19 +01:00
Gabriel Ozouf
1bee23cf4f
[apps/graph] Reworked function caching
...
Instead of being memoized all at once before display, functions values
are now stored at evaluation time. Fixed some quirks with caching
preparation.
Change-Id: I5d212c271c8c41a6dc9074a15c720f0bccf8ac40
2020-11-04 15:07:19 +01:00
Gabriel Ozouf
42fcf557b8
[apps/graph] Limited number of cached functions
...
The caches used for function values memoization are now stored in
ContinuousFunctionStore : there are now only a fixed number, instead of
one per function. This effectively enables caching only for the first
few functions on screen, while reducing the memory usage.
Change-Id: I2ade091717f73a14a756fe527c773db8e8627be7
2020-11-04 15:04:24 +01:00
Gabriel Ozouf
95fef86ec0
[apps/graph] Activated caching for graph drawing
...
Added a default argument to CurveView::drawCurve : a function to initiate the
memoization of continuous functions. The function is implemented in
ContinuousFunctionCache and provided by GraphView. This should be invisible
to other types of curves that rely on CurveView::drawCurve.
Change-Id: I59aa55d67154b6d4bf9614b7ed87c48408773d86
2020-11-04 15:00:43 +01:00
Gabriel Ozouf
106916e7bf
[curve_view] Add double evaluation
...
Add the possibility to use a double-typed evaluator when tracing a
curve, useful when errors caused by float approximation mess with the
drawing.
Change-Id: I3ab410deec4823149239b0a26b1885fd2a493226
2020-10-23 08:56:56 +02:00
Émilie Feral
bc8dc0c59c
[apps] Use drawSegment when drawing lines instead of drawCurve or
...
drawCartesianCurve
2020-04-01 10:18:08 +02:00
Émilie Feral
b47ded4074
[apps/calculation] Add a parameter in Shared::CurveView to choose the
...
curve thickness
2020-02-12 15:13:20 +01:00
Ruben Dashyan
a52fd2c697
[apps/graph/graph_view] Do not draw the functions with undef expression
2020-02-12 15:13:15 +01:00
Ruben Dashyan
a705109b91
[apps/graph/graph_view] Factor polar and parametric drawing
2019-09-20 17:11:42 +02:00
Ruben Dashyan
a7282e6f33
[apps/graph/graph_view] Do not recompute numberOfActiveFunctions
2019-09-20 17:11:42 +02:00
Ruben Dashyan
df2897925b
Rename Shared::CartesianFunction to Shared::ContinuousFunction
2019-09-20 17:11:42 +02:00
Ruben Dashyan
0466d00588
[apps/graph] Rename CartesianFunctionStore to ContinuousFunctionStore
2019-09-20 17:11:42 +02:00
Ruben Dashyan
1908c9c674
[apps/graph] GraphView gets the function store through App
...
instead of passing a pointer at contruction.
2019-09-20 17:11:42 +02:00
Ruben Dashyan
8f88f7fea6
[apps/graph/graph_view] Draw parametric curves with evaluateXYAtParameter
2019-09-20 17:11:42 +02:00
Émilie Feral
5dcd983ee3
[apps/graph] GraphView: change the step with which the function is evaluated
...
to draw curve.
Fix bug: polar function sin(5θ) was not drawn at all
2019-09-17 17:30:29 +02:00
Léa Saviot
e67160b878
[apps/graph] Faster cursor scrolling on device
...
This commit is quite dirty but works well
2019-09-09 16:56:32 +02:00
Léa Saviot
b3ecd16218
[apps/graph] Fix multiple curves drawing
2019-08-30 11:25:06 +02:00
Léa Saviot
24d1594255
[apps] Draw curves according to their definition domain
2019-08-29 11:07:22 +02:00
Léa Saviot
c71ef7ff79
[apps/graph] Evaluation methods renaming
2019-08-29 11:07:22 +02:00
Léa Saviot
28a721e96e
[apps] Start fixing apps as cursor has new member variable
2019-08-29 11:07:22 +02:00
Ruben Dashyan
9a803013b6
[apps/graph/graph_view] WIP: drawCurve according to PlotType
2019-08-29 11:07:22 +02:00
Ruben Dashyan
fbee2d81e4
[apps/*/curve_view] Use drawCartesianCurve specifically for drawing Cartesian curves
2019-08-29 11:07:22 +02:00
Ruben Dashyan
7d689e22e4
[apps/graph/graph_view] Simplify drawRect
2019-08-29 11:07:22 +02:00
Émilie Feral
d0665d8558
[shared] Clean class names containing storage
2019-04-12 15:16:52 +02:00
Émilie Feral
3c1e35ec04
[shared] Rename classes:
...
ExpressionModelHandle --> ExpressionModel
SingleExpressionModelHandle --> ExpressionModelHandle
StorageFunction --> Function
StorageCartesianFunction --> CartesianFunction
StorageFunctionApp --> FunctionApp
2019-04-12 15:16:52 +02:00
Émilie Feral
e8b58a2b5b
[shared] Create ExpiringPointer: in DEBUG, check that pointers to
...
memoized functions are not used when invalid
2018-11-23 12:04:03 +01:00
Émilie Feral
c70278941a
[graph] Do not keep a function pointer as member variable but a record.
...
Indeed, function pointers can become invalid at any point...
2018-11-23 12:04:02 +01:00
Émilie Feral
3412463e84
[graph] Fix Graph controllers to take a StorageCartesianFunction instead
...
of a CartesianFunction
2018-11-23 12:04:01 +01:00
Émilie Feral
7cd05e520a
[apps] Graph: avoid reloading when highlighting the area under curve
...
(which does change in the Graph app)
2018-01-30 18:19:27 +01:00
Émilie Feral
c9be0f18bc
[apps] Graph: implement coloring area under curve in graph view
2018-01-30 18:19:27 +01:00
Émilie Feral
53b90034da
[apps] Graph: In graphview, replace the type by a boolean to decide
...
wether to draw tangent
2018-01-30 18:19:27 +01:00
Émilie Feral
31afd260a4
[apps] Graph: Change tangent color
2018-01-30 18:19:27 +01:00
Émilie Feral
fe509f6488
[apps] Graph: avoid banner blinking when displaying Tangent
2018-01-30 18:19:27 +01:00
Émilie Feral
f19e31f4cd
[apps] Specialize GraphView in Type (Tangent, Default ...) instead of
...
GraphController
2018-01-30 18:19:27 +01:00
Émilie Feral
ef8f5e07c2
[apps] In CurveView, replace the virtual method evaluateModelWithParameter by a function given as parameter (to be able to call Curve view methods with different implementation of evaluateModelWithParameter)
2018-01-30 18:19:27 +01:00
Émilie Feral
0bd796310c
[apps/shared] Move partial classes from grpah/graph to shared to be used
...
by sequence
Change-Id: I0e18be96cfaa92b6a51836ae8aa072fa6cf0f1af
2017-03-03 09:38:46 +01:00
Émilie Feral
6b524737b4
[apps/graph] Change name: function->cartesian_function
...
Change-Id: I138bd13fec8514144cfde7164ec9aff081454609
2017-02-20 09:39:25 +01:00
Émilie Feral
e5e9f7cc41
[poincare][apps] Make preferences a const object accessible from
...
anywhere (poincare and apps)
Change-Id: I49cc6bf940d1efeb6b153daac949ffcb23999a8d
2017-02-20 09:39:24 +01:00
Émilie Feral
23026b6718
[apps/shared] Namespace shared
...
Change-Id: I6dec7ce900bb4e801a25c567fe5e242cb744cf29
2017-02-13 17:15:06 +01:00
Émilie Feral
69e46f4958
[poincare] Namespace Poincare
...
Change-Id: I51a84fa7978ba16f128cfe1d32c390970f2037e8
2017-02-13 17:15:06 +01:00
Émilie Feral
39dab5125c
[apps] Add angle unit preference in apps
...
Change-Id: I25eb760883d164563cb3059d73e8d1fff92ad6da
2017-02-06 16:30:48 +01:00
Émilie Feral
c3008ca360
[apps] Improvements of MVC structure regarding curve views and ranges
...
Change-Id: Iec8031dbf349c34c18694dffabd02ef9c88ebf2d
2017-01-18 14:31:42 +01:00
Émilie Feral
c19ecaeebe
[apps] In curve view, avoid to reload the whole view when reloading
...
cursor
Change-Id: Ie8c0e100159201cc6b11122eeb567c68092a7b06
2017-01-15 20:09:18 +01:00
Émilie Feral
affda5eae9
[apps] Modular reimplementation of application models (stores and
...
ranges) and of curve views/curve view controllers.
Change-Id: If4ca9bf1bec024917ef540a3fc7baefa8700f7ba
2017-01-10 13:35:19 +01:00
Émilie Feral
6e9528103b
[apps] Factorize banner view implementation.
...
Change-Id: Iedc4350d2bed0f1b1c597c2492e028293f58d5f2
2017-01-09 15:08:56 +01:00
Émilie Feral
498aa77268
[apps/graph/graph][apps] Factorize methods to draw grid in curve views
...
to be used in regression app
Change-Id: I5c76c3bb6eb5bdccf799098278734a5c8ad7c32d
2017-01-09 15:08:55 +01:00
Émilie Feral
2293d9f933
[apps] Factorize the reload methods in all subclasses of curve view
...
Change-Id: I77e04df7ab36b46582c221f7e07797e6d1bce0e2
2017-01-09 15:08:55 +01:00
Émilie Feral
a75e163e32
[apps/graph] Make graph view inherit from curve view with banner and
...
cursor
Change-Id: Ibc3239a1e0e16d53510f8e1a75699a8a00a6d91e
2017-01-09 15:08:55 +01:00
Émilie Feral
3c313cc50d
[apps/graph/graph] Make graph view inherit from curve view with banner
...
Change-Id: Iec003055a0974d0111f81d68771982192ffb8d1f
2017-01-09 15:08:54 +01:00
Émilie Feral
b8eba2c42a
[apps/graph/graph] Make the cursor position belong to th emodel
...
"GraphWindow"
Change-Id: I8cdcda85f0e29e4b678829f39b8bd212cd8d1086
2017-01-09 15:08:54 +01:00