deTransform.h

Go to the documentation of this file.
00001 /* Copyright (c) 2005 Arachi, Inc. and Stanford University.
00002  *
00003  * Permission is hereby granted, free of charge, to any person obtaining
00004  * a copy of this software and associated documentation files (the
00005  * "Software"), to deal in the Software without restriction, including
00006  * without limitation the rights to use, copy, modify, merge, publish,
00007  * distribute, sublicense, and/or sell copies of the Software, and to
00008  * permit persons to whom the Software is furnished to do so, subject
00009  * to the following conditions:
00010  *
00011  * The above copyright notice and this permission notice shall be included
00012  * in all copies or substantial portions of the Software.
00013  *
00014  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00015  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00016  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00017  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
00018  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
00019  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
00020  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00021  */
00022 
00023 #ifndef _deTransform_h
00024 #define _deTransform_h
00025 
00032 class deTransform
00033 {
00034 public:
00036         DE_MATH_API deMatrix3& rotation();
00038         DE_MATH_API const deMatrix3& rotation() const;
00040         DE_MATH_API deVector3& translation();
00042         DE_MATH_API const deVector3& translation() const ;
00044         DE_MATH_API void identity();
00046         DE_MATH_API void operator=(const deTransform& t);
00048         DE_MATH_API void multiply(const deTransform& t1, const deTransform& t2);
00050         DE_MATH_API void inverse(const deTransform& t);
00052         DE_MATH_API void inversedMultiply(const deTransform& t1, const deTransform& t2);
00054         DE_MATH_API void multiplyInversed(const deTransform& t1, const deTransform& t2);
00056         DE_MATH_API void set(const deFrame& f);
00058         DE_MATH_API void set(const deMatrix3& m, const deVector3& v);
00060         void set(const deFloat alpha, const deFloat a, const deFloat d, const deFloat theta);
00062         void set(const deVector3& axis, const deFloat pitch, const deFloat angle);
00063 
00064 private:
00065         deMatrix3 _m;
00066         deVector3 _v;
00067 };
00068 
00069 #endif // _deTransform_h
00070 

Generated on Sun Apr 9 22:12:42 2006 for TAO by  doxygen 1.4.6-NO