Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
duckdb::GeometryStatsData Struct Reference
Collaboration diagram for duckdb::GeometryStatsData:

Public Member Functions

void SetEmpty ()
 
void SetUnknown ()
 
void Merge (const GeometryStatsData &other)
 
void Update (const string_t &geom_blob)
 

Public Attributes

GeometryTypeSet types
 
GeometryExtent extent
 
GeometryStatsFlags flags
 

Member Function Documentation

◆ SetEmpty()

void duckdb::GeometryStatsData::SetEmpty ( )
inline
15894 {
15895 types = GeometryTypeSet::Empty();
15896 extent = GeometryExtent::Empty();
15897 flags = GeometryStatsFlags::Empty();
15898 }

◆ SetUnknown()

void duckdb::GeometryStatsData::SetUnknown ( )
inline
15900 {
15901 types = GeometryTypeSet::Unknown();
15902 extent = GeometryExtent::Unknown();
15903 flags = GeometryStatsFlags::Unknown();
15904 }

◆ Merge()

void duckdb::GeometryStatsData::Merge ( const GeometryStatsData other)
inline
15906 {
15907 types.Merge(other.types);
15908 extent.Merge(other.extent);
15909 flags.Merge(other.flags);
15910 }

◆ Update()

void duckdb::GeometryStatsData::Update ( const string_t geom_blob)
inline
15912 {
15913 // Parse type
15914 const auto type_info = Geometry::GetType(geom_blob);
15915 types.Add(type_info.first, type_info.second);
15916
15917 // Update extent
15918 bool has_any_empty = false;
15919 const auto vert_count = Geometry::GetExtent(geom_blob, extent, has_any_empty);
15920
15921 // Update flags
15922 if (has_any_empty) {
15923 flags.SetHasEmptyPart();
15924 } else {
15925 flags.SetHasNonEmptyPart();
15926 }
15927
15928 if (vert_count == 0) {
15929 flags.SetHasEmptyGeometry();
15930 } else {
15931 flags.SetHasNonEmptyGeometry();
15932 }
15933 }
static DUCKDB_API pair< GeometryType, VertexType > GetType(const string_t &wkb)
Get the geometry type and vertex type from the WKB.
static DUCKDB_API uint32_t GetExtent(const string_t &wkb, GeometryExtent &extent)
Update the bounding box, return number of vertices processed.

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