コード例 #1
0
ファイル: TransformOps.cpp プロジェクト: 360degrees-fi/tundra
float3x4 operator *(const float3x4 &lhs, const TranslateOp &rhs)
{
	float3x4 r = lhs;
	r.SetTranslatePart(lhs.TransformPos(rhs.Offset()));

	// Our optimized form of multiplication must be the same as this.
	mathassert(r.Equals(lhs * (float3x4)rhs));
	return r;
}
コード例 #2
0
ファイル: TransformOps.cpp プロジェクト: juj/MathGeoLib
float3x4 operator *(const float3x4 &lhs, const TranslateOp &rhs)
{
	float3x4 r = lhs;
	r.SetTranslatePart(lhs.TransformPos(DIR_TO_FLOAT3(rhs.Offset())));

	// Our optimized form of multiplication must be the same as this.
	assume4(r.Equals(lhs * (float3x4)rhs), lhs, rhs, r, lhs * (float3x4)rhs);
	return r;
}
コード例 #3
0
ファイル: Ray.cpp プロジェクト: Ilikia/naali
void Ray::Transform(const float3x4 &transform)
{
    pos = transform.TransformPos(pos);
    dir = transform.TransformDir(dir);
}