13 #ifndef hifi_controllers_Pose_h
14 #define hifi_controllers_Pose_h
15 #include <ScriptValue.h>
19 #include <GLMHelpers.h>
21 namespace controller {
32 Pose(
const vec3& translation,
const quat& rotation,
33 const vec3& velocity = vec3(),
const vec3& angularVelocity = vec3());
35 Pose(
const Pose&) =
default;
36 Pose& operator = (
const Pose&) =
default;
37 bool operator ==(
const Pose& right)
const;
38 bool operator !=(
const Pose& right)
const {
return !(*
this == right); }
39 bool isValid()
const {
return valid; }
40 vec3 getTranslation()
const {
return translation; }
41 quat getRotation()
const {
return rotation; }
42 vec3 getVelocity()
const {
return velocity; }
43 vec3 getAngularVelocity()
const {
return angularVelocity; }
44 mat4 getMatrix()
const {
return createMatFromQuatAndPos(rotation, translation); }
46 Pose transform(
const glm::mat4& mat)
const;
47 Pose postTransform(
const glm::mat4& mat)
const;
50 static bool fromScriptValue(
const ScriptValue&
object, Pose& event);
Provides an engine-independent interface for a scripting engine.
Definition: ScriptEngine.h:93
[ScriptInterface] Provides an engine-independent interface for QScriptValue
Definition: ScriptValue.h:40