cgma
|
00001 //- Class: ChollaPoint 00002 //- Description: Temporary class for constructing the facet-based geometry 00003 //- 00004 //- Owner: Steven J. Owen 00005 //- Checked by: 00006 //- Version: 00007 00008 #include "ChollaPoint.hpp" 00009 #include "ChollaCurve.hpp" 00010 #include "ChollaSurface.hpp" 00011 00012 //=============================================================================== 00013 //Function: ChollaPoint (PUBLIC) (constructor) 00014 //=============================================================================== 00015 ChollaPoint::ChollaPoint( ) 00016 { 00017 static int count = 1; 00018 id = count++; 00019 myCubitPoint = NULL; 00020 myPoint = NULL; 00021 myMergePartner = NULL; 00022 } 00023 //=============================================================================== 00024 //Function: ~ChollaPoint (PUBLIC) (destructor) 00025 //=============================================================================== 00026 ChollaPoint::~ChollaPoint() 00027 { 00028 } 00029 00030 //=============================================================================== 00031 //Function: get_surfaces (PUBLIC) 00032 //=============================================================================== 00033 void ChollaPoint::get_surfaces(DLIList<ChollaSurface *> &surf_list) 00034 { 00035 int ii, jj; 00036 ChollaCurve *curv_ptr; 00037 DLIList<ChollaSurface*> *surf_list_ptr; 00038 ChollaSurface *surf_ptr; 00039 00040 curveList.reset(); 00041 for(ii=0; ii<curveList.size(); ii++) 00042 { 00043 curv_ptr = curveList.get_and_step(); 00044 surf_list_ptr = curv_ptr->get_surface_list_ptr(); 00045 for(jj=0; jj<surf_list_ptr->size(); jj++) 00046 { 00047 surf_ptr = surf_list_ptr->get_and_step(); 00048 surf_list.append_unique( surf_ptr ); 00049 } 00050 } 00051 } 00052 00053 //=============================================================================== 00054 //Function: is_in_surface (PUBLIC) 00055 //=============================================================================== 00056 CubitBoolean ChollaPoint::is_in_surface( ChollaSurface *cholla_surf ) 00057 { 00058 int ii; 00059 ChollaCurve *curv_ptr; 00060 DLIList<ChollaSurface*> *surf_list_ptr; 00061 00062 curveList.reset(); 00063 for(ii=0; ii<curveList.size(); ii++) 00064 { 00065 curv_ptr = curveList.get_and_step(); 00066 surf_list_ptr = curv_ptr->get_surface_list_ptr(); 00067 00068 if( surf_list_ptr->is_in_list( cholla_surf ) ) 00069 return CUBIT_TRUE; 00070 } 00071 00072 return CUBIT_FALSE; 00073 } 00074 00075 //=============================================================================== 00076 //Function: is_in_volume (PUBLIC) 00077 //=============================================================================== 00078 CubitBoolean ChollaPoint::is_in_volume( ChollaVolume *cholla_vol ) 00079 { 00080 int ii; 00081 ChollaCurve *curv_ptr; 00082 00083 curveList.reset(); 00084 for(ii=0; ii<curveList.size(); ii++) 00085 { 00086 curv_ptr = curveList.get_and_step(); 00087 00088 if( curv_ptr->is_in_volume( cholla_vol ) ) 00089 return CUBIT_TRUE; 00090 } 00091 00092 return CUBIT_FALSE; 00093 } 00094 00095 //=============================================================================== 00096 //Function: is_in_curve (PUBLIC) 00097 //=============================================================================== 00098 CubitBoolean ChollaPoint::is_in_curve( ChollaCurve *chcurve ) 00099 { 00100 for (int ii=0; ii<curveList.size(); ii++) 00101 { 00102 ChollaCurve *curv = curveList.get_and_step(); 00103 if (curv == chcurve) 00104 return CUBIT_TRUE; 00105 } 00106 return CUBIT_FALSE; 00107 } 00108 00109 //============================================================================= 00110 //Function: verify_curves (PUBLIC) 00111 //Description: verify that all curves at this point have this point as an adjacency 00112 //Notes: 00113 //============================================================================= 00114 CubitStatus ChollaPoint::verify_curves() 00115 { 00116 for(int ii=0; ii<curveList.size(); ii++) 00117 { 00118 ChollaCurve *crv = curveList.get_and_step(); 00119 if (!crv->has_point(this)) 00120 return CUBIT_FAILURE; 00121 } 00122 return CUBIT_SUCCESS; 00123 } 00124 00125 //EOF 00126