CustusX  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
Base helper class for rendering objects with a specific direction in 3D.
vtkSmartPointer< class vtkActor > vtkActorPtr
vtkSmartPointer< class vtkPolyDataMapper > vtkPolyDataMapperPtr
boost::shared_ptr< GraphicalObjectWithDirection > GraphicalObjectWithDirectionPtr
vtkSmartPointer< class vtkSuperquadricSource > vtkSuperquadricSourcePtr
vtkSmartPointer< class vtkRenderer > vtkRendererPtr
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
Definition: cxVector3D.h:42
Namespace for all CustusX production code.