18 #ifndef __igstkReslicerPlaneSpatialObject_h
19 #define __igstkReslicerPlaneSpatialObject_h
75 typedef BoundingBoxProviderSpatialObjectType::
ConstPointer
118 BoundingBoxProviderSpatialObjectType * boundingBoxProviderSpatialObject );
170 virtual void PrintSelf( std::ostream& os, itk::Indent indent )
const;
174 void operator=(
const Self&);
177 igstkDeclareInputMacro( SetBoundingBoxProviderSpatialObject );
178 igstkDeclareInputMacro( ValidReslicingMode );
179 igstkDeclareInputMacro( InValidReslicingMode );
180 igstkDeclareInputMacro( ValidOrientationType );
181 igstkDeclareInputMacro( InValidOrientationType );
182 igstkDeclareInputMacro( ValidBoundingBoxProviderSpatialObject );
183 igstkDeclareInputMacro( InValidBoundingBoxProviderSpatialObject );
184 igstkDeclareInputMacro( ValidToolSpatialObject );
185 igstkDeclareInputMacro( InValidToolSpatialObject );
186 igstkDeclareInputMacro( SetCursorPosition );
187 igstkDeclareInputMacro( ValidCursorPosition );
188 igstkDeclareInputMacro( InValidCursorPosition );
190 igstkDeclareInputMacro( GetReslicingPlaneParameters );
191 igstkDeclareInputMacro( GetToolTransformWRTImageCoordinateSystem );
192 igstkDeclareInputMacro( ToolTransformWRTImageCoordinateSystem );
193 igstkDeclareInputMacro( ComputeReslicePlane );
196 igstkDeclareStateMacro( Initial );
197 igstkDeclareStateMacro( ReslicingModeSet );
198 igstkDeclareStateMacro( OrientationTypeSet );
199 igstkDeclareStateMacro( BoundingBoxProviderSpatialObjectSet );
200 igstkDeclareStateMacro( AttemptingToSetCursorPosition );
201 igstkDeclareStateMacro( AttemptingToSetBoundingBoxProviderSpatialObject );
202 igstkDeclareStateMacro( AttemptingToGetToolTransformWRTImageCoordinateSystem);
208 void SetOrientationTypeProcessing(
void );
211 void SetReslicingModeProcessing(
void );
214 void AttemptSetBoundingBoxProviderSpatialObjectProcessing();
217 void AttemptSetCursorPositionProcessing(
void );
218 void SetCursorPositionProcessing(
void );
221 void ComputeReslicePlaneProcessing();
224 void SetBoundingBoxProviderSpatialObjectProcessing(
void );
227 void SetToolSpatialObjectProcessing(
void );
230 void ReportInvalidReslicingModeProcessing(
void );
233 void ReportInvalidOrientationTypeProcessing(
void );
236 void ReportInvalidBoundingBoxProviderSpatialObjectProcessing(
void );
239 void ReportInvalidToolSpatialObjectProcessing(
void );
242 void ReportInvalidCursorPositionProcessing(
void );
245 void ReportInvalidRequestProcessing(
void );
249 void RequestGetToolTransformWRTImageCoordinateSystemProcessing(
void );
253 void ReceiveToolTransformWRTImageCoordinateSystemProcessing(
void );
256 void ReportToolPositionProcessing(
void );
259 void ReportReslicingPlaneParametersProcessing(
void );
262 void ComputeOrthogonalReslicingPlane();
263 void ComputeObliqueReslicingPlane();
264 void ComputeOffOrthogonalReslicingPlane();
276 m_BoundingBoxProviderSpatialObjectToBeSet;
278 m_BoundingBoxProviderSpatialObject;
290 igstkLoadedEventTransductionMacro( CoordinateSystemTransformTo,
291 ToolTransformWRTImageCoordinateSystem );
299 igstkObserverObjectMacro( BoundingBox, SpatialObject::BoundingBoxEvent,
303 double m_CursorPositionToBeSet[3];
304 double m_CursorPosition[3];
305 bool m_CursorPositionSetFlag;
311 BoundingBoxType::Pointer m_BoundingBox;
314 bool m_ToolSpatialObjectSet;
320 #endif // __igstkReslicerPlaneSpatialObject_h
Geometrical abstraction of physical objects present in the surgical scene.
void RequestComputeReslicingPlane()
Request compute reslicing plane.
Object Self
General Typedefs.
igstk::Transform::VersorType VersorType
void RequestGetToolPosition()
Request get tool position.
void RequestUpdateToolTransformWRTImageCoordinateSystem()
Request update tool transform WRT reference spatial object coordinate system.
#define igstkStandardClassTraitsMacro(classname, superclassname)
Convenience macro for traits of a non-templated class.
igstk::Transform::VectorType VectorType
defines standard system-wide macros, constants, and other common parameters in the IGSTK Library...
ReslicingMode GetReslicingMode() const
Retrieve current reslicing mode.
~ReslicerPlaneSpatialObject(void)
Destructor.
void RequestSetBoundingBoxProviderSpatialObject(const BoundingBoxProviderSpatialObjectType *boundingBoxProviderSpatialObject)
Actually sets boundingbox provider spatial object.
void RequestSetReslicingMode(ReslicingMode reslicingMode)
Request the state machine to attempt to set the reslicing mode.
::itk::SmartPointer< Self > Pointer
void RequestSetToolSpatialObject(const ToolSpatialObjectType *toolSpatialObject)
Request the state machine to attempt to set the tool spatial object.
void RequestSetCursorPosition(const double *point)
Request the state machine to attempt to set reslicing cursor position.
ReslicerPlaneSpatialObject(void)
Constructor.
VectorType GetToolPosition() const
fixme: put this into events
OrientationType
Orthogonal orientation types.
ToolSpatialObjectType::Pointer ToolSpatialObjectPointer
igstkLoadedEventMacro(ToolTipPositionEvent, IGSTKEvent, VectorType)
igstkStandardClassTraitsMacro(ReslicerPlaneSpatialObject, SpatialObject) public typedef BoundingBoxProviderSpatialObjectType::ConstPointer BoundingBoxProviderSpatialObjectConstPointer
Macro with standard traits declarations.
#define igstkLoggerMacro()
Macro that defines all the standard elements related to the Logger.
igstkStandardClassTraitsMacro(SpatialObject, Object) public typedef SpatialObjectType::BoundingBoxType BoundingBoxType
Macro with standard traits declarations.
OrientationType GetOrientationType() const
Retrieve current orientation mode.
virtual void PrintSelf(std::ostream &os, itk::Indent indent) const
Print object information.
::itk::SmartPointer< const Self > ConstPointer
void RequestSetOrientationType(OrientationType orientationType)
Request the state machine to attempt to set orientation type.
igstk::Transform GetToolTransform() const
Get tool transform.
ReslicingMode
Reslicing modes.
SpatialObject ToolSpatialObjectType
This class generates reslicing plane equation.
bool IsToolSpatialObjectSet()
Inquiry if a tool spatial object is set for reslicing.
void RequestGetReslicingPlaneParameters()
Request get reslicing plane parameters.