/// <summary>
        /// Create the terrain for the road
        /// </summary>
        /// <param name="sections">The number of sections</param>
        /// <param name="tm">The terrain modifier</param>
        private void CreateCrossRoadsTerrain(int sections, TerrainModifier tm)
        {
            float couveSize = 2.5f;

            _roadNetworkNode.OrderRoads();

            IMaterialFrequency materialFrequency = _roadNetworkNode.GetComponent <OverridableMaterialFrequency>();

            if (materialFrequency == null)
            {
                materialFrequency = RoadConstructorHelper.MaterialFrequencySet;
            }

            RoadNetworkNode  roadA, roadB, roadC, roadD;
            RoadCrossSection rA, rB, rC, rD;

            RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 0, _roadNetworkNode, out roadA, out rA);
            RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 1, _roadNetworkNode, out roadB, out rB);
            RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 2, _roadNetworkNode, out roadC, out rC);
            RoadUnionHelper.DefineCrossSectionOffSet(couveSize, 3, _roadNetworkNode, out roadD, out rD);

            int connectionSet = IntersectionManager.Instance.AddLinkedIntersecions(rA, rB, rC, rD);

            DrawDetailsCrossRoad drs = new DrawDetailsCrossRoad(connectionSet, _roadNetworkNode, RoadConstructorHelper.GetMainMaterial(materialFrequency));

            drs.ModifyTerrain(_roadNetworkNode.BuildData, tm);

            RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 0);
            RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 1);
            RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 2);
            RoadConstructorHelper.ApplyLeadingStrights(_roadNetworkNode, tm, 3);
        }
        /// <summary>
        /// Add a cross road section
        /// </summary>
        /// <param name="connectionSet">The connection index</param>
        /// <param name="roadNetworkNode">THe master node for the cross road</param>
        /// <param name="materialName">The name of the material to use</param>
        internal void AddCrossRoad(int connectionSet, RoadNetworkNode roadNetworkNode, string materialName)
        {
            DrawDetailsCrossRoad drs = new DrawDetailsCrossRoad(connectionSet, roadNetworkNode, materialName);

            _drawDetails.Add(drs);
        }