22 typedef Eigen::Matrix<double,dim,1> VectorDim;
24 std::vector<std::set<std::shared_ptr<NetworkNodeType>>> contractBoundary(std::shared_ptr<NetworkNodeType> nA,std::shared_ptr<NetworkNodeType> nB);
25 bool contractSecondAndVirtual(std::shared_ptr<NetworkNodeType> nA,std::shared_ptr<NetworkNodeType> nB,
const bool reconcileBoundary);
26 bool contractYoungest(std::shared_ptr<NetworkNodeType> nA,std::shared_ptr<NetworkNodeType> nB,
const bool reconcileBoundary);
27 bool contractToPosition(std::shared_ptr<NetworkNodeType> nA,std::shared_ptr<NetworkNodeType> nB,
const VectorDim& X,
const double& maxRange,
const bool reconcileBoundary);
29 bool canReach(
const std::shared_ptr<NetworkNodeType>& node,
const VectorDim& target)
const;
30 bool commitContraction(std::shared_ptr<NetworkNodeType>
a,std::shared_ptr<NetworkNodeType>
b,
const VectorDim& target,
const bool reconcileBoundary);
38 bool contract(std::shared_ptr<NetworkNodeType> nA,std::shared_ptr<NetworkNodeType> nB,
const bool reconcileBoundary=
true);