示例#1
0
 public void setMaxDetectMarkerCapacity(int i_max_number_of_marker)
 {
     if (this._sq_stack.getArraySize() < i_max_number_of_marker)
     {
         this._sq_stack = new SquareStack(i_max_number_of_marker + 5);
     }
     return;
 }
 public OnSquareDetect(INyARMarkerSystemConfig i_config, ARMarkerList i_armk_list, NyIdList i_idmk_list, TrackingList i_tracking_list, SquareStack i_ref_sq_stack)
 {
     this._coordline         = new NyARCoord2Linear(i_config.getNyARParam().getScreenSize(), i_config.getNyARParam().getDistortionFactor());
     this._ref_armk_list     = i_armk_list;
     this._ref_idmk_list     = i_idmk_list;
     this._ref_tracking_list = i_tracking_list;
     //同時に判定待ちにできる矩形の数
     this._ref_sq_stack = i_ref_sq_stack;
 }
示例#3
0
 public OnSquareDetect(
     NyARParam i_params,
     ARMarkerList i_armk_list, NyIdList i_idmk_list, ARPlayCardList i_psmk_list,
     TrackingList i_tracking_list, int i_initial_stack_size)
 {
     this._coordline         = new NyARCoord2Linear(i_params.getScreenSize(), i_params.getDistortionFactor());
     this._ref_armk_list     = i_armk_list;
     this._ref_idmk_list     = i_idmk_list;
     this._ref_psmk_list     = i_psmk_list;
     this._ref_tracking_list = i_tracking_list;
     this._sq_stack          = new SquareStack(i_initial_stack_size);
 }
        /**
         * コンストラクタです。{@link INyARMarkerSystemConfig}を元に、インスタンスを生成します。
         * @param i_config
         * 初期化済の{@link MarkerSystem}を指定します。
         * @throws NyARException
         */
        public NyARMarkerSystem(INyARMarkerSystemConfig i_config)
        {
            this._ref_param = i_config.getNyARParam();
            this._frustum   = new NyARFrustum();
            this.initInstance(i_config);
            this.setProjectionMatrixClipping(FRUSTUM_DEFAULT_NEAR_CLIP, FRUSTUM_DEFAULT_FAR_CLIP);

            this._armk_list     = new ARMarkerList();
            this._idmk_list     = new NyIdList();
            this._tracking_list = new TrackingList();
            this._transmat      = i_config.createTransmatAlgorism();
            //同時に判定待ちにできる矩形の数
            this._sq_stack      = new SquareStack(INITIAL_MARKER_STACK_SIZE);
            this._on_sq_handler = new OnSquareDetect(i_config, this._armk_list, this._idmk_list, this._tracking_list, this._sq_stack);
        }
	/**
	 * 同時に検出するマーカの最大数を設定します。
	 * 関数は、少なくともi_max_number_of_marker以上のマーカを同時に検出できるようにインスタンスを設定します。
	 * @throws NyARException 
	 */
	public void setMaxDetectMarkerCapacity(int i_max_number_of_marker)
	{
		//prepare enough stack size.
		if(this._sq_stack.getArraySize()<i_max_number_of_marker){
			this._sq_stack=new SquareStack(i_max_number_of_marker+5);
		}
		return;
	}
    public OnSquareDetect(
        INyARMarkerSystemConfig i_config,
        ARMarkerList i_armk_list, NyIdList i_idmk_list, ARPlayCardList i_psmk_list,
		TrackingList i_tracking_list,int i_initial_stack_size)
    {
		this._coordline=new NyARCoord2Linear(i_config.getNyARParam().getScreenSize(),i_config.getNyARParam().getDistortionFactor());
		this._ref_armk_list=i_armk_list;
		this._ref_idmk_list=i_idmk_list;
		this._ref_psmk_list=i_psmk_list;
		this._ref_tracking_list=i_tracking_list;
		//同時に判定待ちにできる矩形の数
        this._sq_stack = new SquareStack(i_initial_stack_size);
    }
        /**
         * コンストラクタです。{@link INyARMarkerSystemConfig}を元に、インスタンスを生成します。
         * @param i_config
         * 初期化済の{@link MarkerSystem}を指定します。
         * @throws NyARException
         */
        public NyARMarkerSystem(INyARMarkerSystemConfig i_config)
        {
            this._ref_param=i_config.getNyARParam();
            this._frustum=new NyARFrustum();
            this.initInstance(i_config);
            this.setProjectionMatrixClipping(FRUSTUM_DEFAULT_NEAR_CLIP, FRUSTUM_DEFAULT_FAR_CLIP);

            this._armk_list=new ARMarkerList();
            this._idmk_list=new NyIdList();
            this._tracking_list=new TrackingList();
            this._transmat=i_config.createTransmatAlgorism();
            //同時に判定待ちにできる矩形の数
            this._sq_stack=new SquareStack(INITIAL_MARKER_STACK_SIZE);
            this._on_sq_handler=new OnSquareDetect(i_config,this._armk_list,this._idmk_list,this._tracking_list,this._sq_stack);
        }