1 #line 1 "S:/jenkins/workspace/ECP/ufe/ufe-full-python3.10-windows/ufe/include/transform3d.h" 36 enum Type {NoHint, None = NoHint, Translate, Rotate, Scale, RotatePivot, ScalePivot};
55 typedef std::shared_ptr<Transform3dRead>
Ptr;
76 virtual const Path&
path()
const = 0;
102 virtual Matrix4d segmentInclusiveMatrix()
const = 0;
111 virtual Matrix4d segmentExclusiveMatrix()
const = 0;
156 typedef std::shared_ptr<Transform3d>
Ptr;
176 static Ptr editTransform3d(
188 static bool addObserver(
198 static bool removeObserver(
212 static bool removeObserver(
231 static bool hasObserver(
236 static bool hasObservers(
const Path&
path);
242 static bool hasObservers(
Rtid runTimeId);
247 static void notify(
const Path&
path);
262 double x,
double y,
double z) = 0;
265 return translateCmd(0, 0, 0); }
273 auto cmd = translateCmd(x, y, z);
281 virtual Vector3d translation()
const = 0;
290 double x,
double y,
double z) = 0;
293 return rotateCmd(0, 0, 0); }
300 virtual void rotate(
double x,
double y,
double z) {
301 auto cmd = rotateCmd(x, y, z);
310 virtual Vector3d rotation()
const = 0;
318 double x,
double y,
double z) = 0;
321 return scaleCmd(1, 1, 1); }
328 virtual void scale(
double x,
double y,
double z) {
329 auto cmd = scaleCmd(x, y, z);
346 double x,
double y,
double z) = 0;
349 return rotatePivotCmd(0, 0, 0); }
357 auto cmd = rotatePivotCmd(x, y, z);
365 virtual Vector3d rotatePivot()
const = 0;
374 double x,
double y,
double z) = 0;
377 return scalePivotCmd(0, 0, 0); }
385 auto cmd = scalePivotCmd(x, y, z);
393 virtual Vector3d scalePivot()
const = 0;
405 double x,
double y,
double z) {
406 (void) x; (void) y; (void) z;
411 return translateRotatePivotCmd(0, 0, 0); }
420 auto cmd = translateRotatePivotCmd(x, y, z);
443 double x,
double y,
double z) {
444 (void) x; (void) y; (void) z;
449 return translateScalePivotCmd(0, 0, 0); }
457 auto cmd = translateScalePivotCmd(x, y, z);
479 double x,
double y,
double z) {
480 (void) x; (void) y; (void) z;
485 return rotateAxisCmd(0, 0, 0); }
493 auto cmd = rotateAxisCmd(x, y, z);
513 double xy,
double xz,
double yz) {
514 (void) xy; (void) xz; (void) yz;
519 return shearCmd(0, 0, 0); }
526 virtual void shear(
double xy,
double xz,
double yz) {
527 auto cmd = shearCmd(xy, xz, yz);
551 auto cmd = setMatrixCmd(m);
std::shared_ptr< SetValue3UndoableCommand > Ptr
TypedVectorN< double, 3 > Vector3d
std::shared_ptr< Observer > Ptr
Definition of macros for symbol visibility.
std::shared_ptr< SetValueUndoableCommand > Ptr
Identify an object or 3D path in the scene.
Typed square matrix template.
std::shared_ptr< SceneItem > Ptr
Path path(const std::string &pathString)