33 typedef Eigen::Matrix<double,dim,1> VectorDim;
34 typedef Eigen::Matrix<double,dim-1,1> VectorLowerDim;
35 typedef typename NetworkLinkType::KeyType KeyType;
36 typedef std::tuple<KeyType,KeyType,SegmentSegmentDistance<dim>,
int> IntersectionType;
37 typedef std::deque<IntersectionType> IntersectionTypeContainerType;
39 void insertIntersection(std::deque<IntersectionTypeContainerType> &intersectionContainer,
40 const NetworkLinkType *
const linkA,
41 const NetworkLinkType *
const linkB,
43 const double ¤tcCollisionTOL,
44 const bool &bndJunction,
const bool &gbndJunction,
const int event=0);
46 void findPairIntersections(std::deque<IntersectionTypeContainerType>& intersectionContainer,
47 const NetworkLinkType* linkA,
const NetworkLinkType* linkB);
48 void findIntersections(std::deque<IntersectionTypeContainerType>& intersectionContainer,
49 const size_t& nThreads);
50 std::pair<std::shared_ptr<NetworkNodeType>,
bool> junctionNode(
const double &
t,
52 const std::shared_ptr<NetworkLinkType> &L);
53 size_t contractJunctions(
const std::deque<IntersectionTypeContainerType>& intersectionContainer);
54 void glissileJunctions(
const double &
dx);
56 void breakJunctions();