-
Notifications
You must be signed in to change notification settings - Fork 4
/
vtkVRPNAnalogOutput.cxx
76 lines (57 loc) · 2.14 KB
/
vtkVRPNAnalogOutput.cxx
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
/*=========================================================================
Name: vtkVRPNAnalogOutput.cxx
Author: David Borland, The Renaissance Computing Institute (RENCI)
Copyright: The Renaissance Computing Institute (RENCI)
License: Licensed under the RENCI Open Source Software License v. 1.0.
See included License.txt or
http://www.renci.org/resources/open-source-software-license
for details.
=========================================================================*/
#include "vtkVRPNAnalogOutput.h"
#include "vtkObjectFactory.h"
#include "vtkstd/vector"
#include <vrpn_Analog_Output.h>
vtkCxxRevisionMacro(vtkVRPNAnalogOutput, "$Revision: 1.0 $");
vtkStandardNewMacro(vtkVRPNAnalogOutput);
//----------------------------------------------------------------------------
vtkVRPNAnalogOutput::vtkVRPNAnalogOutput()
{
this->AnalogOutput = NULL;
}
//----------------------------------------------------------------------------
vtkVRPNAnalogOutput::~vtkVRPNAnalogOutput()
{
if (this->AnalogOutput) delete this->AnalogOutput;
}
//----------------------------------------------------------------------------
int vtkVRPNAnalogOutput::Initialize()
{
// Check that the device name is set
if (this->DeviceName == NULL)
{
vtkErrorMacro(<<"DeviceName not set.");
return 0;
}
// Create the VRPN analog remote
this->AnalogOutput = new vrpn_Analog_Output_Remote(this->DeviceName);
return 1;
}
//----------------------------------------------------------------------------
void vtkVRPNAnalogOutput::Update()
{
if (this->AnalogOutput)
{
this->AnalogOutput->mainloop();
}
}
//----------------------------------------------------------------------------
void vtkVRPNAnalogOutput::SetChannel(int channel, double value)
{
this->AnalogOutput->request_change_channel_value(channel, value);
}
//----------------------------------------------------------------------------
void vtkVRPNAnalogOutput::PrintSelf(ostream& os, vtkIndent indent)
{
this->Superclass::PrintSelf(os,indent);
os << indent << "AnalogOutput: " << this->AnalogOutput << "\n";
}