cesium-native 0.50.0
Loading...
Searching...
No Matches
CesiumVectorData::GeoJsonFeature Struct Reference

A GeoJsonFeature object represents a spatially bounded "thing." It is a collection of information that is possibly linked to a geometry object. More...

#include <CesiumVectorData/GeoJsonObjectTypes.h>

Public Member Functions

 GeoJsonFeature ()=default
 Default constructor.
 
 GeoJsonFeature (GeoJsonFeature &&rhs) noexcept=default
 Move constructor.
 
 GeoJsonFeature (const GeoJsonFeature &rhs)
 Copy constructor.
 
 GeoJsonFeature (std::variant< std::monostate, std::string, int64_t > &&id, std::unique_ptr< GeoJsonObject > &&geometry, std::optional< CesiumUtility::JsonValue::Object > &&properties, std::optional< CesiumGeometry::AxisAlignedBox > &&boundingBox, CesiumUtility::JsonValue::Object &&foreignMembers)
 Creates a new GeoJsonFeature with the given values.
 
GeoJsonFeatureoperator= (const GeoJsonFeature &rhs)
 Copy assignment operator.
 
GeoJsonFeatureoperator= (GeoJsonFeature &&rhs) noexcept=default
 Move assignment operator.
 

Public Attributes

std::variant< std::monostate, std::string, int64_t > id = std::monostate()
 The "id" of this object. A Feature's ID is optional, but if specified it will be either a string or a number.
 
std::unique_ptr< GeoJsonObjectgeometry
 The GeoJsonGeometryObject associated with this Feature, if any.
 
std::optional< CesiumUtility::JsonValue::Objectproperties
 The set of additional properties specified on this Feature, if any.
 
std::optional< CesiumGeometry::AxisAlignedBoxboundingBox = std::nullopt
 The bounding box associated with this Feature value, if any.
 
CesiumUtility::JsonValue::Object foreignMembers
 Any members specified on this object that are not part of the specification for this object.
 
std::optional< VectorStylestyle = std::nullopt
 The style to apply to this object as well as any child object. If not set, the style of any parent object or the default style will be used.
 

Static Public Attributes

static constexpr GeoJsonObjectType TYPE = GeoJsonObjectType::Feature
 The GeoJsonObjectType for a Feature.
 

Detailed Description

A GeoJsonFeature object represents a spatially bounded "thing." It is a collection of information that is possibly linked to a geometry object.

Definition at line 310 of file GeoJsonObjectTypes.h.

Constructor & Destructor Documentation

◆ GeoJsonFeature()

CesiumVectorData::GeoJsonFeature::GeoJsonFeature ( std::variant< std::monostate, std::string, int64_t > && id,
std::unique_ptr< GeoJsonObject > && geometry,
std::optional< CesiumUtility::JsonValue::Object > && properties,
std::optional< CesiumGeometry::AxisAlignedBox > && boundingBox,
CesiumUtility::JsonValue::Object && foreignMembers )

Creates a new GeoJsonFeature with the given values.

Parameters
idThe ID of the new feature.
geometryThe GeoJSON geometry object contained in this GeoJsonFeature, if any.
propertiesProperties attached to this feature, if any.
boundingBoxThe bounding box defined for this feature, if any.
foreignMembersAny foreign members defined on this object in the source GeoJSON.

Member Data Documentation

◆ boundingBox

std::optional<CesiumGeometry::AxisAlignedBox> CesiumVectorData::GeoJsonFeature::boundingBox = std::nullopt

The bounding box associated with this Feature value, if any.

Definition at line 363 of file GeoJsonObjectTypes.h.

◆ foreignMembers

CesiumUtility::JsonValue::Object CesiumVectorData::GeoJsonFeature::foreignMembers
Initial value:
=
std::map< std::string, JsonValue > Object
The type to represent an Object JSON value.
Definition JsonValue.h:73

Any members specified on this object that are not part of the specification for this object.

See https://datatracker.ietf.org/doc/html/rfc7946#section-6.1 for more information.

Definition at line 372 of file GeoJsonObjectTypes.h.

◆ geometry

std::unique_ptr<GeoJsonObject> CesiumVectorData::GeoJsonFeature::geometry

The GeoJsonGeometryObject associated with this Feature, if any.

Definition at line 351 of file GeoJsonObjectTypes.h.

◆ id

std::variant<std::monostate, std::string, int64_t> CesiumVectorData::GeoJsonFeature::id = std::monostate()

The "id" of this object. A Feature's ID is optional, but if specified it will be either a string or a number.

Definition at line 346 of file GeoJsonObjectTypes.h.

◆ properties

std::optional<CesiumUtility::JsonValue::Object> CesiumVectorData::GeoJsonFeature::properties

The set of additional properties specified on this Feature, if any.

The properties field may contain any valid JSON object.

Definition at line 358 of file GeoJsonObjectTypes.h.

◆ style

std::optional<VectorStyle> CesiumVectorData::GeoJsonFeature::style = std::nullopt

The style to apply to this object as well as any child object. If not set, the style of any parent object or the default style will be used.

Definition at line 379 of file GeoJsonObjectTypes.h.

◆ TYPE

GeoJsonObjectType CesiumVectorData::GeoJsonFeature::TYPE = GeoJsonObjectType::Feature
staticconstexpr

The GeoJsonObjectType for a Feature.

Definition at line 340 of file GeoJsonObjectTypes.h.


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