# PRC_InitInputPattern*

## 構文

      #include <nitro/prc.h>

      BOOL PRC_InitInputPattern(
          PRCInputPattern*            pattern,
          void*                       buffer,
          const PRCStrokes*           strokes,
          int                         maxPointCount,
          int                         maxStrokeCount );

      BOOL PRC_InitInputPatternEx(
          PRCInputPattern*            pattern,
          void*                       buffer,
          const PRCStrokes*           strokes,
          int                         maxPointCount,
          int                         maxStrokeCount,
          const PRCInputPatternParam* param );

## 引数

pattern | 作成する入力パターン構造体へのポインタ
buffer | pattern の内部で使われるメモリ領域へのポインタ
strokes | 生の入力点列データ
maxPointCount | 加工後の最大点数
maxStrokeCount | 加工後の最大画数
param | 認識アルゴリズム依存のその他のパラメータ値　（NULL でデフォルト値を使用）

## 返り値

入力パターンデータの作成に成功したら真を返します。

## 説明

生の入力点列データを、認識で使う`PRCInputPattern`型の入力パターンデータに展開します。具体的には、まずは入力点列データに対して `param` で指定された内容に従って、正規化・リサンプリングを行います。その後、リサンプリングによって数が減った点列に対し、長さや角度、バウンディングボックスなどの認識で使用する値を事前に計算して入力パターンデータとして格納します。

`buffer` には `inputPattern` の内部で用いられるメモリ領域を指定します。必要なメモリ量をあらかじめ`PRC_GetInputPatternBufferSize()`で取得し、それ以上のメモリ領域を確保しておいてください。`inputPattern` が有効な間は `buffer` を開放してはいけません。

`maxPointCount` と `maxStrokeCount` はそれぞれ点数と画数の最大数を制限するためのパラメータです。リサンプリングにより、処理対象の点の数は大きく減りますが、さらにその処理結果に対して `maxPointCount` と `maxStrokeCount` の制限をかけてから `inputPattern` に格納します。

正規化とリサンプリングのパラメータに関しては、`PRCInputPatternParam` を参照してください。

`PRC_InitInputPattern` は、`param` に `NULL` を設定した`PRC_InitInputPatternEx` の呼び出しと同等です。

## 参照

`PRC_GetInputPatternBufferSize, PRC_GetInputPatternBufferSizeEx, PRCInputPatternParam, PRC_GetRecognizedEntry*, PRC_ResampleStrokes*
`

## 履歴

2005/03/04 返り値を BOOL に変更
2004/06/23 初版