com.supermap.data.processing

类 VectorExtrudeCacheBuilder

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


    public class VectorExtrudeCacheBuilder
    extends com.supermap.data.InternalHandleDisposable
    矢量面拉伸生成缓存类,可实现拉伸矢量面得到三维模型对象,生成缓存;支持将体元栅格重映射到数据范围内的三维模型对象上。
    • 构造器详细资料

      • VectorExtrudeCacheBuilder

        public VectorExtrudeCacheBuilder()
        默认构造一个新的VectorExtrudeCacheBuilder对象。
      • VectorExtrudeCacheBuilder

        public VectorExtrudeCacheBuilder(DatasetVector dataset,
                                         String outputFolder,
                                         String name)
        根据指定参数构造一个与类名相同的新对象。
        参数:
        dataset - 进行拉伸矢量面,支持二、三维矢量面。
        outputFolder - 缓存输出路径。
        name - 缓存名称。
    • 方法详细资料

      • build

        public boolean build()
        执行生成缓存。
      • dispose

        public void dispose()
        释放资源
      • removeSteppedListener

        public void removeSteppedListener(SteppedListener l)
      • getProcessThreadsCount

        public int getProcessThreadsCount()
        获取生成缓存的线程数。
      • setProcessThreadsCount

        public void setProcessThreadsCount(int value)
        设置生成缓存的线程数。
      • getCacheName

        public String getCacheName()
        获取缓存名称,不包含SCP后缀名。
      • setCacheName

        public void setCacheName(String value)
        设置缓存名称,不包含SCP后缀名。
      • getOutputFolder

        public String getOutputFolder()
        获取生成缓存的路径。
      • setOutputFolder

        public void setOutputFolder(String value)
        设置生成缓存的路径。
      • getTileWidth

        public double getTileWidth()
        获取瓦片边长。
      • setTileWidth

        public void setTileWidth(double value)
        设置瓦片边长。
      • setFileType

        public void setFileType(CacheFileType fileType)
        设置缓存文件类型。
        参数:
        fileType - 生成三维切片缓存采用的数据格式包括OSGB、S3M或者S3MB。
      • getFileType

        public CacheFileType getFileType()
        获取缓存文件类型。
        返回:
        生成三维切片缓存采用的数据格式包括OSGB、S3M或者S3MB。
      • setObjectFiltrateThreshold

        public void setObjectFiltrateThreshold(double value)
        设置对象像素过滤阈值。
      • getObjectFiltrateThreshold

        public double getObjectFiltrateThreshold()
        获取对象像素过滤阈值。
      • getDataset

        public DatasetVector getDataset()
        获取用于拉伸的矢量面数据集。
      • setDataset

        public void setDataset(DatasetVector value)
        设置用于拉伸的矢量面数据集。
      • getDatasetVolume

        public DatasetVolume getDatasetVolume()
        获取重映射到模型对象上的体元栅格数据集。
      • getPixelPerMeter

        public double getPixelPerMeter()
        获取拉伸纹理分辨率。
      • setPixelPerMeter

        public void setPixelPerMeter(double value)
        设置拉伸纹理分辨率。
      • getExtrudeHeight

        public double getExtrudeHeight()
        获取拉伸高度。单位:米。
      • setExtrudeHeight

        public void setExtrudeHeight(double value)
        设置拉伸高度。单位:米。
      • getExtendedHeightField

        public String getExtendedHeightField()
        获取拉伸高度字段名。
      • setExtendedHeightField

        public void setExtendedHeightField(String fieldName)
        设置拉伸高度字段名。
      • getBottomAltitudeField

        public String getBottomAltitudeField()
        获取底部高层字段名。作为拉伸成功后,对应模型对象的底部高层。
      • setBottomAltitudeField

        public void setBottomAltitudeField(String fieldName)
        设置底部高层字段名。作为拉伸成功后,对应模型对象的底部高层。
      • buildWithoutConfigFile

        public boolean buildWithoutConfigFile()
        创建缓存不生成配置文件和索引文件。
        返回:
        false表示失败,true表示成功。
      • getTileInfosArray

        public ArrayList<TileDataInfos> getTileInfosArray()
        获取每个三维瓦片的信息。
      • toConfigAndIndexFile

        public boolean toConfigAndIndexFile(String path)
        根据已有的scp配置文件生成新的混合大文件。
        参数:
        path - scp配置文件
      • setTileInfos

        public void setTileInfos(TileDataInfos value)
        设置每个三维瓦片的信息。
      • getStoreyHeightField

        public String getStoreyHeightField()
        获取分层高度拉伸生成缓存。
        返回:
        分层高度字段
      • setStoreyHeightField

        public void setStoreyHeightField(String storeyHeight)
        设置分层高度拉伸生成缓存。
        参数:
        storeyHeight - 分层高度字段
      • getTextureCoordsMode

        public TextureMappingMode getTextureCoordsMode()
        获取贴图模式。
        返回:
        贴图模式
      • setTextureCoordsMode

        public void setTextureCoordsMode(TextureMappingMode mapModel)
        设置贴图模式。
        参数:
        mapModel - 贴图模式
      • getLODSize

        public int getLODSize()
        获取LOD层级数。
        返回:
        LOD层级数
      • setLODSize

        public void setLODSize(int LODSize)
        设置LOD层级数。
        参数:
        LODSize - LOD层级数
      • getFloorCountField

        public String getFloorCountField()
        获取层高。支持属性字段关联对应层高。
      • setFloorCountField

        public void setFloorCountField(String floorCountField)
        设置层高。支持属性字段关联对应层高。
        参数:
        floorCountField -
      • getUserIDField

        public String getUserIDField()
        获取用户指定字段作为ID。
        返回:
        用户指定字段作为ID
      • setUserIDField

        public void setUserIDField(String userIDField)
        设置用户指定字段作为ID。
        参数:
        userIDField - 用户指定字段作为ID
      • getAttributeDataset

        public Dataset getAttributeDataset()
        获取做属性添加的矢量数据集。配合分层拉伸使用,附加上分层对象的属性信息。
        返回:
        做属性添加的矢量数据集
      • setAttributeDataset

        public void setAttributeDataset(Dataset attributeDataset)
        设置做属性添加的矢量数据集。配合分层拉伸使用,附加上分层对象的属性信息。
        参数:
        attributeDataset - 做属性添加的矢量数据集
      • buildAttribute

        public boolean buildAttribute()
        实现矢量面拉伸生成模型缓存只生成属性文件,不带三维切片缓存。
        返回:
        一个bool值,返回true表示只生成属性文件;返回false,表示生成失败。
      • isSimplify

        public boolean isSimplify()
        获取矢量面拉伸生成模型缓存是否LOD简化。
        返回:
        一个bool值,返回true表示LOD简化成功;返回false,表示缓存LOD简化失败。
      • setSimplify

        public void setSimplify(boolean isSimplify)
        设置矢量面拉伸生成模型缓存是否LOD简化。
        参数:
        isSimplify - 是否LOD简化
      • isHasOutline

        public boolean isHasOutline()
        获取矢量面拉伸生成模型缓存是否带轮廓线。
        返回:
        一个bool值,返回true表示模型缓存带轮廓线;返回false,表示模型缓存不带轮廓线。
      • setHasOutline

        public void setHasOutline(boolean isCreateEdge)
        设置矢量面拉伸生成模型缓存是否带轮廓线。
        参数:
        isCreateEdge - 是否带轮廓线
      • getProcessType

        public ProcessFileType getProcessType()
        获取矢量拉伸生成模型缓存的缓存模式,包含追加模式和替换模式。
        返回:
        缓存模式
      • setProcessType

        public void setProcessType(ProcessFileType value)
        设置矢量拉伸生成模型缓存的缓存模式,包含追加模式和替换模式。
        参数:
        value - 缓存模式
      • setS3MVersion

        public void setS3MVersion(S3MVersion version)
        设置S3M版本。
        参数:
        version - S3M版本
      • getAttributeExtentType

        public AttributeExtentType getAttributeExtentType()
        获取属性存储类型。
        返回:
        属性存储类型
      • setAttributeExtentType

        public void setAttributeExtentType(AttributeExtentType type)
        设置属性存储类型。
        参数:
        type - 属性存储类型
      • getDynamicPrjCoordSysType

        public PrjCoordSysType getDynamicPrjCoordSysType()
        获取面拉伸生成模型缓存动态投影,用于投影坐标系数据生成球面或平面场景缓存。
      • setDynamicPrjCoordSysType

        public void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
        设置面拉伸生成模型缓存动态投影,投影坐标系数据生成球面或平面场景缓存。
      • combine

        public boolean combine(String[] scpPath,
                               String outputPath,
                               Point3D point3d)
        合并配置文件并且修改插入点。
        参数:
        scpPath - scp文件地址。
        outputPath - 输出结果的地址。
        point3d - 插入点。
      • getMaterialType

        public MaterialType getMaterialType()
        获取材质类型。仅使用于UE以及Unity。支持的材质类型包括NORMAL,UEMATERIAL,U3DMATERIAL
        返回:
      • setMaterialType

        public void setMaterialType(MaterialType materialType)
        设置材质类型.仅使用于UE以及Unity。支持的材质类型包括NORMAL,UEMATERIAL,U3DMATERIAL
        参数:
        materialType -
      • getVertexOptimizationType

        public VertexOptimizationType getVertexOptimizationType()
        获取顶点优化方式
        返回:
      • setVertexOptimizationType

        public void setVertexOptimizationType(VertexOptimizationType vertexOptimizationType)
        设置顶点优化方式
        参数:
        vertexOptimizationType -
      • getBounds

        public Rectangle2D getBounds()
        获取bounds
      • setBounds

        public void setBounds(Rectangle2D rectangle2D)
        设置bounds
      • getPosition

        public Point3D getPosition()
        获取position
      • setPosition

        public void setPosition(Point3D point3D)
        设置position
      • getFloorIDField

        public String getFloorIDField()
        获取FloorID字段
        返回:
      • setFloorIDField

        public void setFloorIDField(String idField)
        设置FloorID字段
        参数:
        idField -
      • getTopTilingU

        public double getTopTilingU()
        获取顶部U
        参数:
        -
      • setTopTilingU

        public void setTopTilingU(double topTilingU)
        设置顶部U
        参数:
        -
      • getTopTilingV

        public double getTopTilingV()
        获取顶部v
        参数:
        -
      • setTopTilingV

        public void setTopTilingV(double topTilingV)
        设置顶部v
        参数:
        -
      • getSideTilingU

        public double getSideTilingU()
        获取侧面U
        参数:
        -
      • setSideTilingU

        public void setSideTilingU(double sideTilingU)
        设置侧面U
        参数:
        -
      • getSideTilingV

        public double getSideTilingV()
        获取侧面V
        参数:
        -
      • setSideTilingV

        public void setSideTilingV(double sideTilingV)
        设置侧面V
        参数:
        -
      • getSideTextureField

        public String getSideTextureField()
        获取侧面纹理字段
        参数:
        -
      • setSideTextureField

        public void setSideTextureField(String sideTextureField)
        设置侧面纹理字段
        参数:
        -
      • getTopTextureField

        public String getTopTextureField()
        获取顶部纹理字段
        参数:
        -
      • setTopTextureField

        public void setTopTextureField(String topTextureField)
        设置顶部纹理字段
        参数:
        -
      • getTopTextureRepeatMode

        public TextureRepeatMode getTopTextureRepeatMode()
        获取顶部纹理重复模式
        参数:
        -
      • setTopTextureRepeatMode

        public void setTopTextureRepeatMode(TextureRepeatMode mode)
        设置顶部纹理重复模式
        参数:
        -
      • getSideTextureRepeatMode

        public TextureRepeatMode getSideTextureRepeatMode()
        获取侧面纹理重复模式
        返回:
      • setSideTextureRepeatMode

        public void setSideTextureRepeatMode(TextureRepeatMode mode)
        设置侧面纹理重复模式
        参数:
        mode -
      • getVertexWeightMode

        public VertexWeightMode getVertexWeightMode()
        获取权重模式
        返回:
      • setVertexWeightMode

        public void setVertexWeightMode(VertexWeightMode modeType)
        设置权重模式
        参数:
        modeType -
      • getCategoryField

        public String getCategoryField()
        获取特征值
        返回:
      • setCategoryField

        public void setCategoryField(String categoryField)
        设置特征值
        参数:
        categoryField -
      • getTopTilingUField

        public String getTopTilingUField()
        获取顶部U字段
        返回:
      • setTopTilingUField

        public void setTopTilingUField(String topTilingUField)
        设置顶部U字段
        参数:
        topTilingUField -
      • getTopTilingVField

        public String getTopTilingVField()
        获取顶部V字段
        返回:
      • setTopTilingVField

        public void setTopTilingVField(String topTilingVField)
        设置顶部V字段
        参数:
        topTilingVField -
      • getSideTilingUField

        public String getSideTilingUField()
        获取侧面U字段
        返回:
      • setSideTilingUField

        public void setSideTilingUField(String sideTilingUField)
        设置侧面U字段
        参数:
        sideTilingUField -
      • getSideTilingVField

        public String getSideTilingVField()
        获取侧面V字段
        返回:
      • setSideTilingVField

        public void setSideTilingVField(String sideTilingVField)
        设置侧面V字段
        参数:
        sideTilingVField -
      • append

        public boolean append(UpdateType updateType)
        执行局部更新,局部更新不支持分楼层。
        参数:
        updateType - S3M瓦片局部的更新类型。
        返回:
        返回更新结果,true表示更新成功,false表示更新失败。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.2.0
      • setUpdateObjectsInfoArray

        public void setUpdateObjectsInfoArray(ArrayList<UpdateObjectsInfo> updateObjectsInfos)
        局部更新时设置模型更新信息。
        参数:
        updateObjectsInfos - 模型缓存局部更新信息。
        抛出:
        IllegalStateException - 当前对象已被释放。
        从以下版本开始:
        11.2.0
      • setIsDisposable

        public static void setIsDisposable(com.supermap.data.InternalHandleDisposable obj,
                                           boolean disposable)

Copyright © 2021–2024 SuperMap. All rights reserved.