Skip to content

Commit 8d52ef0

Browse files
author
Onur Berk Tore
committed
Utilizes function to sequence trajectories
Onur Berk Tore [email protected]
1 parent 1f6c126 commit 8d52ef0

File tree

3 files changed

+2359
-7
lines changed

3 files changed

+2359
-7
lines changed

include/ignition/gazebo/rendering/SceneManager.hh

+6
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,12 @@ inline namespace IGNITION_GAZEBO_VERSION_NAMESPACE {
200200
/// \return Pointer to requested visual
201201
public: rendering::VisualPtr VisualById(Entity _id);
202202

203+
/// \brief Sequences Trajectories
204+
/// \param[in] _trajectories Actor trajectories
205+
/// \param[in] _delayStartTime Actor trajectory delay start time (miliseconds)
206+
public: void SequenceTrajectories(std::vector<common::TrajectoryInfo>& _trajectories,
207+
std::chrono::steady_clock::time_point _time);
208+
203209
/// \brief Create an actor
204210
/// \param[in] _id Unique actor id
205211
/// \param[in] _actor Actor sdf dom

src/rendering/SceneManager.cc

+15-7
Original file line numberDiff line numberDiff line change
@@ -910,6 +910,19 @@ rendering::MaterialPtr SceneManager::LoadMaterial(
910910
return material;
911911
}
912912

913+
void SceneManager::SequenceTrajectories(std::vector<common::TrajectoryInfo>& _trajectories,
914+
TP _time)
915+
{
916+
// sequencing all trajectories
917+
for (auto &trajectory : _trajectories)
918+
{
919+
auto dura = trajectory.Duration();
920+
trajectory.SetStartTime(_time);
921+
_time += dura;
922+
trajectory.SetEndTime(_time);
923+
}
924+
}
925+
913926
/////////////////////////////////////////////////
914927
rendering::VisualPtr SceneManager::CreateActor(Entity _id,
915928
const sdf::Actor &_actor, const std::string &_name, Entity _parentId)
@@ -1164,13 +1177,8 @@ rendering::VisualPtr SceneManager::CreateActor(Entity _id,
11641177
auto delayStartTime = std::chrono::milliseconds(
11651178
static_cast<int>(_actor.ScriptDelayStart() * 1000));
11661179
TP time(delayStartTime);
1167-
for (auto &trajectory : trajectories)
1168-
{
1169-
auto dura = trajectory.Duration();
1170-
trajectory.SetStartTime(time);
1171-
time += dura;
1172-
trajectory.SetEndTime(time);
1173-
}
1180+
this->SequenceTrajectories(trajectories, time);
1181+
11741182

11751183
// loop flag: add a placeholder trajectory to indicate no loop
11761184
if (!_actor.ScriptLoop())

0 commit comments

Comments
 (0)