cgma
CurveOverlapFacet.hpp
Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines