lsst.afw  20.0.0-6-g4dd452d24+1caa149b74
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Related Functions | List of all members
lsst::afw::geom::polygon::Polygon Class Referencefinal

Cartesian polygons. More...

#include <Polygon.h>

Inheritance diagram for lsst::afw::geom::polygon::Polygon:
lsst::afw::table::io::PersistableFacade< Polygon > lsst::afw::typehandling::Storable lsst::afw::table::io::Persistable

Classes

struct  Impl
 

Public Types

typedef lsst::geom::Box2D Box
 
typedef lsst::geom::Point2D Point
 

Public Member Functions

 Polygon (Box const &box)
 Construct a rectangular Polygon whose vertices are the corners of a box. More...
 
 Polygon (Polygon const &)
 
 Polygon (Polygon &&)
 
Polygonoperator= (Polygon const &)
 
Polygonoperator= (Polygon &&)
 
 ~Polygon () override
 
 Polygon (Box const &box, TransformPoint2ToPoint2 const &transform)
 Construct a 4-sided Polygon from a transformed box. More...
 
 Polygon (Box const &box, lsst::geom::AffineTransform const &transform)
 Construct a 4-sided Polygon from a transformed box. More...
 
 Polygon (std::vector< Point > const &vertices)
 Construct a Polygon from a list of vertices. More...
 
void swap (Polygon &other) noexcept
 Swap two polygons. More...
 
size_t getNumEdges () const
 Return number of edges. More...
 
Box getBBox () const
 Return bounding box. More...
 
Point calculateCenter () const
 
double calculateArea () const
 
double calculatePerimeter () const
 
std::vector< PointgetVertices () const
 Get vector of vertices. More...
 
std::vector< Point >::const_iterator begin () const
 Iterator for vertices. More...
 
std::vector< Point >::const_iterator end () const
 
std::vector< std::pair< Point, Point > > getEdges () const
 Get vector of edges. More...
 
bool operator== (Polygon const &other) const
 
bool operator!= (Polygon const &other) const
 
std::size_t hash_value () const noexcept override
 Return a hash of this object. More...
 
bool contains (Point const &point) const
 Returns whether the polygon contains the point. More...
 
bool overlaps (Polygon const &other) const
 Returns whether the polygons overlap each other. More...
 
bool overlaps (Box const &box) const
 
std::shared_ptr< PolygonintersectionSingle (Polygon const &other) const
 Returns the intersection of two polygons. More...
 
std::shared_ptr< PolygonintersectionSingle (Box const &box) const
 
std::vector< std::shared_ptr< Polygon > > intersection (Polygon const &other) const
 Returns the intersection of two polygons. More...
 
std::vector< std::shared_ptr< Polygon > > intersection (Box const &box) const
 
std::shared_ptr< PolygonunionSingle (Polygon const &other) const
 Returns the union of two polygons. More...
 
std::shared_ptr< PolygonunionSingle (Box const &box) const
 
std::vector< std::shared_ptr< Polygon > > union_ (Polygon const &other) const
 Returns the union of two polygons. More...
 
std::vector< std::shared_ptr< Polygon > > union_ (Box const &box) const
 
std::vector< std::shared_ptr< Polygon > > symDifference (Polygon const &other) const
 Return the symmetric difference of two polygons. More...
 
std::vector< std::shared_ptr< Polygon > > symDifference (Box const &box) const
 
std::shared_ptr< Polygonsimplify (double const distance) const
 Return a simplified polygon. More...
 
std::vector< std::shared_ptr< Polygon > > operator& (Polygon const &rhs) const
 Operators for syntactic sugar. More...
 
std::vector< std::shared_ptr< Polygon > > operator& (Box const &rhs) const
 
std::vector< std::shared_ptr< Polygon > > operator| (Polygon const &rhs) const
 
std::vector< std::shared_ptr< Polygon > > operator| (Box const &rhs) const
 
std::vector< std::shared_ptr< Polygon > > operator^ (Polygon const &rhs) const
 
std::vector< std::shared_ptr< Polygon > > operator^ (Box const &rhs) const
 
std::shared_ptr< PolygonconvexHull () const
 Produce a polygon from the convex hull. More...
 
