<element name="camera" required="0">
  <description>These elements are specific to camera sensors.</description>

  <attribute name="name" type="string" default="__default__" required="0">
    <description>An optional name for the camera.</description>
  </attribute>

  <element name="pose" type="pose" default="0 0 0 0 0 0" required="0">
    <description>A position and orientation in the parent coordinate frame for the camera.</description>
  </element>

  <element name="horizontal_fov" type="double" default="1.047" min="0.1" max="1.5708" required="1">
    <description>Horizontal field of view</description>
  </element> <!-- End Horizontal_FOV -->

  <element name="image" required="1">
    <description>The image size in pixels and format.</description>
    <element name="width" type="int" default="320" required="1">
      <description>Width in pixels</description>
    </element>
    <element name="height" type="int" default="240" required="1">
      <description>Height in pixels </description>
    </element>
    <element name="format" type="string" default="R8G8B8" required="0">
      <description>(L8|R8G8B8|B8G8R8|BAYER_RGGB8|BAYER_BGGR8|BAYER_GBRG8|BAYER_GRBG8)</description>
    </element>
  </element> <!-- End Image -->

  <element name="clip" required="1">
    <description>The near and far clip planes. Objects closer or farther than these planes are not rendered.</description>

    <element name="near" type="double" default=".1" min="0.0" required="1">
      <description>Near clipping plane</description>
    </element>

    <element name="far" type="double" default="100" min="10.0" required="1">
      <description>Far clipping plane</description>
    </element>
  </element> <!-- End Clip -->

  <element name="save" required="0">
    <description>Enable or disable saving of camera frames.</description>
    <attribute name="enabled" type="bool" default="false" required="1">
      <description>True = saving enabled</description>
    </attribute>
    <element name="path" type="string" default="__default__" required="1">
      <description>The path name which will hold the frame data. If path name is relative, then directory is relative to current working directory.</description>
    </element>
  </element> <!-- End Save -->

  <element name="depth_camera" required="0">
    <description>Depth camera parameters</description>
    <element name="output" type="string" default="depths" required="1">
      <description>Type of output</description>
    </element>
  </element> <!-- End depth_camera -->

  <element name="noise" required="0">
    <description>The properties of the noise model that should be applied to generated images</description>
    <element name="type" type="string" default="gaussian" required="1">
      <description>The type of noise.  Currently supported types are: "gaussian" (draw additive noise values independently for each pixel from a Gaussian distribution).</description>
    </element>
    <element name="mean" type="double" default="0.0" required="0">
      <description>For type "gaussian," the mean of the Gaussian distribution from which noise values are drawn.</description>
    </element>
    <element name="stddev" type="double" default="0.0" required="0">
      <description>For type "gaussian," the standard deviation of the Gaussian distribution from which noise values are drawn.</description>
    </element>
  </element> <!-- End Noise -->

</element> <!-- End Camera -->
