VTK  9.2.6
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 =========================================================================*/
26 #ifndef vtkAvatar_h
27 #define vtkAvatar_h
28 
29 #include "vtkActor.h"
30 #include "vtkRenderingCoreModule.h" // For export macro
31 
32 class VTKRENDERINGCORE_EXPORT vtkAvatar : public vtkActor
33 {
34 public:
35  static vtkAvatar* New();
36  vtkTypeMacro(vtkAvatar, vtkActor);
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
42  vtkGetVector3Macro(HeadPosition, double);
43  vtkSetVector3Macro(HeadPosition, double);
44  vtkGetVector3Macro(HeadOrientation, double);
45  vtkSetVector3Macro(HeadOrientation, double);
46 
47  vtkGetVector3Macro(LeftHandPosition, double);
48  vtkSetVector3Macro(LeftHandPosition, double);
49  vtkGetVector3Macro(LeftHandOrientation, double);
50  vtkSetVector3Macro(LeftHandOrientation, double);
51 
52  vtkGetVector3Macro(RightHandPosition, double);
53  vtkSetVector3Macro(RightHandPosition, double);
54  vtkGetVector3Macro(RightHandOrientation, double);
55  vtkSetVector3Macro(RightHandOrientation, double);
56 
60  vtkGetVector3Macro(UpVector, double);
61  vtkSetVector3Macro(UpVector, double);
62 
64 
69  vtkSetMacro(UseLeftHand, bool);
70  vtkGetMacro(UseLeftHand, bool);
71  vtkBooleanMacro(UseLeftHand, bool);
72  vtkSetMacro(UseRightHand, bool);
73  vtkGetMacro(UseRightHand, bool);
74  vtkBooleanMacro(UseRightHand, bool);
76 
78 
81  vtkSetMacro(ShowHandsOnly, bool);
82  vtkGetMacro(ShowHandsOnly, bool);
83  vtkBooleanMacro(ShowHandsOnly, bool);
85 
86 protected:
87  vtkAvatar();
88  ~vtkAvatar() override;
89 
90  double HeadPosition[3];
91  double HeadOrientation[3];
92  double LeftHandPosition[3];
93  double LeftHandOrientation[3];
94  double RightHandPosition[3];
95  double RightHandOrientation[3];
96  enum
97  {
104  };
105  double BodyPosition[NUM_BODY][3];
106  double BodyOrientation[NUM_BODY][3];
107 
108  double UpVector[3];
109 
113 
114 private:
115  vtkAvatar(const vtkAvatar&) = delete;
116  void operator=(const vtkAvatar&) = delete;
117 };
118 
119 #endif // vtkAvatar_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:51
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
bool UseRightHand
Definition: vtkAvatar.h:111
static vtkActor * New()
Creates an actor with the following defaults: origin(0,0,0) position=(0,0,0) scale=(1,1,1) visibility=1 pickable=1 dragable=1 orientation=(0,0,0).
bool ShowHandsOnly
Definition: vtkAvatar.h:112
bool UseLeftHand
Definition: vtkAvatar.h:110
a simple class to control print indentation
Definition: vtkIndent.h:39
Renders head and hands for a user in VR.
Definition: vtkAvatar.h:32