def test_pair_simple(): geometry1 = Geometry(*get_simple_model1()) geometry2 = Geometry(*get_simple_model2()) sender = Sender() scanner = PairScanner( send=sender, geometry1=geometry1, geometry2=geometry2, action_radius=10.0, hit_tolerance=0.1, rotation2=None, ) scanner.run() assert len(sender.connections) == 1
def test_pair_simple_rot(): geometry1 = Geometry(*get_simple_model1()) geometry2 = Geometry(*get_simple_model2()) rot = Rotation.from_properties(-0.5*np.pi, [0, 1, 0], False) sender = Sender() scanner = PairScanner( send=sender, geometry1=geometry1, geometry2=geometry2, action_radius=10.0, hit_tolerance=0.1, rotation2=rot, ) scanner.run() assert len(sender.connections) == 2
def test_triangle_simple(): geometry1 = Geometry(*get_simple_model1()) geometry2 = Geometry(*get_simple_model2()) sender = Sender() scanner = TriangleScanner( send=sender, geometry1=geometry1, geometry2=geometry2, action_radius=10.0, hit_tolerance=0.1, allow_inversions=True, minimum_trianlge_area=0.001**2, ) scanner.run() assert len(sender.connections) == 2
def read_geometry(frame, geometry_index, connect_description, repulse_description): coordinates = [] connect_masks = [] radii = [] for child in frame.children: if isinstance(child, GLTransformationMixin) and \ isinstance(child.transformation, Translation): is_connect, radius = get_parameters( child, "connecting", geometry_index, *connect_description) if is_connect: coordinates.append(child.transformation.t) connect_masks.append(True) radii.append(radius) else: is_repulse, radius = get_parameters( child, "repulsive", geometry_index, *repulse_description) if is_repulse: coordinates.append(child.transformation.t) connect_masks.append(False) radii.append(radius) return Geometry( numpy.array(coordinates, float), numpy.array(connect_masks, bool), numpy.array(radii, float), )
def test_pair_ego_precursor(): geometry = Geometry(*get_precursor_model()) sender = Sender() scanner = PairScanner( send=sender, geometry1=geometry, geometry2=None, action_radius=5.0, hit_tolerance=0.1, rotation2=None, ) scanner.run()
def test_pair_ego_precursor_rot(): geometry = Geometry(*get_precursor_model()) rot = Rotation.from_properties(-0.5*np.pi, [-1, 1, 0], False) sender = Sender() scanner = PairScanner( send=sender, geometry1=geometry, geometry2=None, action_radius=10.0, hit_tolerance=0.1, rotation2=rot, ) scanner.run()
def test_triangle_ego_precursor(): geometry = Geometry(*get_precursor_model()) sender = Sender() scanner = TriangleScanner( send=sender, geometry1=geometry, geometry2=None, action_radius=5.0, hit_tolerance=0.1, allow_inversions=True, minimum_trianlge_area=0.001**2, ) scanner.run()