SFCGAL
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.
 
 PreparedGeometry (std::unique_ptr< Geometry > &&geometry, srid_t srid=0)
 Constructor.
 
 PreparedGeometry (Geometry *geometry, srid_t srid=0)
 Constructor.
 
virtual ~PreparedGeometry ()
 
const Geometrygeometry () const
 Geometry accessors.
 
Geometrygeometry ()
 
void resetGeometry (Geometry *geom)
 Geometry setter.
 
const srid_tSRID () const
 SRID read only accessor.
 
srid_tSRID ()
 SRID accessor.
 
const Envelopeenvelope () const
 Envelope accessor (using cache)
 
void invalidateCache ()
 Resets the cache.
 
std::string asEWKT (const int &numDecimals=-1) const
 Convert to an extended WKT (with SRID)
 
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.
 
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

◆ PreparedGeometry() [1/3]

SFCGAL::PreparedGeometry::PreparedGeometry ( )

Default constructor.

◆ PreparedGeometry() [2/3]

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

Constructor.

Parameters
geometrypointer to the underlying SFCGAL::Geometry. Takes ownership

◆ PreparedGeometry() [3/3]

SFCGAL::PreparedGeometry::PreparedGeometry ( Geometry * geometry,
srid_t srid = 0 )

Constructor.

Parameters
geometrypointer to the underlying SFCGAL::Geometry. Takes ownership

◆ ~PreparedGeometry()

SFCGAL::PreparedGeometry::~PreparedGeometry ( )
virtualdefault

Member Function Documentation

◆ asEWKB()

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

◆ asEWKT()

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

◆ envelope()

auto SFCGAL::PreparedGeometry::envelope ( ) const

Envelope accessor (using cache)

◆ geometry() [1/2]

auto SFCGAL::PreparedGeometry::geometry ( )

◆ geometry() [2/2]

auto SFCGAL::PreparedGeometry::geometry ( ) const

Geometry accessors.

◆ invalidateCache()

void SFCGAL::PreparedGeometry::invalidateCache ( )

Resets the cache.

◆ load()

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

◆ resetGeometry()

void SFCGAL::PreparedGeometry::resetGeometry ( Geometry * geom)

Geometry setter.

◆ save()

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

Serializer.

◆ serialize()

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

◆ SRID() [1/2]

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

SRID accessor.

◆ SRID() [2/2]

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

SRID read only accessor.

Member Data Documentation

◆ _envelope

boost::optional<Envelope> SFCGAL::PreparedGeometry::_envelope
mutableprotected

◆ _geometry

std::unique_ptr<Geometry> SFCGAL::PreparedGeometry::_geometry
protected

◆ _srid

srid_t SFCGAL::PreparedGeometry::_srid
protected