Isis 3 Programmer Reference
|
This class is used to create ShapeModel objects. More...
#include <ShapeModelFactory.h>
Static Public Member Functions | |
static ShapeModel * | create (Target *target, Pvl &pvl) |
Construct a valid shape model from the given target and contents of kernels group. | |
Private Types | |
enum | { Ellipsoid , Isis3EquatorialCylindrical , Isis3Dem , Plane , Stack , NaifDSK , Bullet , Embree } |
Private Member Functions | |
ShapeModelFactory () | |
Constructor is private to avoid instantiating the class. | |
~ShapeModelFactory () | |
Destructor. | |
This class is used to create ShapeModel objects.
It determines the type of shape model in the input Pvl object and creates the appropriate type of shape model.
2012-10-31 - Ken Edmundson - Implemented plane shape
2014-01-14 - Jeannie Backer - Improved error message. Fixes #1957.
2015-03-08 - Jeannie Backer - Added implementation for NAIF DSK models. References #2035.
2017-05-19 Christopher Combs - Modified unitTest.cpp: added ReportError method to truncate paths before data directory. Allows test to pass when not using the default data area. Fixes #4738.
2017-06-08 Makayla Shepherd - Added a cube pointer deletion to fix a memory leak. Fixes #4890.
2017-03-23 Kris Becker - Added support for Embree and Bullet models.
2017-08-04 Kristin Berry - Removed checks for a 'CubeSupported' IsisPreferences Pvl Keyword. ISIS Cube DEMs are not supported by Embree and Bullet at this time.
Definition at line 37 of file ShapeModelFactory.h.
|
private |
Definition at line 46 of file ShapeModelFactory.h.
|
private |
Constructor is private to avoid instantiating the class.
Use the Create method.
Definition at line 42 of file ShapeModelFactory.cpp.
|
private |
Destructor.
Definition at line 47 of file ShapeModelFactory.cpp.
|
static |
Construct a valid shape model from the given target and contents of kernels group.
If the Kernels group does not have a ShapeModel or ElevationModel specified, then the default model is an ellipsoidal shape.
Definition at line 63 of file ShapeModelFactory.cpp.
References Isis::PvlFlatMap::get(), Isis::EmbreeTargetManager::getInstance(), Isis::IException::Io, Isis::Projection::IsEquatorialCylindrical(), Isis::Target::isSky(), Isis::BulletTargetShape::load(), Isis::PvlFlatMap::merge(), Isis::Cube::open(), Isis::IException::Programmer, Isis::toDouble(), Isis::toString(), Isis::PvlObject::Traverse, and Isis::IException::Unknown.
Referenced by Isis::Target::Target(), and Isis::Target::Target().