muffin v7.5.6
This commit is contained in:
parent
6266f9e6b7
commit
addf2d530f
619 changed files with 264792 additions and 446022 deletions
102
SmartNav.Model/SmartNav.Model.Navigation/SubRegionDefinition.cs
Normal file
102
SmartNav.Model/SmartNav.Model.Navigation/SubRegionDefinition.cs
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace SmartNav.Model.Navigation;
|
||||
|
||||
public sealed class SubRegionDefinition
|
||||
{
|
||||
public string Id { get; set; } = string.Empty;
|
||||
|
||||
public string? Comment { get; set; }
|
||||
|
||||
public float? MinY { get; set; }
|
||||
|
||||
public float? MaxY { get; set; }
|
||||
|
||||
public List<SubRegionVertex> Vertices { get; set; } = new List<SubRegionVertex>();
|
||||
|
||||
public bool Contains(float x, float y, float z)
|
||||
{
|
||||
int num = ((!MinY.HasValue) ? 292211161 : 292211158);
|
||||
float x2 = default(float);
|
||||
float x3 = default(float);
|
||||
float z2 = default(float);
|
||||
float z3 = default(float);
|
||||
int count = default(int);
|
||||
int num7 = default(int);
|
||||
int index = default(int);
|
||||
bool flag = default(bool);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 292211164;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 9:
|
||||
num = ((!(x < (x2 - x3) * (z - z2) / (z3 - z2) + x3)) ? 292211166 : 292211160);
|
||||
break;
|
||||
case 10:
|
||||
num = ((!(y < MinY.Value)) ? 292211161 : 292211153);
|
||||
break;
|
||||
case 13:
|
||||
return false;
|
||||
case 8:
|
||||
count = Vertices.Count;
|
||||
num = ((count >= 3) ? 292211165 : 292211159);
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
int num9 = num7;
|
||||
num3 = 1;
|
||||
num4 = num9;
|
||||
num7 = (num4 | num3) + (num4 & num3);
|
||||
index = num9;
|
||||
num = 292211162;
|
||||
break;
|
||||
}
|
||||
case 11:
|
||||
return false;
|
||||
case 5:
|
||||
num = ((!MaxY.HasValue) ? 292211156 : 292211154);
|
||||
break;
|
||||
case 14:
|
||||
num = ((!(y > MaxY.Value)) ? 292211156 : 292211163);
|
||||
break;
|
||||
case 12:
|
||||
x3 = Vertices[num7].X;
|
||||
z2 = Vertices[num7].Z;
|
||||
x2 = Vertices[index].X;
|
||||
z3 = Vertices[index].Z;
|
||||
num = ((z2 > z == z3 > z) ? 292211166 : 292211157);
|
||||
break;
|
||||
case 3:
|
||||
return flag;
|
||||
case 1:
|
||||
{
|
||||
flag = false;
|
||||
num7 = 0;
|
||||
int num8 = count;
|
||||
num3 = 1;
|
||||
num4 = num8;
|
||||
index = ~(~num4 + num3);
|
||||
num = 292211162;
|
||||
break;
|
||||
}
|
||||
case 7:
|
||||
return false;
|
||||
case 0:
|
||||
num = 292211158;
|
||||
break;
|
||||
case 4:
|
||||
flag = !flag;
|
||||
num = 292211166;
|
||||
break;
|
||||
case 6:
|
||||
num = ((num7 < count) ? 292211152 : 292211167);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue