Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Copyright Notice
3 : : //
4 : : // Copyright (c) 1996
5 : : // by Malcolm J. Panthaki, DBA, and the University of New Mexico.
6 : : //-------------------------------------------------------------------------
7 : : //
8 : : //-------------------------------------------------------------------------
9 : : // Filename : BodySM.cc
10 : : //
11 : : // Purpose : To implement the Body solid model class.
12 : : //
13 : : // Special Notes :
14 : : //
15 : : // Creator : Stephen J. Verzi
16 : : //
17 : : // Creation Date : 02/26/97
18 : : //
19 : : // Owner : Stephen J. Verzi
20 : : //-------------------------------------------------------------------------
21 : :
22 : : // ********** BEGIN STANDARD INCLUDES **********
23 : : // ********** END STANDARD INCLUDES **********
24 : :
25 : : // ********** BEGIN MOTIF INCLUDES **********
26 : : // ********** END MOTIF INCLUDES **********
27 : :
28 : : // ********** BEGIN OPEN INVENTOR INCLUDES **********
29 : : // ********** END OPEN INVENTOR INCLUDES **********
30 : :
31 : : // ********** BEGIN CUBIT INCLUDES **********
32 : :
33 : : #include "BodySM.hpp"
34 : : #include "Body.hpp"
35 : : // ********** END CUBIT INCLUDES **********
36 : :
37 : : // ********** BEGIN STATIC DECLARATIONS **********
38 : : // ********** END STATIC DECLARATIONS **********
39 : :
40 : : // ********** BEGIN PUBLIC FUNCTIONS **********
41 : :
42 : : //-------------------------------------------------------------------------
43 : : // Purpose : The default constructor. Does not do anything right now.
44 : : //
45 : : // Special Notes :
46 : : //
47 : : // Creator : Stephen J. Verzi
48 : : //
49 : : // Creation Date : 02/26/97
50 : : //-------------------------------------------------------------------------
51 : 5498 : BodySM::BodySM()
52 : : {
53 : 2749 : }
54 : :
55 : : //-------------------------------------------------------------------------
56 : : // Purpose : The destructor. Does not do anything right now.
57 : : //
58 : : // Special Notes :
59 : : //
60 : : // Creator : Stephen J. Verzi
61 : : //
62 : : // Creation Date : 02/26/97
63 : : //-------------------------------------------------------------------------
64 : 3164 : BodySM::~BodySM()
65 : : {
66 [ - + ]: 1582 : }
67 : :
68 : 0 : CubitBox BodySM::bounding_box()
69 : : {
70 [ # # ]: 0 : DLIList<Lump*> body_lumps;
71 [ # # ]: 0 : this->lumps( body_lumps );
72 : :
73 [ # # ]: 0 : CubitBox bbox;
74 [ # # ][ # # ]: 0 : bbox = body_lumps.get_and_step()->bounding_box();
[ # # ][ # # ]
75 : :
76 : : int i;
77 [ # # ][ # # ]: 0 : for( i=body_lumps.size()-1; i--; )
78 : : {
79 [ # # ]: 0 : Lump *tmp_lump = body_lumps.get_and_step();
80 [ # # ][ # # ]: 0 : bbox |= tmp_lump->bounding_box();
[ # # ]
81 : : }
82 : :
83 [ # # ]: 0 : return bbox;
84 [ + - ][ + - ]: 6540 : }
85 : :
86 : : // ********** END PUBLIC FUNCTIONS **********
87 : :
88 : : // ********** BEGIN PROTECTED FUNCTIONS **********
89 : : // ********** END PROTECTED FUNCTIONS **********
90 : :
91 : : // ********** BEGIN PRIVATE FUNCTIONS **********
92 : : // ********** END PRIVATE FUNCTIONS **********
93 : :
94 : : // ********** BEGIN HELPER CLASSES **********
95 : : // ********** END HELPER CLASSES **********
96 : :
97 : : // ********** BEGIN EXTERN FUNCTIONS **********
98 : : // ********** END EXTERN FUNCTIONS **********
99 : :
100 : : // ********** BEGIN STATIC FUNCTIONS **********
101 : : // ********** END STATIC FUNCTIONS **********
102 : :
|