// $Header: /cvs/gled-1.2/GledCore/Glasses/ZCometBag.cxx,v 1.4 2005/03/11 17:50:15 matevz Exp $
// Copyright (C) 1999-2005, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.
#include "ZCometBag.h"
#include "ZCometBag.c7"
#include <Glasses/ZSubTree.h>
#include <Glasses/ZQueen.h>
#include <Stones/ZComet.h>
ClassImp(ZCometBag)
void ZCometBag::_init()
{
bSmartZNodes = true;
mDepth = 1; bFollowLinks = true; bFollowLists = true;
}
/**************************************************************************/
ZSubTree* ZCometBag::make_sub_tree_rep(ZGlass* g)
{
ZSubTree* st = new ZSubTree(mDepth, bFollowLinks, bFollowLists,
GForm("ST of %s", g->GetName()));
mQueen->CheckIn(st);
st->SetRoot(g);
return st;
}
/**************************************************************************/
void ZCometBag::Add(ZGlass* g)
{
ZSubTree* st = dynamic_cast<ZSubTree*>(g);
if(!st) st = make_sub_tree_rep(g);
ZHashList::Add(st);
}
void ZCometBag::AddBefore(ZGlass* g, ZGlass* before)
{
ZSubTree* st = dynamic_cast<ZSubTree*>(g);
if(!st) st = make_sub_tree_rep(g);
ZHashList::AddBefore(st, before);
}
void ZCometBag::AddFirst(ZGlass* g)
{
ZSubTree* st = dynamic_cast<ZSubTree*>(g);
if(!st) st = make_sub_tree_rep(g);
ZHashList::AddFirst(st);
}
/**************************************************************************/
ZComet* ZCometBag::MakeComet()
{
ZComet* comet = new ZComet(GetName(), GForm("Comet[CometBag] of %s", GetName()));
WriteLock();
// !!!! See ZComet, about correct streaming struct
if(bSmartZNodes) comet->mIgnoredLinks.insert("ZNode::Parent");
lpZGlass_t sts; Copy(sts);
for(lpZGlass_i i=sts.begin(); i!=sts.end(); ++i) {
ZSubTree* t = dynamic_cast<ZSubTree*>(*i);
comet->AddTopLevel(t->GetRoot(), t->GetFollowLinks(), t->GetFollowLists(),
t->GetDepth());
}
WriteUnlock();
return comet;
}
/**************************************************************************/
ROOT page - Home page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.