void SphericEmitter::setDirection(const Vector3D& _direction)
{
	tDirection = _direction;
	computeMatrix();
	this->direction = tDirection; // as tDirection was normalized in computeMatrix()
	notifyForUpdate();
}
Example #2
0
	void Transformable::setTransformOrientationZ(float angle)
	{
		float cosA = std::cos(angle);
		float sinA = std::sin(angle);

		local[0] = cosA;
		local[1] = sinA;
		local[2] = 0.0f;
		local[4] = -sinA;
		local[5] = cosA;
		local[6] = 0.0f;
		local[8] = 0.0f;
		local[9] = 0.0f;
		local[10] = 1.0f;

		localIdentity = false;
		notifyForUpdate();
	}
Example #3
0
	void Transformable::setTransformOrientation(Vector3D axis,float angle)
	{
		axis.normalize();
		float c = std::cos(angle);
		float s = std::sin(angle);
		float a = 1 - c;
		Vector3D axis2(axis.x * axis.x,axis.y * axis.y,axis.z * axis.z);

		local[0] = axis2.x + (1 - axis2.x) * c;
		local[1] = axis.x * axis.y * a + axis.z * s;
		local[2] = axis.x * axis.z * a - axis.y * s;
		local[4] = axis.x * axis.y * a - axis.z * s;
		local[5] = axis2.y + (1 - axis2.y) * c;
		local[6] = axis.y * axis.z * a + axis.x * s;
		local[8] = axis.x * axis.z * a + axis.y * s;
		local[9] = axis.y * axis.z * a - axis.x * s;
		local[10] = axis2.z + (1 - axis2.z) * c;

		localIdentity = false;
		notifyForUpdate();
	}
Example #4
0
	void Transformable::setTransformOrientationLH(Vector3D look,Vector3D up)
	{
		look.normalize();

		Vector3D side = crossProduct(look,up);
		side.normalize();

		up = crossProduct(side,look);

		local[0] = side.x;
		local[1] = side.y;
		local[2] = side.z;
		local[4] = up.x;
		local[5] = up.y;
		local[6] = up.z;
		local[8] = look.x;
		local[9] = look.y;
		local[10] = look.z;

		localIdentity = false;
		notifyForUpdate();
	}