/usr/share/doc/libsoqt-dev-common/html/index.html is in libsoqt-dev-common 1.5.0-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Main Page</title>
<link href="stylesheet.css" rel="stylesheet" type="text/css">
</head><body><table width="100%">
<tr>
<td>
<img src="Coin_logo.png" alt="Coin Logo">
</td>
<td align="right">
<a href="http://www.sim.no">http://www.sim.no</a><br>
<a href="http://www.coin3d.org/">http://www.coin3d.org</a>
</td>
</tr>
</table>
<hr noshade>
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="index.html"><span>Main Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="headertitle">
<div class="title">SoQt Documentation</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>SoQt is a library which provides the glue between Systems in Motion's <a href="http://www.coin3d.org"><b>Coin</b></a> high-level 3D visualization library and Troll Tech's <a href="http://www.trolltech.com"><b>Qt</b></a> 2D user interface library.</p>
<p><a href="http://www.trolltech.com"><b>Qt</b></a> is a C++ toolkit for multiplatform development of 2D user interfaces, and also includes other functionality to help programmers write multiplatform applications. <a href="http://www.trolltech.com"><b>Qt</b></a> is currently available on X11-based systems (UNIX, Linux and BSDs), MSWindows, Mac OS X and embedded systems.</p>
<p>For more information on the <a href="http://www.trolltech.com"><b>Qt</b></a> toolkit, see the web site for Troll Tech (makers of <a href="http://www.trolltech.com"><b>Qt</b></a>): <<a href="http://www.trolltech.com">http://www.trolltech.com</a>>.</p>
<p>By using the combination of <a href="http://www.coin3d.org"><b>Coin</b></a>, <a href="http://www.trolltech.com"><b>Qt</b></a> and SoQt for your 3D applications, you have a framework for writing completely portable software across the whole range of UNIX, Linux, Microsoft Windows and Mac OS X operating systems. <a href="http://www.coin3d.org"><b>Coin</b></a>, <a href="http://www.trolltech.com"><b>Qt</b></a> and SoQt makes this possible from a 100% common codebase, which means there is a minimum of hassle for developers when working on multiplatform software, with the resulting large gains in productivity.</p>
<p>SoQt, like <a href="http://www.coin3d.org"><b>Coin</b></a> and <a href="http://www.trolltech.com"><b>Qt</b></a>, provides the programmer with a high-level application programmer's interface (API) in C++. The library primarily includes a class-hierarchy of viewer components of varying functionality and complexity, with various modes for the end-user to control the 3D-scene camera interaction.</p>
<p>For a small, completely stand-alone usage example on how to initialize the library and set up a viewer instance window, see the following code:</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include <Inventor/Qt/SoQt.h></span>
<span class="preprocessor"> #include <Inventor/Qt/viewers/SoQtExaminerViewer.h></span>
<span class="preprocessor"> #include <Inventor/nodes/SoBaseColor.h></span>
<span class="preprocessor"> #include <Inventor/nodes/SoCone.h></span>
<span class="preprocessor"> #include <Inventor/nodes/SoSeparator.h></span>
<span class="keywordtype">int</span>
main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> ** argv)
{
<span class="comment">// Initializes SoQt library (and implicitly also the Coin and Qt</span>
<span class="comment">// libraries). Returns a top-level / shell Qt window to use.</span>
QWidget * mainwin = <a class="code" href="classSoQt.html#a3980524f04265015be0508a27b0be473">SoQt::init</a>(argc, argv, argv[0]);
<span class="comment">// Make a dead simple scene graph by using the Coin library, only</span>
<span class="comment">// containing a single yellow cone under the scenegraph root.</span>
SoSeparator * root = <span class="keyword">new</span> SoSeparator;
root->ref();
SoBaseColor * col = <span class="keyword">new</span> SoBaseColor;
col->rgb = SbColor(1, 1, 0);
root->addChild(col);
root->addChild(<span class="keyword">new</span> SoCone);
<span class="comment">// Use one of the convenient SoQt viewer classes.</span>
<a class="code" href="classSoQtExaminerViewer.html" title="The SoQtExaminerViewer class is a 3D-model examination viewer.This class is the viewer considered to ...">SoQtExaminerViewer</a> * eviewer = <span class="keyword">new</span> <a class="code" href="classSoQtExaminerViewer.html" title="The SoQtExaminerViewer class is a 3D-model examination viewer.This class is the viewer considered to ...">SoQtExaminerViewer</a>(mainwin);
eviewer-><a class="code" href="classSoQtViewer.html#a3afc033492d4420b6de1aa8eb7c78565">setSceneGraph</a>(root);
eviewer-><a class="code" href="classSoQtComponent.html#abb5037cd1e82e087426888d3fd7511fb">show</a>();
<span class="comment">// Pop up the main window.</span>
<a class="code" href="classSoQt.html#a6d1d605e38593f8ef24acef9ed6d1105">SoQt::show</a>(mainwin);
<span class="comment">// Loop until exit.</span>
<a class="code" href="classSoQt.html#acd37a456485debb3d2ae2238b699bdc1">SoQt::mainLoop</a>();
<span class="comment">// Clean up resources.</span>
<span class="keyword">delete</span> eviewer;
root->unref();
<span class="keywordflow">return</span> 0;
}
</pre></div><p>As compiled and run, this example provides the end-user with a full fledged 3D viewer. The viewer automatically contains mouse interaction handling logic to let the end-user "examine" the 3D-model / scene (since this is the <a class="el" href="classSoQtExaminerViewer.html" title="The SoQtExaminerViewer class is a 3D-model examination viewer.This class is the viewer considered to ...">SoQtExaminerViewer</a> class), plus toolbar controls on the right-side decorations border for often used controls:</p>
<center> <div class="image">
<img src="http://doc.coin3d.org/images/SoLibs/general/sogui-class-example.png" />
</div>
</center><p>The SoQt library contains several such high-level classes as the <a class="el" href="classSoQtExaminerViewer.html" title="The SoQtExaminerViewer class is a 3D-model examination viewer.This class is the viewer considered to ...">SoQtExaminerViewer</a> used in the above example. These are primarily used for doing Rapid Application Development (RAD) of new concepts and ideas for your 3D system. The "real" application will typically use one of the lower-complexity classes higher up in the inheritance hierarchy, such as the <a class="el" href="classSoQtRenderArea.html" title="The SoQtRenderArea class adds scenegraph handling and event management.The SoQtRenderArea class is a ...">SoQtRenderArea</a>, which provides the application programmer with full control over the user interface components and general layout to present for the end-user, as suitable for the specific application needs.</p>
<p>This is how the SoQt library fits in with the other system components:</p>
<center> <div class="image">
<img src="http://doc.coin3d.org/images/SoLibs/mainpage/soqt-boxology.png" />
</div>
</center><p>As can be seen from the above figure, SoQt builds on Systems in Motion's <a href="http://www.coin3d.org"><b>Coin</b></a> library for the 3D graphics, and Troll Tech's <a href="http://www.trolltech.com"><b>Qt</b></a> library for the 2D user interface components and the OpenGL canvas binding.</p>
<p>The additional functionality provided by SoQt over <a href="http://www.coin3d.org"><b>Coin</b></a> and <a href="http://www.trolltech.com"><b>Qt</b></a> is:</p>
<ul>
<li>
<p class="startli">The most convenient management of OpenGL context types, such as singlebuffered versus doublebuffered rendering, the use of overlay planes, stereo rendering, etc. This is handled through the <a class="el" href="classSoQtGLWidget.html" title="The SoQtGLWidget class manages OpenGL contexts.This is the basic, abstract component class which sets...">SoQtGLWidget</a> class, which builds on Qt's QGLWidget class, and through the <a class="el" href="classSoQtRenderArea.html" title="The SoQtRenderArea class adds scenegraph handling and event management.The SoQtRenderArea class is a ...">SoQtRenderArea</a> class (which contains the main binding into the <a href="http://www.coin3d.org"><b>Coin</b></a> library's main data structures).</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">The translation of native <a href="http://www.trolltech.com"><b>Qt</b></a> interaction device events (from e.g. the mouse or the keyboard) into the <a href="http://www.coin3d.org"><b>Coin</b></a> library's event types. The translation is done by the <a class="el" href="classSoQtDevice.html" title="The SoQtDevice class is the base class for the translation devices.The SoQt device classes provide gl...">SoQtDevice</a> classes, controlled by the <a class="el" href="classSoQtRenderArea.html" title="The SoQtRenderArea class adds scenegraph handling and event management.The SoQtRenderArea class is a ...">SoQtRenderArea</a>.</p>
<p>These "generic" <a href="http://www.coin3d.org"><b>Coin</b></a> events are then passed into the 3D scenegraph for further processing, for instance by <a href="http://www.coin3d.org"><b>Coin</b></a>'s 3D user interaction components -- like this "trackball manipulator" attached to a simple cone:</p>
<center> <div class="image">
<img src="http://doc.coin3d.org/images/Coin/draggers/trackball-cone.png" />
</div>
</center> <p class="endli"></p>
</li>
<li>
<p class="startli">Some abstract viewer classes, like the <a class="el" href="classSoQtViewer.html" title="The SoQtViewer class is the top level base viewer class.This is an abstract class, which adds the following features to it's SoQtRenderArea superclass: convenient methods for camera handling, an automatic headlight configuration.">SoQtViewer</a> and <a class="el" href="classSoQtFullViewer.html" title="The SoQtFullViewer class adds some user interface components to the viewer canvas.The SoQtFullViewer is an abstract viewer class which extends it's superclass (the basic SoQtViewer class) with two major user interface additions:">SoQtFullViewer</a>, which provides additional services on top of the <a class="el" href="classSoQtRenderArea.html" title="The SoQtRenderArea class adds scenegraph handling and event management.The SoQtRenderArea class is a ...">SoQtRenderArea</a> for assisting the application programmer in convenient handling of cameras and lightsources in the 3D scene (by the <a class="el" href="classSoQtViewer.html" title="The SoQtViewer class is the top level base viewer class.This is an abstract class, which adds the following features to it's SoQtRenderArea superclass: convenient methods for camera handling, an automatic headlight configuration.">SoQtViewer</a>), plus adding the basic, common user interface components (by the <a class="el" href="classSoQtFullViewer.html" title="The SoQtFullViewer class adds some user interface components to the viewer canvas.The SoQtFullViewer is an abstract viewer class which extends it's superclass (the basic SoQtViewer class) with two major user interface additions:">SoQtFullViewer</a>).</p>
<p class="endli"></p>
</li>
<li>
<p class="startli">A set of high-level viewer classes, as has been presented by the <a class="el" href="classSoQtExaminerViewer.html" title="The SoQtExaminerViewer class is a 3D-model examination viewer.This class is the viewer considered to ...">SoQtExaminerViewer</a> in the above source code example. There are currently three different non-abstract viewer classes to choose from: the <a class="el" href="classSoQtExaminerViewer.html" title="The SoQtExaminerViewer class is a 3D-model examination viewer.This class is the viewer considered to ...">SoQtExaminerViewer</a> (a plain model viewer), the <a class="el" href="classSoQtFlyViewer.html" title="The SoQtFlyViewer class implements controls for moving the camera in a "flying" motion.Controls:">SoQtFlyViewer</a> (for fly-throughs in larger 3D scenes) and the <a class="el" href="classSoQtPlaneViewer.html" title="The SoQtPlaneViewer class is for examining 3D models by moving the camera in orthogonal planes...">SoQtPlaneViewer</a> (for CAD-style viewing and interaction along the 3 principal axes).</p>
<p class="endli"></p>
</li>
</ul>
<p>The SoQt library is "dual-licensed", which means it's available either under a Free Software license (specifically the <a href="http://www.fsf.org/copyleft/gpl.html">GNU General Public License</a>), or a license better suited for the development of proprietary / commercial applications: our <a href="http://www.coin3d.org">Coin Professional Edition License</a>.</p>
<p>Note that to use SoQt under the GNU General Public License, you have to comply with that license's restrictions. These restrictions are <em>not</em> well suited for the development of non-Free software, so the availability of SoQt under the GNU GPL is primarily meant to be a service to the Free Software community. We <em>strongly</em> advise you to invest in the Coin Professional Edition License for using SoQt in proprietary development projects. As a Coin Professional Edition License holder, you gain the rights to use the SoQt library in just about any way you like. See the Coin web site at <<a href="http://www.coin3d.org">http://www.coin3d.org</a>> for more information on the advantages of the Coin Professional Edition License, and how to become a license holder.</p>
<p>For those who are using the implementations of the Inventor API from either SGI or TGS, we would like to point out that SoQt can also be used on top of either of those libraries instead of the <a href="http://www.coin3d.org"><b>Coin</b></a> library from Kongsberg Oil & Gas Technologies.</p>
<p>The SoQt API is based on and closely matches the InventorXt library API, originally developed by SGI. This should make it straigthforward to port InventorXt code over to SoQt, for instance to gain greater portability.</p>
<dl class="see"><dt><b>See also:</b></dt><dd>The documentation for the <a href="http://www.coin3d.org"><b>Coin</b></a> library: <<a href="http://doc.coin3d.org/Coin">http://doc.coin3d.org/Coin</a>>. </dd></dl>
</div></div><!-- contents -->
<hr noshade>
<p align="right">Copyright © 1998-2010 by <a href="http://http://www.kongsberg.com/kogt">Kongsberg Oil & Gas Technologies</a>. All rights reserved.</p>
<address style="align: right;"><small>
Generated on Mon Dec 26 2011 20:28:37 for SoQt by <a href="http://www.doxygen.org/">Doxygen</a> 1.7.6.1.</small></address>
</body>
</html>
|