RefinementSelectors::OrderPermutator Class Reference
[Refinement Selectors]

Order permutator. Generates all permutations of orders from a set defined by a range of orders. More...

#include <order_permutator.h>

List of all members.

Public Member Functions

 OrderPermutator (int start_quad_order=0, int end_quad_order=0, bool iso_p=false, int *tgt_quad_order=NULL)
 Constructor.
bool next ()
 Moves to the next permutation of orders.
void reset ()
 Resets permutator to the starting order.
int get_order_h () const
 Returns the current horizontal order.
int get_order_v () const
 Returns the current vertical order.
int get_quad_order () const
 Returns the current order in an encoded form.
int get_start_quad_order () const
 Returns the starting order in an encoded form.
int get_end_quad_order () const
 Returns the ending order in an encoded form.

Protected Attributes

int order_h
 The current horizontal order.
int order_v
 The current verical order.
int start_order_h
 The starting horizontal order.
int start_order_v
 The starting vertical order.
int end_order_h
 The ending horizontal order.
int end_order_v
 The ending vertical order.
bool iso_p
 True if orders is incresed in both the horizontal order and the vertical order are increased simultaneously.
int * tgt_quad_order
 A pointer to which a current order is stored in encoded form. Ignored if NULL.

Detailed Description

Order permutator. Generates all permutations of orders from a set defined by a range of orders.

Used to generate all possible generation of horizontal and vertical orders bettween the starting order and the ending order. Both the starting order and the ending order are included.

Suggested Use
      OrderPermutator order_perm(start_order, end_order, false);
      do {
        int order_h = order_perm.get_order_h();
      } while (order_perm.next());

Constructor & Destructor Documentation

RefinementSelectors::OrderPermutator::OrderPermutator ( int  start_quad_order = 0,
int  end_quad_order = 0,
bool  iso_p = false,
int *  tgt_quad_order = NULL 
)

Constructor.

Parameters:
[in] start_quad_order The starting order in an encoded form.
[in] end_quad_order The ending order in an encoded form.
[in] iso_p True if both orders (i.e. horizontal and vertical) should be increased simultaneously.
[in] tgt_quad_order A point to a location to which a current orders (i.e. horizontal and vertical) are stored in an encoded form. Ignored if NULL.

Member Function Documentation

int RefinementSelectors::OrderPermutator::get_end_quad_order (  )  const [inline]

Returns the ending order in an encoded form.

Returns:
The ending order in an encoded form.
int RefinementSelectors::OrderPermutator::get_order_h (  )  const [inline]

Returns the current horizontal order.

Returns:
The current horizontal order.
int RefinementSelectors::OrderPermutator::get_order_v (  )  const [inline]

Returns the current vertical order.

Returns:
The current vertical order.
int RefinementSelectors::OrderPermutator::get_quad_order (  )  const [inline]

Returns the current order in an encoded form.

Returns:
The current order in an encoded form.
int RefinementSelectors::OrderPermutator::get_start_quad_order (  )  const [inline]

Returns the starting order in an encoded form.

Returns:
The starting order in an encoded form.
bool RefinementSelectors::OrderPermutator::next (  ) 

Moves to the next permutation of orders.

Returns:
True if there is a next permutation of orders.
void RefinementSelectors::OrderPermutator::reset (  ) 

Resets permutator to the starting order.


Member Data Documentation

The ending horizontal order.

The ending vertical order.

True if orders is incresed in both the horizontal order and the vertical order are increased simultaneously.

The current horizontal order.

The current verical order.

The starting horizontal order.

The starting vertical order.

A pointer to which a current order is stored in encoded form. Ignored if NULL.


The documentation for this class was generated from the following files:
Generated on Sat Jun 5 15:17:44 2010 for Hermes2D Library: Real Version by  doxygen 1.6.3