8 #ifndef Navigation_ShortcutTrajectoryConfig_H
9 #define Navigation_ShortcutTrajectoryConfig_H
17 class ShortcutTrajectoryConfigBlob;
19 class AdvancedShortcutTrajectoryConfig
24 AdvancedShortcutTrajectoryConfig() { SetDefaults(); }
27 bool operator==(
const AdvancedShortcutTrajectoryConfig& other)
const;
28 bool operator!=(
const AdvancedShortcutTrajectoryConfig& other)
const {
return !operator==(other); }
78 inline void SwapEndianness(
Endianness::Target e, AdvancedShortcutTrajectoryConfig&
self)
80 SwapEndianness(e,
self.m_snapOnPathDistance);
81 SwapEndianness(e,
self.m_shortcutAttemptDistanceRatio);
82 SwapEndianness(e,
self.m_shortcutForceAttemptDistance);
83 SwapEndianness(e,
self.m_forwardSamplingDistance);
84 SwapEndianness(e,
self.m_forwardMaxDistance);
85 SwapEndianness(e,
self.m_backwardSamplingDistance);
86 SwapEndianness(e,
self.m_backwardMaxDistance);
91 class ShortcutTrajectoryConfig
96 ShortcutTrajectoryConfig() { SetDefaults(); }
98 void InitFromBlob(
const ShortcutTrajectoryConfigBlob& blob);
100 bool operator==(
const ShortcutTrajectoryConfig& other)
const;
101 bool operator!=(
const ShortcutTrajectoryConfig& other)
const {
return !operator==(other); }
111 AdvancedShortcutTrajectoryConfig m_advancedConfig;
116 KY_INLINE
void AdvancedShortcutTrajectoryConfig::SetDefaults()
118 m_snapOnPathDistance = 0.05f;
119 m_shortcutAttemptDistanceRatio = 0.7f;
120 m_shortcutForceAttemptDistance = 0.5f;
121 m_forwardSamplingDistance = 1.f;
122 m_forwardMaxDistance = 10.f;
123 m_backwardSamplingDistance = 1.f;
124 m_backwardMaxDistance = 10.f;
126 KY_INLINE
bool AdvancedShortcutTrajectoryConfig::operator==(
const AdvancedShortcutTrajectoryConfig& other)
const
128 return m_snapOnPathDistance == other.m_snapOnPathDistance
129 && m_shortcutAttemptDistanceRatio == other.m_shortcutAttemptDistanceRatio
130 && m_shortcutForceAttemptDistance == other.m_shortcutForceAttemptDistance
131 && m_forwardSamplingDistance == other.m_forwardSamplingDistance
132 && m_forwardMaxDistance == other.m_forwardMaxDistance
133 && m_backwardSamplingDistance == other.m_backwardSamplingDistance
134 && m_backwardMaxDistance == other.m_backwardMaxDistance;
138 KY_INLINE
void ShortcutTrajectoryConfig::SetDefaults()
141 m_advancedConfig.SetDefaults();
144 KY_INLINE
bool ShortcutTrajectoryConfig::operator==(
const ShortcutTrajectoryConfig& other)
const
147 && m_advancedConfig == m_advancedConfig;
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
bool m_snapOnPath
Setting true forces the trajectory not to shortcut when the bot is at a distance from the path which ...
Definition: shortcuttrajectoryconfig.h:131
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43