syntax = "proto2";
package gazebo.msgs;

/// \ingroup gazebo_msgs
/// \interface Physics
/// \brief A message containing a description of the global physics properties


import "vector3d.proto";

message Physics
{
  enum Type
  {
    ODE = 1;
    BULLET = 2;
    SIMBODY = 3;
    DART = 4;
  }
  optional Type type                         = 1[default=ODE];

  optional string solver_type                = 2;
  optional double min_step_size              = 3;
  optional int32 precon_iters                = 4;
  optional int32 iters                       = 5;
  optional double sor                        = 6;
  optional double cfm                        = 7;
  optional double erp                        = 8;
  optional double contact_max_correcting_vel = 9;
  optional double contact_surface_layer      = 10;
  optional Vector3d gravity                  = 11;
  optional bool enable_physics               = 12;
  optional double real_time_factor           = 13;
  optional double real_time_update_rate      = 14;
  optional double max_step_size              = 15;
  // The name of this physics profile (not to be confused with type)
  optional string profile_name               = 16;

  /// \brief Magnetic field
  optional Vector3d magnetic_field           = 17;
}
