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;
     }
 }
        public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    input.SkipLastField();
                    break;

                case 10: {
                    if (unknown_ == null)
                    {
                        unknown_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(unknown_);
                    break;
                }

                case 18: {
                    if (unknownMovable_ == null)
                    {
                        unknownMovable_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(unknownMovable_);
                    break;
                }

                case 26: {
                    if (unknownUnmovable_ == null)
                    {
                        unknownUnmovable_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(unknownUnmovable_);
                    break;
                }

                case 34: {
                    if (car_ == null)
                    {
                        car_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(car_);
                    break;
                }

                case 42: {
                    if (van_ == null)
                    {
                        van_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(van_);
                    break;
                }

                case 50: {
                    if (truck_ == null)
                    {
                        truck_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(truck_);
                    break;
                }

                case 58: {
                    if (bus_ == null)
                    {
                        bus_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(bus_);
                    break;
                }

                case 66: {
                    if (cyclist_ == null)
                    {
                        cyclist_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(cyclist_);
                    break;
                }

                case 74: {
                    if (motorcyclist_ == null)
                    {
                        motorcyclist_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(motorcyclist_);
                    break;
                }

                case 82: {
                    if (tricyclist_ == null)
                    {
                        tricyclist_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(tricyclist_);
                    break;
                }

                case 90: {
                    if (pedestrian_ == null)
                    {
                        pedestrian_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(pedestrian_);
                    break;
                }

                case 98: {
                    if (trafficcone_ == null)
                    {
                        trafficcone_ = new global::Apollo.Perception.Camera.ObjectTemplate();
                    }
                    input.ReadMessage(trafficcone_);
                    break;
                }

                case 173: {
                    MaxDimChangeRatio = input.ReadFloat();
                    break;
                }
                }
            }
        }