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


C++ Box3d::isInCollisionWith方法代码示例

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


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

示例1: drawScene


//.........这里部分代码省略.........
		if(mesh)
		{
			Vector3 scale = entity->getTransformedScale();
			Box3d * entityBox = entity->getBoundingBox();

			float minScale = scale.x;
			minScale = MIN(minScale, scale.y);
			minScale = MIN(minScale, scale.z);
			minScale = 1.0f / minScale;

			unsigned int entityLightsNumber = 0;
			for(l=0; l<lSize; l++)
			{
				// get entity
				OLight * light = scene->getLightByIndex(l);

				if(! light->isActive())
					continue;

				if(! light->isVisible())
					continue;

				// light box
				Vector3 lightPos = light->getTransformedPosition();
				Vector3 localPos = entity->getInversePosition(lightPos);

				float localRadius = light->getRadius() * minScale;

				Box3d lightBox(
								Vector3(localPos - localRadius),
								Vector3(localPos + localRadius)
								);

				if(! entityBox->isInCollisionWith(lightBox))
					continue;

				MEntityLight * entityLight = &entityLights[entityLightsNumber];
				entityLight->lightBox = lightBox;
				entityLight->light = light;

				entityLightsNumber++;
				if(entityLightsNumber == MAX_ENTITY_LIGHTS)
					break;
			}

			// animate armature
			if(mesh->getArmature())
			{
				Armature * armature = mesh->getArmature();
				if(mesh->getArmatureAnim())
				{
					animateArmature(
						mesh->getArmature(),
						mesh->getArmatureAnim(),
						entity->getCurrentFrame()
					);
				}
				else
				{
					armature->processBonesLinking();
					armature->updateBonesSkinMatrix();
				}
			}

			// animate textures
			if(mesh->getTexturesAnim())
开发者ID:joewan,项目名称:NeoEditor,代码行数:67,代码来源:FixedRenderer.cpp


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