当前位置: 首页>>代码示例>>C++>>正文


C++ CModelViewerCamera::Reset方法代码示例

本文整理汇总了C++中CModelViewerCamera::Reset方法的典型用法代码示例。如果您正苦于以下问题:C++ CModelViewerCamera::Reset方法的具体用法?C++ CModelViewerCamera::Reset怎么用?C++ CModelViewerCamera::Reset使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CModelViewerCamera的用法示例。


在下文中一共展示了CModelViewerCamera::Reset方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SetViewForGroup

//--------------------------------------------------------------------------------------
// Sets the camera to view a particular group of objects
//--------------------------------------------------------------------------------------
void SetViewForGroup( int group )
{
    assert( group < GROUP_COUNT );

    g_Camera.Reset();

    static const XMVECTORF32 s_Offset0 = { 0.f, 20.f, 20.f, 0.f };
    static const XMVECTORF32 s_Offset = { 0.f, 20.f, -20.f, 0.f };
    XMVECTOR vecEye = g_CameraOrigins[group] + ( ( group == 0 ) ? s_Offset0 : s_Offset );

    g_Camera.SetViewParams( vecEye, g_CameraOrigins[group] );

    XMFLOAT3 vecAt;
    XMStoreFloat3( &vecAt, g_CameraOrigins[group] );
    g_Camera.SetModelCenter( vecAt );
}
开发者ID:AndreAhmed,项目名称:directx-sdk-samples,代码行数:19,代码来源:Collision.cpp

示例2: InitTweakBar

