arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

TFEltView.h

Go to the documentation of this file.
00001 //------------------------------------------------------------------------
00002 //
00003 //   Joe Kniss
00004 //     3-20-03
00005 //                   ________    ____   ___ 
00006 //                  |        \  /    | /  /
00007 //                  +---+     \/     |/  /
00008 //                  +--+|  |\    /|     < 
00009 //                  |  ||  | \  / |  |\  \ 
00010 //                  |      |  \/  |  | \  \ 
00011 //                   \_____|      |__|  \__\
00012 //                       Copyright  2003 
00013 //                      Joe Michael Kniss
00014 //                   <<< jmk@cs.utah.edu >>>
00015 //               "All Your Base are Belong to Us"
00016 //-------------------------------------------------------------------------
00017 
00018 //TFEltView.h
00019 
00020 #ifndef __TRANSFER_FUNCTION_ELEMENT_VIEW_DOT_H
00021 #define __TRANSFER_FUNCTION_ELEMENT_VIEW_DOT_H
00022 
00023 #include <simBase/simBase.h>
00024 #include <smartptr.h>
00025 #include "TFElement.h"
00026 #include <widget/WidgetBase.h>
00027 
00028 /// A base class for 2D projections of TFElment objects.
00029 ///   A base class intended to be used in collaborations 
00030 ///   between 2D manipulations of the element and the 
00031 ///   general ND widget representation. 
00032 ///
00033 /// Each concrete TFElement kind should have an associated
00034 ///   TFEltView type associated with it, this object is
00035 ///   resposible for generating a new classification widget
00036 ///   of the correct type and behavior.  
00037 class TFEltView : public SimBase, public gutz::Counted
00038 {
00039 public:
00040    virtual TFEltView() {}
00041 
00042    ///@name Axes
00043    ///@{
00044    int getAxis1() const { return _axes; }
00045    int getAxis2() const { return _axes; }
00046    ///@}
00047 
00048    ///@name Generate Widget
00049    ///@{
00050    virtual WidgetItem *genWidget(const NodeWidget *const nodeProto,
00051                                  const EdgeWidget *const edgeProto) = 0;
00052    ///@}
00053 
00054 protected:
00055    TFEltView(); ///< not used
00056 
00057    TFEltView(int axis1, int axis2)
00058       : _axes(axis1, axis2), _elt(elt)
00059    {}
00060 
00061    gutz::vec2i   _axes;
00062 };
00063 
00064 
00065 #endif
00066 
00067 

Send questions, comments, and bug reports to:
jmk