From ed73eda4f3275946a6614c52ccde9755db64c6de Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Sun, 25 Aug 2019 22:15:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=B5=D1=80=D0=BD=D1=83=D0=BB=20=D0=BD?= =?UTF-8?q?=D0=B0=D0=B7=D0=B0=D0=B4=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D1=82=D0=B5=D1=80=20else=20=D0=B2=20case=20ParametricTrajector?= =?UTF-8?q?y=20=D0=B2=20Graph3D.pas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CodeCompletion/CodeFormatter.cs | 2 +- bin/Lib/Graph3D.pas | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CodeCompletion/CodeFormatter.cs b/CodeCompletion/CodeFormatter.cs index dae7e8978..223fa6937 100644 --- a/CodeCompletion/CodeFormatter.cs +++ b/CodeCompletion/CodeFormatter.cs @@ -1728,7 +1728,7 @@ namespace CodeFormatters //IncOffset(); add_new_line_else_specific = true; IncOffset(); - if (!(_case_node.else_statement is statement_list sl && sl.list.Count == 1 && sl.list[0] is empty_statement)) + //if (!(_case_node.else_statement is statement_list sl && sl.list.Count == 1 && sl.list[0] is empty_statement)) visit_node(_case_node.else_statement); //DecOffset(); } diff --git a/bin/Lib/Graph3D.pas b/bin/Lib/Graph3D.pas index 26cce52f1..f8fc3d7fe 100644 --- a/bin/Lib/Graph3D.pas +++ b/bin/Lib/Graph3D.pas @@ -2644,6 +2644,9 @@ function EmptyAnim(sec: real): EmptyAnimation; // ----------------------------------------------------- //>> Graph3D: функции для определения ближайших точек и объектов # Graph3D functions for nearest points and objects // ----------------------------------------------------- +/// Создаёт траекторию в виде массива точек, заданную параметрически. Функция fun отображает параметр t на координаты точки в пространстве +function ParametricTrajectory(a,b: real; N: integer; fun: real->Point3D): sequence of Point3D; + /// Возвращает ближайший 3D-объект, который пересекает луч, выпущенный из камеры и проходящий через точку (x,y) экрана function FindNearestObject(x, y: real): Object3D; @@ -3419,6 +3422,8 @@ function Triangle(p1, p2, p3: Point3D; m: Material): TriangleT := Inv(()->Triang // Функции для точек, лучей, прямых, плоскостей +function ParametricTrajectory(a,b: real; N: integer; fun: real->Point3D) := PartitionPoints(a,b,N).Select(fun); + function FindNearestObject(x, y: real): Object3D; begin Result := nil;