Hermes2D
3.0

Hermes::Order permutator. Generates all permutations of orders from a set defined by a range of orders. More...
#include <order_permutator.h>
Public Member Functions  
OrderPermutator (unsigned short start_quad_order=0, unsigned short end_quad_order=0, bool iso_p=false, unsigned short *tgt_quad_order=nullptr)  
Constructor. More...  
bool  next () 
Moves to the next permutation of orders. More...  
void  reset () 
Resets permutator to the starting order.  
unsigned short  get_order_h () const 
Returns the current horizontal order. More...  
unsigned short  get_order_v () const 
Returns the current vertical order. More...  
unsigned short  get_quad_order () const 
Returns the current order in an encoded form. More...  
unsigned short  get_start_quad_order () const 
Returns the starting order in an encoded form. More...  
unsigned short  get_end_quad_order () const 
Returns the ending order in an encoded form. More...  
Protected Attributes  
unsigned short  order_h 
The current horizontal order.  
unsigned short  order_v 
The current verical order.  
unsigned short  start_order_h 
The starting horizontal order.  
unsigned short  start_order_v 
The starting vertical order.  
unsigned short  end_order_h 
The ending horizontal order.  
unsigned short  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.  
unsigned short *  tgt_quad_order 
A pointer to which a current order is stored in encoded form. Ignored if nullptr.  
Hermes::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.
Definition at line 37 of file order_permutator.h.
Hermes::Hermes2D::RefinementSelectors::OrderPermutator::OrderPermutator  (  unsigned short  start_quad_order = 0 , 
unsigned short  end_quad_order = 0 , 

bool  iso_p = false , 

unsigned short *  tgt_quad_order = nullptr 

) 
Constructor.
[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 nullptr. 
Definition at line 24 of file order_permutator.cpp.
unsigned short Hermes::Hermes2D::RefinementSelectors::OrderPermutator::get_end_quad_order  (  )  const 
Returns the ending order in an encoded form.
Definition at line 88 of file order_permutator.cpp.
unsigned short Hermes::Hermes2D::RefinementSelectors::OrderPermutator::get_order_h  (  )  const 
Returns the current horizontal order.
Definition at line 68 of file order_permutator.cpp.
Referenced by Hermes::Hermes2D::RefinementSelectors::ProjBasedSelector< Scalar >::calc_error_cand_element().
unsigned short Hermes::Hermes2D::RefinementSelectors::OrderPermutator::get_order_v  (  )  const 
Returns the current vertical order.
Definition at line 73 of file order_permutator.cpp.
Referenced by Hermes::Hermes2D::RefinementSelectors::ProjBasedSelector< Scalar >::calc_error_cand_element().
unsigned short Hermes::Hermes2D::RefinementSelectors::OrderPermutator::get_quad_order  (  )  const 
Returns the current order in an encoded form.
Definition at line 78 of file order_permutator.cpp.
Referenced by Hermes::Hermes2D::RefinementSelectors::ProjBasedSelector< Scalar >::calc_error_cand_element().
unsigned short Hermes::Hermes2D::RefinementSelectors::OrderPermutator::get_start_quad_order  (  )  const 
Returns the starting order in an encoded form.
Definition at line 83 of file order_permutator.cpp.
bool Hermes::Hermes2D::RefinementSelectors::OrderPermutator::next  (  ) 
Moves to the next permutation of orders.
Definition at line 32 of file order_permutator.cpp.
Referenced by Hermes::Hermes2D::RefinementSelectors::ProjBasedSelector< Scalar >::calc_error_cand_element().