API接口

該産品提供API接口如下:

命名空間 命名空間說(shuō)明 類名 類說(shuō)明 接口 參數 作用
SuperMapSDK :: UnrealEngine :: ControlUE 場景控制模塊,初始化場景、更新渲染、主相機調用等 RealspaceView 接口主類 void SetMainCameraActor (ACameraActor* pMainCamera) pMainCamera:相機對象 設置CameraActor
ACameraActor* GetMainCameraActor()   獲取CameraActor
bool IsOwner(ACameraActor* pMainCamera)  pMainCamera:相機對象 判斷CameraActor是(shì)否爲(wéi / wèi)當前的(de)持有者
void DestroySingleton()   清除RealspaceView
void Render()    每一(yī / yì /yí)幀調用渲染
void Destroy()    結束渲染
void Initialize()    初始化
bool IsInitialized()    是(shì)否初始化過
SuperMapSDK::UnrealEngine::Core:: SceneControl* GetSceneControl()    獲取場景控制
void SetPosition(FVector & vPosition)  [in] vPosition:三維點向量,設置爲(wéi / wèi)世界原點的(de)插入點 設置世界原點插入點
CameraControl* GetCameraControl()    獲取CameraControl
void SetGeoreferenceOrigin(double dLongitude, double dLatitude, double dAltitude = 0.0)  dLongitude:經度
dLatitude:緯度
dAltitude:高度
設置地(dì / de)理原點
Vector3d GetGeoreferenceOrigin()   獲取地(dì / de)理原點
EWorldType::Type GetWorldType()   獲取編輯模式
UWorld* GetWorld()   獲取當前世界場景管理器
AActor* GetSelectedActor()   獲取場景被選中的(de)Actor
void SetEnableCollision(Gamebool bEnable)   是(shì)否開啓碰撞檢測
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()    屬性字段個(gè)數
int32 FieldValueCount()    屬性值個(gè)數
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的(de)視圖矩陣
void SyncMainCam(CameraControl* pCameraControl)   相機主相機同步
void SetRotationOfCameraFixed(Gamebool bSet)   設置固定視角狀态(在(zài)飛行管理中,固定視角狀态爲(wéi / wèi)false可解放俯仰、傾斜等視角操作)
Gamebool IsRotationOfCameraFixed()   獲取固定視角狀态
Selection3D 三維選擇集類,該類用于(yú)處理三維場景中上(shàng)被選中的(de)對象。 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 不(bù)裁剪
ClipOuter 裁剪掉盒子(zǐ)外部的(de)部分
ClipInner 裁剪掉盒子(zǐ)内部的(de)部分
Box裁剪枚舉
FlyManager 飛行路線管理類 enum FlyTurningMode
{
    Smoothly = 0,
    Directly = 1
}
Smoothly = 0,平滑拐彎
Directly = 1 直角拐彎
飛行拐彎方式
enum FlyStatus
{
    Stop = 0,
    Pause = 1,
    Play = 2
}
Stop = 0,當前飛行狀态爲(wéi / wèi)已經停止
Pause = 1,當前飛行狀态爲(wéi / wèi)暫停
Play = 2 當前飛行狀态爲(wéi / wèi)正在(zài)飛行中,可以(yǐ)在(zài)暫停後設置飛行狀态類型爲(wéi / wèi)Play繼續飛行。
飛行狀态
void SetDuration(Gamedouble dDuration) dDuration:總時(shí)間 設置本次飛行(即當前整個(gè)路線)需要(yào / yāo)的(de)總時(shí)間,單位爲(wéi / wèi)秒。
Gamedouble GetDuration()    獲取本次飛行(即當前整個(gè)路線)需要(yào / yāo)的(de)總時(shí)間,單位爲(wéi / wèi)秒。
void SetPlayRate(Gamedouble dPlayRate)  dPlayRate:速率 設置播放速率。該屬性值的(de)範圍爲(wéi / wèi)0-100,當大(dà)于(yú)1.0時(shí),則沿飛行路徑快速飛行,小于(yú)1.0時(shí),表示沿飛行路徑慢速飛行
Gamedouble GetPlayRate()    獲取播放速率。該屬性值的(de)範圍爲(wéi / wèi)0-100,當大(dà)于(yú)1.0時(shí),則沿飛行路徑快速飛行,小于(yú)1.0時(shí),表示沿飛行路徑慢速飛行
void SetTurningMode(FlyTurningMode eFlyTurningMode)  eFlyTurningMode:方式設置 設置飛行拐彎方式。支持直角拐彎和(hé / huò)平滑拐彎
FlyTurningMode GetTurningMode()    獲取飛行拐彎方式。支持直角拐彎和(hé / huò)平滑拐彎
Routes* GetRoutes()    獲取路線集合
FlyStatus GetStatus()    獲取當前的(de)飛行狀态(停止,暫停,飛行中)
void Play()   按照返回的(de)路線集合(Routes)指定的(de)路線開始飛行,或繼續進行中斷的(de)飛行
void Stop()   停止當前飛行
void Pause()   暫停當前飛行
void Update()   更新飛行管理的(de)内部計算。
Gameint GetCurrentStopIndex()   獲取當前站點索引
void SetCurrentStopIndex(Gameint nIndex) nIndex:當前站點索引 設置當前站點
Gamebool GetArriedStatus()    判斷飛行是(shì)否抵達站點
void SetOriginalPosition(Vector3d vOriginalPos) vOriginalPos:插入點的(de)坐标值 設置插入點
Gamedouble GetCurrentProgress()   獲取飛行進度
GlobalImage 地(dì / de)形類 Gameint AddExcavationRegion(Geometry* pGeometry, FString strTag) pGeometry:裁剪區域
strTag:裁剪區域标簽
設置地(dì / de)形裁剪區域
Gamevoid ClearExcavationRegion()   清空地(dì / de)形裁剪區域
FString GetExcavationRegionTag(Gameint nIndex) nIndex:裁剪區域索引值 獲取地(dì / de)形裁剪區域标簽
Gameint IndexOfExcavationRegion(FString strTag) strTag:裁剪區域标簽 獲取地(dì / de)形裁剪區域下标
Gamebool RemoveExcavationRegion(Gameint nIndex) nIndex:裁剪區域索引值 删除地(dì / de)形裁剪區域
Gamebool SetExcavationRegionTag(Gameint nIndex, FString strTag) nIndex:裁剪區域索引值
strTag:裁剪區域标簽
設置地(dì / de)形裁剪區域标簽
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 模式 設置是(shì)否顯示線&填充色
DisplayMode GetDisplayMode()   獲得線的(de)顯示模式
void SetAnalysisMode(AnalysisMode mode) mode 模式 設置是(shì)分析模式
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 最大(dà)可見值 設置最大(dà)可見值
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 三維圖層類。該類提供了(le/liǎo)三維圖層顯示控制等便于(yú)三維地(dì / de)圖管理的(de)一(yī / yì /yí)系列屬性。 FName Name()    獲取圖層名
FName DataName()    獲取圖層數據名
FName NodeName()    獲取圖層節點名
Gamelong NodeNameHashCode()    獲取圖層節點名的(de)hashcode值
Layer3DType Type()    圖層類型
OSGBType DataType()   OSGB 數據類型
bool GetIsVisible()    獲取是(shì)否可見性
void SetIsVisible(bool bVisible)  [in] bVisible: 若爲(wéi / wèi)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:裁剪盒子(zǐ)
ePlaneClipMode:裁剪模式
設置一(yī / yì /yí)個(gè)盒子(zǐ),對圖層可渲染部分進行裁剪
GeoBox* GetClipBox()    獲取裁剪盒子(zǐ)
BoxClipPart GetBoxClipPart()    獲取Box裁剪模式
void SetClipLineColor(Vector4d vClipLineColor)  vClipLineColor:顔色值 設置裁剪面邊緣線的(de)顔色
Vector4d GetClipLineColor()    獲取裁剪面邊緣線的(de)顔色
void ClearCustomClipPlane()    清空自定義裁剪面
void SetSwipeEnabled(Gamebool bSwipe)  bSwipe:是(shì)或者否 設置是(shì)否卷簾
Gamebool GetSwipeEnabled()   獲取是(shì)否卷簾
void SetSwipeRegion(Rectangle2D rcBox)  rcBox:卷簾範圍 設置卷簾長寬
Rectangle2D GetSwipeRegion()    獲取卷簾長寬
JsonFile* LayerToJson()   保存Json
void SetViewportEnabled(Gamebool bViewport) bViewport:是(shì)或者否 設置是(shì)否分屏
void UpdateData()    更新圖層
void SetVisibleInViewport(Gameint nIndex, Gamebool visible)  nIndex:屏幕索引
visible:是(shì)否可見
設置分屏可視性
Gamebool GetVisibleInViewport(Gameint nIndex) nIndex:屏幕索引 獲取分屏可視性
void AddSelectedID(Gameint nID) nID:對象ID  添加選中對象
void ReleaseSelection()   清空選中對象
void SetSelectStyle(Style3D* pStyle3D)   設置圖層選中風格
Style3D* GetSelectStyle()   獲取圖層選中風格
Gamebool IsMarkerLayer()   是(shì)否啓動掩模紋理
void SetMarkerLayer(bool bIsMarkerLayer)   設置影像是(shì)否是(shì)掩模紋理
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:集合體索引 根據下标獲取集合體的(de)數據
void SetDataset(Data::Dataset* pDataset)     
void SetGeometrys(const TArray<Data::Geometry*>& arrGeometrys)   添加數據集的(de) Geometry
TArray<Data::Geometry*> GetGeometrys() const   獲取數據集的(de)geometry
void SetGeoAttributes(const TArray<TMap<FString, FString>>& mapGeoAttributes)   添加數據集的(de)屬性
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 三維瓦片瓦片圖層類。 具有動态加載海量多源異構三維空間數據的(de)優勢。支持傾斜攝影模型、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()    獲取當前圖層的(de)所有屬性字段信息
std::vector<FString> GetAllFieldValues(int32 nID)  [in] nID:對象ID 獲取當前屬性字段名稱
Gamedouble GetMaxHeight()   獲取圖層最大(dà)高度
Gamedouble GetMinHeight()   獲取圖層低高程
void SetLODRangeScale(int nLayerID, float values)  nLayerID圖層ID
values lod值
設置當前圖層的(de)LOD層級
float GetLODRangeScale(int nLayerID)  [in] nLayerID:圖層ID 獲取當前圖層的(de)LOD層級
void AddFlattenRegion(GeoRegion3D* pGeoRegion3D, FString strTag)    添加壓平的(de)矢量(由圖層釋放矢量面)
void ClearFlattenRegion()    清除壓平矢量面
S3MEffectShaderParamters GetFlattenParam()    獲取壓平需要(yào / yāo)的(de)參數
void SetHypsometricSetting(HypsometricSetting* pHypsometricSetting)    設置分層設色類
HypsometricSetting* GetHypsometricSetting()    獲取分層設色類
void ClearHypsometricSetting()    清除分層設色
void SetConstantPolygonOffset(double dOffset)    設置多邊形偏移量
double GetConstantPolygonOffset()    獲取多邊形偏移量
void SetObjectsVisible(TArray<Gameint> ids, Gamebool bVisible) ids:對象的(de)ID數據
bVisible:是(shì)否可見
設置ID列表中對象的(de)可見性
void SetObjectsTranslate(TArray<Gameint> ids, Vector3d translate) ids:對象的(de)ID數組
translate:XYZ偏移的(de)值
設置ID列表中的(de)對象偏移
double GetMaxDataValue()    獲取圖層高度最大(dà)值
double GetMinDataValue()    獲取圖層高度最小值
AttributeFields GetAttributeFields()   獲取圖層屬性信息
void SetModifyRegions(TArray<GeoRegion3D*> pGeoRegion3Ds, ModifyRegionMode type)   模型傾斜開挖
void ClearModifyRegions()   清除開挖結果
void SetDecodeMeshopt(Gamebool value)   設置Meshopt數據是(shì)否CPU解量化
Gamebool IsDecodeMeshopt()   獲取Meshopt數據是(shì)否CPU解量化
void ExportUEMaterialToJson(FString LayerInfoPath, FString ScpFilePath)   導出(chū)S3M圖層關聯材質,并将導出(chū)路徑作爲(wéi / wèi)新字段添加到(dào)scp文件中
void AddRelatedPathToScpFile(FString LayerInfoPath, FString ScpFilePath) LayerInfoPath:關聯材質路徑
ScpFilePath:scp文件路徑
添加關聯材質路徑到(dào)scp文件
ObjectsColorDictionary* GetObjectsColorDictionary()   獲取設置對象顔色的(de)指針
void SetLoadingPriority(LoadingPriorityEnum type) type:模式類型 設置加載數據模式
LoadingPriorityEnum GetLoadingPriority()   獲取加載數據模式
void SetIsClampVector(Gamebool bValue) bValue:是(shì)或否 是(shì)否支持貼對象
Layer3Ds 三維圖層集合類。該類對一(yī / yì /yí)個(gè)三維場景中的(de)所有三維圖層進行管理。 void Clear()    清空圖層
int32 Count()    獲取圖層個(gè)數
Layer3D* GetAt(int32 index)  [in] index:指定圖層的(de)下标 獲取指定下标的(de)圖層
Layer3D* GetAt(FName strLayerName)  [in] strLayerName:指定圖層的(de)名稱 獲取指定名稱的(de)圖層
bool GetIsVisible()    獲取圖層是(shì)否可見
void SetIsVisible(bool bVisible)  [in] bVisible: 若爲(wéi / wèi)true 則可見 設置圖層是(shì)否可見
Layer3D* Add(FString strDataName, Layer3DType eLayerType, bool bAddToHead,FString strLayerName)  [in] strDataName:本地(dì / de)圖層名稱
[in] eLayerType:圖層類型
[in] bAddToHead: 把圖層置頂
添加本地(dì / de)圖層
Layer3D* Add(FString strUrl, Layer3DType eLayerType, FString strLayerName, bool bAddToHead)  [in] strUrl:iServer鏈接
[in]eLayerType:圖層類型
[in] strLayerName:圖層名稱
[in] bAddToHead: 把圖層置頂
添加在(zài)線圖層
Layer3D* Add(FString strStdLayerName, Layer3DType layerType, FString strStdUserName, FString strStdPassWord)  [in] strStdLayerName:圖層名稱
[in] layerType:圖層類型
[in] strStdUserName:賬号
[in] strStdPassWord:密碼
添加OpenStreetMap、BingMaps等地(dì / de)圖
Layer3D* Add(FString strUrl, FString strLayerName, Layer3DType eLayerType, bool bAddToHead)  [in] strUrl:Url地(dì / de)址
[in] strLayerName:圖層名稱
[in] eLayerType:服務類型
[in] bAddToHead: 把圖層置頂
添加其它Rest服務
Layer3D* Add(FString strURL, FString strLayerName, FString strDataName, float fDPI, ImageFormatType eImageType, bool addToHead) [in]strURL:鏈接地(dì / de)址
[in]strLayerName:圖層名稱
[in]strDataName:數據名稱
[in]fDPI:DPI值
[in]eImageType:圖片類型
[in]addToHead:圖層置頂
添加天地(dì / de)圖影像
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 :在(zài)線BingMaps數據
OpenStreetMaps :在(zài)線OpenStreetMap數據
DatasetVectorPoint :點數據集
ArcgisMaps  :arcgis地(dì / de)圖
圖層枚舉類型
enum ImageFormatType
{
    none = 0,
    BMP = 121,
    JPG = 122,
    JPG_PNG = 147,
} 
none:不(bù)指定圖片類型
BMP:BMP格式圖片
JPG:JPG格式圖片
JPG_PNG:JPG_PNG格式圖片
天地(dì / de)圖圖片類型枚舉
enum TerrainLayerType
{
    STK = 2,
    TIANDITU = 3,
} 
STK:STK地(dì / de)形
TIANDITU:天地(dì / de)圖地(dì / de)形
地(dì / de)形類型枚舉
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 貼地(dì / de)線矢量
ClampObjectLine 貼對象線矢量
ClampGroundRegion 貼地(dì / de)面矢量
ClampObjectRegion 貼對象面矢量
ExtendClampRegoin 帶拉伸高度的(de)貼對象的(de)面矢量
Terrain = 9  地(dì / de)形
Text = 10 文字
PointCloud 點雲
PolylineEffect 線型符号
RegionEffect  面填充
RealtimeRaster 貼地(dì / de)面矢量瓦片
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)   設置幾何查詢的(de)位置關系
Query3D::PositionMode GetPositionMode();   獲取幾何查詢的(de)位置關系
void AddLayerID(Gameint nLayerID)   設置關聯圖層
void UpdateRectSelect()   更新選中區域
TMap<Gameint, TArray<Gameint> > GetQueryIDs()   獲取選中的(de)所有ID
void RemoveLayerID(Gameint nLayerId)   移除空間查詢圖層ID
void Realse()   空間查詢結束
RouteStop 飛行站點類,控制每個(gè)站點的(de)相機姿态、飛行時(shí)間 FString GetName()    獲取站點名
void SetName(FString Name)  Name:站點名稱 設置站點名
Gamedouble GetDuration()    獲取從站點出(chū)發到(dào)下一(yī / yì /yí)站點飛行的(de)持續時(shí)間。默認值爲(wéi / wèi)0,單位爲(wéi / wèi)秒。
void SetDuration(Gamedouble dDutation)  dDutation:持續時(shí)間 設置從站點出(chū)發到(dào)下一(yī / yì /yí)站點飛行的(de)持續時(shí)間。默認值爲(wéi / wèi)0,單位爲(wéi / wèi)秒。
void SetCamera(CameraState* state)  state:相機對象姿态 獲取站點的(de)相機姿态
CameraState* GetCameraState()    設置站點的(de)相機姿态
void* GetHandler()    獲取站點
Route 飛行路線類,管理飛行路線中的(de)站點 FString GetName()    獲取路線名
void SetName(FString Name)  Name:路線名稱 設置路線名
void SetIsFlyingLoop(Gamebool bIsFlyingLoop)  bIsFlyingLoop:是(shì)否 設置飛行循環播放
Gamebool GetIsFlyingLoop()    獲取是(shì)否在(zài)飛行循環播放
Gameint Count()    獲取路線站點個(gè)數
Gameint IndexOf(FString strStopName)  strStopName:站點名稱 獲取站點索引
RouteStop GetStop(Gameint nIndex)  nIndex:站點索引 獲取站點
Gamebool Insert(RouteStop stop, Gameint nIndex)  stop:站點對象
nIndex:站點索引
插入站點
Gamebool Contains(FString StopName)  StopName:站點名稱 判斷是(shì)否包含站點
bool Add(RouteStop* stop)  stop:站點對象 新增站點
bool Remove(int nIndex)  nIndex:站點編号 删除站點
void SetHeadingFixed(bool bSet)  bSet:是(shì)否 設置是(shì)否鎖定俯仰視角
Gamebool IsHeadingFixed()    獲取鎖定俯仰視角
void SetTiltFixed(bool bSet)  bSet:是(shì)否 設置是(shì)否鎖定傾斜視角
Gamebool IsTiltFixed()    獲取是(shì)否鎖定傾斜視角
Routes 飛行路線集合類 Gameint Count()     
Gamebool SetCurrentRouteIndex(Gameint nIndex)  nIndex:路線索引 設置當前的(de)路線,默認沒有Route時(shí)爲(wéi / wèi)-1
Gameint GetCurrentRouteIndex()    獲取當前的(de)路線
Route* GetRoute(Gameint nIndex)  nIndex:路線索引 獲取該索引路線
Gameint IndexOf(FString strRouteName)  strRouteName:路線名稱 獲取該線路名稱的(de)索引
Gamebool FromFile(FString file)  file:fpf文件 從指定的(de)文件中導入路線集合對象
Gamebool ToFile(FString file)  file:fpf文件 将路線集合導出(chū)本地(dì / de)文件
Gamebool Create(FString RouteName)  RouteName:路線名稱 新建飛行路線
Gamebool Remove(Gameint nIndex)  nIndex:路線索引 删除指定索引的(de)路線
Scene 三維場景類。三維數據會依據地(dì / de)理空間參考信息,填加到(dào)三維場景中。 enum SUPERMAP_API PixelToGlobeMode
{
    TerrainAndModel = 0,
    Sphere = 1
}
TerrainAndModel:地(dì / de)形和(hé / huò)模型都參與求交點
Sphere:隻與地(dì / de)表求交點
求交模式切換
enum MultiViewportMode
{
    None = 0,
    Horizontal = 1,
}
None:還原分屏
Horizontal:左右分屏
分屏模式切換
void SetIsVisible(Gamebool bIsVisible)   設置是(shì)否開啓地(dì / de)下模式
GlobalImage* GetGlobalImage()    獲取地(dì / de)形影像
void SetCameraControl(SuperMapSDK::UnrealEngine::ControlUE::CameraControl* pCamerControl)    設置相機操作類
CameraControl* GetCameraControl()    獲取相機操作類
void SetWorld(UWorld* pWorld)  [in] pWorld:UE的(de)世界類 設置UE世界場景類
UWorld* GetWorld()    獲取世界場景類
SceneType GetSceneType()    獲取場景類型
void SetSceneType(SceneType eSceneType)  [in] eSceneType:場景類型,平面或者球面 設置場景類型
Query3D* GetQuery3D()   獲取Query3D
Layer3Ds* GetLayer3Ds()    返回三維圖層集合
TerrainLayers* GetTerrainLayers()    返回地(dì / de)形圖層集合
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範圍 相機飛到(dào)bounds位置
void Clear()    清空圖層
Vector3d PixelToCartesian(Vector3d vMouse)  vMouse:鼠标在(zài)屏幕的(de)坐标 返回像素UE空間下笛卡爾坐标系
Vector3d PixelToGlobe(Vector3d vMouse, PixelToGlobeMode mode = TerrainAndModel) vMouse:鼠标在(zài)屏幕的(de)坐标 返回像素對應的(de)真實地(dì / de)理坐标
std::map<FName, Analyst3D*>& GetAnalyst3DList()    獲取分析功能列表
Gamebool GetCreateSkirt()    裙邊設置
void SetCreateSkirt(bool bCreatesSkirt)  bCreatesSkirt:是(shì)否啓動裙邊 裙邊設置
void SetSkirtHeight(float fHeight)  fHeight:高度值 設置裙邊高度
void ToJson(FString strPath)  strPath:文件保存路徑 保存Json
void SetMultiViewportMode(MultiViewportMode mode) mode:模式 設置分屏模式
MultiViewportMode GetMultiViewportMode()   獲取分屏模式
void ToXML(FString strFileAdress) strFileAdress:xml文件路徑 輸出(chū)xml文件
FTransform LongitudeLatitudeToUE(FVector vLonLat) vLonLat:經緯度值 通過指定經緯度獲取空間坐标 及 模型旋轉角度
void SetShowInvalidation(bool bShow) bShow:是(shì)否顯示 場景設置無效區域
void SetHandler(void* pScene)   創建場景指針
void* GetHandler()   獲取場景指針
FlyManager* GetFlyManager()   獲取飛行管理類
void Fly(CameraState* pCameraState, Gameint milliseconds) pCameraState:相機狀态
milliseconds:用時(shí)
設置飛行定位
void FlyCircle(Geometry* geometry, Gamedouble speedRatio, Gamebool isCycle = false) geometry:
speedRatio:旋轉速度
isCycle :是(shì)否循環
繞點飛行
void StopFlyCircle()   停止繞點飛行
void SetTerrainExaggeration(Gamedouble dValue) dValue:地(dì / de)形誇張設置的(de)值 設置地(dì / de)形誇張
Gamedouble GetTerrainExaggeration()   獲取地(dì / de)形誇張數值
SelectedInfo GetSelectedInfo()   獲取選中對象的(de)材質信息
CameraState* GetCameraState()   獲取主相機相機狀态
void InitializeFlyCallbackHandle()   初始化飛行回調事件
void GlobalRefreshRaster(Rectangle2D rec)   局部地(dì / de)形刷新
SceneControl 三維地(dì / de)圖控件。一(yī / yì /yí)個(gè)三維場景窗口(SceneControl)對應一(yī / yì /yí)個(gè)三維場景(Scene),即一(yī / yì /yí)個(gè)三維場景窗口中隻能顯示一(yī / yì /yí)個(gè)三維場景 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坐标
設置地(dì / de)形插入點
FVector GetTerrainPosition()   獲取地(dì / de)形的(de)插入點
SceneEditorWnd* GetSceneEditorWnd()   獲取場景編輯類
Workspace* GetWorkspace()   獲取工作空間  
void SetMultiTexture(Gamebool bSet)    
SceneEditorWnd 場景操作統一(yī / yì /yí)管理類 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 依地(dì / de)距離
MeasureTerrainArea 依地(dì / de)面積
MeasureHorizontalDistance 水平量算
PanSelect 平移選擇
RectSelect  框選
Action枚舉
enum SUPERMAP_API UserAction
{
    RoObjectSelect = 0,
    SubObjectSelect = 1
}
SubObjectSelect子(zǐ)對象選擇 用戶Action枚舉
void SetAction(Action3D eAction)    設置操作類型
void SetUserAction(UserAction eAction)   設置玩家操作類型
void Release()    停止運行
Action3D GetAction()    獲取操作類型
MeasureHandler* GetMeasureHandler()    獲取量算類
MaterialInfo GetSelectMaterialInfo()    是(shì)否更新選中信息
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 不(bù)使用顯示模式
FACE 顯示填充
ARROW 顯示坡向
FACE_AND_ARROW 顯示填充和(hé / huò)坡向
顯示模式枚舉
void SetDisplaySytle(SlopeSetting::DisplayMode mode)   設置是(shì)否顯示線&填充色
SlopeSetting::DisplayMode GetDisplaySytle()   獲得線的(de)顯示模式
void SetColorTableMaxKey(double dMaxKey) dMaxKey:最大(dà)值 設置顔色表最高值
double GetColorTableMaxKey()   獲取顔色表最高值
void SetColorTableMinKey(double dMinKey) dMinKey:最小值 設置顔色表最低值
double GetColorTableMinKey()   獲取顔色表最低值
void SetMinVisibleValue(double minValue) minValue:最小值 設置最小可見值
double GetMinVisibleValue()   獲取最小可見值
void SetMaxVisibleValue(double maxValue) maxValue:最大(dà)值 設置最大(dà)可見值
double GetMaxVisibleValue()   獲取最大(dà)可見值
void SetColorTableTexture(UTexture2D* colorTableTexture) colorTableTexture:顔色表 設置顔色表
UTexture2D* GetColorTableTexture()   獲取顔色表
void SeArrowTexture(UTexture2D* arrowTexture) arrowTexture:箭頭紋理 設置坡向箭頭紋理
UTexture2D* GetArrowTexture()   獲取坡向箭頭紋理
void SetArrowMove(bool isMove) isMove:是(shì)否運動 設置坡向箭頭是(shì)否運動
bool IsArrowMove()   獲取坡向箭頭是(shì)否運動
Style3D 風格類 enum AltitudeMode
{
ClampToGround = 0,
Absolute = 2,
ClampToObject = 6,
}
ClampToGround  貼地(dì / de)
Absolute 絕對高度
ClampToObject 貼對象
風格的(de)高度模式
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 地(dì / de)形圖層類。該類包含了(le/liǎo)地(dì / de)形圖層對象的(de)相關屬性信息 float GetMinHeight()   獲取最小高度
float GetMaxHeight()   獲取最大(dà)高度
FSlateRect GetBounds()   獲取bounds
FName GetName()   獲取地(dì / de)形圖層名字
void SetIsVisible(bool bVisible) [in] bVisible: 若爲(wéi / wèi)true 則可見 設置地(dì / de)形是(shì)否可見
bool GetIsVisible()   獲取是(shì)否可見
void SetShowInvalidation(bool bShow) [in] bShow: 若爲(wéi / wèi)true 則可見 設置是(shì)否顯示無效區域
bool GetShowInvalidation()   獲取無效區域是(shì)否可見
void SetLODRangeScale(float values) values:LOD 值 設置當前圖層的(de)LOD層級
float GetLODRangeScale()   獲取當前圖層的(de)LOD層級
void Render()   渲染數據
Gamedouble GetHeight(Vector3d vLonLat)   獲取對應經緯度的(de) 高度
void ToJson(JsonFile& jsonLayerFile)   保存Json
TerrainLayers 地(dì / de)形圖層集合類。通過設置該類添加、移除地(dì / de)形圖層。 int Count()   圖層數目
TerrainLayer* Add(FString strIServerUrl, FString strLayerName) [in]strIServerUrl:iServer發布鏈接
[in]strLayerName:圖層名稱
添加iServer地(dì / de)形圖層
TerrainLayer* Add(FString strFile, bool bAddToHead) [in]strFile:地(dì / de)形圖層文件
[in]bAddToHead:是(shì)否置頂
添加本地(dì / de)地(dì / de)形圖層
TerrainLayer* Add(FString strUrl, FString strLayerName, TerrainLayerType eLayerType) [in]strUrl:公共地(dì / de)形服務鏈接
[in]strLayerName:圖層名稱
[in]eLayerType:公共服務類型
添加公共服務地(dì / de)形圖層
TerrainLayer* GetAt(int32 index) [in] index:下标 獲取指定下标的(de)地(dì / de)形
TerrainLayer* GetAt(FName strLayerName) [in] strLayerName:地(dì / de)形名稱 獲取指定名稱的(de)地(dì / de)形
bool Remove(int Index = 0) [in] Index:0或1 移除地(dì / de)形圖層
void SetHypsometricSetting(HypsometricSetting* pHypsometricSetting)   設置分層設色類
HypsometricSetting* GetHypsometricSetting()   獲取分層設色類
void ClearHypsometricSetting()   清除分層設色
void SetSlopeSetting(SlopeSetting* pSlopeSetting)   設置坡度坡向類
SlopeSetting* GetSlopeSetting()   獲取坡度坡向類
void ClearSlopeSetting()   清除坡度坡向
void Clear()   清除地(dì / de)形圖層
TrackingLayer 跟蹤圖層類 int32 AddGeometry(Geometry* pGeometry, FString strTag)   添加Geometry幾何對象
bool Remove(int32 nIndex) nIndex:索引值 移除圖層中指定序号的(de)對象
Geometry* Get(int32 nIndex) nIndex:索引值 返回圖層中指定序号的(de)幾何體
FString GetTag(int32 nIndex) nIndex:索引值 獲取指定序号對象的(de)标簽名
void Clear()    設置圖層中指定序号的(de)對象的(de)标簽名
int32 IndexOf(FString strTag)  strTag:标簽名稱 返回指定标簽名對象的(de)序号
int32 GetCount()    圖層中對象的(de)個(gè)數
MeasureHandler 量算類 enum MeasureAction
{
    MeasureDistance = 0,
    MeasureHorizontalDistance = 1,
    MeasureArea = 2,
    MeasureHeight = 3,
    MeasureTerrainArea = 4,
    MeasureTerrainDistance = 5
}
MeasureDistance 空間距離
MeasureHorizontalDistance 水平距離
MeasureArea 面積
MeasureHeight 高度
MeasureTerrainArea 依地(dì / de)面積
MeasureTerrainDistance 依地(dì / de)距離
量算類型
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:是(shì)否使用 設置是(shì)否使用同名配準點
bool IsHomnymyPoints()   獲取是(shì)否使用同名配準點
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 顔色值 設置可視線的(de)顔色
FLinearColor GetVisibleColor()   獲取可視線的(de)顔色
void SetHiddenColor(FLinearColor color) color 顔色值 設置可視線的(de)顔色
FLinearColor GetHiddenColor()    獲取可視線的(de)顔色
void AddTargetPoint(FVector vPoint)  vPoint 位置 添加目标點
void SetTargetPoint(int32 nIndex, FVector vPoint)    設置目标點
FVector GetTargetPoint(int32 nIndex)    獲取目标點
void RemoveTargetPoint(int32 nIndex)  nIndex 目标點索引 移除指定目标點
void RemoveAllTargetPoints()    移除所有目标點
Gameint GetTargetPointCount()    獲取目标點的(de)個(gè)數
SightlineResult GetSightlineResult(Gameint nIndex)   獲取通視結果
Skyline 天際線類 void SetViewerDirection(const double direction)  direction 視線水平方向的(de)角度值 設置視線的(de)水平方向,北向爲(wéi / wèi)0
double GetViewerDirection()    獲取視線的(de)水平方向,北向爲(wéi / wèi)0
void SetViewerPitch(const double pitch)  pitch  視線俯仰的(de)角度值 設置視線的(de)俯仰角度,水平方向爲(wéi / wèi)0
double GetViewerPitch()    獲取視線的(de)俯仰角度,水平方向爲(wéi / wèi)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()    獲取二維的(de)天際線
GeoLine3D* GetSkyline(double dRadius)  dRadius 半徑值 獲取天際線
Cluster 點聚合類 void SetPixelRange(Gameint pixelRange)   聚類像素範圍
void SetMinimumClusterSize(Gameint minimumClusterSize)   最小可聚類數
void IsEnable(Gamebool bEnable)   是(shì)否進行聚類
void SetGeoPositions(const TArray<Vector3d>& vGeoPos)   設置聚類的(de)地(dì / de)理坐标點集(球面爲(wéi / wèi)經緯度)
void SetClusterEventFunc(void* pActor, ClusterEvent infoEvent)   分配事件
Façade 立面圖 void SetOutputPath(FString strOutputPath)   設置輸出(chū)文件路徑
FString GetOutputPath()   獲取輸出(chū)文件路徑
void SetViewLine(GeoLine3D* pGeoLine3D)   設置觀察線
void SetResolution(Gamedouble dResolution)   設置出(chū)圖參數
void SetVisibleHeight(Gamedouble dMin, Gamedouble dMax)   設置出(chū)圖參數
void SetVisibleFarDistance(Gamedouble dFar)   設置出(chū)圖參數
Gamedouble GetResolution()   獲取出(chū)圖參數
void GetVisibleHeight(Gamedouble &dMin, Gamedouble &dMax)   獲取出(chū)圖參數
Gamedouble GetVisibleFarDistance()   獲取出(chū)圖參數
ViewDome 開敞度 enum DisplayMode
{
LINE,
FACE,
FACELINE,
} 
LINE 線
FACE 面
FACELINE線面模式
顯示模式枚舉
enum DomeType
{
VisibleDome,
HiddenDome,
} 
VisibleDome可視部分
HiddenDome 不(bù)可視部分
閉合體類型
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()   獲取開敞度的(de)結果類型(顯示可視、不(bù)可視部分)
void SetDomeType(ViewDome::DomeType modeType)   設置開敞度的(de)結果類型
ViewDome::DisplayMode GetViewDomeDisplayStyle()   獲取開敞度的(de)顯示模式(線,填充,合)
void SetViewDomeDisplayStyle(ViewDome::DisplayMode displayStyle)   設置開敞度的(de)顯示模式
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 傾斜的(de)角度 設置傾斜角度
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)    通過輔助點設置分析相機方向和(hé / huò)距離
GeoModel3D* GetViewShedVisibleBody()    獲取可見區域體
GeoModel3D* GetViewShedHiddenBody()    獲取不(bù)可見區域體
TArray<Vector3d> GetBarrierPoints()   獲取障礙點
void SetName(FString name)   設置名字
FString GetName()   獲取名字
MultiViewShed3D 多可視域類 void AddViewShed(ViewShed* pViewShed)   添加單個(gè)可視域分析
void RemoveViewShed(ViewShed* pViewShed)   移除單個(gè)可視域分析

