SFCGAL  2.2.0
Public Member Functions | Protected Attributes | List of all members
SFCGAL::PreparedGeometry Class Reference

A PreparedGeometry is a shell around a SFCGAL::Geometry. More...

#include <PreparedGeometry.h>

Inheritance diagram for SFCGAL::PreparedGeometry:

Public Member Functions

 PreparedGeometry ()
 Default constructor. More...
 
 PreparedGeometry (std::unique_ptr< Geometry > &&geometry, srid_t srid=0)
 Constructor. More...
 
 PreparedGeometry (Geometry *geometry, srid_t srid=0)
 Constructor. More...
 
virtual ~PreparedGeometry ()
 
const Geometry & geometry () const
 Geometry accessors. More...
 
Geometry & geometry ()
 
void resetGeometry (Geometry *geom)
 Geometry setter. More...
 
const srid_tSRID () const
 SRID read only accessor. More...
 
srid_tSRID ()
 SRID accessor. More...
 
const Envelopeenvelope () const
 Envelope accessor (using cache) More...
 
void invalidateCache ()
 Resets the cache. More...
 
std::string asEWKT (const int &numDecimals=-1) const
 Convert to an extended WKT (with SRID) More...
 
auto asEWKB (boost::endian::order wkbOrder=boost::endian::order::native, bool asHex=false) const -> std::string
 
template<class Archive >
void save (Archive &ar, const unsigned int) const
 Serializer. More...
 
template<class Archive >
void load (Archive &ar, const unsigned int)
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Protected Attributes

std::unique_ptr< Geometry > _geometry
 
srid_t _srid
 
boost::optional< Envelope_envelope
 

Detailed Description

A PreparedGeometry is a shell around a SFCGAL::Geometry.

It is used to store annex data, like SRID or cached computations

It is noncopyable since it stores a std::unique_ptr<SFCGAL::Geometry>

Constructor & Destructor Documentation

SFCGAL::PreparedGeometry::PreparedGeometry ( )

Default constructor.

SFCGAL::PreparedGeometry::PreparedGeometry ( std::unique_ptr< Geometry > &&  geometry,
srid_t  srid = 0 
)

Constructor.

Parameters
geometrypointer to the underlying SFCGAL::Geometry. Takes ownership
SFCGAL::PreparedGeometry::PreparedGeometry ( Geometry *  geometry,
srid_t  srid = 0 
)

Constructor.

Parameters
geometrypointer to the underlying SFCGAL::Geometry. Takes ownership
SFCGAL::PreparedGeometry::~PreparedGeometry ( )
virtualdefault

Member Function Documentation

auto SFCGAL::PreparedGeometry::asEWKB ( boost::endian::order  wkbOrder = boost::endian::order::native,
bool  asHex = false 
) const -> std::string
auto SFCGAL::PreparedGeometry::asEWKT ( const int &  numDecimals = -1) const

Convert to an extended WKT (with SRID)

Parameters
numDecimalsnumber of decimals, -1 for keeping the exact rational representation, if possible
auto SFCGAL::PreparedGeometry::envelope ( ) const

Envelope accessor (using cache)

auto SFCGAL::PreparedGeometry::geometry ( ) const

Geometry accessors.

auto SFCGAL::PreparedGeometry::geometry ( )
void SFCGAL::PreparedGeometry::invalidateCache ( )

Resets the cache.

template<class Archive >
void SFCGAL::PreparedGeometry::load ( Archive &  ar,
const unsigned  int 
)
inline
void SFCGAL::PreparedGeometry::resetGeometry ( Geometry *  geom)

Geometry setter.

template<class Archive >
void SFCGAL::PreparedGeometry::save ( Archive &  ar,
const unsigned  int 
) const
inline

Serializer.

template<class Archive >
void SFCGAL::PreparedGeometry::serialize ( Archive &  ar,
const unsigned int  version 
)
inline
const srid_t& SFCGAL::PreparedGeometry::SRID ( ) const
inline

SRID read only accessor.

srid_t& SFCGAL::PreparedGeometry::SRID ( )
inline

SRID accessor.

Member Data Documentation

boost::optional<Envelope> SFCGAL::PreparedGeometry::_envelope
mutableprotected
std::unique_ptr<Geometry> SFCGAL::PreparedGeometry::_geometry
protected
srid_t SFCGAL::PreparedGeometry::_srid
protected