| Class animation__3D (unit Animation_3D) |
TObject
| Constructors |
constructor create(nf,ppf:integer; dest:TWinControl);| Functions |
procedure activate(onoff:boolean);///////////////////////// Timer stuff /////////////////////////
procedure animate_palette(num:integer);
procedure calc_rotation(x,y,z:integer);
procedure compute_frame;
procedure Copy_to_screen;
procedure create_drawing_surface(w,h:integer);///////////////////////// Screen stuff /////////////////////////
destructor Destroy;
procedure draw_frame(dest_DC:HDC);
procedure fill_palette_from_screen_colours(use_cols:integer);
function GetPalette : HPalette;
procedure setup_initial_state(i1,i2:integer);///////////////////////// Init & computation /////////////////////////
procedure setup_morphing_constants;
procedure set_frame_speed(fps_:double);
procedure set_interframepause(d:integer);
procedure set_morphsteps(d:integer);
procedure set_offset(x,y,z:double);ints for lookup tables
procedure set_palette_cycle(pc:integer);
procedure set_rot_speed(x,y,z:integer);///////////////////////// getters and setters /////////////////////////
procedure set_scale(x,y:double);
procedure Timer_event;
function TransformPoint(x,y,z:double) : TPoint;unrolled matrix multiply
procedure update_frame_counters;| Properties |
| Events |
| Variables |
active : boolean;
callback : TNotifyEvent;
colours : integer;
coloursm1 : integer;
data : pPointArray;
destination : TWinControl;
DIB_surface : DIBSurfaceObject;
frame_number : integer;
frame_sp : frame_speed_obj;
interframe_count : integer;
interframe_pause : integer;
log_palette : TMyLogPalette;
main_counter : integer;
morph_count : integer;
morph_steps : integer;
num_frames : integer;
palette_cycle : integer;
pts_frame : integer;
rotyxz0_0 : double;
rotyxz0_1 : double;
rotyxz0_2 : double;
rotyxz1_0 : double;
rotyxz1_1 : double;
rotyxz1_2 : double;
rotyxz2_1 : double;
rotyxz2_2 : double;
rotyxz2_3 : double;
Timer : THiResTimer;
xmid : integer;
xoff : double;
xrspeed : integer;
xscale : double;
ymid : integer;
yoff : double;
yrspeed : integer;
yscale : double;
zoff : double;
zrspeed : integer;| Constructors |
constructor create(nf,ppf:integer; dest:TWinControl);///////////////////////////////////////////////////////////////////////////// Animation base class (Abstract object) // /////////////////////////////////////////////////////////////////////////////
| Functions |
procedure activate(onoff:boolean);enable/disable and timer stuff
///////////////////////// Timer stuff /////////////////////////
procedure animate_palette(num:integer);
procedure calc_rotation(x,y,z:integer);
procedure compute_frame;
procedure Copy_to_screen;
procedure create_drawing_surface(w,h:integer);screen stuff
///////////////////////// Screen stuff /////////////////////////
destructor Destroy;Timer.ThreadPriority := tpIdle;
procedure draw_frame(dest_DC:HDC);
procedure fill_palette_from_screen_colours(use_cols:integer);
function GetPalette : HPalette;
procedure setup_initial_state(i1,i2:integer);initializtion and computation
///////////////////////// Init & computation /////////////////////////
procedure setup_morphing_constants;are we currently pausing between frames
procedure set_frame_speed(fps_:double);
procedure set_interframepause(d:integer);
procedure set_morphsteps(d:integer);
procedure set_offset(x,y,z:double);ints for lookup tables
ints for lookup tables
procedure set_palette_cycle(pc:integer);
procedure set_rot_speed(x,y,z:integer);Getters and Setters
///////////////////////// getters and setters /////////////////////////
procedure set_scale(x,y:double);
procedure Timer_event;
function TransformPoint(x,y,z:double) : TPoint;unrolled matrix multiply
unrolled matrix multiply
procedure update_frame_counters;| Properties |
| Events |
| Variables |
active : boolean;
callback : TNotifyEvent;
colours : integer;palette variables
coloursm1 : integer;
data : pPointArray;
destination : TWinControl;
DIB_surface : DIBSurfaceObject;screen variables
frame_number : integer;
frame_sp : frame_speed_obj;
interframe_count : integer;
interframe_pause : integer;
log_palette : TMyLogPalette;
main_counter : integer;animation control
morph_count : integer;
morph_steps : integer;
num_frames : integer;
palette_cycle : integer;
pts_frame : integer;
rotyxz0_0 : double;Matrix values...
rotyxz0_1 : double;
rotyxz0_2 : double;
rotyxz1_0 : double;
rotyxz1_1 : double;
rotyxz1_2 : double;
rotyxz2_1 : double;
rotyxz2_2 : double;
rotyxz2_3 : double;
Timer : THiResTimer;Timing
xmid : integer;
xoff : double;ints for lookup tables indices
xrspeed : integer;3D variables
xscale : double;
ymid : integer;
yoff : double;
yrspeed : integer;
yscale : double;
zoff : double;
zrspeed : integer;