def testExteriorEdge(self): graph_dict = {'adjacencyList': [(0, 1)], 'segmentDiameters': [1], 'vertexPositions': [np.array([-1.5, 0.5, 0.5]), np.array([-0.5, 0.5, 0.5])], 'length': [1]} box_min = np.array([0.0, 0.0, 0.0]) box_max = np.array([1.0, 1.0, 1.0]) graph_geometry = geometry.GraphCapillaries(graph_dict) self.assertRaises(geometry.BoundingBoxError, graph_geometry.edge_coordinate_interval_in_box, 0, box_min, box_max)
def testEnteringLeavingEdge(self): graph_dict = {'adjacencyList': [(0, 1)], 'segmentDiameters': [1], 'vertexPositions': [np.array([-0.1, 0.5, 0.5]), np.array([1.1, 0.5, 0.5])], 'length': [1.2]} box_min = np.array([0.0, 0.0, 0.0]) box_max = np.array([1.0, 1.0, 1.0]) graph_geometry = geometry.GraphCapillaries(graph_dict) intervals = graph_geometry.edge_coordinate_intervals_in_box(0, box_min, box_max) self.assertAlmostEqual(intervals[0][0], 0.1) self.assertAlmostEqual(intervals[0][1], 1.1)
def testContainedEdge(self): graph_dict = {'adjacencyList': [(0, 1)], 'segmentDiameters': [1], 'vertexPositions': [np.array([0.5, 0.25, 0.5]), np.array([0.5, 0.75, 0.5])], 'length': [0.5]} box_min = np.array([0.0, 0.0, 0.0]) box_max = np.array([1.0, 1.0, 1.0]) graph_geometry = geometry.GraphCapillaries(graph_dict) coords = graph_geometry.edge_coordinate_interval_in_box(0, box_min, box_max) self.assertAlmostEqual(coords[0], 0) self.assertAlmostEqual(coords[1], 0.5)
def testStayingEdgeWidthBuffer(self): graph_dict = {'adjacencyList': [(0, 1)], 'segmentDiameters': [1], 'vertexPositions': [np.array([0.25, 0.5, 0.5]), np.array([0.75, 0.5, 0.5])], 'points': [np.array([[0.25, 0.5, 0.5], [0.25, 1.1, 0.5], [0.75, 1.1, 0.5], [0.75, 0.5, 0.5]])], 'length': [1.7]} box_min = np.array([0.0, 0.0, 0.0]) box_max = np.array([1.0, 1.0, 1.0]) graph_geometry = geometry.GraphCapillaries(graph_dict) intervals = graph_geometry.edge_coordinate_intervals_in_box(0, box_min, box_max, buffer_width=0.2) self.assertAlmostEqual(intervals[0][0], 0) self.assertAlmostEqual(intervals[0][1], 1.7) intervals2 = graph_geometry.edge_coordinate_intervals_in_box(0, box_min, box_max, buffer_width=0.05) self.assertAlmostEqual(intervals2[0][0], 0) self.assertAlmostEqual(intervals2[0][1], 0.5) self.assertAlmostEqual(intervals2[1][0], 1.2) self.assertAlmostEqual(intervals2[1][1], 1.7)