myoconverter.xml.parsers

This module defines parsers (classes) that collect individual parsers from their respective packages.

The individual parsers and respective packages are defined under myoconverter.xml

Module Contents

Classes

BaseParser

Defines a base class for parsers.

BodyParser

This class collects all parsers relevant to parsing bodies.

ConstraintParser

This class collects all parsers relevant to parsing constraints.

JointParser

This class collects all parsers relevant to parsing joints.

ForceParser

This class collects all parsers relevant to parsing forces.

PathPointParser

This class collects all parsers relevant to parsing path points.

WrapObjectParser

This class collects all parsers relevant to parsing wrap objects.

PathWrapParser

This class collects all parsers relevant to parsing path wraps (except see PathWrapSetParser).

PathWrapSetParser

A higher hierarchy level parser for parsing PathWrapSets, where we need to keep track of multiple path wraps

MarkerParser

This class collects all parsers relevant to parsing markers.

IParser

This class defines an interface that the individual parsers must implement.

class myoconverter.xml.parsers.BaseParser(component, ignore_files=set())[source]

Defines a base class for parsers.

The individual parsers derived from this class handle element specific parsing and converting. In addition to inheriting from this class, all parsers must implement the IParser interface.

parse(xml, **kwargs)[source]

Calls the correct parser for given XML element.

Parameters:
  • xml – OpenSim XML element to be parsed and converted to MuJoCo model

  • kwargs – Optional keyword arguments for parsers

Returns:

Optional return value defined by the parser that is called

Raises:

NotImplementedError: If a parser for given XML has not been implemented

Raises:

RuntimeWarning: If a parser has been implemented, but doesn’t follow the IParser interface

parse_all(objects, **kwargs)[source]

A utility function to parse all elements in given list of objects

Parameters:
  • objects – A list of XML elements

  • kwargs – Optional keyword arguments

Returns:

None

_collect_parsers(files)[source]

Collect all implemented parsers

Parameters:

files – A list of files, each defines a parser

Returns:

A dictionary with all parsers defined in given files

class myoconverter.xml.parsers.BodyParser[source]

Bases: BaseParser

This class collects all parsers relevant to parsing bodies.

All body parsers should be inside myoconverter.xml.bodies package. One class per file, with class name matching file name.

class myoconverter.xml.parsers.ConstraintParser[source]

Bases: BaseParser

This class collects all parsers relevant to parsing constraints.

All constraint parsers should be inside myoconverter.xml.constraints package. One class per file, with class name matching file name.

class myoconverter.xml.parsers.JointParser[source]

Bases: BaseParser

This class collects all parsers relevant to parsing joints.

All joint parsers should be inside myoconverter.xml.joints package. One class per file, with class name matching file name.

class myoconverter.xml.parsers.ForceParser[source]

Bases: BaseParser

This class collects all parsers relevant to parsing forces.

All force parsers should be inside myoconverter.xml.forces package. One class per file, with class name matching file name.

class myoconverter.xml.parsers.PathPointParser[source]

Bases: BaseParser

This class collects all parsers relevant to parsing path points.

All path point parsers should be inside myoconverter.xml.path_points package. One class per file, with class name matching file name.

class myoconverter.xml.parsers.WrapObjectParser[source]

Bases: BaseParser

This class collects all parsers relevant to parsing wrap objects.

All wrapping object parsers should be inside myoconverter.xml.wrap_objects package. One class per file, with class name matching file name.

class myoconverter.xml.parsers.PathWrapParser[source]

Bases: BaseParser

This class collects all parsers relevant to parsing path wraps (except see PathWrapSetParser).

All path wrap parsers should be inside myoconverter.xml.path_wraps package. One class per file, with class name matching file name.

class myoconverter.xml.parsers.PathWrapSetParser[source]

Bases: BaseParser

A higher hierarchy level parser for parsing PathWrapSets, where we need to keep track of multiple path wraps during parsing.

class myoconverter.xml.parsers.MarkerParser[source]

Bases: BaseParser

This class collects all parsers relevant to parsing markers.

All marker parsers should be inside myoconverter.xml.markers package. One class per file, with class name matching file name.

class myoconverter.xml.parsers.IParser[source]

Bases: abc.ABC

This class defines an interface that the individual parsers must implement.

abstract parse(**kwargs)[source]