Isis 3 Programmer Reference
Isis::PhotoModelFactory Class Reference

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

#include <PhotoModelFactory.h>

Collaboration diagram for Isis::PhotoModelFactory:
Collaboration graph

Static Public Member Functions

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

Private Member Functions

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

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
History:
2006-01-23 Janet Barrett - Original version
History:
2008-06-18 Steven Koechle - Fixed Documentation Errors

Definition at line 50 of file PhotoModelFactory.h.

Constructor & Destructor Documentation

◆ PhotoModelFactory()

Isis::PhotoModelFactory::PhotoModelFactory ( )
inlineprivate

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

Use the Create Method instead.

Definition at line 59 of file PhotoModelFactory.h.

◆ ~PhotoModelFactory()

Isis::PhotoModelFactory::~PhotoModelFactory ( )
inlineprivate

Destroys the PhotoModelFactory.

Definition at line 62 of file PhotoModelFactory.h.

Member Function Documentation

◆ Create()

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
pvlThe pvl object containing the specification
See also
photometricModels.doc

Definition at line 35 of file PhotoModelFactory.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().


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