22 #ifndef NGRandomNetBuilder_h
23 #define NGRandomNetBuilder_h
void add(int numNeighbours, SUMOReal ratio)
adds a neighbour item to list
NGNodeList myOuterNodes
The list of outer nodes.
void findPossibleOuterNodes(NGNode *node)
finds possible connections between Node and OuterNodes complying with restrictions ...
void createNet(int numNodes)
Builds a NGNet using the set values.
TNeighbourDistribution myNeighbourDistribution
The distrubtion of number of neighbours.
SUMOReal myConnectivity
Probability of connecting to a existing node if possible.
SUMOReal myMaxDistance
Maximum distance allowed between two nodes.
int num()
Get random number of neighbours.
std::list< NGEdge * > NGEdgeList
A list of edges (edge pointers)
bool checkAngles(NGNode *node)
Checks whether the angle of this node's connections are valid.
bool canConnect(NGNode *baseNode, NGNode *newNode)
Checks whether connecting the given two nodes complies with the set restrictions. ...
std::list< NGNode * > NGNodeList
A list of nodes (node pointers)
int myNumNodes
Number of nodes to be created.
The class storing the generated network.
NGRandomNetBuilder & operator=(const NGRandomNetBuilder &)
Invalidated assignment operator.
std::map< int, SUMOReal > myNeighbours
A map from neighbor number to their probabilities.
void removeOuterNode(NGNode *node)
Removes the given node from the list of outer nodes.
NGEdgeList myOuterLinks
The list of outer links.
SUMOReal myMinDistance
Minimum distance allowed between two nodes.
A class that builds random network using an algorithm by Markus Hartinger.
SUMOReal myMinLinkAngle
Minimum angle allowed between two links.
A netgen-representation of a node.
bool createNewNode(NGNode *baseNode)
Creates new random node.
NGRandomNetBuilder(NGNet &net, SUMOReal minAngle, SUMOReal minDistance, SUMOReal maxDistance, SUMOReal connectivity, int numTries, const TNeighbourDistribution &neighborDist)
Constructor.
int myNumTries
Number of tries to create a new node.
NGNet & myNet
The network to fill.