本文整理汇总了C++中AABB3::AddSphere方法的典型用法代码示例。如果您正苦于以下问题:C++ AABB3::AddSphere方法的具体用法?C++ AABB3::AddSphere怎么用?C++ AABB3::AddSphere使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AABB3
的用法示例。
在下文中一共展示了AABB3::AddSphere方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateNozzleExhaust
void CBE_NozzleExhaust::UpdateNozzleExhaust( CCopyEntity* pCopyEnt, SBE_ParticleSetExtraData& rParticleSet, float dt )
{
int i, num_particles = m_MaxNumParticlesPerSet;
// float dt = fFrameTime;
AABB3 aabb;
aabb.Nullify();
// UpdateParticles( rParticleSet, fFrameTime, aabb );
float radius = m_fParticleRadius;
for(i=0; i<num_particles; i++)
{
// update animation time
rParticleSet.pafAnimationTime[i] += dt;
if( rParticleSet.pafAnimationTime[i] < 0 )
continue;
// update velocity
// rParticleSet.pavVelocity[i] += vGravityAccel * dt;
// update position
rParticleSet.pavPosition[i] += rParticleSet.pavVelocity[i] * dt;
aabb.AddSphere( Sphere(rParticleSet.pavPosition[i],radius) );
}
pCopyEnt->world_aabb.MergeAABB( aabb );
Vector3 vBasePos = Vector3(0,0,0);//pCopyEnt->Position();// + pCopyEnt->GetDirection() * pCopyEnt->f1;
Vector3 vDir = Vector3(0,0,1);//pCopyEnt->GetDirection();
Vector3 vRight = Vector3(1,0,0);//pCopyEnt->GetRightDirection();
Vector3 vUp = Vector3(0,1,0);//pCopyEnt->GetUpDirection();
float cycle_time = m_fDuration;
for( i=0; i<num_particles; i++ )
{
if( cycle_time <= rParticleSet.pafAnimationTime[i] )
{
// set new position & velocity
CreateNewParticle( pCopyEnt, rParticleSet, i );
// rParticleSet.pafAnimationTime[i] = 0;
}
}
}