API接口
该产品提供API接口如下:
命名空间 | 命名空间说明 | 类名 | 类说明 | 接口 | 参数 | 作用 |
SuperMapSDK :: UnrealEngine :: ControlUE | 场景控制模块,初始化场景、更新渲染、主相机调用等 | RealspaceView | 接口主类 | void SetMainCameraActor (ACameraActor* pMainCamera) | pMainCamera:相机对象 | 设置CameraActor |
ACameraActor* GetMainCameraActor() | 获取CameraActor | |||||
bool IsOwner(ACameraActor* pMainCamera) | pMainCamera:相机对象 | 判断CameraActor是否为当前的持有者 | ||||
void DestroySingleton() | 清除RealspaceView | |||||
void Render() | 每一帧调用渲染 | |||||
void Destroy() | 结束渲染 | |||||
void Initialize() | 初始化 | |||||
bool IsInitialized() | 是否初始化过 | |||||
SuperMapSDK::UnrealEngine::Core:: SceneControl* GetSceneControl() | 获取场景控制 | |||||
void SetPosition(FVector & vPosition) | [in] vPosition:三维点向量,设置为世界原点的插入点 | 设置世界原点插入点 | ||||
CameraControl* GetCameraControl() | 获取CameraControl | |||||
void SetGeoreferenceOrigin(double dLongitude, double dLatitude, double dAltitude = 0.0) | dLongitude:经度 dLatitude:纬度 dAltitude:高度 |
设置地理原点 | ||||
Vector3d GetGeoreferenceOrigin() | 获取地理原点 | |||||
EWorldType::Type GetWorldType() | 获取编辑模式 | |||||
UWorld* GetWorld() | 获取当前世界场景管理器 | |||||
AActor* GetSelectedActor() | 获取场景被选中的Actor | |||||
void SetEnableCollision(Gamebool bEnable) | 是否开启碰撞检测 | |||||
SuperMapSDK:: UnrealEngine:: Core | 此模块包含基础功能,包含数据加载、属性信息查询等功能。 | Analyst3D | 三维分析枚举类 | AnalyzeMode GetAnalyzeMode() | 获取分析类型 | |
void Build() | 执行分析 | |||||
void Clear() | 清除分析 | |||||
enum AnalyzeMode { View_Shed = 1, Sight_Line = 2, Projection_Image = 3, View_Dome = 4, Cluster_Analyze = 5, Facade_Analyze = 6 Profile_Analyze = 7, Multi_ViewShed3D = 8 } |
View_Shed:可视域分析 Sight_Line:通视分析 Projection_Image:视屏投放 View_Dome:开敞度 Cluster_Analyze:点聚合分析 Facade_Analyze:立面图分析 Profile_Analyze:剖面分析 Multi_ViewShed3D:多可视域分析 |
分析类型枚举 | ||||
AttributeFields | 属性字段信息 | std::vector<FString> GetFieldInfos() | 获取属性字段 | |||
void SetFieldInfos(std::vector<FString> & vecFieldInfos) | vecFieldInfos:属性字段 | 设置属性字段 | ||||
std::vector<FString> GetFieldValues() | 获取属性值信息 | |||||
void SetFieldValues(std::vector<FString> & vecFieldValues) | vecFieldValues:属性值 | 设置属性值信息 | ||||
std::vector<FString> GetCaptions() | 获取外键信息 | |||||
void SetCaptions(std::vector<FString> & vecCaptions) | 设置外键信息 | |||||
void SetFields(std::vector<FString> & vecFieldInfos, std::vector<FString> & vecFieldValues) | vecFieldInfos:属性字段 vecFieldValues:属性值 |
设置属性 | ||||
int32 GetID() | 获取对象ID | |||||
void SetID(int32 nID) | [in] nID:对象ID | 设置对象ID | ||||
int32 FieldInfoCount() | 属性字段个数 | |||||
int32 FieldValueCount() | 属性值个数 | |||||
CameraState | 相机俯仰角类 | void SetUGCameraState(Gamedouble dLongitude, Gamedouble dLatitude, Gamedouble dAltitude, Gamedouble dPitch, Gamedouble dHeading, Gamedouble dRoll) | dLongitude:相机经度 dLatitude:相机纬度 dAltitude:高度 dPitch:俯仰角 dHeading:水平角 dRoll:翻滚角 |
设置相机飞行位置 | ||
void SetUGCameraState(Vector3d vCameraLocation, FRotator vCameraRotator) | vCameraLocation:相机坐标 vCameraRotator:相机旋转角 |
设置相机飞行位置 | ||||
Gamedouble GetUGCameraHeading() | 获取UGC水平角 | |||||
Gamedouble GetUGCameraTilt() | 获取UGC俯仰角 | |||||
Gamedouble GetUGCameraRoll() | 获取UGC旋转角 | |||||
Gamedouble GetUGCameraLongitude() | 获取UGC经度 | |||||
Gamedouble GetUGCameraLatitude() | 获取UGC纬度 | |||||
Gamedouble GetUGCameraAltitude() | 获取UGC高度 | |||||
void SetUGCameraViewMatrix(FMatrix ueViewMatrix) | 设置视图UGC的视图矩阵 | |||||
void SyncMainCam(CameraControl* pCameraControl) | 相机主相机同步 | |||||
void SetRotationOfCameraFixed(Gamebool bSet) | 设置固定视角状态(在飞行管理中,固定视角状态为false可解放俯仰、倾斜等视角操作) | |||||
Gamebool IsRotationOfCameraFixed() | 获取固定视角状态 | |||||
Selection3D | 三维选择集类,该类用于处理三维场景中上被选中的对象。 | Layer3D* GetLayer() | 获取关联图层 | |||
Gameint GetID(Gameint nIndex) | 根据索引获取选择集ID | |||||
Gameint GetCount() | 获取选择集中对象数目 | |||||
Gameint Add(Gameint nID) | 添加ID | |||||
Gamebool FindID(Gameint nID) | 查找ID | |||||
void Clear() | 清除ID | |||||
Gamebool FindID(Gameint nID) | 查找ID | |||||
ClipMode | 裁剪类型类 | enum SUPERMAP_API BoxClipPart { ClipNothing = 0, ClipOuter = 1, ClipInner = 2, } |
ClipNothing 不裁剪 ClipOuter 裁剪掉盒子外部的部分 ClipInner 裁剪掉盒子内部的部分 |
Box裁剪枚举 | ||
FlyManager | 飞行路线管理类 | enum FlyTurningMode { Smoothly = 0, Directly = 1 } |
Smoothly = 0,平滑拐弯 Directly = 1 直角拐弯 |
飞行拐弯方式 | ||
enum FlyStatus { Stop = 0, Pause = 1, Play = 2 } |
Stop = 0,当前飞行状态为已经停止 Pause = 1,当前飞行状态为暂停 Play = 2 当前飞行状态为正在飞行中,可以在暂停后设置飞行状态类型为Play继续飞行。 |
飞行状态 | ||||
void SetDuration(Gamedouble dDuration) | dDuration:总时间 | 设置本次飞行(即当前整个路线)需要的总时间,单位为秒。 | ||||
Gamedouble GetDuration() | 获取本次飞行(即当前整个路线)需要的总时间,单位为秒。 | |||||
void SetPlayRate(Gamedouble dPlayRate) | dPlayRate:速率 | 设置播放速率。该属性值的范围为0-100,当大于1.0时,则沿飞行路径快速飞行,小于1.0时,表示沿飞行路径慢速飞行 | ||||
Gamedouble GetPlayRate() | 获取播放速率。该属性值的范围为0-100,当大于1.0时,则沿飞行路径快速飞行,小于1.0时,表示沿飞行路径慢速飞行 | |||||
void SetTurningMode(FlyTurningMode eFlyTurningMode) | eFlyTurningMode:方式设置 | 设置飞行拐弯方式。支持直角拐弯和平滑拐弯 | ||||
FlyTurningMode GetTurningMode() | 获取飞行拐弯方式。支持直角拐弯和平滑拐弯 | |||||
Routes* GetRoutes() | 获取路线集合 | |||||
FlyStatus GetStatus() | 获取当前的飞行状态(停止,暂停,飞行中) | |||||
void Play() | 按照返回的路线集合(Routes)指定的路线开始飞行,或继续进行中断的飞行 | |||||
void Stop() | 停止当前飞行 | |||||
void Pause() | 暂停当前飞行 | |||||
void Update() | 更新飞行管理的内部计算。 | |||||
Gameint GetCurrentStopIndex() | 获取当前站点索引 | |||||
void SetCurrentStopIndex(Gameint nIndex) | nIndex:当前站点索引 | 设置当前站点 | ||||
Gamebool GetArriedStatus() | 判断飞行是否抵达站点 | |||||
void SetOriginalPosition(Vector3d vOriginalPos) | vOriginalPos:插入点的坐标值 | 设置插入点 | ||||
Gamedouble GetCurrentProgress() | 获取飞行进度 | |||||
GlobalImage | 地形类 | Gameint AddExcavationRegion(Geometry* pGeometry, FString strTag) | pGeometry:裁剪区域 strTag:裁剪区域标签 |
设置地形裁剪区域 | ||
Gamevoid ClearExcavationRegion() | 清空地形裁剪区域 | |||||
FString GetExcavationRegionTag(Gameint nIndex) | nIndex:裁剪区域索引值 | 获取地形裁剪区域标签 | ||||
Gameint IndexOfExcavationRegion(FString strTag) | strTag:裁剪区域标签 | 获取地形裁剪区域下标 | ||||
Gamebool RemoveExcavationRegion(Gameint nIndex) | nIndex:裁剪区域索引值 | 删除地形裁剪区域 | ||||
Gamebool SetExcavationRegionTag(Gameint nIndex, FString strTag) | nIndex:裁剪区域索引值 strTag:裁剪区域标签 |
设置地形裁剪区域标签 | ||||
HypsometricSetting | 分层设色 | enum DisplayMode { NONE = 0, Face = 1, Line = 2, Face_And_Line = 3, } |
NONE 无 Face 填充纹理 Line 等值线 Face_And_Line 混合模式 |
显示模式枚举 | ||
enum AnalysisMode { AM_CONTOUR_MAP = 0, AM_GUIDES = 2, } |
AM_CONTOUR_MAP 高度分析 AM_GUIDES 参考线 |
分析模式枚举 | ||||
void SetDisplayMode(DisplayMode mode) | mode 模式 | 设置是否显示线&填充色 | ||||
DisplayMode GetDisplayMode() | 获得线的显示模式 | |||||
void SetAnalysisMode(AnalysisMode mode) | mode 模式 | 设置是分析模式 | ||||
AnalysisMode GetAnalysisMode() | 获得分析模式 | |||||
void SetLinesInterval(double dLinesInterval) | dLinesInterval 间距值 | 设置间距 | ||||
double GetLinesInterval() | 获取间距 | |||||
void SetLineColor(FColor color) | color 颜色值 | 设置线颜色 | ||||
FColor GetLineColor() | 获取线颜色 | |||||
void SetColorTableMaxKey(double dMaxKey) | dMaxKey 最高值 | 设置颜色表最高值 | ||||
double GetColorTableMaxKey() | 获取颜色表最高值 | |||||
void SetColorTableMinKey(double dMinKey) | dMinKey 最低值 | 设置颜色表最低值 | ||||
double GetColorTableMinKey() | 获取颜色表最低值 | |||||
void SetMinVisibleValue(double minValue) | minValue 最小可见值 | 设置最小可见值 | ||||
double GetMinVisibleValue() | 获取最小可见值 | |||||
void SetMaxVisibleValue(double maxValue) | maxValue 最大可见值 | 设置最大可见值 | ||||
double GetMaxVisibleValue() | 获取最小可见值 | |||||
void SetColorTableFile(FString strFilePath) | strFilePath 文件路径 | 设置颜色表文件路径 | ||||
FString GetColorTableFile() | 获取颜色表文件路径 | |||||
void SetColorTableTexture(UTexture2D* colorTableTexture) | colorTableTexture 颜色表 | 设置颜色表 | ||||
UTexture2D* GetColorTableTexture() | 获取颜色表 | |||||
UEAssetStyle | 对矢量数据美化类 | enum SUPERMAP_API Mode { ASSET_MESH = 0, ASSET_MATERIAL = 1, ASSET_LOFT = 2 } |
ASSET_MESH:外挂小品 ASSET_MATERIAL:风格样式 ASSET_LOFT:资产放样 |
矢量数据使用方式枚举 | ||
void SetAssetStyles(TMap<FString, AssetStyle*> mapAssetStyles) | 设置材质替换数据 | |||||
TMap<FString, AssetStyle*> GetAssetStyles() | 获取材质替换数据 | |||||
UEAssetStyle::Mode GetMode() | 获取风格类型 | |||||
void SetMode(UEAssetStyle::Mode type) | 设置风格类型 | |||||
Layer3D | 三维图层类。该类提供了三维图层显示控制等便于三维地图管理的一系列属性。 | FName Name() | 获取图层名 | |||
FName DataName() | 获取图层数据名 | |||||
FName NodeName() | 获取图层节点名 | |||||
Gamelong NodeNameHashCode() | 获取图层节点名的hashcode值 | |||||
Layer3DType Type() | 图层类型 | |||||
OSGBType DataType() | OSGB 数据类型 | |||||
bool GetIsVisible() | 获取是否可见性 | |||||
void SetIsVisible(bool bVisible) | [in] bVisible: 若为true 则可见 | 设置可见性 | ||||
void SetOriginalPosition(FVector vPos, int32 nSceneType) | [in]vPos:插入点 [in]nSceneType:场景类型 |
设置图层插入点 | ||||
Selection3D* GetSelection3D() | 获取选择集 | |||||
Rectangle2D GetBounds() | 返回bounds值 | |||||
int32 GetLayerID() | [out]:图层ID | 获取图层ID | ||||
void SetLayerID(int32 nLayerID) | [in] nLayerID:图层ID | 设置图层ID | ||||
Layer3DMaterialInfo& GetMaterialInfo() | 获取图层材质信息 | |||||
void SetMaterialInfo(Layer3DMaterialInfo& info) | info:材质信息 | 设置图层材质信息 | ||||
ObjectMaterialInfo& GetObjectMaterialInfo() | 获取图层对象材质信息 | |||||
void SetObjectMaterialInfo(ObjectMaterialInfo& info) | info:材质信息 | 设置图层对象材质信息 | ||||
void ClipByBox(GeoBox* pGeoBox, BoxClipPart ePlaneClipMode) | pGeoBox:裁剪盒子 ePlaneClipMode:裁剪模式 |
设置一个盒子,对图层可渲染部分进行裁剪 | ||||
GeoBox* GetClipBox() | 获取裁剪盒子 | |||||
BoxClipPart GetBoxClipPart() | 获取Box裁剪模式 | |||||
void SetClipLineColor(Vector4d vClipLineColor) | vClipLineColor:颜色值 | 设置裁剪面边缘线的颜色 | ||||
Vector4d GetClipLineColor() | 获取裁剪面边缘线的颜色 | |||||
void ClearCustomClipPlane() | 清空自定义裁剪面 | |||||
void SetSwipeEnabled(Gamebool bSwipe) | bSwipe:是或者否 | 设置是否卷帘 | ||||
Gamebool GetSwipeEnabled() | 获取是否卷帘 | |||||
void SetSwipeRegion(Rectangle2D rcBox) | rcBox:卷帘范围 | 设置卷帘长宽 | ||||
Rectangle2D GetSwipeRegion() | 获取卷帘长宽 | |||||
JsonFile* LayerToJson() | 保存Json | |||||
void SetViewportEnabled(Gamebool bViewport) | bViewport:是或者否 | 设置是否分屏 | ||||
void UpdateData() | 更新图层 | |||||
void SetVisibleInViewport(Gameint nIndex, Gamebool visible) | nIndex:屏幕索引 visible:是否可见 |
设置分屏可视性 | ||||
Gamebool GetVisibleInViewport(Gameint nIndex) | nIndex:屏幕索引 | 获取分屏可视性 | ||||
void AddSelectedID(Gameint nID) | nID:对象ID | 添加选中对象 | ||||
void ReleaseSelection() | 清空选中对象 | |||||
void SetSelectStyle(Style3D* pStyle3D) | 设置图层选中风格 | |||||
Style3D* GetSelectStyle() | 获取图层选中风格 | |||||
Gamebool IsMarkerLayer() | 是否启动掩模纹理 | |||||
void SetMarkerLayer(bool bIsMarkerLayer) | 设置影像是否是掩模纹理 | |||||
UEAssetStyle* GetUEAssetStyle() | 获取图层美化风格 | |||||
void SetStyle(Style3D* pStyle) | pStyle:风格 | 设置图层风格 | ||||
Style3D* GetStyle() | 获取图层风格 | |||||
void SetMaxObjectVisibleDistance(Gamedouble dValue) | 设置图层最远可见距离 | |||||
Layer3DDatasetModel | 三维数据集类 | void SetDataset(Dataset* pDataset) | pDataset [in] 数据集 | 设置数据集 | ||
Dataset* GetDataset() | 获取模型数据集 | |||||
Layer3DDatasetVector | 矢量图层基类 | void SetAssetStyle(AssetStyle* pAssetStyle) | pAssetStyle:资源对象 | 设置资源风格 | ||
AssetStyle* GetAssetStyle() | 获取资源风格 | |||||
void SetAssetStyleField(FString strAssetStyleField) | strAssetStyleField: | 设置风格字段 | ||||
FString GetAssetStyleField() | 获取风格字段 | |||||
Data::Geometry* GetGeometry(int32 nIndex) | nIndex:集合体索引 | 根据下标获取集合体的数据 | ||||
void SetDataset(Data::Dataset* pDataset) | ||||||
void SetGeometrys(const TArray<Data::Geometry*>& arrGeometrys) | 添加数据集的 Geometry | |||||
TArray<Data::Geometry*> GetGeometrys() const | 获取数据集的geometry | |||||
void SetGeoAttributes(const TArray<TMap<FString, FString>>& mapGeoAttributes) | 添加数据集的属性 | |||||
TArray<TMap<FString, FString >> GetGeoAttributes() const | 获取数据集属性 | |||||
ObjectsColorDictionary | 设置对象风格 | void SetObjectsColor(TArray<Gameint> ids, FVector4 color) | 设置对象颜色 | |||
TMap<Gameint, FVector4> GetObjectsColor() | 获得对象颜色 | |||||
void RemoveObjectsColor(TArray<Gameint> ids) | 重置对象颜色 | |||||
void ResetObjectsColor() | 重置所有对象颜色 | |||||
Layer3DS3MFile | 三维瓦片瓦片图层类。 具有动态加载海量多源异构三维空间数据的优势。支持倾斜摄影模型、BIM、管线、精模数据等类型数据。 | enum SUPERMAP_API ModifyRegionMode { ClipInside, ClipOutside, Mosaic, Flatten, Modify_None } |
ClipInside:裁剪内部 ClipOutside:裁剪外部 Mosaic: Flatten:压平 Modify_None:无修改 |
多边形模式 | ||
enum SUPERMAP_API LoadingPriorityEnum { Root_Priority, Child_Priority, UsePagedLodInfo, Child_Priority_NonLinear } |
Root_Priority,广度优先 Child_Priority,深度优先 UsePagedLodInfo,索引优先 Child_Priority_NonLinear 深度优先非线性切换 |
更新策略 | ||||
std::vector<FString> GetFieldInfos() | 获取当前图层的所有属性字段信息 | |||||
std::vector<FString> GetAllFieldValues(int32 nID) | [in] nID:对象ID | 获取当前属性字段名称 | ||||
Gamedouble GetMaxHeight() | 获取图层最大高度 | |||||
Gamedouble GetMinHeight() | 获取图层低高程 | |||||
void SetLODRangeScale(int nLayerID, float values) | nLayerID图层ID values lod值 |
设置当前图层的LOD层级 | ||||
float GetLODRangeScale(int nLayerID) | [in] nLayerID:图层ID | 获取当前图层的LOD层级 | ||||
void AddFlattenRegion(GeoRegion3D* pGeoRegion3D, FString strTag) | 添加压平的矢量(由图层释放矢量面) | |||||
void ClearFlattenRegion() | 清除压平矢量面 | |||||
S3MEffectShaderParamters GetFlattenParam() | 获取压平需要的参数 | |||||
void SetHypsometricSetting(HypsometricSetting* pHypsometricSetting) | 设置分层设色类 | |||||
HypsometricSetting* GetHypsometricSetting() | 获取分层设色类 | |||||
void ClearHypsometricSetting() | 清除分层设色 | |||||
void SetConstantPolygonOffset(double dOffset) | 设置多边形偏移量 | |||||
double GetConstantPolygonOffset() | 获取多边形偏移量 | |||||
void SetObjectsVisible(TArray<Gameint> ids, Gamebool bVisible) | ids:对象的ID数据 bVisible:是否可见 |
设置ID列表中对象的可见性 | ||||
void SetObjectsTranslate(TArray<Gameint> ids, Vector3d translate) | ids:对象的ID数组 translate:XYZ偏移的值 |
设置ID列表中的对象偏移 | ||||
double GetMaxDataValue() | 获取图层高度最大值 | |||||
double GetMinDataValue() | 获取图层高度最小值 | |||||
AttributeFields GetAttributeFields() | 获取图层属性信息 | |||||
void SetModifyRegions(TArray<GeoRegion3D*> pGeoRegion3Ds, ModifyRegionMode type) | 模型倾斜开挖 | |||||
void ClearModifyRegions() | 清除开挖结果 | |||||
void SetDecodeMeshopt(Gamebool value) | 设置Meshopt数据是否CPU解量化 | |||||
Gamebool IsDecodeMeshopt() | 获取Meshopt数据是否CPU解量化 | |||||
void ExportUEMaterialToJson(FString LayerInfoPath, FString ScpFilePath) | 导出S3M图层关联材质,并将导出路径作为新字段添加到scp文件中 | |||||
void AddRelatedPathToScpFile(FString LayerInfoPath, FString ScpFilePath) | LayerInfoPath:关联材质路径 ScpFilePath:scp文件路径 |
添加关联材质路径到scp文件 | ||||
ObjectsColorDictionary* GetObjectsColorDictionary() | 获取设置对象颜色的指针 | |||||
void SetLoadingPriority(LoadingPriorityEnum type) | type:模式类型 | 设置加载数据模式 | ||||
LoadingPriorityEnum GetLoadingPriority() | 获取加载数据模式 | |||||
void SetIsClampVector(Gamebool bValue) | bValue:是或否 | 是否支持贴对象 | ||||
Layer3Ds | 三维图层集合类。该类对一个三维场景中的所有三维图层进行管理。 | void Clear() | 清空图层 | |||
int32 Count() | 获取图层个数 | |||||
Layer3D* GetAt(int32 index) | [in] index:指定图层的下标 | 获取指定下标的图层 | ||||
Layer3D* GetAt(FName strLayerName) | [in] strLayerName:指定图层的名称 | 获取指定名称的图层 | ||||
bool GetIsVisible() | 获取图层是否可见 | |||||
void SetIsVisible(bool bVisible) | [in] bVisible: 若为true 则可见 | 设置图层是否可见 | ||||
Layer3D* Add(FString strDataName, Layer3DType eLayerType, bool bAddToHead,FString strLayerName) | [in] strDataName:本地图层名称 [in] eLayerType:图层类型 [in] bAddToHead: 把图层置顶 |
添加本地图层 | ||||
Layer3D* Add(FString strUrl, Layer3DType eLayerType, FString strLayerName, bool bAddToHead) | [in] strUrl:iServer链接 [in]eLayerType:图层类型 [in] strLayerName:图层名称 [in] bAddToHead: 把图层置顶 |
添加在线图层 | ||||
Layer3D* Add(FString strStdLayerName, Layer3DType layerType, FString strStdUserName, FString strStdPassWord) | [in] strStdLayerName:图层名称 [in] layerType:图层类型 [in] strStdUserName:账号 [in] strStdPassWord:密码 |
添加OpenStreetMap、BingMaps等地图 | ||||
Layer3D* Add(FString strUrl, FString strLayerName, Layer3DType eLayerType, bool bAddToHead) | [in] strUrl:Url地址 [in] strLayerName:图层名称 [in] eLayerType:服务类型 [in] bAddToHead: 把图层置顶 |
添加其它Rest服务 | ||||
Layer3D* Add(FString strURL, FString strLayerName, FString strDataName, float fDPI, ImageFormatType eImageType, bool addToHead) | [in]strURL:链接地址 [in]strLayerName:图层名称 [in]strDataName:数据名称 [in]fDPI:DPI值 [in]eImageType:图片类型 [in]addToHead:图层置顶 |
添加天地图影像 | ||||
Layer3D* Add(FString strDataName,DatasetType eDatasetType) | strDataName:矢量图层名称 eDatasetType:矢量图层类型 |
添加矢量数据集图层 | ||||
Layer3D* Add(FString strXMLFile, FString strRootPath, FString strName, FString strKeyWord = "") | [in]strXMLFile xml文件 [in]strRootPath osgb根结点目录 [in]strKeyWord osgb关键字 |
加载osgb格式倾斜 | ||||
bool Remove(FString layerName) | [in]:layerName:图层名称 | 移除指定图层 | ||||
Layer3D* FindLayerByNodeName(Gamelong nNodeName) | 根据图层名获取图层 | |||||
Layer3DType | 三维图层类型枚举类 | enum SUPERMAP_API Layer3DType { ImageFile = 1, KML= 2, Map = 9, WMS = 11, WMTS = 12, DatasetVector = 14, S3M = 15, DatasetModel = 16, BingMaps = 22, OpenStreetMaps = 24, DatasetVectorPoint = 26, ArcgisMaps = 34, } |
ImageFile :影像图层 KML:KML图层 Map :Map服务 WMS :WMS服务 WMTS :WMTS服务 DatasetVector :矢量数据集 S3M :模型瓦片图层 DatasetModel:模型数据集 BingMaps :在线BingMaps数据 OpenStreetMaps :在线OpenStreetMap数据 DatasetVectorPoint :点数据集 ArcgisMaps :arcgis地图 |
图层枚举类型 | ||
enum ImageFormatType { none = 0, BMP = 121, JPG = 122, JPG_PNG = 147, } |
none:不指定图片类型 BMP:BMP格式图片 JPG:JPG格式图片 JPG_PNG:JPG_PNG格式图片 |
天地图图片类型枚举 | ||||
enum TerrainLayerType { STK = 2, TIANDITU = 3, } |
STK:STK地形 TIANDITU:天地图地形 |
地形类型枚举 | ||||
enum SUPERMAP_API OSGBType { ObliquePhotogrammetry3DModel = 0, NormalCacheFile = 1, Volume = 2, IconPoint = 3, ClampGroundLine = 4, ClampObjectLine = 5, ClampGroundRegion = 6, ClampObjectRegion = 7, ExtendClampRegoin = 8, Terrain = 9, Text = 10, PointCloud = 11, PolylineEffect = 13, RegionEffect = 14, RealtimeRaster = 16, } |
ObliquePhotogrammetry3DModel 倾斜摄影模型 NormalCacheFile 普通OSGB瓦片 Volume 体数据 IconPoint 点图标类型 ClampGroundLine 贴地线矢量 ClampObjectLine 贴对象线矢量 ClampGroundRegion 贴地面矢量 ClampObjectRegion 贴对象面矢量 ExtendClampRegoin 带拉伸高度的贴对象的面矢量 Terrain = 9 地形 Text = 10 文字 PointCloud 点云 PolylineEffect 线型符号 RegionEffect 面填充 RealtimeRaster 贴地面矢量瓦片 |
OSGB类型 | ||||
Query3D | 空间查询类 | enum PositionMode { Disjoint3D = 0, Intersects3D = 1, Contains3D = 2, }; |
Disjoint3D 分离 Intersects3D 相交 Contains3D 包含 |
|||
void SetQueryGeometry(Geometry3D* pGeometry3D) | 设置空间查询几何对象 | |||||
void SetPickRect(Vector3d vStart, Vector3d vEnd); | 设置选中区域 | |||||
void SetPositionMode(Query3D::PositionMode nMode) | 设置几何查询的位置关系 | |||||
Query3D::PositionMode GetPositionMode(); | 获取几何查询的位置关系 | |||||
void AddLayerID(Gameint nLayerID) | 设置关联图层 | |||||
void UpdateRectSelect() | 更新选中区域 | |||||
TMap<Gameint, TArray<Gameint> > GetQueryIDs() | 获取选中的所有ID | |||||
void RemoveLayerID(Gameint nLayerId) | 移除空间查询图层ID | |||||
void Realse() | 空间查询结束 | |||||
RouteStop | 飞行站点类,控制每个站点的相机姿态、飞行时间 | FString GetName() | 获取站点名 | |||
void SetName(FString Name) | Name:站点名称 | 设置站点名 | ||||
Gamedouble GetDuration() | 获取从站点出发到下一站点飞行的持续时间。默认值为0,单位为秒。 | |||||
void SetDuration(Gamedouble dDutation) | dDutation:持续时间 | 设置从站点出发到下一站点飞行的持续时间。默认值为0,单位为秒。 | ||||
void SetCamera(CameraState* state) | state:相机对象姿态 | 获取站点的相机姿态 | ||||
CameraState* GetCameraState() | 设置站点的相机姿态 | |||||
void* GetHandler() | 获取站点 | |||||
Route | 飞行路线类,管理飞行路线中的站点 | FString GetName() | 获取路线名 | |||
void SetName(FString Name) | Name:路线名称 | 设置路线名 | ||||
void SetIsFlyingLoop(Gamebool bIsFlyingLoop) | bIsFlyingLoop:是否 | 设置飞行循环播放 | ||||
Gamebool GetIsFlyingLoop() | 获取是否在飞行循环播放 | |||||
Gameint Count() | 获取路线站点个数 | |||||
Gameint IndexOf(FString strStopName) | strStopName:站点名称 | 获取站点索引 | ||||
RouteStop GetStop(Gameint nIndex) | nIndex:站点索引 | 获取站点 | ||||
Gamebool Insert(RouteStop stop, Gameint nIndex) | stop:站点对象 nIndex:站点索引 |
插入站点 | ||||
Gamebool Contains(FString StopName) | StopName:站点名称 | 判断是否包含站点 | ||||
bool Add(RouteStop* stop) | stop:站点对象 | 新增站点 | ||||
bool Remove(int nIndex) | nIndex:站点编号 | 删除站点 | ||||
void SetHeadingFixed(bool bSet) | bSet:是否 | 设置是否锁定俯仰视角 | ||||
Gamebool IsHeadingFixed() | 获取锁定俯仰视角 | |||||
void SetTiltFixed(bool bSet) | bSet:是否 | 设置是否锁定倾斜视角 | ||||
Gamebool IsTiltFixed() | 获取是否锁定倾斜视角 | |||||
Routes | 飞行路线集合类 | Gameint Count() | ||||
Gamebool SetCurrentRouteIndex(Gameint nIndex) | nIndex:路线索引 | 设置当前的路线,默认没有Route时为-1 | ||||
Gameint GetCurrentRouteIndex() | 获取当前的路线 | |||||
Route* GetRoute(Gameint nIndex) | nIndex:路线索引 | 获取该索引路线 | ||||
Gameint IndexOf(FString strRouteName) | strRouteName:路线名称 | 获取该线路名称的索引 | ||||
Gamebool FromFile(FString file) | file:fpf文件 | 从指定的文件中导入路线集合对象 | ||||
Gamebool ToFile(FString file) | file:fpf文件 | 将路线集合导出本地文件 | ||||
Gamebool Create(FString RouteName) | RouteName:路线名称 | 新建飞行路线 | ||||
Gamebool Remove(Gameint nIndex) | nIndex:路线索引 | 删除指定索引的路线 | ||||
Scene | 三维场景类。三维数据会依据地理空间参考信息,填加到三维场景中。 | enum SUPERMAP_API PixelToGlobeMode { TerrainAndModel = 0, Sphere = 1 } |
TerrainAndModel:地形和模型都参与求交点 Sphere:只与地表求交点 |
求交模式切换 | ||
enum MultiViewportMode { None = 0, Horizontal = 1, } |
None:还原分屏 Horizontal:左右分屏 |
分屏模式切换 | ||||
void SetIsVisible(Gamebool bIsVisible) | 设置是否开启地下模式 | |||||
GlobalImage* GetGlobalImage() | 获取地形影像 | |||||
void SetCameraControl(SuperMapSDK::UnrealEngine::ControlUE::CameraControl* pCamerControl) | 设置相机操作类 | |||||
CameraControl* GetCameraControl() | 获取相机操作类 | |||||
void SetWorld(UWorld* pWorld) | [in] pWorld:UE的世界类 | 设置UE世界场景类 | ||||
UWorld* GetWorld() | 获取世界场景类 | |||||
SceneType GetSceneType() | 获取场景类型 | |||||
void SetSceneType(SceneType eSceneType) | [in] eSceneType:场景类型,平面或者球面 | 设置场景类型 | ||||
Query3D* GetQuery3D() | 获取Query3D | |||||
Layer3Ds* GetLayer3Ds() | 返回三维图层集合 | |||||
TerrainLayers* GetTerrainLayers() | 返回地形图层集合 | |||||
TrackingLayer* GetTrackingLayer() | 获取跟踪图层 | |||||
void SetCamera(Gamefloat* matView, Gamefloat fNearDist, Gamefloat fFarDist, Gamefloat fFov, Gamefloat fAspect) | matView:视图矩阵 fNearDist:近裁剪面 fFarDist:远裁剪面 fFov:Fov视场口 fAspect:方向角 |
设置相机 | ||||
void SetCameraFov(Gamedouble dFov) | dFov:相机Fov视角值 | 设置相机Fov视角 | ||||
Gamedouble GetCameraFov() | 获取相机Fov视角 | |||||
void EnsureVisible(FSlateRect& rect2D) | rect2D:bounds范围 | 相机飞到bounds位置 | ||||
void Clear() | 清空图层 | |||||
Vector3d PixelToCartesian(Vector3d vMouse) | vMouse:鼠标在屏幕的坐标 | 返回像素UE空间下笛卡尔坐标系 | ||||
Vector3d PixelToGlobe(Vector3d vMouse, PixelToGlobeMode mode = TerrainAndModel) | vMouse:鼠标在屏幕的坐标 | 返回像素对应的真实地理坐标 | ||||
std::map<FName, Analyst3D*>& GetAnalyst3DList() | 获取分析功能列表 | |||||
Gamebool GetCreateSkirt() | 裙边设置 | |||||
void SetCreateSkirt(bool bCreatesSkirt) | bCreatesSkirt:是否启动裙边 | 裙边设置 | ||||
void SetSkirtHeight(float fHeight) | fHeight:高度值 | 设置裙边高度 | ||||
void ToJson(FString strPath) | strPath:文件保存路径 | 保存Json | ||||
void SetMultiViewportMode(MultiViewportMode mode) | mode:模式 | 设置分屏模式 | ||||
MultiViewportMode GetMultiViewportMode() | 获取分屏模式 | |||||
void ToXML(FString strFileAdress) | strFileAdress:xml文件路径 | 输出xml文件 | ||||
FTransform LongitudeLatitudeToUE(FVector vLonLat) | vLonLat:经纬度值 | 通过指定经纬度获取空间坐标 及 模型旋转角度 | ||||
void SetShowInvalidation(bool bShow) | bShow:是否显示 | 场景设置无效区域 | ||||
void SetHandler(void* pScene) | 创建场景指针 | |||||
void* GetHandler() | 获取场景指针 | |||||
FlyManager* GetFlyManager() | 获取飞行管理类 | |||||
void Fly(CameraState* pCameraState, Gameint milliseconds) | pCameraState:相机状态 milliseconds:用时 |
设置飞行定位 | ||||
void FlyCircle(Geometry* geometry, Gamedouble speedRatio, Gamebool isCycle = false) | geometry: speedRatio:旋转速度 isCycle :是否循环 |
绕点飞行 | ||||
void StopFlyCircle() | 停止绕点飞行 | |||||
void SetTerrainExaggeration(Gamedouble dValue) | dValue:地形夸张设置的值 | 设置地形夸张 | ||||
Gamedouble GetTerrainExaggeration() | 获取地形夸张数值 | |||||
SelectedInfo GetSelectedInfo() | 获取选中对象的材质信息 | |||||
CameraState* GetCameraState() | 获取主相机相机状态 | |||||
void InitializeFlyCallbackHandle() | 初始化飞行回调事件 | |||||
void GlobalRefreshRaster(Rectangle2D rec) | 局部地形刷新 | |||||
SceneControl | 三维地图控件。一个三维场景窗口(SceneControl)对应一个三维场景(Scene),即一个三维场景窗口中只能显示一个三维场景 | Scene* GetScene() | 获取场景 | |||
bool InitializeScene(int32 width, int32 height) | [in]width:场景宽度 [in]height:场景高度 |
对场景进行初始化设置 | ||||
void Render() | 场景调度 | |||||
ShutDown() | 停止运行场景 | |||||
void SetTerrainPosition(float x, float y, float z) | [in]x:x坐标 [in]y:y坐标 [in]z:z坐标 |
设置地形插入点 | ||||
FVector GetTerrainPosition() | 获取地形的插入点 | |||||
SceneEditorWnd* GetSceneEditorWnd() | 获取场景编辑类 | |||||
Workspace* GetWorkspace() | 获取工作空间 | |||||
void SetMultiTexture(Gamebool bSet) | ||||||
SceneEditorWnd | 场景操作统一管理类 | enum SUPERMAP_API Action3D { Null = 0, Pan = 1, PointSelect = 10, Edit = 21, MeasureDistance = 31, MeasureArea = 32, MeasureHeight = 33, MeasureTerrainDistance = 37, MeasureTerrainArea = 38, MeasureHorizontalDistance = 39, PanSelect = 105, RectSelect = 11 } |
Null 无操作 Pan 平移 PointSelect 点选 Edit 编辑 MeasureDistance 量算距离 MeasureArea 量算面积 MeasureHeight 量算高度 MeasureTerrainDistance 依地距离 MeasureTerrainArea 依地面积 MeasureHorizontalDistance 水平量算 PanSelect 平移选择 RectSelect 框选 |
Action枚举 | ||
enum SUPERMAP_API UserAction { RoObjectSelect = 0, SubObjectSelect = 1 } |
SubObjectSelect子对象选择 | 用户Action枚举 | ||||
void SetAction(Action3D eAction) | 设置操作类型 | |||||
void SetUserAction(UserAction eAction) | 设置玩家操作类型 | |||||
void Release() | 停止运行 | |||||
Action3D GetAction() | 获取操作类型 | |||||
MeasureHandler* GetMeasureHandler() | 获取量算类 | |||||
MaterialInfo GetSelectMaterialInfo() | 是否更新选中信息 | |||||
SceneType | 场景类型枚举类 | enum SUPERMAP_API SceneType { Flat = 0, Ellipsoid_WGS84 = 2 } |
Flat:平面 Ellipsoid_WGS84:球面(椭球) |
场景枚举 | ||
SlopeSetting | 坡度坡向分析类 | enum DisplayMode { NONE = 0, FACE = 1, ARROW = 2, FACE_AND_ARROW = 3 } |
NONE 不使用显示模式 FACE 显示填充 ARROW 显示坡向 FACE_AND_ARROW 显示填充和坡向 |
显示模式枚举 | ||
void SetDisplaySytle(SlopeSetting::DisplayMode mode) | 设置是否显示线&填充色 | |||||
SlopeSetting::DisplayMode GetDisplaySytle() | 获得线的显示模式 | |||||
void SetColorTableMaxKey(double dMaxKey) | dMaxKey:最大值 | 设置颜色表最高值 | ||||
double GetColorTableMaxKey() | 获取颜色表最高值 | |||||
void SetColorTableMinKey(double dMinKey) | dMinKey:最小值 | 设置颜色表最低值 | ||||
double GetColorTableMinKey() | 获取颜色表最低值 | |||||
void SetMinVisibleValue(double minValue) | minValue:最小值 | 设置最小可见值 | ||||
double GetMinVisibleValue() | 获取最小可见值 | |||||
void SetMaxVisibleValue(double maxValue) | maxValue:最大值 | 设置最大可见值 | ||||
double GetMaxVisibleValue() | 获取最大可见值 | |||||
void SetColorTableTexture(UTexture2D* colorTableTexture) | colorTableTexture:颜色表 | 设置颜色表 | ||||
UTexture2D* GetColorTableTexture() | 获取颜色表 | |||||
void SeArrowTexture(UTexture2D* arrowTexture) | arrowTexture:箭头纹理 | 设置坡向箭头纹理 | ||||
UTexture2D* GetArrowTexture() | 获取坡向箭头纹理 | |||||
void SetArrowMove(bool isMove) | isMove:是否运动 | 设置坡向箭头是否运动 | ||||
bool IsArrowMove() | 获取坡向箭头是否运动 | |||||
Style3D | 风格类 | enum AltitudeMode { ClampToGround = 0, Absolute = 2, ClampToObject = 6, } |
ClampToGround 贴地 Absolute 绝对高度 ClampToObject 贴对象 |
风格的高度模式 | ||
enum FillMode3D { FillMode3D_Fill = 1, FillMode3D_Line = 2, FillMode3D_LineAndFill = 3 } |
FillMode3D_Fill 填充 FillMode3D_Line 轮廓 FillMode3D_LineAndFill 填充与轮廓 |
填充模式 | ||||
void* GetHandler() | ||||||
void SetAltitudeMode(AltitudeMode mode) | 设置高度模式 | |||||
AltitudeMode GetAltitudeMode() | 获取高度模式 | |||||
void SetBottomAltitude(Gamedouble dAltitude) | 设置底部高程 | |||||
Gamedouble GetBottomAltitude() | 获取底部高程 | |||||
void SetExtendHeight(Gamedouble dHeight) | 设置拉伸高度 | |||||
Gamedouble GetExtendHeight() | 获取拉伸高度 | |||||
void SetFillColor(FVector4 fillColor) | 设置填充颜色 | |||||
FVector4 GetFillColor() | 获取填充颜色 | |||||
void SetFill3DMode(FillMode3D mode) | 设置填充模式 | |||||
FillMode3D GetFill3DMode() | 获取填充模式 | |||||
void SetLineColor3D(FVector4 lineColor3D) | 设置线填充颜色 | |||||
FVector4 GetLineColor3D() | 获取线填充颜色 | |||||
void SetLineWidth(Gamedouble dLineWidth) | 设置线宽 | |||||
Gamedouble GetLineWidth() | 获取线宽 | |||||
void SetMarker3DScale(FVector vScale) | 设置缩放参数 | |||||
FVector GetMarker3DScale() | 获取缩放参数 | |||||
void SetMarker3DRotate(FVector vRotate) | 设置旋转参数 | |||||
FVector GetMarker3DRotate() | 获取旋转参数 | |||||
void SetMarker3DTranslation(FVector vTranslation) | 设置平移参数 | |||||
FVector GetMarker3DTranslation() | 获取平移参数 | |||||
void SetTopTexture(FString filePath) | 设置顶面纹理 | |||||
void SetSideTexture(FString filePath) | 获取顶面纹理路径 | |||||
void SetTilingU(double dTilingU) | 设置纹理UV | |||||
void SetTilingV(double dTilingV) | 获取UV缩放值 | |||||
void SetTopTilingU(double dU) | 设置顶部纹理UV 缩放 | |||||
void SetTopTilingV(double dV) | 获取顶部纹理UV 缩放 | |||||
TerrainLayer | 地形图层类。该类包含了地形图层对象的相关属性信息 | float GetMinHeight() | 获取最小高度 | |||
float GetMaxHeight() | 获取最大高度 | |||||
FSlateRect GetBounds() | 获取bounds | |||||
FName GetName() | 获取地形图层名字 | |||||
void SetIsVisible(bool bVisible) | [in] bVisible: 若为true 则可见 | 设置地形是否可见 | ||||
bool GetIsVisible() | 获取是否可见 | |||||
void SetShowInvalidation(bool bShow) | [in] bShow: 若为true 则可见 | 设置是否显示无效区域 | ||||
bool GetShowInvalidation() | 获取无效区域是否可见 | |||||
void SetLODRangeScale(float values) | values:LOD 值 | 设置当前图层的LOD层级 | ||||
float GetLODRangeScale() | 获取当前图层的LOD层级 | |||||
void Render() | 渲染数据 | |||||
Gamedouble GetHeight(Vector3d vLonLat) | 获取对应经纬度的 高度 | |||||
void ToJson(JsonFile& jsonLayerFile) | 保存Json | |||||
TerrainLayers | 地形图层集合类。通过设置该类添加、移除地形图层。 | int Count() | 图层数目 | |||
TerrainLayer* Add(FString strIServerUrl, FString strLayerName) | [in]strIServerUrl:iServer发布链接 [in]strLayerName:图层名称 |
添加iServer地形图层 | ||||
TerrainLayer* Add(FString strFile, bool bAddToHead) | [in]strFile:地形图层文件 [in]bAddToHead:是否置顶 |
添加本地地形图层 | ||||
TerrainLayer* Add(FString strUrl, FString strLayerName, TerrainLayerType eLayerType) | [in]strUrl:公共地形服务链接 [in]strLayerName:图层名称 [in]eLayerType:公共服务类型 |
添加公共服务地形图层 | ||||
TerrainLayer* GetAt(int32 index) | [in] index:下标 | 获取指定下标的地形 | ||||
TerrainLayer* GetAt(FName strLayerName) | [in] strLayerName:地形名称 | 获取指定名称的地形 | ||||
bool Remove(int Index = 0) | [in] Index:0或1 | 移除地形图层 | ||||
void SetHypsometricSetting(HypsometricSetting* pHypsometricSetting) | 设置分层设色类 | |||||
HypsometricSetting* GetHypsometricSetting() | 获取分层设色类 | |||||
void ClearHypsometricSetting() | 清除分层设色 | |||||
void SetSlopeSetting(SlopeSetting* pSlopeSetting) | 设置坡度坡向类 | |||||
SlopeSetting* GetSlopeSetting() | 获取坡度坡向类 | |||||
void ClearSlopeSetting() | 清除坡度坡向 | |||||
void Clear() | 清除地形图层 | |||||
TrackingLayer | 跟踪图层类 | int32 AddGeometry(Geometry* pGeometry, FString strTag) | 添加Geometry几何对象 | |||
bool Remove(int32 nIndex) | nIndex:索引值 | 移除图层中指定序号的对象 | ||||
Geometry* Get(int32 nIndex) | nIndex:索引值 | 返回图层中指定序号的几何体 | ||||
FString GetTag(int32 nIndex) | nIndex:索引值 | 获取指定序号对象的标签名 | ||||
void Clear() | 设置图层中指定序号的对象的标签名 | |||||
int32 IndexOf(FString strTag) | strTag:标签名称 | 返回指定标签名对象的序号 | ||||
int32 GetCount() | 图层中对象的个数 | |||||
MeasureHandler | 量算类 | enum MeasureAction { MeasureDistance = 0, MeasureHorizontalDistance = 1, MeasureArea = 2, MeasureHeight = 3, MeasureTerrainArea = 4, MeasureTerrainDistance = 5 } |
MeasureDistance 空间距离 MeasureHorizontalDistance 水平距离 MeasureArea 面积 MeasureHeight 高度 MeasureTerrainArea 依地面积 MeasureTerrainDistance 依地距离 |
量算类型 | ||
double GetArea() | 获取面积 | |||||
double GetHeight() | 获取高度 | |||||
TArray<double> GetCurLength() | 获取长度 | |||||
SuperMapSDK:: UnrealEngine:: SpatialAnalyst3D | 分析类 | ProjectionImage | 视频投放类 | void SetViewerPosition(Vector3d pos) | pos 视点位置 | 设置视点位置 |
Vector3d GetViewerPosition() | 获取视点位置 | |||||
void SetHeading(double dDir) | dDir 方向角度 | 设置视线方向 | ||||
double GetHeading() | 获取视线方向 | |||||
void SetPitch(double dPitch) | dPitch 倾斜角度 | 设置倾斜角度 | ||||
double GetPitch() | 获取倾斜角度 | |||||
void SetAffineMatrix(Vector3d v3X, Vector3d v3Y) | 设置同名配准点 | |||||
void GetAffineMatrix(Vector3d &v3X, Vector3d &v3Y) | 获取同名配准点 | |||||
void SetIsHomnymyPoints(bool bUsed) | bUsed:是否使用 | 设置是否使用同名配准点 | ||||
bool IsHomnymyPoints() | 获取是否使用同名配准点 | |||||
bool ProjectionToXML(FString strFileName) | strFileName 文件名称 | 保存投放信息 | ||||
bool ProjectionFromXML(FString strFileName) | strFileName 文件名称 | 读取投放信息 | ||||
void SetImageData(UTexture2D* pImage) | 设置投影图片 | |||||
void SetHintLineLength(Gamedouble dLength) | 设置深度 | |||||
Sightline | 通视分析类 | void SetViewerPosition(FVector vPos) | vPos 目标观察点位置 | 设置目标观察点 | ||
FVector GetViewerPosition() | 获取目标观察点 | |||||
void SetVisibleColor(FLinearColor color) | color 颜色值 | 设置可视线的颜色 | ||||
FLinearColor GetVisibleColor() | 获取可视线的颜色 | |||||
void SetHiddenColor(FLinearColor color) | color 颜色值 | 设置可视线的颜色 | ||||
FLinearColor GetHiddenColor() | 获取可视线的颜色 | |||||
void AddTargetPoint(FVector vPoint) | vPoint 位置 | 添加目标点 | ||||
void SetTargetPoint(int32 nIndex, FVector vPoint) | 设置目标点 | |||||
FVector GetTargetPoint(int32 nIndex) | 获取目标点 | |||||
void RemoveTargetPoint(int32 nIndex) | nIndex 目标点索引 | 移除指定目标点 | ||||
void RemoveAllTargetPoints() | 移除所有目标点 | |||||
Gameint GetTargetPointCount() | 获取目标点的个数 | |||||
SightlineResult GetSightlineResult(Gameint nIndex) | 获取通视结果 | |||||
Skyline | 天际线类 | void SetViewerDirection(const double direction) | direction 视线水平方向的角度值 | 设置视线的水平方向,北向为0 | ||
double GetViewerDirection() | 获取视线的水平方向,北向为0 | |||||
void SetViewerPitch(const double pitch) | pitch 视线俯仰的角度值 | 设置视线的俯仰角度,水平方向为0 | ||||
double GetViewerPitch() | 获取视线的俯仰角度,水平方向为0 | |||||
void SetRadius(double dRadius) | dRadius 半径值 | 设置天际线半径 | ||||
double GetRadius() | 获取天际线半径 | |||||
void SetSkylineColor(const FColor& color) | color 颜色值 | 设置天际线颜色 | ||||
FColor GetSkylineColor() const | 获取天际线颜色 | |||||
void SetViewerPosition(Vector3d vPos) | vPos 观察点位置 | 设置观察点位置 | ||||
Vector3d GetViewerPosition() | 获取观察点位置 | |||||
GeoLine* GetSkyline2D() | 获取二维的天际线 | |||||
GeoLine3D* GetSkyline(double dRadius) | dRadius 半径值 | 获取天际线 | ||||
Cluster | 点聚合类 | void SetPixelRange(Gameint pixelRange) | 聚类像素范围 | |||
void SetMinimumClusterSize(Gameint minimumClusterSize) | 最小可聚类数 | |||||
void IsEnable(Gamebool bEnable) | 是否进行聚类 | |||||
void SetGeoPositions(const TArray<Vector3d>& vGeoPos) | 设置聚类的地理坐标点集(球面为经纬度) | |||||
void SetClusterEventFunc(void* pActor, ClusterEvent infoEvent) | 分配事件 | |||||
Façade | 立面图 | void SetOutputPath(FString strOutputPath) | 设置输出文件路径 | |||
FString GetOutputPath() | 获取输出文件路径 | |||||
void SetViewLine(GeoLine3D* pGeoLine3D) | 设置观察线 | |||||
void SetResolution(Gamedouble dResolution) | 设置出图参数 | |||||
void SetVisibleHeight(Gamedouble dMin, Gamedouble dMax) | 设置出图参数 | |||||
void SetVisibleFarDistance(Gamedouble dFar) | 设置出图参数 | |||||
Gamedouble GetResolution() | 获取出图参数 | |||||
void GetVisibleHeight(Gamedouble &dMin, Gamedouble &dMax) | 获取出图参数 | |||||
Gamedouble GetVisibleFarDistance() | 获取出图参数 | |||||
ViewDome | 开敞度 | enum DisplayMode { LINE, FACE, FACELINE, } |
LINE 线 FACE 面 FACELINE线面模式 |
显示模式枚举 | ||
enum DomeType { VisibleDome, HiddenDome, } |
VisibleDome可视部分 HiddenDome 不可视部分 |
闭合体类型 | ||||
FVector4 GetViewDomeColor() | 获取颜色属性 | |||||
void SetViewDomeColor(const FVector4& color) | 设置颜色属性 | |||||
FVector4 GetViewDomeLineColor() | 获取线框颜色属性 | |||||
void SetViewDomeLineColor(const FVector4& color) | 设置线框颜色属性 | |||||
void SetViewerPosition(FVector pos) | 设置视点位置 | |||||
FVector GetViewerPosition() const | 获取视点位置 | |||||
Gamedouble GetViewDomeDistance() | 获取可视距离属性 | |||||
void SetViewDomeDistance(Gamedouble viewDistance) | 设置可视距离属性 | |||||
ViewDome::DomeType GetDomeType() | 获取开敞度的结果类型(显示可视、不可视部分) | |||||
void SetDomeType(ViewDome::DomeType modeType) | 设置开敞度的结果类型 | |||||
ViewDome::DisplayMode GetViewDomeDisplayStyle() | 获取开敞度的显示模式(线,填充,合) | |||||
void SetViewDomeDisplayStyle(ViewDome::DisplayMode displayStyle) | 设置开敞度的显示模式 | |||||
Gamedouble GetViewDomeRatio() | 获取开敞度分析比例 | |||||
ViewShed | 可视域分析类 | void SetVisibleAreaColor(const FVector4& color) | 设置可见区域颜色 | |||
FVector4 GetVisibleAreaColor() | 获取可见区域颜色 | |||||
void SetHiddenAreaColor(const FVector4& color) | 设置隐藏区域颜色 | |||||
FVector4 GetHiddenAreaColor() | 获取隐藏区域颜色 | |||||
void SetViewerPosition(FVector pos) | pos 观察点位置 | 设置视点位置 | ||||
FVector GetViewerPosition() const | 获取视点位置 | |||||
void SetDirection(double dir) | dir 视线方向 | 设置视线方向 | ||||
double GetDirection() | 获取视线方向 | |||||
void SetPitch(double pitch) | pitch 倾斜的角度 | 设置倾斜角度 | ||||
double GetPitch() | 获取倾斜角度 | |||||
void SetHorizontalFov(double fov) | fov 水平视角角度 | 设置水平视角 | ||||
double GetHorizontalFov() | 获取水平视角 | |||||
void SetVerticalFov(double fov) | fov 垂直视角角度 | 设置垂直视角 | ||||
double GetVerticalFov() | 获取垂直视角 | |||||
void SetDistance(double dist) | dist 距离值 | 设置可视距离 | ||||
double GetDistance() | 获取可视距离 | |||||
void SetDistDirByPoint(const FVector& point) | 通过辅助点设置分析相机方向和距离 | |||||
GeoModel3D* GetViewShedVisibleBody() | 获取可见区域体 | |||||
GeoModel3D* GetViewShedHiddenBody() | 获取不可见区域体 | |||||
TArray<Vector3d> GetBarrierPoints() | 获取障碍点 | |||||
void SetName(FString name) | 设置名字 | |||||
FString GetName() | 获取名字 | |||||
MultiViewShed3D | 多可视域类 | void AddViewShed(ViewShed* pViewShed) | 添加单个可视域分析 | |||
void RemoveViewShed(ViewShed* pViewShed) | 移除单个可视域分析 | |||||
FacilityAnalyst |
爆管分析、最佳路径分析 |
enum SUPERMAP_API FacilityAnalystMode { Bursttube_Analyst, Connectivity_Analyst } |
Bursttube_Analyst:爆管分析 Connectivity_Analyst:最佳路径分析 |
分析枚举 | ||
enum FacilityType { Facility_Edge, Facility_Node, } |
Facility_Edge:弧段 Facility_Node:结点 |
如管道设备的类型,包括弧段、结点 | ||||
void FindCommonAncestorsFromEdges(Gameint id) | id:弧段ID | 根据给定的弧段 ID,查找这些弧段的共同上游弧段,返回弧段 ID 数组,实现爆管分析查询 | ||||
void FindCommonAncestorsFromNodes(Gameint id) | id:结点ID | 根据给定的结点 ID,查找这些结点的共同上游弧段,返回弧段 ID 数组,实现爆管分析查询 | ||||
void InquireConnected(Gameint id1, Gameint id2) | id1、id2:要查询的两个结点的ID | 通过结点ID数组进行最佳路径分析 | ||||
void InquireConnected(Vector3d v1, Vector3d v2) | v1、v2:要查询的两个结点的坐标 | 通过结点坐标进行最佳路径分析 | ||||
void SetUrlPath(FString strUrlPath, FString weightName, Gamebool isUncertainDirectionValid) | strUrlPath 网址 weightName 权值字段 isUncertainDirectionValid (关联管道:确定流向有效 |
设置iserver地址 | ||||
TArray GetLinkId() | 获取关联管道id数组 | |||||
TArray GetConnectivityNodeIDs() | 获取连通节点id数组 | |||||
TArray GetConnectivityNodeIDs() | 获取连通弧段id数组 | |||||
Gamebool IsConnected() | 是否连通 | |||||
Geometrist3D | 三维缓冲区分析 | enum BufferEndType { Buffer_Round = 1, Buffer_Flat = 2, } |
Buffer_Round:圆头缓冲 Buffer_Flat:平头缓冲 |
缓冲区端点类型枚举 | ||
static GeoModel3D* CreateBuffer(Geometry3D* geometry,BufferAnalyst3DParameter bufferAnalyst3DParameter, PrjCoordSys* prjCoordSys) | geometry bufferAnalyst3DParameter prjCoordSys |
创建缓冲区 | ||||
LongitudinalSectionAnalyst | 横断面分析 | TArray<IntersectionInfo> QueryIntersectionInfo(Vector3d drawPoint1, Vector3d drawPoint2) | drawPoint1:线段起点位置 drawPoint2:线段终点位置 |
查询与线段相交线的信息 | ||
Profile | 剖面分析 | void SetExtendHeight(double height) | height 高度值 | 设置剖面的高度(单位是米) | ||
double GetExtendHeight() | 获取剖面的高度(单位是米) | |||||
void SetStartPoint3D(Vector3d vPoint) | 设置剖面线分析的起始点 | |||||
Vector3d GetStartPoint3D() | 获取剖面线分析的起始点 | |||||
void SetEndPoint3D(Vector3d vPoint) | 设置剖面线分析的结束点 | |||||
Vector3d GetEndPoint3D() | 获取剖面线分析的结束点 | |||||
Vector3d GetLeftTopPosition() | 获取剖面图纹理左上点对应的三维位置 | |||||
Vector3d GetRightBottomPosition() | 获取剖面图纹理右下点对应的三维位置 | |||||
UTexture2D* GetImageData() | 获取剖面图 | |||||
CalculationTerrain | 填挖方分析 | Gamebool CutFill(GeoRegion* pGeoRegion, Gamedouble dperPixel, Gamedouble baseAltitude) | pGeoRegion 填挖方面 dperPixel 分别率 baseAltitude 附加高度 |
获取填挖方体积面积 | ||
Gamedouble GetFillVolume() | 获取填方体积 | |||||
Gamedouble GetCutVolume() | 获取挖方体积 | |||||
Gamedouble GetFillArea() | 获取填方面积 | |||||
Gamedouble GetCutArea() | 获取挖方面积 | |||||
Gamedouble GetNoChangeArea() | 获取未填挖 | |||||
SuperMapSDK:: UnrealEngine:: Data | 提供对空间数据及其属性的全面的操作和处理,包括创建、管理、访问和查询等等功能 | Dataset | 数据集类 | enum SUPERMAP_API DatasetType { DT_UnKnown = -1 DT_POINT, DT_LINE, DT_REGION, DT_Model, } |
DT_UnKnown 其它类型 DT_POINT 点 DT_LINE 线 DT_REGION 面 DT_Model 模型 |
数据集类型 |
FString GetName() | return 数据集名字 | 获取数据集名字 | ||||
TArray<Geometry*> Query() | 几何体 | 查询数据集几何体 | ||||
TArray<Geometry*> QueryBySql(FString strSQL) | strSQL [in] SQL命令 return 几何体 |
查询数据集通过SQL | ||||
TArray<FString> QueryField(FString strFieldName) | strFieldName [in] 属性字段 return 属性值 |
查询属性字段属性值 | ||||
TArray<FString> QueryAttributeById(int32 nID) | nID [in] 对象ID return 属性值 |
查询属性通过ID | ||||
PrjCoordSys* GetPrjcoordsys() | 获取数据集投影坐标系 | |||||
void GetFieldInfos(TArray<FieldInfo>& arrFieldInfo) | arrFieldInfo [out] 字段信息 | 获取字段信息 | ||||
FSlateRect GetBounds() | return 数据集Bound | 获取数据集Bound | ||||
DatasetType GetType() | return 数据集类型 | 返回数据集类型 | ||||
DataSource* GetDataSource() | return 数据源 | 获取所属数据源 | ||||
DataSource | 数据源类 | bool Open(FString strDataSourceName) | strDataSourceName [in] 数据源名称 | 打开数据源 | ||
bool Close() | 关闭数据源 | |||||
Dataset* GetDataset(FString strDatasetName) | strDatasetName [in] 数据集名称 return 数据集 |
获取数据集通过名字 | ||||
Dataset* GetDataset(int nIndex) | nIndex [in] 数据集索引 return 数据集 |
获取数据集通过索引下标 | ||||
FString GetName() | return 数据源名称 | 获取数据源名称 | ||||
std::vector<Dataset*> GetDatasetList() | return 数据集集合 | 回去数据集集合 | ||||
int32 GetDatasetCount() | return 数据集个数 | 获取数据集的个数 | ||||
void* GetHandler() | 返回UGC句柄 | |||||
DataSources | 数据源集合类 | DataSource* GetAt(int nIndex) | 打开数据源 | |||
DataSource* GetAt(FString strAlias) | strAlias:数据源名称 | 打开数据源 | ||||
FieldInfo | 字段信息类。存储字段的名称、类型、默认值和长度等相关信息 | enum SUPERMAP_API FieldType { FT_UnKnown = 0, FT_Boolean = 1, FT_Byte = 2, FT_INT16 = 3, FT_INT32 = 4, FT_INT64 = 16, FT_Float = 6, FT_Double = 7, FT_Date = 8, FT_Binary = 9, FT_Text = 10, FT_LongBinary = 11, FT_Char = 18, FT_Time = 22, FT_TimeStamp = 23, FT_NText = 127, FT_Geometry = 128, FT_JsonB = 129 } |
FT_UnKnown 无效的字段类型。 FT_Boolean 布尔值,单字节,TRUE,FALSE。 FT_Byte 无符号单字李,0-255。 FT_INT16 短整型,2字节。 FT_INT32 长整型,4字节。 FT_INT64 长整型,8字节。 FT_Float 单精度浮点型,4字节。 FT_Double 双精度浮点型,8字节。 FT_Date 日期型,年、月、日,不带时间。 FT_Binary 固定长度二进制型,需指定长度。 FT_Text 不定长字符串型。 FT_LongBinary 不定长二进制类型。 FT_Char 定长字符串型,需指定长度。 FT_Time 时间型,小时、分、秒,不带日期。 FT_TimeStamp 时间戳型,年、月、日、小时、分、秒。 FT_NText 宽字节不定长字符串类型。 FT_Geometry 几何数据类型。 FT_JsonB 用作Pg中的Jsonb字段类型 |
字段类型 | ||
GeoJsonParsing | 读取geojson文件 | void JsonToGeometry(FString strPath, TArray<Geometry*>& pGeometrys) | strPath:geojson文件路径 pGeometrys:输出的geometry |
读取路径下的geojson | ||
GeoBox | void SetWidth(double dWidth) | 设置宽度 | ||||
double GetWidth() | 获取宽度 | |||||
void SetLength(double dLength) | 设置长度 | |||||
double GetLength() | 获取长度 | |||||
void SetHeight(double dHeight) | 设置高度 | |||||
double GetHeight() | 获取高度 | |||||
void SetColor(FVector4 color) | 设置裁剪盒子颜色 | |||||
FVector4 GetColor() | 获取裁剪盒子颜色 | |||||
Vector3d GetCenter() | 获取插入点 | |||||
GeoLine3D | 三维线类 | void GetPoints(TArray<Vector3d>& arrPoints) | arrPoints:所有点数组 | 得到所有的点 | ||
void GetPoints(TArray<FVector>& arrPoints) | arrPoints:所有点数组 | 得到所有的点 | ||||
int32 GetPointCount() | 获取所有子对象的点的个数总和 | |||||
int32 GetSubCount() | 获取所有子对象的个数 | |||||
void GetPolyCounts(TArray<int32>& arrPolyCounts) | arrPolyCounts:部分点数组 | 得到某个子对象的点的个数 | ||||
void SetPoints(TArray<FVector> arrPoints) | arrPoints:所有点数组 | |||||
Geometry3D | 三维几何体基类 | void SetPosition(Vector3d vPos) | 设置中心点 | |||
Vector3d GetPosition() | 获取中心点 | |||||
void SetRotation(double dRotateX, double dRotateY, double dRotateZ) | 设置旋转 | |||||
Vector3d GetRotation() | 获取旋转 | |||||
void SetScale(double dScaleX, double dScaleY, double dScaleZ) | 设置缩放 | |||||
Vector3d GetScale() | 获取缩放 | |||||
GeometryType | 几何体类型 | enum SUPERMAP_API GeometryType { GT_None = 0, GT_GeoPoint = 1, GT_GeoLine = 3, GT_GeoRegion = 5, GT_GeoPoint3D = 101, GT_GeoLine3D = 103, GT_GeoRegion3D = 105, GT_GeoModel3D = 1218 } |
GT_None 空类型 GT_GeoPoint 点类型 GT_GeoLine 线类型 GT_GeoRegion 面类型 GT_GeoPoint3D 三维点 GT_GeoLine3D 三维线 GT_GeoRegion3D 三维面 GT_GeoModel3D 模型 |
数据集类型 | ||
GeoPoint3D | 三维点类 | GeometryType GetType() | 返回类型 | |||
void SetPoint3D(FVector vPoint3D) | vPoint3D:坐标位置 | 设置点 | ||||
FVector GetPoint3D() | 获取点 | |||||
GeoRegion3D | 三维面类 | void GetPoints(TArray<Vector3d>& arrPoints) | arrPoints:所有点数组 | 得到所有的点 | ||
void GetPoints(TArray<FVector>& arrPoints) | arrPoints:所有点数组 | 得到所有的点 | ||||
void GetPoints(double* &pData , int32 &nCount) | 得到所有的点 | |||||
void GetSubdivisionPoints(TArray<FVector>& arrLocations, float fDistance) | 得到细分插值点 | |||||
int32 GetPointCount() | 获取所有子对象的点的个数总和 | |||||
int32 GetSubCount() | 获取所有子对象的个数 | |||||
void GetPolyCounts(TArray<int32>& arrPolyCounts) | arrPolyCounts:部分点数组 | 得到某个子对象的点的个数 | ||||
void GetTriangleIndices(TArray<int32> & indicesArray) | 三角化 | |||||
void SetPoints(TArray<FVector> arrPoints) | 添加所有点 | |||||
bool IsEmpty() | 是否为空 | |||||
void Clear() | 清除所有点 | |||||
int AddPart(TArray<Vector3d> points) | 添加点 | |||||
bool InsertPart(int index, TArray<Vector3d> points) | 插入点 | |||||
bool RemovePart(int index) | index:指定点的索引值 | 移除指定点 |