natnet.protocol.ModelDefinitionsMessage

ModelDef message implementation.

Copyright (c) 2017, Matthew Edwards. This file is subject to the 3-clause BSD license, as found in the LICENSE file in the top-level directory of this distribution and at https://github.com/mje-nz/python_natnet/blob/master/LICENSE. No part of python_natnet, including this file, may be copied, modified, propagated, or distributed except according to the terms contained in the LICENSE file.

This message contains descriptions of all tracked models (rigid bodies, skeletons, markersets) and devices.

It is not sent automatically when tracked models changes. The next FrameOfData will have a flag set, then the client sends a RequestModelDefinitions message to prompt the server to send this.

class natnet.protocol.ModelDefinitionsMessage.ModelDefinitionsMessage(models)[source]

Tracked model definitions.

Variables:models – Mixed list of MarkersetDescription, RigidBodyDescription, SkeletonDescription, ForcePlateDescription, and DeviceDescription.
class natnet.protocol.ModelDefinitionsMessage.MarkersetDescription(name, marker_names)[source]

Description of a markerset.

Variables:
  • name (str) –
  • marker_names – (list[str])
class natnet.protocol.ModelDefinitionsMessage.RigidBodyDescription(name, id_, parent_id, offset_from_parent, marker_positions, required_active_labels)[source]

Description of a rigid body.

Variables:
  • name (str) – Rigid body name if available
  • id_ (int) – Streaming ID
  • parent_id (int) – For a rigid body which is part of a hierarchy (i.e., a skeleton), the ID of the parent rigid body
  • offset_from_parent (tuple[float, float, float]) – (x, y, z) offset relative to parent
  • marker_positions (list[tuple[float, float, float]]) – List of marker positions, if available
  • required_active_labels (list[int]) – List of expected active marker labels, if available
class natnet.protocol.ModelDefinitionsMessage.SkeletonDescription(name, id_, rigid_bodies)[source]

Description of a skeleton.

Variables: