Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LaplacianIQ Class Reference

#include <LaplacianIQ.hpp>

Inheritance diagram for LaplacianIQ:
Collaboration diagram for LaplacianIQ:

Public Member Functions

 LaplacianIQ ()
 Constructor sets the instructions in the queue. More...
 
virtual ~LaplacianIQ ()
 Destructor must delete the objects inserted in the queue. More...
 
 LaplacianIQ ()
 Constructor sets the instructions in the queue. More...
 
virtual ~LaplacianIQ ()
 Destructor must delete the objects inserted in the queue. More...
 
- Public Member Functions inherited from InstructionQueue
 InstructionQueue ()
 
virtual ~InstructionQueue ()
 
void add_target_calculator (TargetCalculator *tc, MsqError &err)
 
void add_preconditioner (QualityImprover *instr, MsqError &err)
 adds a QualityImprover at the end of the instruction list More...
 
void remove_preconditioner (size_t index, MsqError &err)
 removes a QualityImprover* from the instruction queue More...
 
void insert_preconditioner (QualityImprover *instr, size_t index, MsqError &err)
 inserts a QualityImprover* into the instruction queue. More...
 
void add_quality_assessor (QualityAssessor *instr, MsqError &err)
 adds a QualityAssessor to the instruction queue. More...
 
void remove_quality_assessor (size_t index, MsqError &err)
 removes a QualityAssessor* from the instruction queue More...
 
void insert_quality_assessor (QualityAssessor *instr, size_t index, MsqError &err)
 inserts a QualityAssessor* into the instruction queue. More...
 
void set_master_quality_improver (QualityImprover *instr, MsqError &err)
 
void disable_automatic_quality_assessment ()
 
void enable_automatic_quality_assessment ()
 
void disable_automatic_midnode_adjustment ()
 
void enable_automatic_midnode_adjustment ()
 
virtual void run_instructions (MeshSet &msc, MsqError &err)
 This function is virtual so that it may be redefined in the wraper classes. More...
 
void clear ()
 
void trap_floating_point_exception (bool enable)
 Generate SIGFPE whenever a floating point exception occurs. More...
 
bool trap_floating_point_exception () const
 
 InstructionQueue ()
 
virtual ~InstructionQueue ()
 
void add_target_calculator (TargetCalculator *tc, MsqError &err)
 
void add_preconditioner (QualityImprover *instr, MsqError &err)
 
void remove_preconditioner (size_t index, MsqError &err)
 
void insert_preconditioner (QualityImprover *instr, size_t index, MsqError &err)
 
void add_quality_assessor (QualityAssessor *instr, MsqError &err)
 
void remove_quality_assessor (size_t index, MsqError &err)
 
void insert_quality_assessor (QualityAssessor *instr, size_t index, MsqError &err)
 
void set_master_quality_improver (QualityImprover *instr, MsqError &err)
 
void disable_automatic_quality_assessment ()
 
void enable_automatic_quality_assessment ()
 
void disable_automatic_midnode_adjustment ()
 
void enable_automatic_midnode_adjustment ()
 
virtual void run_instructions (MeshSet &msc, MsqError &err)
 This function is virtual so that it may be redefined in the wraper classes. More...
 
void clear ()
 
void trap_floating_point_exception (bool enable)
 Generate SIGFPE whenever a floating point exception occurs. More...
 
bool trap_floating_point_exception () const
 

Private Attributes

ShapeQualityMetricinverseMeanRatio
 
LaplacianSmootherlapl1
 
QualityAssessormQA
 
TerminationCriterionmTerm
 

Detailed Description

Definition at line 60 of file includeLinks/LaplacianIQ.hpp.

Constructor & Destructor Documentation

LaplacianIQ ( )
inline

Constructor sets the instructions in the queue.

Definition at line 70 of file includeLinks/LaplacianIQ.hpp.

References TerminationCriterion::add_criterion_type_with_int(), PatchDataUser::add_culling_method(), InstructionQueue::add_quality_assessor(), LaplacianIQ::inverseMeanRatio, LaplacianIQ::lapl1, QualityAssessor::MAXIMUM, LaplacianIQ::mQA, MSQ_CHKERR, LaplacianIQ::mTerm, PatchData::NO_BOUNDARY_VTX, TerminationCriterion::NUMBER_OF_ITERATES, InstructionQueue::set_master_quality_improver(), and QualityImprover::set_outer_termination_criterion().

