MCPcopy Create free account
hub / github.com/XRay3D/GERBER_X3 / CodeData

Method CodeData

file_plugins/dxf/dxf_codedata.cpp:44–170  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

42}
43
44CodeData::CodeData(int code, const QString& value, int lineNum)
45 : lineNum(lineNum)
46 , m_code(code)
47 , strVal(value)
48{
49 bool ok = true;
50 Type type;
51 if (0 <= code && code <= 9) // Строка (с появлением расширенных имен символов в AutoCAD 2000 предел в 255 символов был увеличен
52 // до 2049 однобайтовых символов без учета символа абзаца в конце строки).
53 // Подробные сведения см. в разделе «Хранение строковых значений».
54 type = String;
55 else if (10 <= code && code <= 39) // Значение 3D-точки двойной точности
56 type = Double;
57 else if (40 <= code && code <= 59) // Значение с плавающей запятой двойной точности
58 type = Double;
59 else if (60 <= code && code <= 79) // 16-разрядное целое значение
60 type = Integer16;
61 else if (90 <= code && code <= 99) // 32-разрядное целое значение
62 type = Integer32;
63 else if (100 == code) // Строка (максимум 255 символов, меньше для строк в формате Юникод). Подробные сведения см. в разделе «Хранение строковых значений»
64 type = String;
65 else if (102 == code) // Строка (максимум 255 символов, меньше для строк в формате Юникод). Подробные сведения см. в разделе «Хранение строковых значений»
66 type = String;
67 else if (105 == code) // Строка, представляющая шестнадцатеричное значение дескриптора
68 type = String;
69 else if (110 <= code && code <= 119) // Значение с плавающей запятой двойной точности
70 type = Double;
71 else if (120 <= code && code <= 129) // Значение с плавающей запятой двойной точности
72 type = Double;
73 else if (130 <= code && code <= 139) // Значение с плавающей запятой двойной точности
74 type = Double;
75 else if (140 <= code && code <= 149) // Скалярное значение с плавающей запятой двойной точности
76 type = Double;
77 else if (160 <= code && code <= 169) // 64-разрядное целое значение
78 type = Integer64;
79 else if (170 <= code && code <= 179) // 16-разрядное целое значение
80 type = Integer16;
81 else if (210 <= code && code <= 239) // Значение с плавающей запятой двойной точности
82 type = Double;
83 else if (270 <= code && code <= 279) // 16-разрядное целое значение
84 type = Integer16;
85 else if (280 <= code && code <= 289) // 16-разрядное целое значение
86 type = Integer16;
87 else if (290 <= code && code <= 299) // Логическое значение флага
88 type = String;
89 else if (300 <= code && code <= 309) // Произвольная текстовая строка. Подробные сведения см. в разделе «Хранение строковых значений»
90 type = String;
91 else if (310 <= code && code <= 319) // Строка, представляющая шестнадцатеричное значение двоичного уровня
92 type = String;
93 else if (320 <= code && code <= 329) // Строка, представляющая шестнадцатеричное значение дескриптора
94 type = String;
95 else if (330 <= code && code <= 369) // Строка, представляющая шестнадцатеричное значение идентификаторов объектов
96 type = String;
97 else if (370 <= code && code <= 379) // 16-разрядное целое значение
98 type = Integer16;
99 else if (380 <= code && code <= 389) // 16-разрядное целое значение
100 type = Integer16;
101 else if (390 <= code && code <= 399) // Строка, представляющая шестнадцатеричное значение дескриптора

Callers

nothing calls this directly

Calls 1

toDoubleMethod · 0.45

Tested by

no test coverage detected