decomp.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: decomp.h
00004 
00005     DESCRIPTION:
00006 
00007     CREATED BY: Dan Silva
00008 
00009     HISTORY:
00010 
00011  *> Copyright (c) 1994, All Rights Reserved.
00012  **********************************************************************/
00013 
00014 #pragma once
00015 #include "maxheap.h"
00016 #include "point3.h"
00017 #include "quat.h"
00018 
00038 struct AffineParts: public MaxHeapOperators {
00040     Point3 t;   /* Translation components */
00042     Quat q; /* Essential rotation     */
00044     Quat u; /* Stretch rotation   */
00046     Point3 k;   /* Stretch factors    */
00048     float f;    /* Sign of determinant    */
00049     };
00050 
00062 CoreExport void SpectralDecomp(Matrix3 m, Point3 &s, Quat& q);
00063 
00093 CoreExport void decomp_affine(Matrix3 A, AffineParts *parts);
00094 
00103 CoreExport void invert_affine(AffineParts *parts, AffineParts *inverse);
00104