LCOV - code coverage report
Current view: top level - src/serialize - SerializeGeneratedLaneTypes.cpp (source / functions) Hit Total Coverage
Test: ad_map_access Lines: 22 22 100.0 %
Date: 2022-10-04 09:48:07 Functions: 2 2 100.0 %
Branches: 63 116 54.3 %

           Branch data     Line data    Source code
       1                 :            : // ----------------- BEGIN LICENSE BLOCK ---------------------------------
       2                 :            : //
       3                 :            : // Copyright (C) 2018-2021 Intel Corporation
       4                 :            : //
       5                 :            : // SPDX-License-Identifier: MIT
       6                 :            : //
       7                 :            : // ----------------- END LICENSE BLOCK -----------------------------------
       8                 :            : 
       9                 :            : #include "ad/map/serialize/SerializeGeneratedLaneTypes.hpp"
      10                 :            : #include "ad/map/point/BoundingSphereOperation.hpp"
      11                 :            : #include "ad/map/point/ECEFOperation.hpp"
      12                 :            : #include "ad/map/serialize/SerializeGeneratedTypes.hpp"
      13                 :            : 
      14                 :            : namespace ad {
      15                 :            : namespace map {
      16                 :            : namespace serialize {
      17                 :            : 
      18                 :      26085 : bool doSerialize(ISerializer &serializer, lane::Lane &lane)
      19                 :            : {
      20   [ +  -  +  -  :      52170 :   bool ok = serializer.serialize(SerializeableMagic::Lane) && doSerialize(serializer, lane.id)
                   +  - ]
      21   [ +  -  +  -  :      26085 :     && serializer.serialize(lane.type) && serializer.serialize(lane.direction)
             +  -  +  - ]
      22   [ +  -  +  -  :      26085 :     && doSerialize(serializer, lane.restrictions) && doSerialize(serializer, lane.length)
             +  -  +  - ]
      23   [ +  -  +  -  :      26085 :     && doSerialize(serializer, lane.lengthRange) && doSerialize(serializer, lane.width)
             +  -  +  - ]
      24   [ +  -  +  - ]:      26085 :     && doSerialize(serializer, lane.widthRange)
      25   [ +  -  +  - ]:      26085 :     && serializer.serializeObjectVector(lane.speedLimits)
      26                 :            :     // @toDo: version 0.4 compat: keep Edge in for backward compat
      27   [ +  -  +  - ]:      26085 :     && serializer.serialize(SerializeableMagic::Edge)
      28   [ +  -  +  - ]:      26085 :     && doSerialize(serializer, lane.edgeLeft)
      29                 :            :     // @toDo: version 0.4 compat: keep Edge in for backward compat
      30   [ +  -  +  -  :      26085 :     && serializer.serialize(SerializeableMagic::Edge) && doSerialize(serializer, lane.edgeRight)
             +  -  +  - ]
      31   [ +  -  +  -  :      26085 :     && serializer.serializeObjectVector(lane.contactLanes) && serializer.serialize(SerializeableMagic::ComplianceVer)
             +  -  +  - ]
      32   [ +  -  +  -  :      26085 :     && serializer.serialize(lane.complianceVersion) && doSerialize(serializer, lane.boundingSphere)
             +  -  +  - ]
      33   [ +  -  +  -  :      52170 :     && serializer.serializeObjectVector(lane.visibleLandmarks);
             +  +  +  + ]
      34                 :            : 
      35         [ +  + ]:      26085 :   if (ok)
      36                 :            :   {
      37                 :            :     //@toDO: version 0.4 compat: cope with empty bounding sphere in old files
      38   [ +  -  +  - ]:      26084 :     if ((lane.boundingSphere.center == point::createECEFPoint(0., 0., 0.))
      39   [ +  +  +  -  :      26084 :         || (lane.boundingSphere.radius == physics::Distance(0.)))
             -  +  +  + ]
      40                 :            :     {
      41                 :      24266 :       lane.boundingSphere = point::calcBoundingSphere(lane.edgeLeft, lane.edgeRight);
      42                 :            :     }
      43                 :            :   }
      44                 :      26085 :   return ok;
      45                 :            : }
      46                 :            : 
      47                 :     157724 : bool doSerialize(ISerializer &serializer, lane::ContactLane &contactLane)
      48                 :            : {
      49   [ +  -  +  -  :     315448 :   return serializer.serialize(SerializeableMagic::ContactLane) && doSerialize(serializer, contactLane.toLane)
                   +  - ]
      50   [ +  -  +  -  :     157724 :     && serializer.serialize(contactLane.location) && serializer.serializeVector(contactLane.types)
             +  -  +  - ]
      51   [ +  -  +  -  :     315448 :     && doSerialize(serializer, contactLane.restrictions) && doSerialize(serializer, contactLane.trafficLightId);
          +  -  +  -  +  
                      - ]
      52                 :            : }
      53                 :            : 
      54                 :            : } // namespace serialize
      55                 :            : } // namespace map
      56                 :            : } // namespace ad

Generated by: LCOV version 1.14