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


C++ Obstacle::getOrigin方法代码示例

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


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

示例1: objectWithinBoundingBox

//test if object is within BoundingBox
bool Obstacle::objectWithinBoundingBox(Obstacle testObj)
{
	if (   (testObj.getOrigin().x>=minX && testObj.getOrigin().x<=maxX)
		&& (testObj.getOrigin().y>=minY && testObj.getOrigin().y<=maxY)
		&& (testObj.getOrigin().z>=minZ && testObj.getOrigin().z<=maxZ))
	{ 
			return true;
	}
	return false;
}
开发者ID:chunkyan,项目名称:DirectX,代码行数:11,代码来源:Obstacle.cpp

示例2: objectWithinBoundingBox

bool BezierPatch::objectWithinBoundingBox(Obstacle testObj)
{
	//test each bounding box
	for(int i=0;i<levelOfDetail;i++)
	{
		if (   testObj.getOrigin().x>=boundingBoxes[i].minPoints.x
			&& testObj.getOrigin().x<=boundingBoxes[i].maxPoints.x
			&& testObj.getOrigin().y>=boundingBoxes[i].minPoints.y 
			&& testObj.getOrigin().y<=boundingBoxes[i].maxPoints.y
			&& testObj.getOrigin().z>=boundingBoxes[i].minPoints.z
			&& testObj.getOrigin().z<=boundingBoxes[i].maxPoints.z)
		{ 
				return true;
		}
	}
	return false;
}
开发者ID:chunkyan,项目名称:DirectX,代码行数:17,代码来源:BezierPatch.cpp

示例3: objectWithinRadius

bool Obstacle::objectWithinRadius(Obstacle testObj)
{
 float actualDistance= getDistanceFromObject(testObj.getOrigin());
	if( actualDistance < (spaceDimensions.x ) &&
		actualDistance < (spaceDimensions.y ) &&
		actualDistance < (spaceDimensions.z ) )
		return true;

	return objectWithinBoundingBox(testObj);
}
开发者ID:chunkyan,项目名称:DirectX,代码行数:10,代码来源:Obstacle.cpp

示例4: getDistanceFromObject

float Obstacle::getDistanceFromObject(Obstacle testObj)
{
	float distance = ( sqrt( (testObj.getOrigin().x-getOrigin().x)*(testObj.getOrigin().x-getOrigin().x) +
			 (testObj.getOrigin().y-getOrigin().y)*(testObj.getOrigin().y-getOrigin().y) +
			  (testObj.getOrigin().z-getOrigin().z)*(testObj.getOrigin().z-getOrigin().z) ));
	return distance;
}
开发者ID:chunkyan,项目名称:DirectX,代码行数:7,代码来源:Obstacle.cpp

示例5: Point

bool	processCollision(Obstacle &tmpObject)
{
	if (!gameInPlay)
		return false;

	Point pointOnField = tmpObject.getOrigin() +tmpObject.getVelocity();
	tmpObject.setOrigin(pointOnField);

	//Point pointOnField = currentOrigin +velocity;
	//Point currentVehicleOrigin = vehicle.getOrigin();
	//pointOnField = pointOnField + originInSpace;
	//vehicle.setOrigin(pointOnField);

	//collision with Wall/Floor
	if ( abs(pointOnField.x) > courseDepth 
		||abs(pointOnField.z) > courseDepth 
		||abs(pointOnField.y) > courseDepth )
	{
		//velocity=Point(0,0,0);
		//speed=0;
		tmpObject.setSpeed(0);

		//adjust the course Velocity so we don't get stuck in a wall
		if ( tmpObject.getOrigin().x > courseDepth)
			tmpObject.setOrigin(Point( courseDepth,tmpObject.getOrigin().y,tmpObject.getOrigin().z));
		if ( tmpObject.getOrigin().x < -courseDepth)
			tmpObject.setOrigin(Point( -courseDepth,tmpObject.getOrigin().y,tmpObject.getOrigin().z));
		if ( tmpObject.getOrigin().z > courseDepth)
			tmpObject.setOrigin(Point(tmpObject.getOrigin().x,tmpObject.getOrigin().y, courseDepth));
		if ( tmpObject.getOrigin().z < -courseDepth)
			tmpObject.setOrigin(Point(tmpObject.getOrigin().x,tmpObject.getOrigin().y, -courseDepth));
		if ( tmpObject.getOrigin().y > courseDepth)
			tmpObject.setOrigin(Point(tmpObject.getOrigin().x, courseDepth,tmpObject.getOrigin().z));
		if ( tmpObject.getOrigin().y < -courseDepth)
			tmpObject.setOrigin(Point(tmpObject.getOrigin().x, -courseDepth,tmpObject.getOrigin().z));
		//cout <<"Collision with Wall "<<pointOnField  <<"  x> depth("<<courseDepth<<endl;
		return true;
	}

	//collision vehicle With Pond
	//if(pond.objectWithinBoundingBox(tmpObject))
	pond.setOrigin(pond.getOrigin()+Point(0,-30,0));
	if(	pond.objectWithinRadius(tmpObject))
	{
		pond.setOrigin(pondOrigin);
		tmpObject.setSpeed(0);
		//cout << "collision with pond  vehicle at "<<pointOnField<<endl;
		return true;
	}
	pond.setOrigin(pondOrigin);

	//collision with snowdrift 2;
	if(snowcave2.objectWithinBoundingBox(tmpObject))
	{
  		velocity = Point(0,0,0);
		tmpObject.setSpeed(0);
		//cout << "collision with   snowcave2 at "<<pointOnField<<endl;
		return true;
	}

	if(snowcave.objectWithinBoundingBox(tmpObject))
	{
  		velocity = Point(0,0,0);
		tmpObject.setSpeed(0);
		//cout << "collision with   snowcave at "<<pointOnField<<endl;
		return true;
	}

	//collision with snowman
	if(snowman.objectWithinBoundingBox(tmpObject)
		|| snowman2.objectWithinBoundingBox(tmpObject)
		|| snowman3.objectWithinBoundingBox(tmpObject))
	{
		tmpObject.setSpeed(0);
		//cout << "collision with   snowman at "<<pointOnField<<endl;
		return true;
	}

	//put back the vehicleOrigin()
	//vehicle.setOrigin(currentVehicleOrigin);
	return false;

}//end of processCollision
开发者ID:chunkyan,项目名称:DirectX,代码行数:83,代码来源:main.cpp


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