Commit fe296374 authored by wangdawei's avatar wangdawei

map dir

parent dcad559d
...@@ -552,8 +552,8 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec, ...@@ -552,8 +552,8 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec,
PointCloudExport pc; PointCloudExport pc;
pcl::io::loadPCDFile(pcdInfo.pcdPath, pc); pcl::io::loadPCDFile(pcdInfo.pcdPath, pc);
if(pcdInfo.taskName.size()){ if(pcdInfo.taskName.size()){
LocalCartesian tempProj(pcdInfo.taskCenter.x(), LocalCartesian tempProj(pcdInfo.taskCenter.y(),
pcdInfo.taskCenter.y(), pcdInfo.taskCenter.z(),
pcdInfo.taskCenter.z()); pcdInfo.taskCenter.z());
vector<Vector3d> blhVec; vector<Vector3d> blhVec;
blhVec.reserve(pc.size()); blhVec.reserve(pc.size());
...@@ -588,12 +588,7 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec, ...@@ -588,12 +588,7 @@ void AdjustPPK::Compress(const vector<PCDPathInfo> &pcdPathVec,
// downSampledPc.push_back(p); // downSampledPc.push_back(p);
// } // }
// pcl::io::savePCDFileBinary(ieBaseDir_ + "/downSampledPc.pcd", downSampledPc); // pcl::io::savePCDFileBinary(ieBaseDir_ + "/downSampledPc.pcd", downSampledPc);
for(size_t i = 0; i < pointcloud->size(); i++){
const auto &point = pointcloud->at(i);
if(isnanf(point.x) || isnanf(point.y)){
LOG_EVERY_N(INFO, 999999) << "nan";
}
}
boost::shared_ptr<Dispatch> dispatch(new Dispatch(pointcloud)); boost::shared_ptr<Dispatch> dispatch(new Dispatch(pointcloud));
// dispatch.setMeshId(meshId); // dispatch.setMeshId(meshId);
dispatch->configOffset(); dispatch->configOffset();
......
...@@ -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{
block = reinterpret_cast<BlockGrid*>(
meshLayer_->getBlock(blockIndex).get()); 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