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 : Chain.C
10 : : //
11 : : // Purpose :
12 : : //
13 : : // Special Notes :
14 : : //
15 : : // Creator : Xuechen Liu
16 : : //
17 : : // Creation Date : 08/02/96
18 : : //
19 : : // Owner : Malcolm J. Panthaki
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 "Chain.hpp"
34 : :
35 : : #include "SenseEntity.hpp"
36 : : #include "CoVertex.hpp"
37 : :
38 : : #include "BasicTopologyEntity.hpp"
39 : :
40 : : #include "DLIList.hpp"
41 : :
42 : : #include "CastTo.hpp"
43 : :
44 : : #include "RefEdge.hpp"
45 : : #include "RefVertex.hpp"
46 : :
47 : : // ********** END CUBIT INCLUDES **********
48 : :
49 : : // ********** BEGIN STATIC DECLARATIONS **********
50 : : // ********** END STATIC DECLARATIONS **********
51 : :
52 : : // ********** BEGIN PUBLIC FUNCTIONS **********
53 : :
54 : : //-------------------------------------------------------------------------
55 : : // Purpose : Constructor.
56 : : //
57 : : // Special Notes :
58 : : //
59 : : // Creator : Xuechen Liu
60 : : //
61 : : // Creation Date : 08/02/96
62 : : //-------------------------------------------------------------------------
63 : 70502 : Chain::Chain()
64 : : {
65 : 35251 : }
66 : :
67 : : //-------------------------------------------------------------------------
68 : : // Purpose : The destructor
69 : : //
70 : : // Special Notes :
71 : : //
72 : : // Creator : Raikanta Sahu
73 : : //
74 : : // Creation Date : 10/22/96
75 : : //-------------------------------------------------------------------------
76 : 65589 : Chain::~Chain()
77 : : {
78 [ - + ]: 43726 : }
79 : :
80 : : //-------------------------------------------------------------------------
81 : : // Purpose : These functions return the RefVertex associated with
82 : : // the first/last CoVertex'es of this Chain.
83 : : //
84 : : // Special Notes :
85 : : //
86 : : // Creator : Jason Kraftcheck
87 : : //
88 : : // Creation Date : 07/22/03
89 : : //-------------------------------------------------------------------------
90 : 20392 : RefVertex* Chain::start_vertex()
91 : : {
92 : : // Get first CoVertex in chain
93 : 20392 : SenseEntity* se_ptr = get_first_sense_entity_ptr();
94 [ - + ]: 20392 : if (!se_ptr)
95 : 0 : return 0;
96 : :
97 : : // Get RefVertex from CoVertex
98 : 20392 : BasicTopologyEntity* bte_ptr = se_ptr->get_basic_topology_entity_ptr();
99 : 20392 : return static_cast<RefVertex*>(bte_ptr);
100 : : }
101 : :
102 : 20370 : RefVertex* Chain::end_vertex()
103 : : {
104 : : // Get last CoVertex in chain
105 : 20370 : SenseEntity* se_ptr = get_last_sense_entity_ptr();
106 [ - + ]: 20370 : if (!se_ptr)
107 : 0 : return 0;
108 : :
109 : : // Get RefVertex from CoVertex
110 : 20370 : BasicTopologyEntity* bte_ptr = se_ptr->get_basic_topology_entity_ptr();
111 : 20370 : return static_cast<RefVertex*>(bte_ptr);
112 : : }
113 : :
114 : : //-------------------------------------------------------------------------
115 : : // Purpose : These functions return the
116 : : // first/last CoVertex'es of this Chain.
117 : : //
118 : : // Special Notes :
119 : : //
120 : : // Creator : Jason Kraftcheck
121 : : //
122 : : // Creation Date : 07/22/03
123 : : //-------------------------------------------------------------------------
124 : 0 : CoVertex* Chain::start_co_vertex()
125 : : {
126 : : // Get first CoVertex in chain
127 : 0 : SenseEntity* se_ptr = get_first_sense_entity_ptr();
128 : 0 : return static_cast<CoVertex*>(se_ptr);
129 : : }
130 : :
131 : 0 : CoVertex* Chain::end_co_vertex()
132 : : {
133 : : // Get last CoVertex in chain
134 : 0 : SenseEntity* se_ptr = get_last_sense_entity_ptr();
135 : 0 : return static_cast<CoVertex*>(se_ptr);
136 [ + - ][ + - ]: 6540 : }
137 : :
138 : : // ********** END PUBLIC FUNCTIONS **********
139 : :
140 : : // ********** BEGIN PROTECTED FUNCTIONS **********
141 : :
142 : : // ********** END PUBLIC FUNCTIONS **********
143 : : // ********** END PROTECTED FUNCTIONS **********
144 : :
145 : : // ********** BEGIN PRIVATE FUNCTIONS **********
146 : : // ********** END PRIVATE FUNCTIONS **********
147 : :
148 : : // ********** BEGIN HELPER CLASSES **********
149 : : // ********** END HELPER CLASSES **********
150 : :
151 : : // ********** BEGIN EXTERN FUNCTIONS **********
152 : : // ********** END EXTERN FUNCTIONS **********
153 : :
154 : : // ********** BEGIN STATIC FUNCTIONS **********
155 : : // ********** END STATIC FUNCTIONS **********
156 : :
|