cgv
Loading...
Searching...
No Matches
cgv::base::action Class Reference

The action class is used in tree traversals together with the traverser. More...

#include <action.h>

Inheritance diagram for cgv::base::action:
cgv::base::base_method_action< X > cgv::base::find_action< X > cgv::base::method_action< X, T1 > cgv::base::method_action_2< X, T1, T2 > cgv::base::matched_method_action< X, R1, R2, T1 > cgv::base::single_method_action< X, R, T1 > cgv::base::single_method_action_2< X, R, T1, T2 >

Public Member Functions

 action (bool _default_result_begin, bool _default_result_end)
 construct with default return values for the begin and end method
 
void set_default_results (bool _default_result)
 sets the value that is returned, whenever no result is obtained from the traversed methods
 
void set_default_result_begin (bool _default_result_begin)
 sets the value that is returned for on_begin events
 
void set_default_result_end (bool _default_result_end)
 sets the value that is returned for on_end events
 
virtual void select (base_ptr p)
 make the passed object current
 
virtual bool implements_action () const
 check if the current object implements the interface needed for this action
 
virtual traverse_policyget_policy () const
 return the traverse_policy of the current object if available or 0 otherwise
 
virtual bool begin ()
 perform the enter part of the action on the current object
 
virtual bool end ()
 perform the leave part of the action on the current object
 
virtual bool has_begin_only () const
 check whether the action has registered a single begin method or both begin and end methods
 

Protected Attributes

bool default_result_begin
 
bool default_result_end
 

Detailed Description

The action class is used in tree traversals together with the traverser.

It implements the interface needed to perform an action on an arbitrary object.

Definition at line 16 of file action.h.

Constructor & Destructor Documentation

◆ action()

cgv::base::action::action ( bool  _default_result_begin,
bool  _default_result_end 
)

construct with default return values for the begin and end method

Definition at line 6 of file action.cxx.

Member Function Documentation

◆ begin()

bool cgv::base::action::begin ( )
virtual

◆ end()

◆ get_policy()

traverse_policy * cgv::base::action::get_policy ( ) const
virtual

return the traverse_policy of the current object if available or 0 otherwise

Reimplemented in cgv::base::base_method_action< X >.

Definition at line 38 of file action.cxx.

Referenced by cgv::base::traverser::traverse_tmp_1().

◆ has_begin_only()

bool cgv::base::action::has_begin_only ( ) const
virtual

check whether the action has registered a single begin method or both begin and end methods

Reimplemented in cgv::base::single_method_action< X, R, T1 >, and cgv::base::single_method_action_2< X, R, T1, T2 >.

Definition at line 54 of file action.cxx.

Referenced by cgv::base::traverser::traverse_tmp_1().

◆ implements_action()

bool cgv::base::action::implements_action ( ) const
virtual

check if the current object implements the interface needed for this action

Reimplemented in cgv::base::base_method_action< X >, and cgv::base::find_action< X >.

Definition at line 33 of file action.cxx.

Referenced by cgv::base::traverser::traverse_tmp_1().

◆ select()

void cgv::base::action::select ( base_ptr  p)
virtual

make the passed object current

Reimplemented in cgv::base::base_method_action< X >, and cgv::base::find_action< X >.

Definition at line 29 of file action.cxx.

Referenced by cgv::base::traverser::traverse_tmp_1().

◆ set_default_result_begin()

void cgv::base::action::set_default_result_begin ( bool  _default_result_begin)

sets the value that is returned for on_begin events

Definition at line 18 of file action.cxx.

◆ set_default_result_end()

void cgv::base::action::set_default_result_end ( bool  _default_result_end)

sets the value that is returned for on_end events

Definition at line 24 of file action.cxx.

◆ set_default_results()

void cgv::base::action::set_default_results ( bool  _default_result)

sets the value that is returned, whenever no result is obtained from the traversed methods

Definition at line 12 of file action.cxx.

Member Data Documentation

◆ default_result_begin

bool cgv::base::action::default_result_begin
protected

Definition at line 19 of file action.h.

◆ default_result_end

bool cgv::base::action::default_result_end
protected

Definition at line 20 of file action.h.


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