Computer Assisted Medical Intervention Tool Kit version 6.0
 
Loading...
Searching...
No Matches
InterfaceFrame.h
Go to the documentation of this file.
1/*****************************************************************************
2 * $CAMITK_LICENCE_BEGIN$
3 *
4 * CamiTK - Computer Assisted Medical Intervention ToolKit
5 * (c) 2001-2025 Univ. Grenoble Alpes, CNRS, Grenoble INP - UGA, TIMC, 38000 Grenoble, France
6 *
7 * Visit http://camitk.imag.fr for more information
8 *
9 * This file is part of CamiTK.
10 *
11 * CamiTK is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * CamiTK is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * version 3 along with CamiTK. If not, see <http://www.gnu.org/licenses/>.
22 *
23 * $CAMITK_LICENCE_END$
24 ****************************************************************************/
25
26#ifndef INTERFACEFRAME_H
27#define INTERFACEFRAME_H
28
29#include <QString>
30#include <vtkAxesActor.h>
31#include <memory>
32
33namespace camitk {
34
35class FrameOfReference;
36class Transformation;
37
52
53public:
55 virtual ~InterfaceFrame() = default;
56
59 virtual void setFrame(const std::shared_ptr<FrameOfReference>& frame) = 0;
60
63 // in conjunction with this method if you need to share the ownership of this frame
64 virtual const FrameOfReference* getFrame() const = 0;
65
69 virtual QMultiMap<const FrameOfReference*, Component*> getAllFrames(bool includeChildrenFrames = true) = 0;
70
74 virtual QMultiMap<const Transformation*, Component*> getAllTransformations(bool includeChildrenTransformations = true) = 0;
75
78 virtual void setFrameFrom(const InterfaceFrame*) = 0;
79
82 virtual void resetFrame() = 0;
83
87 virtual vtkSmartPointer<vtkAxesActor> getFrameAxisActor(QString) = 0;
88
92 virtual bool getFrameVisibility(QString) const = 0;
93
97 virtual void setFrameVisibility(QString, bool) = 0;
98
99};
100
101}
102
103#endif // INTERFACEFRAME_H
FrameOfReference is only a label for an abstract coordinate system.
Definition FrameOfReference.h:71
This class describes the methods to implement in order to manage a Component position in space.
Definition InterfaceFrame.h:51
virtual void resetFrame()=0
Reset this object's FrameOfReference, that is call setFrame with a newly created frame of reference.
virtual bool getFrameVisibility(QString) const =0
get the visibility of the Frame axis actor FIXME
virtual void setFrameVisibility(QString, bool)=0
set the visibility of the Frame axis actor FIXME
virtual void setFrameFrom(const InterfaceFrame *)=0
Modify this object's frame using the given object's frame.
virtual const FrameOfReference * getFrame() const =0
Get the pointer to this object's FrameOfReference.
virtual vtkSmartPointer< vtkAxesActor > getFrameAxisActor(QString)=0
add a 3D Actor representing the Frame FIXME
virtual QMultiMap< const Transformation *, Component * > getAllTransformations(bool includeChildrenTransformations=true)=0
Get all Transformation owned by this object.
virtual QMultiMap< const FrameOfReference *, Component * > getAllFrames(bool includeChildrenFrames=true)=0
Get all FrameOfReference owned by this object.
virtual ~InterfaceFrame()=default
empty virtual destructor, to avoid memory leak
virtual void setFrame(const std::shared_ptr< FrameOfReference > &frame)=0
Set the FrameOfReference of this object.
Definition Action.cpp:40