コード例 #1
0
class PathSerializer():

    # Must have __init__(self) function for a class, similar to a C++ class constructor.

    def __init__(self):
        # Get the ~private namespace parameters from command li
        self.poseArray = PoseArray()
        self.filename = "/home/shart/marker_trajectories/hose/hose_traj_1.txt"
        self.yaml = "/home/shart/marker_trajectories/hose/hose_traj_1.yaml"

    def setFile(self, fname):
        self.filename = fname
        self.yaml = fname[0:fname.find('.txt')] + ".yaml"

    def appendPose(self, data):
        print "got new pose in frame: ", data.header.frame_id
        self.poseArray.header.frame_id = data.header.frame_id
        self.poseArray.poses.append(data.pose)
        foo = StringIO()
        self.poseArray.serialize(foo)

        with open(self.yaml, 'a') as f:
            f.write(str(data))

        with open(self.filename, 'w') as f:
            f.write(foo.getvalue())
コード例 #2
0
class PathSerializer():

    # Must have __init__(self) function for a class, similar to a C++ class constructor.

    def __init__(self):
        # Get the ~private namespace parameters from command li
        self.poseArray = PoseArray()
        self.filename = "/home/shart/marker_trajectories/hose/hose_traj_1.txt"
        self.yaml = "/home/shart/marker_trajectories/hose/hose_traj_1.yaml"

    def setFile(self, fname) :
        self.filename = fname
        self.yaml = fname[0:fname.find('.txt')] + ".yaml"

    def appendPose(self, data) :
        print "got new pose in frame: ", data.header.frame_id
        self.poseArray.header.frame_id = data.header.frame_id
        self.poseArray.poses.append(data.pose)
        foo = StringIO()
        self.poseArray.serialize(foo)

        with open(self.yaml, 'a') as f:
            f.write(str(data))

        with open(self.filename, 'w') as f:
            f.write(foo.getvalue())