def segmentDrillWall(point1, point2, point3):


    inputObj = om.findObjectByName('pointcloud snapshot')
    polyData = inputObj.polyData



    points = [point1, point2, point3]

    viewPlaneNormal = np.array(getSegmentationView().camera().GetViewPlaneNormal())
    expectedNormal = np.cross(point2 - point1, point3 - point1)
    expectedNormal /= np.linalg.norm(expectedNormal)
    if np.dot(expectedNormal, viewPlaneNormal) < 0:
        expectedNormal *= -1.0

    polyData, origin, normal = applyPlaneFit(polyData, expectedNormal=expectedNormal, searchOrigin=3.0/(point1 + point2 + point3), searchRadius=0.3, angleEpsilon=0.3, returnOrigin=True)

    points = [projectPointToPlane(point, origin, normal) for point in points]

    xaxis = -normal
    zaxis = [0, 0, 1]
    yaxis = np.cross(zaxis, xaxis)
    yaxis /= np.linalg.norm(yaxis)
    zaxis = np.cross(xaxis, yaxis)

    t = getTransformFromAxes(xaxis, yaxis, zaxis)
    t.PostMultiply()
    t.Translate(points[0])

    d = DebugData()
    pointsInWallFrame = []
    for p in points:
        pp = np.zeros(3)
        t.GetLinearInverse().TransformPoint(p, pp)
        pointsInWallFrame.append(pp)
        d.addSphere(pp, radius=0.02)

    for a, b in zip(pointsInWallFrame, pointsInWallFrame[1:] + [pointsInWallFrame[0]]):
        d.addLine(a, b, radius=0.015)

    aff = showPolyData(d.getPolyData(), 'drill target', cls=FrameAffordanceItem, color=[0,1,0], visible=True)
    aff.actor.SetUserTransform(t)
    showFrame(t, 'drill target frame', parent=aff, visible=False)
    refitWallCallbacks.append(functools.partial(refitDrillWall, aff))

    params = dict(origin=points[0], xaxis=xaxis, yaxis=yaxis, zaxis=zaxis, xwidth=0.1, ywidth=0.1, zwidth=0.1,
                  p1y=pointsInWallFrame[0][1], p1z=pointsInWallFrame[0][2],
                  p2y=pointsInWallFrame[1][1], p2z=pointsInWallFrame[1][2],
                  p3y=pointsInWallFrame[2][1], p3z=pointsInWallFrame[2][2],
                  friendly_name='drill_wall', otdf_type='drill_wall')

    aff.setAffordanceParams(params)
    aff.updateParamsFromActorTransform()
    aff.addToView(app.getDRCView())
dataset/ETHPy150Open RobotLocomotion/director/src/python/director/segmentation.py/segmentDrillWall/swapped operands of `/`