7#include <aws/location/LocationService_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/location/model/LegGeometry.h>
10#include <aws/location/model/Step.h>
23namespace LocationService
50 AWS_LOCATIONSERVICE_API
Leg() =
default;
66 template<
typename StartPositionT = Aws::Vector<
double>>
67 void SetStartPosition(StartPositionT&& value) { m_startPositionHasBeenSet =
true; m_startPosition = std::forward<StartPositionT>(value); }
68 template<
typename StartPositionT = Aws::Vector<
double>>
70 inline Leg&
AddStartPosition(
double value) { m_startPositionHasBeenSet =
true; m_startPosition.push_back(value);
return *
this; }
83 template<
typename EndPositionT = Aws::Vector<
double>>
84 void SetEndPosition(EndPositionT&& value) { m_endPositionHasBeenSet =
true; m_endPosition = std::forward<EndPositionT>(value); }
85 template<
typename EndPositionT = Aws::Vector<
double>>
87 inline Leg&
AddEndPosition(
double value) { m_endPositionHasBeenSet =
true; m_endPosition.push_back(value);
return *
this; }
99 inline void SetDistance(
double value) { m_distanceHasBeenSet =
true; m_distance = value; }
111 inline void SetDurationSeconds(
double value) { m_durationSecondsHasBeenSet =
true; m_durationSeconds = value; }
121 template<
typename GeometryT = LegGeometry>
122 void SetGeometry(GeometryT&& value) { m_geometryHasBeenSet =
true; m_geometry = std::forward<GeometryT>(value); }
123 template<
typename GeometryT = LegGeometry>
136 template<
typename StepsT = Aws::Vector<Step>>
137 void SetSteps(StepsT&& value) { m_stepsHasBeenSet =
true; m_steps = std::forward<StepsT>(value); }
138 template<
typename StepsT = Aws::Vector<Step>>
140 template<
typename StepsT = Step>
141 Leg&
AddSteps(StepsT&& value) { m_stepsHasBeenSet =
true; m_steps.emplace_back(std::forward<StepsT>(value));
return *
this; }
146 bool m_startPositionHasBeenSet =
false;
149 bool m_endPositionHasBeenSet =
false;
151 double m_distance{0.0};
152 bool m_distanceHasBeenSet =
false;
154 double m_durationSeconds{0.0};
155 bool m_durationSecondsHasBeenSet =
false;
157 LegGeometry m_geometry;
158 bool m_geometryHasBeenSet =
false;
161 bool m_stepsHasBeenSet =
false;
AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
void SetStartPosition(StartPositionT &&value)
double GetDurationSeconds() const
AWS_LOCATIONSERVICE_API Leg()=default
bool StartPositionHasBeenSet() const
Leg & WithDurationSeconds(double value)
bool EndPositionHasBeenSet() const
void SetDurationSeconds(double value)
void SetGeometry(GeometryT &&value)
Leg & WithStartPosition(StartPositionT &&value)
bool GeometryHasBeenSet() const
Leg & AddSteps(StepsT &&value)
void SetSteps(StepsT &&value)
Leg & AddEndPosition(double value)
bool DistanceHasBeenSet() const
const LegGeometry & GetGeometry() const
AWS_LOCATIONSERVICE_API Leg & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_LOCATIONSERVICE_API Leg(Aws::Utils::Json::JsonView jsonValue)
bool StepsHasBeenSet() const
bool DurationSecondsHasBeenSet() const
Leg & WithGeometry(GeometryT &&value)
Leg & WithDistance(double value)
double GetDistance() const
Leg & WithSteps(StepsT &&value)
Leg & AddStartPosition(double value)
const Aws::Vector< Step > & GetSteps() const
void SetEndPosition(EndPositionT &&value)
Leg & WithEndPosition(EndPositionT &&value)
void SetDistance(double value)
const Aws::Vector< double > & GetEndPosition() const
const Aws::Vector< double > & GetStartPosition() const
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue