Gazebo Rendering

API Reference

10.0.0~pre1
Simple demo

This example shows how move the camera automatically.

Install prerequisites

In order to compile the example in this tutorial, make sure to install the dependencies listed in the Installation tutorial.

Compile and run the example

Clone the source code, create a build directory and use cmake and make to compile the code:

git clone https://github.com/gazebosim/gz-rendering
cd gz-rendering/examples/simple_demo
mkdir build
cd build
cmake ..
# Linux
cmake --build .
# Windows
cmake --build . --config Release

Execute the example:

# Linux
./simple_demo
# Windows
.\Release\simple_demo

You'll see:

[Msg] Loading plugin [gz-rendering10-ogre]
===============================
TAB - Switch render engines
ESC - Exit
===============================

Code

The function updateCameras() is called each time the DisplayCB function runs. Using the method SetLocalPosition from the Camera class we can move the camera in the world:

void updateCameras()
{
double angle = g_offset / 2 * GZ_PI;
double x = sin(angle) * 3.0 + 3.0;
double y = cos(angle) * 3.0;
for (ir::CameraPtr camera : g_cameras)
{
camera->SetLocalPosition(x, y, 0.0);
}
g_offset += 0.0005;
}