class HexapodBody(object): def __init__(self, parent_ref, config): irot, itrans = config.getInitialPose() self.ref = ReferenceFrame(Vector3(itrans), Quaternion.from_eulers(irot), parent_ref) self.legs = [] def getLegSegments(self, config, lobj): legargs = config.getLegSegmentConfig(lobj.getId()) segs = [] prevSeg = lobj for args in legargs: prevSeg = HexapodLegSegment(prevSeg, *args) segs.append(prevSeg) return segs # Returns -1 if left side, 1 otherwise. def getLegDirection(self, leg): if "left" in leg.getId(): return -1 else: return 1 def setRotation(self, rot): self.ref.setRotation(rot) def setTranslation(self, trans): self.ref.setTranslation(trans)
class HexapodBody(object): def __init__(self, parent_ref, config): irot, itrans = config.getInitialPose(); self.ref = ReferenceFrame(Vector3(itrans), Quaternion.from_eulers(irot), parent_ref); self.legs = []; def getLegSegments(self, config, lobj): legargs = config.getLegSegmentConfig(lobj.getId()) segs = []; prevSeg = lobj; for args in legargs: prevSeg = HexapodLegSegment(prevSeg, *args); segs.append(prevSeg); return segs; # Returns -1 if left side, 1 otherwise. def getLegDirection(self, leg): if "left" in leg.getId(): return -1; else: return 1; def setRotation(self, rot): self.ref.setRotation(rot); def setTranslation(self, trans): self.ref.setTranslation(trans);