Commit Graph

813 Commits

Author SHA1 Message Date
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
Ruben Dashyan
aa5c5219da [apps/*/values_controller] Set correct parameter message 2019-09-05 11:58:51 +02:00
Ruben Dashyan
86768b2eec [apps/*/go_to_parameter_controller] Remove I18n::Message parameter from constructor 2019-09-05 11:58:51 +02:00
Ruben Dashyan
8a2ceb0440 [apps/*/go_to_parameter_controller] Use setParameterName 2019-09-05 11:58:51 +02:00
Léa Saviot
3a0f883838 [apps/graph] Fix cell colors in values
Scenario: add two functions with different plot types. Scroll to the
bottom of the table, delete some vlaues then scroll up and down
2019-09-05 11:16:09 +02:00
Léa Saviot
58ac80783a [apps/graph] Handle navigation on hidden cells 2019-09-05 10:49:43 +02:00
Léa Saviot
af3d1456e0 [apps/graph] Hideable cells in values controller 2019-09-05 10:25:01 +02:00
Émilie Feral
aa1d1165e8 [apps/graph] Fix function name edition: the cursor is positioned right
after the '(' (bug due to the fact that θ takes 2 bytes)
2019-09-05 09:37:23 +02:00
Ruben Dashyan
f70fb98a23 [apps/graph/values/interval_parameter_selector_controller] Hide irrelevant rows
Hide those rows corresponding to plot types, not used by any function
in the store.
2019-09-04 17:44:49 +02:00
Léa Saviot
811768dcc2 [apps/graph] Fix missing const_cast 2019-09-04 15:25:41 +02:00
Ruben Dashyan
48be600d89 [apps/graph] App holds an Interval for each plot type 2019-09-04 15:07:40 +02:00
Ruben Dashyan
b522131efd [apps/graph/values/interval_parameter_selector_controller] Add all intervals to list 2019-09-04 15:07:40 +02:00
Ruben Dashyan
a8b469cc65 [apps/graph/values_controller] Factor with plotTypeAtColumn 2019-09-04 15:07:40 +02:00
Ruben Dashyan
157edcd18c [apps/*/values_controller] Get interval from App according to column index 2019-09-04 15:07:40 +02:00
Ruben Dashyan
a565cb32b9 [apps] Move interval from FunctionApp to derived classes 2019-09-04 15:07:40 +02:00
Ruben Dashyan
7ef63f2c61 [apps] IntervalParameterController::m_interval is set right before the controller appears
and not at controller's construction.
2019-09-04 15:07:40 +02:00
Léa Saviot
6fb7d74e4d [apps/graph] Values are correcty computed in the values tab 2019-09-04 14:21:06 +02:00
Léa Saviot
f4bbab76ed [apps/graph] Margins in values title cells 2019-09-04 13:43:37 +02:00
Léa Saviot
9120e17009 [apps/graph] Correct parameter name 2019-09-03 17:32:04 +02:00
Léa Saviot
ea586d1ac5 [apps/graph] Add margins in values
+ Fix parameter titles
2019-09-03 17:32:04 +02:00