Пример #1
0
void mvtkTypicalRayProducer::UpdateMatrixAndBounds()
{
	_calculateMatrix();
	if (!_calculateBounds()) return;

	delete[] m_ImageData;
	m_ImageData=new float[m_ImageInUseSize[0]*m_ImageInUseSize[1]*4];
}
	//-----------------------------------------------------------------------
	void BoxCollider::_preProcessParticles(ParticleTechnique* particleTechnique, Real timeElapsed)
	{
		// Call parent
		BaseCollider::_preProcessParticles(particleTechnique, timeElapsed);

		// Calculate the affectors' center position in worldspace, set the box and calculate the bounds
		// Applied scaling in V 1.3.1.
		populateAlignedBox(mBox, getDerivedPosition(), _mAffectorScale.x * mWidth, _mAffectorScale.y * mHeight, _mAffectorScale.z * mDepth);
		_calculateBounds();
	}
	//-----------------------------------------------------------------------
	void BoxColliderExtern::_preProcessParticles(ParticleTechnique* particleTechnique, Real timeElapsed)
	{
		if (isAttached())
		{
			// Use the position of the parent node in this case.
			position = getParentNode()->_getDerivedPosition();
			mDerivedPosition = position;
			populateAlignedBox(mBox, mDerivedPosition, mWidth, mHeight, mDepth);
			_calculateBounds();
		}
	}