syntax = "proto2"; package gazebo.msgs; /// \ingroup gazebo_msgs /// \interface Any /// \brief A message that is capable of containing a wide variety of data types. import "color.proto"; import "pose.proto"; import "quaternion.proto"; import "time.proto"; import "vector3d.proto"; message Any { /// \brief The type of data the message contains. enum ValueType { /// \brief Indicates that the message is empty NONE = 1; /// \brief Indicates that the message contains a double DOUBLE = 2; /// \brief Indicates that the message contains an int32 INT32 = 3; /// \brief Indicates that the message contains a string STRING = 4; /// \brief Indicates that the message contains a Boolean BOOLEAN = 5; /// \brief Indicates that the message contains a Vector3d VECTOR3D = 6; /// \brief Indicates that the message contains a Color COLOR = 7; /// \brief Indicates that the message contains a Pose POSE3D = 8; /// \brief Indicates that the message contains a Quaternion QUATERNIOND = 9; /// \brief Indicates that the message contains a Time TIME = 10; } /// \todo: Use protobuf oneof feature when we support protobuf 2.6 /// \brief Type of value that is contained in this message. required ValueType type = 1 [default = NONE]; /// \brief A double value optional double double_value = 2; /// \brief An int32 value optional int32 int_value = 3; /// \brief A string value optional string string_value = 4; /// \brief A boolean value optional bool bool_value = 5; /// \brief A Vector3d value optional Vector3d vector3d_value = 6; /// \brief A Color value optional Color color_value = 7; /// \brief A Pose value optional Pose pose3d_value = 8; /// \brief A Quaternion value optional Quaternion quaternion_value = 9; /// \brief A Time value optional Time time_value = 10; }