package gazebo.msgs;

/// \ingroup gazebo_msgs
/// \interface HeightmapGeom 
/// \brief Message for a heightmap geometry

import "image.proto";
import "vector3d.proto";

message HeightmapGeom
{
  optional Image  image            = 1; // The height data
  required Vector3d size           = 2; // Size in meters
  optional Vector3d origin         = 3; // Origin in world coordinate frame
  repeated float heights           = 4;
  optional int32 width             = 5;
  optional int32 height            = 6;

  message Texture
  {
    required string diffuse        = 1;
    required string normal         = 2;
    required double size           = 3;
  }

  message Blend
  {
    required double min_height     = 1;
    required double fade_dist      = 2;
  }

  repeated Texture texture         = 7; // List of textures
  repeated Blend blend             = 8; // How to blend the textures
  optional bool use_terrain_paging = 9; // Enable terrain paging in rendering

  // The image filename
  optional string filename         = 10;
}