std::shared_ptr< Polygontransform (TransformPoint2ToPoint2 const &transform) const
 Transform the polygon. More...
 
std::shared_ptr< Polygontransform (lsst::geom::AffineTransform const &transform) const
 
std::shared_ptr< PolygonsubSample (size_t num) const
 Sub-sample each edge. More...
 
std::shared_ptr< PolygonsubSample (double maxLength) const
 
std::shared_ptr< afw::image::Image< float > > createImage (lsst::geom::Box2I const &bbox) const
 Create image of polygon. More...
 
std::shared_ptr< afw::image::Image< float > > createImage (lsst::geom::Extent2I const &extent) const
 
bool isPersistable () const noexcept override
 Whether Polygon is persistable which is always true. More...
 
std::shared_ptr< typehandling::StorablecloneStorable () const override
 Create a new Polygon that is a copy of this one. More...
 
std::string toString () const override
 Create a string representation of this object. More...
 
bool equals (typehandling::Storable const &other) const noexcept override
 Compare this object to another Storable. More...
 
void writeFits (std::string const &fileName, std::string const &mode="w") const
 Write the object to a regular FITS file. More...
 
void writeFits (fits::MemFileManager &manager, std::string const &mode="w") const
 Write the object to a FITS image in memory. More...
 
void writeFits (fits::Fits &fitsfile) const
 Write the object to an already-open FITS object. More...
 

Static Public Member Functions

static std::shared_ptr< PolygonreadFits (fits::Fits &fitsfile)
 Read an object from an already open FITS object. More...
 
static std::shared_ptr< PolygonreadFits (std::string const &fileName, int hdu=fits::DEFAULT_HDU)
 Read an object from a regular FITS file. More...
 
static std::shared_ptr< PolygonreadFits (fits::MemFileManager &manager, int hdu=fits::DEFAULT_HDU)
 Read an object from a FITS file in memory. More...
 
static std::shared_ptr< PolygondynamicCast (std::shared_ptr< Persistable > const &ptr)
 Dynamically cast a shared_ptr. More...
 

Protected Types

typedef io::OutputArchiveHandle OutputArchiveHandle
 

Protected Member Functions

std::string getPersistenceName () const override
 Return the unique name used to persist this object and look up its factory. More...
 
void write (OutputArchiveHandle &handle) const override
 Write the object to one or more catalogs. More...
 
virtual std::string getPythonModule () const
 Return the fully-qualified Python module that should be imported to guarantee that its factory is registered. More...
 

Static Protected Member Functions

template<class T >
static bool singleClassEquals (T const &lhs, Storable const &rhs)
 Test if a Storable is of a particular class and equal to another object. More...
 

Related Functions

(Note that these are not member functions.)

std::ostreamoperator<< (std::ostream &os, Storable const &storable)
 Output operator for Storable. More...
 

Detailed Description

Cartesian polygons.

Polygons are defined by a set of vertices

Definition at line 59 of file Polygon.h.

Member Typedef Documentation

◆ Box

Definition at line 61 of file Polygon.h.

◆ OutputArchiveHandle

typedef io::OutputArchiveHandle lsst::afw::table::io::Persistable::OutputArchiveHandle
protectedinherited

Definition at line 108 of file Persistable.h.

◆ Point

Definition at line 62 of file Polygon.h.

Constructor & Destructor Documentation

◆ Polygon() [1/6]

lsst::afw::geom::polygon::Polygon::Polygon ( Polygon::Box const &  box)
explicit

Construct a rectangular Polygon whose vertices are the corners of a box.

Definition at line 284 of file Polygon.cc.

◆ Polygon() [2/6]

lsst::afw::geom::polygon::Polygon::Polygon ( Polygon const &  )
default

◆ Polygon() [3/6]

lsst::afw::geom::polygon::Polygon::Polygon ( Polygon &&  )
default

◆ ~Polygon()

lsst::afw::geom::polygon::Polygon::~Polygon ( )
overridedefault

◆ Polygon() [4/6]

lsst::afw::geom::polygon::Polygon::Polygon ( Polygon::Box const &  box,
TransformPoint2ToPoint2 const &  transform 
)

Construct a 4-sided Polygon from a transformed box.

