5 #ifndef CNOID_BASE_SCENE_DRAG_PROJECTOR_H
6 #define CNOID_BASE_SCENE_DRAG_PROJECTOR_H
9 #include "exportdecl.h"
13 class SceneDragProjectorImpl;
21 enum DragMode { DRAG_NONE, DRAG_ROTATION, DRAG_TRANSLATION };
24 bool isDragging()
const;
28 void setInitialPosition(
const Isometry3& T);
29 void setInitialTranslation(
const Vector3& p);
30 void setInitialRotation(
const Matrix3& R);
34 void setRotationAxis(
const Vector3& axis);
35 const Vector3& rotationAxis()
const;
38 void setTranslationAxis(
const Vector3& axis);
39 const Vector3& translationAxis()
const;
42 void setTranslationPlaneNormal(
const Vector3& normal);
43 void setTranslationAlongViewPlane();
52 const Vector3& projectedPoint()
const;
54 const Matrix3& rotationMatrix()
const;
55 double rotationAngle()
const;
56 const AngleAxis& rotationAngleAxis()
const;
57 const Vector3& translation()
const;
60 SceneDragProjectorImpl* impl;