Routino SVN Repository Browser

Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino

ViewVC logotype

Annotation of /trunk/src/fakes.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 637 - (hide annotations) (download) (as text)
Sun Feb 20 16:56:10 2011 UTC (14 years ago) by amb
File MIME type: text/x-chdr
File size: 1810 byte(s)
Don't allow U-turns at via points (but doesn't necessarily include turning round
in the score when searching for optimum).

1 amb 533 /***************************************
2     Header file for fake node and segment function prototypes
3    
4     Part of the Routino routing software.
5     ******************/ /******************
6 amb 608 This file Copyright 2008-2011 Andrew M. Bishop
7 amb 533
8     This program is free software: you can redistribute it and/or modify
9     it under the terms of the GNU Affero General Public License as published by
10     the Free Software Foundation, either version 3 of the License, or
11     (at your option) any later version.
12    
13     This program is distributed in the hope that it will be useful,
14     but WITHOUT ANY WARRANTY; without even the implied warranty of
15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16     GNU Affero General Public License for more details.
17    
18     You should have received a copy of the GNU Affero General Public License
19     along with this program. If not, see <http://www.gnu.org/licenses/>.
20     ***************************************/
21    
22    
23     #ifndef FAKES_H
24     #define FAKES_H /*+ To stop multiple inclusions. +*/
25    
26     #include "types.h"
27    
28    
29     /* In fakes.c */
30    
31     /*+ Return true if this is a fake node. +*/
32 amb 637 #define IsFakeNode(xxx) ((xxx)>=NODE_FAKE && (xxx)!=NO_NODE)
33 amb 533
34     /*+ Return true if this is a fake segment. +*/
35 amb 637 #define IsFakeSegment(xxx) ((xxx)>=SEGMENT_FAKE && (xxx)!=NO_SEGMENT)
36 amb 533
37 amb 608 index_t CreateFakes(Nodes *nodes,Segments *segments,int point,Segment *segment,index_t node1,index_t node2,distance_t dist1,distance_t dist2);
38 amb 533
39 amb 608 void GetFakeLatLong(index_t fakenode, double *latitude,double *longitude);
40 amb 533
41 amb 608 Segment *FirstFakeSegment(index_t fakenode);
42     Segment *NextFakeSegment(Segment *fakesegment,index_t fakenode);
43     Segment *ExtraFakeSegment(index_t realnode,index_t fakenode);
44 amb 533
45     Segment *LookupFakeSegment(index_t index);
46 amb 608 index_t IndexFakeSegment(Segment *fakesegment);
47     index_t IndexRealSegment(index_t fakesegment);
48 amb 533
49    
50     #endif /* FAKES_H */