/* ***********************************
   "canonical.h"
   Canonicalクラス−インターフェイス部
   ブレイドの標準形
   *********************************** */

#if !defined(___Class_Canonical)
#define ___Class_Canonical

#include "list.h"
#include "braid.h"

class Canonical{

  int num;    // 紐の本数
  int delta;  // 基本ブレイドの数
  int len;    // canonical length
  List GL;    // 生成元のリスト

public:

  Canonical(void);
  Canonical(int);

  void Set_num(int n){ num=n; }     // 紐の本数を設定 
  void Set_delta(int u){ delta=u; } // 基本ブレイドの数を設定 
  void Set_length(int l){ len=l; }  // canonical lengthを設定
  void Set_glist(List&);            // 生成元のリストを設定

  int Num(void){ return num; }     // 紐の本数を返す
  int Delta(void){ return delta; } // 基本ブレイドの数を返す
  int Length(void){ return len; }  // canonical lengthを返す
  void GList(List&);               // 生成元のリストを返す
};

#endif