Divider.Divide Method

Divider.Divide Method

Returns a DivisionResult object that contains structural information about the Strokes property of the Divider object.

Definition

Visual Basic .NET Public Function Divide() As DivisionResult
C# public DivisionResult Divide();
Managed C++ public: DivisionResult* Divide();

Return Value

Microsoft.Ink.DivisionResult. Returns a DivisionResult object that contains structural information about the Strokes property of the Divider object.

Exceptions

ArgumentException Leave Site: The Strokes property of the Divider object is null (Nothing in Microsoft® Visual Basic® .NET).
ObjectDisposedException Leave Site: The Divider object is disposed.

Remarks

This method returns a new DivisionResult object each time this method is called.

The Divide method's return value contains the results of the layout analysis of the Strokes property of the Divider object.

Examples

[C#]

This C# example creates a Divider object, theDivider, which contains a Strokes collection, theStrokes, and uses a RecognizerContext object, theRecognizerContext. The Divide method is called to get a snapshot of the analysis results, theResult. The ResultByType method is called with the divisionType parameter set to Line to retrieve all of the line units within theResult. For each line, theLine, in the Strokes collection, the DivisionUnit.DivisionType, DivisionUnit.Strokes, DivisionUnit.RecognitionString, and DivisionUnit.Transform properties are retrieved.

// Create the Divider and assign a Strokes collection to it.
Divider theDivider = new Divider(theStrokes, theRecognizerContext);

// Retrieve the analysis result, and divide the result by line.
DivisionResult theResult = theDivider.Divide();
DivisionUnits theDivisionUnits =
    theResult.ResultByType(InkDivisionType.Line);
foreach (DivisionUnit theLine in theDivisionUnits)
{
    // For each line element in the collection
    // retrieve the division type, the strokes,
    // the recognition string, and the rotation transform.
    InkDivisionType theDivisionType = theLine.DivisionType;
    Strokes elementStrokes = theLine.Strokes;
    string theRecognitionString = theLine.RecognitionString;
    System.Drawing.Drawing2D.Matrix theInkTransform =
        theLine.Transform;
}

[Visual Basic .NET]

This Microsoft® Visual Basic® .NET example creates a Divider object, theDivider, which contains a Strokes collection, theStrokes, and uses a RecognizerContext object, theRecognizerContext. The Divide method is called to get a snapshot of the analysis results, theResult. The ResultByType method is called with the divisionType parameter set to Line to retrieve all of the line units within theResult. For each line, theLine, in the Strokes collection, the DivisionUnit.DivisionType, DivisionUnit.Strokes, DivisionUnit.RecognitionString, and DivisionUnit.Transform properties are retrieved.

' Create the Divider and assign a Strokes collection to it.
Dim theDivider As Divider = New Divider(theStrokes, theRecognizerContext)

' Retrieve the analysis result, and divide the result by line.
Dim theResult As DivisionResult = theDivider.Divide()
Dim theDivisionUnits As DivisionUnits = _
    theResult.ResultByType(InkDivisionType.Line)
Dim theLine As DivisionUnit
For Each theLine In theDivisionUnits
    ' For each line element in the collection
    ' retrieve the division type, the strokes,
    ' the recognition string, and the rotation transform.
    Dim theDivisionType As InkDivisionType = theLine.DivisionType
    Dim elementStrokes As Strokes = theLine.Strokes
    Dim theRecognitionString As String = theLine.RecognitionString
    Dim theInkTransform As System.Drawing.Drawing2D.Matrix = _
        theLine.Transform
Next

See Also