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