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_ISOVALUES_LIST_
00025 #define _PO_ISOVALUES_LIST_
00026
00027 #include <MeshViz/nodes/PoNode.h>
00028 #include <Inventor/fields/SoMFFloat.h>
00029
00030 class PbIsovaluesList ;
00031 class SoFieldSensor ;
00032
00055 class PoIsovaluesList : public PoNode {
00056
00057 SO_NODE_HEADER(PoIsovaluesList) ;
00058
00059
00060 public:
00061
00062
00063
00067 SoMFFloat isovaluesList ;
00068
00069
00070
00074 PoIsovaluesList() ;
00075
00082 void setRegularIsoList(int numFloats, const float *values, int numValues) ;
00083
00089 void setRegularIsoList(int numValues, float firstValue, float step) ;
00090
00095 void setRegularIsoList(float min, float max, int numValues) ;
00096
00103 const float *getIsoList(int &numValues, float &min, float &max, float &step,
00104 SbBool &isRegularIsoList) ;
00105
00106
00107
00108
00109 private:
00110 virtual void doAction(SoAction *action) ;
00111
00112 private:
00113 static void initClass() ;
00114 static void exitClass() ;
00115
00116 private:
00117 virtual ~PoIsovaluesList() ;
00118
00119 private:
00120 static void isoListChangedCB(void *data, SoSensor *) ;
00121 void updateIsoList() ;
00122
00123 SbBool m_isoListChanged ;
00124 PbIsovaluesList *m_isoList ;
00125 SoFieldSensor *m_isoListSensor ;
00126
00127 } ;
00128
00129
00130 #endif
00131
00132