The resulting polygon has 4 vertices: transform.applyForward(bbox.getCorners())

Parameters
[in]boxInitial box
[in]transformCoordinate transform

Definition at line 288 of file Polygon.cc.

◆ Polygon() [5/6]

lsst::afw::geom::polygon::Polygon::Polygon ( Polygon::Box const &  box,
lsst::geom::AffineTransform const &  transform 
)

Construct a 4-sided Polygon from a transformed box.

The resulting polygon has 4 vertices: the corners of the box transformed by transform

Parameters
[in]boxInitial box
[in]transformCoordinate transform

Definition at line 295 of file Polygon.cc.

◆ Polygon() [6/6]

lsst::afw::geom::polygon::Polygon::Polygon ( std::vector< Point > const &  vertices)
explicit

Construct a Polygon from a list of vertices.

Definition at line 286 of file Polygon.cc.

Member Function Documentation

◆ begin()

std::vector< LsstPoint >::const_iterator lsst::afw::geom::polygon::Polygon::begin ( ) const

Iterator for vertices.

Iterates only over the "open" polygon vertices (i.e., same number as returned by "getNumEdges").

Definition at line 335 of file Polygon.cc.

◆ calculateArea()

double lsst::afw::geom::polygon::Polygon::calculateArea ( ) const

Definition at line 318 of file Polygon.cc.

◆ calculateCenter()

LsstPoint lsst::afw::geom::polygon::Polygon::calculateCenter ( ) const

Definition at line 314 of file Polygon.cc.

◆ calculatePerimeter()

double lsst::afw::geom::polygon::Polygon::calculatePerimeter ( ) const

Definition at line 320 of file Polygon.cc.

◆ cloneStorable()

std::shared_ptr< typehandling::Storable > lsst::afw::geom::polygon::Polygon::cloneStorable ( ) const
overridevirtual

Create a new Polygon that is a copy of this one.

Reimplemented from lsst::afw::typehandling::Storable.

Definition at line 591 of file Polygon.cc.

◆ contains()

bool lsst::afw::geom::polygon::Polygon::contains ( Point const &  point) const

Returns whether the polygon contains the point.

Definition at line 352 of file Polygon.cc.

◆ convexHull()

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::convexHull ( ) const

Produce a polygon from the convex hull.

Definition at line 400 of file Polygon.cc.

◆ createImage() [1/2]

std::shared_ptr< afw::image::Image< float > > lsst::afw::geom::polygon::Polygon::createImage ( lsst::geom::Box2I const &  bbox) const

Create image of polygon.

Pixels entirely contained within the polygon receive value unity, pixels entirely outside the polygon receive value zero, and pixels on the border receive a value equal to the fraction of the pixel within the polygon.

Note that the center of the lower-left pixel is 0,0.

Definition at line 443 of file Polygon.cc.

◆ createImage() [2/2]

std::shared_ptr<afw::image::Image<float> > lsst::afw::geom::polygon::Polygon::createImage ( lsst::geom::Extent2I const &  extent) const
inline

Definition at line 248 of file Polygon.h.

◆ dynamicCast()

Dynamically cast a shared_ptr.

Dynamically cast a shared pointer and raise on failure.

You must provide an explicit template instantiation in the .cc file for each class that inherits from PersistableFacade. Designed to work around RTTI issues on macOS with hidden symbols;

Exceptions
lsst::pex::exceptions::LogicErrorif the cast fails

param[in] ptr The pointer to be cast.

Returns
The cast pointer.
Exceptions
lsst::pex::exceptions::TypeErrorIf the dynamic cast fails.

Definition at line 218 of file Persistable.cc.

◆ end()

std::vector< LsstPoint >::const_iterator lsst::afw::geom::polygon::Polygon::end ( ) const

Definition at line 337 of file Polygon.cc.

◆ equals()

bool lsst::afw::geom::polygon::Polygon::equals ( typehandling::Storable const &  other) const
overridevirtualnoexcept

Compare this object to another Storable.

Returns
*this == other if other is a Polygon; otherwise false.

Reimplemented from lsst::afw::typehandling::Storable.

Definition at line 601 of file Polygon.cc.

◆ getBBox()

