VTK  9.0.3
vtkAvatar.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAvatar.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 =========================================================================*/
23 #ifndef vtkAvatar_h
24 #define vtkAvatar_h
25 
26 #include "vtkActor.h"
27 #include "vtkRenderingCoreModule.h" // For export macro
28 
29 class VTKRENDERINGCORE_EXPORT vtkAvatar : public vtkActor
30 {
31 public:
32  static vtkAvatar* New();
33  vtkTypeMacro(vtkAvatar, vtkActor);
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
39  vtkGetVector3Macro(HeadPosition, double);
40  vtkSetVector3Macro(HeadPosition, double);
41  vtkGetVector3Macro(HeadOrientation, double);
42  vtkSetVector3Macro(HeadOrientation, double);
43 
44  vtkGetVector3Macro(LeftHandPosition, double);
45  vtkSetVector3Macro(LeftHandPosition, double);
46  vtkGetVector3Macro(LeftHandOrientation, double);
47  vtkSetVector3Macro(LeftHandOrientation, double);
48 
49  vtkGetVector3Macro(RightHandPosition, double);
50  vtkSetVector3Macro(RightHandPosition, double);
51  vtkGetVector3Macro(RightHandOrientation, double);
52  vtkSetVector3Macro(RightHandOrientation, double);
53 
57  vtkGetVector3Macro(UpVector, double);
58  vtkSetVector3Macro(UpVector, double);
59 
61 
66  vtkSetMacro(UseLeftHand, bool);
67  vtkGetMacro(UseLeftHand, bool);
68  vtkBooleanMacro(UseLeftHand, bool);
69  vtkSetMacro(UseRightHand, bool);
70  vtkGetMacro(UseRightHand, bool);
71  vtkBooleanMacro(UseRightHand, bool);
73 
75 
78  vtkSetMacro(ShowHandsOnly, bool);
79  vtkGetMacro(ShowHandsOnly, bool);
80  vtkBooleanMacro(ShowHandsOnly, bool);
82 
83 protected:
85  ~vtkAvatar() override;
86 
87  double HeadPosition[3];
88  double HeadOrientation[3];
89  double LeftHandPosition[3];
90  double LeftHandOrientation[3];
91  double RightHandPosition[3];
92  double RightHandOrientation[3];
93  enum
94  {
101  };
102  double BodyPosition[NUM_BODY][3];
103  double BodyOrientation[NUM_BODY][3];
104 
105  double UpVector[3];
106 
110 
111 private:
112  vtkAvatar(const vtkAvatar&) = delete;
113  void operator=(const vtkAvatar&) = delete;
114 };
115 
116 #endif // vtkAvatar_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:46
Renders head and hands for a user in VR.
Definition: vtkAvatar.h:30
@ LEFT_FORE
Definition: vtkAvatar.h:96
@ RIGHT_FORE
Definition: vtkAvatar.h:97
@ LEFT_UPPER
Definition: vtkAvatar.h:98
@ RIGHT_UPPER
Definition: vtkAvatar.h:99
static vtkAvatar * New()
bool ShowHandsOnly
Definition: vtkAvatar.h:109
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkAvatar() override
bool UseRightHand
Definition: vtkAvatar.h:108
bool UseLeftHand
Definition: vtkAvatar.h:107
a simple class to control print indentation
Definition: vtkIndent.h:34