RotateScan Class Reference

#include <motion.h>

Inherits LoadServer.

Collaboration diagram for RotateScan:

Collaboration graph
[legend]

Public Member Functions

 RotateScan (MotionMain *plugin, int total_clients, int total_packages)
 ~RotateScan ()
void init_packages ()
LoadClientnew_client ()
LoadPackagenew_package ()
float scan_frame (VFrame *previous_frame, VFrame *current_frame, int block_x, int block_y)
int64_t get_cache (float angle)
void put_cache (float angle, int64_t difference)

Data Fields

float result

Private Attributes

VFrameprevious_frame
VFramecurrent_frame
MotionMainplugin
int skip
int block_x
int block_y
int block_x1
int block_x2
int block_y1
int block_y2
int scan_x
int scan_y
int scan_w
int scan_h
float scan_angle1
float scan_angle2
int total_steps
ArrayList< RotateScanCache * > cache
Mutexcache_lock

Friends

class RotateScanUnit

Detailed Description

Definition at line 401 of file motion.h.


Constructor & Destructor Documentation

RotateScan::RotateScan ( MotionMain plugin,
int  total_clients,
int  total_packages 
)

Definition at line 2499 of file motion.C.

References cache_lock.

RotateScan::~RotateScan (  ) 

Definition at line 2512 of file motion.C.

References cache_lock.


Member Function Documentation

void RotateScan::init_packages (  )  [virtual]

Reimplemented from LoadServer.

Definition at line 2517 of file motion.C.

References RotateScanPackage::angle, LoadServer::get_package(), LoadServer::get_total_packages(), scan_angle1, scan_angle2, and total_steps.

Here is the call graph for this function:

LoadClient * RotateScan::new_client (  )  [virtual]

Reimplemented from LoadServer.

Definition at line 2529 of file motion.C.

References plugin, and RotateScanUnit.

LoadPackage * RotateScan::new_package (  )  [virtual]

Reimplemented from LoadServer.

Definition at line 2534 of file motion.C.

float RotateScan::scan_frame ( VFrame previous_frame,
VFrame current_frame,
int  block_x,
int  block_y 
)

int64_t RotateScan::get_cache ( float  angle  ) 

void RotateScan::put_cache ( float  angle,
int64_t  difference 
)

Definition at line 2762 of file motion.C.

References ArrayList< TYPE >::append(), cache, cache_lock, Mutex::lock(), and Mutex::unlock().

Referenced by RotateScanUnit::process_package().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class RotateScanUnit [friend]

Definition at line 409 of file motion.h.

Referenced by new_client().


Field Documentation

Definition at line 428 of file motion.h.

Referenced by get_cache(), and scan_frame().

Definition at line 431 of file motion.h.

Referenced by RotateScanUnit::process_package().

Definition at line 433 of file motion.h.

Referenced by RotateScanUnit::process_package().

Definition at line 435 of file motion.h.

Referenced by new_client(), and scan_frame().

int RotateScan::skip [private]

Definition at line 436 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

int RotateScan::block_x [private]

Definition at line 439 of file motion.h.

Referenced by RotateScanUnit::process_package().

int RotateScan::block_y [private]

Definition at line 440 of file motion.h.

Referenced by RotateScanUnit::process_package().

int RotateScan::block_x1 [private]

Definition at line 442 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

int RotateScan::block_x2 [private]

Definition at line 443 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

int RotateScan::block_y1 [private]

Definition at line 444 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

int RotateScan::block_y2 [private]

Definition at line 445 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

int RotateScan::scan_x [private]

Definition at line 447 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

int RotateScan::scan_y [private]

Definition at line 448 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

int RotateScan::scan_w [private]

Definition at line 449 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

int RotateScan::scan_h [private]

Definition at line 450 of file motion.h.

Referenced by RotateScanUnit::process_package(), and scan_frame().

float RotateScan::scan_angle1 [private]

Definition at line 452 of file motion.h.

Referenced by init_packages(), and scan_frame().

float RotateScan::scan_angle2 [private]

Definition at line 452 of file motion.h.

Referenced by init_packages(), and scan_frame().

int RotateScan::total_steps [private]

Definition at line 453 of file motion.h.

Referenced by init_packages(), and scan_frame().

Definition at line 455 of file motion.h.

Referenced by get_cache(), put_cache(), and scan_frame().

Definition at line 456 of file motion.h.

Referenced by get_cache(), put_cache(), RotateScan(), and ~RotateScan().


The documentation for this class was generated from the following files:

Generated on Mon Apr 28 14:41:55 2008 for Cinelerra by  doxygen 1.5.5