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_BI_ERROR_POINT_FIELD_
00025 #define _PO_BI_ERROR_POINT_FIELD_
00026
00027 #include <MeshViz/graph/PoGraphMaster.h>
00028
00029
00030 #include <Inventor/fields/SoSFEnum.h>
00031 #include <Inventor/fields/SoMFFloat.h>
00032 #include <Inventor/fields/SoMFVec2f.h>
00033 #include <Inventor/fields/SoSFBool.h>
00034
00035
00063 class PoBiErrorPointField : public PoGraphMaster {
00064
00065 SO_KIT_HEADER(PoBiErrorPointField) ;
00066
00067
00068 SO_KIT_CATALOG_ENTRY_HEADER(shapeSep) ;
00069 SO_KIT_CATALOG_ENTRY_HEADER(shapeApp) ;
00070 SO_KIT_CATALOG_ENTRY_HEADER(shape) ;
00071
00072 SO_KIT_CATALOG_ENTRY_HEADER(skeletonSep) ;
00073 SO_KIT_CATALOG_ENTRY_HEADER(skeletonApp) ;
00074 SO_KIT_CATALOG_ENTRY_HEADER(skeleton) ;
00075
00076
00077 public:
00078
00082 enum VariationType {
00083 FIXED_VARIATION,
00084 REL_VARIATION,
00085 PERCENT_FIXED_VARIATION,
00086 PERCENT_REL_VARIATION
00087 } ;
00088
00089
00090
00094 SoMFVec2f point ;
00095
00100 SoMFFloat lowX ;
00101
00106 SoMFFloat lowY ;
00107
00112 SoMFFloat highX ;
00113
00118 SoMFFloat highY ;
00119
00131 SoSFEnum variationType ;
00132
00136 SoSFBool isShapeVisible ;
00137
00141 SoSFBool isSkeletonVisible ;
00142
00143
00144
00145
00146
00150 PoBiErrorPointField()
00151 { init(TRUE) ; }
00152
00157 PoBiErrorPointField(int numPoints, const SbVec2f *_point, const float *_lowX,
00158 const float *_lowY, const float *_highX, const float *_highY,
00159 VariationType type = REL_VARIATION, SbBool _isShapeVisible = TRUE,
00160 SbBool _isSkeletonVisible = TRUE)
00161 { init(FALSE, numPoints, _point, _lowX, _lowY, _highX, _highY, type,
00162 _isShapeVisible, _isSkeletonVisible) ; }
00163
00167 virtual void rebuild() ;
00168
00169
00170 private:
00171 static void initClass() ;
00172 static void exitClass() ;
00173
00174 private:
00175
00176
00177 virtual ~PoBiErrorPointField() ;
00178 virtual void setDefaultOnNonWritingFields() ;
00179 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00180
00181 private:
00182
00183 void init(SbBool isDefault, int numPoints=0, const SbVec2f *_point=NULL,
00184 const float *_lowX=NULL, const float *_lowY=NULL,
00185 const float *_highX=NULL, const float *_highY=NULL,
00186 VariationType type = REL_VARIATION, SbBool _isShapeVisible = TRUE,
00187 SbBool _isSkeletonVisible = TRUE) ;
00188
00189
00190 FieldSensorList fieldSensorList ;
00191
00192
00193 SoFieldList fieldList ;
00194
00195 } ;
00196
00197
00198
00199 #endif
00200
00201