# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/datalabeling/v1beta1/annotation.proto

require 'google/api/annotations_pb'
require 'google/api/resource_pb'
require 'google/cloud/datalabeling/v1beta1/annotation_spec_set_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/datalabeling/v1beta1/annotation.proto", :syntax => :proto3) do
    add_message "google.cloud.datalabeling.v1beta1.Annotation" do
      optional :name, :string, 1
      optional :annotation_source, :enum, 2, "google.cloud.datalabeling.v1beta1.AnnotationSource"
      optional :annotation_value, :message, 3, "google.cloud.datalabeling.v1beta1.AnnotationValue"
      optional :annotation_metadata, :message, 4, "google.cloud.datalabeling.v1beta1.AnnotationMetadata"
      optional :annotation_sentiment, :enum, 6, "google.cloud.datalabeling.v1beta1.AnnotationSentiment"
    end
    add_message "google.cloud.datalabeling.v1beta1.AnnotationValue" do
      oneof :value_type do
        optional :image_classification_annotation, :message, 1, "google.cloud.datalabeling.v1beta1.ImageClassificationAnnotation"
        optional :image_bounding_poly_annotation, :message, 2, "google.cloud.datalabeling.v1beta1.ImageBoundingPolyAnnotation"
        optional :image_polyline_annotation, :message, 8, "google.cloud.datalabeling.v1beta1.ImagePolylineAnnotation"
        optional :image_segmentation_annotation, :message, 9, "google.cloud.datalabeling.v1beta1.ImageSegmentationAnnotation"
        optional :text_classification_annotation, :message, 3, "google.cloud.datalabeling.v1beta1.TextClassificationAnnotation"
        optional :text_entity_extraction_annotation, :message, 10, "google.cloud.datalabeling.v1beta1.TextEntityExtractionAnnotation"
        optional :video_classification_annotation, :message, 4, "google.cloud.datalabeling.v1beta1.VideoClassificationAnnotation"
        optional :video_object_tracking_annotation, :message, 5, "google.cloud.datalabeling.v1beta1.VideoObjectTrackingAnnotation"
        optional :video_event_annotation, :message, 6, "google.cloud.datalabeling.v1beta1.VideoEventAnnotation"
      end
    end
    add_message "google.cloud.datalabeling.v1beta1.ImageClassificationAnnotation" do
      optional :annotation_spec, :message, 1, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
    end
    add_message "google.cloud.datalabeling.v1beta1.Vertex" do
      optional :x, :int32, 1
      optional :y, :int32, 2
    end
    add_message "google.cloud.datalabeling.v1beta1.NormalizedVertex" do
      optional :x, :float, 1
      optional :y, :float, 2
    end
    add_message "google.cloud.datalabeling.v1beta1.BoundingPoly" do
      repeated :vertices, :message, 1, "google.cloud.datalabeling.v1beta1.Vertex"
    end
    add_message "google.cloud.datalabeling.v1beta1.NormalizedBoundingPoly" do
      repeated :normalized_vertices, :message, 1, "google.cloud.datalabeling.v1beta1.NormalizedVertex"
    end
    add_message "google.cloud.datalabeling.v1beta1.ImageBoundingPolyAnnotation" do
      optional :annotation_spec, :message, 1, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
      oneof :bounded_area do
        optional :bounding_poly, :message, 2, "google.cloud.datalabeling.v1beta1.BoundingPoly"
        optional :normalized_bounding_poly, :message, 3, "google.cloud.datalabeling.v1beta1.NormalizedBoundingPoly"
      end
    end
    add_message "google.cloud.datalabeling.v1beta1.Polyline" do
      repeated :vertices, :message, 1, "google.cloud.datalabeling.v1beta1.Vertex"
    end
    add_message "google.cloud.datalabeling.v1beta1.NormalizedPolyline" do
      repeated :normalized_vertices, :message, 1, "google.cloud.datalabeling.v1beta1.NormalizedVertex"
    end
    add_message "google.cloud.datalabeling.v1beta1.ImagePolylineAnnotation" do
      optional :annotation_spec, :message, 1, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
      oneof :poly do
        optional :polyline, :message, 2, "google.cloud.datalabeling.v1beta1.Polyline"
        optional :normalized_polyline, :message, 3, "google.cloud.datalabeling.v1beta1.NormalizedPolyline"
      end
    end
    add_message "google.cloud.datalabeling.v1beta1.ImageSegmentationAnnotation" do
      map :annotation_colors, :string, :message, 1, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
      optional :mime_type, :string, 2
      optional :image_bytes, :bytes, 3
    end
    add_message "google.cloud.datalabeling.v1beta1.TextClassificationAnnotation" do
      optional :annotation_spec, :message, 1, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
    end
    add_message "google.cloud.datalabeling.v1beta1.TextEntityExtractionAnnotation" do
      optional :annotation_spec, :message, 1, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
      optional :sequential_segment, :message, 2, "google.cloud.datalabeling.v1beta1.SequentialSegment"
    end
    add_message "google.cloud.datalabeling.v1beta1.SequentialSegment" do
      optional :start, :int32, 1
      optional :end, :int32, 2
    end
    add_message "google.cloud.datalabeling.v1beta1.TimeSegment" do
      optional :start_time_offset, :message, 1, "google.protobuf.Duration"
      optional :end_time_offset, :message, 2, "google.protobuf.Duration"
    end
    add_message "google.cloud.datalabeling.v1beta1.VideoClassificationAnnotation" do
      optional :time_segment, :message, 1, "google.cloud.datalabeling.v1beta1.TimeSegment"
      optional :annotation_spec, :message, 2, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
    end
    add_message "google.cloud.datalabeling.v1beta1.ObjectTrackingFrame" do
      optional :time_offset, :message, 3, "google.protobuf.Duration"
      oneof :bounded_area do
        optional :bounding_poly, :message, 1, "google.cloud.datalabeling.v1beta1.BoundingPoly"
        optional :normalized_bounding_poly, :message, 2, "google.cloud.datalabeling.v1beta1.NormalizedBoundingPoly"
      end
    end
    add_message "google.cloud.datalabeling.v1beta1.VideoObjectTrackingAnnotation" do
      optional :annotation_spec, :message, 1, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
      optional :time_segment, :message, 2, "google.cloud.datalabeling.v1beta1.TimeSegment"
      repeated :object_tracking_frames, :message, 3, "google.cloud.datalabeling.v1beta1.ObjectTrackingFrame"
    end
    add_message "google.cloud.datalabeling.v1beta1.VideoEventAnnotation" do
      optional :annotation_spec, :message, 1, "google.cloud.datalabeling.v1beta1.AnnotationSpec"
      optional :time_segment, :message, 2, "google.cloud.datalabeling.v1beta1.TimeSegment"
    end
    add_message "google.cloud.datalabeling.v1beta1.AnnotationMetadata" do
      optional :operator_metadata, :message, 2, "google.cloud.datalabeling.v1beta1.OperatorMetadata"
    end
    add_message "google.cloud.datalabeling.v1beta1.OperatorMetadata" do
      optional :score, :float, 1
      optional :total_votes, :int32, 2
      optional :label_votes, :int32, 3
      repeated :comments, :string, 4
    end
    add_enum "google.cloud.datalabeling.v1beta1.AnnotationSource" do
      value :ANNOTATION_SOURCE_UNSPECIFIED, 0
      value :OPERATOR, 3
    end
    add_enum "google.cloud.datalabeling.v1beta1.AnnotationSentiment" do
      value :ANNOTATION_SENTIMENT_UNSPECIFIED, 0
      value :NEGATIVE, 1
      value :POSITIVE, 2
    end
    add_enum "google.cloud.datalabeling.v1beta1.AnnotationType" do
      value :ANNOTATION_TYPE_UNSPECIFIED, 0
      value :IMAGE_CLASSIFICATION_ANNOTATION, 1
      value :IMAGE_BOUNDING_BOX_ANNOTATION, 2
      value :IMAGE_ORIENTED_BOUNDING_BOX_ANNOTATION, 13
      value :IMAGE_BOUNDING_POLY_ANNOTATION, 10
      value :IMAGE_POLYLINE_ANNOTATION, 11
      value :IMAGE_SEGMENTATION_ANNOTATION, 12
      value :VIDEO_SHOTS_CLASSIFICATION_ANNOTATION, 3
      value :VIDEO_OBJECT_TRACKING_ANNOTATION, 4
      value :VIDEO_OBJECT_DETECTION_ANNOTATION, 5
      value :VIDEO_EVENT_ANNOTATION, 6
      value :TEXT_CLASSIFICATION_ANNOTATION, 8
      value :TEXT_ENTITY_EXTRACTION_ANNOTATION, 9
      value :GENERAL_CLASSIFICATION_ANNOTATION, 14
    end
  end
