VTK  9.1.0
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
29class VTKRENDERINGCORE_EXPORT vtkAvatar : public vtkActor
30{
31public:
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
83protected:
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
111private:
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:155
Renders head and hands for a user in VR.
Definition: vtkAvatar.h:30
bool ShowHandsOnly
Definition: vtkAvatar.h:109
@ LEFT_FORE
Definition: vtkAvatar.h:96
@ RIGHT_FORE
Definition: vtkAvatar.h:97
@ LEFT_UPPER
Definition: vtkAvatar.h:98
@ RIGHT_UPPER
Definition: vtkAvatar.h:99
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
static vtkAvatar * New()
bool UseLeftHand
Definition: vtkAvatar.h:107
a simple class to control print indentation
Definition: vtkIndent.h:113