FacilityAnalyst

爆管分析、最佳路徑分析

enum SUPERMAP_API FacilityAnalystMode
{
        Bursttube_Analyst,
        Connectivity_Analyst
}
Bursttube_Analyst:爆管分析
Connectivity_Analyst:最佳路徑分析
分析枚舉
enum FacilityType
{
        Facility_Edge, 
        Facility_Node,
}
Facility_Edge:弧段
Facility_Node:結點
如管道(dào)設備的(de)類型,包括弧段、結點
void FindCommonAncestorsFromEdges(Gameint id) id:弧段ID 根據給定的(de)弧段 ID,查找這(zhè)些弧段的(de)共同上(shàng)遊弧段,返回弧段 ID 數組,實現爆管分析查詢
void FindCommonAncestorsFromNodes(Gameint id) id:結點ID 根據給定的(de)結點 ID,查找這(zhè)些結點的(de)共同上(shàng)遊弧段,返回弧段 ID 數組,實現爆管分析查詢
void InquireConnected(Gameint id1, Gameint id2) id1、id2:要(yào / yāo)查詢的(de)兩個(gè)結點的(de)ID 通過結點ID數組進行最佳路徑分析
void InquireConnected(Vector3d v1, Vector3d v2) v1、v2:要(yào / yāo)查詢的(de)兩個(gè)結點的(de)坐标 通過結點坐标進行最佳路徑分析
void SetUrlPath(FString strUrlPath, FString weightName, Gamebool isUncertainDirectionValid) strUrlPath 網址
weightName 權值字段
isUncertainDirectionValid (關聯管道(dào):确定流向有效
設置iserver地(dì / de)址
TArray GetLinkId()   獲取關聯管道(dào)id數組
TArray GetConnectivityNodeIDs()   獲取連通節點id數組
TArray GetConnectivityNodeIDs()   獲取連通弧段id數組
Gamebool IsConnected()   是(shì)否連通
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:線段終點位置
查詢與線段相交線的(de)信息
Profile 剖面分析 void SetExtendHeight(double height) height 高度值 設置剖面的(de)高度(單位是(shì)米)
double GetExtendHeight()   獲取剖面的(de)高度(單位是(shì)米)
void SetStartPoint3D(Vector3d vPoint)   設置剖面線分析的(de)起始點
Vector3d GetStartPoint3D()   獲取剖面線分析的(de)起始點
void SetEndPoint3D(Vector3d vPoint)   設置剖面線分析的(de)結束點
Vector3d GetEndPoint3D()   獲取剖面線分析的(de)結束點
Vector3d GetLeftTopPosition()   獲取剖面圖紋理左上(shàng)點對應的(de)三維位置
Vector3d GetRightBottomPosition()   獲取剖面圖紋理右下點對應的(de)三維位置
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 提供對空間數據及其屬性的(de)全面的(de)操作和(hé / huò)處理,包括創建、管理、訪問和(hé / huò)查詢等等功能 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 數據集個(gè)數 獲取數據集的(de)個(gè)數
void* GetHandler()   返回UGC句柄
DataSources 數據源集合類 DataSource* GetAt(int nIndex)   打開數據源
DataSource* GetAt(FString strAlias) strAlias:數據源名稱 打開數據源
FieldInfo 字段信息類。存儲字段的(de)名稱、類型、默認值和(hé / huò)長度等相關信息 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  無效的(de)字段類型。
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 日期型,年、月、日,不(bù)帶時(shí)間。
FT_Binary 固定長度二進制型,需指定長度。
FT_Text 不(bù)定長字符串型。
FT_LongBinary 不(bù)定長二進制類型。
FT_Char 定長字符串型,需指定長度。
FT_Time 時(shí)間型,小時(shí)、分、秒,不(bù)帶日期。
FT_TimeStamp 時(shí)間戳型,年、月、日、小時(shí)、分、秒。
FT_NText 寬字節不(bù)定長字符串類型。
FT_Geometry 幾何數據類型。
FT_JsonB 用作Pg中的(de)Jsonb字段類型
字段類型
GeoJsonParsing 讀取geojson文件 void JsonToGeometry(FString strPath, TArray<Geometry*>& pGeometrys) strPath:geojson文件路徑
pGeometrys:輸出(chū)的(de)geometry
讀取路徑下的(de)geojson
GeoBox   void SetWidth(double dWidth)   設置寬度
double GetWidth()   獲取寬度
void SetLength(double dLength)   設置長度
double GetLength()   獲取長度
void SetHeight(double dHeight)   設置高度
double GetHeight()   獲取高度
void SetColor(FVector4 color)   設置裁剪盒子(zǐ)顔色
FVector4 GetColor()   獲取裁剪盒子(zǐ)顔色
Vector3d GetCenter()   獲取插入點
GeoLine3D 三維線類 void GetPoints(TArray<Vector3d>& arrPoints) arrPoints:所有點數組 得到(dào)所有的(de)點
void GetPoints(TArray<FVector>& arrPoints) arrPoints:所有點數組 得到(dào)所有的(de)點
int32 GetPointCount()   獲取所有子(zǐ)對象的(de)點的(de)個(gè)數總和(hé / huò)
int32 GetSubCount()   獲取所有子(zǐ)對象的(de)個(gè)數
void GetPolyCounts(TArray<int32>& arrPolyCounts) arrPolyCounts:部分點數組 得到(dào)某個(gè)子(zǐ)對象的(de)點的(de)個(gè)數
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:所有點數組 得到(dào)所有的(de)點
void GetPoints(TArray<FVector>& arrPoints) arrPoints:所有點數組 得到(dào)所有的(de)點
void GetPoints(double* &pData , int32 &nCount)   得到(dào)所有的(de)點
void GetSubdivisionPoints(TArray<FVector>& arrLocations, float fDistance)   得到(dào)細分插值點
int32 GetPointCount()   獲取所有子(zǐ)對象的(de)點的(de)個(gè)數總和(hé / huò)
int32 GetSubCount()   獲取所有子(zǐ)對象的(de)個(gè)數
void GetPolyCounts(TArray<int32>& arrPolyCounts) arrPolyCounts:部分點數組 得到(dào)某個(gè)子(zǐ)對象的(de)點的(de)個(gè)數
void GetTriangleIndices(TArray<int32> & indicesArray)   三角化
void SetPoints(TArray<FVector> arrPoints)   添加所有點
bool IsEmpty()   是(shì)否爲(wéi / wèi)空
void Clear()   清除所有點
int AddPart(TArray<Vector3d> points)   添加點
bool InsertPart(int index, TArray<Vector3d> points)   插入點
bool RemovePart(int index) index:指定點的(de)索引值 移除指定點