<?xml version="1.0" ?>
<sdf version="1.6">
  <world name="default">

  <!-- Light Sources -->
  <light type="directional" name="sun">
    <cast_shadows>true</cast_shadows>
    <pose>0 0 0 0.0 0.0 0.0</pose>
    <diffuse>1.0 1.0 1.0 1.0</diffuse>
    <specular>0.2 0.2 0.2 1</specular>
    <direction>-1.0 0.0 -0.2</direction>
  </light>

  <!-- spot light -->
  <light type="spot" name="spot_light">
    <pose>5 1 1 0 1.4 0</pose>
    <diffuse>1 1 1 1</diffuse>
    <specular>.2 .2 .2 1</specular>
    <attenuation>
      <range>10</range>
      <linear>0.01</linear>
      <constant>0.2</constant>
      <quadratic>0.0</quadratic>
    </attenuation>
    <direction>0 0 -1</direction>
    <spot>
      <inner_angle>0.1</inner_angle>
      <outer_angle>0.5</outer_angle>
      <falloff>1.2</falloff>
    </spot>
    <cast_shadows>false</cast_shadows>
  </light>

    <!-- A ground plane -->
    <include>
      <uri>model://ground_plane</uri>
    </include>

    <!-- camera model with lens flare plugin -->
    <model name="camera_lensflare">
      <static>true</static>
      <pose>0 0 0.05 0 0 0</pose>
      <link name="link">
        <visual name="visual">
          <geometry>
            <box>
              <size>0.1 0.1 0.1</size>
            </box>
          </geometry>
        </visual>
        <sensor name="camera_sensor_lensflare" type="camera">
          <camera>
            <horizontal_fov>0.78539816339744828</horizontal_fov>
            <image>
              <width>320</width>
              <height>240</height>
            </image>
            <clip>
              <near>0.1</near>
              <far>100</far>
            </clip>
          </camera>
          <always_on>1</always_on>
          <update_rate>30</update_rate>
          <visualize>true</visualize>
          <plugin name="lensflare" filename="libLensFlareSensorPlugin.so"/>
        </sensor>
      </link>
    </model>

    <!-- camera model with lens flare plugin and scale applied -->
    <model name="camera_lensflare_scaled">
      <static>true</static>
      <pose>0 0 0.05 0 0 0</pose>
      <link name="link">
        <visual name="visual">
          <geometry>
            <box>
              <size>0.1 0.1 0.1</size>
            </box>
          </geometry>
        </visual>
        <sensor name="camera_sensor_lensflare_scaled" type="camera">
          <camera>
            <horizontal_fov>0.78539816339744828</horizontal_fov>
            <image>
              <width>320</width>
              <height>240</height>
            </image>
            <clip>
              <near>0.1</near>
              <far>100</far>
            </clip>
          </camera>
          <always_on>1</always_on>
          <update_rate>30</update_rate>
          <visualize>true</visualize>
          <plugin name="lensflare" filename="libLensFlareSensorPlugin.so">
            <scale>0.1</scale>
          </plugin>
        </sensor>
      </link>
    </model>

    <!-- camera model with lens flare plugin that uses the spot light -->
    <model name="camera_lensflare_spot">
      <static>true</static>
      <pose>0 0 0.05 0 0 0</pose>
      <link name="link">
        <visual name="visual">
          <geometry>
            <box>
              <size>0.1 0.1 0.1</size>
            </box>
          </geometry>
        </visual>
        <sensor name="camera_sensor_lensflare_spot" type="camera">
          <camera>
            <horizontal_fov>0.78539816339744828</horizontal_fov>
            <image>
              <width>320</width>
              <height>240</height>
            </image>
            <clip>
              <near>0.1</near>
              <far>100</far>
            </clip>
          </camera>
          <always_on>1</always_on>
          <update_rate>30</update_rate>
          <visualize>true</visualize>
          <plugin name="lensflare" filename="libLensFlareSensorPlugin.so">
            <light_name>spot_light</light_name>
          </plugin>
        </sensor>
      </link>
    </model>

    <!-- wide-angle camera model with lens flare plugin -->
    <model name="wide_angle_camera_lensflare">
      <static>true</static>
      <pose>0 2 0.05 0 0 0</pose>
      <link name="link">
        <visual name="visual">
          <geometry>
            <box>
              <size>0.1 0.1 0.1</size>
            </box>
          </geometry>
        </visual>
        <sensor name="camera" type="wideanglecamera">
          <camera>
            <horizontal_fov>1.047</horizontal_fov>
            <image>
              <width>320</width>
              <height>240</height>
            </image>
            <clip>
              <near>0.1</near>
              <far>100</far>
            </clip>
            <lens>
              <type>gnomonical</type>
              <scale_to_hfov>true</scale_to_hfov>
              <cutoff_angle>1.5707</cutoff_angle>
              <env_texture_size>512</env_texture_size>
            </lens>
          </camera>
          <always_on>1</always_on>
          <update_rate>30</update_rate>
          <visualize>true</visualize>
          <plugin name="lensflare" filename="libLensFlareSensorPlugin.so"/>
        </sensor>
      </link>
    </model>

    <!-- multi-camera model with lens flare plugin -->
    <model name="multi_camera_lensflare">
      <static>true</static>
      <pose>0 4 0.05 0 0 0</pose>
      <link name="link">
        <visual name="visual">
          <geometry>
            <box>
              <size>0.1 0.1 0.1</size>
            </box>
          </geometry>
        </visual>
        <sensor type="multicamera" name="stereo_camera">
          <update_rate>30.0</update_rate>
          <camera name="left">
            <horizontal_fov>1.3962634</horizontal_fov>
            <image>
              <width>800</width>
              <height>800</height>
              <format>R8G8B8</format>
            </image>
            <clip>
              <near>0.02</near>
              <far>300</far>
            </clip>
          </camera>
          <camera name="right">
            <pose>0 -0.07 0 0 0 0</pose>
            <horizontal_fov>1.3962634</horizontal_fov>
            <image>
              <width>800</width>
              <height>800</height>
              <format>R8G8B8</format>
            </image>
            <clip>
              <near>0.02</near>
              <far>300</far>
            </clip>
          </camera>
          <visualize>true</visualize>
          <plugin name="lensflare" filename="libLensFlareSensorPlugin.so"/>
        </sensor>
      </link>
    </model>

  </world>
</sdf>
