NOX Development
Public Member Functions
NOX::Abstract::ImplicitWeighting Class Reference

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]

List of all members.

Public Member Functions

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

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::Vector.

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::Vector.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends