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_policy * get_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.

Referenced by cgv::base::base_method_action< X >::base_method_action().

Member Function Documentation

◆ begin()

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

◆ end()

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

perform the leave part of the action on the current object

Reimplemented in cgv::base::matched_method_action< X, R1, R2, T1 >.

Definition at line 48 of file action.cxx.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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: