本文整理汇总了C++中BaseNode::hull方法的典型用法代码示例。如果您正苦于以下问题:C++ BaseNode::hull方法的具体用法?C++ BaseNode::hull怎么用?C++ BaseNode::hull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BaseNode
的用法示例。
在下文中一共展示了BaseNode::hull方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnCameraZoomextents
void CSceneRender::OnCameraZoomextents()
{
ScenePort * pDoc = dynamic_cast<ScenePort *>( GetDocument() );
ASSERT( pDoc );
m_TargetPosition = Vector3(0,0,0);
m_TargetDistance = 50.0f;
if ( pDoc->m_pSelectedNode )
{
// find the world position of the selected node
BaseNode * pBaseNode = pDoc->m_pSelectedNode->getCachedNode();
if ( pBaseNode )
{
// get the hull of the selected node
BoxHull hull( pBaseNode->hull() );
Vector3 position( 0.0f );
while( pBaseNode )
{
if ( dynamic_cast< NodeTransform * >( pBaseNode ) )
{
NodeTransform * pNode = (NodeTransform *)pBaseNode;
position = (~pNode->frame() * position) + pNode->position();
}
pBaseNode = pBaseNode->parent();
}
m_TargetPosition = position;
m_TargetDistance = hull.radius() * 2.0f;
}
}
// redraw the scene
OnUpdate(this,true,NULL);
OnDraw(NULL);
}