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


C++ btVector3::isZero方法代码示例

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


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

示例1: addBody

void FractureBodyInfo::addBody(
	int shape_id,
	const btVector3& inertia,
	btScalar mass,
	btScalar elasticLimit,
	btScalar plasticLimit)
{
	btCollisionShape* shape = m_shape->getChildShape(shape_id);
	btAssert(!shape->isCompound()); // compound children not suported

	setConId(*shape, m_connections.size());

	btVector3 shape_inertia(inertia);
	if (inertia.isZero())
	{
		shape->calculateLocalInertia(mass, shape_inertia);
	}

	btRigidBody::btRigidBodyConstructionInfo info(mass, 0, shape, shape_inertia);
	btRigidBody* body = new btRigidBody(info);

	FractureBody::Connection connection;
	connection.m_body = body;
	connection.m_elasticLimit = elasticLimit;
	connection.m_plasticLimit = plasticLimit;
	connection.m_accImpulse = 0;
	connection.m_shapeId = shape_id;
	m_connections.push_back(connection);
}
开发者ID:Anth5,项目名称:vdrift,代码行数:29,代码来源:fracturebody.cpp

示例2: ComputeController

void ComputeController(btVector3 &currentSpeed, const btVector3 &delta, const btVector3 &maxSpeed, float scaleDelta, float damping) {
	// Timestep scale
	btVector3 acceleration = delta * scaleDelta;

	if (currentSpeed.fuzzyZero() && !currentSpeed.isZero()) {
		currentSpeed.setZero();
	}
	acceleration += currentSpeed * -damping;

	// Clamp the acceleration to max speed
	for(int i = 2; i >= 0; i--) {
		if (fabs(acceleration[i]) < maxSpeed[i]) continue;
		acceleration[i] = (acceleration[i] < 0) ? -maxSpeed[i] : maxSpeed[i];
	}

	currentSpeed += acceleration;
}
开发者ID:jombo23,项目名称:Gmod-vphysics,代码行数:17,代码来源:Physics_PlayerController.cpp


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