本文整理汇总了C++中VRMenuObject::ChildHandleForId方法的典型用法代码示例。如果您正苦于以下问题:C++ VRMenuObject::ChildHandleForId方法的具体用法?C++ VRMenuObject::ChildHandleForId怎么用?C++ VRMenuObject::ChildHandleForId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VRMenuObject
的用法示例。
在下文中一共展示了VRMenuObject::ChildHandleForId方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: attributionPanelId
OvrPanoMenu::OvrPanoMenu( App * app, Oculus360Photos * photos, OvrVRMenuMgr & menuMgr, BitmapFont const & font,
OvrMetaData & metaData, float fadeOutTime, float radius )
: VRMenu( MENU_NAME )
, AppPtr( app )
, MenuMgr( menuMgr )
, Font( font )
, Photos( photos )
, MetaData( metaData )
, LoadingIconHandle( 0 )
, AttributionHandle( 0 )
, BrowserButtonHandle( 0 )
, SwipeLeftIndicatorHandle( 0 )
, SwipeRightIndicatorHandle( 0 )
, Fader( 1.0f )
, FadeOutTime( fadeOutTime )
, currentFadeRate( 0.0f )
, Radius( radius )
, ButtonCoolDown( 0.0f )
{
currentFadeRate = 1.0f / FadeOutTime;
// Init with empty root
Init( menuMgr, font, 0.0f, VRMenuFlags_t() );
// Create Attribution info view
Array< VRMenuObjectParms const * > parms;
Array< VRMenuComponent* > comps;
VRMenuId_t attributionPanelId( ID_CENTER_ROOT.Get() + 10 );
comps.PushBack( new OvrPanoMenuRootComponent( *this ) );
Quatf rot( DOWN, 0.0f );
Vector3f dir( -FWD );
Posef panelPose( rot, dir * Radius );
Vector3f panelScale( 1.0f );
//const Posef textPose( Quatf(), Vector3f( 0.0f, 0.0f, 0.0f ) );
const VRMenuFontParms fontParms( true, true, false, false, true, 0.525f, 0.45f, 1.0f );
VRMenuObjectParms attrParms( VRMENU_STATIC, comps,
VRMenuSurfaceParms(), "Attribution Panel", panelPose, panelScale, Posef(), Vector3f( 1.0f ), fontParms, attributionPanelId,
VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) );
parms.PushBack( &attrParms );
AddItems( MenuMgr, Font, parms, GetRootHandle(), false );
parms.Clear();
comps.Clear();
AttributionHandle = HandleForId( MenuMgr, attributionPanelId );
VRMenuObject * attributionObject = MenuMgr.ToObject( AttributionHandle );
OVR_ASSERT( attributionObject != NULL );
//Browser button
float const ICON_HEIGHT = 80.0f * VRMenuObject::DEFAULT_TEXEL_SCALE;
Array< VRMenuSurfaceParms > surfParms;
Posef browserButtonPose( Quatf( ), UP * ICON_HEIGHT * 2.0f );
comps.PushBack( new OvrDefaultComponent( Vector3f( 0.0f, 0.0f, 0.05f ), 1.05f, 0.25f, 0.0f, Vector4f( 1.0f ), Vector4f( 1.0f ) ) );
comps.PushBack( new OvrButton_OnUp( this, ID_BROWSER_BUTTON ) );
comps.PushBack( new OvrSurfaceToggleComponent( ) );
surfParms.PushBack( VRMenuSurfaceParms ( "browser",
"assets/nav_home_off.png", SURFACE_TEXTURE_DIFFUSE,
NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) );
surfParms.PushBack( VRMenuSurfaceParms( "browser",
"assets/nav_home_on.png", SURFACE_TEXTURE_DIFFUSE,
NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) );
VRMenuObjectParms browserButtonParms( VRMENU_BUTTON, comps, surfParms, "",
browserButtonPose, Vector3f( 1.0f ), Posef( ), Vector3f( 1.0f ), fontParms,
ID_BROWSER_BUTTON, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ),
VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) );
parms.PushBack( &browserButtonParms );
AddItems( MenuMgr, Font, parms, AttributionHandle, false );
parms.Clear();
comps.Clear();
surfParms.Clear();
BrowserButtonHandle = attributionObject->ChildHandleForId( MenuMgr, ID_BROWSER_BUTTON );
VRMenuObject * browserButtonObject = MenuMgr.ToObject( BrowserButtonHandle );
OVR_ASSERT( browserButtonObject != NULL );
OVR_UNUSED( browserButtonObject );
//Favorites button
Posef favoritesButtonPose( Quatf( ), DOWN * ICON_HEIGHT * 2.0f );
comps.PushBack( new OvrDefaultComponent( Vector3f( 0.0f, 0.0f, 0.05f ), 1.05f, 0.25f, 0.0f, Vector4f( 1.0f ), Vector4f( 1.0f ) ) );
comps.PushBack( new OvrButton_OnUp( this, ID_FAVORITES_BUTTON ) );
comps.PushBack( new OvrSurfaceToggleComponent() );
surfParms.PushBack( VRMenuSurfaceParms( "favorites_off",
"assets/nav_star_off.png", SURFACE_TEXTURE_DIFFUSE,
NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) );
surfParms.PushBack( VRMenuSurfaceParms( "favorites_on",
"assets/nav_star_on.png", SURFACE_TEXTURE_DIFFUSE,
NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) );
//.........这里部分代码省略.........
示例2: attributionPanelId
OvrVideoMenu::OvrVideoMenu( OvrGuiSys & guiSys, OvrMetaData & metaData, float radius )
: VRMenu( MENU_NAME )
, MetaData( metaData )
, LoadingIconHandle( 0 )
, AttributionHandle( 0 )
, BrowserButtonHandle( 0 )
, VideoControlButtonHandle( 0 )
, Radius( radius )
, ButtonCoolDown( 0.0f )
, OpenTime( 0.0 )
{
// Init with empty root
Init( guiSys, 0.0f, VRMenuFlags_t() );
// Create Attribution info view
Array< VRMenuObjectParms const * > parms;
Array< VRMenuComponent* > comps;
VRMenuId_t attributionPanelId( ID_CENTER_ROOT.Get() + 10 );
comps.PushBack( new OvrVideoMenuRootComponent( *this ) );
Quatf rot( DOWN, 0.0f );
Vector3f dir( -FWD );
Posef panelPose( rot, dir * Radius );
Vector3f panelScale( 1.0f );
const VRMenuFontParms fontParms( true, true, false, false, true, 0.525f, 0.45f, 1.0f );
VRMenuObjectParms attrParms( VRMENU_STATIC, comps,
VRMenuSurfaceParms(), "Attribution Panel", panelPose, panelScale, Posef(), Vector3f( 1.0f ), fontParms, attributionPanelId,
VRMenuObjectFlags_t(), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) );
parms.PushBack( &attrParms );
AddItems( guiSys, parms, GetRootHandle(), false );
parms.Clear();
comps.Clear();
AttributionHandle = HandleForId( guiSys.GetVRMenuMgr(), attributionPanelId );
VRMenuObject * attributionObject = guiSys.GetVRMenuMgr().ToObject( AttributionHandle );
OVR_ASSERT( attributionObject != NULL );
//Browser button
float const ICON_HEIGHT = 80.0f * VRMenuObject::DEFAULT_TEXEL_SCALE;
Array< VRMenuSurfaceParms > surfParms;
Posef browserButtonPose( Quatf(), UP * ICON_HEIGHT * 2.0f );
comps.PushBack( new OvrDefaultComponent( Vector3f( 0.0f, 0.0f, 0.05f ), 1.05f, 0.25f, 0.0f, Vector4f( 1.0f ), Vector4f( 1.0f ) ) );
comps.PushBack( new OvrButton_OnUp( this, ID_BROWSER_BUTTON ) );
comps.PushBack( new OvrSurfaceToggleComponent( ) );
surfParms.PushBack( VRMenuSurfaceParms( "browser",
"apk:///assets/nav_home_off.png", SURFACE_TEXTURE_DIFFUSE,
NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) );
surfParms.PushBack( VRMenuSurfaceParms( "browser",
"apk:///assets/nav_home_on.png", SURFACE_TEXTURE_DIFFUSE,
NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) );
VRMenuObjectParms browserButtonParms( VRMENU_BUTTON, comps, surfParms, "",
browserButtonPose, Vector3f( 1.0f ), Posef(), Vector3f( 1.0f ), fontParms,
ID_BROWSER_BUTTON, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ),
VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) );
parms.PushBack( &browserButtonParms );
AddItems( guiSys, parms, AttributionHandle, false );
parms.Clear();
comps.Clear();
surfParms.Clear();
BrowserButtonHandle = attributionObject->ChildHandleForId( guiSys.GetVRMenuMgr(), ID_BROWSER_BUTTON );
VRMenuObject * browserButtonObject = guiSys.GetVRMenuMgr().ToObject( BrowserButtonHandle );
OVR_ASSERT( browserButtonObject != NULL );
OVR_UNUSED( browserButtonObject );
//Video control button
Posef videoButtonPose( Quatf(), DOWN * ICON_HEIGHT * 2.0f );
comps.PushBack( new OvrDefaultComponent( Vector3f( 0.0f, 0.0f, 0.05f ), 1.05f, 0.25f, 0.0f, Vector4f( 1.0f ), Vector4f( 1.0f ) ) );
comps.PushBack( new OvrButton_OnUp( this, ID_VIDEO_BUTTON ) );
comps.PushBack( new OvrSurfaceToggleComponent( ) );
surfParms.PushBack( VRMenuSurfaceParms( "browser",
"apk:///assets/nav_restart_off.png", SURFACE_TEXTURE_DIFFUSE,
NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) );
surfParms.PushBack( VRMenuSurfaceParms( "browser",
"apk:///assets/nav_restart_on.png", SURFACE_TEXTURE_DIFFUSE,
NULL, SURFACE_TEXTURE_MAX, NULL, SURFACE_TEXTURE_MAX ) );
VRMenuObjectParms controlButtonParms( VRMENU_BUTTON, comps, surfParms, "",
videoButtonPose, Vector3f( 1.0f ), Posef(), Vector3f( 1.0f ), fontParms,
ID_VIDEO_BUTTON, VRMenuObjectFlags_t( VRMENUOBJECT_DONT_HIT_TEXT ),
VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) );
parms.PushBack( &controlButtonParms );
AddItems( guiSys, parms, AttributionHandle, false );
parms.Clear();
comps.Clear();
VideoControlButtonHandle = attributionObject->ChildHandleForId( guiSys.GetVRMenuMgr(), ID_VIDEO_BUTTON );
VRMenuObject * controlButtonObject = guiSys.GetVRMenuMgr().ToObject( VideoControlButtonHandle );
OVR_ASSERT( controlButtonObject != NULL );
OVR_UNUSED( controlButtonObject );
//.........这里部分代码省略.........
示例3: CreateMenu
void ResumeMovieView::CreateMenu( App * app, OvrVRMenuMgr & menuMgr, BitmapFont const & font )
{
Menu = VRMenu::Create( "ResumeMoviePrompt" );
Vector3f fwd( 0.0f, 0.0f, 1.0f );
Vector3f up( 0.0f, 1.0f, 0.0f );
Vector3f defaultScale( 1.0f );
Array< VRMenuObjectParms const * > parms;
VRMenuFontParms fontParms( true, true, false, false, false, 1.3f );
Quatf orientation( Vector3f( 0.0f, 1.0f, 0.0f ), 0.0f );
Vector3f centerPos( 0.0f, 0.0f, 0.0f );
VRMenuObjectParms centerRootParms( VRMENU_CONTAINER, Array< VRMenuComponent* >(), VRMenuSurfaceParms(), "CenterRoot",
Posef( orientation, centerPos ), Vector3f( 1.0f, 1.0f, 1.0f ), fontParms,
ID_CENTER_ROOT, VRMenuObjectFlags_t(), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) );
parms.PushBack( ¢erRootParms );
Menu->InitWithItems( menuMgr, font, 0.0f, VRMenuFlags_t(), parms );
parms.Clear();
// the centerroot item will get touch relative and touch absolute events and use them to rotate the centerRoot
menuHandle_t centerRootHandle = Menu->HandleForId( menuMgr, ID_CENTER_ROOT );
VRMenuObject * centerRoot = menuMgr.ToObject( centerRootHandle );
OVR_ASSERT( centerRoot != NULL );
// ==============================================================================
//
// title
//
{
Posef panelPose( Quatf( up, 0.0f ), Vector3f( 0.0f, 2.2f, -3.0f ) );
VRMenuObjectParms p( VRMENU_STATIC, Array< VRMenuComponent* >(),
VRMenuSurfaceParms(), Strings::ResumeMenu_Title, panelPose, defaultScale, fontParms, VRMenuId_t( ID_TITLE.Get() ),
VRMenuObjectFlags_t(), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) );
parms.PushBack( &p );
Menu->AddItems( menuMgr, font, parms, centerRootHandle, false );
parms.Clear();
}
// ==============================================================================
//
// options
//
Array<const char *> options;
options.PushBack( Strings::ResumeMenu_Resume );
options.PushBack( Strings::ResumeMenu_Restart );
Array<const char *> icons;
icons.PushBack( "assets/resume.png" );
icons.PushBack( "assets/restart.png" );
Array<PanelPose> optionPositions;
optionPositions.PushBack( PanelPose( Quatf( up, 0.0f / 180.0f * Mathf::Pi ), Vector3f( -0.5f, 1.7f, -3.0f ), Vector4f( 1.0f, 1.0f, 1.0f, 1.0f ) ) );
optionPositions.PushBack( PanelPose( Quatf( up, 0.0f / 180.0f * Mathf::Pi ), Vector3f( 0.5f, 1.7f, -3.0f ), Vector4f( 1.0f, 1.0f, 1.0f, 1.0f ) ) );
int borderWidth = 0, borderHeight = 0;
GLuint borderTexture = LoadTextureFromApplicationPackage( "assets/resume_restart_border.png", TextureFlags_t( TEXTUREFLAG_NO_DEFAULT ), borderWidth, borderHeight );
for ( int i = 0; i < optionPositions.GetSizeI(); ++i )
{
ResumeMovieComponent * resumeMovieComponent = new ResumeMovieComponent( this, i );
Array< VRMenuComponent* > optionComps;
optionComps.PushBack( resumeMovieComponent );
VRMenuSurfaceParms panelSurfParms( "",
borderTexture, borderWidth, borderHeight, SURFACE_TEXTURE_ADDITIVE,
0, 0, 0, SURFACE_TEXTURE_MAX,
0, 0, 0, SURFACE_TEXTURE_MAX );
Posef panelPose( optionPositions[ i ].Orientation, optionPositions[ i ].Position );
VRMenuObjectParms * p = new VRMenuObjectParms( VRMENU_BUTTON, optionComps,
panelSurfParms, options[ i ], panelPose, defaultScale, fontParms, VRMenuId_t( ID_OPTIONS.Get() + i ),
VRMenuObjectFlags_t(), VRMenuObjectInitFlags_t( VRMENUOBJECT_INIT_FORCE_POSITION ) );
parms.PushBack( p );
Menu->AddItems( menuMgr, font, parms, centerRootHandle, false );
DeletePointerArray( parms );
parms.Clear();
// add icon
menuHandle_t optionHandle = centerRoot->ChildHandleForId( menuMgr, VRMenuId_t( ID_OPTIONS.Get() + i ) );
VRMenuObject * optionObject = menuMgr.ToObject( optionHandle );
OVR_ASSERT( optionObject != NULL );
int iconWidth = 0, iconHeight = 0;
GLuint iconTexture = LoadTextureFromApplicationPackage( icons[ i ], TextureFlags_t( TEXTUREFLAG_NO_DEFAULT ), iconWidth, iconHeight );
VRMenuSurfaceParms iconSurfParms( "",
iconTexture, iconWidth, iconHeight, SURFACE_TEXTURE_DIFFUSE,
0, 0, 0, SURFACE_TEXTURE_MAX,
0, 0, 0, SURFACE_TEXTURE_MAX );
//.........这里部分代码省略.........