WRAP_CLASS("itk::Compose3DCovariantVectorImageFilter")

  IF(WRAP_float AND WRAP_covariant_vector)
    WRAP_IMAGE_FILTER_TYPES(F CVF 3)
  ENDIF(WRAP_float AND WRAP_covariant_vector)

  IF(WRAP_double AND WRAP_covariant_vector)
    WRAP_IMAGE_FILTER_TYPES(D CVD 3)
  ENDIF(WRAP_double AND WRAP_covariant_vector)

  BEGIN_MANAGED_METHOD("SetInput1")
    SET(MANAGED_METHOD_SUMMARY         "Set Input1 image.")
    SET(MANAGED_METHOD_RETURN_TYPE     "void")
    SET(MANAGED_METHOD_PARAMS          "itkDataObject^ input")
    SET(MANAGED_METHOD_TYPE_BODY       "\n\t\tINativePointer^ inputPtr = safe_cast<INativePointer^>(input);\n\t\tthis->m_PointerToNative->SetInput(0, reinterpret_cast<NativeType::Input1ImageType*>(inputPtr->NativePointer.ToPointer()));")
    SET(MANAGED_METHOD_WRAPPER_BODY    "iInstance->SetInput1(input);")
  END_MANAGED_METHOD()

  BEGIN_MANAGED_METHOD("SetInput2")
    SET(MANAGED_METHOD_SUMMARY         "Set Input2 image.")
    SET(MANAGED_METHOD_RETURN_TYPE     "void")
    SET(MANAGED_METHOD_PARAMS          "itkDataObject^ input")
    SET(MANAGED_METHOD_TYPE_BODY       "\n\t\tINativePointer^ inputPtr = safe_cast<INativePointer^>(input);\n\t\tthis->m_PointerToNative->SetInput(1, reinterpret_cast<NativeType::Input2ImageType*>(inputPtr->NativePointer.ToPointer()));")
    SET(MANAGED_METHOD_WRAPPER_BODY    "iInstance->SetInput2(input);")
  END_MANAGED_METHOD()
  
  BEGIN_MANAGED_METHOD("SetInput3")
    SET(MANAGED_METHOD_SUMMARY         "Set Input3 image.")
    SET(MANAGED_METHOD_RETURN_TYPE     "void")
    SET(MANAGED_METHOD_PARAMS          "itkDataObject^ input")
    SET(MANAGED_METHOD_TYPE_BODY       "\n\t\tINativePointer^ inputPtr = safe_cast<INativePointer^>(input);\n\t\tthis->m_PointerToNative->SetInput(2, reinterpret_cast<NativeType::Input3ImageType*>(inputPtr->NativePointer.ToPointer()));")
    SET(MANAGED_METHOD_WRAPPER_BODY    "iInstance->SetInput3(input);")
  END_MANAGED_METHOD()

  BEGIN_MANAGED_METHOD("SetInput1")
    SET(MANAGED_METHOD_SUMMARY         "Set Input1 image.")
    SET(MANAGED_METHOD_RETURN_TYPE     "void")
    SET(MANAGED_METHOD_PARAMS          "IntPtr inputPtr")
    SET(MANAGED_METHOD_TYPE_BODY       "this->m_PointerToNative->SetInput(0, (NativeType::Input1ImageType*)inputPtr.ToPointer());")
    SET(MANAGED_METHOD_WRAPPER_BODY    "iInstance->SetInput1(inputPtr);")
  END_MANAGED_METHOD()

  BEGIN_MANAGED_METHOD("SetInput2")
    SET(MANAGED_METHOD_SUMMARY         "Set Input2 image.")
    SET(MANAGED_METHOD_RETURN_TYPE     "void")
    SET(MANAGED_METHOD_PARAMS          "IntPtr inputPtr")
    SET(MANAGED_METHOD_TYPE_BODY       "this->m_PointerToNative->SetInput(1, (NativeType::Input2ImageType*)inputPtr.ToPointer());")
    SET(MANAGED_METHOD_WRAPPER_BODY    "iInstance->SetInput2(inputPtr);")
  END_MANAGED_METHOD()
  
  BEGIN_MANAGED_METHOD("SetInput3")
    SET(MANAGED_METHOD_SUMMARY         "Set Input3 image.")
    SET(MANAGED_METHOD_RETURN_TYPE     "void")
    SET(MANAGED_METHOD_PARAMS          "IntPtr inputPtr")
    SET(MANAGED_METHOD_TYPE_BODY       "this->m_PointerToNative->SetInput(2, (NativeType::Input3ImageType*)inputPtr.ToPointer());")
    SET(MANAGED_METHOD_WRAPPER_BODY    "iInstance->SetInput3(inputPtr);")
  END_MANAGED_METHOD()
  
END_WRAP_CLASS()