end

module Google
  module Cloud
    module DataLabeling
      module V1beta1
        Annotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.Annotation").msgclass
        AnnotationValue = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.AnnotationValue").msgclass
        ImageClassificationAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.ImageClassificationAnnotation").msgclass
        Vertex = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.Vertex").msgclass
        NormalizedVertex = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.NormalizedVertex").msgclass
        BoundingPoly = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.BoundingPoly").msgclass
        NormalizedBoundingPoly = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.NormalizedBoundingPoly").msgclass
        ImageBoundingPolyAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.ImageBoundingPolyAnnotation").msgclass
        Polyline = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.Polyline").msgclass
        NormalizedPolyline = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.NormalizedPolyline").msgclass
        ImagePolylineAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.ImagePolylineAnnotation").msgclass
        ImageSegmentationAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.ImageSegmentationAnnotation").msgclass
        TextClassificationAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.TextClassificationAnnotation").msgclass
        TextEntityExtractionAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.TextEntityExtractionAnnotation").msgclass
        SequentialSegment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.SequentialSegment").msgclass
        TimeSegment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.TimeSegment").msgclass
        VideoClassificationAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.VideoClassificationAnnotation").msgclass
        ObjectTrackingFrame = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.ObjectTrackingFrame").msgclass
        VideoObjectTrackingAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.VideoObjectTrackingAnnotation").msgclass
        VideoEventAnnotation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.VideoEventAnnotation").msgclass
        AnnotationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.AnnotationMetadata").msgclass
        OperatorMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.OperatorMetadata").msgclass
        AnnotationSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.AnnotationSource").enummodule
        AnnotationSentiment = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.AnnotationSentiment").enummodule
        AnnotationType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datalabeling.v1beta1.AnnotationType").enummodule
      end
    end
  end
end