コード例 #1
0
 /// <summary>
 /// Creates a new pre-processor.
 /// </summary>
 /// <param name="target"></param>
 /// <param name="calculator"></param>
 /// <param name="witnessCalculator"></param>
 /// <param name="keepDirectNeighbours"></param>
 public CHPreProcessor(IDynamicGraphRouterDataSource <CHEdgeData> target,
                       INodeWeightCalculator calculator,
                       INodeWitnessCalculator witnessCalculator,
                       bool keepDirectNeighbours)
     : this(target, calculator, witnessCalculator, true, 1)
 {
 }
コード例 #2
0
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="witness_calculator"></param>
 public EdgeDifferenceContractedSearchSpace(IDynamicGraph <CHEdgeData> data, INodeWitnessCalculator witness_calculator)
 {
     _data = data;
     _witness_calculator = witness_calculator;
     _contraction_count  = new Dictionary <uint, short>();
     _depth = new Dictionary <long, long>();
 }
コード例 #3
0
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="witness_calculator"></param>
 public EdgeDifferenceContractedSearchSpace(IDynamicGraph<CHEdgeData> data, INodeWitnessCalculator witness_calculator)
 {
     _data = data;
     _witness_calculator = witness_calculator;
     _contraction_count = new Dictionary<uint, short>();
     _depth = new Dictionary<long, long>();
 }
コード例 #4
0
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="witnessCalculator"></param>
 public EdgeDifferenceContractedSearchSpace(GraphBase<CHEdgeData> data, INodeWitnessCalculator witnessCalculator)
 {
     _data = data;
     _witnessCalculator = witnessCalculator;
     _contractionCount = new Dictionary<uint, int>();
     _depth = new Dictionary<long, int>();
 }
コード例 #5
0
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="witnessCalculator"></param>
 public EdgeDifferenceContractedSearchSpace(GraphBase <CHEdgeData> data, INodeWitnessCalculator witnessCalculator)
 {
     _data = data;
     _witnessCalculator = witnessCalculator;
     _contractionCount  = new Dictionary <uint, int>();
     _depth             = new Dictionary <long, int>();
 }
コード例 #6
0
ファイル: CHPreProcessor.cs プロジェクト: detlevn/OsmSharp
        /// <summary>
        /// Creates a new pre-processor.
        /// </summary>
        /// <param name="target"></param>
        /// <param name="calculator"></param>
        /// <param name="witnessCalculator"></param>
        public CHPreProcessor(IDynamicGraphRouterDataSource <CHEdgeData> target,
                              INodeWeightCalculator calculator,
                              INodeWitnessCalculator witnessCalculator)
        {
            _comparer = new CHEdgeDataComparer();

            _target = target;

            _calculator        = calculator;
            _witnessCalculator = witnessCalculator;

            _queue      = new CHPriorityQueue();
            _contracted = new bool[1000];
        }
コード例 #7
0
        /// <summary>
        /// Creates a new pre-processor.
        /// </summary>
        /// <param name="target"></param>
        /// <param name="calculator"></param>
        /// <param name="witnessCalculator"></param>
        /// <param name="keepReverseEdges"></param>
        public CHPreProcessor(IDynamicGraph <CHEdgeData> target,
                              INodeWeightCalculator calculator,
                              INodeWitnessCalculator witnessCalculator,
                              bool keepReverseEdges)
        {
            _comparer = new CHEdgeDataComparer();

            _target = target;

            _calculator        = calculator;
            _witnessCalculator = witnessCalculator;

            _queue            = new CHPriorityQueue();
            _contracted       = new bool[1000];
            _keepReverseEdges = keepReverseEdges;
        }
コード例 #8
0
        /// <summary>
        /// Creates a new pre-processor.
        /// </summary>
        /// <param name="target"></param>
        /// <param name="calculator"></param>
        /// <param name="witnessCalculator"></param>
        public CHPreprocessor(GraphBase <CHEdgeData> target,
                              INodeWeightCalculator calculator,
                              INodeWitnessCalculator witnessCalculator)
        {
            _target = target;

            _calculator        = calculator;
            _witnessCalculator = witnessCalculator;

            _queue            = new BinaryHeap <uint>(target.VertexCount + (uint)System.Math.Max(target.VertexCount * 0.1, 5));
            _lowestPriorities = new float[target.VertexCount + (uint)System.Math.Max(target.VertexCount * 0.1, 5)];
            for (int idx = 0; idx < _lowestPriorities.Length; idx++)
            { // uncontracted = priority != float.MinValue.
                _lowestPriorities[idx] = float.MaxValue;
            }
        }
