NorMIT-nav
2023.01.05-dev+develop.0da12
An IGT application
cxSpaceProvider.h
Go to the documentation of this file.
1
/*=========================================================================
2
This file is part of CustusX, an Image Guided Therapy Application.
3
4
Copyright (c) SINTEF Department of Medical Technology.
5
All rights reserved.
6
7
CustusX is released under a BSD 3-Clause license.
8
9
See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10
=========================================================================*/
11
#ifndef CXSPACEPROVIDER_H
12
#define CXSPACEPROVIDER_H
13
14
#include "cxResourceExport.h"
15
16
#include "
cxTransform3D.h
"
17
#include "
cxCoordinateSystemHelpers.h
"
18
#include <QObject>
19
20
namespace
cx
21
{
22
typedef
boost::shared_ptr<class SpaceListener>
SpaceListenerPtr
;
23
typedef
boost::shared_ptr<class SpaceProvider>
SpaceProviderPtr
;
24
32
class
cxResource_EXPORT
SpaceProvider
:
public
QObject
33
{
34
Q_OBJECT
35
public
:
36
virtual
~SpaceProvider
() {}
37
38
virtual
Transform3D
get_toMfrom(
CoordinateSystem
from,
CoordinateSystem
to) = 0;
39
virtual
std::vector<CoordinateSystem> getSpacesToPresentInGUI() = 0;
40
virtual
std::map<QString, QString> getDisplayNamesForCoordRefObjects() = 0;
41
virtual
SpaceListenerPtr
createListener() = 0;
42
43
virtual
Vector3D
getActiveToolTipPoint(
CoordinateSystem
to,
bool
useOffset =
false
) = 0;
44
virtual
Transform3D
getActiveToolTipTransform(
CoordinateSystem
to,
bool
useOffset =
false
) = 0;
45
virtual
Transform3D
get_rMpr() = 0;
46
47
virtual
CoordinateSystem
getS(
ToolPtr
tool) = 0;
48
virtual
CoordinateSystem
getT(
ToolPtr
tool) = 0;
49
virtual
CoordinateSystem
getTO(
ToolPtr
tool) = 0;
50
virtual
CoordinateSystem
getD(
DataPtr
data) = 0;
51
virtual
CoordinateSystem
getPr() = 0;
52
virtual
CoordinateSystem
getR() = 0;
53
virtual
CoordinateSystem
convertToSpecific(
CoordinateSystem
space) = 0;
54
55
static
SpaceProviderPtr
getNullObject();
56
57
signals:
58
void
spaceAddedOrRemoved();
59
};
60
61
}
// namespace cx
62
63
#endif // CXSPACEPROVIDER_H
cx::SpaceListenerPtr
boost::shared_ptr< class SpaceListener > SpaceListenerPtr
Definition:
cxAxisConnector.h:23
cx
Namespace for all CustusX production code.
Definition:
cx_dev_group_definitions.h:13
cx::Transform3D
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
Definition:
cxLandmarkPatientRegistrationWidget.h:33
cx::DataPtr
boost::shared_ptr< class Data > DataPtr
Definition:
cxRegistrationApplicator.h:22
cxCoordinateSystemHelpers.h
cx::ToolPtr
boost::shared_ptr< class Tool > ToolPtr
Definition:
cxVideoConnectionWidget.h:43
cxTransform3D.h
cx::SpaceProvider::~SpaceProvider
virtual ~SpaceProvider()
Definition:
cxSpaceProvider.h:36
cx::Vector3D
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
Definition:
cxVector3D.h:42
cx::SpaceProviderPtr
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
Definition:
cxLogicManager.h:23
cx::CoordinateSystem
Identification of a Coordinate system.
Definition:
cxCoordinateSystemHelpers.h:31
cx::SpaceProvider
Definition:
cxSpaceProvider.h:32
CX
source
resource
core
utilities
cxSpaceProvider.h
Generated on Thu Jan 5 2023 03:15:54 for NorMIT-nav by
1.8.17