| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

VisAttribute.h

Go to the documentation of this file.
00001 // $Id: VisAttribute.h,v 1.2 2003/04/16 17:50:35 sponce Exp $
00002 #ifndef VISATTRIBUTE_H 
00003 #define VISATTRIBUTE_H 1
00004 
00005 // Include files
00006 #include "VisSvc/Color.h"
00007 
00020 class VisAttribute {
00021 
00022 public:
00023   enum Visibility {VISIBLE, NOT_VISIBLE, NO_VISIBILITY};
00024   enum OpenStatus {OPENED, CLOSED, NO_STATUS};
00025   enum DisplayMode {PLAIN, WIRE_FRAME, NO_MODE};
00026   
00027 public:
00029   VisAttribute () :
00030     m_color(),
00031     m_visible(NO_VISIBILITY),
00032     m_openStatus(NO_STATUS),
00033     m_displayMode(NO_MODE)
00034   {};
00035 
00037   VisAttribute (Visibility visible,
00038                 OpenStatus openStatus,
00039                 DisplayMode displayMode,
00040                 Color color) :
00041     m_color(color),
00042     m_visible(visible),
00043     m_openStatus(openStatus),
00044     m_displayMode(displayMode)
00045   {};  
00046 
00051   const Color color() const {
00052     return m_color;
00053   }
00054 
00059   const Visibility visible() const {
00060     return m_visible;
00061   }
00062 
00067   const OpenStatus openStatus() const {
00068     return m_openStatus;
00069   }
00070 
00075   const DisplayMode displayMode() const {
00076     return m_displayMode;
00077   }
00078 
00085   void merge(const VisAttribute attr) {
00086     if (!m_color.isValid()) m_color = attr.color();
00087     if (NO_VISIBILITY == m_visible) m_visible = attr.visible();
00088     if (NO_STATUS == m_openStatus) m_openStatus = attr.openStatus();
00089     if (NO_MODE == m_displayMode) m_displayMode = attr.displayMode();
00090     return;
00091   }
00092 
00096   bool operator== (const VisAttribute& v) const {
00097     return m_visible == v.visible() && 
00098       m_openStatus == v.openStatus() &&
00099       m_displayMode == v.displayMode() &&
00100       m_color == v.color();
00101   }
00102 
00106   bool operator!= (const VisAttribute& v) const {
00107     return !this->operator==(v);
00108   }
00109   
00110 private:
00111   Color m_color;
00112   Visibility m_visible;
00113   OpenStatus m_openStatus;
00114   DisplayMode m_displayMode;
00115 
00116 };
00117 #endif // VISATTRIBUTE_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:00:45 2011 for VisSvc by doxygen 1.4.7