public void MergeFrom(NaviPathDeciderConfig other)
 {
     if (other == null)
     {
         return;
     }
     if (other.MinPathLength != 0D)
     {
         MinPathLength = other.MinPathLength;
     }
     if (other.MinLookForwardTime != 0)
     {
         MinLookForwardTime = other.MinLookForwardTime;
     }
     if (other.MaxKeepLaneDistance != 0D)
     {
         MaxKeepLaneDistance = other.MaxKeepLaneDistance;
     }
     if (other.MaxKeepLaneShiftY != 0D)
     {
         MaxKeepLaneShiftY = other.MaxKeepLaneShiftY;
     }
     if (other.MinKeepLaneOffset != 0D)
     {
         MinKeepLaneOffset = other.MinKeepLaneOffset;
     }
     if (other.KeepLaneShiftCompensation != 0D)
     {
         KeepLaneShiftCompensation = other.KeepLaneShiftCompensation;
     }
     if (other.moveDestLaneConfigTalbe_ != null)
     {
         if (moveDestLaneConfigTalbe_ == null)
         {
             moveDestLaneConfigTalbe_ = new global::Apollo.Planning.MoveDestLaneConfigTable();
         }
         MoveDestLaneConfigTalbe.MergeFrom(other.MoveDestLaneConfigTalbe);
     }
     if (other.MoveDestLaneCompensation != 0D)
     {
         MoveDestLaneCompensation = other.MoveDestLaneCompensation;
     }
     if (other.MaxKappaThreshold != 0D)
     {
         MaxKappaThreshold = other.MaxKappaThreshold;
     }
     if (other.KappaMoveDestLaneCompensation != 0D)
     {
         KappaMoveDestLaneCompensation = other.KappaMoveDestLaneCompensation;
     }
     if (other.StartPlanPointFrom != 0)
     {
         StartPlanPointFrom = other.StartPlanPointFrom;
     }
 }
        public override int GetHashCode()
        {
            int hash = 1;

            if (MinPathLength != 0D)
            {
                hash ^= MinPathLength.GetHashCode();
            }
            if (MinLookForwardTime != 0)
            {
                hash ^= MinLookForwardTime.GetHashCode();
            }
            if (MaxKeepLaneDistance != 0D)
            {
                hash ^= MaxKeepLaneDistance.GetHashCode();
            }
            if (MaxKeepLaneShiftY != 0D)
            {
                hash ^= MaxKeepLaneShiftY.GetHashCode();
            }
            if (MinKeepLaneOffset != 0D)
            {
                hash ^= MinKeepLaneOffset.GetHashCode();
            }
            if (KeepLaneShiftCompensation != 0D)
            {
                hash ^= KeepLaneShiftCompensation.GetHashCode();
            }
            if (moveDestLaneConfigTalbe_ != null)
            {
                hash ^= MoveDestLaneConfigTalbe.GetHashCode();
            }
            if (MoveDestLaneCompensation != 0D)
            {
                hash ^= MoveDestLaneCompensation.GetHashCode();
            }
            if (MaxKappaThreshold != 0D)
            {
                hash ^= MaxKappaThreshold.GetHashCode();
            }
            if (KappaMoveDestLaneCompensation != 0D)
            {
                hash ^= KappaMoveDestLaneCompensation.GetHashCode();
            }
            if (StartPlanPointFrom != 0)
            {
                hash ^= StartPlanPointFrom.GetHashCode();
            }
            return(hash);
        }