Polygon::Box lsst::afw::geom::polygon::Polygon::getBBox ( ) const

Return bounding box.

Definition at line 310 of file Polygon.cc.

◆ getEdges()

std::vector< std::pair< LsstPoint, LsstPoint > > lsst::afw::geom::polygon::Polygon::getEdges ( ) const

Get vector of edges.

Returns edges, as pairs of vertices.

Definition at line 322 of file Polygon.cc.

◆ getNumEdges()

size_t lsst::afw::geom::polygon::Polygon::getNumEdges ( ) const

Return number of edges.

Identical with the number of points

Definition at line 305 of file Polygon.cc.

◆ getPersistenceName()

std::string lsst::afw::geom::polygon::Polygon::getPersistenceName ( ) const
overrideprotectedvirtual

Return the unique name used to persist this object and look up its factory.

Must be less than ArchiveIndexSchema::MAX_NAME_LENGTH characters.

Reimplemented from lsst::afw::table::io::Persistable.

Definition at line 576 of file Polygon.cc.

◆ getPythonModule()

std::string lsst::afw::table::io::Persistable::getPythonModule ( ) const
protectedvirtualinherited

◆ getVertices()

std::vector< LsstPoint > lsst::afw::geom::polygon::Polygon::getVertices ( ) const

Get vector of vertices.

Note that the "closed" polygon vertices are returned, so the first and last vertex are identical and there is one more vertex than otherwise expected.

Definition at line 333 of file Polygon.cc.

◆ hash_value()

std::size_t lsst::afw::geom::polygon::Polygon::hash_value ( ) const
overridevirtualnoexcept

Return a hash of this object.

Reimplemented from lsst::afw::typehandling::Storable.

Definition at line 345 of file Polygon.cc.

◆ intersection() [1/2]

std::vector< std::shared_ptr< Polygon > > lsst::afw::geom::polygon::Polygon::intersection ( Box const &  box) const

Definition at line 370 of file Polygon.cc.

◆ intersection() [2/2]

std::vector< std::shared_ptr< Polygon > > lsst::afw::geom::polygon::Polygon::intersection ( Polygon const &  other) const

Returns the intersection of two polygons.

Handles the full range of possibilities.

Definition at line 366 of file Polygon.cc.

◆ intersectionSingle() [1/2]

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::intersectionSingle ( Box const &  box) const

Definition at line 362 of file Polygon.cc.

◆ intersectionSingle() [2/2]

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::intersectionSingle ( Polygon const &  other) const

Returns the intersection of two polygons.

Does not handle non-convex polygons (which might have multiple independent intersections), and is provided as a convenience for when the polygons are known to be convex (e.g., image borders) and overlapping.

Definition at line 358 of file Polygon.cc.

◆ isPersistable()

bool lsst::afw::geom::polygon::Polygon::isPersistable ( ) const
inlineoverridevirtualnoexcept

Whether Polygon is persistable which is always true.

Reimplemented from lsst::afw::table::io::Persistable.

Definition at line 254 of file Polygon.h.

◆ operator!=()

bool lsst::afw::geom::polygon::Polygon::operator!= ( Polygon const &  other) const
inline

Definition at line 138 of file Polygon.h.

◆ operator&() [1/2]

std::vector<std::shared_ptr<Polygon> > lsst::afw::geom::polygon::Polygon::operator& ( Box const &  rhs) const
inline

Definition at line 206 of file Polygon.h.

◆ operator&() [2/2]

std::vector<std::shared_ptr<Polygon> > lsst::afw::geom::polygon::Polygon::operator& ( Polygon const &  rhs) const
inline

Operators for syntactic sugar.

Definition at line 205 of file Polygon.h.

◆ operator=() [1/2]

Polygon & lsst::afw::geom::polygon::Polygon::operator= ( Polygon &&  )
default

◆ operator=() [2/2]

Polygon & lsst::afw::geom::polygon::Polygon::operator= ( Polygon const &  )
default

◆ operator==()

bool lsst::afw::geom::polygon::Polygon::operator== ( Polygon const &  other) const

Definition at line 341 of file Polygon.cc.

◆ operator^() [1/2]

std::vector<std::shared_ptr<Polygon> > lsst::afw::geom::polygon::Polygon::operator^ ( Box const &  rhs) const
inline

