Exemplo n.º 1
0
                     xmlr.Attribute('value', "vector")])


class Sphere(xmlr.Object):
    def __init__(self, center=None, radius=0.0):
        self.center = center
        self.radius = radius


xmlr.reflect(
    Sphere,
    params=[xmlr.Attribute('center', str),
            xmlr.Attribute('radius', float)])

# Common stuff again
link_element = xmlr.Element('link', Link, False)


class VirtualJoint(xmlr.Object):
    TYPES = ['unknown', 'fixed', 'floating', 'planar']

    def __init__(self,
                 name=None,
                 child_link=None,
                 parent_frame=None,
                 joint_type=None):
        self.name = name
        self.child_link = child_link
        self.parent_frame = parent_frame
        self.type = joint_type
Exemplo n.º 2
0
   name_attribute,
   xmlr.Attribute('value', float)
  ])

class Sphere(xmlr.Object):
  def __init__(self, center = None, radius = 0.0):
    self.center = center
    self.radius = radius

xmlr.reflect(Sphere, params = [
   xmlr.Attribute('center', str),
   xmlr.Attribute('radius', float)
  ])

# Common stuff again
link_element = xmlr.Element('link', Link, False)

class VirtualJoint(xmlr.Object):
  TYPES = ['unknown', 'fixed', 'floating', 'planar']
  
  def __init__(self, name = None, child_link = None, parent_frame = None, joint_type = None):
    self.name = name
    self.child_link = child_link
    self.parent_frame = parent_frame
    self.type = joint_type
    
  def check_valid(self):
    assert self.type in self.TYPES, "Invalid joint type: {}".format(self.type)
  
  # Aliases
  @property
Exemplo n.º 3
0
        return self.xyz

    @position.setter
    def position(self, value):
        self.xyz = value


xmlr.reflect(Pose,
             params=[
                 xmlr.Attribute('xyz', 'vector3', False, default=[0, 0, 0]),
                 xmlr.Attribute('rpy', 'vector3', False, default=[0, 0, 0])
             ])

# Common stuff
name_attribute = xmlr.Attribute('name', str)
origin_element = xmlr.Element('origin', Pose, False)


class Color(xmlr.Object):
    def __init__(self, *args):
        # What about named colors?
        count = len(args)
        if count == 4 or count == 3:
            self.rgba = args
        elif count == 1:
            self.rgba = args[0]
        elif count == 0:
            self.rgba = None
        if self.rgba is not None:
            if len(self.rgba) == 3:
                self.rgba += [1.]
Exemplo n.º 4
0
    def read_xml(self, node):
        # Better way to do this? Define type?
        vec = get_type('vector6').read_xml(node)
        self.load_vec(vec)

    def write_xml(self, node):
        vec = self.as_vec()
        get_type('vector6').write_xml(node, vec)

    def check_valid(self):
        assert self.xyz is not None or self.rpy is not None


name_attribute = xmlr.Attribute('name', str)
pose_element = xmlr.Element('pose', Pose, False)


class Entity(xmlr.Object):
    def __init__(self, name=None, pose=None):
        self.name = name
        self.pose = pose


xmlr.reflect(Entity, params=[name_attribute, pose_element])


class Inertia(xmlr.Object):
    KEYS = ['ixx', 'ixy', 'ixz', 'iyy', 'iyz', 'izz']

    def __init__(self, ixx=0.0, ixy=0.0, ixz=0.0, iyy=0.0, iyz=0.0, izz=0.0):
Exemplo n.º 5
0
        return self.xyz

    @position.setter
    def position(self, value):
        self.xyz = value


xmlr.reflect(Pose,
             params=[
                 xmlr.Attribute('xyz', 'vector3', False),
                 xmlr.Attribute('rpy', 'vector3', False)
             ])

# Common stuff
name_attribute = xmlr.Attribute('name', str)
origin_element = xmlr.Element('origin', Pose, False)


class Color(xmlr.Object):
    def __init__(self, *args):
        # What about named colors?
        count = len(args)
        if count == 4 or count == 3:
            self.rgba = args
        elif count == 1:
            self.rgba = args[0]
        elif count == 0:
            self.rgba = None
        if self.rgba is not None:
            if len(self.rgba) == 3:
                self.rgba += [1.]
Exemplo n.º 6
0
    def read_xml(self, node):
        # Better way to do this? Define type?
        vec = get_type("vector6").read_xml(node)
        self.load_vec(vec)

    def write_xml(self, node):
        vec = self.as_vec()
        get_type("vector6").write_xml(node, vec)

    def check_valid(self):
        assert self.xyz is not None or self.rpy is not None


name_attribute = xmlr.Attribute("name", str)
pose_element = xmlr.Element("pose", Pose, False)


class Entity(xmlr.Object):
    def __init__(self, name=None, pose=None):
        self.name = name
        self.pose = pose


xmlr.reflect(Entity, params=[name_attribute, pose_element])


class Inertia(xmlr.Object):
    KEYS = ["ixx", "ixy", "ixz", "iyy", "iyz", "izz"]

    def __init__(self, ixx=0.0, ixy=0.0, ixz=0.0, iyy=0.0, iyz=0.0, izz=0.0):