cgma
|
00001 //----------------------------------------------------------------------------- 00002 // 00003 // File:FacetParamTool.hpp 00004 // 00005 // Purpose: interface for 3D-2D parameterization algorithms for facets 00006 // 00007 // 00008 //----------------------------------------------------------------------------- 00009 00010 00011 00012 #ifndef FACET_PARAM_TOOL_HPP 00013 #define FACET_PARAM_TOOL_HPP 00014 00015 #include "ParamTool.hpp" 00016 class Surface; 00017 class FacetSurface; 00018 class CubitFacet; 00019 class CubitVector; 00020 00021 class FacetParamTool : public ParamTool 00022 { 00023 00024 public: 00025 FacetParamTool(int numn, int nume, double* nodes, int* tri); 00026 //~constructor 00027 FacetParamTool(Surface *surf); 00028 //- constructor 00029 00030 ~FacetParamTool(); 00031 //~deconstructor 00032 00033 CubitStatus set_up_space(void); 00034 00035 CubitStatus transform_to_uv(const CubitVector &xyz_location, CubitVector &uv_location); 00036 00037 CubitStatus transform_to_xyz(CubitVector &xyz_location, const CubitVector &uv_location); 00038 00039 CubitStatus locate_point_in_uv(FacetSurface *surf, const CubitVector &the_point, CubitFacet *&tri_ptr); 00040 00041 CubitStatus exhaustive_locate_point_in_uv(FacetSurface *surf, const CubitVector &the_point, CubitFacet *&tri_ptr); 00042 00043 private: 00044 00045 Surface *refSurf; 00046 //- reference surface 00047 00048 }; 00049 00050 #endif 00051