Loading [MathJax]/extensions/tex2jax.js
LSST Applications g0fba68d861+83433b07ee,g16d25e1f1b+23bc9e47ac,g1ec0fe41b4+3ea9d11450,g1fd858c14a+9be2b0f3b9,g2440f9efcc+8c5ae1fdc5,g35bb328faa+8c5ae1fdc5,g4a4af6cd76+d25431c27e,g4d2262a081+c74e83464e,g53246c7159+8c5ae1fdc5,g55585698de+1e04e59700,g56a49b3a55+92a7603e7a,g60b5630c4e+1e04e59700,g67b6fd64d1+3fc8cb0b9e,g78460c75b0+7e33a9eb6d,g786e29fd12+668abc6043,g8352419a5c+8c5ae1fdc5,g8852436030+60e38ee5ff,g89139ef638+3fc8cb0b9e,g94187f82dc+1e04e59700,g989de1cb63+3fc8cb0b9e,g9d31334357+1e04e59700,g9f33ca652e+0a83e03614,gabe3b4be73+8856018cbb,gabf8522325+977d9fabaf,gb1101e3267+8b4b9c8ed7,gb89ab40317+3fc8cb0b9e,gc0af124501+57ccba3ad1,gcf25f946ba+60e38ee5ff,gd6cbbdb0b4+1cc2750d2e,gd794735e4e+7be992507c,gdb1c4ca869+be65c9c1d7,gde0f65d7ad+c7f52e58fe,ge278dab8ac+6b863515ed,ge410e46f29+3fc8cb0b9e,gf35d7ec915+97dd712d81,gf5e32f922b+8c5ae1fdc5,gf618743f1b+747388abfa,gf67bdafdda+3fc8cb0b9e,w.2025.18
LSST Data Management Base Package
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ConvexPolygonImpl.h File Reference

This file contains the meat of the ConvexPolygon implementation. More...

Go to the source code of this file.

Namespaces

namespace  lsst
 
namespace  lsst::sphgeom
 
namespace  lsst::sphgeom::detail
 

Functions

template<typename VertexIterator>
UnitVector3d lsst::sphgeom::detail::centroid (VertexIterator const begin, VertexIterator const end)
 
template<typename VertexIterator>
Circle lsst::sphgeom::detail::boundingCircle (VertexIterator const begin, VertexIterator const end)
 
template<typename VertexIterator>
Box lsst::sphgeom::detail::boundingBox (VertexIterator const begin, VertexIterator const end)
 
template<typename VertexIterator>
Box3d lsst::sphgeom::detail::boundingBox3d (VertexIterator const begin, VertexIterator const end)
 
template<typename VertexIterator>
bool lsst::sphgeom::detail::contains (VertexIterator const begin, VertexIterator const end, UnitVector3d const &v)
 
template<typename VertexIterator>
Relationship lsst::sphgeom::detail::relate (VertexIterator const begin, VertexIterator const end, Box const &b)
 
template<typename VertexIterator>
Relationship lsst::sphgeom::detail::relate (VertexIterator const begin, VertexIterator const end, Circle const &c)
 
template<typename VertexIterator1, typename VertexIterator2>
Relationship lsst::sphgeom::detail::relate (VertexIterator1 const begin1, VertexIterator1 const end1, VertexIterator2 const begin2, VertexIterator2 const end2)
 
template<typename VertexIterator>
Relationship lsst::sphgeom::detail::relate (VertexIterator const begin, VertexIterator const end, ConvexPolygon const &p)
 
template<typename VertexIterator>
Relationship lsst::sphgeom::detail::relate (VertexIterator const begin, VertexIterator const end, Ellipse const &e)
 

Detailed Description

This file contains the meat of the ConvexPolygon implementation.

These functions are parametrized by vertex iterator type, making it possible to call them given only a fixed size vertex array. The functions which compute indexes of HTM triangles and Q3C quads intersecting a spherical region use them to avoid the cost of creating ConvexPolygon objects for each triangle/quad.

Definition in file ConvexPolygonImpl.h.