15 #ifndef niftkContourTool_h
16 #define niftkContourTool_h
18 #include "niftkMIDASExports.h"
20 #include <mitkContourModel.h>
21 #include <mitkContourModelSet.h>
22 #include <mitkMessage.h>
23 #include <mitkOperation.h>
24 #include <mitkOperationActor.h>
58 static const
std::
string EDITING_PROPERTY_NAME;
61 static const
std::
string MIDAS_CONTOUR_TOOL_BACKGROUND_CONTOUR;
64 virtual
void ExecuteOperation(
mitk::Operation* operation);
67 virtual
void ClearData();
70 virtual
mitk::ContourModel* GetContour();
73 virtual
void SetFeedbackContourVisible(
bool);
76 static
void CopyContour(
mitk::ContourModel &
a,
mitk::ContourModel &
b);
79 static
void CopyContourSet(
mitk::ContourModelSet &a,
mitk::ContourModelSet &b,
bool initialise=true);
82 static
void InitialiseContour(
mitk::ContourModel &a,
mitk::ContourModel &b);
85 mitk::Message<> ContoursHaveChanged;
90 virtual ~ContourTool();
93 virtual
bool OnMousePressed(
mitk::StateMachineAction* action,
mitk::InteractionEvent*
event);
96 void Disable3dRenderingOfNode(
mitk::DataNode* node);
99 void AccumulateContourInWorkingData(
mitk::ContourModel& contour,
int contourIndex);
102 void ConvertPointInMmToVx(const
mitk::Point3D& pointInMm,
mitk::Point3D& pointInVx);
103 void ConvertPointToNearestVoxelCentreInVx(const
mitk::Point3D& pointInMm,
mitk::Point3D& nearestVoxelCentreInVx);
104 void ConvertPointToNearestVoxelCentreInMm(const
mitk::Point3D& pointInMm,
mitk::Point3D& nearestVoxelCentreInMm);
105 void GetClosestCornerPoint2D(const
mitk::Point3D& pointInMm,
int* whichTwoAxesInVx,
mitk::Point3D& cornerPointInMm);
111 int GetEqualCoordinateAxes(const
mitk::Point3D& cornerPoint1InMm, const
mitk::Point3D& cornerPoint2InMm,
int* whichTwoAxesInVx);
113 void GetAdditionalCornerPoint(const
mitk::Point3D& cornerPoint1InMm, const
mitk::Point3D& point2InMm, const
mitk::Point3D& cornerPoint2InMm,
int* whichTwoAxesInVx,
mitk::Point3D& newCornerPointInMm);
119 bool DrawLineAroundVoxelEdges(
121 const
mitk::BaseGeometry* geometry,
122 const
mitk::PlaneGeometry* planeGeometry,
123 const
mitk::Point3D& currentPoint,
124 const
mitk::Point3D& previousPoint,
125 mitk::ContourModel& contourAroundCorners,
126 mitk::ContourModel& contourAlongLine
130 mitk::ContourModel* GetBackgroundContour();
131 void SetBackgroundContour(
mitk::ContourModel&);
132 void Disable3dRenderingOfBackgroundContour();
133 void SetBackgroundContourVisible(
bool);
134 void SetBackgroundContourColor(
float r,
float g,
float b );
135 void SetBackgroundContourColorDefault();
141 bool m_ContourClosed;
147 mitk::BaseGeometry* m_SegmentationImageGeometry;
156 mitk::ContourModel::Pointer m_BackgroundContour;
157 mitk::DataNode::Pointer m_BackgroundContourNode;
158 bool m_BackgroundContourVisible;
163 static const
mitk::OperationType MIDAS_CONTOUR_TOOL_OP_ACCUMULATE_CONTOUR;
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
Definition: niftkMeshSmoother.cxx:19
Definition: ReceptorMemberCommandTest.cxx:25
GLboolean GLboolean g
Definition: glew.h:8272
GLdouble GLdouble GLdouble b
Definition: glew.h:7885
GLboolean GLboolean GLboolean GLboolean a
Definition: glew.h:8272
GLdouble GLdouble GLdouble r
Definition: glew.h:1390
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
cl_event event
Definition: glew.h:3231
A list of utility methods for working with MIT points and stuff.
Definition: niftkExceptionObject.h:21