コード例 #1
0
ファイル: scenegraph.cpp プロジェクト: roseannefeng/CS175
 virtual bool visit(SgTransformNode& node) {
     // build up an accumulated RBT stack
     if (rbtStack_.size() == 0)
         rbtStack_.push_back(node.getRbt());
     else
         rbtStack_.push_back(rbtStack_.back() * node.getRbt());
     // keep track of whether we've hit our target
     return !(target_ == node);
 }
コード例 #2
0
ファイル: scenegraph.cpp プロジェクト: khsieh/CS175-Final
 virtual bool visit(SgTransformNode& node) {
     if(node == target_) {
         rbtStack_.push_back(rbtStack_.back() * node.getRbt());
         return false;
     }
     else {
         if(rbtStack_.empty())
             rbtStack_.push_back(node.getRbt());
         else
             rbtStack_.push_back(rbtStack_.back() * node.getRbt());
         return true;
     }
 }
コード例 #3
0
 virtual bool visit(SgTransformNode& node) {
   if (!found_) {
     rbtStack_.push_back(node.getRbt());
   }
   if (node==target_) {
     found_ = true;
     return false;
   }
   return true;
 }
コード例 #4
0
ファイル: picker.cpp プロジェクト: nchavez324/cs175_psets
bool Picker::visit(SgTransformNode& node) {
  nodeStack_.push_back(node.shared_from_this());
  return drawer_.visit(node);
}