Fovia's C++ Client/Server API
Public Member Functions | List of all members
IFreehandCutAdaptor Struct Referenceabstract
Inheritance diagram for IFreehandCutAdaptor:
IRoot

Public Member Functions

virtual signed int AskInterface (const BGUID *piid, IRoot **ppr)=0
 
virtual signed int ClearPolygon ()=0
 
virtual signed int DecRef ()=0
 
virtual signed int GetID (signed long long *id)=0
 
virtual signed int IncRef ()=0
 
virtual signed int MouseDragged (signed int x, signed int y)=0
 
virtual signed int MousePressed (signed int x, signed int y)=0
 
virtual signed int MouseReleased (signed int x, signed int y)=0
 
virtual signed int ReleaseSessionResources ()=0
 
virtual signed int SetRenderParamsReceiver (IRenderParamsReceiver *pReceiver)=0
 
virtual signed int SetSegLabelIndex (signed int labelIndex)=0
 
virtual signed int SetSegmenter (IVolumeSegmentationContext *pSegmenter, SEGMENTATION_PARAMS *pSegParams)=0
 
- Public Member Functions inherited from IRoot
template<class T >
signed int AskInterface (T **pp)
 

Detailed Description

Adaptor for free hand cut segmentation via mouse interaction. While the mouse is dragged, each mouse point is captured. Then, when the mouse is released, all the points are used to create a polygon that is the shape to project into the volume for the cutting operation. See IVolumeSegmentationContext::FreeHandCut() for more information about this segmentation technique. Use ILibrary::CreateObject() to create this object.

Listens to: MousePressed(), MouseDragged(), MouseReleased()

Member Function Documentation

virtual signed int IFreehandCutAdaptor::AskInterface ( const BGUID piid,
IRoot **  ppr 
)
pure virtual

Queries this object to see if the interface piid is supported and returns the result in ppr.

Parameters
piidThe BGUID of the requested interface.
pprThe address of an IRoot pointer which will receive the new interface.
Returns
S_OK if the interface is supported. E_FAIL if it is not.

Implements IRoot.

virtual signed int IFreehandCutAdaptor::ClearPolygon ( )
pure virtual

Clears the polygon points, can be used if the user cancels the polygon draw to not segment

virtual signed int IFreehandCutAdaptor::DecRef ( )
pure virtual

Decreases the reference count on this object by 1. If the reference count reaches 0, the object is deallocated.

Implements IRoot.

virtual signed int IFreehandCutAdaptor::GetID ( signed long long *  id)
pure virtual

Returns the integer that represents the server side object that contains the octree.

virtual signed int IFreehandCutAdaptor::IncRef ( )
pure virtual

Increases the reference count on this object by 1. You do not need to call this after an object is first created. It is 1 by default.

Implements IRoot.

virtual signed int IFreehandCutAdaptor::MouseDragged ( signed int  x,
signed int  y 
)
pure virtual

Call this function when the mouse is dragged on a rendered image (mouse button is down and the mouse has moved).

Parameters
xThe horizontal offset from the left side of the rendered image.
yThe vertical offset from the top of the rendered image.
virtual signed int IFreehandCutAdaptor::MousePressed ( signed int  x,
signed int  y 
)
pure virtual

Call this function when the mouse is first pressed on a rendered image.

Parameters
xThe horizontal offset from the left side of the rendered image.
yThe vertical offset from the top of the rendered image.
virtual signed int IFreehandCutAdaptor::MouseReleased ( signed int  x,
signed int  y 
)
pure virtual

Call this function when the mouse is first released on a rendered image.

Parameters
xThe horizontal offset from the left side of the rendered image.
yThe vertical offset from the top of the rendered image.
virtual signed int IFreehandCutAdaptor::ReleaseSessionResources ( )
pure virtual

Releases server side resources associated with this object.

virtual signed int IFreehandCutAdaptor::SetRenderParamsReceiver ( IRenderParamsReceiver pReceiver)
pure virtual

In order for a mouse adaptor to function properly, it must be attached to an IRenderEngineContext or IRenderQueue object.

Parameters
pReceiverThe IRenderParamsReceiver to attach to this adaptor.
virtual signed int IFreehandCutAdaptor::SetSegLabelIndex ( signed int  labelIndex)
pure virtual

Set the label for segmetnation output (the label value to segment into)

Parameters
labelIndexthe lable index value to segment into (defaults to 1)
virtual signed int IFreehandCutAdaptor::SetSegmenter ( IVolumeSegmentationContext pSegmenter,
SEGMENTATION_PARAMS pSegParams 
)
pure virtual

Before using this adaptor during interaction, you should call this function to appropriately initialize the IVolumeSegmentation Object it will use.

Parameters
pSegmenterthe IVolumeSegmentation Object it will use.
pSegParamsThe address of SEGMENTATION_PARAMS object to use.