Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Filename : FacetCoEdge.cpp
3 : : //
4 : : // Purpose :
5 : : //
6 : : // Special Notes :
7 : : //
8 : : // Creator : Steven J. Owen
9 : : //
10 : : // Creation Date : 07/18/00
11 : : //
12 : : // Owner : Steven J. Owen
13 : : //-------------------------------------------------------------------------
14 : :
15 : : // ********** BEGIN STANDARD INCLUDES **********
16 : : // ********** END STANDARD INCLUDES **********
17 : :
18 : : // ********** BEGIN CUBIT INCLUDES **********
19 : : #include "CubitDefines.h"
20 : : #include "CastTo.hpp"
21 : : #include "FacetCoEdge.hpp"
22 : : #include "FacetLoop.hpp"
23 : : #include "FacetQueryEngine.hpp"
24 : : #include "CubitUtil.hpp"
25 : :
26 : : #include "FacetBody.hpp"
27 : : #include "FacetLump.hpp"
28 : : #include "FacetShell.hpp"
29 : : #include "FacetSurface.hpp"
30 : : #include "FacetCurve.hpp"
31 : : // ********** END CUBIT INCLUDES **********
32 : :
33 : : // ********** BEGIN FORWARD DECLARATIONS **********
34 : : // ********** END FORWARD DECLARATIONS **********
35 : :
36 : : // ********** BEGIN STATIC DECLARATIONS **********
37 : : // ********** END STATIC DECLARATIONS **********
38 : :
39 : : // ********** BEGIN PUBLIC FUNCTIONS **********
40 : :
41 : : //-------------------------------------------------------------------------
42 : : // Purpose : A constructor with a pointer to a Facet CoEdge.
43 : : //
44 : : // Special Notes :
45 : : //
46 : : // Creator : Steve Owen
47 : : //
48 : : // Creation Date : 07/18/00
49 : : //-------------------------------------------------------------------------
50 : 2244 : FacetCoEdge::FacetCoEdge( Curve *curv_ptr, LoopSM *loop_ptr, CubitSense sense )
51 : : {
52 : 1122 : myCurve = curv_ptr;
53 : 1122 : myLoop = loop_ptr;
54 : 1122 : edgeSense = sense;
55 : 1122 : }
56 : :
57 : : //-------------------------------------------------------------------------
58 : : // Purpose : A constructor with a pointer to a Facet CoEdge.
59 : : //
60 : : // Special Notes : Constructor used for save/restore
61 : : //
62 : : // Creator : Corey Ernst
63 : : //
64 : : // Creation Date : 02/03/03
65 : : //-------------------------------------------------------------------------
66 : 1056 : FacetCoEdge::FacetCoEdge( Curve *curv_ptr, CubitSense sense )
67 : : {
68 : 528 : myCurve = curv_ptr;
69 : 528 : myLoop = NULL;
70 : 528 : edgeSense = sense;
71 : 528 : }
72 : :
73 : : //-------------------------------------------------------------------------
74 : : // Purpose : The destructor
75 : : //
76 : : // Special Notes :
77 : : //
78 : : // Creator : Steve Owen
79 : : //
80 : : // Creation Date : 07/18/00
81 : : //-------------------------------------------------------------------------
82 : 0 : FacetCoEdge::~FacetCoEdge()
83 : : {
84 [ # # ]: 0 : }
85 : :
86 : : //-------------------------------------------------------------------------
87 : : // Purpose : Get geometry modeling engine: FacetQueryEngine
88 : : //
89 : : // Special Notes :
90 : : //
91 : : // Creator : Steve Owen
92 : : //
93 : : // Creation Date : 07/18/00
94 : : //-------------------------------------------------------------------------
95 : 0 : GeometryQueryEngine* FacetCoEdge::get_geometry_query_engine() const
96 : : {
97 : 0 : return FacetQueryEngine::instance();
98 : : }
99 : :
100 : : //-------------------------------------------------------------------------
101 : : // Purpose : The purpose of this function is to append a
102 : : // attribute to the OSME. The name is attached to the
103 : : // underlying solid model entity this one points to.
104 : : //
105 : : //
106 : : // Special Notes :
107 : : //
108 : : // Creator : Steve Owen
109 : : //
110 : : // Creation Date : 07/18/00
111 : : //-------------------------------------------------------------------------
112 : 0 : void FacetCoEdge::append_simple_attribute_virt(const CubitSimpleAttrib& /*csattrib_ptr*/)
113 : : {
114 : : //PRINT_ERROR("FacetCoEdge::append_simple_attribute_virt not implemented\n");
115 : 0 : return;
116 : : }
117 : :
118 : :
119 : : //-------------------------------------------------------------------------
120 : : // Purpose : The purpose of this function is to remove a simple
121 : : // attribute attached to this geometry entity. The name is
122 : : // removed from the underlying BODY this points to.
123 : : //
124 : : // Special Notes :
125 : : //
126 : : // Creator : Steve Owen
127 : : //
128 : : // Creation Date : 07/18/00
129 : : //-------------------------------------------------------------------------
130 : 0 : void FacetCoEdge::remove_simple_attribute_virt(const CubitSimpleAttrib& /*csattrib_ptr*/)
131 : : {
132 : : //PRINT_ERROR("FacetCoEdge::remove_simple_attribute_virt not implemented\n");
133 : 0 : return;
134 : : }
135 : :
136 : : //-------------------------------------------------------------------------
137 : : // Purpose : The purpose of this function is to remove all simple
138 : : // attributes attached to this geometry entity. Also
139 : : // removes lingering GTC attributes.
140 : : //
141 : : //
142 : : // Special Notes :
143 : : //
144 : : // Creator : Steve Owen
145 : : //
146 : : // Creation Date : 07/18/00
147 : : //-------------------------------------------------------------------------
148 : 0 : void FacetCoEdge::remove_all_simple_attribute_virt()
149 : : {
150 : : //PRINT_ERROR("FacetCoEdge::remove_all_simple_attribute_virt not implemented\n");
151 : 0 : return;
152 : : }
153 : :
154 : : //-------------------------------------------------------------------------
155 : : // Purpose : The purpose of this function is to get the
156 : : // attributes attached to this geometry entity. The name is
157 : : // attached to the underlying BODY this points to.
158 : : //
159 : : // Special Notes :
160 : : //
161 : : // Creator : Steve Owen
162 : : //
163 : : // Creation Date : 07/18/00
164 : : //-------------------------------------------------------------------------
165 : 0 : CubitStatus FacetCoEdge::get_simple_attribute(DLIList<CubitSimpleAttrib>&
166 : : /*cubit_simple_attrib_list*/)
167 : : {
168 : : //PRINT_ERROR("FacetCoEdge::get_simple_attribute not implemented\n");
169 : 0 : return CUBIT_FAILURE;
170 : : }
171 : 0 : CubitStatus FacetCoEdge::get_simple_attribute(const CubitString&,
172 : : DLIList<CubitSimpleAttrib>&)
173 : 0 : { return CUBIT_FAILURE; }
174 : :
175 : :
176 : 1760 : CubitSense FacetCoEdge::sense()
177 : : {
178 : 1760 : return edgeSense;
179 : : }
180 : : /*
181 : : void FacetCoEdge::bodysms(DLIList<BodySM*> &bodies)
182 : : {
183 : : myLoop->bodysms(bodies);
184 : : }
185 : :
186 : : void FacetCoEdge::lumps(DLIList<Lump*> &lumps)
187 : : {
188 : : myLoop->lumps(lumps);
189 : : }
190 : :
191 : : void FacetCoEdge::shellsms(DLIList<ShellSM*> &shellsms)
192 : : {
193 : : myLoop->shellsms(shellsms);
194 : : }
195 : :
196 : : void FacetCoEdge::surfaces(DLIList<Surface*> &surfaces)
197 : : {
198 : : myLoop->surfaces( surfaces );
199 : : }
200 : :
201 : : void FacetCoEdge::loopsms(DLIList<LoopSM*> &loopsms)
202 : : {
203 : : loopsms.append_unique( myLoop );
204 : : }
205 : :
206 : : void FacetCoEdge::coedgesms(DLIList<CoEdgeSM*> &coedgesms)
207 : : {
208 : : coedgesms.append_unique( this );
209 : : }
210 : :
211 : : void FacetCoEdge::curves(DLIList<Curve*> &curves)
212 : : {
213 : : curves.append_unique( myCurve );
214 : : }
215 : :
216 : : void FacetCoEdge::points(DLIList<Point*> &points)
217 : : {
218 : : myCurve->points( points );
219 : : }
220 : : */
221 : :
222 : 66 : void FacetCoEdge::get_parents_virt( DLIList<TopologyBridge*>& parents )
223 [ + - ]: 66 : { parents.append( myLoop ); }
224 : :
225 : 7359 : void FacetCoEdge::get_children_virt( DLIList<TopologyBridge*>& children )
226 [ + - ]: 7359 : { children.append( myCurve ); }
227 : :
228 : 0 : void FacetCoEdge::reverse_sense()
229 : : {
230 : 0 : edgeSense = CubitUtil::opposite_sense( edgeSense );
231 : 0 : }
232 : :
233 : :
234 : 0 : void FacetCoEdge::get_lumps( DLIList<FacetLump*>& result_list )
235 : : {
236 [ # # ]: 0 : DLIList<FacetShell*> shell_list;
237 [ # # ]: 0 : get_shells( shell_list );
238 [ # # ]: 0 : shell_list.reset();
239 [ # # ][ # # ]: 0 : for ( int i = shell_list.size(); i--; )
240 : : {
241 [ # # ]: 0 : FacetShell* shell = shell_list.get_and_step();
242 [ # # ]: 0 : shell->get_lumps( result_list );
243 [ # # ][ # # ]: 0 : FacetLump* lump = dynamic_cast<FacetLump*>(shell->get_lump());
244 [ # # ]: 0 : if (lump)
245 [ # # ]: 0 : result_list.append_unique(lump);
246 [ # # ]: 0 : }
247 : 0 : }
248 : :
249 : 0 : void FacetCoEdge::get_shells( DLIList<FacetShell*>& result_list )
250 : : {
251 [ # # ][ # # ]: 0 : if ( FacetLoop* loop = dynamic_cast<FacetLoop*>(myLoop) )
252 [ # # ][ # # ]: 0 : if ( FacetSurface* surf = dynamic_cast<FacetSurface*>(loop->get_surface()) )
253 : 0 : surf->get_shells( result_list );
254 : 0 : }
255 : :
256 : 1980 : void FacetCoEdge::get_curves( DLIList<FacetCurve*>& result_list )
257 : : {
258 [ - + ][ + - ]: 1980 : if (FacetCurve* curve = dynamic_cast<FacetCurve*>(myCurve))
259 [ + - ]: 1980 : result_list.append(curve);
260 [ + - ][ + - ]: 8520 : }
261 : :
262 : :
263 : : // ********** END PUBLIC FUNCTIONS **********
264 : :
265 : : // ********** BEGIN PROTECTED FUNCTIONS **********
266 : : // ********** END PROTECTED FUNCTIONS **********
267 : :
268 : : // ********** BEGIN PRIVATE FUNCTIONS **********
269 : : // ********** END PRIVATE FUNCTIONS **********
270 : :
271 : : // ********** BEGIN HELPER CLASSES **********
272 : : // ********** END HELPER CLASSES **********
273 : :
274 : : // ********** BEGIN EXTERN FUNCTIONS **********
275 : : // ********** END EXTERN FUNCTIONS **********
276 : :
277 : : // ********** BEGIN STATIC FUNCTIONS **********
278 : : // ********** END STATIC FUNCTIONS **********
279 : :
|