C API(美国石油学会) Unity API
C API参考(10.22.5版)
平台控制器

模块

 Android特定平台控制器
 
 iOS特定平台控制器
 
 UWP特定平台控制器
 

枚举

枚举VuView方向:int32_t{
  VU_VIEW_ORIENTATION_景观_左侧=0x1,
  VU视图方向图=0x2,
  VU_VIEW_ORIENTATION_LANDSCAPE_右侧=0x3,
  VU_VIEW_ORENTATION_PORTRAIT_UPSIDEDOWN=0x4
}
 视图方向描述了应用程序的方向,或用户如何“查看”相机图像。更多。。。
 
枚举VuFusionProviderType(VuFusion提供商类型):int32_t{
  VU_FUSION_PROVIDER_TYPE_未知=0x1,
  仅限VU_FUSION_PROVIDER_TYPE_VISION_ONLY=0x2,
  VU_FUSION_PROVIDER_TYPE_传感器_FUSION=0x3,
  VU_FUSION_PROVIDER_TYPE_PLATFORM_SENSOR_FUSION传感器=0x4
}
 Vuforia Fusion提供程序类型。更多。。。
 
枚举VuFusionProvider平台类型:内部32_t{
  VU_FUSION_PROVIDER_PLATFORM_TYPE_未知=0x1,
  VU_FUSION_PROVIDER_PLATFORM_TYPE_ARKIT公司=0x2,
  VU_FUSION_PROVIDER_PLATFORM_TYPE_ARCORE公司=0x3,
  VU_FUSION_PROVIDER_PLATFORM_TYPE_WINDOWS_全息图=0x4,
  VU_FUSION_PROVIDER_PLATFORM_TYPE_LUMIN公司=0x5,
  VU_FUSION_PROVIDER_PLATFORM_TYPE_外部=0x6
}
 Vuforia Fusion提供程序平台类型。更多。。。
 

功能

VuResult(虚拟结果) vuEngineGetPlatformController(vuEngineGetPlatformController)(常数VuEngine*发动机,Vu控制器**控制器)
 检索平台控制器以访问引擎中的平台特定功能和设置。
 
VuResult(虚拟结果) vuPlatform控制器设置视图方向(Vu控制器*控制器,VuView方向方向)
 设置当前视图方向。更多。。。
 
VuResult(虚拟结果) vuPlatform控制器转换平台视图方向(常数Vu控制器*控制器,常数空隙*平台方向,VuView方向*vu方向)
 用于将特定于平台的方向描述符转换为Vuforia视图方向值的实用程序功能。更多。。。
 
VuResult(虚拟结果) vu平台控制器获取融合提供程序类型(常数Vu控制器*控制器,VuFusionProviderType(VuFusion提供商类型)*fusionProvider)
 获取当前的融合提供程序类型。更多。。。
 
VuResult(虚拟结果) vu平台控制器获取融合提供程序平台类型(常数Vu控制器*控制器,VuFusion提供商平台类型*fusionProviderPlatformType)
 如果Vuforia fusion使用平台提供的技术,请获取当前的平台融合提供程序类型。更多。。。
 
VuResult(虚拟结果) vu平台控制器获取驱动器库句柄(常数Vu控制器*控制器,空隙**手柄)
 检索当前加载的Vuforia驱动程序库的句柄。更多。。。
 

详细说明

此控制器允许控制特定平台上的平台特定功能。检查给定平台是否存在名为{platform_NAME}/Platfrom_{platform_NAME}.h的特定于平台的标头,并在那里查找选项。如果不存在平台特定的标头,则Vuforia引擎不支持给定平台上的任何平台特定功能。

枚举类型文档

 VuView方向

枚举VuView方向:int32_t

视图方向描述了应用程序的方向,或用户如何“查看”相机图像。

枚举器
VU_VIEW_ORIENTATION_LANDSCAPE_LEFT(视图_方向_屏幕_左侧)

该应用程序被视为宽于高,设备从常规纵向逆时针旋转90度。请注意,在iOS上,这对应于“横向右侧”

