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
00069 class PoValuedMarkerField : public PoGraphMaster {
00070
00071 SO_KIT_HEADER(PoValuedMarkerField) ;
00072
00073
00074 SO_KIT_CATALOG_ENTRY_HEADER(valuedMarkerField) ;
00075
00076
00077 public:
00078
00079
00080
00084 SoMFVec2f point ;
00085
00092 SoMFFloat value ;
00093
00099 SoMFFloat size ;
00100
00107 SoSFString markerString ;
00108
00109
00110
00111
00112
00116 PoValuedMarkerField()
00117 { init(TRUE) ; }
00118
00123 PoValuedMarkerField(int numPoints, const SbVec2f *_point, const float *_value,
00124 const float *_size)
00125 { init(FALSE, numPoints, _point, _value, _size) ; }
00126
00130 virtual void rebuild() ;
00131
00139 void setDataMapping(PbDataMapping *dataMapping) ;
00140
00145 const PbDataMapping *getDataMapping() const ;
00146
00147
00148
00149
00150 private:
00151 static void initClass() ;
00152 static void exitClass() ;
00153
00154 private:
00155
00156
00157 virtual ~PoValuedMarkerField() ;
00158 virtual void setDefaultOnNonWritingFields() ;
00159 virtual SbBool setUpConnections(SbBool onOff, SbBool doItAlways = FALSE) ;
00160
00161
00162 virtual void basicObjectChange(PbBase *basicObj) ;
00163
00164
00165 virtual void addElementsAllCaches() ;
00166 virtual void preRebuild() ;
00167
00168 private:
00169
00170 void init(SbBool isDefault, int numPoints=0, const SbVec2f *_point=NULL,
00171 const float *_value=NULL, const float *_size=NULL) ;
00172
00173
00174 FieldSensorList m_fieldSensorList ;
00175
00176
00177 PbDataMapping *m_dataMap ;
00178
00179
00180 SoFieldList m_fieldList ;
00181
00182 } ;
00183
00184
00185
00186 #endif
00187
00188