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_VALUED_MARKER_FIELD_
00025 #define _PO_VALUED_MARKER_FIELD_
00026
00027 #include <MeshViz/graph/PoGraphMaster.h>
00028
00029 #include <Inventor/fields/SoMFFloat.h>
00030 #include <Inventor/fields/SoMFVec2f.h>
00031 #include <Inventor/fields/SoSFString.h>
00032
00033 class PbDataMapping ;
00034
00068 class PoValuedMarkerField : public PoGraphMaster {
00069
00070 SO_KIT_HEADER(PoValuedMarkerField) ;
00071
00072
00073 SO_KIT_CATALOG_ENTRY_HEADER(valuedMarkerField) ;
00074
00075
00076 public:
00077
00078
00079
00083 SoMFVec2f point ;
00084
00091 SoMFFloat value ;
00092
00098 SoMFFloat size ;
00099
00106 SoSFString markerString ;
00107
00108
00109
00110
00111
00115 PoValuedMarkerField()
00116 { init(TRUE) ; }
00117
00122 PoValuedMarkerField(int numPoints, const SbVec2f *_point, const float *_value,
00123 const float *_size)
00124 { init(FALSE, numPoints, _point, _value, _size) ; }
00125
00129 virtual void rebuild() ;
00130
00138 void setDataMapping(PbDataMapping *dataMapping) ;
00139
00144 const PbDataMapping *getDataMapping() const ;
00145
00146
00147
00148
00149 private:
00150 static void initClass() ;
00151 static void exitClass() ;
00152
00153 private:
00154
00155
00156 virtual ~PoValuedMarkerField() ;
00157 virtual void setDefaultOnNonWritingFields() ;
00158 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00159
00160
00161 virtual void basicObjectChange(PbBase *basicObj) ;
00162
00163
00164 virtual void addElementsAllCaches() ;
00165 virtual void preRebuild() ;
00166
00167 private:
00168
00169 void init(SbBool isDefault, int numPoints=0, const SbVec2f *_point=NULL,
00170 const float *_value=NULL, const float *_size=NULL) ;
00171
00172
00173 FieldSensorList m_fieldSensorList ;
00174
00175
00176 PbDataMapping *m_dataMap ;
00177
00178
00179 SoFieldList m_fieldList ;
00180
00181 } ;
00182
00183
00184
00185 #endif
00186
00187