coin3d – c++ visualization library (soqt...

33
Coin3d – C++ Visualization Library (SoQt interface) Starters Guide Carlos Vázquez Hurtado Barcelona, july.12.2006

Upload: lynhi

Post on 13-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Coin3d – C++ Visualization Library(SoQt interface)

Starters Guide

Carlos Vázquez Hurtado

Barcelona, july.12.2006

Page 2: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. Introduction2. Coin3D Installation1.1. How to get Coin3D1.2. How to install Coin3D1.3. How to Set Microsoft Visual C++ to work with Coin3D

3. Sample CodeSome introductory code

4. Compilation4.1. How to compile under MSVC4.2. How to compile under Linux

5. Further reading and examples 5.1. References5.2. Examples

1. Introduction2. Coin3D Installation1.1. How to get Coin3D1.2. How to install Coin3D1.3. How to Set Microsoft Visual C++ to work with Coin3D

3. Sample CodeSome introductory code

4. Compilation4.1. How to compile under MSVC4.2. How to compile under Linux

5. Further reading and examples 5.1. References5.2. Examples

Outline

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 3: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

Created in 1995, Coin3D is a high-level 3D graphics toolkit for developing cross-platform real-time 3D visualization and visual simulation software. Coin3D is built on OpenGL and uses scene graph data structures to render 3D graphics in real-time. Coin3D is fully compatible with SGI Open Inventor 2.1, the de facto standard for 3D visualization and visual simulation software in the scientific and engineering community. Additional features include VRML97 support, 3D sound, 3D textures, and parallel rendering on multiple processors. SoQt is a library which provides the bridge between Coin3D visualization library and Qt 2D user interface library.

Created in 1995, Coin3D is a high-level 3D graphics toolkit for developing cross-platform real-time 3D visualization and visual simulation software. Coin3D is built on OpenGL and uses scene graph data structures to render 3D graphics in real-time. Coin3D is fully compatible with SGI Open Inventor 2.1, the de facto standard for 3D visualization and visual simulation software in the scientific and engineering community. Additional features include VRML97 support, 3D sound, 3D textures, and parallel rendering on multiple processors. SoQt is a library which provides the bridge between Coin3D visualization library and Qt 2D user interface library.

About Coin3D

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 4: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

Coin3D is supported on the following platforms:

• MS/Windows -- 95, 98, NT 4.0, ME, 2000, and XP • Unix/X11 -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,

IBM AIX, SGI IRIX and a wide range of others • Macintosh -- Mac OS X

Coin3D is supported on the following platforms:

• MS/Windows -- 95, 98, NT 4.0, ME, 2000, and XP • Unix/X11 -- Linux, Sun Solaris, HP-UX, Compaq Tru64 UNIX,

IBM AIX, SGI IRIX and a wide range of others • Macintosh -- Mac OS X

Multiplatform

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 5: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Qt- C++ GUI library

Coin3D is released in two different editions:

• The Coin3D Professional Edition for commercial software development (besides there is a commercial evaluation version).

• The Coin3D Free Edition for free software development.

Coin3D is released in two different editions:

• The Coin3D Professional Edition for commercial software development (besides there is a commercial evaluation version).

• The Coin3D Free Edition for free software development.

License

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 6: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. How to get the program1.1. From Coin3d webpage1.2. From the IOC’s Intranet

2. How to install the program2.1. Windows Installation2.2. Debian Linux Installation

3. How to configure the programMSVC configuration

1. How to get the program1.1. From Coin3d webpage1.2. From the IOC’s Intranet

2. How to install the program2.1. Windows Installation2.2. Debian Linux Installation

3. How to configure the programMSVC configuration

Installation

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 7: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. From Trollech’s webpage (Win/Linux)

http://www.coin3d.org/

2. From the IOC’s Intranet (Win)

mana\\ioc\soft\qt

3. Linux pre-build packages.

1. From Trollech’s webpage (Win/Linux)

http://www.coin3d.org/

2. From the IOC’s Intranet (Win)

mana\\ioc\soft\qt

3. Linux pre-build packages.

How to get the program

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 8: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. Windows installation

Once you got the program, execute the setup and follow theinstructions. IOC students are provided with educational license.

2. Debian Linux installation

$ apt-get install libcoin40-dev$ apt-get install libsoqt-dev$ apt-get install inventor-demo

1. Windows installation

Once you got the program, execute the setup and follow theinstructions. IOC students are provided with educational license.

2. Debian Linux installation

$ apt-get install libcoin40-dev$ apt-get install libsoqt-dev$ apt-get install inventor-demo

How to install the program

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 9: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories

1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories

MSVC Configuration

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 10: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

Do the same for SoQt!!

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 11: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories

1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories

MSVC Configuration

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 12: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 13: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 14: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set soqt1.lib and coin2.lib libraries (qt libraries must be set too)4. Set configurartion directories

1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set soqt1.lib and coin2.lib libraries (qt libraries must be set too)4. Set configurartion directories

MSVC Configuration

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 15: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 16: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories

1. Register Environment Variables2. Open MSVC and create a new Workspace and an empty project3. Set qtmain.lib qt-mtedu322.lib libraries4. Set configurartion directories

MSVC Configuration

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 17: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 18: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. How Coin3D works2. C++ Code1. How Coin3D works2. C++ Code

Sample Code

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 19: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Qt- C++ GUI library

A scene graph consists of one or more nodes, each of witch represents a geometry, property or grouping object. Hierarchical scenes are created by adding nodes as children of grouping nodes, resulting in a directed acyclic graph.

A scene graph consists of one or more nodes, each of witch represents a geometry, property or grouping object. Hierarchical scenes are created by adding nodes as children of grouping nodes, resulting in a directed acyclic graph.

Scene Graph

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 20: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Qt- C++ GUI library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 21: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Qt- C++ GUI library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 22: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. How Coin3D works2. C++ Code1. How Coin3D works2. C++ Code

Sample Code

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 23: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 24: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 25: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 26: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. How to compile under MSVC

2. How to compile under Linux

1. How to compile under MSVC

2. How to compile under Linux

Compilation

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 27: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Qt- C++ GUI library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 28: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

1. How to compile under MSVC

2. How to compile under Linux

1. How to compile under MSVC

2. How to compile under Linux

Compilation

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 29: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

$ soqt-config --build main main.cpp$ soqt-config --build main main.cpp

Linux compilation

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 30: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 31: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

Documentation

http://www.coin3d.org

Some UPC available books

• Wernecke, Josie, The Inventor mentor programming object-oriented 3D graphics with Open Inventor, Addison-Wesley cop.1994.

• Wernecke, Josie, The Inventor toolmaker extending Open Inventor, Addison-Wesley cop.1994.

Documentation

http://www.coin3d.org

Some UPC available books

• Wernecke, Josie, The Inventor mentor programming object-oriented 3D graphics with Open Inventor, Addison-Wesley cop.1994.

• Wernecke, Josie, The Inventor toolmaker extending Open Inventor, Addison-Wesley cop.1994.

References

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 32: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

There are many very good examples included with coin3D. There are many very good examples included with coin3D.

Examples

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006

Page 33: Coin3d – C++ Visualization Library (SoQt interface)aibo.tol.itesm.mx/cvazquez/sotoro2006/slides/coin.pdf · Introduction Installation Sample Code Compilation Further reading and

Thanks!!

Introduction Installation Sample Code Compilation Further reading and examples

Coin3D- C++ visualization library

UPC-IOC-Carlos Vázquez, Barcelona july.12.2006