syntax = "proto2";
package gazebo.msgs;

/// \ingroup gazebo_msgs
/// \interface Model
/// \brief Information about a model


import "joint.proto";
import "link.proto";
import "plugin.proto";
import "pose.proto";
import "visual.proto";
import "vector3d.proto";

message Model
{
  required string name         = 1;
  optional uint32 id           = 2;
  optional bool is_static      = 3;
  optional Pose pose           = 4;
  repeated Joint joint         = 5;
  repeated Link link           = 6;
  optional bool deleted        = 7;
  repeated Visual visual       = 8;
  optional Vector3d scale      = 9;
  optional bool self_collide   = 10;

  /// \brief Enable/disable wind effect on this model.
  optional bool enable_wind    = 11;

  /// \brief An array of nested models.
  repeated Model model         = 12;

  /// \brief An array of plugins.
  repeated Plugin plugin       = 13;
}
