Shapes
GIS made easy, a lightweight header-only planar geometry library for Modern C++
Classes | Public Member Functions | Friends | List of all members
simo::shapes::geometry_t< T > Class Template Reference
Inheritance diagram for simo::shapes::geometry_t< T >:
simo::shapes::basic_geometry< geometry_t< T > >

Public Member Functions

 geometry_t (const geometry_t &other)
 
geometry_toperator= (const geometry_t &other)
 
 geometry_t (geometry_t &&other) noexcept
 
 geometry_t (const point_t< T > &p)
 
 geometry_t (const point_z_t< T > &p)
 
 geometry_t (const point_m_t< T > &value)
 
 geometry_t (const point_zm_t< T > &value)
 
 geometry_t (const multipoint_t< T > &value)
 
 geometry_t (const multipoint_z_t< T > &value)
 
 geometry_t (const multipoint_m_t< T > &value)
 
 geometry_t (const multipoint_zm_t< T > &value)
 
 geometry_t (const linestring_t< T > &value)
 
 geometry_t (const linestring_z_t< T > &value)
 
 geometry_t (const linestring_m_t< T > &value)
 
 geometry_t (const linestring_zm_t< T > &value)
 
 geometry_t (const multilinestring_t< T > &value)
 
 geometry_t (const multilinestring_z_t< T > &value)
 
 geometry_t (const multilinestring_m_t< T > &value)
 
 geometry_t (const multilinestring_zm_t< T > &value)
 
 geometry_t (const polygon_t< T > &value)
 
 geometry_t (const polygon_z_t< T > &value)
 
 geometry_t (const polygon_m_t< T > &value)
 
 geometry_t (const polygon_zm_t< T > &value)
 
 geometry_t (const multipolygon_t< T > &value)
 
 geometry_t (const multipolygon_z_t< T > &value)
 
 geometry_t (const multipolygon_m_t< T > &value)
 
 geometry_t (const multipolygon_zm_t< T > &value)
 
template<typename ReturnType >
ReturnType * get ()
 
bool is_point ()
 
bool is_point_z ()
 
bool is_point_m ()
 
bool is_point_zm ()
 
bool is_multipoint ()
 
bool is_multipoint_z ()
 
bool is_multipoint_m ()
 
bool is_multipoint_zm ()
 
bool is_linestring ()
 
bool is_linestring_z ()
 
bool is_linestring_m ()
 
bool is_linestring_zm ()
 
bool is_multilinestring ()
 
bool is_multilinestring_z ()
 
bool is_multilinestring_m ()
 
bool is_multilinestring_zm ()
 
bool is_polygon ()
 
bool is_polygon_z ()
 
bool is_polygon_m ()
 
bool is_polygon_zm ()
 
bool is_multipolygon ()
 
bool is_multipolygon_z ()
 
bool is_multipolygon_m ()
 
bool is_multipolygon_zm ()
 
point_t< T > * get_point ()
 
point_z_t< T > * get_point_z ()
 
point_m_t< T > * get_point_m ()
 
point_zm_t< T > * get_point_zm ()
 
multipoint_t< T > * get_multipoint ()
 
multipoint_z_t< T > * get_multipoint_z ()
 
multipoint_m_t< T > * get_multipoint_m ()
 
multipoint_zm_t< T > * get_multipoint_zm ()
 
linestring_t< T > * get_linestring ()
 
linestring_z_t< T > * get_linestring_z ()
 
linestring_m_t< T > * get_linestring_m ()
 
linestring_zm_t< T > * get_linestring_zm ()
 
multilinestring_t< T > * get_multilinestring ()
 
multilinestring_z_t< T > * get_multilinestring_z ()
 
multilinestring_m_t< T > * get_multilinestring_m ()
 
multilinestring_zm_t< T > * get_multilinestring_zm ()
 
polygon_t< T > * get_polygon ()
 
polygon_z_t< T > * get_polygon_z ()
 
polygon_m_t< T > * get_polygon_m ()
 
polygon_zm_t< T > * get_polygon_zm ()
 
multipolygon_t< T > * get_multipolygon ()
 
multipolygon_z_t< T > * get_multipolygon_z ()
 
multipolygon_m_t< T > * get_multipolygon_m ()
 
multipolygon_zm_t< T > * get_multipolygon_zm ()
 
- Public Member Functions inherited from simo::shapes::basic_geometry< geometry_t< T > >
geometry_type geom_type () const noexcept
 Returns the geometry type. More...
 
std::string tagged_text () const noexcept
 Returns the geometry type as a string. More...
 
dimension_type dim () const noexcept
 Returns the dimension type for the geometry. More...
 
size_t ndim () const noexcept
 Returns the number of dimensions of the geometry. More...
 
void throw_for_invalid () const
 Raise an error if the geometry is invalid. More...
 
bool is_closed () const noexcept
 Whether the geometry is closed. More...
 
bool is_valid () const noexcept
 Whether the geometry is valid. More...
 
bounds_t bounds () const
 Returns the bounding box of the geometry. More...
 
bool has_z () const noexcept
 Whether the geometry has the z-coordinate. More...
 
bool has_m () const noexcept
 Whether the geometry has the m-coordinate (measurement coordinate) More...
 
std::string json (std::int32_t precision=-1) const
 Dumps the geojson representation of the geometry. More...
 
std::string wkt (std::int32_t precision=-1) const
 Dumps the wkt representation of the geometry. More...
 

Friends

class basic_geometry< geometry_t< T > >
 for allow basic_geometry to access basic_point_zm private members
 
void swap (geometry_t &lhs, geometry_t &rhs)
 

Additional Inherited Members

- Static Public Member Functions inherited from simo::shapes::basic_geometry< geometry_t< T > >
static geometry_t< T > from_json (const std::string &json)
 Creates a geometry from a geojson string. More...
 
static geometry_t< T > from_wkt (const std::string &wkt)
 Creates a Geometry from a wkt string. More...
 

Detailed Description

template<typename T>
class simo::shapes::geometry_t< T >

Definition at line 18 of file geometry.hpp.


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