70  {
71  MsqError err;
72  // creates a mean ratio quality metric ...
73  inverseMeanRatio = new IdealWeightInverseMeanRatio(err);
74 
75  // creates the laplacian smoother procedures
76  lapl1 = new LaplacianSmoother(err);
77  mQA = new QualityAssessor(inverseMeanRatio,QualityAssessor::MAXIMUM, err);
78 
79  //**************Set stopping criterion****************
80  mTerm = new TerminationCriterion();
82 
84  // sets a culling method on the first QualityImprover
86 
87  // adds 1 pass of pass1
88  this->add_quality_assessor(mQA,err); MSQ_CHKERR(err);
90  this->add_quality_assessor(mQA,err); MSQ_CHKERR(err);
91  }
TerminationCriterion * mTerm
void add_culling_method(enum PatchData::culling_method cm)
Sets on the culling method passed as argument.
void set_master_quality_improver(QualityImprover *instr, MsqError &err)
ShapeQualityMetric * inverseMeanRatio
void add_quality_assessor(QualityAssessor *instr, MsqError &err)
adds a QualityAssessor to the instruction queue.
#define MSQ_CHKERR(err)
Mesquite&#39;s Error Checking macro.
Terminates when the number of iterations exceeds a given integer.
void set_outer_termination_criterion(TerminationCriterion *crit)
Sets in the termination criterion for the outer loop over patches.
void add_criterion_type_with_int(TCType tc_type, int bound, MsqError &err)
Sets the criterion by specifing the TCType and the integer value.

Here is the call graph for this function:

virtual ~LaplacianIQ ( )
inlinevirtual

Destructor must delete the objects inserted in the queue.

Definition at line 95 of file includeLinks/LaplacianIQ.hpp.

References LaplacianIQ::inverseMeanRatio, LaplacianIQ::lapl1, LaplacianIQ::mQA, and LaplacianIQ::mTerm.

96  {
97  delete inverseMeanRatio;
98  delete lapl1;
99  delete mQA;
100  delete mTerm;
101  }
TerminationCriterion * mTerm
ShapeQualityMetric * inverseMeanRatio
LaplacianIQ ( )
inline

Constructor sets the instructions in the queue.

Definition at line 70 of file src/Control/Wrappers/LaplacianIQ.hpp.

References TerminationCriterion::add_criterion_type_with_int(), PatchDataUser::add_culling_method(), InstructionQueue::add_quality_assessor(), LaplacianIQ::inverseMeanRatio, LaplacianIQ::lapl1, QualityAssessor::MAXIMUM, LaplacianIQ::mQA, MSQ_CHKERR, LaplacianIQ::mTerm, PatchData::NO_BOUNDARY_VTX, TerminationCriterion::NUMBER_OF_ITERATES, InstructionQueue::set_master_quality_improver(), and QualityImprover::set_outer_termination_criterion().

70  {
71  MsqError err;
72  // creates a mean ratio quality metric ...
73  inverseMeanRatio = new IdealWeightInverseMeanRatio(err);
74 
75  // creates the laplacian smoother procedures
76  lapl1 = new LaplacianSmoother(err);
77  mQA = new QualityAssessor(inverseMeanRatio,QualityAssessor::MAXIMUM, err);
78 
79  //**************Set stopping criterion****************
80  mTerm = new TerminationCriterion();
82 
84  // sets a culling method on the first QualityImprover
86 
87  // adds 1 pass of pass1
88  this->add_quality_assessor(mQA,err); MSQ_CHKERR(err);
90  this->add_quality_assessor(mQA,err); MSQ_CHKERR(err);
91  }
TerminationCriterion * mTerm
void add_culling_method(enum PatchData::culling_method cm)
Sets on the culling method passed as argument.
void set_master_quality_improver(QualityImprover *instr, MsqError &err)
ShapeQualityMetric * inverseMeanRatio
void add_quality_assessor(QualityAssessor *instr, MsqError &err)
adds a QualityAssessor to the instruction queue.
#define MSQ_CHKERR(err)
Mesquite&#39;s Error Checking macro.
Terminates when the number of iterations exceeds a given integer.
void set_outer_termination_criterion(TerminationCriterion *crit)
Sets in the termination criterion for the outer loop over patches.
void add_criterion_type_with_int(TCType tc_type, int bound, MsqError &err)
Sets the criterion by specifing the TCType and the integer value.

Here is the call graph for this function:

virtual ~LaplacianIQ ( )
inlinevirtual

Destructor must delete the objects inserted in the queue.

Definition at line 95 of file src/Control/Wrappers/LaplacianIQ.hpp.

References LaplacianIQ::inverseMeanRatio, LaplacianIQ::lapl1, LaplacianIQ::mQA, and LaplacianIQ::mTerm.

96  {
97  delete inverseMeanRatio;
98  delete lapl1;
99  delete mQA;
100  delete mTerm;
101  }
TerminationCriterion * mTerm
ShapeQualityMetric * inverseMeanRatio

Member Data Documentation

ShapeQualityMetric * inverseMeanRatio
private
LaplacianSmoother * lapl1
private
QualityAssessor * mQA
private
TerminationCriterion * mTerm
private

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