| 29 // global instance g_BBox is the bbox for the model we have open. |
29 // global instance g_BBox is the bbox for the model we have open. |
| 30 // v0 is the minimum vertex, v1 is the maximum vertex. |
30 // v0 is the minimum vertex, v1 is the maximum vertex. |
| 31 // ============================================================================= |
31 // ============================================================================= |
| 32 class bbox { |
32 class bbox { |
| 33 public: |
33 public: |
| 34 vertex v0, v1; |
|
| 35 |
|
| 36 bbox (); |
34 bbox (); |
| 37 |
|
| 38 void reset (); |
35 void reset (); |
| 39 void calculate (); |
36 void calculate (); |
| 40 double size () const; |
37 double size () const; |
| 41 void calcObject (LDObject* obj); |
38 void calcObject (LDObject* obj); |
| 42 void calcVertex (vertex v); |
39 void calcVertex (vertex v); |
| 43 vertex center () const; |
40 vertex center () const; |
| |
41 bool empty () const; |
| 44 |
42 |
| 45 bbox& operator<< (LDObject* obj) { |
43 bbox& operator<< (LDObject* obj) { |
| 46 calcObject (obj); |
44 calcObject (obj); |
| 47 return *this; |
45 return *this; |
| 48 } |
46 } |
| 49 |
47 |
| 50 bbox& operator<< (vertex& v) { |
48 bbox& operator<< (vertex& v) { |
| 51 calcVertex (v); |
49 calcVertex (v); |
| 52 return *this; |
50 return *this; |
| 53 } |
51 } |
| |
52 |
| |
53 const vertex& v0 () { return m_v0; } |
| |
54 const vertex& v1 () { return m_v1; } |
| |
55 |
| |
56 private: |
| |
57 vertex m_v0, m_v1; |
| |
58 bool m_empty; |
| 54 }; |
59 }; |
| 55 |
60 |
| 56 #endif // BBOX_H |
61 #endif // BBOX_H |