Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
IVT
src
Visualizer
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
63
COpenInventorVisualizer::COpenInventorVisualizer
(
int
argc,
char
**args)
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
78
COpenInventorVisualizer::~COpenInventorVisualizer
()
79
{
80
}
81
82
83
// ****************************************************************************
84
// Methods
85
// ****************************************************************************
86
87
void
COpenInventorVisualizer::Clear
()
88
{
89
// TODO: empty m_pCoordinate3
90
m_nCounter
= 0;
91
}
92
93
void
COpenInventorVisualizer::AddPoint
(
const
Vec3d
&point)
94
{
95
m_pCoordinate3
->point.set1Value(
m_nCounter
++, (
float
) point.
x
, (
float
) point.
y
, (
float
) point.
z
);
96
}
97
98
void
COpenInventorVisualizer::Render
()
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
}
COpenInventorVisualizer::m_nCounter
int m_nCounter
Definition:
OpenInventorVisualizer.h:85
Vec3d
Data structure for the representation of a 3D vector.
Definition:
Math3d.h:73
Vec3d::x
float x
Definition:
Math3d.h:75
Vec3d::z
float z
Definition:
Math3d.h:75
COpenInventorVisualizer::m_pPointSet
SoPointSet * m_pPointSet
Definition:
OpenInventorVisualizer.h:82
COpenInventorVisualizer::AddPoint
void AddPoint(const Vec3d &point)
Definition:
OpenInventorVisualizer.cpp:93
Vec3d::y
float y
Definition:
Math3d.h:75
OpenInventorVisualizer.h
COpenInventorVisualizer::m_pCoordinate3
SoCoordinate3 * m_pCoordinate3
Definition:
OpenInventorVisualizer.h:83
COpenInventorVisualizer::COpenInventorVisualizer
COpenInventorVisualizer(int argc, char **args)
Definition:
OpenInventorVisualizer.cpp:63
COpenInventorVisualizer::Render
void Render()
Definition:
OpenInventorVisualizer.cpp:98
Math3d.h
COpenInventorVisualizer::m_pMainWidget
QWidget * m_pMainWidget
Definition:
OpenInventorVisualizer.h:80
COpenInventorVisualizer::~COpenInventorVisualizer
~COpenInventorVisualizer()
Definition:
OpenInventorVisualizer.cpp:78
COpenInventorVisualizer::m_pRoot
SoSeparator * m_pRoot
Definition:
OpenInventorVisualizer.h:81
COpenInventorVisualizer::Clear
void Clear()
Definition:
OpenInventorVisualizer.cpp:87
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