Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Filename : OctreeIntersectionData.hpp
3 : : //
4 : : // Purpose : Data related to intersection between octree and facets
5 : : //
6 : : // Creator : William Roshan Quadros
7 : : //
8 : : // Creation Date : 08/26/2013
9 : : //
10 : : // Owner :
11 : : //-------------------------------------------------------------------------
12 : : #ifndef OCTREEINTERSECTIONDATA_H
13 : : #define OCTREEINTERSECTIONDATA_H
14 : :
15 : : #include "CubitVector.hpp"
16 : : #include "CubitDefines.h"
17 : :
18 : :
19 : : class RefFace;
20 : :
21 : : class CubitFacet;
22 : : class CubitOctreeNode;
23 : :
24 : : class OctreeIntersectionData{
25 : :
26 : : public:
27 : : OctreeIntersectionData(const CubitVector &normal, const CubitBoolean half_space, const double &len, RefFace *ptr_face, const CubitVector &closest_point_on_facet, CubitFacet *lp_facet); // SAT constructor
28 : : OctreeIntersectionData( CubitOctreeNode *ptr_white_node, CubitVector normal, CubitVector int_point, double len, RefFace *ptr_face);
29 : 0 : ~OctreeIntersectionData(){}
30 : 0 : inline CubitVector get_normal(void){ return facetNormal; }
31 : : inline CubitVector get_int_point(void){return intPoint; }
32 : 0 : inline double get_length(void){ return length; }
33 : 0 : inline RefFace * get_face(void){ return refFace; }
34 : : inline CubitOctreeNode *get_white_node(void){ return whiteNode; }
35 : : inline CubitFacet* get_facet_ptr() {return ptrFacet;} // for SAT code
36 : 0 : inline CubitBoolean get_halfspace() {return halfSpace;} // for SAT code
37 : 0 : inline CubitVector get_facet_normal() {return facetNormal;}
38 : :
39 : 0 : inline static int compare_function(OctreeIntersectionData *&a, OctreeIntersectionData *&b)
40 : : {
41 [ # # ]: 0 : if (a->get_length() < b->get_length()) {return -1;}
42 [ # # ]: 0 : else if (a->get_length() > b->get_length()) {return 1;}
43 : 0 : else {return 0;}
44 : : }
45 : :
46 : 0 : inline CubitBoolean is_merged() {return merged;}
47 : 0 : inline void set_merged(const CubitBoolean val) {merged = val;}
48 : :
49 : : private:
50 : : CubitOctreeNode *whiteNode;
51 : : CubitVector facetNormal;
52 : : CubitVector intPoint;
53 : : double length;
54 : : RefFace *refFace;
55 : : CubitFacet *ptrFacet;
56 : : CubitBoolean halfSpace;
57 : : CubitBoolean merged;
58 : :
59 : :
60 : : };
61 : : #endif
62 : :
63 : : //EOF
64 : :
|