导出任务(C4D用)

This commit is contained in:
zxd 2019-11-16 10:31:11 +08:00
parent dd8888efc2
commit e5ded3d92a
3 changed files with 49 additions and 3 deletions

View File

@ -416,6 +416,29 @@ namespace Plane.FormationCreator.Formation
}
}
public string ExportC4DFlytoTask()
{
int count = SelectedTask.SingleCopterInfos.Count();
//string[] lines = new string[count];
StringBuilder sb = new StringBuilder();
for (int i = 0; i < count; i++)
{
var singleCopterInfo = SelectedTask.SingleCopterInfos[i];
double x = 100 * GeographyUtils.CalcDistance(OriginLat, OriginLng, 0,
OriginLat, singleCopterInfo.TargetLng, 0);
if (singleCopterInfo.TargetLng < OriginLng) x = -x;
double y = 100 * singleCopterInfo.TargetAlt;
double z = 100 * GeographyUtils.CalcDistance(OriginLat, OriginLng, 0,
singleCopterInfo.TargetLat, OriginLng, 0);
if (singleCopterInfo.TargetLat < OriginLat) z = -z;
sb.AppendLine($"{i + 1} 0 {x} {y} {z}");
//lines[i] = $"{i+1} {x} {y} {z}";
}
return sb.ToString().Trim();
}
public void ImportC4DFlytoTask(string txt)
{
string[] lines = txt.Replace("\r\n", "\n").Split('\n');
@ -425,7 +448,7 @@ namespace Plane.FormationCreator.Formation
foreach (string line in lines)
{
string[] parameters = line.Split(' ');
int id = Convert.ToInt32(parameters[0])+1;
int id = Convert.ToInt32(parameters[0]);
string frame = parameters[1];
string[] point = new string[3];
point[0] = parameters[2]; //左右 经度

View File

@ -535,6 +535,29 @@ namespace Plane.FormationCreator.ViewModels
}
}
private ICommand _ExportWayPointCommand;
public ICommand ExportWayPointCommand
{
get
{
return _ExportWayPointCommand ?? (_ExportWayPointCommand = new RelayCommand<int>(async =>
{
var dialog = new SaveFileDialog
{
DefaultExt = "txt",
Filter = "文本文件|*.txt"
};
if (dialog.ShowDialog() == true)
{
string exportedText = _flightTaskManager.ExportC4DFlytoTask();
File.WriteAllText(dialog.FileName, exportedText);
}
}));
}
}
private ICommand _OptimizeRouteCommand;
public ICommand OptimizeRouteCommand
{

View File

@ -81,8 +81,8 @@
Visibility="Collapsed"/>
<Button Content="优化路线" Command="{Binding OptimizeRouteCommand}"
Visibility="Collapsed"/>
<Button Content="导入航点" Command="{Binding ImportBlenderWayPointCommand}"
/>
<Button Content="导入航点" Command="{Binding ImportBlenderWayPointCommand}"/>
<Button Content="导出航点" Command="{Binding ExportWayPointCommand}"/>
</StackPanel>
<Separator Margin="0,1"/>