Commit Graph

932 Commits

Author SHA1 Message Date
Léa Saviot
6336c385db [apps/graph] jumpToLeftRightCurve takes into account vertical distance 2019-09-23 17:31:35 +02:00
Léa Saviot
e9974a216d [apps/graph] If only cartesians, jump to next curve when out of range
Scenario:

-----------•   ->press "right": the cursor goes on the lower curve

           -*-*-*-*-*-
2019-09-23 17:31:35 +02:00
Léa Saviot
4248128471 [apps/graph] ContinuousFunctionStore::displaysNonCartesianFunctions 2019-09-23 17:31:35 +02:00
Léa Saviot
f79e774971 [apps/graph] Factorize displaysNonCartesianFunctions uses 2019-09-23 17:31:35 +02:00
Léa Saviot
ebfa251db8 [apps/grah} closestCurveIndexVertically renamed as next... 2019-09-23 17:31:35 +02:00
Léa Saviot
936b624fb9 [apps/graph] Block navigation to definition domain 2019-09-23 17:31:35 +02:00
Ruben Dashyan
bd5a247858 "Almost equal to" sign in banner views 2019-09-23 17:31:02 +02:00
Émilie Feral
20abac86f4 [apps/graph] ListParameterController: interval print float mode and
number of significant numbers are dynamically adjusted with the
available space
2019-09-23 17:07:18 +02:00
Émilie Feral
05934717f1 [apps/graph] ListParameterController: add assertions to ensure not to
overflow buffer
2019-09-23 17:07:18 +02:00
Émilie Feral
f90038b332 [apps/graph/list] ListParameterController: Change interval notation of
the function domain
2019-09-23 17:07:18 +02: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
d2b8e4865c [apps/shared/continuous_function_store] Factor numberOfActiveFunctionsOfType and activeRecordOfTypeAtIndex 2019-09-20 17:11:42 +02:00
Ruben Dashyan
5f9464a548 [apps] In Shared, move cartesian_function.* to continuous_function.* 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
be019cd5cf [apps/graph] Move cartesian_function_store.* to continuous_function_store.* 2019-09-20 17:11:42 +02:00
Ruben Dashyan
3172992e11 [apps] Clean header inclusions 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
d02ecf93a5 [apps] Avoid static casts 2019-09-20 17:11:42 +02:00
Ruben Dashyan
569bcc26d2 [apps/graph/app] Inline accessors in header file 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
413397652c [apps/*/expression_model_list_controller] Refactor modelStore()
Its return type is covariant. Get the ExpressionModelStore from the App.
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
Léa Saviot
538bb5e5d2 [apps/graph] Do not take into account the sum/integral in XNT
Otherwise, it is impossible to use theta inside a sum in a polar
function
Example: f(theta) = sum(n*theta,0,4) cannot be written
2019-09-20 14:30:36 +02:00
Léa Saviot
22c7fb440e [apps/graph] DefDomain depends on angleUnit
When automatically setting the definition domain of a non-cartesian
curve, take into account the angle unit:
0..360 for Degrees,
0..400 for gradians...
2019-09-20 11:42:45 +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
274795fcab [apps/graph] setDefault when changing models if non cartesian functions 2019-09-12 09:54:02 +02:00
Ruben Dashyan
2d38419989 [apps/graph/graph] Correct banner view reloading 2019-09-11 17:18:45 +02:00
Léa Saviot
77262b02dc [apps/graph] Fix default zoom for non cartesian + cartesian 2019-09-10 11:04:09 +02:00
Léa Saviot
a72f42d75e [apps/graph] Hangle displayed derivative for non cartesian functions 2019-09-10 10:33:40 +02:00
Léa Saviot
4caf9f5197 [coding style] Make some methods const 2019-09-09 20:05:14 +02:00
Léa Saviot
fcd82400f5 [apps/graph] Fix typo 2019-09-09 19:13:52 +02:00
Léa Saviot
a50c1aafbf [apps/shared] Separable class 2019-09-09 19:10:17 +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
99aee59e5e [apps/graph] Default window is -10..10 / -10..10 2019-09-09 14:07:49 +02:00
Léa Saviot
0d2c20bceb [apps/graph] Fix function renaming
Scenario: Funciton renamed f123456 would be saved as f12345 due to
buffer size problem
2019-09-09 13:30:09 +02:00
Léa Saviot
d9f650d283 [ion/utf8_helper] HasCodePoint 2019-09-09 13:30:04 +02:00
Émilie Feral
f38c6ed3d1 [apps/shared] Move sumBetweenBounds from controller (SumGraphController)
to the models (Sequence or CartesianFunction) and
CartesianFunction::sumBetweenBounds takes into account the function
domain
2019-09-09 11:42:16 +02:00
Émilie Feral
111a789f51 [apps/graph] Use CartesianFunction::nextIntersectionFrom in
PreimageGraphController to compute the preimage
2019-09-09 11:42:16 +02:00
Émilie Feral
37fd6f4d76 [apps/graph] Move function min and max computation from the controller
to the model CartesianFunction and take into account function domain
2019-09-09 11:42:16 +02:00
Émilie Feral
901cce9e67 [apps/graph] Move nextRootFrom from the controller to the model
CartesianFunction and take into account function domain
2019-09-09 11:42:16 +02:00
Émilie Feral
7b8973f020 [apps/graph] Move nextIntersectionFrom method from controller to model
and take into account the function domain in the intersection
computation
2019-09-09 10:22:44 +02:00
Émilie Feral
fdaec27ad9 [apps/graph] CurveParameterController: reload data when view appears
rather than set null frame when disappearing in order to reload model
2019-09-06 17:31:38 +02:00
Émilie Feral
236b4b77af [apps/graph] CalculationParameterController: display intersection row
only when all functions are cartesians and there are at least two
functions in the store
2019-09-06 17:29:47 +02:00
Léa Saviot
8fdad3aed8 [apps/graph] Remove unneeded vertical scroll bar 2019-09-05 17:32:47 +02:00
Léa Saviot
3014e8c3ca [apps/graph] Shorter messages and margins
To fit if the interval is -9.9E30..-9.8E29, in the parameter controller
2019-09-05 17:19:16 +02:00
Léa Saviot
8726f1d621 [apps/graph] Display parametric name in the middle of values cell 2019-09-05 15:43:55 +02:00
Ruben Dashyan
00b1320eb6 [apps/graph/values_controller] Fix text in hidden cells 2019-09-05 15:10:36 +02:00
Léa Saviot
6b25060dc5 [apps/graph] Put parameter name in interval controller
For instance:
X Start ...
X End ...
Step
2019-09-05 14:54:59 +02:00
Léa Saviot
f867019928 [apps/graph] Handle only 1 type of curve in set the interval button 2019-09-05 14:54:28 +02:00