USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::PhotoModelFactory Class Reference
[Pattern Matching]

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

#include <PhotoModelFactory.h>

List of all members.

Static Public Member Functions

static PhotoModelCreate (Pvl &pvl)
 Create a PhotoModel object using a PVL specification.

Private Member Functions

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

Detailed Description

This class is used to create PhotoModel objects.

Typically, applications which perform photometric corrections need to use different types of photometric function such as Lambert, Minnaert, HapkeLegendre, etc. If this factory is given a Pvl object which contains a PhotoModel definition, it will create that specific instance of the class. For example,

 Object = PhotometricModel
   Group = Algorithm
     Name = Minnaert
     ...
   EndGroup
   ...
 EndObject
 End

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

 Pvl p("myphotmodel.pvl");
 PhotoModel *ar = PhotoModelFactory::Create(p);
Author:
2006-01-23 Janet Barrett

For internal use only.

History:
2006-01-23 Janet Barrett - Original version
History:
2008-06-18 Steven Koechle - Fixed Documentation Errors

Definition at line 66 of file PhotoModelFactory.h.


Constructor & Destructor Documentation

Isis::PhotoModelFactory::PhotoModelFactory (  )  [inline, private]

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

Use the Create Method instead.

Definition at line 75 of file PhotoModelFactory.h.

Isis::PhotoModelFactory::~PhotoModelFactory (  )  [inline, private]

Destroys the PhotoModelFactory.

Definition at line 78 of file PhotoModelFactory.h.


Member Function Documentation

PhotoModel * Isis::PhotoModelFactory::Create ( Pvl pvl  )  [static]

Create a PhotoModel object using a PVL specification.

An example of the PVL required for this is:

 Object = PhotometricModel
   Group = Algorithm
     PhtName/Name = Minnaert
     K = 0.7
   EndGroup
 EndObject

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

Parameters:
pvl The pvl object containing the specification
See also:
photometricModels.doc

Definition at line 51 of file PhotoModelFactory.cpp.

References _FILEINFO_, Isis::PvlObject::FindObject(), Isis::Plugin::GetPlugin(), Isis::PvlContainer::HasKeyword(), Isis::Pvl::Read(), Isis::PvlObject::Traverse, and Isis::IException::User.

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


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