VU视图方向图

该应用程序被视为高过宽。

VU_VIEW_ORIENTATION_LANDSCAPE_右侧

应用程序以横向方向查看,但与上述横向方向相反。换句话说,设备从常规纵向顺时针旋转90度。请注意,在iOS上,这对应于“向左横向”

VU_VIEW_ORENTATION_PORTRAIT_UPSIDEDOWN

应用程序以纵向查看,但方向与常规纵向相反

 VuFusionProviderType(VuFusion提供商类型)

枚举VuFusion提供程序类型:int32_t

Vuforia Fusion提供程序类型。

枚举器
VU_FUSION_PROVIDER_TYPE_未知

融合提供程序未知。

仅限VU_FUSION_PROVIDER_TYPE_VISION_ONLY

仅使用基于视觉的Fusion请注意,使用此提供程序时,并非所有Vuforia引擎功能都受支持。

VU_FUSION_PROVIDER_TYPE_传感器_FUSION

将Vuforia提供的技术用于Fusion。Vuforia Engine将利用相机和IMU信息,尝试创造一种跟踪体验,与仅视觉相比,这种体验对不稳定的运动和稀疏或无特征的环境更具鲁棒性。

VU_FUSION_PROVIDER_TYPE_PLATFORM_SENSOR_FUSION传感器

将平台提供的技术用于Fusion。Vuforia Engine将利用底层平台提供的跟踪服务,如iOS上的ARKit、Android上的ARCore或UWP上的Windows全息。

 VuFusionProvider平台类型

枚举VuFusionProvider平台类型:内部32_t

Vuforia Fusion提供程序平台类型。

枚举器
VU_FUSION_PROVIDER_PLATFORM_TYPE_未知

提供程序平台未知或不可用。

VU_FUSION_PROVIDER_PLATFORM_TYPE_ARKIT公司

ARKit平台。

VU_FUSION_PROVIDER_PLATFORM_TYPE_ARCORE公司

ARCore平台。

VU_FUSION_PROVIDER_PLATFORM_TYPE_WINDOWS_全息图

Windows全息平台。

VU_FUSION_PROVIDER_PLATFORM_TYPE_LUMIN公司

鲁明平台。

VU_FUSION_PROVIDER_PLATFORM_TYPE_外部

外部(Vuforia驱动程序)

功能文档

 vu平台控制器设置视图方向()

VuResult(虚拟结果)vuPlatform控制器设置视图方向 ( Vu控制器 控制器,
VuView方向  方向 
)

设置当前视图方向。

注意
视图方向必须设置为能够使用Vuforia Engine;否则可能会错误地报告设备姿势(默认值取决于平台)。即使应用程序没有进行任何渲染(例如机器人、CV),它也应该正确设置视图方向,以匹配设备的方向。此外,如果方向发生变化,需要通知Vuforia。有关特定于平台的视图方向描述符的更多信息,请参阅转换实用程序vuPlatform控制器转换平台视图方向如下所述。
在Android和Lumin上,Vuforia执行内部视图方向一致性检查。因此,如果提供的视图方向与实际视图方向不一致,则在这些平台上对该API的调用将失败。
在iOS和UWP上,应在VuEngineConfig设置传递给vuEngine创建通过VuPlatformiOSConfigVuPlatformUWPConfig分别是。
视图方向应与中设置的宽度和高度一致vuRenderControllerSetRenderViewConfig。请参阅vuRenderControllerSetRenderViewConfig有关默认渲染视图配置和更新渲染视图配置的要求的更多详细信息。
警告
默认渲染视图配置的行为将在即将发布的版本中更改。请参见vuRenderControllerSetRenderViewConfig了解详细信息。
退换商品
如果视图方向设置成功,则为VU_SUCCESS,否则为VU_FAILED

 vuPlatform控制器转换平台视图方向()

VuResult(虚拟结果)vuPlatform控制器转换平台视图方向 ( 常量Vu控制器 控制器,
常量空隙 平台方向,
VuView方向 vu方向 
)

