OpenInventorVisualizer.cpp
Go to the documentation of this file.
1 // ****************************************************************************
2 // This file is part of the Integrating Vision Toolkit (IVT).
3 //
4 // The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
5 // (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
6 //
7 // Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
8 // All rights reserved.
9 //
10 // Redistribution and use in source and binary forms, with or without
11 // modification, are permitted provided that the following conditions are met:
12 //
13 // 1. Redistributions of source code must retain the above copyright
14 // notice, this list of conditions and the following disclaimer.
15 //
16 // 2. Redistributions in binary form must reproduce the above copyright
17 // notice, this list of conditions and the following disclaimer in the
18 // documentation and/or other materials provided with the distribution.
19 //
20 // 3. Neither the name of the KIT nor the names of its contributors may be
21 // used to endorse or promote products derived from this software
22 // without specific prior written permission.
23 //
24 // THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
25 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 // DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
28 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 // ****************************************************************************
35 // ****************************************************************************
36 // Filename: OpenInventorVisualizer.cpp
37 // Author: Pedram Azad
38 // Date: 2005
39 // ****************************************************************************
40 
41 
42 // ****************************************************************************
43 // Includes
44 // ****************************************************************************
45 
46 #include "OpenInventorVisualizer.h"
47 
48 #include "Math/Math3d.h"
49 
50 #include <Inventor/Qt/SoQt.h>
51 #include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
52 #include <Inventor/SoInput.h>
53 #include <Inventor/nodes/SoSeparator.h>
54 #include <Inventor/nodes/SoPointSet.h>
55 #include <Inventor/nodes/SoCoordinate3.h>
56 
57 
58 
59 // ****************************************************************************
60 // Constructor / Destructor
61 // ****************************************************************************
62 
64 {
65  // init SoQt library (initializes QT and Coin)
66  m_pMainWidget = SoQt::init(argc, args, args[0]);
67 
68  m_pRoot = new SoSeparator();
69  m_pPointSet = new SoPointSet();
70  m_pCoordinate3 = new SoCoordinate3();
71 
72  m_pRoot->addChild(m_pCoordinate3);
73  m_pRoot->addChild(m_pPointSet);
74 
75  m_nCounter = 0;
76 }
77 
79 {
80 }
81 
82 
83 // ****************************************************************************
84 // Methods
85 // ****************************************************************************
86 
88 {
89  // TODO: empty m_pCoordinate3
90  m_nCounter = 0;
91 }
92 
94 {
95  m_pCoordinate3->point.set1Value(m_nCounter++, (float) point.x, (float) point.y, (float) point.z);
96 }
97 
99 {
100  // create root node
101  m_pRoot->ref();
102 
103  // create viewer
104  SoQtExaminerViewer *pViewer = new SoQtExaminerViewer(m_pMainWidget);
105  pViewer->setSceneGraph(m_pRoot);
106  pViewer->show();
107 
108  // pop up the main window and start main loop
109  SoQt::show(m_pMainWidget);
110  SoQt::mainLoop();
111 
112  // free memory
113  m_pRoot->unref();
114 
115  //delete pViewer;
116 }
Data structure for the representation of a 3D vector.
Definition: Math3d.h:73
float x
Definition: Math3d.h:75
float z
Definition: Math3d.h:75
void AddPoint(const Vec3d &point)
float y
Definition: Math3d.h:75
COpenInventorVisualizer(int argc, char **args)


asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Mon Dec 2 2019 03:47:28