Definition at line 210 of file Polygon.h.

◆ operator^() [2/2]

std::vector<std::shared_ptr<Polygon> > lsst::afw::geom::polygon::Polygon::operator^ ( Polygon const &  rhs) const
inline

Definition at line 209 of file Polygon.h.

◆ operator|() [1/2]

std::vector<std::shared_ptr<Polygon> > lsst::afw::geom::polygon::Polygon::operator| ( Box const &  rhs) const
inline

Definition at line 208 of file Polygon.h.

◆ operator|() [2/2]

std::vector<std::shared_ptr<Polygon> > lsst::afw::geom::polygon::Polygon::operator| ( Polygon const &  rhs) const
inline

Definition at line 207 of file Polygon.h.

◆ overlaps() [1/2]

bool lsst::afw::geom::polygon::Polygon::overlaps ( Box const &  box) const

Definition at line 356 of file Polygon.cc.

◆ overlaps() [2/2]

bool lsst::afw::geom::polygon::Polygon::overlaps ( Polygon const &  other) const

Returns whether the polygons overlap each other.

Note that there may be no intersection if the polygons only share a boundary.

Definition at line 354 of file Polygon.cc.

◆ readFits() [1/3]

static std::shared_ptr<Polygon > lsst::afw::table::io::PersistableFacade< Polygon >::readFits ( fits::Fits fitsfile)
inlinestaticinherited

Read an object from an already open FITS object.

Parameters
[in]fitsfileFITS object to read from, already positioned at the desired HDU.

Definition at line 183 of file Persistable.h.

◆ readFits() [2/3]

static std::shared_ptr<Polygon > lsst::afw::table::io::PersistableFacade< Polygon >::readFits ( fits::MemFileManager manager,
int  hdu = fits::DEFAULT_HDU 
)
inlinestaticinherited

Read an object from a FITS file in memory.

Parameters
[in]managerManager for the memory to read from.
[in]hduHDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty.

Definition at line 205 of file Persistable.h.

◆ readFits() [3/3]

static std::shared_ptr<Polygon > lsst::afw::table::io::PersistableFacade< Polygon >::readFits ( std::string const &  fileName,
int  hdu = fits::DEFAULT_HDU 
)
inlinestaticinherited

Read an object from a regular FITS file.

Parameters
[in]fileNameName of the file to read.
[in]hduHDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty.

Definition at line 194 of file Persistable.h.

◆ simplify()

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::simplify ( double const  distance) const

Return a simplified polygon.

Removes unnecessary points (using the Douglas-Peucker algorithm).

Definition at line 394 of file Polygon.cc.

◆ singleClassEquals()

template<class T >
static bool lsst::afw::typehandling::Storable::singleClassEquals ( T const &  lhs,
Storable const &  rhs 
)
inlinestaticprotectedinherited

Test if a Storable is of a particular class and equal to another object.

This method template simplifies implementations of equals that delegate to operator== without supporting cross-class comparisons.

Template Parameters
TThe class expected of the two objects to be compared.
Parameters
lhs,rhsThe objects to compare. Note that rhs need not be a T, while lhs must be.
Returns
true if rhs is a T and lhs == rhs; false otherwise.
Exception Safety\n Provides the same level of exception safety as operator==.
Most implementations of operator== do not throw.
Note
This method template calls operator== with both arguments of compile-time type T const&. Its use is not recommended if there would be any ambiguity as to which operator== gets picked by overload resolution.

This method template is typically called from equals as:

bool MyType::equals(Storable const& other) const noexcept {
    return singleClassEquals(*this, other);
}

Definition at line 151 of file Storable.h.

◆ subSample() [1/2]

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::subSample ( double  maxLength) const

Definition at line 431 of file Polygon.cc.

◆ subSample() [2/2]

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::subSample ( size_t  num) const

Sub-sample each edge.

This should provide greater fidelity when transforming with a non-linear transform.

Definition at line 421 of file Polygon.cc.

◆ swap()

void lsst::afw::geom::polygon::Polygon::swap ( Polygon other)
inlinenoexcept

Swap two polygons.

Definition at line 102 of file Polygon.h.

