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)根据指定的捕捉设置对象构造一个与其相同的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 voiddispose()释放该对象所占用的资源。booleanexchange(int index1, int index2)交换两个指定的捕捉模式的先后顺序。booleanexchange(SnapMode mode1, SnapMode mode2)交换两个指定的捕捉模式的先后顺序。booleanget(SnapMode mode)返回指定的捕捉模式是否有效。SnapModegetAt(int index)返回指定索引值的捕捉模式。doublegetFixedAngle()返回按固定角度画线时的角度,默认为 90 度。doublegetFixedLength()返回按固定长度画线时的长度,单位为地图单位,默认为 1000。intgetMaxSnappedCount()返回一个可捕捉图层内,最多可以捕捉的对象数。intgetMinSnappedLength()返回捕捉线的最小长度,当线性图素的长度小于该值时,不再捕捉,单位是像素。intgetTolerance()返回捕捉时光标定位点的容限,单位是像素。intindexOf(SnapMode mode)返回指定模式的索引值。booleanisEnable()返回捕捉是否可用,true表示开启捕捉,false表示关闭捕捉功能。booleanisSnappedLineBroken()返回是否打断被捕捉的线。booleanmoveTo(SnapMode mode, int targetIndex)移动指定的捕捉模式到指定的索引处。voidset(SnapMode mode, boolean value)设置指定的捕捉模式是否有效。voidsetEnable(boolean value)设置捕捉是否可用,true表示开启捕捉,false表示关闭捕捉功能。voidsetFixedAngle(double value)设置按固定角度画线时的角度,默认为 90 度。voidsetFixedLength(double value)设置按固定长度画线时的长度,单位为地图单位,默认为 1000。voidsetMaxSnappedCount(int value)设置一个可捕捉图层内,最多可以捕捉的对象数。voidsetMinSnappedLength(int value)设置捕捉线的最小长度,当线性图素的长度小于该值时,不再捕捉,单位是像素。voidsetSnappedLineBroken(boolean value)设置是否打断被捕捉的线。voidsetTolerance(int value)设置捕捉时光标定位点的容限,单位是像素。StringtoString()输出一个字符串来表示当前的捕捉设置类对象。
-
-
-
构造器详细资料
-
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=,}。
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.