Branch data Line data Source code
1 : : //- Class: CurveOverlapFacet
2 : : //- Description: Facet definition class for efficient processing
3 : : //- for CurveOverlapTool.
4 : : //- Owner: Corey Ernst
5 : : //- Created: August 11, 2005
6 : :
7 : : #ifndef CurveOverlapFacet_HPP
8 : : #define CurveOverlapFacet_HPP
9 : :
10 : : #include "CubitDefines.h"
11 : : #include "GMem.hpp"
12 : : #include "CubitBox.hpp"
13 : : #include "CGMGeomConfigure.h"
14 : : #include "GeometryDefines.h"
15 : :
16 : : class CUBIT_GEOM_EXPORT CurveOverlapFacet
17 : : {
18 : :
19 : : public:
20 : :
21 : : friend class SurfaceOverlapTool;
22 : :
23 : : CurveOverlapFacet( GPoint pnt[2] );
24 : : ~CurveOverlapFacet();
25 : :
26 : : double distance_overlapping( CurveOverlapFacet *other_facet );
27 : : double angle( CurveOverlapFacet *other_facet );
28 : : double length();
29 : :
30 : 0 : bool bbox_overlap( double tol, CurveOverlapFacet *other_facet )
31 : 0 : { return boundingBox.overlap( tol, other_facet->boundingBox ); }
32 : :
33 : : double facet_to_facet_distance( CurveOverlapFacet *other_facet );
34 : :
35 : : void draw( int color );
36 : :
37 : : CubitVector start_point();
38 : : CubitVector end_point();
39 : :
40 : : protected:
41 : :
42 : : private:
43 : :
44 : : CubitVector p0;
45 : : CubitVector p1;
46 : : CubitBox boundingBox;
47 : : double facetLength;
48 : : };
49 : :
50 : : #endif
51 : :
52 : :
53 : :
|