rgrl_object Class Reference

#include <rgrl_object.h>

Inheritance diagram for rgrl_object:

vbl_ref_count rgrl_converge_status rgrl_convergence_tester rgrl_data_manager rgrl_estimator rgrl_evaluator rgrl_feature rgrl_feature_based_registration rgrl_feature_set rgrl_initializer rgrl_invariant rgrl_invariant_match rgrl_invariant_set rgrl_mask rgrl_match_set rgrl_matcher rgrl_scale rgrl_scale_estimator_unwgted rgrl_scale_estimator_wgted rgrl_spline rgrl_transformation rgrl_view rgrl_weighter List of all members.

Detailed Description

rgrl_object implements callbacks (via object/observer), and debug flags.

Most rgrl classes should be a subclas of rgrl_object.

Definition at line 37 of file rgrl_object.h.


Public Member Functions

 rgrl_object ()
 rgrl_object (const rgrl_object &that)
 copy constructor.
const rgrl_objectoperator= (const rgrl_object &rhs)
 assignment operator.
virtual ~rgrl_object ()
virtual bool is_type (const vcl_type_info &type) const
void set_debug_flag (unsigned int debugFlag) const
 Set the value of the debug flag. A non-zero value turns debugging on.
unsigned int debug_flag () const
 Get the value of the debug flag.
void set_warning (bool) const
 Set the flag for warning messages.
bool warning () const
 Get the warning flag.
unsigned int add_observer (rgrl_event_sptr event, rgrl_command_sptr)
 Allow people to add/remove/invoke observers (callbacks) to any rgrl object.
rgrl_command_sptr get_command (unsigned int tag)
 Get the command associated with the given tag.
void invoke_event (const rgrl_event &)
 Call execute(.
void invoke_event (const rgrl_event &) const
 Call execute(.
void remove_observer (unsigned int tag)
 Remove the observer with this tag value.
bool has_observer (const rgrl_event &event) const
 Return true if an observer is registered for this event.
void ref ()
void unref ()
int get_references () const
bool is_referenced () const

Static Public Member Functions

static const vcl_type_info & type_id ()

Private Types

typedef vcl_map< unsigned,
rgrl_object_observer
observer_map

Private Attributes

unsigned int debug_flag_
bool warning_
observer_map observers_
unsigned int observer_count_

Member Typedef Documentation

typedef vcl_map< unsigned, rgrl_object_observer > rgrl_object::observer_map [private]

Definition at line 120 of file rgrl_object.h.


Constructor & Destructor Documentation

rgrl_object::rgrl_object (  ) 

Definition at line 6 of file rgrl_object.cxx.

rgrl_object::rgrl_object ( const rgrl_object that  )  [inline]

copy constructor.

Definition at line 45 of file rgrl_object.h.

rgrl_object::~rgrl_object (  )  [virtual]

Definition at line 13 of file rgrl_object.cxx.


Member Function Documentation

const rgrl_object& rgrl_object::operator= ( const rgrl_object rhs  )  [inline]

assignment operator.

Definition at line 52 of file rgrl_object.h.

static const vcl_type_info& rgrl_object::type_id (  )  [inline, static]

Reimplemented in rgrl_scale_estimator.

Definition at line 64 of file rgrl_object.h.

virtual bool rgrl_object::is_type ( const vcl_type_info &  type  )  const [inline, virtual]

Reimplemented in rgrl_scale_estimator.

Definition at line 67 of file rgrl_object.h.

void rgrl_object::set_debug_flag ( unsigned int  debugFlag  )  const

Set the value of the debug flag. A non-zero value turns debugging on.

Definition at line 19 of file rgrl_object.cxx.

unsigned int rgrl_object::debug_flag (  )  const

Get the value of the debug flag.

Definition at line 26 of file rgrl_object.cxx.

void rgrl_object::set_warning ( bool   )  const

Set the flag for warning messages.

Definition at line 33 of file rgrl_object.cxx.

bool rgrl_object::warning (  )  const

Get the warning flag.

Definition at line 40 of file rgrl_object.cxx.

unsigned int rgrl_object::add_observer ( rgrl_event_sptr  event,
rgrl_command_sptr   
)

Allow people to add/remove/invoke observers (callbacks) to any rgrl object.

This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an rgrl_ommand to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command.

Definition at line 47 of file rgrl_object.cxx.

rgrl_command_sptr rgrl_object::get_command ( unsigned int  tag  ) 

Get the command associated with the given tag.

Definition at line 57 of file rgrl_object.cxx.

void rgrl_object::invoke_event ( const rgrl_event  ) 

Call execute(.

) on all the rgrl_commands observing this event id.

Definition at line 69 of file rgrl_object.cxx.

void rgrl_object::invoke_event ( const rgrl_event  )  const

Call execute(.

) on all the rgrl_commands observing this event id.

The actions triggered by this call doesn't modify this object.

Definition at line 83 of file rgrl_object.cxx.

void rgrl_object::remove_observer ( unsigned int  tag  ) 

Remove the observer with this tag value.

Definition at line 97 of file rgrl_object.cxx.

bool rgrl_object::has_observer ( const rgrl_event event  )  const

Return true if an observer is registered for this event.

Definition at line 107 of file rgrl_object.cxx.


Member Data Documentation

unsigned int rgrl_object::debug_flag_ [mutable, private]

Definition at line 116 of file rgrl_object.h.

bool rgrl_object::warning_ [mutable, private]

Definition at line 117 of file rgrl_object.h.

observer_map rgrl_object::observers_ [private]

Definition at line 121 of file rgrl_object.h.

unsigned int rgrl_object::observer_count_ [private]

Definition at line 122 of file rgrl_object.h.


The documentation for this class was generated from the following files:
Generated on Mon Mar 8 05:27:43 2010 for contrib/rpl/rgrl by  doxygen 1.5.1