Files
FC1/Editor/Util/AffineParts.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

42 lines
1.1 KiB
C

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: affineparts.h
// Version: v1.00
// Created: 19/8/2002 by Timur.
// Compilers: Visual Studio.NET
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __affineparts_h__
#define __affineparts_h__
#if _MSC_VER > 1000
#pragma once
#endif
struct AffineParts
{
Vec3 pos; //!< Translation components
Quat rot; //!< Essential rotation.
Quat rotScale; //!< Stretch rotation.
Vec3 scale; //!< Stretch factors.
float fDet; //!< Sign of determinant.
/** Decompose matrix to its affnie parts.
*/
void Decompose( const Matrix44 &mat );
/** Decompose matrix to its affnie parts.
Assume there`s no stretch rotation.
*/
void SpectralDecompose( const Matrix44 &mat );
};
#endif // __affineparts_h__