コード例 #9
0
ファイル: CHPreProcessor.cs プロジェクト: cmberryau/routing
        /// <summary>
        /// Creates a new pre-processor.
        /// </summary>
        /// <param name="target"></param>
        /// <param name="calculator"></param>
        /// <param name="witnessCalculator"></param>
        public CHPreprocessor(GraphBase<CHEdgeData> target,
                INodeWeightCalculator calculator,
                INodeWitnessCalculator witnessCalculator)
        {
            _target = target;

            _calculator = calculator;
            _witnessCalculator = witnessCalculator;

            _queue = new BinaryHeap<uint>(target.VertexCount + (uint)System.Math.Max(target.VertexCount * 0.1, 5));
            _lowestPriorities = new float[target.VertexCount + (uint)System.Math.Max(target.VertexCount * 0.1, 5)];
            for (int idx = 0; idx < _lowestPriorities.Length; idx++)
            { // uncontracted = priority != float.MinValue.
                _lowestPriorities[idx] = float.MaxValue;
            }
        }
コード例 #10
0
        /// <summary>
        /// Creates a new pre-processor.
        /// </summary>
        /// <param name="target"></param>
        /// <param name="calculator"></param>
        /// <param name="witnessCalculator"></param>
        /// <param name="keepDirectNeighbours"></param>
        public CHPreProcessor(IDynamicGraphRouterDataSource <CHEdgeData> target,
                              INodeWeightCalculator calculator,
                              INodeWitnessCalculator witnessCalculator,
                              bool keepDirectNeighbours,
                              double preProcessingPercentage)
        {
            _comparer = new CHEdgeDataComparer();

            _keepDirectNeighbours = keepDirectNeighbours;

            _target = target;

            _calculator              = calculator;
            _witnessCalculator       = witnessCalculator;
            _preProcessingPercentage = preProcessingPercentage;

            _queue      = new CHPriorityQueue();
            _contracted = new bool[1000];
        }
コード例 #11
0
ファイル: CHPreProcessor.cs プロジェクト: fhus/OsmSharp
 /// <summary>
 /// Creates a new pre-processor.
 /// </summary>
 /// <param name="target"></param>
 /// <param name="calculator"></param>
 /// <param name="witnessCalculator"></param>
 public CHPreProcessor(IDynamicGraphRouterDataSource <CHEdgeData> target,
                       INodeWeightCalculator calculator,
                       INodeWitnessCalculator witnessCalculator)
     : this(target, calculator, witnessCalculator, true)
 {
 }
コード例 #12
0
ファイル: EdgeDifference.cs プロジェクト: kochizufan/OsmSharp
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="witnessCalculator"></param>
 public EdgeDifference(IDynamicGraphRouterDataSource<CHEdgeData> data, INodeWitnessCalculator witnessCalculator)
 {
     _data = data;
     _witnessCalculator = witnessCalculator;
 }
コード例 #13
0
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="witness_calculator"></param>
 public EdgeDifference(IDynamicGraph <CHEdgeData> data, INodeWitnessCalculator witness_calculator)
 {
     _data = data;
     _witness_calculator = witness_calculator;
 }
コード例 #14
0
ファイル: CHPreProcessor.cs プロジェクト: pdores/OsmSharp
 /// <summary>
 /// Creates a new pre-processor.
 /// </summary>
 /// <param name="target"></param>
 /// <param name="calculator"></param>
 /// <param name="witnessCalculator"></param>
 public CHPreProcessor(IDynamicGraphRouterDataSource<CHEdgeData> target,
         INodeWeightCalculator calculator,
         INodeWitnessCalculator witnessCalculator)
     : this(target, calculator, witnessCalculator, true)
 {
 }
コード例 #15
0
ファイル: CHPreProcessor.cs プロジェクト: pdores/OsmSharp
        /// <summary>
        /// Creates a new pre-processor.
        /// </summary>
        /// <param name="target"></param>
        /// <param name="calculator"></param>
        /// <param name="witnessCalculator"></param>
        /// <param name="keepDirectNeighbours"></param>
        public CHPreProcessor(IDynamicGraphRouterDataSource<CHEdgeData> target,
                INodeWeightCalculator calculator,
                INodeWitnessCalculator witnessCalculator,
                bool keepDirectNeighbours,
                double preProcessingPercentage)
        {
            _comparer = new CHEdgeDataComparer();

            _keepDirectNeighbours = keepDirectNeighbours;

            _target = target;

            _calculator = calculator;
            _witnessCalculator = witnessCalculator;
            _preProcessingPercentage = preProcessingPercentage;

            _queue = new CHPriorityQueue();
            _contracted = new bool[1000];
        }
