00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _PO_GROUP_2_AXIS_
00025 #define _PO_GROUP_2_AXIS_
00026
00027 #include <Inventor/fields/SoSFEnum.h>
00028 #include <Inventor/fields/SoSFVec2f.h>
00029 #include <Inventor/fields/SoSFString.h>
00030
00031 #include <MeshViz/graph/PoBaseAxis.h>
00032
00033 class PoCartesianAxis ;
00034
00064 class PoGroup2Axis : public PoBaseAxis {
00065
00066 SO_KIT_HEADER(PoGroup2Axis) ;
00067
00068
00069 SO_KIT_CATALOG_ENTRY_HEADER(xAxis) ;
00070 SO_KIT_CATALOG_ENTRY_HEADER(yAxis) ;
00071
00072
00073 public:
00074
00078 enum AxisType {
00082 LINEAR,
00086 LOGARITHMIC
00087 } ;
00088
00089
00090
00094 SoSFVec2f start ;
00095
00102 SoSFVec2f end ;
00103
00112 SoSFVec2f gradStart;
00113
00122 SoSFVec2f gradEnd;
00123
00127 SoSFString xTitle ;
00128
00132 SoSFString yTitle ;
00133
00134
00135
00136
00137
00141 PoGroup2Axis()
00142 { init(SbVec2f(0., 0.), SbVec2f(1., 1.), LINEAR, LINEAR, NULL, NULL) ; }
00143
00147 PoGroup2Axis(const SbVec2f &_start, const SbVec2f &_end, AxisType _xAxisType,
00148 AxisType _yAxisType, const char *xTtle = NULL, const char *yTtle = NULL)
00149 { init(_start, _end, _xAxisType, _yAxisType, xTtle, yTtle) ; }
00150
00154 virtual void rebuild() ;
00155
00156
00157 private:
00158
00159 static void initClass() ;
00160 static void exitClass() ;
00161
00162 private:
00163
00164 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00165 virtual void setDefaultOnNonWritingFields() ;
00166
00167
00168 virtual ~PoGroup2Axis() ;
00169
00170 private:
00171
00172 void init(const SbVec2f &start, const SbVec2f &end, AxisType xAxisType,
00173 AxisType yAxisType, const char *xTtle = NULL, const char *yTtle = NULL) ;
00174
00175
00176 void initAxis(PoCartesianAxis *xAxis, PoCartesianAxis *yAxis) ;
00177
00178 SoSFEnum xAxisType, yAxisType ;
00179
00180
00181 FieldSensorList fieldSensorList ;
00182
00183
00184 SoFieldList fieldList ;
00185
00186 } ;
00187
00188
00189 #endif
00190
00191