cgma
|
00001 //- Class: CurveOverlapFacet 00002 //- Description: Facet definition class for efficient processing 00003 //- for CurveOverlapTool. 00004 //- Owner: Corey Ernst 00005 //- Created: August 11, 2005 00006 00007 #ifndef CurveOverlapFacet_HPP 00008 #define CurveOverlapFacet_HPP 00009 00010 #include "CubitDefines.h" 00011 #include "GMem.hpp" 00012 #include "CubitBox.hpp" 00013 #include "CGMGeomConfigure.h" 00014 #include "GeometryDefines.h" 00015 00016 class CUBIT_GEOM_EXPORT CurveOverlapFacet 00017 { 00018 00019 public: 00020 00021 friend class SurfaceOverlapTool; 00022 00023 CurveOverlapFacet( GPoint pnt[2] ); 00024 ~CurveOverlapFacet(); 00025 00026 double distance_overlapping( CurveOverlapFacet *other_facet ); 00027 double angle( CurveOverlapFacet *other_facet ); 00028 double length(); 00029 00030 bool bbox_overlap( double tol, CurveOverlapFacet *other_facet ) 00031 { return boundingBox.overlap( tol, other_facet->boundingBox ); } 00032 00033 double facet_to_facet_distance( CurveOverlapFacet *other_facet ); 00034 00035 void draw( int color ); 00036 00037 CubitVector start_point(); 00038 CubitVector end_point(); 00039 00040 protected: 00041 00042 private: 00043 00044 CubitVector p0; 00045 CubitVector p1; 00046 CubitBox boundingBox; 00047 double facetLength; 00048 }; 00049 00050 #endif 00051 00052 00053