gwnavruntime/world/botconfig.h Source File

botconfig.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 #pragma once
8 
19 
20 namespace Kaim
21 {
22 
26 enum TrajectoryMode { TrajectoryMode_Shortcut = 0, TrajectoryMode_Spline = 1 };
27 
34 enum TrajectoryFailureMode { TrajectoryFailureMode_Safe = 0, TrajectoryFailureMode_Unsafe = 1 };
35 
37 class BotConfig : public RefCountBase<BotConfig, MemStat_Bot>
38 {
39 public:
40  BotConfig() { SetDefaults(); }
41 
42  void SetDefaults()
43  {
44  // Shape Config
45  m_radius = 0.0f;
46  m_height = 0.0f;
47 
48  // Trajectory Mode
49  m_trajectoryMode = TrajectoryMode_Shortcut;
50 
51  // PathFind Config
52  m_pathFinderConfig.SetDefaults();
53  m_channelComputerConfig.SetDefaults();
54 
55  // PathProgress
56  m_pathProgressConfig.SetDefaults();
57 
58  // Trajectory
60  m_trajectoryFailureMode = TrajectoryFailureMode_Safe;
61  m_shortcutTrajectoryConfig.SetDefaults();
62  m_splineTrajectoryConfig.SetDefaults();
63 
64  // Trajectory Avoidance Config
65  m_enableAvoidance = false;
66  m_avoidanceConfig.SetDefaults();
67 
68  // Advanced
71  }
72 
73 public:
74  // ------------------- Shape Config -------------------
75 
78 
81 
82  // ------------------- Trajectory Mode -------------------
83 
86 
87  // ------------------- PathFind Config -------------------
88 
91 
95 
96  // ------------------- PathProgress Config -------------------
97 
100 
101  // ------------------- Trajectory Config -------------------
102 
106 
111 
114 
117 
118  // ------------------- Trajectory Avoidance Config -------------------
119 
122 
125 
126  // ------------------- Advanced Trajectory Config -------------------
127 
131 
134 };
135 
136 } // namespace Kaim
137 
TrajectoryMode
Enum that defines the 2 possible Trajectory modes.
Definition: botconfig.h:26
KyFloat32 m_maxDesiredLinearSpeed
The linear speed that is used by Bots unless they have to slow down (Avoidance, Arrival).
Definition: botconfig.h:105
TrajectoryMode m_trajectoryMode
Choose Trajectory mode between Shortcut (Straight Line) and Spline (CircleArcSpline, also activate Channel computation with Path).
Definition: botconfig.h:85
Set of parameters used to configure AvoidanceComputer.
Definition: avoidanceconfig.h:106
Class that configures how the Bot collects colliders (other bots, obstacles) around.
Definition: collidercollectorconfig.h:15
AvoidanceConfig m_avoidanceConfig
Configure the avoidance.
Definition: botconfig.h:124
Class that aggregates parameters that allow to configure the progress of a Bot on its path...
Definition: pathprogressconfig.h:53
TrajectoryFailureMode
Enum that defines the 2 possible behaviors in case the Trajectory cannot follow the path e...
Definition: botconfig.h:34
Class that aggregates parameters that allow to configure the channel computation of a Bot...
Definition: channelcomputerconfig.h:89
ChannelComputerConfig m_channelComputerConfig
Configure the channel computation, relevant when m_trajectoryMode = TrajectoryMode_Spline.
Definition: botconfig.h:94
PathProgressConfig m_pathProgressConfig
Configures how the Bot progress on Path.
Definition: botconfig.h:99
KyFloat32 m_trajectoryMinimalMoveDistance
Advanced.
Definition: botconfig.h:130
KyFloat32 m_radius
The Bot radius. If set to 0.0f, the Bot will use m_database generation metrics radius. In meters.
Definition: botconfig.h:77
TrajectoryFailureMode m_trajectoryFailureMode
Choose between Safe or Unsafe behavior when Trajectory cannot follow the Path.
Definition: botconfig.h:110
SplineTrajectoryConfig m_splineTrajectoryConfig
Trajectory configuration when TrajectoryMode = TrajectoryMode_Spline.
Definition: botconfig.h:116
Class that configures how the trajectory is computed from the Channel.
Definition: splinetrajectoryconfig.h:28
bool m_enableAvoidance
Enable the Bot avoidance of other Bots and Obstacles.
Definition: botconfig.h:121
KyFloat32 m_height
The Bot height. If set to 0.0f, the Bot will use m_database generation metrics height. In meters.
Definition: botconfig.h:80
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
Class that aggregates most important parameters that allow to configure the PathFinding of a Bot...
Definition: pathfinderconfig.h:19
void SetDefaults()
Sets all members to their default value.
Definition: collidercollectorconfig.h:23
Class that aggregates all parameters that allow to configure the PathFinding and the PathFollowing of...
Definition: botconfig.h:37
PathFinderConfig m_pathFinderConfig
Configure the Bot pathfinding.
Definition: botconfig.h:90
Set of parameters used by the ShortcutTrajectory and TargetOnPathComputer classes to update Bot targe...
Definition: shortcuttrajectoryconfig.h:89
ShortcutTrajectoryConfig m_shortcutTrajectoryConfig
Trajectory configuration when TrajectoryMode = TrajectoryMode_Shortcut.
Definition: botconfig.h:113
float KyFloat32
float
Definition: types.h:32
ColliderCollectorConfig m_colliderCollectorConfig
Advanced. Configure how a Bot collects potential colliders (other Bots, Obstacles) for the avoidance...
Definition: botconfig.h:133