MySQL  8.0.22
Source Code Documentation
gis::Wkb_visitor Class Reference

A visitor that serializes the geometry to little-endian WKB and appends it to a string. More...

#include <wkb_visitor.h>

Inheritance diagram for gis::Wkb_visitor:
gis::Nop_visitor gis::Geometry_visitor

Public Member Functions

 Wkb_visitor (const dd::Spatial_reference_system *srs, char *wkb, size_t wkb_size)
 Construct a new WKB visitor. More...
 
bool visit_enter (Geometry *) override
 Enters a compound geometry. More...
 
bool visit_enter (Linestring *ls) override
 
bool visit_enter (Polygon *py) override
 
bool visit_enter (Geometrycollection *gc) override
 
bool visit (Point *pt) override
 
- Public Member Functions inherited from gis::Nop_visitor
bool visit_enter (Curve *c) override
 
bool visit_enter (Linearring *lr) override
 
bool visit_enter (Surface *s) override
 
bool visit_enter (Multipoint *mpt) override
 
bool visit_enter (Multicurve *mc) override
 
bool visit_enter (Multilinestring *mls) override
 
bool visit_enter (Multisurface *ms) override
 
bool visit_enter (Multipolygon *mpy) override
 
bool visit (Geometry *) override
 Visits a geometry. More...
 
bool visit (Curve *c) override
 
bool visit (Linestring *ls) override
 
bool visit (Linearring *lr) override
 
bool visit (Surface *s) override
 
bool visit (Polygon *py) override
 
bool visit (Geometrycollection *gc) override
 
bool visit (Multipoint *mpt) override
 
bool visit (Multicurve *mc) override
 
bool visit (Multilinestring *mls) override
 
bool visit (Multisurface *ms) override
 
bool visit (Multipolygon *mpy) override
 
bool visit_leave (Geometry *) override
 Leaves a compound geometry. More...
 
bool visit_leave (Curve *c) override
 
bool visit_leave (Linestring *ls) override
 
bool visit_leave (Linearring *lr) override
 
bool visit_leave (Surface *s) override
 
bool visit_leave (Polygon *py) override
 
bool visit_leave (Geometrycollection *gc) override
 
bool visit_leave (Multipoint *mpt) override
 
bool visit_leave (Multicurve *mc) override
 
bool visit_leave (Multilinestring *mls) override
 
bool visit_leave (Multisurface *ms) override
 
bool visit_leave (Multipolygon *mpy) override
 
- Public Member Functions inherited from gis::Geometry_visitor
 Geometry_visitor ()
 
virtual ~Geometry_visitor ()
 

Private Attributes

const dd::Spatial_reference_systemm_srs
 Spatial reference system of the geometry. More...
 
const char * m_wkb
 The WKB string. More...
 
const size_t m_wkb_size
 Size of the buffer allocated for the WKB string. More...
 
char * m_wkb_current_position
 The position of the next character to be added to the string. More...
 

Detailed Description

A visitor that serializes the geometry to little-endian WKB and appends it to a string.

Constructor & Destructor Documentation

◆ Wkb_visitor()

gis::Wkb_visitor::Wkb_visitor ( const dd::Spatial_reference_system srs,
char *  wkb,
size_t  wkb_size 
)
inline

Construct a new WKB visitor.

Parameters
[in]srsThe spatial reference system of the geometry.
[in]wkbThe string to write the WKB to.
[in]wkb_sizeThe length of the WKB string buffer.

Member Function Documentation

◆ visit()

bool gis::Wkb_visitor::visit ( Point pt)
overridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [1/4]

bool gis::Wkb_visitor::visit_enter ( Geometry g)
inlineoverridevirtual

Enters a compound geometry.

This is called on entry to a compound geometry, i.e., all geometries except points.

Parameters
gThe geometry to visit.
Return values
trueDon't descend into children.
falseDescend into children.

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [2/4]

bool gis::Wkb_visitor::visit_enter ( Linestring ls)
overridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [3/4]

bool gis::Wkb_visitor::visit_enter ( Polygon py)
overridevirtual

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [4/4]

bool gis::Wkb_visitor::visit_enter ( Geometrycollection gc)
overridevirtual

Reimplemented from gis::Nop_visitor.

Member Data Documentation

◆ m_srs

const dd::Spatial_reference_system* gis::Wkb_visitor::m_srs
private

Spatial reference system of the geometry.

◆ m_wkb

const char* gis::Wkb_visitor::m_wkb
private

The WKB string.

◆ m_wkb_current_position

char* gis::Wkb_visitor::m_wkb_current_position
private

The position of the next character to be added to the string.

◆ m_wkb_size

const size_t gis::Wkb_visitor::m_wkb_size
private

Size of the buffer allocated for the WKB string.


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