//--------------------------------------------------------------------------------------
// Create TweakBar and add required buttons and variables
//--------------------------------------------------------------------------------------
void InitTweakBar(ID3D11Device* pd3dDevice)
{
    g_pTweakBar = TwNewBar("TweakBar");
	TwDefine(" TweakBar color='0 128 128' alpha=128 ");
#ifdef TEMPLATE_DEMO
	TwType TW_TYPE_TESTCASE = TwDefineEnumFromString("Test Scene", "BasicTest,Scene1,Scene2,Scene3");
#endif
#ifdef RIGIDBODYCOLLISIONS
	TwEnumVal sceneIdentifiers[SceneManager::scenes_count] = { {0, SceneManager::scene_names[0]}, 
	{ 1, SceneManager::scene_names[1] }, { 2, SceneManager::scene_names[2] } };
	TwType TW_TYPE_TESTCASE = TwDefineEnum("Demo Scene", sceneIdentifiers, SceneManager::scenes_count);

#endif

	TwAddVarRW(g_pTweakBar, "Demo Scene", TW_TYPE_TESTCASE, &g_iTestCase, "");
	// HINT: For buttons you can directly pass the callback function as a lambda expression.

#if (defined RIGIDBODYCOLLISIONS)
	TwAddButton(g_pTweakBar, "Reset Objects in Scene", resetObjectsInScene, nullptr, "");
	TwAddButton(g_pTweakBar, "Reset Objects + Settings", resetScene, nullptr, "");
	TwAddButton(g_pTweakBar, "Reset Camera", [](void *){g_camera.Reset(); }, nullptr, "");
	TwAddVarRW(g_pTweakBar, "Scale", TW_TYPE_FLOAT, &SCM.sceneScale, "min=0.05 step=0.05");
	TwAddVarRW(g_pTweakBar, "Timestep", TW_TYPE_FLOAT, &SCM.sceneTimeStep, "min=0 step=0.0005");
	TwAddButton(g_pTweakBar, (SCM.simulateByStep ? "Run Step: [(space)]" : "Run Step: [continuous]"), rebuildTwBar, &SCM.simulateByStep, "");
#else
	TwAddButton(g_pTweakBar, "Reset Scene", resetScene, nullptr, "");
	TwAddButton(g_pTweakBar, "Reset Camera", [](void *){g_camera.Reset(); }, nullptr, "");
	// Run mode, step by step, control by space key
	TwAddVarRW(g_pTweakBar, "RunStep(space)", TW_TYPE_BOOLCPP, &g_bSimulateByStep, "");
#endif

#if (defined RIGIDBODYCOLLISIONS)
	TwAddButton(g_pTweakBar, (SCM.enableInteraction ? "Interactions [enabled]" : "Interactions [disabled]"), rebuildTwBar, &SCM.enableInteraction, "");
	if (SCM.enableInteraction)
	{
		TwAddVarRW(g_pTweakBar, " | select Box", TW_TYPE_INT32, &SCM.selectedBoxIndex, "min=-1");
		TwAddVarRW(g_pTweakBar, " | select Corner", TW_TYPE_INT32, &SCM.selectedPointIndex, "min=-1 max=7");
		TwAddButton(g_pTweakBar, " | apply force", applyForce, nullptr, "");
		TwAddVarRW(g_pTweakBar, " | force x", TW_TYPE_FLOAT, &SCM.forceToApply.x, "");
		TwAddVarRW(g_pTweakBar, " | force y", TW_TYPE_FLOAT, &SCM.forceToApply.y, "");
		TwAddVarRW(g_pTweakBar, " | force z", TW_TYPE_FLOAT, &SCM.forceToApply.z, "");
	}
	TwAddButton(g_pTweakBar, (SCM.showAdditionalProperties ? "Properties [visible]" : "Properties [hidden]"), rebuildTwBar, &SCM.showAdditionalProperties, "");
	if (SCM.showAdditionalProperties)
	{
		TwAddVarRW(g_pTweakBar, " | Normals", TW_TYPE_BOOLCPP, &SCM.showNormals, "");
		//TwAddVarRW(g_pTweakBar, " | Mass Indicators", TW_TYPE_BOOLCPP, &SCM.showMasses, "");
		TwAddVarRW(g_pTweakBar, " | Unit Cube", TW_TYPE_BOOLCPP, &SCM.showUnitBox, "");
	}
	TwAddButton(g_pTweakBar, (SCM.gravityEnabled ? "Gravity [enabled]" : "Gravity [disabled]"), rebuildTwBar, &SCM.gravityEnabled, "");
	if (SCM.gravityEnabled)
	{
		TwAddVarRW(g_pTweakBar, " | gravity x", TW_TYPE_FLOAT, &SCM.gravityForce.x, "");
		TwAddVarRW(g_pTweakBar, " | gravity y", TW_TYPE_FLOAT, &SCM.gravityForce.y, "");
		TwAddVarRW(g_pTweakBar, " | gravity z", TW_TYPE_FLOAT, &SCM.gravityForce.z, "");
	}
	TwAddButton(g_pTweakBar, (SCM.floorEnabled ? "Floor [visible]" : "Floor [hidden]"), rebuildTwBar, &SCM.floorEnabled, "");
	if (SCM.floorEnabled)
	{
		TwAddVarRW(g_pTweakBar, " | Floor Height", TW_TYPE_FLOAT, &SCM.floorPosition.y, "");
	}
#endif
	
#ifdef TEMPLATE_DEMO
	switch (g_iTestCase)
	{
	case 0:
		TwAddVarRW(g_pTweakBar, "Draw Spheres", TW_TYPE_BOOLCPP, &g_bDrawSpheres, "");
		TwAddVarRW(g_pTweakBar, "Num Spheres", TW_TYPE_INT32, &g_iNumSpheres, "min=1");
		TwAddVarRW(g_pTweakBar, "Sphere Size", TW_TYPE_FLOAT, &g_fSphereSize, "min=0.01 step=0.01");
		break;
	case 1:
		TwAddVarRW(g_pTweakBar, "Draw Teapot",   TW_TYPE_BOOLCPP, &g_bDrawTeapot, "");
		break;
	case 2:
		TwAddVarRW(g_pTweakBar, "Draw Triangle", TW_TYPE_BOOLCPP, &g_bDrawTriangle, "");
		break;
	default:
		break;
	}
#endif

}
开发者ID:thatPowderGuy,项目名称:GP_Exercises,代码行数:86,代码来源:main.cpp


注:本文中的CModelViewerCamera::Reset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。