26#ifndef TRANSFORMATIONMANAGER_H
27#define TRANSFORMATIONMANAGER_H
42#include <vtkSmartPointer.h>
43#include <vtkTransform.h>
46#include <unordered_set>
381 static std::shared_ptr<Transformation>
addTransformation(
const std::shared_ptr<FrameOfReference>& from,
const std::shared_ptr<FrameOfReference>& to);
391 static std::shared_ptr<Transformation>
addTransformation(
const std::shared_ptr<FrameOfReference>& from,
const std::shared_ptr<FrameOfReference>& to, vtkSmartPointer<vtkTransform> vtkTr);
399 static std::shared_ptr<Transformation>
addTransformation(
const std::shared_ptr<FrameOfReference>& from,
const std::shared_ptr<FrameOfReference>& to,
const vtkMatrix4x4* matrix);
503 static std::shared_ptr<FrameOfReference> worldFrame;
506 static std::vector<std::shared_ptr<FrameOfReference>> frames;
509 static std::vector<std::shared_ptr<Transformation>> transformations;
512 static QHash<QUuid, FrameOfReference*> frameMap;
515 static QHash<QUuid, Transformation*> transformationMap;
521 static QHash<const Transformation*, QVector<std::shared_ptr<Transformation>>> transformationSources;
524 static QHash<const FrameOfReference*, QHash<const FrameOfReference*, Transformation*>> transformationFromTo;
542 static std::unordered_set<const Transformation*> defaultIdentityToWorldTransformations;
552 static std::shared_ptr<Transformation> registerTransformation(
Transformation* tr,
const QVector<std::shared_ptr<Transformation>>& sources = {});
569 static std::shared_ptr<Transformation> addCompositeTransformation(QVector<std::shared_ptr<Transformation>> transforms);
590 static void removeTransformationFromInternalStructures(
const Transformation* trToDelete);
593 static void cleanupCompositeTransformations();
599 static std::shared_ptr<Transformation> getTransformationSharedPtr(
const Transformation*);
#define CAMITK_API
Definition CamiTKAPI.h:66
const char * description
Definition applications/cepgenerator/main.cpp:38
Definition AnatomicalOrientation.h:81
The generic/default application.
Definition Application.h:83
FrameOfReference is only a label for an abstract coordinate system.
Definition FrameOfReference.h:69