12 #ifndef CXAIRWAYSFROMCENTERLINE_H 13 #define CXAIRWAYSFROMCENTERLINE_H 16 #include <QDomElement> 17 #include "org_custusx_filter_airwaysfromcenterline_Export.h" 22 typedef std::vector< Eigen::Matrix4d >
M4Vector;
25 typedef boost::shared_ptr<class Branch>
BranchPtr;
33 void setTypeToBloodVessel(
bool bloodVessel);
34 Eigen::MatrixXd getCenterlinePositions(
vtkPolyDataPtr centerline_r);
35 void setBranches(BranchListPtr branches);
38 BranchListPtr getBranchList();
39 vtkPolyDataPtr generateTubes(
double staticRadius = 0,
bool mergeWithOriginalAirways =
false);
44 void smoothAllBranchesForVB();
45 vtkPolyDataPtr addVTKPoints(std::vector< Eigen::Vector3d > positions);
49 Eigen::MatrixXd mCLpoints;
50 BranchListPtr mBranchListPtr;
56 double mAirwaysVolumeBoundaryExtention;
57 double mAirwaysVolumeBoundaryExtentionTracheaStart;
58 double mAirwaysVolumeSpacing;
59 bool mBloodVessel =
false;
60 bool mMergeWithOriginalAirways =
false;
64 std::pair<int, double>
findDistanceToLine(Eigen::Vector3d point, Eigen::MatrixXd line);
65 double findDistance(Eigen::MatrixXd p1, Eigen::MatrixXd p2);
71 #endif // CXAIRWAYSFROMCENTERLINE_H boost::shared_ptr< AirwaysFromCenterline > AirwaysFromCenterlinePtr
boost::shared_ptr< class RouteToTarget > RouteToTargetPtr
boost::shared_ptr< class BranchList > BranchListPtr
boost::shared_ptr< class Branch > BranchPtr
double findDistance(Eigen::MatrixXd p1, Eigen::MatrixXd p2)
std::pair< int, double > findDistanceToLine(Eigen::Vector3d point, Eigen::MatrixXd line)
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
Eigen::Vector3d Vector3D
Vector3D is a representation of a point or vector in 3D.
std::vector< Eigen::Matrix4d > M4Vector
Namespace for all CustusX production code.