◆ symDifference() [1/2]

std::vector< std::shared_ptr< Polygon > > lsst::afw::geom::polygon::Polygon::symDifference ( Box const &  box) const

Definition at line 390 of file Polygon.cc.

◆ symDifference() [2/2]

std::vector< std::shared_ptr< Polygon > > lsst::afw::geom::polygon::Polygon::symDifference ( Polygon const &  other) const

Return the symmetric difference of two polygons.

Definition at line 386 of file Polygon.cc.

◆ toString()

std::string lsst::afw::geom::polygon::Polygon::toString ( ) const
overridevirtual

Create a string representation of this object.

Reimplemented from lsst::afw::typehandling::Storable.

Definition at line 595 of file Polygon.cc.

◆ transform() [1/2]

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::transform ( lsst::geom::AffineTransform const &  transform) const
Parameters
transformTransform from original to target frame

Definition at line 411 of file Polygon.cc.

◆ transform() [2/2]

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::transform ( TransformPoint2ToPoint2 const &  transform) const

Transform the polygon.

The transformation is only applied to the vertices. If the transformation is non-linear, the edges will not reflect that, but simply join the vertices. Greater fidelity might be achieved by using "subSample" before transforming.

Parameters
transformTransform from original to target frame

Definition at line 406 of file Polygon.cc.

◆ union_() [1/2]

std::vector< std::shared_ptr< Polygon > > lsst::afw::geom::polygon::Polygon::union_ ( Box const &  box) const

Definition at line 384 of file Polygon.cc.

◆ union_() [2/2]

std::vector< std::shared_ptr< Polygon > > lsst::afw::geom::polygon::Polygon::union_ ( Polygon const &  other) const

Returns the union of two polygons.

Handles the full range of possibilities.

Note the trailing underscore in C++, due to "union" being a reserved word.

Definition at line 380 of file Polygon.cc.

◆ unionSingle() [1/2]

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::unionSingle ( Box const &  box) const

Definition at line 378 of file Polygon.cc.

◆ unionSingle() [2/2]

std::shared_ptr< Polygon > lsst::afw::geom::polygon::Polygon::unionSingle ( Polygon const &  other) const

Returns the union of two polygons.

Does not handle non-overlapping polygons, the union of which would be disjoint.

Definition at line 374 of file Polygon.cc.

◆ write()

void lsst::afw::geom::polygon::Polygon::write ( OutputArchiveHandle handle) const
overrideprotectedvirtual

Write the object to one or more catalogs.

The handle object passed to this function provides an interface for adding new catalogs and adding nested objects to the same archive (while checking for duplicates). See OutputArchiveHandle for more information.

Reimplemented from lsst::afw::table::io::Persistable.

Definition at line 578 of file Polygon.cc.

◆ writeFits() [1/3]

void lsst::afw::table::io::Persistable::writeFits ( fits::Fits fitsfile) const
inherited

Write the object to an already-open FITS object.

Parameters
[in]fitsfileOpen FITS object to write to.

Definition at line 18 of file Persistable.cc.

◆ writeFits() [2/3]

void lsst::afw::table::io::Persistable::writeFits ( fits::MemFileManager manager,
std::string const &  mode = "w" 
) const
inherited

Write the object to a FITS image in memory.

Parameters
[in]managerName of the file to write to.
[in]modeIf "w", any existing file with the given name will be overwritten. If "a", new HDUs will be appended to an existing file.

Definition at line 29 of file Persistable.cc.

◆ writeFits() [3/3]

void lsst::afw::table::io::Persistable::writeFits ( std::string const &  fileName,
std::string const &  mode = "w" 
) const
inherited

Write the object to a regular FITS file.

Parameters
[in]fileNameName of the file to write to.
[in]modeIf "w", any existing file with the given name will be overwritten. If "a", new HDUs will be appended to an existing file.

Definition at line 24 of file Persistable.cc.

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream os,
Storable const &  storable 
)
related

Output operator for Storable.

Parameters
osthe desired output stream
storablethe object to print
Returns
a reference to os
Exceptions
UnsupportedOperationExceptionThrown if storable does not have an implementation of Storable::toString.

Definition at line 174 of file Storable.h.


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