rename myJTNode to junctionTreeNode so we can better subclass ConstructorTraversalData
parent
ba4720709b
commit
c7e75d2cd5
|
@ -33,7 +33,7 @@ struct ConstructorTraversalData {
|
|||
typedef typename JunctionTree<BAYESTREE, GRAPH>::sharedNode sharedNode;
|
||||
|
||||
ConstructorTraversalData* const parentData;
|
||||
sharedNode myJTNode;
|
||||
sharedNode junctionTreeNode;
|
||||
FastVector<SymbolicConditional::shared_ptr> childSymbolicConditionals;
|
||||
FastVector<SymbolicFactor::shared_ptr> childSymbolicFactors;
|
||||
|
||||
|
@ -53,8 +53,9 @@ struct ConstructorTraversalData {
|
|||
// a traversal data structure with its own JT node, and create a child
|
||||
// pointer in its parent.
|
||||
ConstructorTraversalData myData = ConstructorTraversalData(&parentData);
|
||||
myData.myJTNode = boost::make_shared<Node>(node->key, node->factors);
|
||||
parentData.myJTNode->addChild(myData.myJTNode);
|
||||
myData.junctionTreeNode =
|
||||
boost::make_shared<Node>(node->key, node->factors);
|
||||
parentData.junctionTreeNode->addChild(myData.junctionTreeNode);
|
||||
return myData;
|
||||
}
|
||||
|
||||
|
@ -91,7 +92,7 @@ struct ConstructorTraversalData {
|
|||
myData.parentData->childSymbolicConditionals.push_back(myConditional);
|
||||
myData.parentData->childSymbolicFactors.push_back(mySeparatorFactor);
|
||||
|
||||
sharedNode node = myData.myJTNode;
|
||||
sharedNode node = myData.junctionTreeNode;
|
||||
const FastVector<SymbolicConditional::shared_ptr>& childConditionals =
|
||||
myData.childSymbolicConditionals;
|
||||
node->problemSize_ = (int) (myConditional->size() * symbolicFactors.size());
|
||||
|
@ -138,14 +139,14 @@ JunctionTree<BAYESTREE, GRAPH>::JunctionTree(
|
|||
typedef typename EliminationTree<ETREE_BAYESNET, ETREE_GRAPH>::Node ETreeNode;
|
||||
typedef ConstructorTraversalData<BAYESTREE, GRAPH, ETreeNode> Data;
|
||||
Data rootData(0);
|
||||
rootData.myJTNode = boost::make_shared<typename Base::Node>(); // Make a dummy node to gather
|
||||
// the junction tree roots
|
||||
// Make a dummy node to gather the junction tree roots
|
||||
rootData.junctionTreeNode = boost::make_shared<typename Base::Node>();
|
||||
treeTraversal::DepthFirstForest(eliminationTree, rootData,
|
||||
Data::ConstructorTraversalVisitorPre,
|
||||
Data::ConstructorTraversalVisitorPostAlg2);
|
||||
|
||||
// Assign roots from the dummy node
|
||||
this->addChildrenAsRoots(rootData.myJTNode);
|
||||
this->addChildrenAsRoots(rootData.junctionTreeNode);
|
||||
|
||||
// Transfer remaining factors from elimination tree
|
||||
Base::remainingFactors_ = eliminationTree.remainingFactors();
|
||||
|
|
Loading…
Reference in New Issue