用于将特定于平台的方向描述符转换为Vuforia视图方向值的实用程序功能。

参数
控制器指向平台控制器的指针
平台方向在每个相应的平台上必须为以下类型(括号中显示有效值):
  • Android:一个由2个整数值组成的数组,其中第一项(数组[0])是方向更改时报告的方向值,即onConfigurationChanged(Configuration config)中的config.orientation,第二项(数组[1])是设备“自然”方向的旋转量,可通过getWindowManager().getDefaultDisplay().getRotation()获取。由于方向值(第一个条目)不能区分不同的横向(左/右)和纵向(规则/倒置)方向,因此需要这组有点麻烦的参数。
  • iOS:UIInterfaceOrientation值(在目标C:UIInterfaceOrientationPortrait、UIInterfaceDirectionPortraitUpsideDown、UIInterface OrientationLandscapeRight、UIInterpaceOrientionLandscapeLeft;在Swift:portrait、portraftUpsidedown、landscapeRiight、landscape Left)。请注意,Vuforia内部依赖于所有语言具有相同数值的相应条目
  • UWP:显示方向(Windows.Graphics.Display)值(纵向、纵向翻转、横向、横向翻转)。根据您的构建配置,这些枚举将在以下之一中定义:
    • C++/CX:Windows::Graphics::Display::Display方向
    • C++/WinRT:WinRT::Windows::Graphics::Display::Display方向
    • 否则:ABI::Windows::Graphics::Display::Display Orientations(请注意,枚举条目带有“DisplayOrienttions_”前缀)请注意,Vuforia内部依赖于所有语言具有相同数值的相应条目
参数
vu方向成功时填充相应的Vuforia视图方向值
退换商品
VU_SUCCESS,如果传递的平台方向指示有效(已知)方向,因此可以转换为有效的Vuforia视图方向;VU_FAILED否则,或者如果当前平台不支持此功能

 vu平台控制器获取融合提供程序类型()

VuResult(虚拟结果)vu平台控制器获取融合提供程序类型 ( 常量Vu控制器* 控制器,
VuFusionProviderType(VuFusion提供商类型) fusionProvider(融合提供商) 
)

获取当前的融合提供程序类型。

注意
如果fusionProvider(融合提供商)参数报告为VU_FUSION_PROVIDER_TYPE_PLATFORM_SENSOR_FUSION,然后您可以调用vu平台控制器获取融合提供程序平台类型()查询实际Vuforia Fusion提供程序的基础平台类型。

 vu平台控制器获取融合提供程序平台类型()

VuResult(虚拟结果)vu平台控制器获取融合提供程序平台类型 ( 常量Vu控制器 控制器,
VuFusionProvider平台类型 fusionProvider平台类型 
)

如果Vuforia fusion使用平台提供的技术,请获取当前的平台融合提供程序类型。

注意
功能vu平台控制器获取融合提供程序类型()通过返回VU_Fusion_PROVIDER_TYPE_platform_SENSOR_Fusion作为融合提供者,报告Vuforia Fusion是否正在使用平台提供的技术。如果报告了另一个融合提供者,此调用将失败。
退换商品
如果未在平台融合提供程序上运行,则为VU_FAILED,否则为VU_SUCCESS

 vuPlatformControllerGetDriverLibraryHandle()

VuResult(虚拟结果)vu平台控制器获取驱动器库句柄 ( 常量Vu控制器 控制器,
空隙**  手柄 
)

检索当前加载的Vuforia驱动程序库的句柄。

注意
仅当Vuforia驱动程序库在vuEngineCreate()vu平台控制器获取融合提供程序类型()报告VU_FUSION_PROVIDER_PLATFORM_TYPE_EXTERNAL。
参数
控制器指向平台控制器的指针
手柄将使用加载的库的本机平台句柄填充,该库可用于例如dlsym()/GetProcAddress()从驱动程序加载其他函数。
退换商品
如果未加载驱动程序库,则为VU_FAILED,否则为VU_SUCCESS