com.supermap.mapping

类 SnapSetting

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.mapping.SnapSetting
  • 所有已实现的接口:
    IDisposable


    public class SnapSetting
    extends com.supermap.data.InternalHandleDisposable
    捕捉设置类。

    地图捕捉可以将节点精确捕捉到与其呈特定空间关系且在捕捉容限内的对象上。地图捕捉多用在栅格矢量化、矢量图层编辑等。设置合理的捕捉容限,可以消除悬线、断线等数字化以及图形编辑过程中容易产生的错误。

    注意:捕捉模式的优先级由捕捉模式在该对象中的先后顺序来决定,即,捕捉模式的 ID 值,ID 值越小优先级越高。

    • 构造器概要

      构造器 
      构造器和说明
      SnapSetting()
      构造一个捕捉设置类的新对象。
      SnapSetting(SnapSetting setting)
      根据指定的捕捉设置对象构造一个与其相同的新对象。
    • 方法概要

      所有方法 实例方法 具体方法 
      限定符和类型 方法和说明
      void dispose()
      释放该对象所占用的资源。
      boolean exchange(int index1, int index2)
      交换两个指定的捕捉模式的先后顺序。
      boolean exchange(SnapMode mode1, SnapMode mode2)
      交换两个指定的捕捉模式的先后顺序。
      boolean get(SnapMode mode)
      返回指定的捕捉模式是否有效。
      SnapMode getAt(int index)
      返回指定索引值的捕捉模式。
      double getFixedAngle()
      返回按固定角度画线时的角度,默认为 90 度。
      double getFixedLength()
      返回按固定长度画线时的长度,单位为地图单位,默认为 1000。
      int getMaxSnappedCount()
      返回一个可捕捉图层内,最多可以捕捉的对象数。
      int getMinSnappedLength()
      返回捕捉线的最小长度,当线性图素的长度小于该值时,不再捕捉,单位是像素。
      int getTolerance()
      返回捕捉时光标定位点的容限,单位是像素。
      int indexOf(SnapMode mode)
      返回指定模式的索引值。
      boolean isEnable()
      返回捕捉是否可用,true表示开启捕捉,false表示关闭捕捉功能。
      boolean isSnappedLineBroken()
      返回是否打断被捕捉的线。
      boolean moveTo(SnapMode mode, int targetIndex)
      移动指定的捕捉模式到指定的索引处。
      void set(SnapMode mode, boolean value)
      设置指定的捕捉模式是否有效。
      void setEnable(boolean value)
      设置捕捉是否可用,true表示开启捕捉,false表示关闭捕捉功能。
      void setFixedAngle(double value)
      设置按固定角度画线时的角度,默认为 90 度。
      void setFixedLength(double value)
      设置按固定长度画线时的长度,单位为地图单位,默认为 1000。
      void setMaxSnappedCount(int value)
      设置一个可捕捉图层内,最多可以捕捉的对象数。
      void setMinSnappedLength(int value)
      设置捕捉线的最小长度,当线性图素的长度小于该值时,不再捕捉,单位是像素。
      void setSnappedLineBroken(boolean value)
      设置是否打断被捕捉的线。
      void setTolerance(int value)
      设置捕捉时光标定位点的容限,单位是像素。
      String toString()
      输出一个字符串来表示当前的捕捉设置类对象。
      • 从类继承的方法 com.supermap.data.InternalHandleDisposable

        makeSureNativeObjectLive
    • 构造器详细资料

      • SnapSetting

        public SnapSetting()
        构造一个捕捉设置类的新对象。
      • SnapSetting

        public SnapSetting(SnapSetting setting)
        根据指定的捕捉设置对象构造一个与其相同的新对象。
        参数:
        setting - 指定的捕捉设置对象。
    • 方法详细资料

      • getTolerance

        public int getTolerance()
        返回捕捉时光标定位点的容限,单位是像素。
        返回:
        捕捉时光标定位点的容限。
      • setTolerance

        public void setTolerance(int value)
        设置捕捉时光标定位点的容限,单位是像素。
        参数:
        value - 捕捉时光标定位点的容限。
      • getMinSnappedLength

        public int getMinSnappedLength()
        返回捕捉线的最小长度,当线性图素的长度小于该值时,不再捕捉,单位是像素。
        返回:
        捕捉线的最小长度。
      • setMinSnappedLength

        public void setMinSnappedLength(int value)
        设置捕捉线的最小长度,当线性图素的长度小于该值时,不再捕捉,单位是像素。
        参数:
        value - 捕捉线的最小长度。
      • getFixedAngle

        public double getFixedAngle()
        返回按固定角度画线时的角度,默认为 90 度。
        返回:
        按固定角度画线时的角度。
        默认值:
        默认为 90 度。
      • setFixedAngle

        public void setFixedAngle(double value)
        设置按固定角度画线时的角度,默认为 90 度。
        参数:
        value - 按固定角度画线时的角度。
      • getFixedLength

        public double getFixedLength()
        返回按固定长度画线时的长度,单位为地图单位,默认为 1000。
        返回:
        按固定长度画线时的长度。
        默认值:
        默认为 1000。
      • setFixedLength

        public void setFixedLength(double value)
        设置按固定长度画线时的长度,单位为地图单位,默认为 1000。
        参数:
        value - 按固定长度画线时的长度。
      • getMaxSnappedCount

        public int getMaxSnappedCount()
        返回一个可捕捉图层内,最多可以捕捉的对象数。缺省为 500 个。 如果可捕捉图层在当前地图窗口范围内的对象数目超过这个最大对象数,就不捕捉该图层对象。
        返回:
        一个可捕捉图层内最多可以捕捉的对象数。
        默认值:
        默认值为 500 个。
      • setMaxSnappedCount

        public void setMaxSnappedCount(int value)
        设置一个可捕捉图层内,最多可以捕捉的对象数。缺省为 500 个。 如果可捕捉图层在当前地图窗口范围内的对象数目超过这个最大对象数,就不捕捉该图层对象。
        参数:
        value - 可捕捉图层内最多可以捕捉的对象数。
      • isSnappedLineBroken

        public boolean isSnappedLineBroken()
        返回是否打断被捕捉的线。
        返回:
        一个布尔值,若为 true,表示打断被捕捉的线;否则,返回 false。
      • setSnappedLineBroken

        public void setSnappedLineBroken(boolean value)
        设置是否打断被捕捉的线。
        参数:
        value - 返回一个布尔值,用于指定是否打断被捕捉的线。
      • isEnable

        public boolean isEnable()
        返回捕捉是否可用,true表示开启捕捉,false表示关闭捕捉功能。
        返回:
        一个布尔值,指示捕捉是否可用,true表示开启捕捉,false表示关闭捕捉功能。
      • setEnable

        public void setEnable(boolean value)
        设置捕捉是否可用,true表示开启捕捉,false表示关闭捕捉功能。
        参数:
        value - 一个布尔值,指示捕捉是否可用,true表示开启捕捉,false表示关闭捕捉功能。
      • get

        public boolean get(SnapMode mode)
        返回指定的捕捉模式是否有效。
        参数:
        mode - 指定的捕捉模式。
        返回:
        一个布尔值,若为 true,表示指定的捕捉模式有效;否则返回 false。
      • set

        public void set(SnapMode mode,
                        boolean value)
        设置指定的捕捉模式是否有效。
        参数:
        mode - 指定的捕捉模式。
        value - 返回一个布尔值,用于指定该捕捉模式是否有效。
      • indexOf

        public int indexOf(SnapMode mode)
        返回指定模式的索引值。
        参数:
        mode - 指定的捕捉模式。
        返回:
        指定模式的索引值。
        示范代码:
        请参见 SnapSetting.exchange(int,int) 方法的示例。
      • getAt

        public SnapMode getAt(int index)
        返回指定索引值的捕捉模式。
        参数:
        index - 指定的索引值。
        返回:
        指定索引值所处的捕捉模式。
        示范代码:
        下列示范返回指定索引值的捕捉模式。
         public void getATTest() {
        
                // 实例化一个捕捉设置类对象 setting,并进行相应设置
                SnapSetting setting = new SnapSetting();
                setting.setFixedLength(3000.0);
                setting.setTolerance(20);
                setting.setFixedAngle(360);
                setting.setSnappedLineBroken(true);
                setting.setMaxSnappedCount(520);
                setting.setMinSnappedLength(22);
                setting.set(SnapMode.POINT_ON_LINE, true);
        
                // 返回给定索引值的捕捉模式
                int index = 0;
                SnapMode actual = setting.getAt(index);
            }
         
      • exchange

        public boolean exchange(SnapMode mode1,
                                SnapMode mode2)
        交换两个指定的捕捉模式的先后顺序。
        参数:
        mode1 - 指定的一个待交换位置的捕捉模式。
        mode2 - 指定的另一个待交换位置的捕捉模式。
        返回:
        成功交换位置返回 true;否则返回 false。
        示范代码:
        请参见 SnapSetting.exchange(int,int) 方法的示例。
      • exchange

        public boolean exchange(int index1,
                                int index2)
        交换两个指定的捕捉模式的先后顺序。
        参数:
        index1 - 一个捕捉模式的索引
        index2 - 另一个捕捉模式的索引
        返回:
        成功交换位置返回 true;否则返回 false。
      • moveTo

        public boolean moveTo(SnapMode mode,
                              int targetIndex)
        移动指定的捕捉模式到指定的索引处。
        参数:
        mode - 指定的捕捉模式。
        targetIndex - 指定的索引值。
        返回:
        移动成功返回 true;否则返回 false。
        示范代码:
        以下代码示范了如何移动指定的捕捉模式到指定的索引处。
         public void moveToTest() {
                // 实例化一个捕捉设置类对象setting
                SnapSetting setting = new SnapSetting();
        
                // 指定捕捉模式
                SnapMode mode = SnapMode.POINT_ON_ENDPOINT;
        
                // 指定索引值
                int targetIndex = 5;
        
                // 移动捕捉模式到指定的索引处
                setting.moveTo(mode, targetIndex);
            }
         
      • toString

        public String toString()
        输出一个字符串来表示当前的捕捉设置类对象。格式如下:{ FixedAngle=,FixedLength=,IsSnapedLineBroen=,MaxSnappedCount=,MinLength=,Tolerance= ,EnableSnapModes=,}。
        覆盖:
        toString 在类中 Object
        返回:
        一个描述当前捕捉设置类对象的字符串。
      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。

Copyright © 2021–2024 SuperMap. All rights reserved.