CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxProbeSector.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 
13 #ifndef CXPROBESECTOR_H_
14 #define CXPROBESECTOR_H_
15 
16 #include "cxResourceExport.h"
17 
18 #include <boost/shared_ptr.hpp>
19 #include <QSize>
20 #include "vtkSmartPointer.h"
21 #include "vtkForwardDeclarations.h"
22 #include "cxProbeDefinition.h"
23 #include "cxTransform3D.h"
24 
25 typedef vtkSmartPointer<class vtkImageData> vtkImageDataPtr;
26 typedef vtkSmartPointer<class vtkPolyData> vtkPolyDataPtr;
27 typedef vtkSmartPointer<class vtkPolyLine> vtkPolyLinePtr;
28 
29 namespace cx
30 {
31 
32 typedef boost::shared_ptr<class ProbeSector> ProbeSectorPtr;
33 
38 class cxResource_EXPORT ProbeSector
39 {
40 public:
41  ProbeSector();
42  void setData(ProbeDefinition data);
43 
44  vtkImageDataPtr getMask();
45  vtkPolyDataPtr getSector();
46  vtkPolyDataPtr getSectorLinesOnly();
47  vtkPolyDataPtr getSectorSectorOnlyLinesOnly();
48  vtkPolyDataPtr getClipRectLinesOnly();
49  vtkPolyDataPtr getOriginPolyData();
50  Transform3D get_tMu() const;
51  Transform3D get_uMv() const;
52  void updateSector();
53 
55 
56  void test();
57 
58 private:
59  vtkPolyDataPtr getClipRectPolyData();
60  bool clipRectIntersectsSector() const;
61 
62  bool isInside(Vector3D p_u);
63  vtkPolyDataPtr mPolyData;
64 };
65 
66 } // namespace cx
67 
68 #endif /*SSCPROBEDECTOR_H_*/
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
vtkSmartPointer< class vtkPolyData > vtkPolyDataPtr
Definition: cxProbeSector.h:26
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
ProbeDefinition mData
Definition: cxProbeSector.h:54
boost::shared_ptr< class ProbeSector > ProbeSectorPtr
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
Definition: cxVector3D.h:42
Definition of characteristics for an Ultrasound Probe Sector.
vtkSmartPointer< class vtkPolyLine > vtkPolyLinePtr
Definition: cxProbeSector.h:27
vtkSmartPointer< class vtkImageData > vtkImageDataPtr
Definition: cxProbeSector.h:25
Utility functions for drawing an US Probe sector.
Definition: cxProbeSector.h:38
vtkSmartPointer< class vtkImageData > vtkImageDataPtr
Namespace for all CustusX production code.