cgma
|
00001 //------------------------------------------------------------------------------ 00002 // Class: ImprintMatchData 00003 // Description: Holds data for the intersecting process of boundary imprinting. 00004 // Owner: David R. White 00005 // Date: 5/31/02 00006 //------------------------------------------------------------------------------ 00007 #ifndef IMPRINTMATCHDATA_HPP 00008 #define IMPRINTMATCHDATA_HPP 00009 00010 #include "CubitDefines.h" 00011 #include "CubitVector.hpp" 00012 //#include "ImprintPointData.hpp" 00013 class ImprintPointData; 00014 class ImprintLineSegment; 00015 00016 class ImprintMatchData 00017 { 00018 private: 00019 ImprintPointData *closestPoint; 00020 ImprintLineSegment *closestSeg; 00021 double closestDist; 00022 CubitVector *pointOnSeg; 00023 00024 public : 00025 ImprintMatchData () 00026 { 00027 closestPoint = NULL; 00028 closestSeg = NULL; 00029 closestDist = CUBIT_DBL_MAX; 00030 pointOnSeg = NULL; 00031 } 00032 ~ImprintMatchData () 00033 { 00034 if ( pointOnSeg ) 00035 delete pointOnSeg; 00036 } 00037 void set_closest_point(ImprintPointData *point) 00038 {closestPoint = point;} 00039 ImprintPointData* get_closest_point() 00040 {return closestPoint;} 00041 00042 void set_closest_seg(ImprintLineSegment *seg) 00043 {closestSeg = seg;} 00044 ImprintLineSegment* get_closest_seg() 00045 {return closestSeg;} 00046 00047 void set_closest_dist(double dist) 00048 {closestDist = dist;} 00049 double get_closest_dist() 00050 {return closestDist;} 00051 00052 void set_point_on(CubitVector &point_on) 00053 { 00054 if ( pointOnSeg == NULL ) 00055 pointOnSeg = new CubitVector(point_on); 00056 else 00057 pointOnSeg->set(point_on); 00058 } 00059 CubitVector* get_point_on() 00060 { 00061 return pointOnSeg; 00062 } 00063 00064 }; 00065 00066 #endif