com.supermap.data
类 ModelEntityManager
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.data.ModelEntityManager
-
- 所有已实现的接口:
- IDisposable
public class ModelEntityManager extends com.supermap.data.InternalHandleDisposable
模型实体管理器类。该类提供了对骨架、材质、纹理等模型实体的管理方法,可创建、添加、删除各类模型实体。- 作者:
- wangyanyan
-
-
构造器概要
构造器 构造器和说明 ModelEntityManager()
默认构造函数,构造一个新的ModelEntityManager对象。ModelEntityManager(DatasetVector dataset)
根据指定参数构造一个新的ModelEntityManager对象。
-
方法概要
所有方法 静态方法 实例方法 具体方法 限定符和类型 方法和说明 Model
append(Model model)
追加模型对象中的所有实体。Skeleton
append(Skeleton skeleton)
追加骨架中的所有实体。static boolean
buildLOD(DatasetVector modelDataset, double[] ratios)
模型数据集生成LOD 对模型建立多细节层级LOD(Levels Of Detail)将有助于提升模型的浏览性能。boolean
deleteMaterial(String name)
删除材质对象。boolean
deleteSkeleton(String name)
删除骨架对象。boolean
deleteTextureData(String name)
删除纹理数据对象。void
dispose()
释放ModelEntityManager对象占用的资源 。String
getAvailableName(String name)
获取可用的实体名称 。Material3D
getMaterial(String name)
按名称获取指定的材质对象。ArrayList<String>
getMaterialNames()
获取所有的材质的名称列表 。Skeleton
getSkeleton(String name)
按名称获取指定的骨架对象。ArrayList<String>
getSkeletonNames()
获取所有骨架的名称列表。TextureData
getTextureData(String name)
按名称获取指定的纹理数据。ArrayList<String>
getTextureNames()
获取所有纹理的名称列表。static boolean
hasLOD(DatasetVector modelDataset)
模型数据集判断是否已存在LODboolean
isExisted(String name)
指定名字的实体是否存在 。static boolean
removeLOD(DatasetVector modelDataset)
模型数据集删除已有LODvoid
reset()
重置实体管理器。void
save()
保存新追加的骨架或模型对象 。boolean
update(Material3D material3D)
更新材质(不更新纹理),如果材质名称不存在,则不更新。Model
update(Model model)
更新模型对象中的所有实体:包括骨架、材质和纹理。Skeleton
update(Skeleton skeleton)
更新骨架中的所有实体:包括骨架、材质和纹理。boolean
update(TextureData textureData)
更新纹理,如果纹理名称不存在,则不更新。void
updateDataset()
更新数据集中的所有模型对象。boolean
updateMaterialNames(HashMap<String,String> dic)
批量更新材质名称。
-
-
-
构造器详细资料
-
ModelEntityManager
public ModelEntityManager()
默认构造函数,构造一个新的ModelEntityManager对象。
-
ModelEntityManager
public ModelEntityManager(DatasetVector dataset)
根据指定参数构造一个新的ModelEntityManager对象。- 参数:
dataset
- 指定的矢量数据集。
-
-
方法详细资料
-
isExisted
public boolean isExisted(String name)
指定名字的实体是否存在 。- 参数:
name
- 指定名字。- 返回:
- 实体是否存在。true表示存在,false表示不存在。
-
getAvailableName
public String getAvailableName(String name)
获取可用的实体名称 。- 参数:
name
- 指定的实体名称。- 返回:
- 可用的实体名称 。
-
getMaterial
public Material3D getMaterial(String name)
按名称获取指定的材质对象。- 参数:
name
- 指定的材质名称。- 返回:
- 材质对象。
-
getTextureData
public TextureData getTextureData(String name)
按名称获取指定的纹理数据。- 参数:
name
- 指定的纹理名称。- 返回:
- 纹理数据。
-
append
public Skeleton append(Skeleton skeleton)
追加骨架中的所有实体。如果实体名字已存在则按实例化处理。- 参数:
skeleton
- 指定的骨架。- 返回:
- 新的骨架。各实体名字可能与原名不一致。
-
append
public Model append(Model model)
追加模型对象中的所有实体。如果实体名字已存在则按实例化处理。- 参数:
model
- 指定的模型对象。- 返回:
- 新的模型对象。各实体名字可能与原名不一致。
-
update
public Skeleton update(Skeleton skeleton)
更新骨架中的所有实体:包括骨架、材质和纹理。 如果实体名字不存在,则自动创建。- 参数:
skeleton
- 指定的骨架。- 返回:
- 新的骨架。新创建实体名字可能与原名不一致。
-
update
public Model update(Model model)
更新模型对象中的所有实体:包括骨架、材质和纹理。 如果实体名字不存在,则自动创建。- 参数:
model
- 指定的模型对象。- 返回:
- 新的模型对象。新创建实体名字可能与原名不一致。
-
update
public boolean update(Material3D material3D)
更新材质(不更新纹理),如果材质名称不存在,则不更新。- 参数:
material3D
- 待更新的材质- 返回:
- 一个bool值,true表示更新材质成功。
-
update
public boolean update(TextureData textureData)
更新纹理,如果纹理名称不存在,则不更新。- 参数:
textureData
- 待更新的纹理- 返回:
- 一个bool值,true表示更新纹理成功。
-
deleteSkeleton
public boolean deleteSkeleton(String name)
删除骨架对象。- 参数:
name
- 待删除的骨架名称。- 返回:
- 是否删除成功。true表示成功,false表示失败。
-
deleteMaterial
public boolean deleteMaterial(String name)
删除材质对象。- 参数:
name
- 待删除的材质名称。- 返回:
- 是否删除成功。true表示成功,false表示失败。
-
deleteTextureData
public boolean deleteTextureData(String name)
删除纹理数据对象。- 参数:
name
- 待删除的纹理数据名称。- 返回:
- 是否删除成功。true表示成功,false表示失败。
-
updateDataset
public void updateDataset()
更新数据集中的所有模型对象。
-
updateMaterialNames
public boolean updateMaterialNames(HashMap<String,String> dic)
批量更新材质名称。- 参数:
dic
- 更新的材质名称 <旧材质名称,新材质名称>。- 返回:
- 一个bool值,true表示批量更新材质名称成功。
-
save
public void save()
保存新追加的骨架或模型对象 。
-
reset
public void reset()
重置实体管理器。
-
dispose
public void dispose()
释放ModelEntityManager对象占用的资源 。
-
buildLOD
public static boolean buildLOD(DatasetVector modelDataset, double[] ratios)
模型数据集生成LOD对模型建立多细节层级LOD(Levels Of Detail)将有助于提升模型的浏览性能。
- 参数:
modelDataset
- 模型数据集ratios
- LOD层级简化率,值域为[0,1],一般LOD 0层设置为 0.75,LOD 1层设置为0.5,LOD 2层设置为0.25。- 返回:
- 一个bool值,true表示数据集创建LOD成功,false表示创建LOD失败。
-
removeLOD
public static boolean removeLOD(DatasetVector modelDataset)
模型数据集删除已有LOD- 参数:
modelDataset
- 模型数据集- 返回:
- 一个bool值,true表示数据集删除LOD成功,false表示删除LOD失败。
-
hasLOD
public static boolean hasLOD(DatasetVector modelDataset)
模型数据集判断是否已存在LOD- 参数:
modelDataset
- 模型数据集- 返回:
- 一个bool值,true表示数据集已存在LOD,false表示数据集不存在LOD。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.