NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
NOX::Abstract::ImplicitWeighting Class Referenceabstract

A pure virtual interface for enabling/disabling any user defined implicit weighting of the concrete object. More...

#include <NOX_Abstract_ImplicitWeighting.H>

Inheritance diagram for NOX::Abstract::ImplicitWeighting:
Inheritance graph
[legend]

Public Member Functions

virtual bool getImplicitWeighting () const =0
 Return true if implicit weighting is currently enabled. More...
 
virtual void setImplicitWeighting (bool do_implicit_weighting)=0
 Set to true to enable implicit weighting, false disables. More...
 

Detailed Description

A pure virtual interface for enabling/disabling any user defined implicit weighting of the concrete object.

This class is used to toggle on/off any implicit weighting that might be handled internal to a particular user defined class. The classical use case is to disable an implicitly defined weighting on the inner product and norm computations of the abstract vector class so that classes like the NormWRMS can apply their own weighting. This prevents a "double weight" effect being applied to specific status tests.

The typical use case is the get the current weighting flag, then disable the weighting, perform the computations on the unweighted object and then set the flag back to its original value. By storing the original value, one can return it to its prior state regardless if an implicit weighting is defined.

NOX::ImplicitWeighting& v;
bool saved_status = v.getImplicitWeighting();
v.setImplicitWeighting(false);
.
<perform unweighted computaiton>
.
v.setImplicitWeighting(saved_status);

CAUTION: This is a power user feature and should only be used in concert with specialized NOX::Abstract::Vector implementations.

Author
Roger Pawlowski (SNL 1444)

Member Function Documentation

virtual bool NOX::Abstract::ImplicitWeighting::getImplicitWeighting ( ) const
pure virtual

Return true if implicit weighting is currently enabled.

CAUTION: This is a power user feature and should only be used in concert with specialized NOX::Abstract::Vector implementations.

Implemented in NOX::Thyra::MultiVector, and NOX::Thyra::Vector.

Referenced by NOX::StatusTest::NormWRMS::checkStatus().

virtual void NOX::Abstract::ImplicitWeighting::setImplicitWeighting ( bool  do_implicit_weighting)
pure virtual

Set to true to enable implicit weighting, false disables.

CAUTION: This is a power user feature and should only be used in concert with specialized NOX::Abstract::Vector implementations.

Implemented in NOX::Thyra::MultiVector, and NOX::Thyra::Vector.

Referenced by NOX::StatusTest::NormWRMS::checkStatus().


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