Drake Designer
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
vtkMultisenseSource.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMultisenseSource.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 // .NAME vtkMultisenseSource -
16 // .SECTION Description
17 //
18 
19 #ifndef __vtkMultisenseSource_h
20 #define __vtkMultisenseSource_h
21 
22 #include <vtkPolyDataAlgorithm.h>
23 
24 #include <vtkDRCFiltersModule.h>
25 
26 class vtkTransform;
27 
28 class VTKDRCFILTERS_EXPORT vtkMultisenseSource : public vtkPolyDataAlgorithm
29 {
30 public:
31  vtkTypeMacro(vtkMultisenseSource, vtkPolyDataAlgorithm);
32  void PrintSelf(ostream& os, vtkIndent indent);
33 
34  static vtkMultisenseSource *New();
35 
36 
37  void Poll();
38 
39  void Start();
40  void Stop();
41 
42  vtkGetVector2Macro(DistanceRange, double);
43  vtkSetVector2Macro(DistanceRange, double);
44 
45  vtkGetVector2Macro(HeightRange, double);
46  vtkSetVector2Macro(HeightRange, double);
47 
48  void SetEdgeAngleThreshold(double threshold);
49  double GetEdgeAngleThreshold();
50 
51  int GetCurrentRevolution();
52  void GetDataForRevolution(int revolution, vtkPolyData* polyData);
53 
54  int GetCurrentScanLine();
55  void GetDataForScanLine(int scanLine, vtkPolyData* polyData);
56  vtkIdType GetCurrentScanTime();
57 
58  void InitBotConfig(const char* filename);
59 
60  void GetTransform(const char* fromFrame, const char* toFrame, vtkIdType utime, vtkTransform* transform);
61 
62  static void GetBotRollPitchYaw(vtkTransform* transform, double rpy[3]);
63  static void GetBotQuaternion(vtkTransform* transform, double wxyz[4]);
64 
65 protected:
66 
67 
68  virtual int RequestInformation(vtkInformation *request,
69  vtkInformationVector **inputVector,
70  vtkInformationVector *outputVector);
71 
72  virtual int RequestData(vtkInformation *request,
73  vtkInformationVector **inputVector,
74  vtkInformationVector *outputVector);
75 
77  virtual ~vtkMultisenseSource();
78 
79  double DistanceRange[2];
80  double HeightRange[2];
82 
83 private:
84  vtkMultisenseSource(const vtkMultisenseSource&); // Not implemented.
85  void operator=(const vtkMultisenseSource&); // Not implemented.
86 
87  class vtkInternal;
88  vtkInternal * Internal;
89 };
90 
91 #endif
#define VTKDRCFILTERS_EXPORT