OnDrawFrame в WPFObjects
OnDrawFrame убрали из GraphWPF - там только BeginFrameBasedAnimationTime Правки в NumLibABC MatrSlice в PABCSystem.pas Версия 3.5.1 накопительная
This commit is contained in:
parent
bce9925230
commit
d17edbd8b4
|
|
@ -2156,17 +2156,24 @@ namespace PascalABCCompiler
|
||||||
if (InternalDebug.CodeGeneration)
|
if (InternalDebug.CodeGeneration)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
|
int n = 1;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
File.Create(CompilerOptions.OutputFileName).Close();
|
n = 2;
|
||||||
//File.Delete(CompilerOptions.OutputFileName);
|
var fs = File.Create(CompilerOptions.OutputFileName);
|
||||||
|
n = 3;
|
||||||
|
fs.Close();
|
||||||
|
n = 4;
|
||||||
|
///////File.Delete(CompilerOptions.OutputFileName);
|
||||||
string pdb_file_name=Path.ChangeExtension(CompilerOptions.OutputFileName, ".pdb");
|
string pdb_file_name=Path.ChangeExtension(CompilerOptions.OutputFileName, ".pdb");
|
||||||
if (File.Exists(pdb_file_name))
|
if (File.Exists(pdb_file_name))
|
||||||
File.Delete(pdb_file_name);
|
File.Delete(pdb_file_name);
|
||||||
|
n = 5;
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
throw new UnauthorizedAccessToFile(CompilerOptions.OutputFileName);
|
throw new UnauthorizedAccessToFile(CompilerOptions.OutputFileName + " -- " + n + " " + e.ToString());
|
||||||
|
//throw e;
|
||||||
}
|
}
|
||||||
OnChangeCompilerState(this, CompilerState.CodeGeneration, CompilerOptions.OutputFileName);
|
OnChangeCompilerState(this, CompilerState.CodeGeneration, CompilerOptions.OutputFileName);
|
||||||
string[] ResourceFilesArray = null;
|
string[] ResourceFilesArray = null;
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@ internal static class RevisionClass
|
||||||
{
|
{
|
||||||
public const string Major = "3";
|
public const string Major = "3";
|
||||||
public const string Minor = "5";
|
public const string Minor = "5";
|
||||||
public const string Build = "0";
|
public const string Build = "1";
|
||||||
public const string Revision = "2241";
|
public const string Revision = "2247";
|
||||||
|
|
||||||
public const string MainVersion = Major + "." + Minor;
|
public const string MainVersion = Major + "." + Minor;
|
||||||
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
public const string FullVersion = Major + "." + Minor + "." + Build + "." + Revision;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
%MINOR%=5
|
%MINOR%=5
|
||||||
%REVISION%=2241
|
%REVISION%=2247
|
||||||
%COREVERSION%=0
|
%COREVERSION%=1
|
||||||
%MAJOR%=3
|
%MAJOR%=3
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
<param name="Keyword" value="Fill">
|
<param name="Keyword" value="Fill">
|
||||||
<param name="Keyword" value="ForEach">
|
<param name="Keyword" value="ForEach">
|
||||||
<param name="Keyword" value="Indices">
|
<param name="Keyword" value="Indices">
|
||||||
|
<param name="Keyword" value="MatrSlice">
|
||||||
<param name="Keyword" value="Print">
|
<param name="Keyword" value="Print">
|
||||||
<param name="Keyword" value="Println">
|
<param name="Keyword" value="Println">
|
||||||
<param name="Keyword" value="Row">
|
<param name="Keyword" value="Row">
|
||||||
|
|
@ -49,6 +50,10 @@
|
||||||
<br> Ïðèìåíÿåò äåéñòâèå ê êàæäîìó ýëåìåíòó äâóìåðíîãî ìàññèâà</td></tr>
|
<br> Ïðèìåíÿåò äåéñòâèå ê êàæäîìó ýëåìåíòó äâóìåðíîãî ìàññèâà</td></tr>
|
||||||
<tr><td><code><b>function</b> Indices<T>(Self: <b>array</b> [,] <b>of</b> T; cond: T -> boolean): <b>sequence </b> <b>of</b> (integer, integer);</code>
|
<tr><td><code><b>function</b> Indices<T>(Self: <b>array</b> [,] <b>of</b> T; cond: T -> boolean): <b>sequence </b> <b>of</b> (integer, integer);</code>
|
||||||
<br> Âîçâðàùàåò ïî çàäàííîìó äâóìåðíîìó ìàññèâó ïîñëåäîâàòåëüíîñòü èíäåêñîâ ýëåìåíòîâ, óäîâëåòâîðÿþùèõ çàäàííîìó óñëîâèþ</td></tr>
|
<br> Âîçâðàùàåò ïî çàäàííîìó äâóìåðíîìó ìàññèâó ïîñëåäîâàòåëüíîñòü èíäåêñîâ ýëåìåíòîâ, óäîâëåòâîðÿþùèõ çàäàííîìó óñëîâèþ</td></tr>
|
||||||
|
<tr><td><code><b>function</b> MatrSlice<T>(Self: array[,] <b>of</b> T; RowIndex: <b>array</b> <b>of</b> integer; ColIndex: <b>array</b> <b>of</b> integer): array[,] <b>of</b> T;</code>
|
||||||
|
<br> Âîçâðàùàåò ñðåç äâóìåðíîãî ìàññèâà. RowIndex è ColIndex çàäàþò ñðåçàåìûå ñòðîêè è ñòîëáöû</td></tr>
|
||||||
|
<tr><td><code><b>function</b> MatrSlice<T>(Self: array[,] <b>of</b> T; FromRow, ToRow, FromCol, ToCol: integer): array[,] <b>of</b> T;</code>
|
||||||
|
<br> Âîçâðàùàåò ñðåç äâóìåðíîãî ìàññèâà ìåæäó ñòðîêàìè FromRow, ToRow è ñòîëáöàìè FromCol, ToCol</td></tr>
|
||||||
<tr><td><code><b>function</b> Print<T>(Self: <b>array</b> [,] <b>of</b> T; w: integer := 4): <b>array</b> [,] <b>of</b> T;</code>
|
<tr><td><code><b>function</b> Print<T>(Self: <b>array</b> [,] <b>of</b> T; w: integer := 4): <b>array</b> [,] <b>of</b> T;</code>
|
||||||
<br> Âûâîä äâóìåðíîãî ìàññèâà, w - øèðèíà ïîëÿ âûâîäà</td></tr>
|
<br> Âûâîä äâóìåðíîãî ìàññèâà, w - øèðèíà ïîëÿ âûâîäà</td></tr>
|
||||||
<tr><td><code><b>function</b> Print(Self: <b>array</b> [,] <b>of</b> real; w: integer := 7; f: integer := 2): <b>array</b> [,] <b>of</b> real;</code>
|
<tr><td><code><b>function</b> Print(Self: <b>array</b> [,] <b>of</b> real; w: integer := 7; f: integer := 2): <b>array</b> [,] <b>of</b> real;</code>
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -132,6 +132,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@
|
||||||
<param name="Keyword" value="MoveTo">
|
<param name="Keyword" value="MoveTo">
|
||||||
<param name="Keyword" value="Object3D">
|
<param name="Keyword" value="Object3D">
|
||||||
<param name="Keyword" value="Position">
|
<param name="Keyword" value="Position">
|
||||||
|
<param name="Keyword" value="PositionAfterTime">
|
||||||
<param name="Keyword" value="Rotate">
|
<param name="Keyword" value="Rotate">
|
||||||
<param name="Keyword" value="RotateAt">
|
<param name="Keyword" value="RotateAt">
|
||||||
<param name="Keyword" value="RotateAtAbsolute">
|
<param name="Keyword" value="RotateAtAbsolute">
|
||||||
|
|
@ -136,6 +137,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -136,6 +136,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -161,6 +161,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -148,6 +148,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -135,6 +135,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -142,6 +142,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -141,6 +141,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -146,6 +146,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -152,6 +152,8 @@
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå (xx,yy,zz)</td></tr>
|
||||||
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> MoveTo(p: Point3D): Object3D;</code>
|
||||||
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
<br> Ïåðåìåùàåò 3D-îáúåêò ê òî÷êå p</td></tr>
|
||||||
|
<tr><td><code><b>function</b> PositionAfterTime(dt: real): Point3D;</code>
|
||||||
|
<br> Áóäóùàÿ ïîçèöèÿ 3D-îáúåêòà ïî ïðîøåñòâèè âðåìåíè dt</td></tr>
|
||||||
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
<tr><td><code><b>function</b> Rotate(axis: Vector3D; angle: real): Object3D;</code>
|
||||||
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
<br> Ïîâîðà÷èâàåò îáúåêò íà óãîë angle âîêðóã îñè axis</td></tr>
|
||||||
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
<tr><td><code><b>function</b> RotateAt(axis: Vector3D; angle: real; center: Point3D): Object3D;</code>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||||
<param name="Keyword" value="BackgroundColor">
|
<param name="Keyword" value="BackgroundColor">
|
||||||
<param name="Keyword" value="CameraMode">
|
<param name="Keyword" value="CameraMode">
|
||||||
|
<param name="Keyword" value="HideAll">
|
||||||
<param name="Keyword" value="Save">
|
<param name="Keyword" value="Save">
|
||||||
<param name="Keyword" value="ShowCameraInfo">
|
<param name="Keyword" value="ShowCameraInfo">
|
||||||
<param name="Keyword" value="ShowCoordinateSystem">
|
<param name="Keyword" value="ShowCoordinateSystem">
|
||||||
|
|
@ -31,7 +32,9 @@
|
||||||
<br> Çàãîëîâîê ïðîñòðàíñòâà îòîáðàæåíèÿ</td></tr>
|
<br> Çàãîëîâîê ïðîñòðàíñòâà îòîáðàæåíèÿ</td></tr>
|
||||||
</tr><tr><td></td></tr><tr><td class="secttitle"><font style="font-size: 11pt">Ìåòîäû êëàññà View3DType</font></td></tr>
|
</tr><tr><td></td></tr><tr><td class="secttitle"><font style="font-size: 11pt">Ìåòîäû êëàññà View3DType</font></td></tr>
|
||||||
|
|
||||||
<tr><tr><td><code><b>procedure</b> Save(fname: string);</code>
|
<tr><tr><td><code><b>procedure</b> HideAll;</code>
|
||||||
|
<br> Íå îòîáðàæàòü êîîðäèíàòíóþ ñèñòåìó, êîîðäèíàòíóþ ñåòêó è ViewCube</td></tr>
|
||||||
|
<tr><td><code><b>procedure</b> Save(fname: string);</code>
|
||||||
<br> Ñîõðàíÿåò ñîäåðæèìîå 3d-îêíà â ôàéë</td></tr>
|
<br> Ñîõðàíÿåò ñîäåðæèìîå 3d-îêíà â ôàéë</td></tr>
|
||||||
</tr></table>
|
</tr></table>
|
||||||
</body></HTML>
|
</body></HTML>
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||||
<param name="Keyword" value="OnDrawFrame">
|
<param name="Keyword" value="OnDrawFrame">
|
||||||
<param name="Keyword" value="OnInit">
|
|
||||||
<param name="Keyword" value="OnKeyDown">
|
<param name="Keyword" value="OnKeyDown">
|
||||||
<param name="Keyword" value="OnKeyPress">
|
<param name="Keyword" value="OnKeyPress">
|
||||||
<param name="Keyword" value="OnKeyUp">
|
<param name="Keyword" value="OnKeyUp">
|
||||||
|
|
@ -11,8 +10,6 @@
|
||||||
</HEAD><body><H1>Ñîáûòèÿ ìîäóëÿ Graph3D</H1>
|
</HEAD><body><H1>Ñîáûòèÿ ìîäóëÿ Graph3D</H1>
|
||||||
<table border=0 cellpadding=5><tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
|
<table border=0 cellpadding=5><tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
|
||||||
<br> Ñîáûòèå ïåðåðèñîâêè ãðàôè÷åñêîãî 3D-îêíà.Èíèöèàëèçèðóåòñÿ ïðîöåäóðîé ñ âåùåñòâåííûì ïàðàìåòðîì dt - âðåìåíåì, ïðîøåäøèì ñ ìîìåíòà ïîñëåäíåãî îáíîâëåíèÿ ýêðàíà</td></tr>
|
<br> Ñîáûòèå ïåðåðèñîâêè ãðàôè÷åñêîãî 3D-îêíà.Èíèöèàëèçèðóåòñÿ ïðîöåäóðîé ñ âåùåñòâåííûì ïàðàìåòðîì dt - âðåìåíåì, ïðîøåäøèì ñ ìîìåíòà ïîñëåäíåãî îáíîâëåíèÿ ýêðàíà</td></tr>
|
||||||
<tr><td><code>OnInit: <b>procedure</b>;</code>
|
|
||||||
<br> Событие инициализации объектов графического окна. Используется чтобы объекты не прорисовывались до конца инициализации</td></tr>
|
|
||||||
<tr><td><code>OnKeyDown: <b>procedure</b>(k: Key);</code>
|
<tr><td><code>OnKeyDown: <b>procedure</b>(k: Key);</code>
|
||||||
<br> Ñîáûòèå íàæàòèÿ êëàâèøè</td></tr>
|
<br> Ñîáûòèå íàæàòèÿ êëàâèøè</td></tr>
|
||||||
<tr><td><code>OnKeyPress: <b>procedure</b>(ch: char);</code>
|
<tr><td><code>OnKeyPress: <b>procedure</b>(ch: char);</code>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@
|
||||||
<param name="Keyword" value="FindNearestObject">
|
<param name="Keyword" value="FindNearestObject">
|
||||||
<param name="Keyword" value="FindNearestObjectPoint">
|
<param name="Keyword" value="FindNearestObjectPoint">
|
||||||
<param name="Keyword" value="NearestPointOnLine">
|
<param name="Keyword" value="NearestPointOnLine">
|
||||||
|
<param name="Keyword" value="ParametricTrajectory">
|
||||||
<param name="Keyword" value="PointOnPlane"></object>
|
<param name="Keyword" value="PointOnPlane"></object>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
||||||
</HEAD><body><H1>Graph3D: функции для определения ближайших точек и объектов</H1>
|
</HEAD><body><H1>Graph3D: функции для определения ближайших точек и объектов</H1>
|
||||||
|
|
@ -17,6 +18,8 @@
|
||||||
<br> Возвращает точку на ближайшем 3D-объекте, который пересекает луч, выпущенный из камеры и проходящий через точку (x,y) экрана. Если пересечения нет, возвращается точка BadPoint</td></tr>
|
<br> Возвращает точку на ближайшем 3D-объекте, который пересекает луч, выпущенный из камеры и проходящий через точку (x,y) экрана. Если пересечения нет, возвращается точка BadPoint</td></tr>
|
||||||
<tr><td><code><b>function</b> NearestPointOnLine(Line: Ray3D; x, y: real): Point3D;</code>
|
<tr><td><code><b>function</b> NearestPointOnLine(Line: Ray3D; x, y: real): Point3D;</code>
|
||||||
<br> Возвращает ближайшую точку на линии Line с лучом, выпущенным из камеры и проходящем через точку (x,y) экрана</td></tr>
|
<br> Возвращает ближайшую точку на линии Line с лучом, выпущенным из камеры и проходящем через точку (x,y) экрана</td></tr>
|
||||||
|
<tr><td><code><b>function</b> ParametricTrajectory(a,b: real; N: integer; fun: real->Point3D): <b>sequence </b> <b>of</b> Point3D;</code>
|
||||||
|
<br> Ñîçäà¸ò òðàåêòîðèþ â âèäå ìàññèâà òî÷åê, çàäàííóþ ïàðàìåòðè÷åñêè. Ôóíêöèÿ fun îòîáðàæàåò ïàðàìåòð t íà êîîðäèíàòû òî÷êè â ïðîñòðàíñòâå</td></tr>
|
||||||
<tr><td><code><b>function</b> PointOnPlane(Plane: Plane3D; x, y: real): Point3D;</code>
|
<tr><td><code><b>function</b> PointOnPlane(Plane: Plane3D; x, y: real): Point3D;</code>
|
||||||
<br> Возвращает точку на плоскости Plane, которую пересекает невизуальный луч, выпущенный из камеры и проходящий через точку (x,y) экрана</td></tr>
|
<br> Возвращает точку на плоскости Plane, которую пересекает невизуальный луч, выпущенный из камеры и проходящий через точку (x,y) экрана</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,38 @@
|
||||||
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
<HTML><HEAD><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||||
<param name="Keyword" value="Âîçâðàùàåò"></object>
|
<param name="Keyword" value="ARGB">
|
||||||
|
<param name="Keyword" value="EmptyColor">
|
||||||
|
<param name="Keyword" value="GrayColor">
|
||||||
|
<param name="Keyword" value="P3D">
|
||||||
|
<param name="Keyword" value="Pnt">
|
||||||
|
<param name="Keyword" value="RandomColor">
|
||||||
|
<param name="Keyword" value="Rect">
|
||||||
|
<param name="Keyword" value="Redraw">
|
||||||
|
<param name="Keyword" value="RGB">
|
||||||
|
<param name="Keyword" value="Sz3D">
|
||||||
|
<param name="Keyword" value="V3D"></object>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
||||||
</HEAD><body><H1>Êîðîòêèå ôóíêöèè ìîäóëÿ Graph3D</H1>
|
</HEAD><body><H1>Êîðîòêèå ôóíêöèè ìîäóëÿ Graph3D</H1>
|
||||||
<table border=0 cellpadding=5><tr><td><code>/// Âîçâðàùàåò öâåò ïî êðàñíîé, çåëåíîé è ñèíåé ñîñòàâëÿþùåé (â äèàïàçîíå 0..255);</code>
|
<table border=0 cellpadding=5><tr><td><code><b>function</b> ARGB(a, r, g, b: byte): Color;</code>
|
||||||
<br> cedure Redraw(p: ()->());</td></tr>
|
<br> Âîçâðàùàåò öâåò ïî êðàñíîé, çåëåíîé è ñèíåé ñîñòàâëÿþùåé è ïàðàìåòðó ïðîçðà÷íîñòè (â äèàïàçîíå 0..255)</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò öâåò ïî êðàñíîé, çåëåíîé è ñèíåé ñîñòàâëÿþùåé è ïàðàìåòðó ïðîçðà÷íîñòè (â äèàïàçîíå 0..255);</code>
|
<tr><td><code><b>function</b> EmptyColor: Color;</code>
|
||||||
<br> ction RGB(r, g, b: byte): Color;</td></tr>
|
<br> Âîçâðàùàåò ïîëíîñòüþ ïðîçðà÷íûé öâåò</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò ñåðûé öâåò ñ èíòåíñèâíîñòüþ b;</code>
|
<tr><td><code><b>function</b> GrayColor(b: byte): Color;</code>
|
||||||
<br> ction ARGB(a, r, g, b: byte): Color;</td></tr>
|
<br> Âîçâðàùàåò ñåðûé öâåò ñ èíòåíñèâíîñòüþ b</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò ñëó÷àéíûé öâåò;</code>
|
<tr><td><code><b>function</b> P3D(x, y, z: real): Point3D;</code>
|
||||||
<br> ction GrayColor(b: byte): Color;</td></tr>
|
<br> Âîçâðàùàåò 3D-òî÷êó ñ êîîðäèíàòàìè (x,y,z)</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò ïîëíîñòüþ ïðîçðà÷íûé öâåò;</code>
|
<tr><td><code><b>function</b> Pnt(x, y: real): Point;</code>
|
||||||
<br> ction RandomColor: Color;</td></tr>
|
<br> Âîçâðàùàåò òî÷êó ñ êîîðäèíàòàìè (x,y)</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò òî÷êó ñ êîîðäèíàòàìè (x,y);</code>
|
<tr><td><code><b>function</b> RandomColor: Color;</code>
|
||||||
<br> ction EmptyColor: Color;</td></tr>
|
<br> Âîçâðàùàåò ñëó÷àéíûé öâåò</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò ïðÿìîóãîëüíèê ñ êîîðäèíàòàìè óãëà (x,y), øèðèíîé w è âûñîòîé h;</code>
|
<tr><td><code><b>function</b> Rect(x, y, w, h: real): GRect;</code>
|
||||||
<br> ction Pnt(x, y: real): Point;</td></tr>
|
<br> Âîçâðàùàåò ïðÿìîóãîëüíèê ñ êîîðäèíàòàìè óãëà (x,y), øèðèíîé w è âûñîòîé h</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò 3D-òî÷êó ñ êîîðäèíàòàìè (x,y,z);</code>
|
<tr><td><code><b>procedure</b> Redraw(p: ()->());</code>
|
||||||
<br> ction Rect(x, y, w, h: real): GRect;</td></tr>
|
<br> Ïðîöåäóðà óñêîðåíèÿ âûâîäà. Îáíîâëÿåò ýêðàí ïîñëå âñåõ èçìåíåíèé</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò 3D-âåêòîð ñ êîîðäèíàòàìè (x,y,z);</code>
|
<tr><td><code><b>function</b> RGB(r, g, b: byte): Color;</code>
|
||||||
<br> ction P3D(x, y, z: real): Point3D;</td></tr>
|
<br> Âîçâðàùàåò öâåò ïî êðàñíîé, çåëåíîé è ñèíåé ñîñòàâëÿþùåé (â äèàïàçîíå 0..255)</td></tr>
|
||||||
<tr><td><code>/// Âîçâðàùàåò 3D-ðàçìåð ñ êîîðäèíàòàìè (x,y,z);</code>
|
<tr><td><code><b>function</b> Sz3D(x, y, z: real): Size3D;</code>
|
||||||
<br> ction V3D(x, y, z: real): Vector3D;</td></tr>
|
<br> Âîçâðàùàåò 3D-ðàçìåð ñ êîîðäèíàòàìè (x,y,z)</td></tr>
|
||||||
|
<tr><td><code><b>function</b> V3D(x, y, z: real): Vector3D;</code>
|
||||||
|
<br> Âîçâðàùàåò 3D-âåêòîð ñ êîîðäèíàòàìè (x,y,z)</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</body></HTML>
|
</body></HTML>
|
||||||
|
|
@ -15,7 +15,8 @@
|
||||||
<param name="Keyword" value="Window">
|
<param name="Keyword" value="Window">
|
||||||
<param name="Keyword" value="XAxis">
|
<param name="Keyword" value="XAxis">
|
||||||
<param name="Keyword" value="YAxis">
|
<param name="Keyword" value="YAxis">
|
||||||
<param name="Keyword" value="ZAxis"></object>
|
<param name="Keyword" value="ZAxis">
|
||||||
|
<param name="Keyword" value="ZeroVector"></object>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><link rel="StyleSheet" href="../../../default.css">
|
||||||
</HEAD><body><H1>Ïåðåìåííûå ìîäóëÿ Graph3D</H1>
|
</HEAD><body><H1>Ïåðåìåííûå ìîäóëÿ Graph3D</H1>
|
||||||
<table border=0 cellpadding=5><tr><td><code>BadPoint: Point3D;</code>
|
<table border=0 cellpadding=5><tr><td><code>BadPoint: Point3D;</code>
|
||||||
|
|
@ -52,5 +53,7 @@
|
||||||
<br> Îñü OY</td></tr>
|
<br> Îñü OY</td></tr>
|
||||||
<tr><td><code>ZAxis: Ray3D;</code>
|
<tr><td><code>ZAxis: Ray3D;</code>
|
||||||
<br> Îñü OZ</td></tr>
|
<br> Îñü OZ</td></tr>
|
||||||
|
<tr><td><code>ZeroVector: Vector3D;</code>
|
||||||
|
<br> Íóëåâîé âåêòîð</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</body></HTML>
|
</body></HTML>
|
||||||
|
|
@ -24,6 +24,6 @@
|
||||||
<tr><td><code>OnResize: <b>procedure</b>;</code>
|
<tr><td><code>OnResize: <b>procedure</b>;</code>
|
||||||
<br> Ńîáűňčĺ čçěĺíĺíč˙ đŕçěĺđŕ ăđŕôč÷ĺńęîăî îęíŕ</td></tr>
|
<br> Ńîáűňčĺ čçěĺíĺíč˙ đŕçěĺđŕ ăđŕôč÷ĺńęîăî îęíŕ</td></tr>
|
||||||
<tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
|
<tr><td><code>OnDrawFrame: <b>procedure</b>(dt: real);</code>
|
||||||
<br> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD></td></tr>
|
<br> Событие перерисовки графического окна.Инициализируется процедурой с вещественным параметром dt - временем, прошедшим с момента последнего обновления экрана</td></tr>
|
||||||
</table>
|
</table>
|
||||||
</body></HTML>
|
</body></HTML>
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
<tr><td><code><b>function</b> Rect(x,y,w,h: real): GRect;</code>
|
<tr><td><code><b>function</b> Rect(x,y,w,h: real): GRect;</code>
|
||||||
<br> Âîçâðàùàåò ïðÿìîóãîëüíèê ñ êîîðäèíàòàìè óãëà (x,y), øèðèíîé w è âûñîòîé h</td></tr>
|
<br> Âîçâðàùàåò ïðÿìîóãîëüíèê ñ êîîðäèíàòàìè óãëà (x,y), øèðèíîé w è âûñîòîé h</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Redraw(d: ()->());</code>
|
<tr><td><code><b>procedure</b> Redraw(d: ()->());</code>
|
||||||
<br> Процедура ускорения вывода нескольких графических команд</td></tr>
|
<br> Процедура ускорения вывода. Обновляет экран после всех изменений</td></tr>
|
||||||
<tr><td><code><b>function</b> RGB(r,g,b: byte): Color;</code>
|
<tr><td><code><b>function</b> RGB(r,g,b: byte): Color;</code>
|
||||||
<br> Âîçâðàùàåò öâåò ïî êðàñíîé, çåëåíîé è ñèíåé ñîñòàâëÿþùåé (â äèàïàçîíå 0..255)</td></tr>
|
<br> Âîçâðàùàåò öâåò ïî êðàñíîé, çåëåíîé è ñèíåé ñîñòàâëÿþùåé (â äèàïàçîíå 0..255)</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
<tr><td><code><b>function</b> Rect(x,y,w,h: real): GRect;</code>
|
<tr><td><code><b>function</b> Rect(x,y,w,h: real): GRect;</code>
|
||||||
<br> Âîçâðàùàåò ïðÿìîóãîëüíèê ñ êîîðäèíàòàìè óãëà (x,y), øèðèíîé w è âûñîòîé h</td></tr>
|
<br> Âîçâðàùàåò ïðÿìîóãîëüíèê ñ êîîðäèíàòàìè óãëà (x,y), øèðèíîé w è âûñîòîé h</td></tr>
|
||||||
<tr><td><code><b>procedure</b> Redraw(p: ()->());</code>
|
<tr><td><code><b>procedure</b> Redraw(p: ()->());</code>
|
||||||
<br> Процедура ускорения вывода нескольких графических команд</td></tr>
|
<br> Процедура ускорения вывода. Обновляет экран после всех изменений</td></tr>
|
||||||
<tr><td><code><b>function</b> RGB(r,g,b: byte): Color;</code>
|
<tr><td><code><b>function</b> RGB(r,g,b: byte): Color;</code>
|
||||||
<br> Âîçâðàùàåò öâåò ïî êðàñíîé, çåëåíîé è ñèíåé ñîñòàâëÿþùåé (â äèàïàçîíå 0..255)</td></tr>
|
<br> Âîçâðàùàåò öâåò ïî êðàñíîé, çåëåíîé è ñèíåé ñîñòàâëÿþùåé (â äèàïàçîíå 0..255)</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
3.5.0.2241
|
3.5.1.2247
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
!define VERSION '3.5.0.2241'
|
!define VERSION '3.5.1.2247'
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
unit NumLibABC;
|
unit NumLibABC;
|
||||||
|
|
||||||
const &NumLibABCVersion = 'NumLibABC 1.0.0 от 06.09.2017';
|
const &NumLibABCVersion = 'NumLibABC 1.0.1 от 14.09.2019';
|
||||||
|
// предыдущая версия 1.0.0 от 06.09.2017
|
||||||
|
|
||||||
type
|
type
|
||||||
Point=auto class
|
Point=auto class
|
||||||
|
|
@ -658,7 +659,7 @@ type
|
||||||
|
|
||||||
/// Выбор результатов по лучшим из p проб, сделанных BPHS
|
/// Выбор результатов по лучшим из p проб, сделанных BPHS
|
||||||
function BestP(a,b:array of real;
|
function BestP(a,b:array of real;
|
||||||
eps:real;
|
eps:real:=0.01; //- версия 1.0.1
|
||||||
p:integer:=10;
|
p:integer:=10;
|
||||||
k:integer:=100;
|
k:integer:=100;
|
||||||
m:integer:=1000):List<(real,array of real)>;
|
m:integer:=1000):List<(real,array of real)>;
|
||||||
|
|
@ -716,10 +717,13 @@ type
|
||||||
end;
|
end;
|
||||||
|
|
||||||
/// НОД пары чисел
|
/// НОД пары чисел
|
||||||
class function GCD(a,b:BigInteger):BigInteger;
|
class function GCD(a, b: BigInteger): BigInteger;
|
||||||
begin
|
begin
|
||||||
while b<>0 do (a,b):=(b,a mod b);
|
if a < 0 then
|
||||||
Result:=a
|
a := -a;
|
||||||
|
while b <> 0 do
|
||||||
|
(a, b) := (b, a mod b);
|
||||||
|
Result := a
|
||||||
end;
|
end;
|
||||||
|
|
||||||
public
|
public
|
||||||
|
|
|
||||||
|
|
@ -6,45 +6,23 @@
|
||||||
// https://github.com/SunSerega/POCGL/blob/master/LICENSE
|
// https://github.com/SunSerega/POCGL/blob/master/LICENSE
|
||||||
//*****************************************************************************************************\\
|
//*****************************************************************************************************\\
|
||||||
// Copyright (©) Сергей Латченко ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega )
|
// Copyright (©) Сергей Латченко ( github.com/SunSerega | forum.mmcs.sfedu.ru/u/sun_serega )
|
||||||
// Этот код распространяется под Unlicense
|
// Этот код распространяется с лицензией Unlicense
|
||||||
// Для деталей смотрите в файл LICENSE или это:
|
// Подробнее в файле LICENSE или тут:
|
||||||
// https://github.com/SunSerega/POCGL/blob/master/LICENSE
|
// https://github.com/SunSerega/POCGL/blob/master/LICENSE
|
||||||
//*****************************************************************************************************\\
|
//*****************************************************************************************************\\
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Код переведён отсюда:
|
///Код переведён отсюда:
|
||||||
/// https://github.com/KhronosGroup/OpenCL-Headers/tree/master/CL
|
/// https://github.com/KhronosGroup/OpenCL-Headers/tree/master/CL
|
||||||
///
|
///
|
||||||
/// Спецификация:
|
///Спецификации всех версий:
|
||||||
/// www.khronos.org/registry/OpenCL/specs/2.2/html/OpenCL_API.html
|
/// https://www.khronos.org/registry/OpenCL/
|
||||||
///
|
///
|
||||||
/// Для замечаний:
|
///Если не хватает функции, перечисления, или найдена ошибка - писать сюда:
|
||||||
/// https://github.com/SunSerega/POCGL/issues
|
/// https://github.com/SunSerega/POCGL/issues
|
||||||
///
|
///
|
||||||
unit OpenCL;
|
unit OpenCL;
|
||||||
|
|
||||||
//ToDo ^T -> pointer
|
|
||||||
|
|
||||||
//ToDo расширения, с которыми непонятно что делать:
|
|
||||||
//
|
|
||||||
// - cl_ext.h
|
|
||||||
// -- cl_qcom_ext_host_ptr
|
|
||||||
// -- cl_qcom_ext_host_ptr_iocoherent
|
|
||||||
// -- cl_qcom_ion_host_ptr
|
|
||||||
// -- cl_qcom_android_native_buffer_host_ptr
|
|
||||||
// -- cl_img_yuv_image
|
|
||||||
//
|
|
||||||
// - cl_d3d11.h
|
|
||||||
// -- нет функций, есть только Enums и коды ошибок
|
|
||||||
//
|
|
||||||
// - cl_platform.h
|
|
||||||
// -- есть только описание типов и констант, которые нигде не используются
|
|
||||||
|
|
||||||
//ToDo .h файлы, которые осталось перевести:
|
|
||||||
// - cl_ext_intel
|
|
||||||
// - cl_va_api_media_sharing_intel
|
|
||||||
// - cl_dx9_media_sharing_intel
|
|
||||||
|
|
||||||
uses System;
|
uses System;
|
||||||
uses System.Runtime.InteropServices;
|
uses System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
|
@ -62,7 +40,7 @@ type
|
||||||
cl_event = IntPtr;
|
cl_event = IntPtr;
|
||||||
cl_sampler = IntPtr;
|
cl_sampler = IntPtr;
|
||||||
|
|
||||||
///0=false, остальное=true
|
///0 = false, остальное = true
|
||||||
cl_bool = UInt32;
|
cl_bool = UInt32;
|
||||||
cl_bitfield = UInt64;
|
cl_bitfield = UInt64;
|
||||||
|
|
||||||
|
|
@ -76,7 +54,7 @@ type
|
||||||
|
|
||||||
{$endregion Основные типы}
|
{$endregion Основные типы}
|
||||||
|
|
||||||
{$region Энумы} type
|
{$region Перечисления} type
|
||||||
|
|
||||||
{$region case Result of}
|
{$region case Result of}
|
||||||
|
|
||||||
|
|
@ -1408,7 +1386,7 @@ type
|
||||||
|
|
||||||
{$endregion Флаги}
|
{$endregion Флаги}
|
||||||
|
|
||||||
{$endregion Энумы}
|
{$endregion Перечисления}
|
||||||
|
|
||||||
{$region Делегаты}
|
{$region Делегаты}
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,4 +1,8 @@
|
||||||
unit OpenGLABC;
|
|
||||||
|
///
|
||||||
|
///Модуль, зарезервированный для высокоуровневой оболочки модуля OpenGL
|
||||||
|
///
|
||||||
|
unit OpenGLABC;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,9 @@ end;
|
||||||
function CreateFile<T>(fname: string): file of T;
|
function CreateFile<T>(fname: string): file of T;
|
||||||
begin
|
begin
|
||||||
if ContainsReferenceTypes(typeof(T)) then
|
if ContainsReferenceTypes(typeof(T)) then
|
||||||
|
begin
|
||||||
raise new System.SystemException(GetTranslation(BAD_TYPE_IN_TYPED_FILE));
|
raise new System.SystemException(GetTranslation(BAD_TYPE_IN_TYPED_FILE));
|
||||||
|
end;
|
||||||
var res: file of T;
|
var res: file of T;
|
||||||
PABCSystem.Rewrite(res, fname);
|
PABCSystem.Rewrite(res, fname);
|
||||||
Result := res;
|
Result := res;
|
||||||
|
|
|
||||||
|
|
@ -2358,7 +2358,7 @@ const
|
||||||
EOLN_FOR_TEXT_WRITEOPENED = 'Функция Eoln не может быть вызвана для текстового файла, открытого на запись!!Eoln function can''t be called for file, opened on writing';
|
EOLN_FOR_TEXT_WRITEOPENED = 'Функция Eoln не может быть вызвана для текстового файла, открытого на запись!!Eoln function can''t be called for file, opened on writing';
|
||||||
SEEKEOF_FOR_TEXT_WRITEOPENED = 'Функция SeekEof не может быть вызвана для текстового файла, открытого на запись!!SeekEof function can''t be called for file, opened on writing';
|
SEEKEOF_FOR_TEXT_WRITEOPENED = 'Функция SeekEof не может быть вызвана для текстового файла, открытого на запись!!SeekEof function can''t be called for file, opened on writing';
|
||||||
SEEKEOLN_FOR_TEXT_WRITEOPENED = 'Функция SeekEoln не может быть вызвана для текстового файла, открытого на запись!!SeekEoln function can''t be called for file, opened on writing';
|
SEEKEOLN_FOR_TEXT_WRITEOPENED = 'Функция SeekEoln не может быть вызвана для текстового файла, открытого на запись!!SeekEoln function can''t be called for file, opened on writing';
|
||||||
BAD_TYPE_IN_RUNTIMESIZEOF = 'Bad Type in RunTimeSizeOf';
|
BAD_TYPE_IN_RUNTIMESIZEOF = 'Для типизированных файлов нельзя указывать тип элементов, являющийся ссылочным или содержащий ссылочные поля!!Bad Type in RunTimeSizeOf';
|
||||||
PARAMETER_MUST_BE_GREATER_EQUAL_0 = 'Параметр должен быть >= 0!!Parameter must be >= 0';
|
PARAMETER_MUST_BE_GREATER_EQUAL_0 = 'Параметр должен быть >= 0!!Parameter must be >= 0';
|
||||||
PARAMETER_MUST_BE_GREATER_0 = 'Параметр должен быть > 0!!Parameter must be > 0';
|
PARAMETER_MUST_BE_GREATER_0 = 'Параметр должен быть > 0!!Parameter must be > 0';
|
||||||
PARAMETER_MUST_BE_GREATER_1 = 'Параметр должен быть > 1!!Parameter must be > 1';
|
PARAMETER_MUST_BE_GREATER_1 = 'Параметр должен быть > 1!!Parameter must be > 1';
|
||||||
|
|
@ -2369,6 +2369,12 @@ const
|
||||||
ARR_LENGTH_MUST_BE_MATCH_TO_MATR_SIZE = 'Размер одномерного массива не согласован с размером двумерного массива!!The 1-dim array length does not match 2-dim array size';
|
ARR_LENGTH_MUST_BE_MATCH_TO_MATR_SIZE = 'Размер одномерного массива не согласован с размером двумерного массива!!The 1-dim array length does not match 2-dim array size';
|
||||||
INITELEM_COUNT_MUST_BE_EQUAL_TO_MATRIX_ELEMS_COUNT = 'Количество инициализирующих элементов не совпадает с количеством элементов матрицы!!The number of elements in init list must be equal to the number of elements in matrix';
|
INITELEM_COUNT_MUST_BE_EQUAL_TO_MATRIX_ELEMS_COUNT = 'Количество инициализирующих элементов не совпадает с количеством элементов матрицы!!The number of elements in init list must be equal to the number of elements in matrix';
|
||||||
TYPED_FILE_CANBE_OPENED_IN_SINGLEBYTE_ENCODING_ONLY = 'При открытии типизированного файла можно указывать только однобайтную кодировку!!Typed file can be opened in single byte encoding only';
|
TYPED_FILE_CANBE_OPENED_IN_SINGLEBYTE_ENCODING_ONLY = 'При открытии типизированного файла можно указывать только однобайтную кодировку!!Typed file can be opened in single byte encoding only';
|
||||||
|
BAD_ROW_INDEX = 'Один из элементов массива RowIndex выходит за пределы индексов строк двумерного массива!!One of the elements of RowIndex array is out of range of 2-dim array row indexes';
|
||||||
|
BAD_COL_INDEX = 'Один из элементов массива ColIndex выходит за пределы индексов столбцов двумерного массива!!One of the elements of ColIndex array is out of range of 2-dim array column indexes';
|
||||||
|
BAD_ROW_INDEX_FROM = 'FromRow выходит за пределы индексов строк двумерного массива!!FromRow is out of range of 2-dim array row indexes';
|
||||||
|
BAD_ROW_INDEX_TO = 'ToRow выходит за пределы индексов строк двумерного массива!!ToRow is out of range of 2-dim array row indexes';
|
||||||
|
BAD_COL_INDEX_FROM = 'FromCol выходит за пределы индексов строк двумерного массива!!FromCol is out of range of 2-dim array column indexes';
|
||||||
|
BAD_COL_INDEX_TO = 'ToCol выходит за пределы индексов строк двумерного массива!!ToCol is out of range of 2-dim array column indexes';
|
||||||
|
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
// WINAPI
|
// WINAPI
|
||||||
|
|
@ -9923,6 +9929,61 @@ begin
|
||||||
act(Self[i, j],i,j);
|
act(Self[i, j],i,j);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function InR(Self: integer; a,b: integer): boolean;
|
||||||
|
begin
|
||||||
|
Result := (a <= Self) and (Self <= b);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
/// Возвращает срез двумерного массива. RowIndex и ColIndex задают срезаемые строки и столбцы
|
||||||
|
function MatrSlice<T>(Self: array[,] of T; RowIndex: array of integer; ColIndex: array of integer): array[,] of T; extensionmethod;
|
||||||
|
begin
|
||||||
|
if RowIndex = nil then
|
||||||
|
raise new System.ArgumentNullException('RowIndex');
|
||||||
|
if ColIndex = nil then
|
||||||
|
raise new System.ArgumentNullException('ColIndex');
|
||||||
|
if RowIndex.Any(i->not InR(i,0,Self.RowCount-1)) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_ROW_INDEX),new Exception);
|
||||||
|
if ColIndex.Any(i->not InR(i,0,Self.ColCount-1)) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_COL_INDEX),new Exception);
|
||||||
|
Result := new T[RowIndex.Length, ColIndex.Length];
|
||||||
|
var r := 0;
|
||||||
|
foreach var ir in RowIndex do
|
||||||
|
begin
|
||||||
|
var c := 0;
|
||||||
|
foreach var jc in ColIndex do
|
||||||
|
begin
|
||||||
|
Result[r, c] := Self[ir, jc];
|
||||||
|
c += 1;
|
||||||
|
end;
|
||||||
|
r += 1;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
|
/// Возвращает срез двумерного массива между строками FromRow, ToRow и столбцами FromCol, ToCol
|
||||||
|
function MatrSlice<T>(Self: array[,] of T; FromRow, ToRow, FromCol, ToCol: integer): array[,] of T; extensionmethod;
|
||||||
|
begin
|
||||||
|
if not InR(FromRow,0,Self.RowCount-1) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_ROW_INDEX_FROM),new Exception);
|
||||||
|
if not InR(ToRow,0,Self.RowCount-1) then raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_ROW_INDEX_TO),new Exception);
|
||||||
|
if not InR(FromCol,0,Self.ColCount-1) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_COL_INDEX_FROM),new Exception);
|
||||||
|
if not InR(ToCol,0,Self.ColCount-1) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_COL_INDEX_TO),new Exception);
|
||||||
|
Result := new T[ToRow-FromRow+1, ToCol-FromCol+1];
|
||||||
|
var r := 0;
|
||||||
|
for var ir:=FromRow to ToRow do
|
||||||
|
begin
|
||||||
|
var c := 0;
|
||||||
|
for var jc:=FromCol to ToCol do
|
||||||
|
begin
|
||||||
|
Result[r, c] := Self[ir, jc];
|
||||||
|
c += 1;
|
||||||
|
end;
|
||||||
|
r += 1;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
//>> Фиктивная секция YYY - не удалять! # YYY
|
//>> Фиктивная секция YYY - не удалять! # YYY
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -483,9 +483,6 @@ var OnKeyUp: procedure(k: Key);
|
||||||
var OnKeyPress: procedure(ch: char);
|
var OnKeyPress: procedure(ch: char);
|
||||||
/// Событие изменения размера графического окна
|
/// Событие изменения размера графического окна
|
||||||
var OnResize: procedure;
|
var OnResize: procedure;
|
||||||
/// Событие перерисовки графического окна.
|
|
||||||
///Инициализируется процедурой с вещественным параметром dt - временем, прошедшим с момента последнего обновления экрана
|
|
||||||
var OnDrawFrame: procedure(dt: real) := nil;
|
|
||||||
|
|
||||||
//{{{--doc: Конец секции 3 }}}
|
//{{{--doc: Конец секции 3 }}}
|
||||||
|
|
||||||
|
|
@ -1569,6 +1566,7 @@ procedure SystemOnResize(sender: Object; e: SizeChangedEventArgs) :=
|
||||||
|
|
||||||
var OnDraw: procedure := nil;
|
var OnDraw: procedure := nil;
|
||||||
var OnDraw1: procedure(frame: integer) := nil;
|
var OnDraw1: procedure(frame: integer) := nil;
|
||||||
|
var OnDrawT: procedure(dt: real) := nil;
|
||||||
|
|
||||||
var FrameRate := 61; // кадров в секунду. Можно меньше!
|
var FrameRate := 61; // кадров в секунду. Можно меньше!
|
||||||
var LastUpdatedTime := new System.TimeSpan(integer.MinValue);
|
var LastUpdatedTime := new System.TimeSpan(integer.MinValue);
|
||||||
|
|
@ -1577,12 +1575,12 @@ var FrameNum := 0;
|
||||||
|
|
||||||
procedure RenderFrame(o: Object; e: System.EventArgs);
|
procedure RenderFrame(o: Object; e: System.EventArgs);
|
||||||
begin
|
begin
|
||||||
if (OnDraw<>nil) or (OnDraw1<>nil) or (OnDrawFrame<>nil) then
|
if (OnDraw<>nil) or (OnDraw1<>nil) or (OnDrawT<>nil) then
|
||||||
begin
|
begin
|
||||||
var e1 := RenderingEventArgs(e).RenderingTime;
|
var e1 := RenderingEventArgs(e).RenderingTime;
|
||||||
var dt := e1 - LastUpdatedTime;
|
var dt := e1 - LastUpdatedTime;
|
||||||
var delta := 1000/Framerate; // через какое время обновлять
|
var delta := 1000/Framerate; // через какое время обновлять
|
||||||
if OnDrawFrame<>nil then
|
if OnDrawT<>nil then
|
||||||
delta := 0; // перерисовывать когда придёт время
|
delta := 0; // перерисовывать когда придёт время
|
||||||
if dt.TotalMilliseconds < delta then
|
if dt.TotalMilliseconds < delta then
|
||||||
exit
|
exit
|
||||||
|
|
@ -1593,8 +1591,8 @@ begin
|
||||||
OnDraw()
|
OnDraw()
|
||||||
else if OnDraw1<>nil then
|
else if OnDraw1<>nil then
|
||||||
OnDraw1(FrameNum)
|
OnDraw1(FrameNum)
|
||||||
else if OnDrawFrame<>nil then
|
else if OnDrawT<>nil then
|
||||||
OnDrawFrame(dt.Milliseconds/1000);
|
OnDrawT(dt.Milliseconds/1000);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -1616,7 +1614,7 @@ end;
|
||||||
|
|
||||||
procedure BeginFrameBasedAnimationTime(Draw: procedure(dt: real));
|
procedure BeginFrameBasedAnimationTime(Draw: procedure(dt: real));
|
||||||
begin
|
begin
|
||||||
OnDrawFrame := Draw;
|
OnDrawT := Draw;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure EndFrameBasedAnimation;
|
procedure EndFrameBasedAnimation;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
unit NumLibABC;
|
unit NumLibABC;
|
||||||
|
|
||||||
const &NumLibABCVersion = 'NumLibABC 1.0.0 от 06.09.2017';
|
const &NumLibABCVersion = 'NumLibABC 1.0.1 от 14.09.2019';
|
||||||
|
// предыдущая версия 1.0.0 от 06.09.2017
|
||||||
|
|
||||||
type
|
type
|
||||||
Point=auto class
|
Point=auto class
|
||||||
|
|
@ -658,7 +659,7 @@ type
|
||||||
|
|
||||||
/// Выбор результатов по лучшим из p проб, сделанных BPHS
|
/// Выбор результатов по лучшим из p проб, сделанных BPHS
|
||||||
function BestP(a,b:array of real;
|
function BestP(a,b:array of real;
|
||||||
eps:real;
|
eps:real:=0.01; //- версия 1.0.1
|
||||||
p:integer:=10;
|
p:integer:=10;
|
||||||
k:integer:=100;
|
k:integer:=100;
|
||||||
m:integer:=1000):List<(real,array of real)>;
|
m:integer:=1000):List<(real,array of real)>;
|
||||||
|
|
@ -716,10 +717,13 @@ type
|
||||||
end;
|
end;
|
||||||
|
|
||||||
/// НОД пары чисел
|
/// НОД пары чисел
|
||||||
class function GCD(a,b:BigInteger):BigInteger;
|
class function GCD(a, b: BigInteger): BigInteger;
|
||||||
begin
|
begin
|
||||||
while b<>0 do (a,b):=(b,a mod b);
|
if a < 0 then
|
||||||
Result:=a
|
a := -a;
|
||||||
|
while b <> 0 do
|
||||||
|
(a, b) := (b, a mod b);
|
||||||
|
Result := a
|
||||||
end;
|
end;
|
||||||
|
|
||||||
public
|
public
|
||||||
|
|
|
||||||
|
|
@ -81,7 +81,9 @@ end;
|
||||||
function CreateFile<T>(fname: string): file of T;
|
function CreateFile<T>(fname: string): file of T;
|
||||||
begin
|
begin
|
||||||
if ContainsReferenceTypes(typeof(T)) then
|
if ContainsReferenceTypes(typeof(T)) then
|
||||||
|
begin
|
||||||
raise new System.SystemException(GetTranslation(BAD_TYPE_IN_TYPED_FILE));
|
raise new System.SystemException(GetTranslation(BAD_TYPE_IN_TYPED_FILE));
|
||||||
|
end;
|
||||||
var res: file of T;
|
var res: file of T;
|
||||||
PABCSystem.Rewrite(res, fname);
|
PABCSystem.Rewrite(res, fname);
|
||||||
Result := res;
|
Result := res;
|
||||||
|
|
|
||||||
|
|
@ -2358,7 +2358,7 @@ const
|
||||||
EOLN_FOR_TEXT_WRITEOPENED = 'Функция Eoln не может быть вызвана для текстового файла, открытого на запись!!Eoln function can''t be called for file, opened on writing';
|
EOLN_FOR_TEXT_WRITEOPENED = 'Функция Eoln не может быть вызвана для текстового файла, открытого на запись!!Eoln function can''t be called for file, opened on writing';
|
||||||
SEEKEOF_FOR_TEXT_WRITEOPENED = 'Функция SeekEof не может быть вызвана для текстового файла, открытого на запись!!SeekEof function can''t be called for file, opened on writing';
|
SEEKEOF_FOR_TEXT_WRITEOPENED = 'Функция SeekEof не может быть вызвана для текстового файла, открытого на запись!!SeekEof function can''t be called for file, opened on writing';
|
||||||
SEEKEOLN_FOR_TEXT_WRITEOPENED = 'Функция SeekEoln не может быть вызвана для текстового файла, открытого на запись!!SeekEoln function can''t be called for file, opened on writing';
|
SEEKEOLN_FOR_TEXT_WRITEOPENED = 'Функция SeekEoln не может быть вызвана для текстового файла, открытого на запись!!SeekEoln function can''t be called for file, opened on writing';
|
||||||
BAD_TYPE_IN_RUNTIMESIZEOF = 'Bad Type in RunTimeSizeOf';
|
BAD_TYPE_IN_RUNTIMESIZEOF = 'Для типизированных файлов нельзя указывать тип элементов, являющийся ссылочным или содержащий ссылочные поля!!Bad Type in RunTimeSizeOf';
|
||||||
PARAMETER_MUST_BE_GREATER_EQUAL_0 = 'Параметр должен быть >= 0!!Parameter must be >= 0';
|
PARAMETER_MUST_BE_GREATER_EQUAL_0 = 'Параметр должен быть >= 0!!Parameter must be >= 0';
|
||||||
PARAMETER_MUST_BE_GREATER_0 = 'Параметр должен быть > 0!!Parameter must be > 0';
|
PARAMETER_MUST_BE_GREATER_0 = 'Параметр должен быть > 0!!Parameter must be > 0';
|
||||||
PARAMETER_MUST_BE_GREATER_1 = 'Параметр должен быть > 1!!Parameter must be > 1';
|
PARAMETER_MUST_BE_GREATER_1 = 'Параметр должен быть > 1!!Parameter must be > 1';
|
||||||
|
|
@ -2369,6 +2369,12 @@ const
|
||||||
ARR_LENGTH_MUST_BE_MATCH_TO_MATR_SIZE = 'Размер одномерного массива не согласован с размером двумерного массива!!The 1-dim array length does not match 2-dim array size';
|
ARR_LENGTH_MUST_BE_MATCH_TO_MATR_SIZE = 'Размер одномерного массива не согласован с размером двумерного массива!!The 1-dim array length does not match 2-dim array size';
|
||||||
INITELEM_COUNT_MUST_BE_EQUAL_TO_MATRIX_ELEMS_COUNT = 'Количество инициализирующих элементов не совпадает с количеством элементов матрицы!!The number of elements in init list must be equal to the number of elements in matrix';
|
INITELEM_COUNT_MUST_BE_EQUAL_TO_MATRIX_ELEMS_COUNT = 'Количество инициализирующих элементов не совпадает с количеством элементов матрицы!!The number of elements in init list must be equal to the number of elements in matrix';
|
||||||
TYPED_FILE_CANBE_OPENED_IN_SINGLEBYTE_ENCODING_ONLY = 'При открытии типизированного файла можно указывать только однобайтную кодировку!!Typed file can be opened in single byte encoding only';
|
TYPED_FILE_CANBE_OPENED_IN_SINGLEBYTE_ENCODING_ONLY = 'При открытии типизированного файла можно указывать только однобайтную кодировку!!Typed file can be opened in single byte encoding only';
|
||||||
|
BAD_ROW_INDEX = 'Один из элементов массива RowIndex выходит за пределы индексов строк двумерного массива!!One of the elements of RowIndex array is out of range of 2-dim array row indexes';
|
||||||
|
BAD_COL_INDEX = 'Один из элементов массива ColIndex выходит за пределы индексов столбцов двумерного массива!!One of the elements of ColIndex array is out of range of 2-dim array column indexes';
|
||||||
|
BAD_ROW_INDEX_FROM = 'FromRow выходит за пределы индексов строк двумерного массива!!FromRow is out of range of 2-dim array row indexes';
|
||||||
|
BAD_ROW_INDEX_TO = 'ToRow выходит за пределы индексов строк двумерного массива!!ToRow is out of range of 2-dim array row indexes';
|
||||||
|
BAD_COL_INDEX_FROM = 'FromCol выходит за пределы индексов строк двумерного массива!!FromCol is out of range of 2-dim array column indexes';
|
||||||
|
BAD_COL_INDEX_TO = 'ToCol выходит за пределы индексов строк двумерного массива!!ToCol is out of range of 2-dim array column indexes';
|
||||||
|
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
// WINAPI
|
// WINAPI
|
||||||
|
|
@ -9923,6 +9929,61 @@ begin
|
||||||
act(Self[i, j],i,j);
|
act(Self[i, j],i,j);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function InR(Self: integer; a,b: integer): boolean;
|
||||||
|
begin
|
||||||
|
Result := (a <= Self) and (Self <= b);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
/// Возвращает срез двумерного массива. RowIndex и ColIndex задают срезаемые строки и столбцы
|
||||||
|
function MatrSlice<T>(Self: array[,] of T; RowIndex: array of integer; ColIndex: array of integer): array[,] of T; extensionmethod;
|
||||||
|
begin
|
||||||
|
if RowIndex = nil then
|
||||||
|
raise new System.ArgumentNullException('RowIndex');
|
||||||
|
if ColIndex = nil then
|
||||||
|
raise new System.ArgumentNullException('ColIndex');
|
||||||
|
if RowIndex.Any(i->not InR(i,0,Self.RowCount-1)) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_ROW_INDEX),new Exception);
|
||||||
|
if ColIndex.Any(i->not InR(i,0,Self.ColCount-1)) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_COL_INDEX),new Exception);
|
||||||
|
Result := new T[RowIndex.Length, ColIndex.Length];
|
||||||
|
var r := 0;
|
||||||
|
foreach var ir in RowIndex do
|
||||||
|
begin
|
||||||
|
var c := 0;
|
||||||
|
foreach var jc in ColIndex do
|
||||||
|
begin
|
||||||
|
Result[r, c] := Self[ir, jc];
|
||||||
|
c += 1;
|
||||||
|
end;
|
||||||
|
r += 1;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
|
/// Возвращает срез двумерного массива между строками FromRow, ToRow и столбцами FromCol, ToCol
|
||||||
|
function MatrSlice<T>(Self: array[,] of T; FromRow, ToRow, FromCol, ToCol: integer): array[,] of T; extensionmethod;
|
||||||
|
begin
|
||||||
|
if not InR(FromRow,0,Self.RowCount-1) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_ROW_INDEX_FROM),new Exception);
|
||||||
|
if not InR(ToRow,0,Self.RowCount-1) then raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_ROW_INDEX_TO),new Exception);
|
||||||
|
if not InR(FromCol,0,Self.ColCount-1) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_COL_INDEX_FROM),new Exception);
|
||||||
|
if not InR(ToCol,0,Self.ColCount-1) then
|
||||||
|
raise new System.ArgumentOutOfRangeException(GetTranslation(BAD_COL_INDEX_TO),new Exception);
|
||||||
|
Result := new T[ToRow-FromRow+1, ToCol-FromCol+1];
|
||||||
|
var r := 0;
|
||||||
|
for var ir:=FromRow to ToRow do
|
||||||
|
begin
|
||||||
|
var c := 0;
|
||||||
|
for var jc:=FromCol to ToCol do
|
||||||
|
begin
|
||||||
|
Result[r, c] := Self[ir, jc];
|
||||||
|
c += 1;
|
||||||
|
end;
|
||||||
|
r += 1;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
//>> Фиктивная секция YYY - не удалять! # YYY
|
//>> Фиктивная секция YYY - не удалять! # YYY
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -1184,6 +1184,8 @@ var
|
||||||
OnKeyPress: procedure(ch: char);
|
OnKeyPress: procedure(ch: char);
|
||||||
/// Событие изменения размера графического окна
|
/// Событие изменения размера графического окна
|
||||||
OnResize: procedure;
|
OnResize: procedure;
|
||||||
|
/// Событие перерисовки графического окна. Параметр dt обозначает количество миллисекунд с момента последнего вызова OnDrawFrame
|
||||||
|
OnDrawFrame: procedure(dt: real) := nil;
|
||||||
|
|
||||||
// -----------------------------------------------------
|
// -----------------------------------------------------
|
||||||
//>> Функции пересечения# Intersection functions
|
//>> Функции пересечения# Intersection functions
|
||||||
|
|
@ -1207,15 +1209,16 @@ procedure __InitModule__;
|
||||||
procedure __FinalizeModule__;
|
procedure __FinalizeModule__;
|
||||||
//{{{--doc: Конец секции 2 }}}
|
//{{{--doc: Конец секции 2 }}}
|
||||||
|
|
||||||
procedure BeginFrameBasedAnimation(Draw: procedure; frate: integer := 61);
|
//procedure BeginFrameBasedAnimation(Draw: procedure; frate: integer := 61);
|
||||||
|
|
||||||
|
//procedure BeginFrameBasedAnimationTime(DrawT: procedure(dt: real));
|
||||||
|
|
||||||
procedure BeginFrameBasedAnimationTime(DrawT: procedure(dt: real));
|
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
procedure BeginFrameBasedAnimation(Draw: procedure; frate: integer) := GraphWPF.BeginFrameBasedAnimation(Draw,frate);
|
//procedure BeginFrameBasedAnimation(Draw: procedure; frate: integer) := GraphWPF.BeginFrameBasedAnimation(Draw,frate);
|
||||||
|
|
||||||
procedure BeginFrameBasedAnimationTime(DrawT: procedure(dt: real)) := GraphWPF.BeginFrameBasedAnimationTime(DrawT);
|
//procedure BeginFrameBasedAnimationTime(DrawT: procedure(dt: real)) := GraphWPF.BeginFrameBasedAnimationTime(DrawT);
|
||||||
|
|
||||||
function RGB(r,g,b: byte) := Color.Fromrgb(r, g, b);
|
function RGB(r,g,b: byte) := Color.Fromrgb(r, g, b);
|
||||||
function ARGB(a,r,g,b: byte) := Color.FromArgb(a, r, g, b);
|
function ARGB(a,r,g,b: byte) := Color.FromArgb(a, r, g, b);
|
||||||
|
|
@ -1540,6 +1543,19 @@ procedure SystemOnResize(sender: Object; e: SizeChangedEventArgs) :=
|
||||||
if OnResize<>nil then
|
if OnResize<>nil then
|
||||||
OnResize();
|
OnResize();
|
||||||
|
|
||||||
|
var LastUpdatedTimeWPF := new System.TimeSpan(integer.MinValue);
|
||||||
|
|
||||||
|
procedure RenderFrameWPF(o: Object; e: System.EventArgs);
|
||||||
|
begin
|
||||||
|
if OnDrawFrame<>nil then
|
||||||
|
begin
|
||||||
|
var e1 := RenderingEventArgs(e).RenderingTime;
|
||||||
|
var dt := e1 - LastUpdatedTimeWPF;
|
||||||
|
LastUpdatedTimeWPF := e1;
|
||||||
|
OnDrawFrame(dt.Milliseconds/1000);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure __InitModule;
|
procedure __InitModule;
|
||||||
begin
|
begin
|
||||||
AdditionalInit := procedure ->
|
AdditionalInit := procedure ->
|
||||||
|
|
@ -1554,6 +1570,8 @@ begin
|
||||||
MainWindow.TextInput += SystemOnKeyPress;
|
MainWindow.TextInput += SystemOnKeyPress;
|
||||||
MainWindow.SizeChanged += SystemOnResize;
|
MainWindow.SizeChanged += SystemOnResize;
|
||||||
|
|
||||||
|
CompositionTarget.Rendering += RenderFrameWPF;
|
||||||
|
|
||||||
Objects := new ObjectsType;
|
Objects := new ObjectsType;
|
||||||
Window := GraphWPF.Window;
|
Window := GraphWPF.Window;
|
||||||
GraphWindow := GraphWPF.GraphWindow;
|
GraphWindow := GraphWPF.GraphWindow;
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue