Branch data Line data Source code
1 : : #include "GSaveOpen.hpp"
2 : : #include "RefEntity.hpp"
3 : : #include "Body.hpp"
4 : : #include "RefVolume.hpp"
5 : : #include "RefFace.hpp"
6 : : #include "RefEdge.hpp"
7 : : #include "RefVertex.hpp"
8 : : #include "RefEntityFactory.hpp"
9 : :
10 : : // Initialize Globals
11 : : int GSaveOpen::performingUndo = 0;
12 : : int GSaveOpen::gsoSetsIds = 0;
13 : : int GSaveOpen::gsoIncBodyId = 0;
14 : : int GSaveOpen::gsoIncRefVolumeId = 0;
15 : : int GSaveOpen::gsoIncRefFaceId = 0;
16 : : int GSaveOpen::gsoIncRefEdgeId = 0;
17 : : int GSaveOpen::gsoIncRefVertexId = 0;
18 : : int GSaveOpen::gsoErrorCount = 0;
19 : 1635 : DLIList<int> GSaveOpen::gsoErrorIdList;
20 : :
21 : 0 : GSaveOpen::GSaveOpen()
22 : : {
23 : 0 : RefEntityFactory *ref = RefEntityFactory::instance();
24 : :
25 [ # # ]: 0 : if( performingUndo == 1 )
26 : : {
27 : 0 : gsoSetsIds = 0;
28 : 0 : gsoIncBodyId = 0;
29 : 0 : gsoIncRefVolumeId = 0;
30 : 0 : gsoIncRefFaceId = 0;
31 : 0 : gsoIncRefEdgeId = 0;
32 : 0 : gsoIncRefVertexId = 0;
33 : : }
34 : : else
35 : : {
36 : 0 : gsoSetsIds = 1;
37 : 0 : gsoIncBodyId = ref->current_body_id();
38 : 0 : gsoIncRefVolumeId = ref->current_volume_id();
39 : 0 : gsoIncRefFaceId = ref->current_face_id();
40 : 0 : gsoIncRefEdgeId = ref->current_edge_id();
41 : 0 : gsoIncRefVertexId = ref->current_vertex_id();
42 : : }
43 : 0 : gsoErrorCount = 0;
44 : 0 : }
45 : :
46 : 0 : GSaveOpen::~GSaveOpen()
47 : : {
48 : : // Reset globals
49 : 0 : gsoSetsIds = 0;
50 : 0 : gsoIncBodyId = 0;
51 : 0 : gsoIncRefVolumeId = 0;
52 : 0 : gsoIncRefFaceId = 0;
53 : 0 : gsoIncRefEdgeId = 0;
54 : 0 : gsoIncRefVertexId = 0;
55 : 0 : gsoErrorCount = 0;
56 : 0 : gsoErrorIdList.clean_out();
57 : 0 : }
58 : :
59 : : int
60 : 0 : GSaveOpen::get_id_inc( RefEntity *entity )
61 : : {
62 : 0 : const std::type_info* my_type = &entity->entity_type_info();
63 : :
64 [ # # ]: 0 : if( *my_type == typeid(Body) )
65 : 0 : return gsoIncBodyId;
66 [ # # ]: 0 : else if( *my_type == typeid(RefVolume) )
67 : 0 : return gsoIncRefVolumeId;
68 [ # # ]: 0 : else if( *my_type == typeid(RefFace) )
69 : 0 : return gsoIncRefFaceId;
70 [ # # ]: 0 : else if( *my_type == typeid(RefEdge) )
71 : 0 : return gsoIncRefEdgeId;
72 [ # # ]: 0 : else if( *my_type == typeid(RefVertex) )
73 : 0 : return gsoIncRefVertexId;
74 : :
75 : 0 : return -1; // This function doesn't understand the type
76 [ + - ][ + - ]: 6540 : }
77 : :
78 : :
|