bridge
lib C++ 包装类型与 models Pydantic 模型之间的桥接层
所有转换函数均使用函数内 lazy import,避免 lib 与 models
之间产生导入期循环依赖。
dmdbline_to_model(line)
将 DmDbLine 转换为 models.Line
Source code in dimine_python_sdk\lib\bridge.py
56 57 58 59 60 61 62 63 64 | |
dmdbpolyline_to_model(polyline)
将 DmDbPolyline 转换为 models.Line
Source code in dimine_python_sdk\lib\bridge.py
67 68 69 70 71 72 73 74 75 | |
dmdpoint_to_model(pt)
将 DmDPoint 转换为 models.Point
Source code in dimine_python_sdk\lib\bridge.py
33 34 35 36 37 38 39 40 41 | |
dmpolydata_to_tingeometry(polydata)
将 DmPolyData 转换为 models.TINGeometry
通过 DmDbLayer.insert_shell 生成 DmDbShell,再调用 parse_to_json
提取顶点坐标与三角面片索引。
Source code in dimine_python_sdk\lib\bridge.py
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | |
model_to_dmdpoint(pt)
将 models.Point 转换为 DmDPoint
Source code in dimine_python_sdk\lib\bridge.py
44 45 46 47 48 49 | |
tingeometry_to_dmpolydata(tin)
将 models.TINGeometry 转换为 DmPolyData
遍历三角网的顶点和三角面片,构造对应的 DmPolyData 对象。
Source code in dimine_python_sdk\lib\bridge.py
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | |