VTK  9.3.20240418
vtkAvatar.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
14 #ifndef vtkAvatar_h
15 #define vtkAvatar_h
16 
17 #include "vtkActor.h"
18 #include "vtkRenderingCoreModule.h" // For export macro
19 
20 VTK_ABI_NAMESPACE_BEGIN
21 class VTKRENDERINGCORE_EXPORT vtkAvatar : public vtkActor
22 {
23 public:
24  static vtkAvatar* New();
25  vtkTypeMacro(vtkAvatar, vtkActor);
26  void PrintSelf(ostream& os, vtkIndent indent) override;
27 
31  vtkGetVector3Macro(HeadPosition, double);
32  vtkSetVector3Macro(HeadPosition, double);
33  vtkGetVector3Macro(HeadOrientation, double);
34  vtkSetVector3Macro(HeadOrientation, double);
35 
36  vtkGetVector3Macro(LeftHandPosition, double);
37  vtkSetVector3Macro(LeftHandPosition, double);
38  vtkGetVector3Macro(LeftHandOrientation, double);
39  vtkSetVector3Macro(LeftHandOrientation, double);
40 
41  vtkGetVector3Macro(RightHandPosition, double);
42  vtkSetVector3Macro(RightHandPosition, double);
43  vtkGetVector3Macro(RightHandOrientation, double);
44  vtkSetVector3Macro(RightHandOrientation, double);
45 
49  vtkGetVector3Macro(UpVector, double);
50  vtkSetVector3Macro(UpVector, double);
51 
53 
58  vtkSetMacro(UseLeftHand, bool);
59  vtkGetMacro(UseLeftHand, bool);
60  vtkBooleanMacro(UseLeftHand, bool);
61  vtkSetMacro(UseRightHand, bool);
62  vtkGetMacro(UseRightHand, bool);
63  vtkBooleanMacro(UseRightHand, bool);
65 
67 
70  vtkSetMacro(ShowHandsOnly, bool);
71  vtkGetMacro(ShowHandsOnly, bool);
72  vtkBooleanMacro(ShowHandsOnly, bool);
74 
75 protected:
77  ~vtkAvatar() override;
78 
79  double HeadPosition[3];
80  double HeadOrientation[3];
81  double LeftHandPosition[3];
82  double LeftHandOrientation[3];
83  double RightHandPosition[3];
84  double RightHandOrientation[3];
85  enum
86  {
93  };
94  double BodyPosition[NUM_BODY][3];
95  double BodyOrientation[NUM_BODY][3];
96 
97  double UpVector[3];
98 
102 
103 private:
104  vtkAvatar(const vtkAvatar&) = delete;
105  void operator=(const vtkAvatar&) = delete;
106 };
107 
108 VTK_ABI_NAMESPACE_END
109 #endif // vtkAvatar_h
represents an object (geometry & properties) in a rendered scene
Definition: vtkActor.h:151
Renders head and hands for a user in VR.
Definition: vtkAvatar.h:22
static vtkAvatar * New()
@ LEFT_FORE
Definition: vtkAvatar.h:88
@ NUM_BODY
Definition: vtkAvatar.h:92
@ RIGHT_FORE
Definition: vtkAvatar.h:89
@ LEFT_UPPER
Definition: vtkAvatar.h:90
@ RIGHT_UPPER
Definition: vtkAvatar.h:91
bool ShowHandsOnly
Definition: vtkAvatar.h:101
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:100
bool UseLeftHand
Definition: vtkAvatar.h:99
a simple class to control print indentation
Definition: vtkIndent.h:108