예제 #1
0
        private GePoint m_SnappedPoint; // Be set in visitor

        #endregion Fields

        #region Constructors

        protected SnapContext(FRDatabase database)
        {
            m_CandidateProxies = new FRList<SymbolGeometryConstraint>();
            m_SnappedGeoConst = null;
            SnappedPoint = null;

            m_Database = database;
        }
예제 #2
0
        public override void Visit(SymbolGeometryConstraint GeConst)
        {
            Debug.Assert(GeConst != null);
            if (null == GeConst) return;

            if (GeConst is SymbolPointConstraint)
            {
                SymbolPointConstraint PointConst = (SymbolPointConstraint)GeConst;
                double dist = m_ReferencePoint.DistanceTo(
                    PointConst.GetPointState().Point);

                if (dist < m_SnapContext.SnapTolerance)
                {
                    m_SnapContext.SnappedGeometryConstraint = PointConst;
                    m_SnapContext.SnappedPoint = PointConst.GetPointState().Point;
                }
            }
        }
예제 #3
0
 public abstract void Visit(SymbolGeometryConstraint GeProxy);
예제 #4
0
 public override void Visit(SymbolGeometryConstraint GeProxy)
 {
 }
예제 #5
0
 private void Clear()
 {
     CandidateProxies.Clear();
     m_SnappedGeoConst = null;
     SnappedPoint = null;
 }
예제 #6
0
 public void SetGeometryConstraint(SymbolGeometryConstraint GeoConst)
 {
     m_GeometryConst = GeoConst;
 }
예제 #7
0
 public PositionIntent()
 {
     m_GeometryConst = null;
     m_Point = null;
 }