3
interface //#################################################################### ■
11
type //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【型】
13
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
15
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
17
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TPoinColorGrid3D<_TItem_>
19
TPoinColorGrid3D<_TItem_> = class( TPoinArray3D<_TItem_> )
23
procedure DrawToXY( const BMP_:TBitmap; Z_:Integer; const Func_:TConstFunc<Integer,Integer,Integer,TAlphaColor> ); overload;
27
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TCellColorGrid3D<_TItem_>
29
TCellColorGrid3D<_TItem_> = class( TCellArray3D<_TItem_> )
33
procedure DrawToXY( const BMP_:TBitmap; Z_:Integer; const Func_:TConstFunc<Integer,Integer,Integer,TAlphaColor> ); overload;
37
//const //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【定数】
39
//var //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【変数】
41
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
43
implementation //############################################################### ■
47
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【レコード】
49
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【クラス】
51
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TPoinColorGrid3D<_TItem_>
53
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
55
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
57
/////////////////////////////////////////////////////////////////////// メソッド
59
procedure TPoinColorGrid3D<_TItem_>.DrawToXY( const BMP_:TBitmap; Z_:Integer; const Func_:TConstFunc<Integer,Integer,Integer,TAlphaColor> );
63
BMP_.SetSize( PoinsX, PoinsY );
65
BMP_.Map( TMapAccess.Write, B );
67
TParallel.For( 0, PoinsY-1, procedure( Y:Integer )
72
P := B.GetScanline( Y );
74
for X := 0 to PoinsX-1 do
76
P^ := Func_( X, Y, Z_ ); Inc( P );
83
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
85
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TCellColorGrid3D
87
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& private
89
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& protected
91
/////////////////////////////////////////////////////////////////////// メソッド
93
procedure TCellColorGrid3D<_TItem_>.DrawToXY( const BMP_:TBitmap; Z_:Integer; const Func_:TConstFunc<Integer,Integer,Integer,TAlphaColor> );
97
BMP_.SetSize( CellsX, CellsY );
99
BMP_.Map( TMapAccess.Write, B );
101
TParallel.For( 0, CellsY-1, procedure( Y:Integer )
106
P := B.GetScanline( Y );
108
for X := 0 to CellsX-1 do
110
P^ := Func_( X, Y, Z_ ); Inc( P );
117
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& public
119
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$【ルーチン】
121
//############################################################################## □
123
initialization //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 初期化
125
finalization //$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ 最終化
127
end. //######################################################################### ■