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_ERROR_CURVE_
00025 #define _PO_ERROR_CURVE_
00026
00027 #include <MeshViz/graph/PoGraphMaster.h>
00028
00029 #include <Inventor/fields/SoSFEnum.h>
00030 #include <Inventor/fields/SoMFFloat.h>
00031 #include <Inventor/fields/SoMFVec2f.h>
00032
00058 class PoErrorCurve : public PoGraphMaster {
00059
00060 SO_KIT_HEADER(PoErrorCurve) ;
00061
00062
00063 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve1Sep) ;
00064 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve1App) ;
00065 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve1) ;
00066
00067 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve2Sep) ;
00068 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve2App) ;
00069 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve2) ;
00070
00071 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve3Sep) ;
00072 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve3App) ;
00073 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve3) ;
00074
00075 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve4Sep) ;
00076 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve4App) ;
00077 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve4) ;
00078
00079 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve5Sep) ;
00080 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve5App) ;
00081 SO_KIT_CATALOG_ENTRY_HEADER(errorCurve5) ;
00082
00083
00084 public:
00085
00089 enum VariationType {
00090 FIXED_VARIATION,
00091 REL_VARIATION,
00092 PERCENT_FIXED_VARIATION,
00093 PERCENT_REL_VARIATION
00094 } ;
00095
00099 enum ErrorCurveRep {
00103 HIGH_LOW_CLOSE,
00107 LINE_BAR,
00111 FILLED
00112 } ;
00113
00114
00115
00116
00117
00121 SoMFVec2f point ;
00122
00127 SoMFFloat lowY ;
00128
00133 SoMFFloat highY ;
00134
00147 SoSFEnum variationType ;
00148
00154 SoSFEnum errorCurveRep ;
00155
00156
00157
00158
00159
00163 PoErrorCurve()
00164 { init(TRUE) ; }
00165
00170 PoErrorCurve(int numPoints, const SbVec2f *_point, const float *_lowY,
00171 const float *_highY, VariationType type = REL_VARIATION,
00172 ErrorCurveRep rep = HIGH_LOW_CLOSE)
00173 { init(FALSE, numPoints, _point, _lowY, _highY, type, rep) ; }
00174
00178 virtual void rebuild() ;
00179
00180
00181
00182
00183 private:
00184 static void initClass() ;
00185 static void exitClass() ;
00186
00187 private:
00188
00189
00190 virtual ~PoErrorCurve() ;
00191 virtual void setDefaultOnNonWritingFields() ;
00192 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00193
00194 private:
00195
00196 void init(SbBool isDefault, int numPoints=0, const SbVec2f *_point=NULL,
00197 const float *_lowY=NULL, const float *_highY=NULL,
00198 VariationType type = REL_VARIATION, ErrorCurveRep rep = HIGH_LOW_CLOSE) ;
00199
00200
00201 FieldSensorList fieldSensorList ;
00202
00203
00204 SoFieldList fieldList ;
00205
00206 } ;
00207
00208
00209
00210 #endif
00211
00212