Skip to content

Commit 27f52ac

Browse files
committed
Merge branch 'melodic-devel' into noetic-devel
2 parents 84057af + fdb80a5 commit 27f52ac

File tree

4 files changed

+26
-156
lines changed

4 files changed

+26
-156
lines changed

src/rviz/default_plugin/point_cloud_common.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -637,23 +637,6 @@ void PointCloudCommon::update(float /*wall_dt*/, float /*ros_dt*/)
637637
new_color_transformer_ = false;
638638
}
639639

640-
for (CloudInfoPtr& cloud_info : cloud_infos_)
641-
{
642-
if (!context_->getFrameManager()->getTransform(cloud_info->message_->header.frame_id, ros::Time(),
643-
cloud_info->position_, cloud_info->orientation_))
644-
{
645-
std::stringstream ss;
646-
ss << "Failed to transform from frame [" << cloud_info->message_->header.frame_id << "] to frame ["
647-
<< context_->getFrameManager()->getFixedFrame() << "]";
648-
display_->setStatusStd(StatusProperty::Error, "Message", ss.str());
649-
}
650-
else
651-
{
652-
cloud_info->scene_node_->setPosition(cloud_info->position_);
653-
cloud_info->scene_node_->setOrientation(cloud_info->orientation_);
654-
}
655-
}
656-
657640
updateStatus();
658641
}
659642

src/rviz/displays_panel.cpp

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -188,16 +188,8 @@ void DisplaysPanel::onDeleteDisplay()
188188
{
189189
QList<Display*> displays_to_delete = property_grid_->getSelectedObjects<Display>();
190190

191-
QModelIndex new_selected;
192-
193191
for (int i = 0; i < displays_to_delete.size(); i++)
194192
{
195-
if (i == 0)
196-
{
197-
QModelIndex first = property_grid_->getModel()->indexOf(displays_to_delete[i]);
198-
// This is safe because the first few rows cannot be deleted (they aren't "displays").
199-
new_selected = first.sibling(first.row() - 1, first.column());
200-
}
201193
// Displays can emit signals from other threads with self pointers. We're
202194
// freeing the display now, so ensure no one is listening to those signals.
203195
displays_to_delete[i]->disconnect();
@@ -206,8 +198,10 @@ void DisplaysPanel::onDeleteDisplay()
206198
// Delete display later in case there are pending signals to it.
207199
displays_to_delete[i]->deleteLater();
208200
}
209-
210-
QItemSelection selection(new_selected, new_selected);
201+
// Select new current index
202+
const QModelIndex& cur = property_grid_->currentIndex();
203+
QItemSelection selection(cur.sibling(cur.row(), 0),
204+
cur.sibling(cur.row(), cur.model()->columnCount() - 1));
211205
property_grid_->selectionModel()->select(selection, QItemSelectionModel::ClearAndSelect);
212206

213207
vis_manager_->notifyConfigChanged();

src/rviz/ogre_helpers/billboard_line.cpp

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ BillboardLine::BillboardLine(Ogre::SceneManager* scene_manager, Ogre::SceneNode*
7272
material_->getTechnique(0)->setLightingEnabled(false);
7373

7474
setNumLines(num_lines_);
75-
setMaxPointsPerLine(max_points_per_line_);
7675
}
7776

7877
BillboardLine::~BillboardLine()
@@ -169,9 +168,20 @@ void BillboardLine::setupChains()
169168

170169
void BillboardLine::setMaxPointsPerLine(uint32_t max)
171170
{
172-
max_points_per_line_ = max;
173-
174-
setupChains();
171+
if (max <= MAX_ELEMENTS)
172+
{
173+
max_points_per_line_ = max;
174+
setupChains();
175+
}
176+
else // need to split points across several lines
177+
{
178+
ROS_ASSERT(num_lines_ == 1);
179+
max_points_per_line_ = MAX_ELEMENTS;
180+
num_lines_ = max / MAX_ELEMENTS;
181+
if (max % MAX_ELEMENTS != 0)
182+
++num_lines_;
183+
setNumLines(num_lines_);
184+
}
175185
}
176186

177187
void BillboardLine::setNumLines(uint32_t num)
@@ -202,18 +212,21 @@ void BillboardLine::addPoint(const Ogre::Vector3& point)
202212

203213
void BillboardLine::addPoint(const Ogre::Vector3& point, const Ogre::ColourValue& color)
204214
{
205-
++num_elements_[current_line_];
206-
++total_elements_;
207-
208-
ROS_ASSERT(num_elements_[current_line_] <= max_points_per_line_);
209-
210215
++elements_in_current_chain_;
211216
if (elements_in_current_chain_ > MAX_ELEMENTS)
212217
{
213218
++current_chain_;
214219
elements_in_current_chain_ = 1;
220+
221+
if (max_points_per_line_ == MAX_ELEMENTS)
222+
newLine();
215223
}
216224

225+
++num_elements_[current_line_];
226+
++total_elements_;
227+
228+
ROS_ASSERT(num_elements_[current_line_] < max_points_per_line_);
229+
217230
Ogre::BillboardChain::Element e;
218231
e.position = point;
219232
e.width = width_;

src/test/point_cloud_test.py

Lines changed: 0 additions & 120 deletions
This file was deleted.

0 commit comments

Comments
 (0)