コード例 #16
0
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="witness_calculator"></param>
 public EdgeDifference(IDynamicGraph<CHEdgeData> data, INodeWitnessCalculator witness_calculator)
 {
     _data = data;
     _witness_calculator = witness_calculator;
 }
コード例 #17
0
 /// <summary>
 /// Creates a new pre-processor.
 /// </summary>
 /// <param name="target"></param>
 /// <param name="calculator"></param>
 /// <param name="witnessCalculator"></param>
 public CHPreProcessor(IDynamicGraph <CHEdgeData> target,
                       INodeWeightCalculator calculator,
                       INodeWitnessCalculator witnessCalculator)
     : this(target, calculator, witnessCalculator, false)
 {
 }
コード例 #18
0
ファイル: CHPreProcessor.cs プロジェクト: jorik041/osmsharp
        /// <summary>
        /// Creates a new pre-processor.
        /// </summary>
        /// <param name="target"></param>
        /// <param name="calculator"></param>
        /// <param name="witness_calculator"></param>
        /// <param name="max"></param>
        public CHPreProcessor(IDynamicGraph<CHEdgeData> target,
                INodeWeightCalculator calculator,
                INodeWitnessCalculator witness_calculator,
                int max)
        {
            _comparer = new CHEdgeDataComparer();

            _target = target;

            _calculator = calculator;
            _witness_calculator = witness_calculator;

            _queue = new CHPriorityQueue();
            _contracted = new bool[1000];
        }
コード例 #19
0
ファイル: CHPreProcessor.cs プロジェクト: jboneng/OsmSharp
        /// <summary>
        /// Creates a new pre-processor.
        /// </summary>
        /// <param name="target"></param>
        /// <param name="calculator"></param>
        /// <param name="witnessCalculator"></param>
        /// <param name="keepReverseEdges"></param>
        public CHPreProcessor(IDynamicGraphRouterDataSource<CHEdgeData> target,
                INodeWeightCalculator calculator,
                INodeWitnessCalculator witnessCalculator,
                bool keepReverseEdges)
        {
            _comparer = new CHEdgeDataComparer();

            _target = target;

            _calculator = calculator;
            _witnessCalculator = witnessCalculator;

            _queue = new CHPriorityQueue();
            _contracted = new bool[1000];
        }
コード例 #20
0
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="witness_calculator"></param>
 public EdgeDifferenceContracted(INodeWitnessCalculator witness_calculator)
 {
     _witness_calculator = witness_calculator;
     _contraction_count  = new Dictionary <long, long>();
 }
コード例 #21
0
ファイル: CHPreProcessor.cs プロジェクト: pdores/OsmSharp
 /// <summary>
 /// Creates a new pre-processor.
 /// </summary>
 /// <param name="target"></param>
 /// <param name="calculator"></param>
 /// <param name="witnessCalculator"></param>
 /// <param name="keepDirectNeighbours"></param>
 public CHPreProcessor(IDynamicGraphRouterDataSource<CHEdgeData> target,
         INodeWeightCalculator calculator,
         INodeWitnessCalculator witnessCalculator,
         bool keepDirectNeighbours)
     : this(target, calculator, witnessCalculator, true, 1)
 {
 }
コード例 #22
0
ファイル: EdgeDifference.cs プロジェクト: detlevn/OsmSharp
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="data"></param>
 /// <param name="witnessCalculator"></param>
 public EdgeDifference(IDynamicGraphRouterDataSource <CHEdgeData> data, INodeWitnessCalculator witnessCalculator)
 {
     _data = data;
     _witnessCalculator = witnessCalculator;
 }
コード例 #23
0
 /// <summary>
 /// Creates a new edge difference calculator.
 /// </summary>
 /// <param name="witness_calculator"></param>
 public EdgeDifferenceContracted(INodeWitnessCalculator witness_calculator)
 {
     //            _witness_calculator = witness_calculator;
     //            _contraction_count = new Dictionary<long, long>();
 }
コード例 #24
0
 /// <summary>
 /// Creates a new pre-processor.
 /// </summary>
 /// <param name="target"></param>
 /// <param name="calculator"></param>
 /// <param name="witnessCalculator"></param>
 public CHPreProcessor(IDynamicGraph<CHEdgeData> target,
         INodeWeightCalculator calculator,
         INodeWitnessCalculator witnessCalculator)
     : this(target, calculator, witnessCalculator, false)
 {
 }