hawkeye camera support(not tested)
This commit is contained in:
@@ -155,4 +155,54 @@ public class FindBlobOperation : BaseOperation, IHaveOrigin, IHaveSearchArea
|
||||
|
||||
SearchArea.Load(br);
|
||||
}
|
||||
|
||||
public override void Save(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Save(dict);
|
||||
dict[nameof(MinArea)] = MinArea;
|
||||
dict[nameof(MaxArea)] = MaxArea;
|
||||
dict[nameof(MinRadius)] = MinRadius;
|
||||
dict[nameof(MaxRadius)] = MaxRadius;
|
||||
dict[nameof(BadIfFound)] = BadIfFound;
|
||||
dict[nameof(ReferenceId)] = ReferenceId.ToString();
|
||||
|
||||
// Save 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_SizeX"] = SearchArea.Size.X;
|
||||
dict["SearchArea_SizeY"] = SearchArea.Size.Y;
|
||||
}
|
||||
|
||||
public override void Load(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Load(dict);
|
||||
if (dict.ContainsKey(nameof(MinArea)))
|
||||
MinArea = Convert.ToInt32(dict[nameof(MinArea)]);
|
||||
if (dict.ContainsKey(nameof(MaxArea)))
|
||||
MaxArea = Convert.ToInt32(dict[nameof(MaxArea)]);
|
||||
if (dict.ContainsKey(nameof(MinRadius)))
|
||||
MinRadius = Convert.ToInt32(dict[nameof(MinRadius)]);
|
||||
if (dict.ContainsKey(nameof(MaxRadius)))
|
||||
MaxRadius = Convert.ToInt32(dict[nameof(MaxRadius)]);
|
||||
if (dict.ContainsKey(nameof(BadIfFound)))
|
||||
BadIfFound = Convert.ToBoolean(dict[nameof(BadIfFound)]);
|
||||
if (dict.ContainsKey(nameof(ReferenceId)))
|
||||
ReferenceId = new Guid(dict[nameof(ReferenceId)].ToString());
|
||||
|
||||
// Load SearchArea properties manually
|
||||
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_SizeX") && dict.ContainsKey("SearchArea_SizeY"))
|
||||
SearchArea.Size = new Vector2(Convert.ToSingle(dict["SearchArea_SizeX"]), Convert.ToSingle(dict["SearchArea_SizeY"]));
|
||||
}
|
||||
}
|
||||
@@ -230,4 +230,78 @@ public class FindManyBlobsExtOperation : BaseOperation
|
||||
ReferenceId = new Guid(br.ReadString());
|
||||
SearchArea.Load(br);
|
||||
}
|
||||
|
||||
public override void Save(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Save(dict);
|
||||
dict[nameof(MinArea)] = MinArea;
|
||||
dict[nameof(MaxArea)] = MaxArea;
|
||||
dict[nameof(MinRadius)] = MinRadius;
|
||||
dict[nameof(MaxRadius)] = MaxRadius;
|
||||
dict[nameof(CheckInternalRadius)] = CheckInternalRadius;
|
||||
dict[nameof(MinInternalRadius)] = MinInternalRadius;
|
||||
dict[nameof(MaxInternalRadius)] = MaxInternalRadius;
|
||||
dict[nameof(CheckWidth)] = CheckWidth;
|
||||
dict[nameof(MinWidth)] = MinWidth;
|
||||
dict[nameof(MaxWidth)] = MaxWidth;
|
||||
dict[nameof(CheckHeight)] = CheckHeight;
|
||||
dict[nameof(MinHeight)] = MinHeight;
|
||||
dict[nameof(MaxHeight)] = MaxHeight;
|
||||
dict[nameof(ReferenceId)] = ReferenceId.ToString();
|
||||
|
||||
// Save 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_SizeX"] = SearchArea.Size.X;
|
||||
dict["SearchArea_SizeY"] = SearchArea.Size.Y;
|
||||
}
|
||||
|
||||
public override void Load(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Load(dict);
|
||||
if (dict.ContainsKey(nameof(MinArea)))
|
||||
MinArea = Convert.ToInt32(dict[nameof(MinArea)]);
|
||||
if (dict.ContainsKey(nameof(MaxArea)))
|
||||
MaxArea = Convert.ToInt32(dict[nameof(MaxArea)]);
|
||||
if (dict.ContainsKey(nameof(MinRadius)))
|
||||
MinRadius = Convert.ToInt32(dict[nameof(MinRadius)]);
|
||||
if (dict.ContainsKey(nameof(MaxRadius)))
|
||||
MaxRadius = Convert.ToInt32(dict[nameof(MaxRadius)]);
|
||||
if (dict.ContainsKey(nameof(CheckInternalRadius)))
|
||||
CheckInternalRadius = Convert.ToBoolean(dict[nameof(CheckInternalRadius)]);
|
||||
if (dict.ContainsKey(nameof(MinInternalRadius)))
|
||||
MinInternalRadius = Convert.ToInt32(dict[nameof(MinInternalRadius)]);
|
||||
if (dict.ContainsKey(nameof(MaxInternalRadius)))
|
||||
MaxInternalRadius = Convert.ToInt32(dict[nameof(MaxInternalRadius)]);
|
||||
if (dict.ContainsKey(nameof(CheckWidth)))
|
||||
CheckWidth = Convert.ToBoolean(dict[nameof(CheckWidth)]);
|
||||
if (dict.ContainsKey(nameof(MinWidth)))
|
||||
MinWidth = Convert.ToInt32(dict[nameof(MinWidth)]);
|
||||
if (dict.ContainsKey(nameof(MaxWidth)))
|
||||
MaxWidth = Convert.ToInt32(dict[nameof(MaxWidth)]);
|
||||
if (dict.ContainsKey(nameof(CheckHeight)))
|
||||
CheckHeight = Convert.ToBoolean(dict[nameof(CheckHeight)]);
|
||||
if (dict.ContainsKey(nameof(MinHeight)))
|
||||
MinHeight = Convert.ToInt32(dict[nameof(MinHeight)]);
|
||||
if (dict.ContainsKey(nameof(MaxHeight)))
|
||||
MaxHeight = Convert.ToInt32(dict[nameof(MaxHeight)]);
|
||||
if (dict.ContainsKey(nameof(ReferenceId)))
|
||||
ReferenceId = new Guid(dict[nameof(ReferenceId)].ToString());
|
||||
|
||||
// Load SearchArea properties manually
|
||||
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_SizeX") && dict.ContainsKey("SearchArea_SizeY"))
|
||||
SearchArea.Size = new Vector2(Convert.ToSingle(dict["SearchArea_SizeX"]), Convert.ToSingle(dict["SearchArea_SizeY"]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -172,4 +172,51 @@ public class FindManyBlobsOperation:BaseOperation
|
||||
|
||||
SearchArea.Load(br);
|
||||
}
|
||||
|
||||
public override void Save(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Save(dict);
|
||||
dict[nameof(MinArea)] = MinArea;
|
||||
dict[nameof(MaxArea)] = MaxArea;
|
||||
dict[nameof(MinRadius)] = MinRadius;
|
||||
dict[nameof(MaxRadius)] = MaxRadius;
|
||||
dict[nameof(ReferenceId)] = ReferenceId.ToString();
|
||||
|
||||
// Save 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_SizeX"] = SearchArea.Size.X;
|
||||
dict["SearchArea_SizeY"] = SearchArea.Size.Y;
|
||||
}
|
||||
|
||||
public override void Load(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Load(dict);
|
||||
if (dict.ContainsKey(nameof(MinArea)))
|
||||
MinArea = Convert.ToInt32(dict[nameof(MinArea)]);
|
||||
if (dict.ContainsKey(nameof(MaxArea)))
|
||||
MaxArea = Convert.ToInt32(dict[nameof(MaxArea)]);
|
||||
if (dict.ContainsKey(nameof(MinRadius)))
|
||||
MinRadius = Convert.ToInt32(dict[nameof(MinRadius)]);
|
||||
if (dict.ContainsKey(nameof(MaxRadius)))
|
||||
MaxRadius = Convert.ToInt32(dict[nameof(MaxRadius)]);
|
||||
if (dict.ContainsKey(nameof(ReferenceId)))
|
||||
ReferenceId = new Guid(dict[nameof(ReferenceId)].ToString());
|
||||
|
||||
// Load SearchArea properties manually
|
||||
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_SizeX") && dict.ContainsKey("SearchArea_SizeY"))
|
||||
SearchArea.Size = new Vector2(Convert.ToSingle(dict["SearchArea_SizeX"]), Convert.ToSingle(dict["SearchArea_SizeY"]));
|
||||
}
|
||||
}
|
||||
@@ -109,4 +109,54 @@ public class FindRectangleOperation:BaseOperation
|
||||
BadIfFound = br.ReadBoolean();
|
||||
SearchArea.Load(br);
|
||||
}
|
||||
|
||||
public override void Save(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Save(dict);
|
||||
dict[nameof(MinWidth)] = MinWidth;
|
||||
dict[nameof(MaxWidth)] = MaxWidth;
|
||||
dict[nameof(MinHeight)] = MinHeight;
|
||||
dict[nameof(MaxHeight)] = MaxHeight;
|
||||
dict[nameof(BadIfFound)] = BadIfFound;
|
||||
dict[nameof(ReferenceId)] = ReferenceId.ToString();
|
||||
|
||||
// Save 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_SizeX"] = SearchArea.Size.X;
|
||||
dict["SearchArea_SizeY"] = SearchArea.Size.Y;
|
||||
}
|
||||
|
||||
public override void Load(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Load(dict);
|
||||
if (dict.ContainsKey(nameof(MinWidth)))
|
||||
MinWidth = Convert.ToInt32(dict[nameof(MinWidth)]);
|
||||
if (dict.ContainsKey(nameof(MaxWidth)))
|
||||
MaxWidth = Convert.ToInt32(dict[nameof(MaxWidth)]);
|
||||
if (dict.ContainsKey(nameof(MinHeight)))
|
||||
MinHeight = Convert.ToInt32(dict[nameof(MinHeight)]);
|
||||
if (dict.ContainsKey(nameof(MaxHeight)))
|
||||
MaxHeight = Convert.ToInt32(dict[nameof(MaxHeight)]);
|
||||
if (dict.ContainsKey(nameof(BadIfFound)))
|
||||
BadIfFound = Convert.ToBoolean(dict[nameof(BadIfFound)]);
|
||||
if (dict.ContainsKey(nameof(ReferenceId)))
|
||||
ReferenceId = new Guid(dict[nameof(ReferenceId)].ToString());
|
||||
|
||||
// Load SearchArea properties manually
|
||||
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_SizeX") && dict.ContainsKey("SearchArea_SizeY"))
|
||||
SearchArea.Size = new Vector2(Convert.ToSingle(dict["SearchArea_SizeX"]), Convert.ToSingle(dict["SearchArea_SizeY"]));
|
||||
}
|
||||
}
|
||||
@@ -103,4 +103,23 @@ public class TwoBlobsAlign:BaseOperation,IHaveOrigin
|
||||
DesiredAngle = br.ReadInt32();
|
||||
|
||||
}
|
||||
|
||||
public override void Save(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Save(dict);
|
||||
dict[nameof(Reference1)] = Reference1.ToString();
|
||||
dict[nameof(Reference2)] = Reference2.ToString();
|
||||
dict[nameof(DesiredAngle)] = DesiredAngle;
|
||||
}
|
||||
|
||||
public override void Load(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Load(dict);
|
||||
if (dict.ContainsKey(nameof(Reference1)))
|
||||
Reference1 = new Guid(dict[nameof(Reference1)].ToString());
|
||||
if (dict.ContainsKey(nameof(Reference2)))
|
||||
Reference2 = new Guid(dict[nameof(Reference2)].ToString());
|
||||
if (dict.ContainsKey(nameof(DesiredAngle)))
|
||||
DesiredAngle = Convert.ToInt32(dict[nameof(DesiredAngle)]);
|
||||
}
|
||||
}
|
||||
@@ -100,5 +100,21 @@ public class EdgeIntersectionOperation : BaseOperation, IHaveOrigin
|
||||
|
||||
}
|
||||
|
||||
public override void Save(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Save(dict);
|
||||
dict[nameof(ReferenceEdge1)] = ReferenceEdge1.ToString();
|
||||
dict[nameof(ReferenceEdge2)] = ReferenceEdge2.ToString();
|
||||
}
|
||||
|
||||
public override void Load(Dictionary<string, object> dict)
|
||||
{
|
||||
base.Load(dict);
|
||||
if (dict.ContainsKey(nameof(ReferenceEdge1)))
|
||||
ReferenceEdge1 = new Guid(dict[nameof(ReferenceEdge1)].ToString());
|
||||
if (dict.ContainsKey(nameof(ReferenceEdge2)))
|
||||
ReferenceEdge2 = new Guid(dict[nameof(ReferenceEdge2)].ToString());
|
||||
}
|
||||
|
||||
public OriginElement Origin { get; set; } = OriginElement.Default;
|
||||
}
|
||||
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user