[ModifyTaskView.xaml] 加入任务整体位置调整
[MapView_CopterDrawing.cs]正在飞行中前面加尖改为编号变色 [ModifyTaskViewModel.cs]加入任务整体位置调整
This commit is contained in:
parent
dae8be8e18
commit
1b574fa118
@ -159,8 +159,13 @@ namespace Plane.FormationCreator.ViewModels
|
||||
get { return _Modialtvalue; }
|
||||
set { Set(nameof(Modialtvalue), ref _Modialtvalue, value); }
|
||||
}
|
||||
|
||||
|
||||
|
||||
private float _directionvalue=0;
|
||||
public float directionvalue
|
||||
{
|
||||
get { return _directionvalue; }
|
||||
set { Set(nameof(directionvalue), ref _directionvalue, value); }
|
||||
}
|
||||
private int _txtStarindex=0;
|
||||
public int txtStarindex
|
||||
{
|
||||
@ -1012,9 +1017,57 @@ public ICommand VerticlAlignmentCommand
|
||||
}
|
||||
}
|
||||
|
||||
//调整所有任务经度
|
||||
private ICommand _ModiAllPosCommand;
|
||||
public ICommand ModiAllPosCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ModiAllPosCommand ?? (_ModiAllPosCommand = new RelayCommand<double>(async =>
|
||||
{
|
||||
if (_flightTaskManager.Tasks.Count < 2) return;
|
||||
|
||||
float lowalt = 200;
|
||||
|
||||
|
||||
int _startindex = 0;
|
||||
int _endindex = _flightTaskManager.Tasks.Count - 1;
|
||||
int lowtask = 0;
|
||||
int lowCopter = 0;
|
||||
|
||||
if ((txtStarindex != 0) && (txtendindex != 0))
|
||||
{
|
||||
_startindex = txtStarindex;
|
||||
_endindex = txtendindex;
|
||||
}
|
||||
|
||||
for (int i = _startindex; i <= _endindex; i++)
|
||||
{
|
||||
|
||||
if ((_flightTaskManager.Tasks[i].TaskType == FlightTaskType.TakeOff) ||
|
||||
(_flightTaskManager.Tasks[i].TaskType == FlightTaskType.ReturnToLand))
|
||||
continue;
|
||||
|
||||
|
||||
for (int j = 0; j < _flightTaskManager.Tasks[i].SingleCopterInfos.Count; j++)
|
||||
{
|
||||
Tuple<double, double> targetLatLng = new Tuple<double, double>(0, 0);
|
||||
|
||||
targetLatLng=GeographyUtils.CalcLatLngSomeMetersAway2D(
|
||||
_flightTaskManager.Tasks[i].SingleCopterInfos[j].TargetLat,
|
||||
_flightTaskManager.Tasks[i].SingleCopterInfos[j].TargetLng,
|
||||
directionvalue,
|
||||
Modialtvalue
|
||||
);
|
||||
_flightTaskManager.Tasks[i].SingleCopterInfos[j].TargetLat = targetLatLng.Item1;
|
||||
_flightTaskManager.Tasks[i].SingleCopterInfos[j].TargetLng= targetLatLng.Item2;
|
||||
}
|
||||
}
|
||||
Alert.Show("指定步骤任务位置已向"+ directionvalue + "度改变" + Modialtvalue + "米,注意是否有障碍物!");
|
||||
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//计算距离
|
||||
|
@ -73,6 +73,9 @@ namespace Plane.FormationCreator.Views
|
||||
public ICopter Copter { get; set; }
|
||||
public Grid DotContainer { get; set; }
|
||||
public Polygon Dot { get; set; }
|
||||
|
||||
public TextBlock CopterText { get; set; }
|
||||
|
||||
public MapPolyline Track { get; set; }
|
||||
public Location LastLocation { get; set; }
|
||||
|
||||
@ -130,14 +133,19 @@ namespace Plane.FormationCreator.Views
|
||||
DotContainer = new Grid { Tag = COPTER_TAG };
|
||||
DotContainer.Children.Add(Dot);
|
||||
//飞机里面的编号
|
||||
DotContainer.Children.Add(new TextBlock
|
||||
|
||||
|
||||
CopterText = new TextBlock
|
||||
{
|
||||
Text = Copter.Name,
|
||||
Foreground = new SolidColorBrush(Colors.White),
|
||||
Foreground = new SolidColorBrush(Colors.Black),
|
||||
Margin = new Thickness(-COPTER_RADIUS * 2, -COPTER_RADIUS * 1.5, 0, 0),
|
||||
HorizontalAlignment = HorizontalAlignment.Center,
|
||||
VerticalAlignment = VerticalAlignment.Center
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
DotContainer.Children.Add(CopterText);
|
||||
|
||||
//飞机加入地图
|
||||
_map.Children.Add(DotContainer);
|
||||
@ -160,23 +168,14 @@ namespace Plane.FormationCreator.Views
|
||||
}
|
||||
else
|
||||
{
|
||||
Dot.Points.Clear();
|
||||
if (Copter.MissionStatus == 1)
|
||||
{
|
||||
Dot.Points.Add(new Point(-4, -COPTER_RADIUS));
|
||||
Dot.Points.Add(new Point(0, -COPTER_RADIUS));
|
||||
Dot.Points.Add(new Point(-COPTER_RADIUS * 2 / 3, COPTER_RADIUS));
|
||||
Dot.Points.Add(new Point(COPTER_RADIUS * 2 / 3, COPTER_RADIUS));
|
||||
CopterText.Foreground = new SolidColorBrush(Colors.White);
|
||||
}
|
||||
else {
|
||||
|
||||
Dot.Points.Add(new Point(0, -COPTER_RADIUS));
|
||||
Dot.Points.Add(new Point(-COPTER_RADIUS * 2 / 3, COPTER_RADIUS));
|
||||
Dot.Points.Add(new Point(COPTER_RADIUS * 2 / 3, COPTER_RADIUS));
|
||||
CopterText.Foreground = new SolidColorBrush(Colors.Black);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (LastLocation != null && location.CalcDistance(LastLocation) < 0.1)
|
||||
{
|
||||
locationUpdated = false;
|
||||
|
@ -71,18 +71,21 @@
|
||||
Margin="0,5,5,0"
|
||||
Command="{Binding VerticlRotateCommand}"
|
||||
CommandParameter="{Binding ElementName=txtAlignmentLine, Path=Text}"/>
|
||||
<Button Content="整体旋转"
|
||||
Margin="0,5,5,0"
|
||||
Command="{Binding TaskRotateCommand}"
|
||||
CommandParameter="{Binding ElementName=txtAlignmentLine, Path=Text}"/>
|
||||
<TextBox x:Name="txtAlignmentLine"
|
||||
Width="45"
|
||||
Width="25"
|
||||
Margin="0,5,5,0"
|
||||
Text="0"
|
||||
VerticalContentAlignment="Center" />
|
||||
<TextBlock Text="度" Margin="0, 10, 5, 0"/>
|
||||
<Button Content="任务整体旋转"
|
||||
|
||||
<Button Content="自动高度"
|
||||
Margin="0,5,5,0"
|
||||
Command="{Binding TaskRotateCommand}"
|
||||
CommandParameter="{Binding ElementName=txtAlignmentLine, Path=Text}"/>
|
||||
|
||||
|
||||
Visibility="Hidden"
|
||||
Command="{Binding AutoaltCommand}" />
|
||||
|
||||
</StackPanel>
|
||||
|
||||
@ -96,11 +99,11 @@
|
||||
CommandParameter="{Binding ElementName=txtScaleVale, Path=Text}"/>
|
||||
|
||||
<TextBox x:Name="txtScaleVale"
|
||||
Width="40"
|
||||
Width="35"
|
||||
Margin="0,5,5,0"
|
||||
Text="100"
|
||||
VerticalContentAlignment="Center" />
|
||||
<TextBlock Text="%" Margin="0, 10, 5, 0"/>
|
||||
<TextBlock Text="%" Margin="0, 10, 2, 0"/>
|
||||
<Button Content="计算距离"
|
||||
Margin="0,5,5,0"
|
||||
Command="{Binding calDistinceCommand}"
|
||||
@ -109,44 +112,50 @@
|
||||
|
||||
<TextBox
|
||||
Grid.Column="1"
|
||||
Width="40"
|
||||
Width="25"
|
||||
Margin="0, 5, 5, 0"
|
||||
HorizontalContentAlignment="Right"
|
||||
Text="{Binding Distancevalue, UpdateSourceTrigger=PropertyChanged}"
|
||||
/>
|
||||
<TextBlock Text="米" Margin="0, 10, 5, 0"/>
|
||||
|
||||
</StackPanel>
|
||||
<StackPanel>
|
||||
|
||||
<Button Content="自动高度"
|
||||
Margin="0,5,5,0"
|
||||
Command="{Binding AutoaltCommand}" />
|
||||
<Button Content="前一高度"
|
||||
Margin="0,5,5,0"
|
||||
Command="{Binding PrealtCommand}" />
|
||||
|
||||
<Button Content="修改任务高度"
|
||||
</StackPanel>
|
||||
<StackPanel>
|
||||
<Button Content="整体提高"
|
||||
Margin="0,5,5,0"
|
||||
Command="{Binding ModiAltCommand}"
|
||||
|
||||
/>
|
||||
Command="{Binding ModiAltCommand}" />
|
||||
|
||||
<Button Content="整体移动"
|
||||
Margin="0,5,5,0"
|
||||
Command="{Binding ModiAllPosCommand}" />
|
||||
|
||||
|
||||
<TextBox
|
||||
Grid.Column="1"
|
||||
Width="40"
|
||||
Width="25"
|
||||
Margin="0, 5, 5, 0"
|
||||
HorizontalContentAlignment="Right"
|
||||
Text="{Binding Modialtvalue, UpdateSourceTrigger=PropertyChanged}"
|
||||
/>
|
||||
<TextBlock Text="米" Margin="0, 10, 5, 0"/>
|
||||
<TextBlock Text="米 方向" Margin="0, 10, 5, 0"/>
|
||||
|
||||
<TextBox
|
||||
Grid.Column="1"
|
||||
Width="35"
|
||||
Margin="0, 5, 5, 0"
|
||||
HorizontalContentAlignment="Right"
|
||||
Text="{Binding directionvalue, UpdateSourceTrigger=PropertyChanged}"
|
||||
/>
|
||||
<TextBlock Text="度" Margin="0, 10, 5, 0"/>
|
||||
|
||||
|
||||
</StackPanel>
|
||||
|
||||
<Separator />
|
||||
<TextBlock Text="任务属性" Margin="0, 0, 5, 0" FontWeight="Bold" />
|
||||
|
||||
<StackPanel>
|
||||
|
||||
<TextBlock Text="起飞数量:" Margin="5,10,5,0" />
|
||||
|
Loading…
Reference in New Issue
Block a user