/// <summary> /// Removes all state related to an alignment mask filter and sets the alignment mask type to off /// </summary> public void ClearAlignmentMask() { IsAlignmentMask = false; AlignmentFence.Clear(); StartStation = null; EndStation = null; LeftOffset = null; RightOffset = null; AlignmentDesignMaskDesignUID = Guid.Empty; }
/// <summary> /// Serialize out the state of the cell spatial filter using the Ignite IBinarizable serialisation /// </summary> public override void InternalToBinary(IBinaryRawWriter writer) { VersionSerializationHelper.EmitVersionByte(writer, VERSION_NUMBER); writer.WriteBoolean(Fence != null); Fence?.ToBinary(writer); writer.WriteBoolean(AlignmentFence != null); AlignmentFence?.ToBinary(writer); writer.WriteDouble(PositionX); writer.WriteDouble(PositionY); writer.WriteDouble(PositionRadius); writer.WriteBoolean(IsSquare); OverrideSpatialCellRestriction.ToBinary(writer); writer.WriteBoolean(StartStation.HasValue); if (StartStation.HasValue) { writer.WriteDouble(StartStation.Value); } writer.WriteBoolean(EndStation.HasValue); if (EndStation.HasValue) { writer.WriteDouble(EndStation.Value); } writer.WriteBoolean(LeftOffset.HasValue); if (LeftOffset.HasValue) { writer.WriteDouble(LeftOffset.Value); } writer.WriteBoolean(RightOffset.HasValue); if (RightOffset.HasValue) { writer.WriteDouble(RightOffset.Value); } writer.WriteBoolean(CoordsAreGrid); writer.WriteBoolean(IsSpatial); writer.WriteBoolean(IsPositional); writer.WriteBoolean(IsDesignMask); writer.WriteGuid(SurfaceDesignMaskDesignUid); writer.WriteBoolean(IsAlignmentMask); writer.WriteGuid(AlignmentDesignMaskDesignUID); }