syntax = "proto2";
package gazebo.msgs;

/// \ingroup gazebo_msgs
/// \interface Link
/// \brief Information about a link


import "inertial.proto";
import "collision.proto";
import "light.proto";
import "visual.proto";
import "sensor.proto";
import "projector.proto";
import "pose.proto";
import "battery.proto";
import "density.proto";
import "vector3d.proto";

message Link
{
  optional uint32 id            = 1;
  required string name          = 2;
  optional bool self_collide    = 3;
  optional bool gravity         = 4;
  optional bool kinematic       = 5;
  optional bool enabled         = 6;
  optional Density density      = 7;
  optional Inertial inertial    = 8;
  optional Pose pose            = 9;
  repeated Visual visual        = 10;
  repeated Collision collision  = 11;
  repeated Sensor sensor        = 12;
  repeated Projector projector  = 13;
  optional bool canonical       = 14;

  /// \brief An optional vector of batteries that are attached to this link.
  repeated Battery battery      = 15;

  /// \brief Enable/disable wind effect on this link.
  optional bool enable_wind     = 16;

  /// \brief Wind linear velocity affecting this link.
  optional Vector3d wind        = 17;

  /// \brief Lights attached to this link
  repeated Light light          = 18;
}
