NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
cxGraphicalObjectWithDirection.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 
12 #ifndef GRAPHICALOBJECTWITHDIRECTION_H
13 #define GRAPHICALOBJECTWITHDIRECTION_H
14 
15 #include "cxResourceVisualizationExport.h"
16 #include "vtkForwardDeclarations.h"
17 #include "cxForwardDeclarations.h"
18 #include "cxVector3D.h"
19 
20 typedef vtkSmartPointer<class vtkSuperquadricSource> vtkSuperquadricSourcePtr;
21 
22 namespace cx
23 {
24 
31 class cxResourceVisualization_EXPORT GraphicalObjectWithDirection
32 {
33 public:
36 
37  vtkActorPtr getActor() const;
38  vtkPolyDataPtr getPolyData() const;
39  vtkPolyDataMapperPtr getMapper() const;
40  void setPosition(Vector3D point);
41  void setDirection(Vector3D direction);
42  void setVectorUp(const Vector3D &up);
43  void setScale(Vector3D scale);
44  void setRenderer(vtkRendererPtr renderer = vtkRendererPtr());
45 
46 protected:
47  void updateOrientation();
48 
53 
58 };
59 typedef boost::shared_ptr<GraphicalObjectWithDirection> GraphicalObjectWithDirectionPtr;
60 
61 } // namespace cx
62 
63 #endif // GRAPHICALOBJECTWITHDIRECTION_H
cx
Namespace for all CustusX production code.
Definition: cx_dev_group_definitions.h:13
cxForwardDeclarations.h
cx::GraphicalObjectWithDirection::mVectorUp
Vector3D mVectorUp
Definition: cxGraphicalObjectWithDirection.h:56
vtkPolyDataMapperPtr
vtkSmartPointer< class vtkPolyDataMapper > vtkPolyDataMapperPtr
Definition: vtkForwardDeclarations.h:112
cx::GraphicalObjectWithDirection
Base helper class for rendering objects with a specific direction in 3D.
Definition: cxGraphicalObjectWithDirection.h:31
cxVector3D.h
cx::GraphicalObjectWithDirection::mActor
vtkActorPtr mActor
Definition: cxGraphicalObjectWithDirection.h:51
cx::GraphicalObjectWithDirection::mPoint
Vector3D mPoint
Definition: cxGraphicalObjectWithDirection.h:54
cx::GraphicalObjectWithDirection::mDirection
Vector3D mDirection
Definition: cxGraphicalObjectWithDirection.h:55
cx::GraphicalObjectWithDirection::mScale
Vector3D mScale
Definition: cxGraphicalObjectWithDirection.h:57
cx::GraphicalObjectWithDirection::mSource
vtkSuperquadricSourcePtr mSource
Definition: cxGraphicalObjectWithDirection.h:49
vtkForwardDeclarations.h
vtkSuperquadricSourcePtr
vtkSmartPointer< class vtkSuperquadricSource > vtkSuperquadricSourcePtr
Definition: cxGraphicalObjectWithDirection.h:20
cx::vtkPolyDataPtr
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
Definition: cxCenterlineRegistration.h:42
vtkActorPtr
vtkSmartPointer< class vtkActor > vtkActorPtr
Definition: vtkForwardDeclarations.h:31
cx::GraphicalObjectWithDirectionPtr
boost::shared_ptr< GraphicalObjectWithDirection > GraphicalObjectWithDirectionPtr
Definition: cxGraphicalObjectWithDirection.h:59
cx::GraphicalObjectWithDirection::mRenderer
vtkRendererPtr mRenderer
Definition: cxGraphicalObjectWithDirection.h:52
cx::GraphicalObjectWithDirection::mMapper
vtkPolyDataMapperPtr mMapper
Definition: cxGraphicalObjectWithDirection.h:50
cx::Vector3D
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
Definition: cxVector3D.h:42
vtkRendererPtr
vtkSmartPointer< class vtkRenderer > vtkRendererPtr
Definition: vtkForwardDeclarations.h:122