LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Private Attributes | List of all members
lsst::afw::geom::MultiXYTransform Class Reference

Wrap a sequence of multiple XYTransforms. More...

#include <XYTransform.h>

Inheritance diagram for lsst::afw::geom::MultiXYTransform:
lsst::afw::geom::XYTransform lsst::daf::base::Citizen

Public Types

typedef std::vector
< boost::shared_ptr
< XYTransform const > > 
TransformList
 
- Public Types inherited from lsst::afw::geom::XYTransform
typedef afw::geom::Point2D Point2D
 
typedef afw::geom::AffineTransform AffineTransform
 
- Public Types inherited from lsst::daf::base::Citizen
enum  { magicSentinel = 0xdeadbeef }
 
typedef unsigned long memId
 Type of the block's ID. More...
 
typedef memId(* memNewCallback )(const memId cid)
 A function used to register a callback. More...
 
typedef memId(* memCallback )(const Citizen *ptr)
 

Public Member Functions

 MultiXYTransform (TransformList const &transformList)
 
virtual boost::shared_ptr
< XYTransform
clone () const
 returns a deep copy More...
 
virtual Point2D forwardTransform (Point2D const &point) const
 virtuals for forward and reverse transforms More...
 
virtual Point2D reverseTransform (Point2D const &point) const
 
virtual AffineTransform linearizeForwardTransform (Point2D const &point) const
 linearized forward and reversed transforms More...
 
virtual AffineTransform linearizeReverseTransform (Point2D const &point) const
 
TransformList getTransformList () const
 
- Public Member Functions inherited from lsst::afw::geom::XYTransform
 XYTransform ()
 
virtual ~XYTransform ()
 
virtual boost::shared_ptr
< XYTransform
invert () const
 returns a "deep inverse" in this sense that the forward+inverse transforms do not share state More...
 
- Public Member Functions inherited from lsst::daf::base::Citizen
 Citizen (const std::type_info &)
 
 Citizen (Citizen const &)
 
 ~Citizen ()
 
Citizenoperator= (Citizen const &)
 
std::string repr () const
 Return a string representation of a Citizen. More...
 
void markPersistent (void)
 Mark a Citizen as persistent and not destroyed until process end. More...
 
memId getId () const
 Return the Citizen's ID. More...
 

Private Attributes

TransformList _transformList
 

Additional Inherited Members

- Static Public Member Functions inherited from lsst::daf::base::Citizen
static bool hasBeenCorrupted ()
 Check all allocated blocks for corruption. More...
 
static memId getNextMemId ()
 Return the memId of the next object to be allocated. More...
 
static int init ()
 Called once when the memory system is being initialised. More...
 
static int census (int, memId startingMemId=0)
 How many active Citizens are there? More...
 
static void census (std::ostream &stream, memId startingMemId=0)
 Print a list of all active Citizens to stream, sorted by ID. More...
 
static const std::vector
< const Citizen * > * 
census ()
 Return a (newly allocated) std::vector of active Citizens sorted by ID. More...
 
static memId setNewCallbackId (memId id)
 Call the NewCallback when block is allocated. More...
 
static memId setDeleteCallbackId (memId id)
 Call the current DeleteCallback when block is deleted. More...
 
static memNewCallback setNewCallback (memNewCallback func)
 Set the NewCallback function. More...
 
static memCallback setDeleteCallback (memCallback func)
 Set the DeleteCallback function. More...
 
static memCallback setCorruptionCallback (memCallback func)
 Set the CorruptionCallback function. More...
 

Detailed Description

Wrap a sequence of multiple XYTransforms.

forwardTransform executes transformList[i].forwardTransform in order 0, 1, 2..., e.g.

MultiXYTransform.forwardTransform(p) = transformList[n].forwardTransform(...(transformList[1].forwardTransform(transformList[0].forwardTransform(p))...)

Definition at line 133 of file XYTransform.h.

Member Typedef Documentation

typedef std::vector<boost::shared_ptr< XYTransform const> > lsst::afw::geom::MultiXYTransform::TransformList

Definition at line 136 of file XYTransform.h.

Constructor & Destructor Documentation

lsst::afw::geom::MultiXYTransform::MultiXYTransform ( TransformList const &  transformList)

Member Function Documentation

virtual boost::shared_ptr< XYTransform > lsst::afw::geom::MultiXYTransform::clone ( ) const
virtual

returns a deep copy

Implements lsst::afw::geom::XYTransform.

virtual Point2D lsst::afw::geom::MultiXYTransform::forwardTransform ( Point2D const &  point) const
virtual

virtuals for forward and reverse transforms

These routines are responsible for throwing exceptions if the 'point' arg is outside the domain of the transform.

Implements lsst::afw::geom::XYTransform.

TransformList lsst::afw::geom::MultiXYTransform::getTransformList ( ) const
inline

Definition at line 143 of file XYTransform.h.

143 { return _transformList; }
virtual AffineTransform lsst::afw::geom::MultiXYTransform::linearizeForwardTransform ( Point2D const &  point) const
virtual

linearized forward and reversed transforms

These are virtual but not pure virtual; there is a default implementation which calls forwardTransform() or reverseTransform() and takes finite differences with step size equal to one.

The following should always be satisfied for an arbitrary Point2D p (and analogously for the reverse transform) this->forwardTransform(p) == this->linearizeForwardTransform(p)(p);

Reimplemented from lsst::afw::geom::XYTransform.

virtual AffineTransform lsst::afw::geom::MultiXYTransform::linearizeReverseTransform ( Point2D const &  point) const
virtual

Reimplemented from lsst::afw::geom::XYTransform.

virtual Point2D lsst::afw::geom::MultiXYTransform::reverseTransform ( Point2D const &  point) const
virtual

Member Data Documentation

TransformList lsst::afw::geom::MultiXYTransform::_transformList
private

Definition at line 145 of file XYTransform.h.


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