Exemple #1
0
        /// <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;
        }
Exemple #2
0
        /// <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);
        }