Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

Scene.cxx

Go to the documentation of this file.
00001 // $Header: /nfs/slac/g/glast/ground/cvs/gui/src/Scene.cxx,v 1.1.1.1 2001/01/04 01:01:11 burnett Exp $
00002 //  Author: Toby Burnett
00003 
00004 
00005 #include "gui/Scene.h"
00006 #include <algorithm>
00007 
00008 namespace gui {
00009 
00010 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00011 Scene::Scene()
00012     :m_enabled(true)
00013 {}
00014 
00015 
00016 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00017 Scene::~Scene()
00018 {
00019     RepList::iterator irep = m_replist.begin();
00020     while( irep != m_replist.end() ) {
00021         delete (*irep++);
00022     }
00023 }
00024 
00025 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00026 void Scene::add(DisplayRep* pRep)
00027 //-----------------------------------------
00028 {
00029     m_replist.push_back(pRep);
00030 }
00031 
00032 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00033 void Scene::remove(DisplayRep* pRep)
00034 //--------------------------------------------
00035 {
00036      RepList::iterator it;
00037      it= std::find(m_replist.begin(), m_replist.end(), pRep);
00038      if( it != m_replist.end() )        m_replist.erase(it);
00039 
00040 }
00041 
00042 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00043 void Scene::clear()
00044 //---------------------
00045 {
00046     if(! m_enabled)  return;
00047 
00048     RepList::iterator irep = m_replist.begin();
00049     while( irep != m_replist.end() ) {
00050         (*irep++)->clear();
00051     }
00052 }
00053 
00054 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00055 void Scene::update()
00056 //-----------------------
00057 {
00058     if( !m_enabled) return;
00059     RepList::iterator irep = m_replist.begin();
00060     bool updated = false;
00061     while( irep != m_replist.end() ) {
00062         if( !(*irep)->hidden() ) {
00063             (*irep)->update();
00064             updated = true;
00065         }
00066         ++irep;
00067     }
00068     //(need something like this?) if( updated) redisplay();
00069 }
00070 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00071 void Scene::enable()
00072 {
00073     m_enabled = true;
00074     update();
00075 }
00076 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00077 void Scene::disable()
00078 {
00079     m_enabled = true;
00080     clear();
00081     m_enabled = false;
00082 }
00083 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00084 void Scene::draw(ViewPort* v)
00085 //--------------------------------
00086 {
00087     RepList::iterator it=m_replist.begin();
00088     while( it != m_replist.end() ) (*it++)->draw(v);
00089 }
00090 
00091 } // namespace gui

Generated at Wed Nov 21 12:20:55 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000