def test_FramesRenderer_OrientationsRenderer():
        frame0 = mm.I_SE3()
        frame1 = mm.Rp2T(mm.exp(mm.v3(0, 1, 0), math.pi / 8.), (1, 0, 0))

        viewer = ysv.SimpleViewer()
        viewer.doc.addRenderer('frame0', FramesRenderer([frame0], (255, 0, 0)))
        viewer.doc.addRenderer('frame1', FramesRenderer([frame1], (255, 0, 0)))
        viewer.doc.addRenderer(
            'orientation0',
            OrientationsRenderer([mm.T2R(frame0)], [mm.T2p(frame0)],
                                 (0, 255, 0)))
        viewer.doc.addRenderer(
            'orientation1',
            OrientationsRenderer([mm.T2R(frame1)], [mm.T2p(frame1)],
                                 (0, 255, 0)))

        viewer.show()
        Fl.run()
 def getUpRightVectors(self):
     SE3_2 = mmMath.getSE3ByRotY(self.rotateY)
     SE3_3 = mmMath.getSE3ByRotX(self.rotateX)
     SO3 = mmMath.T2R(numpy.dot(SE3_2, SE3_3))
     return numpy.dot(SO3, (0, 1, 0)), numpy.dot(SO3, (1, 0, 0))