blueprints.thing package#

Things are base classes used to implement the rudimentary features of mujoco objects. All objects that are used to build a kinematic tree in blueprints are Things. A variety of Things can be created and combined in a kinematic structure to design your simulation. Most of the time you will create objects that are used multiple times in your simulation. Therefore, once a Thing is created it serves as a blueprint. Attaching it to another Thing will create a copy, such that the blueprint is unchanged and can be altered and attached at different nodes in the kinematic tree without changing the the previously attach version of itself.

base.BaseThing is the class from which all objects in the kinematic tree ultimately derive. It handles the basic methods used to translate from blueprints in python to mujoco xml.

node.NodeThing is used to implement methods that are used to create structure for the kinematic tree. Every Thing that can have children attached to it is a node.NodeThing.

moveable.MoveableThing implements position and rotation attributes as well as methods to create rotated and shifted copies of itself.

colored.ColoredThing contains attributes for color and opacity.

unique.UniqueThing are objects that should be copied seldomly. Those are Things to which multiple other Things might refer and that should not be duplicated arbitrarily. Some Things like blueprints.geoms.Mesh will appear to the user as one object, but are actually separated into multiple objects in the background to store large datasets separately. This enables memory efficiency for copies of the mesh that do not alter the dataset contained.

cyclical.CyclicalThing are used for all Things that might refer to multiple other Things in such that it creates a graph cycle.

Submodules#