MCPcopy Create free account
hub / github.com/LibreCAD/LibreCAD / parseCode

Method parseCode

libraries/libdxfrw/src/drw_objects.cpp:29–104  ·  view source on GitHub ↗

Base class for tables entries ! * Base class for tables entries * @author Rallaz */

Source from the content-addressed store, hash-verified

27* @author Rallaz
28*/
29bool DRW_TableEntry::parseCode(int code, dxfReader *reader){
30 switch (code) {
31 case 5:
32 handle = reader->getHandleString();
33 break;
34 case 330:
35 parentHandle = reader->getHandleString();
36 break;
37 case 2:
38 name = reader->getUtf8String();
39 break;
40 case 70:
41 flags = reader->getInt32();
42 break;
43 case 1000:
44 case 1001:
45 case 1002:
46 case 1003:
47 case 1004:
48 case 1005:
49 extData.push_back(new DRW_Variant(code, reader->getString()));
50 break;
51 case 1010:
52 case 1011:
53 case 1012:
54 case 1013:
55 // don't trust in X, Y, Z order!
56 if (nullptr != curr) {
57 curr->setCoordX( reader->getDouble());
58 }
59 else {
60 curr = new DRW_Variant( code, DRW_Coord( reader->getDouble(), 0.0, 0.0));
61 extData.push_back(curr);
62 }
63 break;
64 case 1020:
65 case 1021:
66 case 1022:
67 case 1023:
68 // don't trust in X, Y, Z order!
69 if (nullptr != curr) {
70 curr->setCoordY( reader->getDouble());
71 }
72 else {
73 curr = new DRW_Variant( code, DRW_Coord( 0.0, reader->getDouble(), 0.0));
74 extData.push_back(curr);
75 }
76 break;
77 case 1030:
78 case 1031:
79 case 1032:
80 case 1033:
81 // don't trust in X, Y, Z order!
82 if (nullptr != curr) {
83 curr->setCoordZ( reader->getDouble());
84 }
85 else {
86 curr = new DRW_Variant( code, DRW_Coord( 0.0, 0.0, reader->getDouble()));

Callers

nothing calls this directly

Calls 13

reserveFunction · 0.85
getHandleStringMethod · 0.80
getUtf8StringMethod · 0.80
getInt32Method · 0.80
setCoordXMethod · 0.80
setCoordYMethod · 0.80
setCoordZMethod · 0.80
getBoolMethod · 0.80
DRW_CoordClass · 0.70
push_backMethod · 0.45
getStringMethod · 0.45
getDoubleMethod · 0.45

Tested by

no test coverage detected