Commit 57e4b901 authored by wangdawei's avatar wangdawei

map dir

parent 99072d30
...@@ -553,7 +553,7 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec, ...@@ -553,7 +553,7 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec,
pcl::io::loadPCDFile(pcdInfo.pcdPath, pc); pcl::io::loadPCDFile(pcdInfo.pcdPath, pc);
if(pcdInfo.taskName.size()){ if(pcdInfo.taskName.size()){
LocalCartesian tempProj(pcdInfo.taskCenter.y(), LocalCartesian tempProj(pcdInfo.taskCenter.y(),
pcdInfo.taskCenter.z(), pcdInfo.taskCenter.x(),
pcdInfo.taskCenter.z()); pcdInfo.taskCenter.z());
vector<Vector3d> blhVec; vector<Vector3d> blhVec;
blhVec.reserve(pc.size()); blhVec.reserve(pc.size());
...@@ -574,20 +574,20 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec, ...@@ -574,20 +574,20 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec,
p.z = point.z(); p.z = point.z();
pc.push_back(p); pc.push_back(p);
} }
*pointcloud += pc;
} }
*pointcloud += pc;
} }
LOG(INFO) << "pointcloud->size() to dispatch: " << pointcloud->size(); LOG(INFO) << "pointcloud->size() to dispatch: " << pointcloud->size();
PointCloudExport downSampledPc; // PointCloudExport downSampledPc;
downSampledPc.reserve(pointcloud->size() * 0.06); // downSampledPc.reserve(pointcloud->size() * 0.06);
for(size_t i = 0; i < pointcloud->size(); i++){ // for(size_t i = 0; i < pointcloud->size(); i++){
if(i % 20 != 0){ // if(i % 20 != 0){
continue; // continue;
} // }
const auto& p = pointcloud->at(i); // const auto& p = pointcloud->at(i);
downSampledPc.push_back(p); // downSampledPc.push_back(p);
} // }
pcl::io::savePCDFileBinary(ieBaseDir_ + "/downSampledPc.pcd", downSampledPc); // pcl::io::savePCDFileBinary(ieBaseDir_ + "/downSampledPc.pcd", downSampledPc);
boost::shared_ptr<Dispatch> dispatch(new Dispatch(pointcloud)); boost::shared_ptr<Dispatch> dispatch(new Dispatch(pointcloud));
// dispatch.setMeshId(meshId); // dispatch.setMeshId(meshId);
......
...@@ -44,34 +44,15 @@ boost::shared_ptr<GridLayer> Dispatch::getMeshLayer() ...@@ -44,34 +44,15 @@ boost::shared_ptr<GridLayer> Dispatch::getMeshLayer()
void Dispatch::configOffset() void Dispatch::configOffset()
{ {
vector<Vector3d> avgPosiVec; double x = 0, y = 0, z = 0;
Vector3d totalPosi = Vector3d::Zero(); for(const auto &point : pointcloud_->points){
size_t cnt = 0; x += point.x;
for(size_t i = 0; i < pointcloud_->size(); i++){ y += point.y;
if(i > 0 && i % 1000000 == 0){
LOG(INFO) << "totalPosi: " << totalPosi.transpose()
<< " cnt: " << cnt;
avgPosiVec.push_back(totalPosi / cnt);
totalPosi = Vector3d::Zero();
cnt = 0;
}
const auto &point = pointcloud_->at(i);
if(isnanf(point.x) || isnanf(point.y)){
// LOG_EVERY_N(INFO, 999999) << "nan";
continue;
}
totalPosi.x() += point.x;
totalPosi.y() += point.y;
// z += point.z; // z += point.z;
cnt++;
}
if(cnt > 0){
avgPosiVec.push_back(totalPosi / cnt);
} }
for(const auto &avg : avgPosiVec){ offset_ = {x / pointcloud_->size(),
offset_ += avg; y / pointcloud_->size(),
} z / pointcloud_->size()};
offset_ = offset_ / avgPosiVec.size();
offset_ = {lround(offset_.x() / GridResolutionHigh) * GridResolutionHigh, offset_ = {lround(offset_.x() / GridResolutionHigh) * GridResolutionHigh,
lround(offset_.y() / GridResolutionHigh) * GridResolutionHigh, lround(offset_.y() / GridResolutionHigh) * GridResolutionHigh,
0 0
...@@ -147,13 +128,8 @@ void Dispatch::dispatchPoint(const PointExport &point) ...@@ -147,13 +128,8 @@ void Dispatch::dispatchPoint(const PointExport &point)
// auto gi = bl[0]->getGridIndexByPoint(p); // auto gi = bl[0]->getGridIndexByPoint(p);
Vector2i blockIndex = meshLayer_->getGridIndexByPoint(point); Vector2i blockIndex = meshLayer_->getGridIndexByPoint(point);
BlockGrid* block; BlockGrid* block = reinterpret_cast<BlockGrid*>(
try{ meshLayer_->getBlock(blockIndex).get());
block = reinterpret_cast<BlockGrid*>(
meshLayer_->getBlock(blockIndex).get());
} catch (exception e){
LOG(INFO) << blockIndex.transpose();
}
vector<boost::shared_ptr<GridLayer>> blockLayers = vector<boost::shared_ptr<GridLayer>> blockLayers =
block->getLayers(); block->getLayers();
for(const auto &blockLayer : blockLayers){ for(const auto &blockLayer : blockLayers){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment