类 Geometry3D
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.data.Geometry
-
- com.supermap.data.Geometry3D
-
- 所有已实现的接口:
- IDisposable
- 直接已知子类:
- GeoBendingCylinder, GeoBillboard, GeoBox, GeoCircle3D, GeoCone, GeoConstructiveSolid, GeoCylinder, GeoEllipsoid, GeoEllipticRing, GeoExtrudedBody, GeoGraphicObject, GeoHemiSphere, GeoLine3D, GeoModel, GeoModel3D, GeoModel3DEx, GeoParticle, GeoPicture3D, GeoPie3D, GeoPieCylinder, GeoPlacemark, GeoPoint3D, GeoPyramid, GeoRectangularRing, GeoRegion3D, GeoSphere, GeoTable3D, GeoText3D, GeoTIM, GeoTorus, GeoTruncatedCone, GeoWedge
public abstract class Geometry3D extends Geometry
所有三维几何类的基类,提供了基本的三维几何类的方法。通过本类可以对三维几何对象的姿态进行控制,包括对象的位置,旋转角度,缩放比例和内点;还可以对三维几何对象进行偏移;还可以返回三维模型几何对象。
该类仅在 Windows、Linux 平台版本中支持。
- 示范代码:
- 以下代码示范如何设置三维几何对象。
public void geometry3DTest() { // 构造一个 SceneControl 对象,得到 SceneControl 对象的最顶层,得到顶层的三维要素对象 SceneControl sceneControl = new SceneControl(); Layer3D layer3D = sceneControl.getScene().getLayers().get(0); Feature3D feature3D = layer3D.getFeatures().findFeature(0, Feature3DSearchOption.ALLFEATURES); // 返回三维要素对应的三维几何对象 Geometry3D geometry3D = feature3D.getGeometry(); // 将三维几何对象进行平移 geometry3D.offset(10, 10, 12); // 设置三维几何对象 geometry3D.setID(25); geometry3D.setPosition(new Point3D(20, 25, 20)); geometry3D.setRotationX(10); geometry3D.setRotationY(15); geometry3D.setRotationZ(5); geometry3D.setScaleX(0.5); geometry3D.setScaleY(0.8); geometry3D.setScaleZ(1.2); // 释放资源 geometry3D.dispose(); feature3D.dispose(); sceneControl.dispose(); }
-
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 GeoModel3DconvertToGeoModel3D(boolean bLonLat)将三维几何对象转换为三维模型对象。GeoModel3DconvertToGeoModel3D(boolean bLonLat, int nResolution)将三维几何对象按指定分辨率转换为三维模型对象。GeoModel3DconvertToGeoModel3D(boolean bLonLat, int nResolution, boolean bGenerateNormal, boolean bGenerateTextureCoord)BoundingBoxgetBoundingBox()返回三维几何对象的包围盒。GeoModelgetGeoModel(int slices, int stacks)已过时。Point3DgetInnerPoint3D()返回三维几何对象的内点,即在三维几何对象的内部且靠近中央的点。OrientedBoundingBoxgetOrientedBoundingBox()返回三维几何对象的方向包围盒。Point3DgetPosition()返回三维几何对象的位置。doublegetRotationX()返回三维几何对象沿 X 轴方向的旋转角度,单位为度。doublegetRotationY()返回三维几何对象沿 Y 轴方向的旋转角度,单位为度。doublegetRotationZ()返回三维几何对象沿 Z 轴方向的旋转角度,单位为度。doublegetScaleX()返回三维几何对象沿 X 轴方向的缩放比例。doublegetScaleY()返回三维几何对象沿 Y 轴方向的缩放比例。doublegetScaleZ()返回三维几何对象沿 Z 轴方向的缩放比例。GeoStyle3DgetStyle3D()返回三维几何对象的风格。doublegetVolume()返回三维几何对象的体积,单位为立方米。voidoffset(double dx, double dy, double dz)根据指定的 X、Y、Z 方向上的偏移量,将三维几何对象进行偏移。voidsetPosition(Point3D point)设置三维几何对象的位置。voidsetRotationX(double x)设置三维几何对象沿 X 轴方向的旋转角度,单位为度。voidsetRotationY(double y)设置三维几何对象沿 Y 轴方向的旋转角度,单位为度。voidsetRotationZ(double z)设置三维几何对象沿 Z 轴方向的旋转角度,单位为度。voidsetScaleX(double x)设置三维几何对象沿 X 轴方向的缩放比例。voidsetScaleY(double y)设置三维几何对象沿 Y 轴方向的缩放比例。voidsetScaleZ(double z)设置三维几何对象沿 Z 轴方向的缩放比例。voidsetStyle3D(GeoStyle3D value)设置三维几何对象的风格。-
从类继承的方法 com.supermap.data.Geometry
addCustomGeometryCreatedListener, clone, dispose, fromXML, getBounds, getHasM, getID, getInnerPoint, getStyle, getType, getVariantID, hitTest, isEmpty, mirror, offset, removeCustomGeometryCreatedListener, resize, rotate, setBounds, setEmpty, setHasM, setID, setStyle, toXML
-
-
-
-
方法详细资料
-
getPosition
public Point3D getPosition()
返回三维几何对象的位置。该位置的坐标值是三维几何对象外接长方体底面中心点的三维坐标值。该中心点用来控制三维几何对象在地球上的放置位置。比如一个球体,其外接长方体的底面中心点就是球体与该外接长方体底边的切点。
该方法对三维点几何对象、三维面几何对象、三维线几何对象、三维文本几何对象以及三维地标几何对象无效,暂时只对三维模型和三维规则几何体有效。
- 返回:
- 三维几何对象的位置。
-
setPosition
public void setPosition(Point3D point)
设置三维几何对象的位置。该位置的坐标值是三维几何对象外接长方体底面中心点的三维坐标值。该中心点用来控制三维几何对象在地球上的放置位置。比如一个球体,其外接长方体的底面中心点就是球体与该外接长方体底边的切点。
该方法对三维点几何对象、三维面几何对象、三维线几何对象、三维文本几何对象以及三维地标几何对象无效,暂时只对三维模型和三维规则几何体有效。
- 参数:
point- 三维几何对象的位置。
-
getStyle3D
public GeoStyle3D getStyle3D()
返回三维几何对象的风格。- 返回:
- 三维几何对象的风格。
-
setStyle3D
public void setStyle3D(GeoStyle3D value)
设置三维几何对象的风格。- 参数:
geoStyle3D- 三维几何对象的风格。
-
getRotationX
public double getRotationX()
返回三维几何对象沿 X 轴方向的旋转角度,单位为度。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 返回:
- 三维几何对象沿 X 轴方向的旋转角度。单位为度。
- 默认值:
- 默认值为0,单位为度。
-
setRotationX
public void setRotationX(double x)
设置三维几何对象沿 X 轴方向的旋转角度,单位为度。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 参数:
value- 三维几何对象沿 X 轴方向的旋转角度。单位为度。
-
getRotationY
public double getRotationY()
返回三维几何对象沿 Y 轴方向的旋转角度,单位为度。在局部坐标系中,Y 轴是切于地面的,Z 轴是垂直于地面的。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 返回:
- 三维几何对象沿 Y 轴方向的旋转角度。单位为度。
- 默认值:
- 默认值为0,单位为度。
-
setRotationY
public void setRotationY(double y)
设置三维几何对象沿 Y 轴方向的旋转角度,单位为度。在局部坐标系中,Y 轴是切于地面的,Z 轴是垂直于地面的。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 参数:
value- 三维几何对象沿 Y 轴方向的旋转角度。单位为度。
-
getRotationZ
public double getRotationZ()
返回三维几何对象沿 Z 轴方向的旋转角度,单位为度。在局部坐标系中,Y 轴是切于地面的,Z 轴是垂直于地面的。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 返回:
- 三维几何对象沿 Z 轴方向的旋转角度。单位为度。
- 默认值:
- 默认值为0,单位为度。
-
setRotationZ
public void setRotationZ(double z)
设置三维几何对象沿 Z 轴方向的旋转角度,单位为度。在局部坐标系中,Y 轴是切于地面的,Z 轴是垂直于地面的。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 参数:
value- 三维几何对象沿 Z 轴方向的旋转角度。单位为度。
-
getScaleX
public double getScaleX()
返回三维几何对象沿 X 轴方向的缩放比例。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 返回:
- 三维几何对象沿 X 轴方向的缩放比例。
- 默认值:
- 默认值为1。
-
setScaleX
public void setScaleX(double x)
设置三维几何对象沿 X 轴方向的缩放比例。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 参数:
value- 三维几何对象沿 X 轴方向的缩放比例。
-
getScaleY
public double getScaleY()
返回三维几何对象沿 Y 轴方向的缩放比例。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 返回:
- 三维几何对象沿 Y 轴方向的缩放比例。
- 默认值:
- 默认值为1。
-
setScaleY
public void setScaleY(double y)
设置三维几何对象沿 Y 轴方向的缩放比例。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 参数:
value- 三维几何对象沿 Y 轴方向的缩放比例。
-
getScaleZ
public double getScaleZ()
返回三维几何对象沿 Z 轴方向的缩放比例。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 返回:
- 三维几何对象沿 Z 轴方向的缩放比例。
- 默认值:
- 默认值为1。
-
setScaleZ
public void setScaleZ(double z)
设置三维几何对象沿 Z 轴方向的缩放比例。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark以及粒子几何对象GeoParticle无效,暂时只对三维模型和三维规则几何体有效。- 参数:
value- 三维几何对象沿 Z 轴方向的缩放比例。
-
getBoundingBox
public BoundingBox getBoundingBox()
返回三维几何对象的包围盒。- 返回:
- 三维几何对象的包围盒。
-
getOrientedBoundingBox
public OrientedBoundingBox getOrientedBoundingBox()
返回三维几何对象的方向包围盒。- 返回:
- 三维几何对象的方向包围盒。
- 从以下版本开始:
- 11.3.0
-
getInnerPoint3D
public Point3D getInnerPoint3D()
返回三维几何对象的内点,即在三维几何对象的内部且靠近中央的点。- 返回:
- 三维几何对象的内点。
-
getVolume
public double getVolume()
返回三维几何对象的体积,单位为立方米。该方法对三维点几何对象
GeoPoint3D、三维面几何对象GeoRegion3D、三维线几何对象GeoLine3D、三维文本几何对象GeoText3D、三维图片几何对象GeoPicture3D、三维地标几何对象GeoPlacemark、粒子几何对象GeoParticle、三维圆面几何对象GeoCircle3D以及三维扇面几何对象GeoPie3D无效。- 返回:
- 三维几何对象的体积。单位为立方米。
-
offset
public void offset(double dx, double dy, double dz)根据指定的 X、Y、Z 方向上的偏移量,将三维几何对象进行偏移。- 参数:
dx- 沿 X 轴方向的偏移量,单位为度。dy- 沿 Y 轴方向的偏移量,单位为度。dz- 沿 Z 轴方向的偏移量,单位为米。
-
getGeoModel
@Deprecated public GeoModel getGeoModel(int slices, int stacks)
已过时。
-
convertToGeoModel3D
public GeoModel3D convertToGeoModel3D(boolean bLonLat)
将三维几何对象转换为三维模型对象。- 参数:
bLonLat- 指定模型的顶点或插值点是否是经纬度。- 返回:
- GeoModel3D 三维模型对象。
-
convertToGeoModel3D
public GeoModel3D convertToGeoModel3D(boolean bLonLat, int nResolution)
将三维几何对象按指定分辨率转换为三维模型对象。- 参数:
bLonLat- 指定模型的顶点或插值点是否是经纬度。nResolution- 指定的分辨率。- 返回:
- 三维模型对象。
-
convertToGeoModel3D
public GeoModel3D convertToGeoModel3D(boolean bLonLat, int nResolution, boolean bGenerateNormal, boolean bGenerateTextureCoord)
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.