fix hints and warnings
This commit is contained in:
@@ -10,7 +10,7 @@ namespace PointCloudWeb.Server.ScanConverter
|
|||||||
{
|
{
|
||||||
internal class Program
|
internal class Program
|
||||||
{
|
{
|
||||||
private static void Main(string[] args)
|
private static void Main()
|
||||||
{
|
{
|
||||||
var scanPoints = File.ReadAllLines("C:\\Users\\timwu\\Desktop\\Scans\\0yGrad-edited-scan.csv")
|
var scanPoints = File.ReadAllLines("C:\\Users\\timwu\\Desktop\\Scans\\0yGrad-edited-scan.csv")
|
||||||
.Select(v => ScanDataPointFromCsv(v))
|
.Select(v => ScanDataPointFromCsv(v))
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||||
|
|
||||||
|
<s:String x:Key="/Default/CodeInspection/Highlighting/SweaWarningsMode/@EntryValue">ShowAndRun</s:String></wpf:ResourceDictionary>
|
||||||
@@ -3,7 +3,6 @@ using PointCloudWeb.Server.Models;
|
|||||||
using PointCloudWeb.Server.Services;
|
using PointCloudWeb.Server.Services;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace PointCloudWeb.Server.Controllers
|
namespace PointCloudWeb.Server.Controllers
|
||||||
{
|
{
|
||||||
@@ -11,11 +10,11 @@ namespace PointCloudWeb.Server.Controllers
|
|||||||
[Route("[controller]")]
|
[Route("[controller]")]
|
||||||
public class PointCloudController
|
public class PointCloudController
|
||||||
{
|
{
|
||||||
private readonly PointCloudService pointCloudService;
|
private readonly PointCloudService _pointCloudService;
|
||||||
|
|
||||||
public PointCloudController(PointCloudService pointCloudService)
|
public PointCloudController(PointCloudService pointCloudService)
|
||||||
{
|
{
|
||||||
this.pointCloudService = pointCloudService;
|
this._pointCloudService = pointCloudService;
|
||||||
}
|
}
|
||||||
|
|
||||||
private PointCloudDto ConvertPointCloudToDto(PointCloud pc) => new PointCloudDto(pc.Id, pc.TransformedPoints);
|
private PointCloudDto ConvertPointCloudToDto(PointCloud pc) => new PointCloudDto(pc.Id, pc.TransformedPoints);
|
||||||
@@ -24,7 +23,7 @@ namespace PointCloudWeb.Server.Controllers
|
|||||||
public IList<PointCloudDto> GetAll()
|
public IList<PointCloudDto> GetAll()
|
||||||
{
|
{
|
||||||
var result = new List<PointCloudDto>();
|
var result = new List<PointCloudDto>();
|
||||||
foreach (var pc in pointCloudService.GetAll())
|
foreach (var pc in _pointCloudService.GetAll())
|
||||||
result.Add(ConvertPointCloudToDto(pc));
|
result.Add(ConvertPointCloudToDto(pc));
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -33,7 +32,7 @@ namespace PointCloudWeb.Server.Controllers
|
|||||||
[HttpGet]
|
[HttpGet]
|
||||||
public PointCloudDto GetById(Guid id)
|
public PointCloudDto GetById(Guid id)
|
||||||
{
|
{
|
||||||
var pc = pointCloudService.GetById(id) ?? throw new KeyNotFoundException();
|
var pc = _pointCloudService.GetById(id) ?? throw new KeyNotFoundException();
|
||||||
return ConvertPointCloudToDto(pc);
|
return ConvertPointCloudToDto(pc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ using PointCloudWeb.Server.Models;
|
|||||||
using PointCloudWeb.Server.Services;
|
using PointCloudWeb.Server.Services;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
namespace PointCloudWeb.Server.Controllers
|
namespace PointCloudWeb.Server.Controllers
|
||||||
{
|
{
|
||||||
@@ -11,11 +10,11 @@ namespace PointCloudWeb.Server.Controllers
|
|||||||
[Route("[controller]")]
|
[Route("[controller]")]
|
||||||
public class PointCloudInfoController
|
public class PointCloudInfoController
|
||||||
{
|
{
|
||||||
private readonly PointCloudService pointCloudService;
|
private readonly PointCloudService _pointCloudService;
|
||||||
|
|
||||||
public PointCloudInfoController(PointCloudService pointCloudService)
|
public PointCloudInfoController(PointCloudService pointCloudService)
|
||||||
{
|
{
|
||||||
this.pointCloudService = pointCloudService;
|
this._pointCloudService = pointCloudService;
|
||||||
}
|
}
|
||||||
|
|
||||||
private PointCloudInfoDto ConvertPointCloudToDto(PointCloud pc) => new PointCloudInfoDto(pc.Id, pc.Name);
|
private PointCloudInfoDto ConvertPointCloudToDto(PointCloud pc) => new PointCloudInfoDto(pc.Id, pc.Name);
|
||||||
@@ -24,7 +23,7 @@ namespace PointCloudWeb.Server.Controllers
|
|||||||
public IList<PointCloudInfoDto> GetAll()
|
public IList<PointCloudInfoDto> GetAll()
|
||||||
{
|
{
|
||||||
var result = new List<PointCloudInfoDto>();
|
var result = new List<PointCloudInfoDto>();
|
||||||
foreach (var pc in pointCloudService.GetAll())
|
foreach (var pc in _pointCloudService.GetAll())
|
||||||
result.Add(ConvertPointCloudToDto(pc));
|
result.Add(ConvertPointCloudToDto(pc));
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -34,7 +33,7 @@ namespace PointCloudWeb.Server.Controllers
|
|||||||
[Route("{id:Guid}")]
|
[Route("{id:Guid}")]
|
||||||
public ActionResult<PointCloudInfoDto> GetById(Guid id)
|
public ActionResult<PointCloudInfoDto> GetById(Guid id)
|
||||||
{
|
{
|
||||||
var pc = pointCloudService.GetById(id);
|
var pc = _pointCloudService.GetById(id);
|
||||||
if (pc == null)
|
if (pc == null)
|
||||||
return new NotFoundResult();
|
return new NotFoundResult();
|
||||||
return ConvertPointCloudToDto(pc);
|
return ConvertPointCloudToDto(pc);
|
||||||
@@ -44,17 +43,17 @@ namespace PointCloudWeb.Server.Controllers
|
|||||||
[Route("{id:Guid}")]
|
[Route("{id:Guid}")]
|
||||||
public ActionResult RemoveById(Guid id)
|
public ActionResult RemoveById(Guid id)
|
||||||
{
|
{
|
||||||
if (pointCloudService.GetById(id) == null)
|
if (_pointCloudService.GetById(id) == null)
|
||||||
return new NotFoundResult();
|
return new NotFoundResult();
|
||||||
|
|
||||||
pointCloudService.RemoveById(id);
|
_pointCloudService.RemoveById(id);
|
||||||
return new OkResult();
|
return new OkResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPut]
|
[HttpPut]
|
||||||
public ActionResult<PointCloudInfoDto> UpdatePointCloud([FromBody] PointCloudInfoDto newPc)
|
public ActionResult<PointCloudInfoDto> UpdatePointCloud([FromBody] PointCloudInfoDto newPc)
|
||||||
{
|
{
|
||||||
var pc = pointCloudService.GetById(newPc.Id);
|
var pc = _pointCloudService.GetById(newPc.Id);
|
||||||
if (pc == null)
|
if (pc == null)
|
||||||
return new NotFoundResult();
|
return new NotFoundResult();
|
||||||
pc.Name = newPc.Name;
|
pc.Name = newPc.Name;
|
||||||
|
|||||||
@@ -9,23 +9,23 @@ namespace PointCloudWeb.Server.Controllers
|
|||||||
[Route("[controller]")]
|
[Route("[controller]")]
|
||||||
public class DataController : ControllerBase
|
public class DataController : ControllerBase
|
||||||
{
|
{
|
||||||
private readonly ScanDataService scanDataService;
|
private readonly ScanDataService _scanDataService;
|
||||||
|
|
||||||
public DataController(ScanDataService scanDataService)
|
public DataController(ScanDataService scanDataService)
|
||||||
{
|
{
|
||||||
this.scanDataService = scanDataService;
|
this._scanDataService = scanDataService;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
public void PostScanData([FromBody] ScanDataList data)
|
public void PostScanData([FromBody] ScanDataList data)
|
||||||
{
|
{
|
||||||
scanDataService.AddScan(data);
|
_scanDataService.AddScan(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPut]
|
[HttpPut]
|
||||||
public void ScanFinished(Guid id)
|
public void ScanFinished(Guid id)
|
||||||
{
|
{
|
||||||
scanDataService.ScanFinished(id);
|
_scanDataService.ScanFinished(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace PointCloudWeb.Server.Controllers
|
|
||||||
{
|
|
||||||
[ApiController]
|
|
||||||
[Route("[controller]")]
|
|
||||||
public class WeatherForecastController : ControllerBase
|
|
||||||
{
|
|
||||||
private static readonly string[] Summaries = new[]
|
|
||||||
{
|
|
||||||
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
|
||||||
};
|
|
||||||
|
|
||||||
private readonly ILogger<WeatherForecastController> logger;
|
|
||||||
|
|
||||||
public WeatherForecastController(ILogger<WeatherForecastController> logger)
|
|
||||||
{
|
|
||||||
this.logger = logger;
|
|
||||||
}
|
|
||||||
|
|
||||||
[HttpGet]
|
|
||||||
public IEnumerable<WeatherForecast> Get()
|
|
||||||
{
|
|
||||||
var rng = new Random();
|
|
||||||
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
|
|
||||||
{
|
|
||||||
Date = DateTime.Now.AddDays(index),
|
|
||||||
TemperatureC = rng.Next(-20, 55),
|
|
||||||
Summary = Summaries[rng.Next(Summaries.Length)]
|
|
||||||
})
|
|
||||||
.ToArray();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -3,7 +3,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Collections.ObjectModel;
|
using System.Collections.ObjectModel;
|
||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
using System.Linq;
|
using System.Diagnostics.CodeAnalysis;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
|
|
||||||
namespace PointCloudWeb.Server.Models
|
namespace PointCloudWeb.Server.Models
|
||||||
@@ -27,29 +27,27 @@ namespace PointCloudWeb.Server.Models
|
|||||||
|
|
||||||
public override bool Equals(object obj)
|
public override bool Equals(object obj)
|
||||||
{
|
{
|
||||||
if ((obj == null) || !GetType().Equals(obj.GetType()))
|
if (obj == null || GetType() != obj.GetType())
|
||||||
return false;
|
return false;
|
||||||
else
|
var p = (Point) obj;
|
||||||
{
|
return X == p.X && Y == p.Y && Z == p.Z;
|
||||||
Point p = (Point)obj;
|
|
||||||
return (X == p.X) && (Y == p.Y) && (Z == p.Z);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "NonReadonlyMemberInGetHashCode")]
|
||||||
public override int GetHashCode() => HashCode.Combine(X, Y, Z);
|
public override int GetHashCode() => HashCode.Combine(X, Y, Z);
|
||||||
|
|
||||||
public override string ToString() => X.ToString() + " " + Y.ToString() + " " + Z.ToString();
|
public override string ToString() => X + " " + Y + " " + Z;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PointCloud
|
public class PointCloud
|
||||||
{
|
{
|
||||||
private ObservableCollection<Point> points;
|
private readonly ObservableCollection<Point> _points;
|
||||||
private Matrix4x4 transformation;
|
private Matrix4x4 _transformation;
|
||||||
|
|
||||||
public PointCloud(Guid id, string name)
|
public PointCloud(Guid id, string name)
|
||||||
{
|
{
|
||||||
points = new ObservableCollection<Point>();
|
_points = new ObservableCollection<Point>();
|
||||||
points.CollectionChanged += PointsCollectionChanged;
|
_points.CollectionChanged += PointsCollectionChanged;
|
||||||
TransformedPoints = new List<Point>();
|
TransformedPoints = new List<Point>();
|
||||||
Id = id;
|
Id = id;
|
||||||
Name = name;
|
Name = name;
|
||||||
@@ -59,15 +57,18 @@ namespace PointCloudWeb.Server.Models
|
|||||||
|
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
public IList<Point> Points { get => points; }
|
public IList<Point> Points
|
||||||
|
{
|
||||||
|
get => _points;
|
||||||
|
}
|
||||||
|
|
||||||
public Matrix4x4 Transformation
|
public Matrix4x4 Transformation
|
||||||
{
|
{
|
||||||
get => transformation;
|
get => _transformation;
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
TransformationChanged();
|
TransformationChanged();
|
||||||
transformation = value;
|
_transformation = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace PointCloudWeb.Server.Models
|
namespace PointCloudWeb.Server.Models
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using System.Globalization;
|
||||||
|
|
||||||
namespace PointCloudWeb.Server.Models
|
namespace PointCloudWeb.Server.Models
|
||||||
{
|
{
|
||||||
@@ -10,6 +11,7 @@ namespace PointCloudWeb.Server.Models
|
|||||||
public IList<ScanDataPoint> ScanPoints { get; set; }
|
public IList<ScanDataPoint> ScanPoints { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
||||||
public class ScanDataPoint
|
public class ScanDataPoint
|
||||||
{
|
{
|
||||||
public ScanDataPoint()
|
public ScanDataPoint()
|
||||||
@@ -27,15 +29,17 @@ namespace PointCloudWeb.Server.Models
|
|||||||
}
|
}
|
||||||
|
|
||||||
public float DistanceMM { get; set; }
|
public float DistanceMM { get; set; }
|
||||||
|
|
||||||
//RotationAngle on {X, Y} Axis
|
//RotationAngle on {X, Y} Axis
|
||||||
public double RAX { get; set; }
|
public double RAX { get; set; }
|
||||||
|
|
||||||
public double RAY { get; set; }
|
public double RAY { get; set; }
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return String.Join(", ", new string[] { RAY.ToString(), RAX.ToString(), DistanceMM.ToString() });
|
return string.Join(
|
||||||
|
", ",
|
||||||
|
RAY.ToString(CultureInfo.InvariantCulture),
|
||||||
|
RAX.ToString(CultureInfo.InvariantCulture),
|
||||||
|
DistanceMM.ToString(CultureInfo.InvariantCulture));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
using System;
|
|
||||||
|
|
||||||
namespace PointCloudWeb.Server
|
|
||||||
{
|
|
||||||
public class WeatherForecast
|
|
||||||
{
|
|
||||||
public DateTime Date { get; set; }
|
|
||||||
|
|
||||||
public string Summary { get; set; }
|
|
||||||
public int TemperatureC { get; set; }
|
|
||||||
|
|
||||||
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.Extensions.Configuration;
|
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace PointCloudWeb.Server
|
namespace PointCloudWeb.Server
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,40 +7,40 @@ namespace PointCloudWeb.Server.Services
|
|||||||
public class PointCloudService
|
public class PointCloudService
|
||||||
{
|
{
|
||||||
//private readonly IPointCloudRegistationService pointCloudRegistation;
|
//private readonly IPointCloudRegistationService pointCloudRegistation;
|
||||||
private readonly PointCloudCollection pointClouds;
|
private readonly PointCloudCollection _pointClouds;
|
||||||
|
|
||||||
public PointCloudService(/*IPointCloudRegistationService pointCloudRegistation*/)
|
public PointCloudService(/*IPointCloudRegistationService pointCloudRegistation*/)
|
||||||
{
|
{
|
||||||
pointClouds = new PointCloudCollection();
|
_pointClouds = new PointCloudCollection();
|
||||||
//this.pointCloudRegistation = pointCloudRegistation;
|
//this.pointCloudRegistation = pointCloudRegistation;
|
||||||
InitSampleData();
|
InitSampleData();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitSampleData()
|
private void InitSampleData()
|
||||||
{
|
{
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 1"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 1"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 2"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 2"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 3"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 3"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 4"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 4"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 5"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 5"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 6"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 6"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 7"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 7"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 8"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 8"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 9"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 9"));
|
||||||
pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 10"));
|
_pointClouds.Add(new PointCloud(Guid.NewGuid(), "Scan 10"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RaiseIfNotExists(Guid id)
|
private void RaiseIfNotExists(Guid id)
|
||||||
{
|
{
|
||||||
if (!pointClouds.Contains(id))
|
if (!_pointClouds.Contains(id))
|
||||||
throw new ArgumentOutOfRangeException("The Id {0} was not found!", id.ToString());
|
throw new ArgumentOutOfRangeException($"The Id {id.ToString()} was not found!");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddPoints(Guid id, IList<Point> points)
|
public void AddPoints(Guid id, IList<Point> points)
|
||||||
{
|
{
|
||||||
RaiseIfNotExists(id);
|
RaiseIfNotExists(id);
|
||||||
|
|
||||||
var pc = pointClouds.GetById(id);
|
var pc = _pointClouds.GetById(id);
|
||||||
|
|
||||||
foreach (var point in points)
|
foreach (var point in points)
|
||||||
pc.Points.Add(point);
|
pc.Points.Add(point);
|
||||||
@@ -48,22 +48,22 @@ namespace PointCloudWeb.Server.Services
|
|||||||
|
|
||||||
public IList<PointCloud> GetAll()
|
public IList<PointCloud> GetAll()
|
||||||
{
|
{
|
||||||
return pointClouds;
|
return _pointClouds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PointCloud GetById(Guid id)
|
public PointCloud GetById(Guid id)
|
||||||
{
|
{
|
||||||
return pointClouds.GetById(id);
|
return _pointClouds.GetById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterPointCloud(Guid id)
|
public void RegisterPointCloud(Guid id)
|
||||||
{
|
{
|
||||||
RaiseIfNotExists(id);
|
RaiseIfNotExists(id);
|
||||||
var pointCloud = pointClouds.GetById(id);
|
// var pointCloud = _pointClouds.GetById(id);
|
||||||
|
//
|
||||||
//the first can't be registered
|
// //the first can't be registered
|
||||||
if (pointClouds.IndexOf(pointCloud) == 0)
|
// if (_pointClouds.IndexOf(pointCloud) == 0)
|
||||||
return;
|
// return;
|
||||||
|
|
||||||
//var transformation = pointCloudRegistation.RegisterPointCloud(pointCloud, pointClouds[0]);
|
//var transformation = pointCloudRegistation.RegisterPointCloud(pointCloud, pointClouds[0]);
|
||||||
//pointCloud.Transformation = transformation;
|
//pointCloud.Transformation = transformation;
|
||||||
@@ -71,13 +71,13 @@ namespace PointCloudWeb.Server.Services
|
|||||||
|
|
||||||
public void RegisterPointClouds()
|
public void RegisterPointClouds()
|
||||||
{
|
{
|
||||||
foreach (var pointCloud in pointClouds)
|
foreach (var pointCloud in _pointClouds)
|
||||||
RegisterPointCloud(pointCloud.Id);
|
RegisterPointCloud(pointCloud.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveById(Guid id)
|
public void RemoveById(Guid id)
|
||||||
{
|
{
|
||||||
pointClouds.RemoveById(id);
|
_pointClouds.RemoveById(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,8 +11,8 @@ namespace PointCloudWeb.Server.Services
|
|||||||
if (scan.RAX >= 180 || scan.RAY >= 180)
|
if (scan.RAX >= 180 || scan.RAY >= 180)
|
||||||
return new Point(0, 0, 0);
|
return new Point(0, 0, 0);
|
||||||
|
|
||||||
var degreeXA = scan.RAX;
|
var degreeXa = scan.RAX;
|
||||||
var degreeYA = scan.RAY;
|
var degreeYa = scan.RAY;
|
||||||
|
|
||||||
//if (degreeXA > 270 && degreeYA > 270)
|
//if (degreeXA > 270 && degreeYA > 270)
|
||||||
//{
|
//{
|
||||||
@@ -21,23 +21,23 @@ namespace PointCloudWeb.Server.Services
|
|||||||
// factorZ = -1;
|
// factorZ = -1;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
var degreeXB = 180 - 90 - degreeXA;
|
var degreeXb = 180 - 90 - degreeXa;
|
||||||
var degreeYB = 180 - 90 - degreeYA;
|
var degreeYb = 180 - 90 - degreeYa;
|
||||||
|
|
||||||
var radXA = degreeXA * Math.PI / 180;
|
var radXa = degreeXa * Math.PI / 180;
|
||||||
var radXB = degreeXB * Math.PI / 180;
|
var radXb = degreeXb * Math.PI / 180;
|
||||||
var radYA = degreeYA * Math.PI / 180;
|
var radYa = degreeYa * Math.PI / 180;
|
||||||
var radYB = degreeYB * Math.PI / 180;
|
var radYb = degreeYb * Math.PI / 180;
|
||||||
|
|
||||||
double sinXA = Math.Sin(radXA);
|
var sinXa = Math.Sin(radXa);
|
||||||
double sinXB = Math.Sin(radXB);
|
var sinXb = Math.Sin(radXb);
|
||||||
double sinYA = Math.Sin(radYA);
|
var sinYa = Math.Sin(radYa);
|
||||||
double sinYB = Math.Sin(radYB);
|
var sinYb = Math.Sin(radYb);
|
||||||
|
|
||||||
var z = Math.Sqrt(
|
var z = Math.Sqrt(
|
||||||
Math.Pow(
|
Math.Pow(
|
||||||
Math.Pow(sinXB, 2) / Math.Pow(sinXA, 2)
|
Math.Pow(sinXb, 2) / Math.Pow(sinXa, 2)
|
||||||
+ Math.Pow(sinYB, 2) / Math.Pow(sinYA, 2)
|
+ Math.Pow(sinYb, 2) / Math.Pow(sinYa, 2)
|
||||||
+ 1
|
+ 1
|
||||||
, -1)
|
, -1)
|
||||||
* Math.Pow(scan.DistanceMM, 2)
|
* Math.Pow(scan.DistanceMM, 2)
|
||||||
@@ -45,8 +45,8 @@ namespace PointCloudWeb.Server.Services
|
|||||||
|
|
||||||
var p = new Point()
|
var p = new Point()
|
||||||
{
|
{
|
||||||
X = NumericUtils.Round(z * sinYB / sinYA),
|
X = NumericUtils.Round(z * sinYb / sinYa),
|
||||||
Y = NumericUtils.Round(z * sinXB / sinXA),
|
Y = NumericUtils.Round(z * sinXb / sinXa),
|
||||||
Z = NumericUtils.Round(z)
|
Z = NumericUtils.Round(z)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ namespace PointCloudWeb.Server.Services
|
|||||||
{
|
{
|
||||||
public class ScanDataService
|
public class ScanDataService
|
||||||
{
|
{
|
||||||
private readonly PointCloudService pointCloudService;
|
private readonly PointCloudService _pointCloudService;
|
||||||
private readonly ScanConverterService scanConverterService;
|
private readonly ScanConverterService _scanConverterService;
|
||||||
|
|
||||||
public ScanDataService(PointCloudService pointCloudService, ScanConverterService scanConverterService)
|
public ScanDataService(PointCloudService pointCloudService, ScanConverterService scanConverterService)
|
||||||
{
|
{
|
||||||
this.pointCloudService = pointCloudService;
|
_pointCloudService = pointCloudService;
|
||||||
this.scanConverterService = scanConverterService;
|
_scanConverterService = scanConverterService;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IList<Point> ConvertToPoints(ScanDataList scanData)
|
private IList<Point> ConvertToPoints(ScanDataList scanData)
|
||||||
@@ -21,7 +21,7 @@ namespace PointCloudWeb.Server.Services
|
|||||||
|
|
||||||
foreach (var scan in scanData.ScanPoints)
|
foreach (var scan in scanData.ScanPoints)
|
||||||
{
|
{
|
||||||
list.Add(scanConverterService.Transform(scan));
|
list.Add(_scanConverterService.Transform(scan));
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
@@ -29,12 +29,12 @@ namespace PointCloudWeb.Server.Services
|
|||||||
|
|
||||||
public void AddScan(ScanDataList scanData)
|
public void AddScan(ScanDataList scanData)
|
||||||
{
|
{
|
||||||
pointCloudService.AddPoints(scanData.Id, ConvertToPoints(scanData));
|
_pointCloudService.AddPoints(scanData.Id, ConvertToPoints(scanData));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ScanFinished(Guid id)
|
public void ScanFinished(Guid id)
|
||||||
{
|
{
|
||||||
pointCloudService.RegisterPointCloud(id);
|
_pointCloudService.RegisterPointCloud(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,16 +1,9 @@
|
|||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
using Microsoft.AspNetCore.Hosting;
|
using Microsoft.AspNetCore.Hosting;
|
||||||
using Microsoft.AspNetCore.Http;
|
|
||||||
using Microsoft.AspNetCore.Mvc;
|
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Microsoft.Extensions.Hosting;
|
using Microsoft.Extensions.Hosting;
|
||||||
using Microsoft.Extensions.Logging;
|
|
||||||
using PointCloudWeb.Server.Services;
|
using PointCloudWeb.Server.Services;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace PointCloudWeb.Server
|
namespace PointCloudWeb.Server
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user