def generateFeetForDebris():

    aff = om.findObjectByName('board A')
    if not aff:
        return

    params = aff.params

    origin = np.array(params['origin'])

    origin = origin + params['zaxis']*params['zwidth']/2.0 - params['xaxis']*params['xwidth']/2.0
    origin[2] = 0.0

    yaxis = params['zaxis']
    zaxis = np.array([0,0,1])
    xaxis = np.cross(yaxis, zaxis)

    stanceWidth = 0.35
    stanceRotation = 0.0
    stanceOffset = [-0.48, -0.08, 0]

    boardFrame = getTransformFromAxes(xaxis, yaxis, zaxis)
    boardFrame.PostMultiply()
    boardFrame.Translate(origin)

    stanceFrame, lfootFrame, rfootFrame = getFootFramesFromReferenceFrame(boardFrame, stanceWidth, stanceRotation, stanceOffset)

    showFrame(boardFrame, 'board ground frame', parent=aff, scale=0.15, visible=False)
    lfoot = showFrame(lfootFrame, 'lfoot frame', parent=aff, scale=0.15)
    rfoot = showFrame(rfootFrame, 'rfoot frame', parent=aff, scale=0.15)

    for obj in [lfoot, rfoot]:
        obj.addToView(app.getDRCView())

    #d = DebugData()
    #d.addLine(valveFrame.GetPosition(), stanceFrame.GetPosition())
    #updatePolyData(d.getPolyData(), 'stance debug')
    #publishSteppingGoal(lfootFrame, rfootFrame)
dataset/ETHPy150Open RobotLocomotion/director/src/python/director/segmentation.py/generateFeetForDebris/original