1mod parse;
7mod read;
8mod write;
9
10pub use read::{IgesImport, IgesReport, read_iges, read_iges_file};
11pub use write::{IgesExport, write_iges, write_iges_reported};
12
13pub const SUPPORTED_ENTITIES: &[(i64, &str)] = &[
16 (100, "CIRCULAR_ARC"),
17 (102, "COMPOSITE_CURVE"),
18 (104, "CONIC_ARC"),
19 (106, "COPIOUS_DATA"),
20 (108, "PLANE"),
21 (110, "LINE"),
22 (112, "SPLINE_CURVE"),
23 (114, "PARAMETRIC_SPLINE_SURFACE"),
24 (116, "POINT"),
25 (118, "RULED_SURFACE"),
26 (120, "SURFACE_OF_REVOLUTION"),
27 (122, "TABULATED_CYLINDER"),
28 (123, "DIRECTION"),
29 (124, "TRANSFORMATION_MATRIX"),
30 (126, "B_SPLINE_CURVE"),
31 (128, "B_SPLINE_SURFACE"),
32 (130, "OFFSET_CURVE"),
33 (140, "OFFSET_SURFACE"),
34 (141, "BOUNDARY"),
35 (142, "CURVE_ON_SURFACE"),
36 (143, "BOUNDED_SURFACE"),
37 (144, "TRIMMED_SURFACE"),
38 (150, "BLOCK"),
39 (152, "RIGHT_ANGULAR_WEDGE"),
40 (154, "RIGHT_CIRCULAR_CYLINDER"),
41 (156, "RIGHT_CIRCULAR_CONE_FRUSTUM"),
42 (158, "SPHERE"),
43 (160, "TORUS"),
44 (162, "SOLID_OF_REVOLUTION"),
45 (164, "SOLID_OF_LINEAR_EXTRUSION"),
46 (168, "ELLIPSOID"),
47 (180, "BOOLEAN_TREE"),
48 (184, "SOLID_ASSEMBLY"),
49 (186, "MANIFOLD_SOLID"),
50 (190, "PLANE_SURFACE"),
51 (192, "RIGHT_CIRCULAR_CYLINDRICAL_SURFACE"),
52 (194, "RIGHT_CIRCULAR_CONICAL_SURFACE"),
53 (196, "SPHERICAL_SURFACE"),
54 (198, "TOROIDAL_SURFACE"),
55 (202, "ANGULAR_DIMENSION"),
56 (206, "DIAMETER_DIMENSION"),
57 (208, "FLAG_NOTE"),
58 (210, "GENERAL_LABEL"),
59 (212, "GENERAL_NOTE"),
60 (214, "LEADER_ARROW"),
61 (216, "LINEAR_DIMENSION"),
62 (218, "ORDINATE_DIMENSION"),
63 (220, "POINT_DIMENSION"),
64 (222, "RADIUS_DIMENSION"),
65 (228, "GENERAL_SYMBOL"),
66 (308, "SUBFIGURE_DEFINITION"),
67 (314, "COLOR"),
68 (402, "GROUP"),
69 (406, "DEFINITION_LEVELS"),
70 (408, "SINGULAR_SUBFIGURE"),
71 (412, "RECTANGULAR_ARRAY_SUBFIGURE"),
72 (414, "CIRCULAR_ARRAY_SUBFIGURE"),
73 (416, "EXTERNAL_REFERENCE"),
74 (430, "SOLID_INSTANCE"),
75 (502, "VERTEX_LIST"),
76 (504, "EDGE_LIST"),
77 (508, "LOOP"),
78 (510, "FACE"),
79 (514, "SHELL"),
80];
81
82#[must_use]
84pub fn entity_name(kind: i64) -> Option<&'static str> {
85 SUPPORTED_ENTITIES
86 .iter()
87 .find(|(k, _)| *k == kind)
88 .map(|(_, n)| *n)
89}