public override int GetHashCode()
        {
            int hash = 1;

            if (unknown_ != null)
            {
                hash ^= Unknown.GetHashCode();
            }
            if (unknownMovable_ != null)
            {
                hash ^= UnknownMovable.GetHashCode();
            }
            if (unknownUnmovable_ != null)
            {
                hash ^= UnknownUnmovable.GetHashCode();
            }
            if (car_ != null)
            {
                hash ^= Car.GetHashCode();
            }
            if (van_ != null)
            {
                hash ^= Van.GetHashCode();
            }
            if (truck_ != null)
            {
                hash ^= Truck.GetHashCode();
            }
            if (bus_ != null)
            {
                hash ^= Bus.GetHashCode();
            }
            if (cyclist_ != null)
            {
                hash ^= Cyclist.GetHashCode();
            }
            if (motorcyclist_ != null)
            {
                hash ^= Motorcyclist.GetHashCode();
            }
            if (tricyclist_ != null)
            {
                hash ^= Tricyclist.GetHashCode();
            }
            if (pedestrian_ != null)
            {
                hash ^= Pedestrian.GetHashCode();
            }
            if (trafficcone_ != null)
            {
                hash ^= Trafficcone.GetHashCode();
            }
            if (MaxDimChangeRatio != 0F)
            {
                hash ^= MaxDimChangeRatio.GetHashCode();
            }
            return(hash);
        }
 public void MergeFrom(ObjectTemplateMeta other)
 {
     if (other == null)
     {
         return;
     }
     if (other.unknown_ != null)
     {
         if (unknown_ == null)
         {
             unknown_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Unknown.MergeFrom(other.Unknown);
     }
     if (other.unknownMovable_ != null)
     {
         if (unknownMovable_ == null)
         {
             unknownMovable_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         UnknownMovable.MergeFrom(other.UnknownMovable);
     }
     if (other.unknownUnmovable_ != null)
     {
         if (unknownUnmovable_ == null)
         {
             unknownUnmovable_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         UnknownUnmovable.MergeFrom(other.UnknownUnmovable);
     }
     if (other.car_ != null)
     {
         if (car_ == null)
         {
             car_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Car.MergeFrom(other.Car);
     }
     if (other.van_ != null)
     {
         if (van_ == null)
         {
             van_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Van.MergeFrom(other.Van);
     }
     if (other.truck_ != null)
     {
         if (truck_ == null)
         {
             truck_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Truck.MergeFrom(other.Truck);
     }
     if (other.bus_ != null)
     {
         if (bus_ == null)
         {
             bus_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Bus.MergeFrom(other.Bus);
     }
     if (other.cyclist_ != null)
     {
         if (cyclist_ == null)
         {
             cyclist_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Cyclist.MergeFrom(other.Cyclist);
     }
     if (other.motorcyclist_ != null)
     {
         if (motorcyclist_ == null)
         {
             motorcyclist_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Motorcyclist.MergeFrom(other.Motorcyclist);
     }
     if (other.tricyclist_ != null)
     {
         if (tricyclist_ == null)
         {
             tricyclist_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Tricyclist.MergeFrom(other.Tricyclist);
     }
     if (other.pedestrian_ != null)
     {
         if (pedestrian_ == null)
         {
             pedestrian_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Pedestrian.MergeFrom(other.Pedestrian);
     }
     if (other.trafficcone_ != null)
     {
         if (trafficcone_ == null)
         {
             trafficcone_ = new global::Apollo.Perception.Camera.ObjectTemplate();
         }
         Trafficcone.MergeFrom(other.Trafficcone);
     }
     if (other.MaxDimChangeRatio != 0F)
     {
         MaxDimChangeRatio = other.MaxDimChangeRatio;
     }
 }