decomp.h 786 B

123456789101112131415161718192021222324252627282930
  1. /**********************************************************************
  2. *<
  3. FILE: decomp.h
  4. DESCRIPTION:
  5. CREATED BY: Dan Silva
  6. HISTORY:
  7. *> Copyright (c) 1994, All Rights Reserved.
  8. **********************************************************************/
  9. #ifndef _H_Decompose
  10. #define _H_Decompose
  11. typedef struct {
  12. Point3 t; /* Translation components */
  13. Quat q; /* Essential rotation */
  14. Quat u; /* Stretch rotation */
  15. Point3 k; /* Stretch factors */
  16. float f; /* Sign of determinant */
  17. } AffineParts;
  18. CoreExport void SpectralDecomp(Matrix3 m, Point3 &s, Quat& q);
  19. CoreExport void decomp_affine(Matrix3 A, AffineParts *parts);
  20. CoreExport void invert_affine(AffineParts *parts, AffineParts *inverse);
  21. #endif