com.supermap.data
类 GeoModel

java.lang.Object
  继承者 com.supermap.data.Geometry
      继承者 com.supermap.data.Geometry3D
          继承者 com.supermap.data.GeoModel

public class GeoModel
extends Geometry3D

三维模型几何对象类。

该类用于建立三维几何对象的模型,从而实现对三维几何对象进行渲染。

该类仅在 Windows、Linux 平台版本中支持。


构造方法摘要
GeoModel()
          构造一个新的 GeoModel 对象。
GeoModel(GeoModel geoModel)
          根据给定的 GeoModel 对象构造一个与其完全相同的新对象。
 
方法摘要
 GeoModel clone()
          返回当前 GeoModel 对象的一个拷贝。
 void computeBoundingBox()
          根据网格面集合计算模型的包围盒。
 void dispose()
          释放该对象所占用的资源。
 boolean fromFile(java.lang.String file)
          通过 3DS 文件或 SGM 文件来创建三维模型几何对象。
 boolean fromFile(java.lang.String file, Point3D position)
          通过给定的 3DS 文件或 SGM 文件以及三维模型几何对象的位置信息来创建三维模型几何对象。
 Animation getAnimation()
          返回模型的动画。
 Meshes getMeshes()
          返回三维模型几何对象的网格面集合。
 java.lang.String getName()
          返回三维模型几何对象的名称。
 NodeAnimation getNodeAnimation()
          获取GeoModel对象的节点动画。
 void setBoundingBox(BoundingBox boundingBox)
          设置模型的包围盒。
 void setName(java.lang.String value)
          设置三维模型几何对象的名称。
 boolean toSGM(java.lang.String fileSGM)
          将三维模型几何对象导出为 SGM 文件。
 boolean toSGZ(java.lang.String fileSGZ)
          将三维模型几何对象导出为 SGZ 文件。
 
从类 com.supermap.data.Geometry3D 继承的方法
convertToGeoModel3D, convertToGeoModel3D, getBoundingBox, getGeoModel, getInnerPoint3D, getPosition, getRotationX, getRotationY, getRotationZ, getScaleX, getScaleY, getScaleZ, getStyle, getStyle3D, getVolume, hitTest, mirror, offset, resize, rotate, setPosition, setRotationX, setRotationY, setRotationZ, setScaleX, setScaleY, setScaleZ, setStyle, setStyle3D
 
从类 com.supermap.data.Geometry 继承的方法
addCustomGeometryCreatedListener, fromXML, getBounds, getID, getInnerPoint, getType, getVariantID, isEmpty, offset, removeCustomGeometryCreatedListener, setEmpty, setID, toXML
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

GeoModel

public GeoModel()
构造一个新的 GeoModel 对象。


GeoModel

public GeoModel(GeoModel geoModel)
根据给定的 GeoModel 对象构造一个与其完全相同的新对象。

参数:
geoModel - 给定的 GeoModel 对象。
方法详细信息

getName

public java.lang.String getName()
返回三维模型几何对象的名称。

返回:
三维模型几何对象的名称。
默认值:
默认值为 ""。

setName

public void setName(java.lang.String value)
设置三维模型几何对象的名称。

参数:
value - 三维模型几何对象的名称。
另请参见:
toSGM(String)
示例:
请参见 GeoModel.toSGM() 方法的示例。

fromFile

public boolean fromFile(java.lang.String file)
通过 3DS 文件或 SGM 文件来创建三维模型几何对象。

参数:
file - 文件的全路径,支持 3DS 文件和 SGM 文件,目前通过文件扩展名来判断文件的类型。
返回:
创建成功返回 true,否则返回 false。

fromFile

public boolean fromFile(java.lang.String file,
                        Point3D position)
通过给定的 3DS 文件或 SGM 文件以及三维模型几何对象的位置信息来创建三维模型几何对象。

参数:
file - 文件的全路径,支持 3DS 文件和 SGM 文件,目前通过文件扩展名来判断文件的类型。
position - 三维模型几何对象的位置。
返回:
创建成功返回 true,否则返回 false。

toSGM

public boolean toSGM(java.lang.String fileSGM)
将三维模型几何对象导出为 SGM 文件。

参数:
fileSGM - 导出的 SGM 文件全路径。
返回:
导出成功返回 true,否则返回 false。
示例:
以下代码示范如何设置三维模型几何对象并将其输出为 SGM 格式的文件。
 public void toSGMTest() {
        // 实例化一个三维模型几何对象,对其进行设置,将其输出为 sgm 格式的文件
        GeoModel model = new GeoModel();
        model.setName("Model");
        model.setID(110);
        model.setPosition(new Point3D(10, 10, 20));
        model.toSGM("G:/SGM/Model.sgm");
        model.dispose();
    }
 

toSGZ

public boolean toSGZ(java.lang.String fileSGZ)
将三维模型几何对象导出为 SGZ 文件。便于网络的发布使用。

SGZ 文件是模型数据和其纹理数据的压缩文件。

参数:
fileSGZ - 导出的 SGZ 文件全路径。
返回:
导出成功返回 true,否则返回 false。

getMeshes

public Meshes getMeshes()
返回三维模型几何对象的网格面集合。

返回:
三维模型几何对象的网格面集合。

setBoundingBox

public void setBoundingBox(BoundingBox boundingBox)
设置模型的包围盒。

参数:
boundingBox - 所设置的新的包围盒。

computeBoundingBox

public void computeBoundingBox()
根据网格面集合计算模型的包围盒。


dispose

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

覆盖:
Geometry 中的 dispose

clone

public GeoModel clone()
返回当前 GeoModel 对象的一个拷贝。

覆盖:
java.lang.Object 中的 clone
返回:
通过克隆操作得到的 GeoModel 对象。

getAnimation

public Animation getAnimation()
返回模型的动画。

返回:
模型的动画。

getNodeAnimation

public NodeAnimation getNodeAnimation()
获取GeoModel对象的节点动画。

返回:
GeoModel对象的节点动画。