public class OSGBCacheBuilder
extends com.supermap.data.InternalHandleDisposable
构造器和说明 |
---|
OSGBCacheBuilder()
构造一个新的OSGBCacheBuilder对象。
|
OSGBCacheBuilder(DatasetVector dataset,
String outputFolder,
String name)
根据指定的DatasetVector对象、输出目录及缓存名称,构造一个新的OSGBCacheBuilder对象。
|
限定符和类型 | 方法和说明 |
---|---|
void |
addSteppedListener(SteppedListener l)
添加一个用于接收进度条事件(
SteppedEvent )的监听器。 |
boolean |
append(UpdateType updateType,
boolean bCreateConfigFile)
模型缓存局部更新。
|
static boolean |
b3dmFile2MongoDB(String scpFileName,
TileStorageConnection mongoConn)
3DTiles缓存文件导入MongoDB数据库 。
|
boolean |
build()
生成三维切片缓存(OSGB/S3M)。
|
boolean |
buildTile(HashMap<String,int[]> geoModelIDs,
boolean bCombineModels)
模型数据集对应ID模型生成切片。
|
boolean |
buildTiles()
多进程环境下生成缓存(不生成配置文件).
|
boolean |
buildWithoutConfigFile()
生成三维切片缓存(OSGB/S3M)。
|
boolean |
buildWithTileClip()
已过时。
|
static boolean |
combineOSGBFile(String outputFileName,
ArrayList<String> fileNames,
double dPercent,
double dDistance,
float fErrorValue)
合并OSGB文件,在指定OSGB模型的基础上,合并一层粗糙层。
|
static boolean |
combineRootNodes(String[] inScpFilePaths,
String saveSCPFullPath,
int combineLevel,
HashMap<Integer,Double> simplifyPercent,
int threadCount)
多个模型缓存合并根节点(合并图层)
|
static boolean |
combineRootNodes(String inScpFilePath,
String saveSCPName,
int combineLevel,
HashMap<Integer,Double> simplifyPercent,
int threadCount)
已过时。
|
static boolean |
combineRootNodes(String inScpFilePath,
String saveSCPName,
int combineLevel,
HashMap<Integer,Double> simplifyPercent,
int threadCount,
float objectFiltrateThreshold)
模型缓存合并根节点(不合并图层)
|
static boolean |
compressTextureAndGeometry(String scpPath,
String outputFolder,
CompressedTextureType compressedTextureType,
VertexOptimizationType vertexOptimizationType,
int threadCount)
精模缓存纹理和几何再压缩
|
void |
dispose()
释放OSGBCacheBuilder对象所占的资源。
|
static boolean |
generateConfigFile(String configFileName,
Point3D position,
PrjCoordSys value,
boolean bNEU,
String[] fileNames)
生成scp索引文件,此方式支持NEU(测站地方空间直角)坐标系。
|
static boolean |
generateConfigFile(String configFileName,
Point3D position,
PrjCoordSys value,
CoordSysTransParameter coordSysTransParam,
CoordSysTransMethod coordSysTransMethod,
ArrayList<String> fileNames)
生成scp索引文件。
|
static boolean |
generateConfigFile(String configFileName,
Point3D position,
PrjCoordSys value,
CoordSysTransParameter coordSysTransParam,
CoordSysTransMethod coordSysTransMethod,
boolean bNEU,
ArrayList<String> fileNames)
生成scp索引文件。
|
static boolean |
generateConfigFile(String configFileName,
Point3D position,
PrjCoordSys value,
PrjCoordSys valueDes,
CoordSysTransParameter coordSysTransParam,
CoordSysTransMethod coordSysTransMethod,
ArrayList<String> fileNames)
生成scp索引文件。
|
static boolean |
generateConfigFile(String configFileName,
Point3D position,
PrjCoordSys value,
String[] fileNames) |
static boolean |
generateConfigFile(String configFileName,
Point3D position,
PrjCoordSys value,
String[] fileNames,
TileStorageConnection mongoConn)
生成scp索引文件。
|
String |
getAssociateMaterialFile()
获取生成S3M缓存关联材质文件路径。
|
AttributeExtentType |
getAttributeExtentType()
获取属性存储类型,包括s3md和attribute两种类型。
|
Rectangle2D |
getBounds()
获取缓存地理范围。
|
String |
getCacheName()
获取缓存名称,不包含路径及后缀。
|
String |
getCategoryField()
获取特征值字段
|
CompressedTextureType |
getCompressedTextureType()
获取纹理压缩格式
|
DatasetVector |
getDataset()
获取生成三维切片缓存的数据集对象。
|
ArrayList<DatasetSetting> |
getDatasetSettingArray()
获取批量生成三维切片缓存,将多个模型数据集生成到一个缓存文件中。
|
PrjCoordSysType |
getDynamicPrjCoordSysType()
获取动态投影信息。
|
static ArrayList<TextureData> |
getExtrudeRegionTexFromVoxelGrid(Geometry geometry,
double height,
DatasetVolume volume,
ColorDictionary table)
支持根据矢量面及拉伸高度从对应体元栅格中提取纹理,并支持设置颜色表。
|
String[] |
getFieldsNames()
生成缓存时,获取保留指定属性字段。
|
CacheFileType |
getFileType()
获取生成缓存时的数据格式
|
GlobeType |
getGlobeType()
获取球体类型
|
boolean |
getIsCalNormal()
缓存是否重新计算法线。
|
boolean |
getIsDistributed() |
boolean |
getIsInstance()
是否实例化。
|
CacheLimitTextureSize |
getLimitTextureSize()
获取纹理大小限制
|
int |
getLODSize()
获取LOD层级数量。
|
MaterialType |
getMaterialType()
获取材质类型。
|
int |
getMipmapCount()
获取纹理Mipmap数量。
|
MultiTextureMode |
getMultiTextureMode()
获取模型生成缓存时,纹理设置生成单重纹理或者多重纹理。
|
double |
getObjectFiltrateThreshold()
获取粗糙层对象过滤阀值。
|
String |
getOutputFolder()
获取输出路径。
|
double |
getOutputScale()
获取缓存的比例尺大小。
|
Point3D |
getPosition()
获取插入点的位置。
|
int |
getProcessThreadsCount()
获取生成缓存的线程数。
|
ProcessFileType |
getProcessType()
获取生成缓存时的文件处理类型。
|
Recordset |
getRecordset()
获取缓存的记录集。
|
SecondTextureType |
getSecondTextureType()
获取第二重纹理类型
|
double |
getSideTilingU()
获取侧面U值
|
double |
getSideTilingV()
获取侧面V值
游戏引擎美化使用,CalTilingTextureCoords和SideTilingU、SideTilingV一起使用
|
HashMap<Integer,Double> |
getSimplifyPercent()
获取LOD层网格简化率。
|
StorageType |
getStorageType()
获取瓦片的存储类型。
|
TextureProcessingType |
getTextureProcessingType()
获取纹理处理方式
|
boolean |
getTextureSharing()
获取纹理是否公用。
|
ArrayList<Rectangle2D> |
getTileBounds()
获取每个生成缓存切片的Bounds。
|
double |
getTileHeight()
获取三维切片缓存的瓦片的高度.
|
ArrayList<TileInfos> |
getTileInfosArray()
获取每个生成缓存切片的信息。
|
PyramidSplitType |
getTilePyramidSplitType()
获取单个切片的金字塔剖分类型。
|
double |
getTileWidth()
获取OSGB缓存切片大小。
|
ArrayList<UpdateObjectsInfo> |
getUpdateObjectsInfoArray()
获取模型局部更新的ID值集合。
|
String |
getUserIDField()
获取对象ID字段
|
VertexOptimizationType |
getVertexOptimizationType()
获取顶点优化方式
|
VertexWeightMode |
getVertexWeightMode()
获取顶点权重模式
|
boolean |
isCalTangentAndBinormal()
获取获是否重新计算切线、副切线
|
boolean |
isCalTilingTextureCoords()
是否按box映射再生成一重纹理
|
boolean |
isCombineRepeatTextures()
得到重复贴图打组
|
boolean |
isHasOutLine()
是否有边框线
|
boolean |
isLogEnable()
获取是否输出错误日志.
|
boolean |
isRemoveNormal()
获取是否移除原始数据法线。
|
static boolean |
osgbFile2MongoDB(String scpFileName,
TileStorageConnection mongoConn,
String scpMongoFile)
OSGB缓存文件导入MongoDB数据库 。
|
static boolean |
osgbFile2MongoDB(String scpFileName,
TileStorageConnection mongoConn,
String scpMongoFile,
TextureCompressType textureCompressType)
OSGB缓存文件导入MongoDB数据库 。
|
static boolean |
rebuildS3MTiles(String scpFilePath,
String associateMaterialFile,
String outputPath,
String cacheName)
S3M缓存重切片。
|
void |
removeSteppedListener(SteppedListener l)
移除一个用于接收进度条事件(
SteppedEvent )的监听器。 |
void |
setAssociateMaterialFile(String assocaiateFile)
设置生成S3M缓存关联材质文件路径。
|
void |
setAttributeExtentType(AttributeExtentType type)
设置属性存储类型,包括s3md和attribute两种类型。
|
void |
setBounds(Rectangle2D value)
设置缓存地理范围。
|
void |
setCacheName(String name)
设置缓存名称,不包含路径及后缀。
|
void |
setCacheVersion(S3MVersion version)
设置S3M版本。
|
void |
setCalTangentAndBinormal(boolean isCalTangentAndBinormal)
设置是否重新计算切线、副切线
|
void |
setCalTilingTextureCoords(boolean isCalTilingTextureCoords)
设置是否按box映射再生成一重纹理
游戏引擎美化使用,CalTilingTextureCoords和SideTilingU、SideTilingV一起使用
|
void |
setCategoryField(String categoryFieldName)
设置特征值字段
|
void |
setCombineRepeatTextures(boolean value)
设置重复贴图打组
|
void |
setCompressedTextureType(CompressedTextureType value)
设置纹理压缩格式
|
void |
setConnectionInfo(TileStorageConnection connInfo)
设置生成时连接mongo数据库的信息。
|
void |
setDataset(DatasetVector value)
设置生成三维切片缓存的数据集对象。
|
void |
setDatasetArray(DatasetVector[] arrDataset)
设置多个数据集生成一个缓存文件。
|
void |
setDatasetSettingArray(ArrayList<DatasetSetting> datasetSettings)
设置批量生成三维切片缓存,将多个模型数据集生成到一个缓存文件中。
|
void |
setDynamicPrjCoordSysType(PrjCoordSysType prjType)
设置动态投影信息。
|
void |
setEncryptCoordinatesSetting(EncryptCoordinatesSetting encryptCoordinatesSetting)
设置坐标系加密参数
|
void |
setFieldsNames(String[] fieldsNames)
生成缓存时,设置保留指定属性字段。
|
void |
setFileType(CacheFileType fileType)
设置生成缓存时的数据格式
|
void |
setGlobeType(GlobeType globeType)
设置球体类型
|
void |
setHasOutLine(boolean value)
设置是否有边框线
|
void |
setIsCalNormal(boolean value)
设置缓存是否重新计算法线。
|
static void |
setIsDisposable(com.supermap.data.InternalHandleDisposable obj,
boolean disposable) |
void |
setIsDistributed(boolean isDistributed) |
void |
setIsInstance(boolean bInstance)
设置是否实例化。
|
void |
setLimitTextureSize(CacheLimitTextureSize value)
设置纹理大小限制
|
void |
setLODSize(int value)
设置LOD层级数量。
|
void |
setLogEnable(boolean isErrorLogOut)
设置是否输出错误日志.
|
void |
setMaterialType(MaterialType materialType)
设置材质类型。
|
void |
setMipmapCount(int value)
设置纹理Mipmap数量。
|
void |
setMultiTextureMode(MultiTextureMode mode)
设置模型生成缓存时,纹理设置生成单重纹理或者多重纹理。
|
void |
setObjectFiltrateThreshold(double dbValue)
设置粗糙层对象过滤阀值。
|
void |
setOutFilePassword(String password)
设置三维瓦片密码,生成模型瓦片时,仅瓦片的文件类型为S3MBlock时有效。
|
void |
setOutputFolder(String name)
设置输出路径。
|
void |
setOutputScale(double value)
设置缓存的比例尺大小。
|
void |
setPosition(Point3D value)
设置插入点的位置。
|
void |
setProcessThreadsCount(int value)
设置生成缓存的线程数。
|
void |
setProcessType(ProcessFileType value)
设置生成缓存时的文件处理类型。
|
void |
setRecordset(Recordset value)
设置缓存的记录集。
|
void |
setRemoveNormal(boolean value)
设置是否移除原始数据法线。
|
void |
setSecondTextureType(SecondTextureType secondTextureType)
设置第二重纹理类型
|
void |
setSideTilingU(double sideTilingU)
设置侧面U值
游戏引擎美化使用,CalTilingTextureCoords和SideTilingU、SideTilingV一起使用
|
void |
setSideTilingV(double sideTilingV)
设置侧面V值
|
void |
setSimplifyPercent(Map<Integer,Double> mapPercent)
设置LOD层网格简化率。
|
void |
setStorageType(StorageType storageType)
设置瓦片的存储类型。
|
void |
setTextureProcessingType(TextureProcessingType processingType)
设置纹理处理方式
|
void |
setTextureSharing(boolean bShare)
设置纹理是否公用。
|
void |
setTileHeight(double setTileHeight)
设置三维切片缓存的瓦片高度,与金字塔剖分类型-八叉树一起使用.
|
void |
setTileInfos(ArrayList<TileInfos> infos)
设置每个三维瓦片的信息。
|
void |
setTileInfos(TileInfos value)
生成指定瓦片信息对应的切片
|
void |
setTilePyramidSplitType(PyramidSplitType value)
设置单个切片的金字塔剖分类型。
|
void |
setTileWidth(double value)
设置OSGB瓦片大小。
|
void |
setTileWidth(Double value)
已过时。
|
void |
setUpdateObjectsInfoArray(ArrayList<UpdateObjectsInfo> updateObjectsInfos)
设置模型局部更新的ID值集合。
|
void |
setUserIDField(String userIDName)
设置对象ID字段
|
void |
setVertexOptimizationType(VertexOptimizationType vertexOptimizationType)
设置顶点优化方式
|
void |
setVertexWeightMode(VertexWeightMode modeType)
设置顶点权重模式
|
boolean |
toConfigAndIndexFile(String path)
将三维切片缓存的所有切片信息直接写入到配置文件中,并将属性字段索引写入索引文件。
|
static boolean |
upgradeS3MB(S3MVersion s3mVersion,
String srcScpPath,
String outputFolder)
已过时。
|
static boolean |
upgradeS3MB(S3MVersion s3mVersion,
String srcScpPath,
String outputFolder,
UpgradeS3MParameters params)
已过时。
|
static boolean |
upgradeS3MB(String srcScpPath,
String outputFolder,
UpgradeS3MParameters params)
S3M版本升级(支持纹理压缩类型以及几何压缩类型)
支持将S3M1.0升级到S3M2.0或者S3M3.0,支持将S3M2.0升级到S3M3.0。
|
static boolean |
upgradeS3MB(TileStorageConnection inputConnection,
TileStorageConnection outputConnection,
UpgradeS3MParameters params)
对存入MongoDB内的三维切片进行S3M版本升级。
|
public OSGBCacheBuilder()
public OSGBCacheBuilder(DatasetVector dataset, String outputFolder, String name)
dataset
- 指定的recordest对象。outputFolder
- 指定的输出路径。name
- 指定的缓存名称。public boolean getIsDistributed()
public void setIsDistributed(boolean isDistributed)
public void dispose()
public DatasetVector getDataset()
public void setDataset(DatasetVector value)
value
- 生成三维切片缓存的数据集对象。public Rectangle2D getBounds()
public void setBounds(Rectangle2D value)
value
- 缓存地理范围。public String getCacheName()
public void setCacheName(String name)
name
- 缓存名称。public PrjCoordSysType getDynamicPrjCoordSysType()
public void setDynamicPrjCoordSysType(PrjCoordSysType prjType)
prjType
- 动态投影信息。public void setFileType(CacheFileType fileType)
fileType
- 生成缓存时的数据格式 S3MB or S3MBlock。public CacheFileType getFileType()
public void setIsCalNormal(boolean value)
public boolean getIsCalNormal()
public String getOutputFolder()
public void setOutputFolder(String name)
name
- public double getOutputScale()
public void setOutputScale(double value)
value
- public ProcessFileType getProcessType()
public void setProcessType(ProcessFileType value)
value
- public void setRecordset(Recordset value)
value
- 缓存的记录集。public Recordset getRecordset()
public void setTileWidth(double value)
value
- OSGB瓦片大小。IllegalStateException
- 当前对象已被释放。
=@Deprecated public void setTileWidth(Double value)
public double getTileWidth()
public void setLODSize(int value)
value
- LOD层级数量。public int getLODSize()
public void setMipmapCount(int value)
public int getMipmapCount()
public void setObjectFiltrateThreshold(double dbValue)
public double getObjectFiltrateThreshold()
public void setSimplifyPercent(Map<Integer,Double> mapPercent)
10i(2021)版本修改了简化率的实现。如设置3层LOD,第一层、第二层、第三层分别对应的75%、50%、25%。这里的75%表示简化至75%,即第一层LOD的模型是精细层模型简化了25%后的结果。
public HashMap<Integer,Double> getSimplifyPercent()
10i(2021)版本修改了简化率的实现。如设置3层LOD,第一层、第二层、第三层分别对应的75%、50%、25%。这里的75%表示简化至75%,即第一层LOD的模型是精细层模型简化了25%后的结果。
public void setTilePyramidSplitType(PyramidSplitType value)
value
- public PyramidSplitType getTilePyramidSplitType()
public boolean getIsInstance()
public void setIsInstance(boolean bInstance)
public void setConnectionInfo(TileStorageConnection connInfo)
connInfo
- 生成时连接mongo数据库的信息。public void setStorageType(StorageType storageType)
storageType
- 瓦片的存储类型。public StorageType getStorageType()
public void setTextureSharing(boolean bShare)
public boolean getTextureSharing()
public ArrayList<Rectangle2D> getTileBounds()
public void setDatasetArray(DatasetVector[] arrDataset)
arrDataset
- 数据集集合。public void setOutFilePassword(String password)
password
- 密码。IllegalStateException
- 当前对象已被释放。public boolean build()
public void addSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。public void removeSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。public int getProcessThreadsCount()
public void setProcessThreadsCount(int value)
value
- 待设置线程数。public boolean toConfigAndIndexFile(String path)
使用场景:该方法用于客户端向服务器请求切片文件,服务器端实时切缓存时使用。
path
- 指定的保存配置文件的路径。public boolean buildWithoutConfigFile()
使用场景:该方法用于服务器端接收客户端请求时使用。
public boolean buildTiles()
public static boolean generateConfigFile(String configFileName, Point3D position, PrjCoordSys value, String[] fileNames)
public static boolean generateConfigFile(String configFileName, Point3D position, PrjCoordSys value, String[] fileNames, TileStorageConnection mongoConn)
configFileName
- 指定的scp文件名。position
- 指定的插入点坐标。value
- 指定投影信息。fileNames
- 指定根节点路径。mongoConn
- 读数据库中实体信息所需的数据库连接信息public static boolean generateConfigFile(String configFileName, Point3D position, PrjCoordSys value, boolean bNEU, String[] fileNames)
configFileName
- 指定的scp文件名。position
- 指定的插入点坐标。value
- 指定投影信息。bNEU
- 是否为地方空间直角系。fileNames
- 根节点路径。public static boolean generateConfigFile(String configFileName, Point3D position, PrjCoordSys value, CoordSysTransParameter coordSysTransParam, CoordSysTransMethod coordSysTransMethod, ArrayList<String> fileNames)
configFileName
- 指定的scp文件名。position
- 指定的插入点坐标。value
- 指定投影信息。coordSysTransParam
- 指定的投影转换参数。coordSysTransMethod
- 指定的投影转换方法。fileNames
- 指定根节点路径。public static boolean generateConfigFile(String configFileName, Point3D position, PrjCoordSys value, CoordSysTransParameter coordSysTransParam, CoordSysTransMethod coordSysTransMethod, boolean bNEU, ArrayList<String> fileNames)
configFileName
- 指定的scp文件名。position
- 插入点坐标。value
- 投影信息。coordSysTransParam
- 投影转换参数。coordSysTransMethod
- 投影转换方法。bNEU
- 是否为地方空间直角坐标系。fileNames
- 指定根节点路径。public static boolean generateConfigFile(String configFileName, Point3D position, PrjCoordSys value, PrjCoordSys valueDes, CoordSysTransParameter coordSysTransParam, CoordSysTransMethod coordSysTransMethod, ArrayList<String> fileNames)
configFileName
- 指定的scp文件名。position
- 指定的插入点坐标。value
- 指定的源投影信息。valueDes
- 指定的目标投影信息。coordSysTransParam
- 指定的投影转换参数。coordSysTransMethod
- 指定的投影转换方法。fileNames
- 指定根节点路径。public static boolean combineOSGBFile(String outputFileName, ArrayList<String> fileNames, double dPercent, double dDistance, float fErrorValue)
outputFileName
- 合并后的OSGB文件名。fileNames
- 需要合并的OSGB文件名称列表。dPercent
- 指定的简化率,取值范围[0,1],0表示所有的网格都不简化,1表示当模型网格的距离在指定的阈值内全部简化,0-1之间表示当模型网格的距离在指定的阈值内按照指定的百分比进行简化, 比如0.5表示,假如模型的网格距离在指定的阈值内的数量有100个,那么只简化50个。dDistance
- 指定的切换距离,合并后粗糙层和原始OSGB文件的相机切换距离。fErrorValue
- 指定的网格简化阈值。当模型网格距离小于指定的阈值,就会被简化。public static boolean osgbFile2MongoDB(String scpFileName, TileStorageConnection mongoConn, String scpMongoFile)
scpFileName
- scp文件全路径名,该文件包含osgb缓存文件信息。mongoConn
- mongodb的数据库连接信息,一个scp文件对应一个mongoConn的Database。scpMongoFile
- 新生成的scp文件全路径名,生成成功后通过该文件直接打开mongodb中的缓存。public static boolean osgbFile2MongoDB(String scpFileName, TileStorageConnection mongoConn, String scpMongoFile, TextureCompressType textureCompressType)
scpFileName
- scp文件全路径名,该文件包含osgb缓存文件信息。mongoConn
- mongodb的数据库连接信息,一个scp文件对应一个mongoConn的Database。scpMongoFile
- 新生成的scp文件全路径名,生成成功后通过该文件直接打开mongodb中的缓存。textureCompressType
- 纹理压缩方式public static boolean b3dmFile2MongoDB(String scpFileName, TileStorageConnection mongoConn)
scpFileName
- scp文件全路径名,该文件包含3DTiles缓存文件信息。mongoConn
- mongodb的数据库连接信息,一个scp文件对应一个mongoConn的Database。public boolean buildTile(HashMap<String,int[]> geoModelIDs, boolean bCombineModels)
geoModelIDs
- 待生成切片的模型ID集合。bCombineModels
- 模型是否打组。public Point3D getPosition()
public void setPosition(Point3D value)
value
- 指定插入点的位置。public static ArrayList<TextureData> getExtrudeRegionTexFromVoxelGrid(Geometry geometry, double height, DatasetVolume volume, ColorDictionary table)
geometry
- 做为从体元栅格中提取纹理的参照面,二、三维面数据都可以。height
- 对矢量面设置拉伸的高度值。volume
- 对应的体元栅格数据。table
- 设置的颜色表,该表内颜色值范围对应体元栅格的极值范围。public boolean isRemoveNormal()
public void setRemoveNormal(boolean value)
value
- 指定是否移除。public void setTileInfos(TileInfos value)
value
- 三维瓦片信息。@Deprecated public boolean buildWithTileClip()
public boolean isHasOutLine()
public void setHasOutLine(boolean value)
public boolean isCombineRepeatTextures()
public void setCombineRepeatTextures(boolean value)
public void setLimitTextureSize(CacheLimitTextureSize value)
public CacheLimitTextureSize getLimitTextureSize()
public void setCompressedTextureType(CompressedTextureType value)
public CompressedTextureType getCompressedTextureType()
public TextureProcessingType getTextureProcessingType()
public void setTextureProcessingType(TextureProcessingType processingType)
processingType
- public String getCategoryField()
public void setCategoryField(String categoryFieldName)
categoryFieldName
- public VertexWeightMode getVertexWeightMode()
public void setVertexWeightMode(VertexWeightMode modeType)
modeType
- public VertexOptimizationType getVertexOptimizationType()
public void setVertexOptimizationType(VertexOptimizationType vertexOptimizationType)
vertexOptimizationType
- public String getUserIDField()
public void setUserIDField(String userIDName)
userIDName
- public boolean isLogEnable()
public void setLogEnable(boolean isErrorLogOut)
public String[] getFieldsNames()
public void setFieldsNames(String[] fieldsNames)
@Deprecated public static boolean combineRootNodes(String inScpFilePath, String saveSCPName, int combineLevel, HashMap<Integer,Double> simplifyPercent, int threadCount)
public static boolean combineRootNodes(String inScpFilePath, String saveSCPName, int combineLevel, HashMap<Integer,Double> simplifyPercent, int threadCount, float objectFiltrateThreshold)
inScpFilePath
- 精细模型缓存scp全路径。saveSCPName
- 目标文件名。合并结果会默认在源缓存路径下,新建一个Root文件夹,用来存放合并后的缓存数据;而目标文件名是用来作为合并后的缓存索引(.scp)文件名。combineLevel
- 合并根节点层级数,默认1层,层级数值域[1,4]。simplifyPercent
- 设置简化率,一个字典对象。键值为合并根节点的层级数,值为简化率的百分比数值。threadCount
- 线程数objectFiltrateThreshold
- 像素过滤阈值。public static boolean combineRootNodes(String[] inScpFilePaths, String saveSCPFullPath, int combineLevel, HashMap<Integer,Double> simplifyPercent, int threadCount)
inScpFilePaths
- 进行合并图层的精细模型缓存SCP全路径集合。saveSCPFullPath
- 输出路径。多个精细模型缓存合并成一个缓存,输出路径下会存放原始缓存数据和scp索引文件,如果设置了合并根节点层级数,会新建一个Root文件夹,用来存放合并后的缓存数据。combineLevel
- 合并根节点层级数,默认1层,层级数值域[1,4]。simplifyPercent
- 设置简化率,一个字典对象。键值为合并根节点的层级数,值为简化率的百分比数值。threadCount
- 线程数public double getTileHeight()
public void setTileHeight(double setTileHeight)
setTileHeight
- 设置三维切片缓存的瓦片高度。public MultiTextureMode getMultiTextureMode()
public void setMultiTextureMode(MultiTextureMode mode)
mode
- 单重纹理或者多重纹理public boolean append(UpdateType updateType, boolean bCreateConfigFile)
1)目前支持根据Bounds更新和根据模型ID更新。 2)需要注意的是不管根据Bounds更新还是模型ID更新,缓存路径、缓存名称、插入点坐标、瓦片边长、缓存类型、纹理压缩方式等参数都需要都要和原始缓存的参数保持一致。 3)根据更新的数据情况,如果有属于新增和删减Tile数量的情况,append的bCreateConfigFile参数需要设置为true。
根据Bounds更新的实现思路: 1.获取更新的数据集Bounds, 2.调用OSGBCacheBuilder.append进行更新。
根据模型ID更新的实现思路: 1.通过OSGBCacheBuilder.UpdateObjectsInfoArray接口,设置更新后的结果数据集和待修改的ID, 2.再调用OSGBCacheBuilder.append进行更新。
updateType
- S3M瓦片局部更新类型。包括更新几何数据、属性数据、全部更新三种更新类型。bCreateConfigFile
- 是否创建配置文件。public AttributeExtentType getAttributeExtentType()
public void setAttributeExtentType(AttributeExtentType type)
type
- 属性存储类型public void setCacheVersion(S3MVersion version)
version
- S3M版本public String getAssociateMaterialFile()
目前仅支持ue和unity导出的*.json的材质文件。
从ue中导出的json文件只有关联关系,生成的缓存在ue上加载才有对应的材质效果。
从unity导出的json文件带有PBR材质的效果,可以直接在webgl端使用。
public void setAssociateMaterialFile(String assocaiateFile)
目前仅支持ue和unity导出的*.json的材质文件。
从ue中导出的json文件只有关联关系,生成的缓存在ue上加载才有对应的材质效果。
从unity导出的json文件带有PBR材质的效果,可以直接在webgl端使用。
assocaiateFile
- 生成S3M缓存关联材质文件路径public SecondTextureType getSecondTextureType()
public void setSecondTextureType(SecondTextureType secondTextureType)
public MaterialType getMaterialType()
public void setMaterialType(MaterialType materialType)
materialType
- 材质类型public GlobeType getGlobeType()
public void setGlobeType(GlobeType globeType)
globeType
- public boolean isCalTilingTextureCoords()
public void setCalTilingTextureCoords(boolean isCalTilingTextureCoords)
public double getSideTilingU()
public void setSideTilingU(double sideTilingU)
public double getSideTilingV()
public void setSideTilingV(double sideTilingV)
public static boolean compressTextureAndGeometry(String scpPath, String outputFolder, CompressedTextureType compressedTextureType, VertexOptimizationType vertexOptimizationType, int threadCount)
public boolean isCalTangentAndBinormal()
public void setCalTangentAndBinormal(boolean isCalTangentAndBinormal)
public void setEncryptCoordinatesSetting(EncryptCoordinatesSetting encryptCoordinatesSetting)
encryptCoordinatesSetting
- @Deprecated public static boolean upgradeS3MB(S3MVersion s3mVersion, String srcScpPath, String outputFolder)
@Deprecated public static boolean upgradeS3MB(S3MVersion s3mVersion, String srcScpPath, String outputFolder, UpgradeS3MParameters params)
支持将S3M1.0升级到S3M2.0或者S3M3.0,支持将S3M2.0升级到S3M3.0。 S3m3.0为椭球场景缓存数据。
三维切片缓存不支持Draco压缩,所以升级时,如果数据是三维切片缓存,几何压缩不可选择Draco压缩。
s3mVersion
- S3M版本号srcScpPath
- 待升级的缓存数据scp全路径outputFolder
- 升级后的缓存数据输出路径params
- S3M版本升级的参数设置,包括纹理压缩和几何压缩设置。public static boolean upgradeS3MB(String srcScpPath, String outputFolder, UpgradeS3MParameters params)
支持将S3M1.0升级到S3M2.0或者S3M3.0,支持将S3M2.0升级到S3M3.0。 S3m3.0为椭球场景缓存数据。
三维切片缓存不支持Draco压缩,所以升级时,如果数据是三维切片缓存,几何压缩不可选择Draco压缩。
srcScpPath
- 待升级的缓存数据scp全路径outputFolder
- 升级后的缓存数据输出路径params
- S3M版本升级的参数设置public static boolean upgradeS3MB(TileStorageConnection inputConnection, TileStorageConnection outputConnection, UpgradeS3MParameters params)
支持将S3M1.0升级到S3M2.0或者S3M3.0,支持将S3M2.0升级到S3M3.0。S3m3.0为椭球场景缓存数据。
三维切片缓存不支持Draco压缩,所以升级时,如果数据是三维切片缓存,几何压缩不可选择Draco压缩。
inputConnection
- 输入数据库的连接信息outputConnection
- 输出数据库的连接信息params
- S3M版本升级的参数设置public ArrayList<UpdateObjectsInfo> getUpdateObjectsInfoArray()
public void setUpdateObjectsInfoArray(ArrayList<UpdateObjectsInfo> updateObjectsInfos)
updateObjectsInfos
- 模型局部更新的ID值集合public static boolean rebuildS3MTiles(String scpFilePath, String associateMaterialFile, String outputPath, String cacheName)
将配置文件中存有材质信息的S3M缓存重新切片,便于将UE美化后导出的材质写到S3M切片中。
scpFilePath
- 原始S3M缓存scpassociateMaterialFile
- 外挂的材质关联json文件路径。
从UE中导出的是MaterialPackages文件夹,文件夹里包含了LayerInfo.json索引文件和其他带有基色参数的json文件及纹理图片。
outputPath
- 重新切片后的输出路径cacheName
- 重新切片后的缓存名称public ArrayList<DatasetSetting> getDatasetSettingArray()
public void setDatasetSettingArray(ArrayList<DatasetSetting> datasetSettings)
datasetSettings
- 批量生成模型缓存数据集参数设置public static void setIsDisposable(com.supermap.data.InternalHandleDisposable obj, boolean disposable)
Copyright © 2021–2024 SuperMap. All rights reserved.