| 121 | if __name__ == '__main__': |
| 122 | |
| 123 | def main(): |
| 124 | print('Demonstrating LineMesh vs LineSet') |
| 125 | # Create Line Set |
| 126 | points = [[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0], [0, 0, 1], |
| 127 | [1, 0, 1], [0, 1, 1], [1, 1, 1]] |
| 128 | lines = [[0, 1], [0, 2], [1, 3], [2, 3], [4, 5], [4, 6], [5, 7], |
| 129 | [6, 7], [0, 4], [1, 5], [2, 6], [3, 7]] |
| 130 | colors = [[1, 0, 0] for i in range(len(lines))] |
| 131 | |
| 132 | line_set = o3d.geometry.LineSet() |
| 133 | line_set.points = o3d.utility.Vector3dVector(points) |
| 134 | line_set.lines = o3d.utility.Vector2iVector(lines) |
| 135 | line_set.colors = o3d.utility.Vector3dVector(colors) |
| 136 | |
| 137 | # Create Line Mesh 1 |
| 138 | points = np.array(points) + [0, 0, 2] |
| 139 | line_mesh1 = LineMesh(points, lines, colors, radius=0.02) |
| 140 | line_mesh1_geoms = line_mesh1.cylinder_segments |
| 141 | |
| 142 | # Create Line Mesh 1 |
| 143 | points = np.array(points) + [0, 2, 0] |
| 144 | line_mesh2 = LineMesh(points, radius=0.03) |
| 145 | line_mesh2_geoms = line_mesh2.cylinder_segments |
| 146 | |
| 147 | o3d.visualization.draw_geometries( |
| 148 | [line_set, *line_mesh1_geoms, *line_mesh2_geoms]) |
| 149 | |
| 150 | main() |