MySQL  8.0.25
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
 
bool visit_enter (Geometry *) override
 
bool visit_enter (Curve *c) override
 
bool visit_enter (Linestring *ls) override
 
bool visit_enter (Linearring *lr) override
 
bool visit_enter (Surface *s) override
 
bool visit_enter (Polygon *py) override
 
bool visit_enter (Geometrycollection *gc) 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
 
bool visit (Point *pt) override
 
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
 
- 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() [1/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [2/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [3/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [4/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [5/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [6/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [7/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [8/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [9/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [10/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [11/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [12/14]

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

Reimplemented from gis::Nop_visitor.

◆ visit() [13/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit() [14/14]

bool gis::Nop_visitor::visit
inlineoverride

◆ visit_enter() [1/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [2/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [3/16]

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() [4/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [5/16]

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

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [6/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [7/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [8/16]

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

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [9/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [10/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [11/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [12/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [13/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [14/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

◆ visit_enter() [15/16]

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

Reimplemented from gis::Nop_visitor.

◆ visit_enter() [16/16]

bool gis::Nop_visitor::visit_enter
inlineoverride

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: