hawkeye camera support(not tested)

This commit is contained in:
meelstorm
2025-08-19 12:45:50 +02:00
parent f80b275ad8
commit 6ef6aced8d
170 changed files with 20190 additions and 72 deletions

View File

@@ -124,6 +124,48 @@ public class FindEdgeOperation : BaseOperation, IHaveEdge, IHaveOrigin
SearchArea.Load(br);
}
public override void Save(Dictionary<string, object> dict)
{
base.Save(dict);
dict[nameof(ReferenceId)] = ReferenceId.ToString();
// Save RotatedRectangleElement SearchArea properties manually
dict["SearchArea_Editable"] = SearchArea.Editable;
dict["SearchArea_IsGood"] = SearchArea.IsGood;
dict["SearchArea_LocationX"] = SearchArea.Location.X;
dict["SearchArea_LocationY"] = SearchArea.Location.Y;
dict["SearchArea_OffsetX"] = SearchArea.Offset.X;
dict["SearchArea_OffsetY"] = SearchArea.Offset.Y;
dict["SearchArea_HeightX"] = SearchArea.Height.X;
dict["SearchArea_HeightY"] = SearchArea.Height.Y;
dict["SearchArea_HalfWidth"] = SearchArea.HalfWidth;
}
public override void Load(Dictionary<string, object> dict)
{
base.Load(dict);
if (dict.ContainsKey(nameof(ReferenceId)))
ReferenceId = new Guid(dict[nameof(ReferenceId)].ToString());
// Load RotatedRectangleElement SearchArea properties manually
if (dict.ContainsKey("SearchArea_Editable") || dict.ContainsKey("SearchArea_LocationX") || dict.ContainsKey("SearchArea_HeightX"))
{
SearchArea = new RotatedRectangleElement();
if (dict.ContainsKey("SearchArea_Editable"))
SearchArea.Editable = Convert.ToBoolean(dict["SearchArea_Editable"]);
if (dict.ContainsKey("SearchArea_IsGood"))
SearchArea.IsGood = Convert.ToBoolean(dict["SearchArea_IsGood"]);
if (dict.ContainsKey("SearchArea_LocationX") && dict.ContainsKey("SearchArea_LocationY"))
SearchArea.Location = new Vector2(Convert.ToSingle(dict["SearchArea_LocationX"]), Convert.ToSingle(dict["SearchArea_LocationY"]));
if (dict.ContainsKey("SearchArea_OffsetX") && dict.ContainsKey("SearchArea_OffsetY"))
SearchArea.Offset = new Vector2(Convert.ToSingle(dict["SearchArea_OffsetX"]), Convert.ToSingle(dict["SearchArea_OffsetY"]));
if (dict.ContainsKey("SearchArea_HeightX") && dict.ContainsKey("SearchArea_HeightY"))
SearchArea.Height = new Vector2(Convert.ToSingle(dict["SearchArea_HeightX"]), Convert.ToSingle(dict["SearchArea_HeightY"]));
if (dict.ContainsKey("SearchArea_HalfWidth"))
SearchArea.HalfWidth = Convert.ToSingle(dict["SearchArea_HalfWidth"]);
}
}
public RotatedRectangleElement SearchArea { get; set; }
public OriginElement Origin { get; set; }