Isis 3 Programmer Reference
Isis::NormModelFactory Class Reference

This class is used to create NormModel objects. More...

#include <NormModelFactory.h>

Collaboration diagram for Isis::NormModelFactory:
Collaboration graph

Static Public Member Functions

static NormModelCreate (Pvl &pvl, PhotoModel &pmodel)
 Create a NormModel object using a PVL specification. More...
 
static NormModelCreate (Pvl &pvl, PhotoModel &pmodel, AtmosModel &amodel)
 Create a NormModel object using a PVL specification. More...
 

Private Member Functions

 NormModelFactory ()
 Constructor (its private so you can't use it). More...
 
 ~NormModelFactory ()
 Destroys the NormModelFactory. More...
 

Detailed Description

This class is used to create NormModel objects.

Typically, applications which perform normalization corrections need to use different methods such as Shade, ShadeAtm, Albedo, etc. If this factory is given a Pvl object which contains a NormModel definition, it will create that specific instance of the class. For example,

Object = NormalizationModel
Group = Algorithm
Name = Shade
...
EndGroup
...
EndObject
End

Will create a Shade normalization object (which is derived from NormModel). The simplest way to create a NormModel class is to use the static Create method.

Pvl p("mynormmodel.pvl");
NormModel *ar = NormModelFactory::Create(p);
Author
2006-01-23 Janet Barrett
History:
2006-01-23 Janet Barrett - Original version
History:
2008-06-18 Steven Koechle - Fixed Documentation Errors

Definition at line 52 of file NormModelFactory.h.

Constructor & Destructor Documentation

◆ NormModelFactory()

Isis::NormModelFactory::NormModelFactory ( )
inlineprivate

Constructor (its private so you can't use it).

Use the Create Method instead.

Definition at line 62 of file NormModelFactory.h.

◆ ~NormModelFactory()

Isis::NormModelFactory::~NormModelFactory ( )
inlineprivate

Destroys the NormModelFactory.

Definition at line 65 of file NormModelFactory.h.

Member Function Documentation

◆ Create() [1/2]

NormModel * Isis::NormModelFactory::Create ( Pvl pvl,
PhotoModel pmodel 
)
static

Create a NormModel object using a PVL specification.

An example of the PVL required for this is:

Object = NormalizationModel
Group = Algorithm
NormName/Name = ShadeAtm
PhotoModel = Minnaert
AtmosModel = Isotropic1
EndGroup
EndObject

There are many other options that can be set via the pvl and are described in other documentation (see below).

Parameters
pvlThe pvl object containing the specification
See also
normalizationModels.doc

Definition at line 36 of file NormModelFactory.cpp.

References Isis::FileName::fileExists(), Isis::PvlObject::findObject(), Isis::Plugin::GetPlugin(), Isis::PvlContainer::hasKeyword(), Isis::Pvl::read(), Isis::PvlObject::Traverse, and Isis::IException::User.

Referenced by Isis::Photometry::Photometry().

◆ Create() [2/2]

NormModel * Isis::NormModelFactory::Create ( Pvl pvl,
PhotoModel pmodel,
AtmosModel amodel 
)
static

Create a NormModel object using a PVL specification.

An example of the PVL required for this is:

Object = NormalizationModel
Group = Algorithm
NormName/Name = ShadeAtm
PhotoModel = Minnaert
AtmosModel = Isotropic1
EndGroup
EndObject

There are many other options that can be set via the pvl and are described in other documentation (see below).

Parameters
pvlThe pvl object containing the specification
See also
normalizationModels.doc

Definition at line 91 of file NormModelFactory.cpp.

References Isis::FileName::fileExists(), Isis::PvlObject::findObject(), Isis::Plugin::GetPlugin(), Isis::PvlContainer::hasKeyword(), Isis::Pvl::read(), Isis::PvlObject::Traverse, and Isis::IException::User.


The documentation for this class was generated from the following files:
Isis::NormModelFactory::Create
static NormModel * Create(Pvl &pvl, PhotoModel &pmodel)
Create a NormModel object using a PVL specification.
Definition: NormModelFactory.cpp:36