00001 /***************************************************************** 00002 * vert_frame.H 00003 * 00004 * n 00005 * | 00006 * | 00007 * | 00008 * o - - - b 00009 * / 00010 * / 00011 * t 00012 * 00013 * VertFrame: a coordinate frame associated with a Bvert. 00014 * Origin is vertex location. Directions t and n are 00015 * given orthonormal vectors. Direction b is determined 00016 * by them: b = n x t. 00017 * 00018 *****************************************************************/ 00019 #ifndef VERT_FRAME_H_IS_INCLUDED 00020 #define VERT_FRAME_H_IS_INCLUDED 00021 00022 #include "simplex_frame.H" 00023 00024 /***************************************************************** 00025 * VertFrame: 00026 * 00027 * see diagram above. 00028 *****************************************************************/ 00029 class VertFrame : public SimplexFrame { 00030 public: 00031 00032 //******** MANAGERS ******** 00033 00034 VertFrame(uint key, Bvert* v, CWvec& t=mlib::Wvec::X(), mlib::CWvec& n=mlib::Wvec::Z()) : 00035 SimplexFrame(key, v, t, n) {} 00036 00037 //******** RUN-TIME TYPE ID ******** 00038 00039 DEFINE_RTTI_METHODS3("VertFrame", VertFrame*, SimplexFrame, CSimplexData*); 00040 00041 //******** ACCESSORS ******** 00042 00043 Bvert* vert() const { return (Bvert*) _simplex; } 00044 00045 //******** CoordFrame VIRTUAL METHODS ******** 00046 00047 virtual Wpt o() { return vert()->loc(); } 00048 }; 00049 typedef const VertFrame CVertFrame; 00050 00051 #endif // VERT_FRAME_H_IS_INCLUDED 00052 00053 // end of file vert_frame.H