Ejemplo n.º 1
0
 public override object createInterface(Type iIid)
 {
     if (iIid == typeof(INyARPerspectiveCopy))
     {
         return(NyARPerspectiveCopyFactory.createDriver(this));
     }
     if (iIid == typeof(NyARMatchPattDeviationColorData.IRasterDriver))
     {
         return(NyARMatchPattDeviationColorData.RasterDriverFactory.createDriver(this));
     }
     if (iIid == typeof(INyARRgb2GsFilter))
     {
         //デフォルトのインタフェイス
         return(NyARRgb2GsFilterFactory.createRgbAveDriver(this));
     }
     else if (iIid == typeof(INyARRgb2GsFilterRgbAve))
     {
         return(NyARRgb2GsFilterFactory.createRgbAveDriver(this));
     }
     else if (iIid == typeof(INyARRgb2GsFilterRgbCube))
     {
         return(NyARRgb2GsFilterFactory.createRgbCubeDriver(this));
     }
     else if (iIid == typeof(INyARRgb2GsFilterYCbCr))
     {
         return(NyARRgb2GsFilterFactory.createYCbCrDriver(this));
     }
     if (iIid == typeof(INyARRgb2GsFilterArtkTh))
     {
         return(NyARRgb2GsFilterArtkThFactory.createDriver(this));
     }
     throw new NyARException();
 }
Ejemplo n.º 2
0
 /**
  * サポートしているインタフェイスは以下の通りです。
  * <ul>
  * <li>{@link INyARRgbPixelDriver}
  * <li>{@link INyARPerspectiveCopy}
  * <li>{@link INyARPerspectiveCopy}
  * <li>{@link NyARMatchPattDeviationColorData.IRasterDriver}
  * <li>{@link INyARRgb2GsFilter}
  * <li>{@link INyARRgb2GsFilterRgbAve}
  * <li>{@link INyARRgb2GsFilterRgbCube}
  * <li>{@link INyARRgb2GsFilterYCbCr}
  * <li>{@link INyARRgb2GsFilterArtkTh}
  * </ul>
  */
 virtual public Object createInterface(Type iIid)
 {
     if (iIid == typeof(INyARPerspectiveCopy))
     {
         return(NyARPerspectiveCopyFactory.createDriver(this));
     }
     if (iIid == typeof(NyARMatchPattDeviationColorData.IRasterDriver))
     {
         return(NyARMatchPattDeviationColorData.RasterDriverFactory.createDriver(this));
     }
     //継承を考慮してる。
     if (iIid == typeof(INyARRgb2GsFilter))
     {
         return(NyARRgb2GsFilterFactory.createRgbAveDriver(this));
     }
     else if (iIid == typeof(INyARRgb2GsFilterRgbAve))
     {
         return(NyARRgb2GsFilterFactory.createRgbAveDriver(this));
     }
     else if (iIid == typeof(INyARRgb2GsFilterRgbCube))
     {
         return(NyARRgb2GsFilterFactory.createRgbCubeDriver(this));
     }
     else if (iIid == typeof(INyARRgb2GsFilterYCbCr))
     {
         return(NyARRgb2GsFilterFactory.createYCbCrDriver(this));
     }
     if (iIid == typeof(INyARRgb2GsFilterArtkTh))
     {
         return(NyARRgb2GsFilterArtkThFactory.createDriver(this));
     }
     //クラスが見つからない
     throw new NyARRuntimeException("Interface not found!");
     //		return null;
 }