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:指定点的索引值 移除指定点