00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Side Effects 00008 * 477 Richmond Street West 00009 * Toronto, Ontario 00010 * Canada M5V 3E7 00011 * 416-504-9876 00012 * 00013 * NAME: GDT Library. (Geo Delta) 00014 * 00015 * COMMENTS: 00016 * 00017 */ 00018 #ifndef __GDT_CoordinateFrames_h__ 00019 #define __GDT_CoordinateFrames_h__ 00020 00021 #include "GDT_API.h" 00022 #include <GEO/GEO_Detail.h> 00023 #include <UT/UT_RefArray.h> 00024 #include <UT/UT_Matrix3.h> 00025 00026 class GDT_API GDT_CoordinateFrames 00027 { 00028 public: 00029 GDT_CoordinateFrames() {} 00030 GDT_CoordinateFrames(const GDT_CoordinateFrames &other); 00031 virtual ~GDT_CoordinateFrames() {} 00032 00033 void setLocalCoordsFromTopology(const GEO_Detail *ref, const GEO_Detail *gdp); 00034 void setLocalCoords(const UT_RefArray<UT_Matrix3> &xforms); 00035 void clear(); 00036 00037 void transform(int i, UT_Vector3 &vec, bool inverse) const; 00038 00039 private: 00040 UT_RefArray<UT_Matrix3> myTransforms; 00041 }; 00042 00043 #endif
1.5.9