cgma
|
00001 //- Class: PlanarParamTool 00002 //------------------------------------------------------------------------- 00003 // Filename : PlanarParamTool.hpp 00004 // 00005 // Purpose : Surface Parameterization for mesh by triangulation flattening specific for Planar surfaces 00006 // 00007 // Creator : Christopher Hynes 00008 // 00009 // Creation Date : 7/10/2002 00010 // 00011 // Owner : Christopher Hynes 00012 //------------------------------------------------------------------------- 00013 00014 #ifndef PLANAR_PARAM_TOOL_HPP 00015 #define PLANAR_PARAM_TOOL_HPP 00016 00017 #include "ParamTool.hpp" 00018 #include "CubitVector.hpp" 00019 00020 class CUBIT_UTIL_EXPORT PlanarParamTool : public ParamTool 00021 { 00022 public: 00023 00024 //- constructor 00025 PlanarParamTool(); 00026 00027 //- deconstructor 00028 ~PlanarParamTool(); 00029 00030 CubitStatus set_up_space(CubitVector& du, CubitVector& dv, CubitVector& uv_center); 00031 00032 CubitStatus transform_to_uv(const CubitVector &xyz_location, CubitVector &uv_location); 00033 00034 CubitStatus transform_to_xyz(CubitVector &xyz_location, const CubitVector &uv_location); 00035 00036 virtual CubitStatus uv_derivitives( double u_param, double v_param, 00037 CubitVector &du, CubitVector &dv ); 00038 00039 private: 00040 00041 CubitVector Du; 00042 CubitVector Dv; 00043 CubitVector uvCenter; 00044 //- transformation info - used with set_up_space 00045 }; 00046 00047 #endif // PLANAR_PARAM_TOOL_HPP 00048