com.supermap.data
类 GeoLine3D
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.data.Geometry
-
- com.supermap.data.Geometry3D
-
- com.supermap.data.GeoLine3D
-
- 所有已实现的接口:
- IDisposable
public class GeoLine3D extends Geometry3D
三维线几何对象类。该类继承自
Geometry3D类。三维线几何对象是由三维点串构成的线对象,这些点可以不在同一平面上。线对象由一个或多个部分组成,每个部分称为线对象的一个子对象。每个子对象用一个三维点对象集合来表示。通过该类可以对子对象进行添加、删除和修改等操作。
该类仅在 Windows、Linux 平台版本中支持。
注意:该类的对象调用
getGeoModel()方法无效,即返回值为null。
-
-
构造器概要
构造器 构造器和说明 GeoLine3D()构造一个新的 GeoLine3D 对象。GeoLine3D(GeoLine3D geoLine3D)根据指定的GeoLine3D对象构造一个与其完全相同的新对象。GeoLine3D(Point3Ds points)根据指定的参数来构造一个 GeoLine3D 的新对象。GeoLine3D(Point3Ds points, boolean bHasM)根据指定的参数来构造一个 GeoLine3D 的新对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 intaddPart(Point3Ds points)向三维线几何对象追加一个子对象。GeoLine3Dclone()克隆一个Geometry对象。GeoRegion3DconvertToRegion()将该三维线几何对象转换为三维面几何对象,成功返回面几何对象。voiddispose()释放该对象所占用的资源。doublegetLength()返回三维线几何对象的长度,其长度为各个子对象长度之和,单位为米。Point3DsgetPart(int index)返回三维线几何对象中指定序号的子对象的三维点对象集合。intgetPartCount()返回三维线对象的子对象个数。intindexOf(Point3Ds part)返回指定三维点串所表示的子对象在此三维线几何对象中的序号。booleaninsertPart(int index, Point3Ds points)用于往三维线几何对象中的指定位置插入一个子对象,成功则返回 true,否则返回 false。booleanisEmpty()判断几何对象是否为空值,不同的几何对象的是否为空的条件各异,请参见各具体几何类型的该方法。booleanremovePart(int index)删除三维线几何对象中指定序号的子对象。voidrotateAxis(Point3D startPoint, Point3D endPoint, double dAngle, boolean isLonLat)实现三维线绕指定线段旋转。voidsetEmpty()清空几何对象中的空间数据,但几何对象的标识符和几何风格保持不变。booleansetPart(int index, Point3Ds points)修改三维线几何对象指定序号的子对象,即用新的三维点串来替换原来子对象的三维点串。booleansubDivision(double interval, boolean lonlat)插值细分,对三维线几何对象根据间距插值节点。-
从类继承的方法 com.supermap.data.Geometry3D
convertToGeoModel3D, convertToGeoModel3D, convertToGeoModel3D, getBoundingBox, getGeoModel, getInnerPoint3D, getOrientedBoundingBox, getPosition, getRotationX, getRotationY, getRotationZ, getScaleX, getScaleY, getScaleZ, getStyle3D, getVolume, offset, setPosition, setRotationX, setRotationY, setRotationZ, setScaleX, setScaleY, setScaleZ, setStyle3D
-
-
-
-
构造器详细资料
-
GeoLine3D
public GeoLine3D()
构造一个新的 GeoLine3D 对象。
-
GeoLine3D
public GeoLine3D(Point3Ds points)
根据指定的参数来构造一个 GeoLine3D 的新对象。- 参数:
points- 指定的三维点对象。
-
GeoLine3D
public GeoLine3D(Point3Ds points, boolean bHasM)
根据指定的参数来构造一个 GeoLine3D 的新对象。- 参数:
points- 指定的三维点对象。bHasM- 是否包含M值
-
-
方法详细资料
-
rotateAxis
public void rotateAxis(Point3D startPoint, Point3D endPoint, double dAngle, boolean isLonLat)
实现三维线绕指定线段旋转。可模拟风场下输电线的摆动效果。- 参数:
startPoint- 旋转轴的起始点。endPoint- 旋转轴的终止点。dAngle- 线段绕旋转轴的旋转角度。isLonLat- 输入数据是否为经纬度。- 从以下版本开始:
- 11.2.0。
-
dispose
public void dispose()
释放该对象所占用的资源。当调用该方法之后,此对象不再可用。- 指定者:
dispose在接口中IDisposable- 指定者:
dispose在类中Geometry
-
getLength
public double getLength()
返回三维线几何对象的长度,其长度为各个子对象长度之和,单位为米。- 返回:
- 三维线几何对象的长度。单位为米。
- 默认值:
- 默认值为 0,单位为米。
-
getPartCount
public int getPartCount()
返回三维线对象的子对象个数。- 返回:
- 三维线几何对象的子对象个数。
- 默认值:
- 默认值为 0。
-
addPart
public int addPart(Point3Ds points)
向三维线几何对象追加一个子对象。- 参数:
points- 子对象的点串。- 返回:
- 如果成功,返回添加子对象的序号。
-
removePart
public boolean removePart(int index)
删除三维线几何对象中指定序号的子对象。- 参数:
index- 指定的子对象索引号。- 返回:
- 删除成功,返回 true,否则返回 false。
-
getPart
public Point3Ds getPart(int index)
返回三维线几何对象中指定序号的子对象的三维点对象集合。当三维线对象是简单线对象时,如果传入参数0,得到的是此线对象的节点的集合。
- 参数:
index- 子对象的索引。当此三维线对象是复杂线对象时,子对象的索引从0开始。- 返回:
- 成功返回
Point3Ds对象,失败返回空值。
-
insertPart
public boolean insertPart(int index, Point3Ds points)用于往三维线几何对象中的指定位置插入一个子对象,成功则返回 true,否则返回 false。- 参数:
index- 插入的位置,缺省则从1开始。points- 待插入的子对象的三维点串。- 返回:
- 插入成功返回 true,否则返回 false。
-
setPart
public boolean setPart(int index, Point3Ds points)修改三维线几何对象指定序号的子对象,即用新的三维点串来替换原来子对象的三维点串。- 参数:
index- 被替换的子对象的索引号(大于零)。points- 替换子对象的三维点串。- 返回:
- 成功返回 true,否则返回 false。
-
indexOf
public int indexOf(Point3Ds part)
返回指定三维点串所表示的子对象在此三维线几何对象中的序号。- 参数:
part- 三维点串。- 返回:
- 指定三维点串所表示的子对象在此三维线几何对象中的序号,如果该子对象不存在,返回-1。
-
convertToRegion
public GeoRegion3D convertToRegion()
将该三维线几何对象转换为三维面几何对象,成功返回面几何对象。对于没有封闭的三维线几何对象,转换为三维面几何对象时,会把首尾自动连起来。
- 返回:
- GeoRegion3D 转换成功返回三维面几何对象。
- 抛出:
UnsupportedOperationException- 当此GeoLine3D对象实例的某个子对象的点数少于3时。
-
isEmpty
public boolean isEmpty()
从类复制的说明:Geometry判断几何对象是否为空值,不同的几何对象的是否为空的条件各异,请参见各具体几何类型的该方法。- 覆盖:
isEmpty在类中Geometry- 返回:
- 一个布尔值指定几何对象是否为空。
- 另请参阅:
Geometry.offset(double, double)
-
setEmpty
public void setEmpty()
从类复制的说明:Geometry清空几何对象中的空间数据,但几何对象的标识符和几何风格保持不变。
-
subDivision
public boolean subDivision(double interval, boolean lonlat)插值细分,对三维线几何对象根据间距插值节点。插值成功后,即三维线几何对象的子对象及子对象个数将被修改。- 参数:
interval- 插值的间隔,一个Double值。lonlat- 是否是经纬度。true表示地理坐标系,间隔单位是度;false表示投影或平面坐标系,间隔单位是米。- 返回:
- 插值是否成功。返回true表示插值成功,false表示插值失败。
- 抛出:
IllegalStateException- 当前对象已被释放。- 从以下版本开始:
- 11.2.0。
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.