oid ItemSelectionWidget3D::Update(void) { /* 初期化が完了済みの場合 */ if(m_IsInitialized == true ){ /* m_itemIdxと現在の表示状態が異なる場合 */ if( m_ItemIdx != m_NowViewIdx ){ /* 現在表示中の子NodeのレンダリングをOFF(0の場合は現在すべて非表示) */ if((m_NowViewIdx != 0)&&(m_NowViewIdx <= m_NodeCount )){ m_Node[m_NowViewIdx-1]->SetRenderingEnabled(false); } /* 表示対象の子Nodeがある場合 */ if((m_ItemIdx != 0) && ( m_ItemIdx <= m_NodeCount )){ m_Node[m_ItemIdx-1]->SetRenderingEnabled(true); } /* 親ビューを無効 */ Invalidate(); /* m_NowViewIdxを更新 */ m_NowViewIdx = m_ItemIdx; } } }
时间: 2024-04-18 21:29:37 浏览: 63
snmp.zip_SNMP_SNMP set_c++ getnext()_c++ snmp::set_snmp++
5星 · 资源好评率100%
这是一个名为 ItemSelectionWidget3D 的类的 Update() 方法。在该方法中,首先检是否已经完成了初始化(m_IsInitialized == true)。如果已经完成了初始化,则进一步判断 m_ItemIdx 是否与 m_NowViewIdx 不同。如果不同,则执行以下操作:
1. 将当前显示的子节点的渲染设置为关闭(如果 m_NowViewIdx 不为 0 且小于等于 m_NodeCount)。
2. 如果有要显示的子节点(m_ItemIdx 不为 0 且小于等于 m_NodeCount),则将其渲染设置为启用。
3. 使父视图无效。
4. 更新 m_NowViewIdx 的值为 m_ItemIdx。
这段代码的作用是根据当前选中的项目索引来更新显示状态,并进行渲染相应的子节点。
阅读全文