-
Notifications
You must be signed in to change notification settings - Fork 100
/
SetNeutralJointRotationsCommand.h
60 lines (46 loc) · 2.11 KB
/
SetNeutralJointRotationsCommand.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "dnacalib/Command.h"
#include "dnacalib/Defs.h"
#include "dnacalib/types/Aliases.h"
#include <cstdint>
namespace dnac {
class DNACalibDNAReader;
/**
@brief SetNeutralJointRotationsCommand is used to set new rotation values to neutral joints.
*/
class SetNeutralJointRotationsCommand : public Command {
public:
DNACAPI explicit SetNeutralJointRotationsCommand(MemoryResource* memRes = nullptr);
DNACAPI SetNeutralJointRotationsCommand(ConstArrayView<Vector3> rotations, MemoryResource* memRes = nullptr);
DNACAPI SetNeutralJointRotationsCommand(ConstArrayView<float> xs,
ConstArrayView<float> ys,
ConstArrayView<float> zs,
MemoryResource* memRes = nullptr);
DNACAPI ~SetNeutralJointRotationsCommand();
SetNeutralJointRotationsCommand(const SetNeutralJointRotationsCommand&) = delete;
SetNeutralJointRotationsCommand& operator=(const SetNeutralJointRotationsCommand&) = delete;
DNACAPI SetNeutralJointRotationsCommand(SetNeutralJointRotationsCommand&&);
DNACAPI SetNeutralJointRotationsCommand& operator=(SetNeutralJointRotationsCommand&&);
/**
@brief Method for setting the neutral joint rotations.
@param rotations
Rotation values for each joint.
*/
DNACAPI void setRotations(ConstArrayView<Vector3> rotations);
/**
@brief Method for setting the neutral joint rotations.
@param xs
The X rotation value for each joint.
@param ys
The Y rotation value for each joint.
@param zs
The Z rotation value for each joint.
*/
DNACAPI void setRotations(ConstArrayView<float> xs, ConstArrayView<float> ys, ConstArrayView<float> zs);
DNACAPI void run(DNACalibDNAReader* output) override;
private:
class Impl;
ScopedPtr<Impl> pImpl;
};
} // namespace dnac