コード例 #1
0
ファイル: AABB.cpp プロジェクト: ChunHungLiu/MathGeoLib
void AABB::TransformAsAABB(const float3x3 &transform)
{
	assume(transform.IsColOrthogonal());
	assume(transform.HasUniformScale());

	AABBTransformAsAABB(*this, transform);
}
コード例 #2
0
ファイル: Capsule.cpp プロジェクト: 360degrees-fi/tundra
void Capsule::Transform(const float3x3 &transform)
{
	assume(transform.HasUniformScale());
	assume(transform.IsColOrthogonal());
	l.Transform(transform);
	r *= transform.Col(0).Length(); // Scale the radius.
}
コード例 #3
0
ファイル: Circle.cpp プロジェクト: 360degrees-fi/tundra
void Circle::Transform(const float3x3 &transform)
{
	assume(transform.HasUniformScale());
	assume(transform.IsColOrthogonal());
	pos = transform.Mul(pos);
	normal = transform.Mul(normal).Normalized();
	r *= transform.Col(0).Length(); // Scale the radius of the circle.
}
コード例 #4
0
ファイル: Placeable.cpp プロジェクト: aoighost/tundra-urho3d
void Placeable::SetOrientationAndScale(const float3x3 &tm)
{
    assume(tm.IsColOrthogonal());
    assume(!tm.HasNegativeScale());
    Transform newtrans = transform.Get();
    newtrans.SetRotationAndScale(tm);
    transform.Set(newtrans, AttributeChange::Default);
}
コード例 #5
0
ファイル: Quat.cpp プロジェクト: 360degrees-fi/tundra
void Quat::Set(const float3x3 &m)
{
	assume(m.IsColOrthogonal());
	assume(m.HasUnitaryScale());
	assume(!m.HasNegativeScale());
	SetQuatFrom(*this, m);

#ifdef MATH_ASSERT_CORRECTNESS
	// Test that the conversion float3x3->Quat->float3x3 is correct.
	mathassert(this->ToFloat3x3().Equals(m, 0.01f));
#endif
}
コード例 #6
0
ファイル: OBB.cpp プロジェクト: OtterOrder/TBToolkit
void OBB::Transform(const float3x3 &transform)
{
	assume(transform.IsColOrthogonal());
	OBBTransform(*this, transform);
}
コード例 #7
0
ファイル: OBB.cpp プロジェクト: OtterOrder/TBToolkit
void OBB::SetFrom(const AABB &aabb, const float3x3 &transform)
{
	assume(transform.IsColOrthogonal());
	OBBSetFrom(*this, aabb, transform);
}